{"version":3,"sources":["webpack:///webpack/universalModuleDefinition","webpack:///okta-sign-in.min.js","webpack:///webpack/bootstrap fcf764599e99614da6b1","webpack:///./packages/@okta/courage-dist/okta.js","webpack:///./node_modules/core-js/modules/_export.js","webpack:///./src/util/FormController.js","webpack:///./node_modules/core-js/modules/_an-object.js","webpack:///./src/util/FormType.js","webpack:///./node_modules/core-js/modules/_global.js","webpack:///./src/util/Enums.js","webpack:///./node_modules/core-js/modules/_fails.js","webpack:///./node_modules/core-js/modules/_is-object.js","webpack:///./node_modules/core-js/library/modules/_core.js","webpack:///./node_modules/core-js/modules/_wks.js","webpack:///./node_modules/core-js/modules/_to-length.js","webpack:///./node_modules/core-js/modules/_descriptors.js","webpack:///./src/util/Util.js","webpack:///./src/views/shared/TextBox.js","webpack:///./node_modules/core-js/modules/_object-dp.js","webpack:///./node_modules/core-js/modules/_to-object.js","webpack:///./node_modules/q/q.js","webpack:///./src/util/FactorUtil.js","webpack:///./src/views/enroll-factors/Footer.js","webpack:///./node_modules/core-js/modules/_a-function.js","webpack:///./node_modules/core-js/library/modules/_export.js","webpack:///./node_modules/core-js/library/modules/_global.js","webpack:///./node_modules/core-js/library/modules/_wks.js","webpack:///./src/util/RouterUtil.js","webpack:///./node_modules/core-js/modules/_hide.js","webpack:///./node_modules/core-js/modules/_redefine.js","webpack:///./node_modules/core-js/modules/_string-html.js","webpack:///./src/v2/view-builder/internals/BaseForm.js","webpack:///./node_modules/core-js/modules/_has.js","webpack:///./node_modules/core-js/modules/_to-iobject.js","webpack:///./node_modules/core-js/modules/_object-gopd.js","webpack:///./node_modules/core-js/modules/_object-gpo.js","webpack:///./src/util/Errors.js","webpack:///./node_modules/core-js/modules/_core.js","webpack:///./node_modules/core-js/modules/_ctx.js","webpack:///./node_modules/core-js/modules/_cof.js","webpack:///./node_modules/core-js/modules/_to-integer.js","webpack:///./node_modules/core-js/modules/_strict-method.js","webpack:///./node_modules/core-js/library/modules/_descriptors.js","webpack:///./src/v2/view-builder/internals/BaseView.js","webpack:///./node_modules/core-js/modules/_to-primitive.js","webpack:///./node_modules/core-js/modules/_defined.js","webpack:///./node_modules/core-js/modules/_object-sap.js","webpack:///./node_modules/core-js/modules/_array-methods.js","webpack:///./node_modules/core-js/library/modules/_an-object.js","webpack:///./node_modules/core-js/library/modules/_is-object.js","webpack:///./node_modules/babel-runtime/core-js/object/assign.js","webpack:///./node_modules/core-js/modules/_typed-array.js","webpack:///./node_modules/core-js/modules/_metadata.js","webpack:///./node_modules/core-js/library/modules/_object-dp.js","webpack:///./src/views/shared/FooterSignout.js","webpack:///./src/views/mfa-verify/HtmlErrorMessageView.js","webpack:///./node_modules/core-js/modules/_library.js","webpack:///./node_modules/core-js/modules/_meta.js","webpack:///./node_modules/core-js/modules/_add-to-unscopables.js","webpack:///./node_modules/core-js/library/modules/_to-iobject.js","webpack:///./src/util/Logger.js","webpack:///./src/util/BrowserFeatures.js","webpack:///./src/v2/view-builder/internals/BaseFooter.js","webpack:///./node_modules/core-js/modules/_property-desc.js","webpack:///./node_modules/core-js/modules/_uid.js","webpack:///./node_modules/core-js/modules/_object-keys.js","webpack:///./node_modules/core-js/modules/_to-absolute-index.js","webpack:///./node_modules/core-js/modules/_object-create.js","webpack:///./node_modules/core-js/modules/_object-gopn.js","webpack:///./node_modules/core-js/modules/_set-species.js","webpack:///./node_modules/core-js/modules/_an-instance.js","webpack:///./node_modules/core-js/modules/_for-of.js","webpack:///./node_modules/core-js/modules/_redefine-all.js","webpack:///./node_modules/core-js/modules/_validate-collection.js","webpack:///./node_modules/core-js/library/modules/_hide.js","webpack:///./node_modules/core-js/library/modules/_has.js","webpack:///./node_modules/core-js/modules/_set-to-string-tag.js","webpack:///./node_modules/core-js/modules/_classof.js","webpack:///./node_modules/core-js/modules/_string-trim.js","webpack:///./node_modules/core-js/modules/_iterators.js","webpack:///./node_modules/babel-runtime/core-js/json/stringify.js","webpack:///./node_modules/core-js/library/modules/_ctx.js","webpack:///./node_modules/core-js/library/modules/_fails.js","webpack:///./node_modules/core-js/library/modules/_iterators.js","webpack:///./node_modules/core-js/library/modules/_object-keys.js","webpack:///./node_modules/core-js/library/modules/_to-object.js","webpack:///./src/util/BaseLoginController.js","webpack:///./node_modules/core-js/modules/_shared.js","webpack:///./node_modules/core-js/modules/_iobject.js","webpack:///./node_modules/core-js/modules/_object-pie.js","webpack:///./node_modules/core-js/modules/_flags.js","webpack:///./node_modules/core-js/modules/_species-constructor.js","webpack:///./node_modules/babel-runtime/helpers/typeof.js","webpack:///./node_modules/core-js/library/modules/es6.string.iterator.js","webpack:///./node_modules/core-js/library/modules/_library.js","webpack:///./node_modules/core-js/library/modules/_property-desc.js","webpack:///./node_modules/core-js/library/modules/_cof.js","webpack:///./node_modules/core-js/library/modules/_object-pie.js","webpack:///./node_modules/core-js/library/modules/_object-sap.js","webpack:///./src/models/BaseLoginModel.js","webpack:///./src/util/webauthn.js","webpack:///./src/util/ValidationUtil.js","webpack:///./src/v2/view-builder/views/shared/BaseFactorView.js","webpack:///(webpack)/buildin/global.js","webpack:///./node_modules/core-js/modules/_array-includes.js","webpack:///./node_modules/core-js/modules/_object-gops.js","webpack:///./node_modules/core-js/modules/_is-array.js","webpack:///./node_modules/core-js/modules/_string-at.js","webpack:///./node_modules/core-js/modules/_is-regexp.js","webpack:///./node_modules/core-js/modules/_iter-detect.js","webpack:///./node_modules/core-js/modules/_regexp-exec-abstract.js","webpack:///./node_modules/core-js/modules/_fix-re-wks.js","webpack:///./node_modules/core-js/modules/_user-agent.js","webpack:///./node_modules/core-js/modules/_collection.js","webpack:///./node_modules/core-js/modules/_typed.js","webpack:///./node_modules/core-js/modules/_object-forced-pam.js","webpack:///./node_modules/core-js/modules/_set-collection-of.js","webpack:///./node_modules/core-js/modules/_set-collection-from.js","webpack:///./node_modules/core-js/library/modules/_a-function.js","webpack:///./node_modules/core-js/library/modules/_uid.js","webpack:///./node_modules/core-js/library/modules/_set-to-string-tag.js","webpack:///./node_modules/core-js/library/modules/web.dom.iterable.js","webpack:///./node_modules/core-js/library/modules/_wks-ext.js","webpack:///./packages/@okta/courage-dist/jquery.js","webpack:///./src/util/Bundles.js","webpack:///./src/models/Factor.js","webpack:///./src/util/Animations.js","webpack:///./node_modules/core-js/modules/_dom-create.js","webpack:///./node_modules/core-js/modules/_wks-define.js","webpack:///./node_modules/core-js/modules/_shared-key.js","webpack:///./node_modules/core-js/modules/_enum-bug-keys.js","webpack:///./node_modules/core-js/modules/_html.js","webpack:///./node_modules/core-js/modules/_set-proto.js","webpack:///./node_modules/core-js/modules/_string-ws.js","webpack:///./node_modules/core-js/modules/_inherit-if-required.js","webpack:///./node_modules/core-js/modules/_string-repeat.js","webpack:///./node_modules/core-js/modules/_math-sign.js","webpack:///./node_modules/core-js/modules/_math-expm1.js","webpack:///./node_modules/core-js/modules/_iter-define.js","webpack:///./node_modules/core-js/modules/_iter-create.js","webpack:///./node_modules/core-js/modules/_string-context.js","webpack:///./node_modules/core-js/modules/_fails-is-regexp.js","webpack:///./node_modules/core-js/modules/_is-array-iter.js","webpack:///./node_modules/core-js/modules/_create-property.js","webpack:///./node_modules/core-js/modules/core.get-iterator-method.js","webpack:///./node_modules/core-js/modules/_array-species-create.js","webpack:///./node_modules/core-js/modules/_array-fill.js","webpack:///./node_modules/core-js/modules/es6.array.iterator.js","webpack:///./node_modules/core-js/modules/_regexp-exec.js","webpack:///./node_modules/core-js/modules/_advance-string-index.js","webpack:///./node_modules/core-js/modules/_task.js","webpack:///./node_modules/core-js/modules/_microtask.js","webpack:///./node_modules/core-js/modules/_new-promise-capability.js","webpack:///./node_modules/core-js/modules/_typed-buffer.js","webpack:///./node_modules/underscore/underscore.js","webpack:///./src/config/config.json","webpack:///./src/util/OAuth2Util.js","webpack:///./node_modules/core-js/library/modules/_to-integer.js","webpack:///./node_modules/core-js/library/modules/_defined.js","webpack:///./node_modules/core-js/library/modules/_dom-create.js","webpack:///./node_modules/core-js/library/modules/_to-primitive.js","webpack:///./node_modules/core-js/library/modules/_object-create.js","webpack:///./node_modules/core-js/library/modules/_to-length.js","webpack:///./node_modules/core-js/library/modules/_shared-key.js","webpack:///./node_modules/core-js/library/modules/_shared.js","webpack:///./node_modules/core-js/library/modules/_enum-bug-keys.js","webpack:///./node_modules/core-js/library/modules/_wks-define.js","webpack:///./node_modules/core-js/library/modules/_object-gops.js","webpack:///./node_modules/core-js/library/modules/_object-gopd.js","webpack:///./node_modules/babel-runtime/core-js/object/define-property.js","webpack:///./packages/@okta/qtip2/dist/jquery.qtip.min.js","webpack:///./node_modules/core-js/library/modules/core.get-iterator-method.js","webpack:///./node_modules/core-js/library/modules/_classof.js","webpack:///./node_modules/babel-runtime/core-js/object/keys.js","webpack:///./node_modules/babel-runtime/core-js/promise.js","webpack:///./node_modules/core-js/library/modules/_new-promise-capability.js","webpack:///./src/util/DeviceFingerprint.js","webpack:///./src/models/PrimaryAuth.js","webpack:///./src/util/CookieUtil.js","webpack:///./node_modules/babel-runtime/helpers/defineProperty.js","webpack:///./src/views/shared/FooterWithBackLink.js","webpack:///./src/util/FidoUtil.js","webpack:///./src/util/CryptoUtil.js","webpack:///./src/util/CountryUtil.js","webpack:///./src/views/enroll-factors/BarcodeView.js","webpack:///./node_modules/core-js/modules/_ie8-dom-define.js","webpack:///./node_modules/core-js/modules/_wks-ext.js","webpack:///./node_modules/core-js/modules/_object-keys-internal.js","webpack:///./node_modules/core-js/modules/_object-dps.js","webpack:///./node_modules/core-js/modules/_object-gopn-ext.js","webpack:///./node_modules/core-js/modules/_object-assign.js","webpack:///./node_modules/core-js/modules/_same-value.js","webpack:///./node_modules/core-js/modules/_bind.js","webpack:///./node_modules/core-js/modules/_invoke.js","webpack:///./node_modules/core-js/modules/_parse-int.js","webpack:///./node_modules/core-js/modules/_parse-float.js","webpack:///./node_modules/core-js/modules/_a-number-value.js","webpack:///./node_modules/core-js/modules/_is-integer.js","webpack:///./node_modules/core-js/modules/_math-log1p.js","webpack:///./node_modules/core-js/modules/_math-fround.js","webpack:///./node_modules/core-js/modules/_iter-call.js","webpack:///./node_modules/core-js/modules/_array-reduce.js","webpack:///./node_modules/core-js/modules/_array-copy-within.js","webpack:///./node_modules/core-js/modules/_iter-step.js","webpack:///./node_modules/core-js/modules/es6.regexp.exec.js","webpack:///./node_modules/core-js/modules/es6.regexp.flags.js","webpack:///./node_modules/core-js/modules/_perform.js","webpack:///./node_modules/core-js/modules/_promise-resolve.js","webpack:///./node_modules/core-js/modules/es6.map.js","webpack:///./node_modules/core-js/modules/_collection-strong.js","webpack:///./node_modules/core-js/modules/es6.set.js","webpack:///./node_modules/core-js/modules/es6.weak-map.js","webpack:///./node_modules/core-js/modules/_collection-weak.js","webpack:///./node_modules/core-js/modules/_to-index.js","webpack:///./node_modules/core-js/modules/_own-keys.js","webpack:///./node_modules/core-js/modules/_flatten-into-array.js","webpack:///./node_modules/core-js/modules/_string-pad.js","webpack:///./node_modules/core-js/modules/_object-to-array.js","webpack:///./node_modules/core-js/modules/_collection-to-json.js","webpack:///./node_modules/core-js/modules/_array-from-iterable.js","webpack:///./node_modules/core-js/modules/_math-scale.js","webpack:///./node_modules/babel-runtime/core-js/symbol/iterator.js","webpack:///./node_modules/core-js/library/modules/_iter-define.js","webpack:///./node_modules/core-js/library/modules/_ie8-dom-define.js","webpack:///./node_modules/core-js/library/modules/_redefine.js","webpack:///./node_modules/core-js/library/modules/_object-dps.js","webpack:///./node_modules/core-js/library/modules/_object-keys-internal.js","webpack:///./node_modules/core-js/library/modules/_iobject.js","webpack:///./node_modules/core-js/library/modules/_html.js","webpack:///./node_modules/core-js/library/modules/_object-gpo.js","webpack:///./node_modules/babel-runtime/core-js/symbol.js","webpack:///./node_modules/core-js/library/modules/es6.symbol.js","webpack:///./node_modules/core-js/library/modules/_meta.js","webpack:///./node_modules/core-js/library/modules/_object-gopn-ext.js","webpack:///./node_modules/core-js/library/modules/_object-gopn.js","webpack:///./node_modules/handlebars/dist/handlebars.js","webpack:///(webpack)/buildin/module.js","webpack:///./node_modules/core-js/library/modules/_iter-call.js","webpack:///./node_modules/core-js/library/modules/_is-array-iter.js","webpack:///./node_modules/core-js/library/modules/_iter-detect.js","webpack:///./node_modules/core-js/library/modules/_species-constructor.js","webpack:///./node_modules/core-js/library/modules/_task.js","webpack:///./node_modules/core-js/library/modules/_perform.js","webpack:///./node_modules/core-js/library/modules/_promise-resolve.js","webpack:///./src/PrimaryAuthController.js","webpack:///./src/views/primary-auth/PrimaryAuthForm.js","webpack:///./node_modules/babel-runtime/helpers/slicedToArray.js","webpack:///./src/views/primary-auth/CustomButtons.js","webpack:///./src/views/shared/Footer.js","webpack:///./packages/duo_web_sdk/index.js","webpack:///./node_modules/babel-runtime/regenerator/index.js","webpack:///./node_modules/babel-runtime/helpers/asyncToGenerator.js","webpack:///./src/views/ResendEmailView.js","webpack:///./src/views/shared/Spinner.js","webpack:///./node_modules/u2f-api-polyfill/u2f-api-polyfill.js","webpack:///./src/views/enroll-choices/FactorList.js","webpack:///./src/views/enroll-factors/PhoneTextBox.js","webpack:///./src/EnrollCustomFactorController.js","webpack:///./src/models/Settings.js","webpack:///./src/views/shared/Header.js","webpack:///./src/views/shared/SecurityBeacon.js","webpack:///./src/views/shared/AuthContainer.js","webpack:///./src/util/ColorsUtil.js","webpack:///./src/views/enroll-factors/EnterPasscodeForm.js","webpack:///./src/views/expired-password/Footer.js","webpack:///./src/views/shared/ContactSupport.js","webpack:///./src/util/RegistrationFormFactory.js","webpack:///./src/v2/util/FactorUtil.js","webpack:///./src/v2/view-builder/internals/BaseHeader.js","webpack:///./src/v2/view-builder/components/HeaderBeacon.js","webpack:///./src/v2/view-builder/views/shared/polling.js","webpack:///./src/v2/view-builder/views/TerminalView.js","webpack:///./src/v2/view-builder/views/shared/email.js","webpack:///./src/v2/view-builder/views/shared/BaseFactorTerminalView.js","webpack:///./node_modules/babel-polyfill/lib/index.js","webpack:///./node_modules/core-js/shim.js","webpack:///./node_modules/core-js/modules/es6.symbol.js","webpack:///./node_modules/core-js/modules/_function-to-string.js","webpack:///./node_modules/core-js/modules/_enum-keys.js","webpack:///./node_modules/core-js/modules/es6.object.create.js","webpack:///./node_modules/core-js/modules/es6.object.define-property.js","webpack:///./node_modules/core-js/modules/es6.object.define-properties.js","webpack:///./node_modules/core-js/modules/es6.object.get-own-property-descriptor.js","webpack:///./node_modules/core-js/modules/es6.object.get-prototype-of.js","webpack:///./node_modules/core-js/modules/es6.object.keys.js","webpack:///./node_modules/core-js/modules/es6.object.get-own-property-names.js","webpack:///./node_modules/core-js/modules/es6.object.freeze.js","webpack:///./node_modules/core-js/modules/es6.object.seal.js","webpack:///./node_modules/core-js/modules/es6.object.prevent-extensions.js","webpack:///./node_modules/core-js/modules/es6.object.is-frozen.js","webpack:///./node_modules/core-js/modules/es6.object.is-sealed.js","webpack:///./node_modules/core-js/modules/es6.object.is-extensible.js","webpack:///./node_modules/core-js/modules/es6.object.assign.js","webpack:///./node_modules/core-js/modules/es6.object.is.js","webpack:///./node_modules/core-js/modules/es6.object.set-prototype-of.js","webpack:///./node_modules/core-js/modules/es6.object.to-string.js","webpack:///./node_modules/core-js/modules/es6.function.bind.js","webpack:///./node_modules/core-js/modules/es6.function.name.js","webpack:///./node_modules/core-js/modules/es6.function.has-instance.js","webpack:///./node_modules/core-js/modules/es6.parse-int.js","webpack:///./node_modules/core-js/modules/es6.parse-float.js","webpack:///./node_modules/core-js/modules/es6.number.constructor.js","webpack:///./node_modules/core-js/modules/es6.number.to-fixed.js","webpack:///./node_modules/core-js/modules/es6.number.to-precision.js","webpack:///./node_modules/core-js/modules/es6.number.epsilon.js","webpack:///./node_modules/core-js/modules/es6.number.is-finite.js","webpack:///./node_modules/core-js/modules/es6.number.is-integer.js","webpack:///./node_modules/core-js/modules/es6.number.is-nan.js","webpack:///./node_modules/core-js/modules/es6.number.is-safe-integer.js","webpack:///./node_modules/core-js/modules/es6.number.max-safe-integer.js","webpack:///./node_modules/core-js/modules/es6.number.min-safe-integer.js","webpack:///./node_modules/core-js/modules/es6.number.parse-float.js","webpack:///./node_modules/core-js/modules/es6.number.parse-int.js","webpack:///./node_modules/core-js/modules/es6.math.acosh.js","webpack:///./node_modules/core-js/modules/es6.math.asinh.js","webpack:///./node_modules/core-js/modules/es6.math.atanh.js","webpack:///./node_modules/core-js/modules/es6.math.cbrt.js","webpack:///./node_modules/core-js/modules/es6.math.clz32.js","webpack:///./node_modules/core-js/modules/es6.math.cosh.js","webpack:///./node_modules/core-js/modules/es6.math.expm1.js","webpack:///./node_modules/core-js/modules/es6.math.fround.js","webpack:///./node_modules/core-js/modules/es6.math.hypot.js","webpack:///./node_modules/core-js/modules/es6.math.imul.js","webpack:///./node_modules/core-js/modules/es6.math.log10.js","webpack:///./node_modules/core-js/modules/es6.math.log1p.js","webpack:///./node_modules/core-js/modules/es6.math.log2.js","webpack:///./node_modules/core-js/modules/es6.math.sign.js","webpack:///./node_modules/core-js/modules/es6.math.sinh.js","webpack:///./node_modules/core-js/modules/es6.math.tanh.js","webpack:///./node_modules/core-js/modules/es6.math.trunc.js","webpack:///./node_modules/core-js/modules/es6.string.from-code-point.js","webpack:///./node_modules/core-js/modules/es6.string.raw.js","webpack:///./node_modules/core-js/modules/es6.string.trim.js","webpack:///./node_modules/core-js/modules/es6.string.iterator.js","webpack:///./node_modules/core-js/modules/es6.string.code-point-at.js","webpack:///./node_modules/core-js/modules/es6.string.ends-with.js","webpack:///./node_modules/core-js/modules/es6.string.includes.js","webpack:///./node_modules/core-js/modules/es6.string.repeat.js","webpack:///./node_modules/core-js/modules/es6.string.starts-with.js","webpack:///./node_modules/core-js/modules/es6.string.anchor.js","webpack:///./node_modules/core-js/modules/es6.string.big.js","webpack:///./node_modules/core-js/modules/es6.string.blink.js","webpack:///./node_modules/core-js/modules/es6.string.bold.js","webpack:///./node_modules/core-js/modules/es6.string.fixed.js","webpack:///./node_modules/core-js/modules/es6.string.fontcolor.js","webpack:///./node_modules/core-js/modules/es6.string.fontsize.js","webpack:///./node_modules/core-js/modules/es6.string.italics.js","webpack:///./node_modules/core-js/modules/es6.string.link.js","webpack:///./node_modules/core-js/modules/es6.string.small.js","webpack:///./node_modules/core-js/modules/es6.string.strike.js","webpack:///./node_modules/core-js/modules/es6.string.sub.js","webpack:///./node_modules/core-js/modules/es6.string.sup.js","webpack:///./node_modules/core-js/modules/es6.date.now.js","webpack:///./node_modules/core-js/modules/es6.date.to-json.js","webpack:///./node_modules/core-js/modules/es6.date.to-iso-string.js","webpack:///./node_modules/core-js/modules/_date-to-iso-string.js","webpack:///./node_modules/core-js/modules/es6.date.to-string.js","webpack:///./node_modules/core-js/modules/es6.date.to-primitive.js","webpack:///./node_modules/core-js/modules/_date-to-primitive.js","webpack:///./node_modules/core-js/modules/es6.array.is-array.js","webpack:///./node_modules/core-js/modules/es6.array.from.js","webpack:///./node_modules/core-js/modules/es6.array.of.js","webpack:///./node_modules/core-js/modules/es6.array.join.js","webpack:///./node_modules/core-js/modules/es6.array.slice.js","webpack:///./node_modules/core-js/modules/es6.array.sort.js","webpack:///./node_modules/core-js/modules/es6.array.for-each.js","webpack:///./node_modules/core-js/modules/_array-species-constructor.js","webpack:///./node_modules/core-js/modules/es6.array.map.js","webpack:///./node_modules/core-js/modules/es6.array.filter.js","webpack:///./node_modules/core-js/modules/es6.array.some.js","webpack:///./node_modules/core-js/modules/es6.array.every.js","webpack:///./node_modules/core-js/modules/es6.array.reduce.js","webpack:///./node_modules/core-js/modules/es6.array.reduce-right.js","webpack:///./node_modules/core-js/modules/es6.array.index-of.js","webpack:///./node_modules/core-js/modules/es6.array.last-index-of.js","webpack:///./node_modules/core-js/modules/es6.array.copy-within.js","webpack:///./node_modules/core-js/modules/es6.array.fill.js","webpack:///./node_modules/core-js/modules/es6.array.find.js","webpack:///./node_modules/core-js/modules/es6.array.find-index.js","webpack:///./node_modules/core-js/modules/es6.array.species.js","webpack:///./node_modules/core-js/modules/es6.regexp.constructor.js","webpack:///./node_modules/core-js/modules/es6.regexp.to-string.js","webpack:///./node_modules/core-js/modules/es6.regexp.match.js","webpack:///./node_modules/core-js/modules/es6.regexp.replace.js","webpack:///./node_modules/core-js/modules/es6.regexp.search.js","webpack:///./node_modules/core-js/modules/es6.regexp.split.js","webpack:///./node_modules/core-js/modules/es6.promise.js","webpack:///./node_modules/core-js/modules/es6.weak-set.js","webpack:///./node_modules/core-js/modules/es6.typed.array-buffer.js","webpack:///./node_modules/core-js/modules/es6.typed.data-view.js","webpack:///./node_modules/core-js/modules/es6.typed.int8-array.js","webpack:///./node_modules/core-js/modules/es6.typed.uint8-array.js","webpack:///./node_modules/core-js/modules/es6.typed.uint8-clamped-array.js","webpack:///./node_modules/core-js/modules/es6.typed.int16-array.js","webpack:///./node_modules/core-js/modules/es6.typed.uint16-array.js","webpack:///./node_modules/core-js/modules/es6.typed.int32-array.js","webpack:///./node_modules/core-js/modules/es6.typed.uint32-array.js","webpack:///./node_modules/core-js/modules/es6.typed.float32-array.js","webpack:///./node_modules/core-js/modules/es6.typed.float64-array.js","webpack:///./node_modules/core-js/modules/es6.reflect.apply.js","webpack:///./node_modules/core-js/modules/es6.reflect.construct.js","webpack:///./node_modules/core-js/modules/es6.reflect.define-property.js","webpack:///./node_modules/core-js/modules/es6.reflect.delete-property.js","webpack:///./node_modules/core-js/modules/es6.reflect.enumerate.js","webpack:///./node_modules/core-js/modules/es6.reflect.get.js","webpack:///./node_modules/core-js/modules/es6.reflect.get-own-property-descriptor.js","webpack:///./node_modules/core-js/modules/es6.reflect.get-prototype-of.js","webpack:///./node_modules/core-js/modules/es6.reflect.has.js","webpack:///./node_modules/core-js/modules/es6.reflect.is-extensible.js","webpack:///./node_modules/core-js/modules/es6.reflect.own-keys.js","webpack:///./node_modules/core-js/modules/es6.reflect.prevent-extensions.js","webpack:///./node_modules/core-js/modules/es6.reflect.set.js","webpack:///./node_modules/core-js/modules/es6.reflect.set-prototype-of.js","webpack:///./node_modules/core-js/modules/es7.array.includes.js","webpack:///./node_modules/core-js/modules/es7.array.flat-map.js","webpack:///./node_modules/core-js/modules/es7.array.flatten.js","webpack:///./node_modules/core-js/modules/es7.string.at.js","webpack:///./node_modules/core-js/modules/es7.string.pad-start.js","webpack:///./node_modules/core-js/modules/es7.string.pad-end.js","webpack:///./node_modules/core-js/modules/es7.string.trim-left.js","webpack:///./node_modules/core-js/modules/es7.string.trim-right.js","webpack:///./node_modules/core-js/modules/es7.string.match-all.js","webpack:///./node_modules/core-js/modules/es7.symbol.async-iterator.js","webpack:///./node_modules/core-js/modules/es7.symbol.observable.js","webpack:///./node_modules/core-js/modules/es7.object.get-own-property-descriptors.js","webpack:///./node_modules/core-js/modules/es7.object.values.js","webpack:///./node_modules/core-js/modules/es7.object.entries.js","webpack:///./node_modules/core-js/modules/es7.object.define-getter.js","webpack:///./node_modules/core-js/modules/es7.object.define-setter.js","webpack:///./node_modules/core-js/modules/es7.object.lookup-getter.js","webpack:///./node_modules/core-js/modules/es7.object.lookup-setter.js","webpack:///./node_modules/core-js/modules/es7.map.to-json.js","webpack:///./node_modules/core-js/modules/es7.set.to-json.js","webpack:///./node_modules/core-js/modules/es7.map.of.js","webpack:///./node_modules/core-js/modules/es7.set.of.js","webpack:///./node_modules/core-js/modules/es7.weak-map.of.js","webpack:///./node_modules/core-js/modules/es7.weak-set.of.js","webpack:///./node_modules/core-js/modules/es7.map.from.js","webpack:///./node_modules/core-js/modules/es7.set.from.js","webpack:///./node_modules/core-js/modules/es7.weak-map.from.js","webpack:///./node_modules/core-js/modules/es7.weak-set.from.js","webpack:///./node_modules/core-js/modules/es7.global.js","webpack:///./node_modules/core-js/modules/es7.system.global.js","webpack:///./node_modules/core-js/modules/es7.error.is-error.js","webpack:///./node_modules/core-js/modules/es7.math.clamp.js","webpack:///./node_modules/core-js/modules/es7.math.deg-per-rad.js","webpack:///./node_modules/core-js/modules/es7.math.degrees.js","webpack:///./node_modules/core-js/modules/es7.math.fscale.js","webpack:///./node_modules/core-js/modules/es7.math.iaddh.js","webpack:///./node_modules/core-js/modules/es7.math.isubh.js","webpack:///./node_modules/core-js/modules/es7.math.imulh.js","webpack:///./node_modules/core-js/modules/es7.math.rad-per-deg.js","webpack:///./node_modules/core-js/modules/es7.math.radians.js","webpack:///./node_modules/core-js/modules/es7.math.scale.js","webpack:///./node_modules/core-js/modules/es7.math.umulh.js","webpack:///./node_modules/core-js/modules/es7.math.signbit.js","webpack:///./node_modules/core-js/modules/es7.promise.finally.js","webpack:///./node_modules/core-js/modules/es7.promise.try.js","webpack:///./node_modules/core-js/modules/es7.reflect.define-metadata.js","webpack:///./node_modules/core-js/modules/es7.reflect.delete-metadata.js","webpack:///./node_modules/core-js/modules/es7.reflect.get-metadata.js","webpack:///./node_modules/core-js/modules/es7.reflect.get-metadata-keys.js","webpack:///./node_modules/core-js/modules/es7.reflect.get-own-metadata.js","webpack:///./node_modules/core-js/modules/es7.reflect.get-own-metadata-keys.js","webpack:///./node_modules/core-js/modules/es7.reflect.has-metadata.js","webpack:///./node_modules/core-js/modules/es7.reflect.has-own-metadata.js","webpack:///./node_modules/core-js/modules/es7.reflect.metadata.js","webpack:///./node_modules/core-js/modules/es7.asap.js","webpack:///./node_modules/core-js/modules/es7.observable.js","webpack:///./node_modules/core-js/modules/web.timers.js","webpack:///./node_modules/core-js/modules/web.immediate.js","webpack:///./node_modules/core-js/modules/web.dom.iterable.js","webpack:///./node_modules/regenerator-runtime/runtime.js","webpack:///./node_modules/core-js/fn/regexp/escape.js","webpack:///./node_modules/core-js/modules/core.regexp.escape.js","webpack:///./node_modules/core-js/modules/_replacer.js","webpack:///./src/widget/OktaSignIn.js","webpack:///./node_modules/core-js/library/fn/json/stringify.js","webpack:///./node_modules/core-js/library/fn/symbol/iterator.js","webpack:///./node_modules/core-js/library/modules/_string-at.js","webpack:///./node_modules/core-js/library/modules/_iter-create.js","webpack:///./node_modules/core-js/library/modules/_array-includes.js","webpack:///./node_modules/core-js/library/modules/_to-absolute-index.js","webpack:///./node_modules/core-js/library/modules/es6.array.iterator.js","webpack:///./node_modules/core-js/library/modules/_add-to-unscopables.js","webpack:///./node_modules/core-js/library/modules/_iter-step.js","webpack:///./node_modules/core-js/library/fn/symbol/index.js","webpack:///./node_modules/core-js/library/modules/_enum-keys.js","webpack:///./node_modules/core-js/library/modules/_is-array.js","webpack:///./node_modules/core-js/library/modules/es7.symbol.async-iterator.js","webpack:///./node_modules/core-js/library/modules/es7.symbol.observable.js","webpack:///./node_modules/core-js/library/fn/object/define-property.js","webpack:///./node_modules/core-js/library/modules/es6.object.define-property.js","webpack:///./node_modules/backbone/backbone.js","webpack:///./node_modules/backbone/node_modules/underscore/underscore.js","webpack:///./packages/@okta/i18n/src/json/login.json","webpack:///./packages/@okta/i18n/src/json/country.json","webpack:///./packages/@okta/idx-js/idx.js","webpack:///./node_modules/babel-runtime/core-js/array/from.js","webpack:///./node_modules/core-js/library/fn/array/from.js","webpack:///./node_modules/core-js/library/modules/es6.array.from.js","webpack:///./node_modules/core-js/library/modules/_create-property.js","webpack:///./node_modules/babel-runtime/core-js/object/set-prototype-of.js","webpack:///./node_modules/core-js/library/fn/object/set-prototype-of.js","webpack:///./node_modules/core-js/library/modules/es6.object.set-prototype-of.js","webpack:///./node_modules/core-js/library/modules/_set-proto.js","webpack:///./node_modules/babel-runtime/core-js/object/define-properties.js","webpack:///./node_modules/core-js/library/fn/object/define-properties.js","webpack:///./node_modules/core-js/library/modules/es6.object.define-properties.js","webpack:///./node_modules/babel-runtime/core-js/object/get-own-property-symbols.js","webpack:///./node_modules/core-js/library/fn/object/get-own-property-symbols.js","webpack:///./node_modules/babel-runtime/core-js/object/get-prototype-of.js","webpack:///./node_modules/core-js/library/fn/object/get-prototype-of.js","webpack:///./node_modules/core-js/library/modules/es6.object.get-prototype-of.js","webpack:///./node_modules/core-js/library/fn/object/keys.js","webpack:///./node_modules/core-js/library/modules/es6.object.keys.js","webpack:///./node_modules/core-js/library/fn/promise.js","webpack:///./node_modules/core-js/library/modules/es6.promise.js","webpack:///./node_modules/core-js/library/modules/_an-instance.js","webpack:///./node_modules/core-js/library/modules/_for-of.js","webpack:///./node_modules/core-js/library/modules/_invoke.js","webpack:///./node_modules/core-js/library/modules/_microtask.js","webpack:///./node_modules/core-js/library/modules/_user-agent.js","webpack:///./node_modules/core-js/library/modules/_redefine-all.js","webpack:///./node_modules/core-js/library/modules/_set-species.js","webpack:///./node_modules/core-js/library/modules/es7.promise.finally.js","webpack:///./node_modules/core-js/library/modules/es7.promise.try.js","webpack:///./node_modules/babel-runtime/core-js/object/get-own-property-names.js","webpack:///./node_modules/core-js/library/fn/object/get-own-property-names.js","webpack:///./node_modules/core-js/library/modules/es6.object.get-own-property-names.js","webpack:///./node_modules/babel-runtime/core-js/object/get-own-property-descriptor.js","webpack:///./node_modules/core-js/library/fn/object/get-own-property-descriptor.js","webpack:///./node_modules/core-js/library/modules/es6.object.get-own-property-descriptor.js","webpack:///./node_modules/babel-runtime/core-js/object/create.js","webpack:///./node_modules/core-js/library/fn/object/create.js","webpack:///./node_modules/core-js/library/modules/es6.object.create.js","webpack:///./node_modules/babel-runtime/core-js/symbol/to-string-tag.js","webpack:///./node_modules/core-js/library/fn/symbol/to-string-tag.js","webpack:///./src/LoginRouter.js","webpack:///./src/IDPDiscoveryController.js","webpack:///./src/util/TypingUtil.js","webpack:///./packages/TypingDnaRecorder-JavaScript/typingdna.js","webpack:///./node_modules/babel-runtime/core-js/is-iterable.js","webpack:///./node_modules/core-js/library/fn/is-iterable.js","webpack:///./node_modules/core-js/library/modules/core.is-iterable.js","webpack:///./node_modules/babel-runtime/core-js/get-iterator.js","webpack:///./node_modules/core-js/library/fn/get-iterator.js","webpack:///./node_modules/core-js/library/modules/core.get-iterator.js","webpack:///./src/views/shared/FooterRegistration.js","webpack:///./src/views/idp-discovery/IDPDiscoveryForm.js","webpack:///./src/models/IDPDiscovery.js","webpack:///./src/VerifyDuoController.js","webpack:///./src/util/TimeUtil.js","webpack:///./node_modules/core-js/library/fn/object/assign.js","webpack:///./node_modules/core-js/library/modules/es6.object.assign.js","webpack:///./node_modules/core-js/library/modules/_object-assign.js","webpack:///./node_modules/parse-ms/index.js","webpack:///./node_modules/@sindresorhus/to-milliseconds/index.js","webpack:///./node_modules/babel-runtime/core-js/object/entries.js","webpack:///./node_modules/core-js/library/fn/object/entries.js","webpack:///./node_modules/core-js/library/modules/es7.object.entries.js","webpack:///./node_modules/core-js/library/modules/_object-to-array.js","webpack:///./src/VerifyPIVController.js","webpack:///./node_modules/babel-runtime/node_modules/regenerator-runtime/runtime-module.js","webpack:///./node_modules/babel-runtime/node_modules/regenerator-runtime/runtime.js","webpack:///./src/MfaVerifyController.js","webpack:///./src/views/mfa-verify/TOTPForm.js","webpack:///./src/views/mfa-verify/YubikeyForm.js","webpack:///./src/views/mfa-verify/SecurityQuestionForm.js","webpack:///./src/views/mfa-verify/PassCodeForm.js","webpack:///./src/views/mfa-verify/PushForm.js","webpack:///./src/views/mfa-verify/NumberChallengeView.js","webpack:///./src/views/mfa-verify/PasswordForm.js","webpack:///./src/views/mfa-verify/InlineTOTPForm.js","webpack:///./src/views/mfa-verify/SendEmailAndVerifyCodeForm.js","webpack:///./src/views/factor-verify/EmailMagicLinkForm.js","webpack:///./src/VerifyWindowsHelloController.js","webpack:///./node_modules/babel-runtime/core-js/object/freeze.js","webpack:///./node_modules/core-js/library/fn/object/freeze.js","webpack:///./node_modules/core-js/library/modules/es6.object.freeze.js","webpack:///./src/VerifyU2FController.js","webpack:///./src/VerifyWebauthnController.js","webpack:///./src/VerifyCustomFactorController.js","webpack:///./src/EnrollChoicesController.js","webpack:///./node_modules/babel-runtime/core-js/number/is-integer.js","webpack:///./node_modules/core-js/library/fn/number/is-integer.js","webpack:///./node_modules/core-js/library/modules/es6.number.is-integer.js","webpack:///./node_modules/core-js/library/modules/_is-integer.js","webpack:///./src/util/ErrorCodes.js","webpack:///./src/views/enroll-choices/RequiredFactorList.js","webpack:///./src/views/enroll-choices/Footer.js","webpack:///./src/EnrollDuoController.js","webpack:///./src/EnrollQuestionController.js","webpack:///./src/EnrollPasswordController.js","webpack:///./src/EnrollWindowsHelloController.js","webpack:///./src/EnrollCallAndSmsController.js","webpack:///./src/util/countryCallingCodes.js","webpack:///./src/EnrollEmailController.js","webpack:///./src/EnrollActivateEmailController.js","webpack:///./src/EnrollOnPremController.js","webpack:///./src/EnrollSymantecVipController.js","webpack:///./src/EnrollYubikeyController.js","webpack:///./src/EnrollTotpController.js","webpack:///./src/util/StoreLinks.js","webpack:///./src/EnrollU2FController.js","webpack:///./src/EnrollWebauthnController.js","webpack:///./src/EnrollActivateCustomFactorController.js","webpack:///./src/EnrollHotpController.js","webpack:///./src/util/BaseLoginRouter.js","webpack:///./src/views/shared/LoadingBeacon.js","webpack:///./src/models/AppState.js","webpack:///./src/BarcodePushController.js","webpack:///./src/ActivateTotpController.js","webpack:///./src/ManualSetupTotpController.js","webpack:///./src/views/enroll-factors/ManualSetupFooter.js","webpack:///./src/ManualSetupPushController.js","webpack:///./src/views/enroll-factors/ManualSetupPushFooter.js","webpack:///./src/EnrollmentLinkSentController.js","webpack:///./src/EnterPasscodePushFlowController.js","webpack:///./src/PasswordExpiredController.js","webpack:///./src/CustomPasswordExpiredController.js","webpack:///./src/ForgotPasswordController.js","webpack:///./src/RecoveryChallengeController.js","webpack:///./src/PwdResetEmailSentController.js","webpack:///./src/RecoveryQuestionController.js","webpack:///./src/PasswordResetController.js","webpack:///./src/RecoveryLoadingController.js","webpack:///./src/UnlockAccountController.js","webpack:///./src/AccountUnlockedController.js","webpack:///./src/UnlockEmailSentController.js","webpack:///./src/RefreshAuthStateController.js","webpack:///./src/RegistrationController.js","webpack:///./src/models/RegistrationSchema.js","webpack:///./src/models/LoginModel.js","webpack:///./src/views/registration/SubSchema.js","webpack:///./src/RegistrationCompleteController.js","webpack:///./src/ConsentRequiredController.js","webpack:///./src/views/consent/ScopeList.js","webpack:///./src/views/consent/ScopeItem.js","webpack:///./src/EnrollUserController.js","webpack:///./src/models/EnrollUser.js","webpack:///./src/views/enrollUser/EnrollUserForm.js","webpack:///./src/models/ProfileSchema.js","webpack:///./src/views/shared/FactorBeacon.js","webpack:///./src/views/mfa-verify/dropdown/FactorsDropDown.js","webpack:///./src/views/mfa-verify/dropdown/FactorsDropDownOptions.js","webpack:///./src/views/shared/PIVBeacon.js","webpack:///./src/PollController.js","webpack:///./src/BarcodeTotpController.js","webpack:///./src/v2/WidgetRouter.js","webpack:///./src/v2/controllers/FormController.js","webpack:///./src/v2/view-builder/ViewFactory.js","webpack:///./src/v2/view-builder/internals/FormInputFactory.js","webpack:///./src/v2/view-builder/components/FactorOptions.js","webpack:///./src/v2/view-builder/internals/BaseModel.js","webpack:///./src/v2/view-builder/components/Link.js","webpack:///./src/v2/view-builder/views/IdentifierView.js","webpack:///./src/v2/view-builder/views/DeviceChallengePollView.js","webpack:///./src/v2/view-builder/views/SSOExtensionView.js","webpack:///./src/v2/view-builder/views/SelectFactorEnrollView.js","webpack:///./src/v2/view-builder/views/SelectFactorAuthenticateView.js","webpack:///./src/v2/view-builder/views/EnrollProfileView.js","webpack:///./src/v2/view-builder/views/SuccessView.js","webpack:///./src/v2/view-builder/views/password/EnrollFactorPasswordView.js","webpack:///./src/v2/view-builder/components/HeaderBeaconFactor.js","webpack:///./src/v2/view-builder/views/password/RequiredFactorPasswordView.js","webpack:///./src/v2/view-builder/views/webauthn/RequiredFactorWebauthnView.js","webpack:///./src/v2/view-builder/views/email/RequiredFactorEmailView.js","webpack:///./src/v2/view-builder/views/email/TerminalReturnEmailView.js","webpack:///./src/v2/view-builder/views/email/TerminalTransferedEmailView.js","webpack:///./src/v2/BaseLoginRouter.js","webpack:///./src/v2/ion/responseTransformer.js","webpack:///./src/v2/ion/uiSchemaTransformer.js","webpack:///./src/v2/models/AppState.js","webpack:///./node_modules/@okta/okta-auth-js/dist/okta-auth-js.min.js"],"names":["root","factory","exports","module","define","amd","self","this","modules","__webpack_require__","moduleId","installedModules","i","l","call","m","c","d","name","getter","o","Object","defineProperty","configurable","enumerable","get","n","__esModule","object","property","prototype","hasOwnProperty","p","s","_interopRequireDefault2","obj","default","_stringify","_stringify2","_typeof2","_typeof3","_defineProperty","_defineProperty2","__webpack_exports__","value","__WEBPACK_IMPORTED_MODULE_0_handlebars__","__WEBPACK_IMPORTED_MODULE_0_handlebars___default","__WEBPACK_IMPORTED_MODULE_1_underscore__","__WEBPACK_IMPORTED_MODULE_1_underscore___default","_","a","noConflict","mixin","resultCtx","context","defaultValue","isObject","isFunction","isUndefined","isInteger","x","isNumber","template","source","data","compile","__WEBPACK_IMPORTED_MODULE_0_backbone__","__WEBPACK_IMPORTED_MODULE_0_backbone___default","__WEBPACK_IMPORTED_MODULE_1__util_underscore_wrapper__","__WEBPACK_IMPORTED_MODULE_2__framework_View__","__WEBPACK_IMPORTED_MODULE_3__util_TemplateUtil__","eventBus","clone","Events","proto","constructor","apply","arguments","$el","attr","id","empty","removeChildren","compileTemplate","tpl","broadcast","trigger","listen","fn","off","listenTo","notify","level","message","options","defaults","confirm","title","okfn","cancelfn","length","subtitle","ok","cancelFn","bind","alert","params","isString","extend","noCancelButton","decorate","TargetView","BaseViewView","__WEBPACK_IMPORTED_MODULE_0_jquery__","__WEBPACK_IMPORTED_MODULE_0_jquery___default","ajaxSetup","beforeSend","xhr","setRequestHeader","text","converters","text secureJSON","str","substring","JSON","parse","window","jQueryCourage","__WEBPACK_IMPORTED_MODULE_0__jquery_wrapper__","__WEBPACK_IMPORTED_MODULE_1__underscore_wrapper__","__WEBPACK_IMPORTED_MODULE_2_okta_i18n_bundles__","__WEBPACK_IMPORTED_MODULE_2_okta_i18n_bundles___default","entityMap","&","<",">",""","'","'","/","emailValidator","StringUtil","sprintf","triggerError","Error","args","Array","slice","shift","oldValue","entity","replace","undefined","test","parseQuery","query","pairs","decodeURIComponent","split","pair","join","encodeJSObject","jsObj","encodeURIComponent","decodeJSObject","e","unescapeHtml","string","String","getTemplate","key","bundleName","bundle","keys","localize","unshift","parseFloat","_x","_parseFloat","toString","number","parseInt","_x2","_parseInt","int","parseObject","isPlainObject","randomString","characters","random","stringArray","push","endsWith","ends","isEmail","target","trim","isEmpty","memoize","require","log","console","okta","debug","trace","dir","time","timeEnd","group","groupEnd","assert","info","warn","error","UP","DOWN","DEL","TAB","RETURN","ENTER","ESC","COMMA","PAGEUP","PAGEDOWN","SPACE","BACKSPACE","__isKey","which","keyCode","isEnter","isEsc","isSpaceBar","decorateDoWhen","doWhen","__WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__","__edit__","constant","createButton","pick","timeoutId","intervalId","phaseCount","__WEBPACK_IMPORTED_MODULE_5__BaseView__","tagName","className","events","click","action","disabled","keyup","__WEBPACK_IMPORTED_MODULE_1__util_Keys__","prop","disable","addClass","enable","removeClass","initialize","type","val","mousedown","model","set","mouseup","setTimeout","__changeSaveText","clearTimeout","clearInterval","setInterval","__showLoadingText","SAVE_BUTTON_PHASES","validateInput","label","__WEBPACK_IMPORTED_MODULE_2__util_Logger__","icon","href","input","isArray","allows","names","each","intersection","ALL_OPTIONS","size","fields","without","generateInputOptions","form","createFn","contains","create","inputs","map","first","omit","uniqueId","readOnly","isReadOnly","read","hasReadMode","__WEBPACK_IMPORTED_MODULE_3__util_StringUtil__","__WEBPACK_IMPORTED_MODULE_4__util_ViewUtil__","LABEL_OPTIONS","CONTAINER_OPTIONS","WRAPPER_OPTIONS","INPUT_OPTIONS","OTHER_OPTIONS","uniq","union","changeEventString","fieldNames","createReadFormButton","ariaLabel","formTitle","attributes","aria-label","escape","preventDefault","applyShowWhen","view","showWhen","toggleAndResize","bool","toggle","applyDoWhen","animate","applyToggleWhen","toggleWhen","render","__WEBPACK_IMPORTED_MODULE_0__util_jquery_wrapper__","__WEBPACK_IMPORTED_MODULE_2__util_ButtonFactory__","__WEBPACK_IMPORTED_MODULE_4__BaseView__","__WEBPACK_IMPORTED_MODULE_5__components_Callout__","data-se","getNameString","defaultPlaceholder","inputId","placeholder","inlineValidation","validateOnlyIfDirty","method","wrap","result","focus","debounce","addInlineValidation","addModelListeners","addAriaLabel","$","on","validate","toModelValue","to","__getDependencyCalloutBtn","btnConfig","btnOptions","originalClick","one","__showInputDependencies","children","getCalloutParent","getModelValue","parent","__getCalloutMsgContainer","calloutMsg","getTemplateData","msg","showCallout","calloutConfig","dependencyResolved","callout","btn","content","dependencyCallout","add","append","el","delay","fadeOut","removeCallout","find","remove","__evaluateCalloutObject","calloutTitle","__handleDependency","resolved","fieldDependency","deps","func","done","fail","_isEdited","update","isEditMode","preRender","editMode","readMode","postRender","validateField","validationError","__markError","__clearError","html","multi","getReadModeString","readModeStr","toStringValue","from","resize","changeType","getParams","opts","getParam","getParamOrAttribute","__WEBPACK_IMPORTED_MODULE_1__framework_Model__","secureJSON","_builtInLocalProps","__pending__","local","sync","dataType","__WEBPACK_IMPORTED_MODULE_0__underscore_wrapper__","__WEBPACK_IMPORTED_MODULE_1__StringUtil__","loc","SchemaUtils","STRING","NUMBER","INTEGER","BOOLEAN","OBJECT","FORMATDISPLAYTYPE","date-time","uri","email","country-code","language-code","country_code","language_code","locale","timezone","ref-id","ARRAYDISPLAYTYPE","arrayofobject","arrayofstring","arrayofnumber","arrayofinteger","arrayofref-id","DISPLAYTYPES","date","format","boolean","integer","reference","items","image","password","SUPPORTSMINMAX","SUPPORTENUM","DATATYPE","MUTABILITY","READONLY","WRITEONLY","READWRITE","IMMUTABLE","SCOPE","NONE","SELF","SYSTEM","DISPLAYSCOPE","NA","UNION","DISABLE","ENABLE","UNION_OPTIONS","PERMISSION","HIDE","READ_ONLY","WRITE_ONLY","READ_WRITE","ENDUSER_ATTRIBUTE_PERMISSION_OPTIONS","ATTRIBUTE_LEVEL_MASTERING_OPTIONS","INHERIT","OKTA_MASTERED","OVERRIDE","USERNAMETYPE","OKTA_TO_APP","OKTA_TO_AD","APP_TO_OKTA","IDP_TO_OKTA","LOGINPATTERNFORMAT","EMAIL","CUSTOM","UNIQUENESS","NOT_UNIQUE","PENDING_UNIQUENESS","UNIQUE_VALIDATED","getDisplayType","itemType","displayType","getSourceUsernameType","mappingDirection","targetName","appName","sourceUsernameType","isArrayDataType","values","isObjectDataType","__WEBPACK_IMPORTED_MODULE_1__framework_Collection__","collection","__WEBPACK_IMPORTED_MODULE_1__Model__","hasProps","props","BaseModelBaseModel","flat","_setSynced","attrs","__attributes","computedProperties","toJSON","res","verbose","sanitizeAttributes","reset","clear","unset","newModel","_syncedData","_getSynced","isSynced","isEqual","ComputedProperty","toArray","pop","__WEBPACK_IMPORTED_MODULE_1__views_BaseView__","redirect","url","location","reloadPage","reload","constantError","errorMessage","getUrlQueryString","queries","queriesString","isABaseView","__WEBPACK_IMPORTED_MODULE_2__BaseCollection__","__WEBPACK_IMPORTED_MODULE_3__BaseModel__","__WEBPACK_IMPORTED_MODULE_4__util_Logger__","__WEBPACK_IMPORTED_MODULE_5__util_SchemaUtil__","__WEBPACK_IMPORTED_MODULE_6__util_StringUtil__","__WEBPACK_IMPORTED_MODULE_7__views_forms_helpers_EnumTypeHelper__","getArrayTypeName","elementType","SchemaPropertySubSchema","description","minLength","maxLength","resp","matcher","exec","SchemaPropertySubSchemaCollection","SchemaPropertySubSchemaAllOfCollection","_type","SchemaPropertySubSchemaOneOfCollection","SchemaPropertySubSchemaNoneOfCollection","constraintTypeErrorMessages","escapedLoginCharsRe","SchemaPropertySchemaProperty","constraintHandlers","between","greaterThan","lessThan","equals","idAttribute","__oneOf__","minItems","required","subSchemas","settings","permissions","unique","__metadata__","__isSensitive__","sensitive","__unique__","__isUniqueValidated__","__isPendingUniqueness__","__isUniqueness__","isValidated","isPending","__canBeSensitive__","metadata","sensitivizable","__userPermission__","__displayType__","__displayTypeLabel__","__supportsMinMax__","__isReadOnly__","mutability","__isWriteOnly__","__displayScope__","__isScopeSelf__","scope","__isNoneScopeArrayType__","isScopeSelf","__isImported__","externalName","__isFromBaseSchema__","schemaMeta","__enumDefined__","__supportEnum__","__isNumberTypeEnum__","__isIntegerTypeEnum__","__isObjectTypeEnum__","__isStringTypeEnum__","__enumConstraintType__","isStringType","isNumberType","isIntegerType","isObjectType","__isEnumDefinedAndSupported__","enumDefined","supportEnum","__isLoginOfBaseSchema__","isFromBaseSchema","__isLoginFormatRestrictionToEmail__","loginFormatRestriction","_updateTypeFormatConstraints","_updateDisplayType","_updateMinMax","_convertEqualsToMinMax","_setConstraintText","_setLoginPattern","extendedType","_setRangeConstraints","indexOf","_setMasterOverride","_setSubSchemas","_setUniqueness","enumValidationError","_validateEnumOneOf","constraitType","constraitHandler","_checkBetweenConstraints","minVal","maxVal","__minVal__","__maxVal__","_checkIntegerConstraints","_checkGreaterThanConstraint","_checkLessThanConstraint","_checkEqualsConstraint","field","isNaN","masterOverride","masterOverrideValue","minimum","maximum","allOf","oneOf","noneOf","pattern","_extractLoginPattern","arraytype","enumOneOf","_isValidateOneOfConstraint","constraintType","all","isConstraintValueMatchType","const","json","_enumAssignment","_attributeOverrideToJson","_normalizeUnionValue","_patternAssignment","_uniquenessAssignment","masterOverrideType","overrideProfile","_getEnumOneOfWithTitleCheck","enum","_buildLoginPattern","_escapedRegexChar","index","char","charAt","re","matches","match","silent","min","max","constraint","cleanup","isEnumType","getEnumValues","detectHasEnumDefined","enumValues","convertToOneOf","SchemaPropertySchemaProperties","areAllReadOnly","pluck","createModelProperties","reduce","schemaProperty","Model","Collection","getEnumInputOptions","config","inputOptions","customExplain","explain","getDropdownOptionsFromOneOf","__WEBPACK_IMPORTED_MODULE_2__util_SchemaUtil__","valuesToEnumObjects","enumObjectsToValues","valueToEnumObject","enumObjectToValue","getDropdownOptions","isOneOfEnumObject","convertIndexToEnumIndex","convertEnumObjectToOneOf","convertEnumToOneOf","has","valueToTitle","findKey","partial","NAME","chain","filter","ENUM_KEY_PREFIX","findIndex","oneOfObj","enumValue","isStringConstraint","isNumberConstraint","isIntegerConstraint","isFinite","Math","floor","isObjectConstraint","getRoute","router","route","__WEBPACK_IMPORTED_MODULE_2__underscore_wrapper__","__WEBPACK_IMPORTED_MODULE_1__jquery_wrapper__","__WEBPACK_IMPORTED_MODULE_3__Logger__","__WEBPACK_IMPORTED_MODULE_4__SettingsModel__","__WEBPACK_IMPORTED_MODULE_5_ConfirmationDialog__","__WEBPACK_IMPORTED_MODULE_5_ConfirmationDialog___default","__WEBPACK_IMPORTED_MODULE_6__views_components_Notification__","Router","_notify","_confirm","Dialog","dialog","notification","prepend","Controller","unload","controller","start","History","started","history","stopListening","state","callback","navigate","fragment","__WEBPACK_IMPORTED_MODULE_1__models_Model__","orgId","orgName","serverStatus","persona","isDeveloperConsole","isPreview","extraProperties","features","_features","hasFeature","feature","_possibleFeatures","logHasFeatureError","hasAnyFeature","featureArray","some","hasPermission","permission","__WEBPACK_AMD_DEFINE_RESULT__","getIndex","container","CHILDREN","cid","noop","doRender","RENDERED","renderTemplate","ADD_TO_CONTAINER","subscribeEvents","isEventPropertyRe","allKeys","matchKeys","bindings","event","callbacks","arr","cb","__WEBPACK_IMPORTED_MODULE_1_backbone__","__WEBPACK_IMPORTED_MODULE_1_backbone___default","PARENT","View","childDefinition","autoRender","unregister","viewIndex","splice","selector","bubble","extraOptions","unescapingRexExp","viewOptions","delegateEvents","rendered","modelData","getChildren","at","invoke","methodName","child","methods","normalizeEvents","eventName","stopPropagation","__WEBPACK_IMPORTED_MODULE_1__views_components_BaseButtonLink__","calcDoWhen","modelValue","_doWhen","every","__WEBPACK_IMPORTED_MODULE_1__BaseView__","__WEBPACK_IMPORTED_MODULE_2__helpers_FormUtil__","addButton","hasPrevStep","isBaseInput","registry","register","defer","autoWidth","findSelectWidth","$select","hide","select","width","show","recalculateChosen","$chosen","$results","$clone","offset","css","left","top","$win","rHeight","outerHeight","rBottom","scrollTop","wHeight","height","CHOSEN_WINDOW_MARGIN","maxHeight","CHOSEN_MAX_HEIGHT","fixChosenModal","next","removeAttr","baseStyles","position","float","z-index","resizeHandler","after","CHOSEN_Z_INDEX","parents","scroll","__WEBPACK_IMPORTED_MODULE_2__util_Keys__","__WEBPACK_IMPORTED_MODULE_4_vendor_plugins_chosen_jquery__","__WEBPACK_IMPORTED_MODULE_5__BaseInput__","option","change select","keyup .chzn-search > :text","getOptions","chosen","__applyChosen","wide","searchThreshold","disable_search_threshold","placeholder_text","search_contains","selectedOption","displayString","getOption","getTopClass","klass","__WEBPACK_IMPORTED_MODULE_1__util_Time__","__WEBPACK_IMPORTED_MODULE_2__BaseView__","click .infobox-dismiss-link","_this2","UNLOADING_FADE","CalloutCallout","dismissible","bullets","DEBOUNCE_DELAY","LOADING_FADE","ROW_EXPANDER_TRANSITION","HIDE_ADD_MAPPING_FORM","__WEBPACK_AMD_DEFINE_ARRAY__","jQuery","customInput","is","siblings","closest","wrapAll","hover","blur","hasTitleAndText","createQtipContent","__WEBPACK_IMPORTED_MODULE_1_qtip__","__WEBPACK_IMPORTED_MODULE_4_vendor_plugins_jquery_placeholder__","input input","change input","keydown input","keyup input","inputValue","innerTooltip","qtip","style","classes","my","adjust","mouse","y","viewport","_interopRequireDefault","_BaseCollection","_BaseCollection2","_BaseModel","_BaseModel2","_BaseSchema","_BaseSchema2","_Model","_Model2","_SchemaProperty","_SchemaProperty2","_BaseController","_BaseController2","_BaseRouter","_BaseRouter2","_ButtonFactory","_ButtonFactory2","_Class","_Class2","_Cookie","_Cookie2","_Keys","_Keys2","_Logger","_Logger2","_StringUtil","_StringUtil2","_TemplateUtil","_TemplateUtil2","_Util","_Util2","_handlebarsWrapper","_handlebarsWrapper2","_jqueryWrapper","_jqueryWrapper2","_underscoreWrapper","_underscoreWrapper2","_Backbone","_Backbone2","_BaseView","_BaseView2","_BaseDropDown","_BaseDropDown2","_BaseForm","_BaseForm2","_Toolbar","_Toolbar2","_FormUtil","_FormUtil2","_InputRegistry","_InputRegistry2","_SchemaFormFactory","_SchemaFormFactory2","_CheckBox","_CheckBox2","_PasswordBox","_PasswordBox2","_Radio","_Radio2","_Select","_Select2","_TextBox","_TextBox2","_Callout","_Callout2","_backbone","_backbone2","Okta","Backbone","Handlebars","createCallout","registerInput","BaseModel","ListView","Form","internal","util","Util","Cookie","Logger","Class","Keys","views","components","BaseDropDown","forms","helpers","FormUtil","SchemaFormFactory","Toolbar","TextBox","PasswordBox","CheckBox","Radio","Select","models","BaseSchema","SchemaProperty","setLinkHeadersPagination","links","parseLinkHeader","getResponseHeader","STATE","LINK_BY_HEADER","setPagination","rawQueryStr","queryString","parts","unquote","header","linkexp","paramexp","rels","link","j","paramsplit","rel","success","status","fetch","fromFetch","abort","getFetchData","getPaginationData","hasMore","fetchMore","where","flatten","objectTypeFields","unflatten","part","ref","createMessage","normalizeSchemaDef","capitalize","toLowerCase","letter","toUpperCase","_validateRegex","validateStringFormat","validator","StringFormatValidators","TypeError","validateString","createMessageWith","invalidFormat","ERROR_STRING_STRING_MIN_LENGTH","ERROR_STRING_STRING_MAX_LENGTH","checkType","isDefined","isNull","ERROR_BLANK","ERROR_WRONG_TYPE","ERROR_NOT_ALLOWED","ERROR_INVALID","validateArrayField","output","foundError","forEach","item","RegExp","flags","passed","maxItems","uniqueItems","ERROR_IARRAY_UNIQUE","arrayField","ERROR_INVALID_FORMAT_EMAIL","ERROR_INVALID_FORMAT_URI","ipv4","ERROR_INVALID_FORMAT_IPV4","hostname","ERROR_INVALID_FORMAT_HOSTNAME","derived","schema","schemaDef","localDefaults","rest","_validateSchema","__getDerivedValue","__syncedData","getPropertySchema","propName","errorFields","cache","memo","__WEBPACK_IMPORTED_MODULE_1__BaseCollection__","__WEBPACK_IMPORTED_MODULE_2__BaseModel__","__WEBPACK_IMPORTED_MODULE_3__SchemaProperty__","parseProperties","properties","__metadata","BaseSchemaSchema","displayName","getProperties","trimProperty","save","BaseSchemaSchemas","clean","__WEBPACK_IMPORTED_MODULE_2__BaseRouter__","__WEBPACK_IMPORTED_MODULE_3__SettingsModel__","__WEBPACK_IMPORTED_MODULE_4__StateMachine__","__WEBPACK_IMPORTED_MODULE_5__views_BaseView__","stateData","fade","dismissable","margin-left","round","__WEBPACK_IMPORTED_MODULE_1__util_ViewUtil__","disabledEvents","defaultAttrs","additionalAttr","__getAttribute","visible","enabled","enableWhen","toggleVisible","toggleClass","hidden","__WEBPACK_IMPORTED_MODULE_1_vendor_lib_js_cookie__","__WEBPACK_IMPORTED_MODULE_1_vendor_lib_js_cookie___default","SECURED_COOKIE","setCookie","secure","path","getCookie","removeCookie","__WEBPACK_AMD_DEFINE_FACTORY__","init","converter","api","expires","Date","setMilliseconds","getMilliseconds","write","document","cookie","toUTCString","domain","cookies","rdecode","getJSON","withConverter","formatDate","dateInISOString","__WEBPACK_IMPORTED_MODULE_1_moment___default","utc","utcOffset","__WEBPACK_IMPORTED_MODULE_1_moment__","registerHelper","__WEBPACK_IMPORTED_MODULE_2__StringUtil__","hash","code","param","prependCachebustPrefix","CACHE_BUST_URL_PREFIX","cdn","cdnUrlHostname","src","Utils","escapeExpression","SafeString","__WEBPACK_IMPORTED_MODULE_1__markdownToHtml__","mdText","mdToHtml","markdownText","linkTemplate","RE_LINK_JS","RE_LINK","mdLink","RE_LINK_HREF","RE_LINK_TEXT","__WEBPACK_IMPORTED_MODULE_0__framework_ListView__","__WEBPACK_IMPORTED_MODULE_0__View__","addItem","fetchCollection","itemSelector","_this3","last","addShowMore","__WEBPACK_IMPORTED_MODULE_2__util_TemplateUtil__","__WEBPACK_IMPORTED_MODULE_3__BaseView__","optionsTemplate","BaseDropDownDropDownOption","seleniumId","click a.option-selected","click .dropdown-disabled","addOption","screenReaderText","pointerEventsPolyfill","pointerEventsSupported","hasClass","currentTarget","underneathElem","elementFromPoint","clientX","clientY","__WEBPACK_IMPORTED_MODULE_2__util_StringUtil__","__WEBPACK_IMPORTED_MODULE_5__components_ReadModeBar__","__WEBPACK_IMPORTED_MODULE_6__components_Toolbar__","__WEBPACK_IMPORTED_MODULE_7__helpers_ErrorBanner__","__WEBPACK_IMPORTED_MODULE_8__helpers_ErrorParser__","__WEBPACK_IMPORTED_MODULE_9__helpers_FormUtil__","__WEBPACK_IMPORTED_MODULE_10__helpers_InputContainer__","__WEBPACK_IMPORTED_MODULE_11__helpers_InputFactory__","__WEBPACK_IMPORTED_MODULE_12__helpers_InputLabel__","__WEBPACK_IMPORTED_MODULE_13__helpers_InputWrapper__","pointer-events","pointerEvents","submit","__save","pathname","slot","convertSavingState","rawSavingStateEvent","defaultEvent","savingStateEvent","getErrorSummary","responseJSON","errorCauses","errorSummary","__buttons","__errorFields","__saveModelState","step","totalSteps","__toolbar","__createToolbar","__addLayoutItem","__applyMode","throttle","showBanner","__showErrors","trailing","__cancel","__previous","hasSavingState","getAttribute","_this4","customSavingState","__setSavingState","stop","__clearSavingState","danger","saveBtnClassName","toolbar","saveId","saveClassName","cancel","noButtonBar","layout","autoSave","scrollOnError","showErrors","resizeSelector","hasButtonBar","__readModeBar","readModeBar","__toggleToolbar","_editMode","edit","__originalModel","clearErrors","isValid","validateArray","fieldName","getInputs","parseErrorMessage","identity","getResponseJSON","validationErrors","parseFieldErrors","errors","supports","addInput","__addNonInputLayoutItem","itemOptions","addSectionTitle","addDivider","_options","inputsOptions","__createInput","reverse","errorField","inputWrapper","__createWrapper","__createLabel","_createContainer","concat","contentHeight","__WEBPACK_IMPORTED_MODULE_0__BaseView__","__WEBPACK_IMPORTED_MODULE_1__helpers_FormUtil__","modelEvents","change:__edit__","form:clear-errors","__WEBPACK_IMPORTED_MODULE_1__util_StringUtil__","FIELD_REGEX","responseText","parseErrorSummary","parseErrorCauseObject","errorCause","localizedMsg","reason","apiMsg","parseErrors","cause","__WEBPACK_IMPORTED_MODULE_1__util_Logger__","__WEBPACK_IMPORTED_MODULE_3__util_Util__","__WEBPACK_IMPORTED_MODULE_4__util_StringUtil__","_getNames","inputItem","compact","explainTop","__setExplain","__setError","__errorState","errorId","tmpl","iconLabel","$elExplain","not","before","_this5","createInput","Input","__WEBPACK_IMPORTED_MODULE_1__InputRegistry__","_isLabelView","sublabel","tooltip","fixed","runCallback","runIf","ctx","__WEBPACK_IMPORTED_MODULE_2__FormUtil__","inputWrapperClassName","optionsClassName","getLabel","getInput","getInputContainer","defaultOptions","__WEBPACK_IMPORTED_MODULE_3__inputs_TextBoxSet__","__WEBPACK_IMPORTED_MODULE_2__inputs_BooleanSelect__","convertStringToNumber","getChoices","customOptions","prefix","configs","__WEBPACK_IMPORTED_MODULE_4__EnumTypeHelper__","getObjectName","schemaProp","objectName","augmentSchemaProp","possibleValues","profile","defaultValues","userValues","fixedValues","augmentSchemaProps","schemaProps","cleanSchema","isValidSchemaProp","results","createInputOptions","preparedSchemaProp","custom","standard","hasValidSchemaProps","prepareSchema","__WEBPACK_IMPORTED_MODULE_0__Select__","true","false","SelectParser","options_index","parsed","add_node","nodeName","add_group","add_option","group_position","_i","_len","_ref","_results","array_index","childNodes","group_disabled","innerHTML","selected","group_array_index","cssText","select_to_array","parser","AbstractChosen","form_field","browser_is_supported","is_multiple","multiple","set_default_text","set_default_values","setup","set_up_html","register_observers","finish_setup","_this","click_test_action","evt","test_active_click","activate_action","activate_field","active_field","mouse_on_container","results_showing","result_highlighted","result_single_selected","allow_single_deselect","disable_search","enable_split_word_search","single_backstroke_delete","max_selected_options","Infinity","inherit_select_classes","default_text","placeholder_text_multiple","default_multiple_text","placeholder_text_single","default_single_text","results_none_found","no_results_text","default_no_result_text","mouse_enter","mouse_leave","input_focus","container_mousedown","input_blur","blur_test","result_add_option","dom_id","container_id","results_update_field","results_reset_cleanup","result_clear_highlight","results_build","results_toggle","results_hide","results_show","results_search","winnow_results","choices_count","selected_option_count","choices_click","is_disabled","keyup_checker","stroke","search_field_scale","backstroke_length","keydown_backstroke","pending_backstroke","result_select","generate_field_id","new_id","generate_random_id","generate_random_char","chars","rand","container_width","offsetWidth","navigator","documentMode","Chosen","__hasProp","__extends","ctor","__super__","input_field","$this","_super","form_field_jq","current_selectedIndex","selectedIndex","is_rtl","container_classes","container_props","class","dropdown","search_field","search_results","search_no_results","search_choices","search_container","selected_item","set_tab_index","set_label_behavior","container_mouseup","mouseenter","mouseleave","search_results_mouseup","mouseover","search_results_mouseover","mouseout","search_results_mouseout","search_results_mousewheel","keydown","keydown_checker","search_field_disabled","unbind","close_field","results_reset","delta","_ref1","_ref2","originalEvent","wheelDelta","originialEvent","detail","clear_backstroke","show_search_field_default","parsing","results_data","result_add_group","choice_build","single_deselect_control_build","result_do_highlight","high_bottom","high_top","visible_bottom","visible_top","result_highlight","ti","form_field_label","choice","close_link","choice_destroy_link_click","choice_destroy","result_deselect","high","high_id","substr","lastIndexOf","metaKey","ctrlKey","result_activate","result_deactivate","pos","result_data","deselected","found","regex","regexAnchor","result_id","searchText","startpos","zregex","_j","_len1","no_results_clear","search","no_results","winnow_results_set_highlight","do_high","selected_results","terms","no_results_html","keydown_arrow","next_sib","nextAll","keyup_arrow","prev_sibs","prevAll","next_available_destroy","div","style_block","styles","w","f_width","outerWidth","__WEBPACK_IMPORTED_MODULE_1__util_SchemaUtil__","__WEBPACK_IMPORTED_MODULE_2__BaseInput__","__WEBPACK_IMPORTED_MODULE_3__DeletableBox__","click .array-inputs-button","addNewElement","uniqueIdPrefix","_setArrayObject","arrayObject","_addDeletableBox","deletableBox","updatedValue","slideDown","array","times","__WEBPACK_IMPORTED_MODULE_4__util_Time__","isVowel","getArticle","click a","getPlaceholderText","errorExplain","getErrorExplainText","debounceDelay","_this6","_arguments","slideUp","parseFunc","clearInvalid","markInvalid","_x4","_parseInt2","num","__WEBPACK_IMPORTED_MODULE_3_vendor_plugins_jquery_custominput__","__WEBPACK_IMPORTED_MODULE_4__BaseInput__","change :checkbox","__WEBPACK_IMPORTED_MODULE_1__util_TemplateUtil__","__WEBPACK_IMPORTED_MODULE_2__TextBox__","toggleTemplate","__showPasswordToggle","showPasswordToggle","__showPassword","_this7","passwordToggleTimer","__hidePassword","elem","newAttrs","rinlinejQuery","specified","clearPlaceholder","$input","activeElement","setPlaceholder","$replacement","placeholder-password","placeholder-id","placeholder-textinput","prev","hooks","isInputSupported","createElement","isTextareaSupported","valHooks","textarea","focus.placeholder","blur.placeholder","element","$element","delegate","$inputs","__WEBPACK_IMPORTED_MODULE_5_vendor_plugins_jquery_custominput__","__WEBPACK_IMPORTED_MODULE_6__BaseInput__","RadioRadioOption","change :radio","templates","optionId","realName","global","core","redefine","$export","own","out","exp","IS_FORCED","F","IS_GLOBAL","G","IS_STATIC","S","IS_PROTO","P","IS_BIND","B","expProto","Function","U","W","R","FormType","BaseLoginController","BaseLoginModel","SimpleForm","INPUT","label-top","BUTTON","addOptions","DIVIDER","TOOLBAR","VIEW","appState","Footer","addFooter","addListeners","footer","back","it","Button","Divider","__g","API_RATE_LIMIT","WIDGET_CONTAINER_ID","WIDGET_CONFIG_COLORS_ID","DIRECTION_BACK","RECOVERY_TYPE_PASSWORD","RECOVERY_TYPE_UNLOCK","RECOVERY_FACTOR_TYPE_SMS","RECOVERY_FACTOR_TYPE_EMAIL","RECOVERY_FACTOR_TYPE_CALL","SUCCESS","FORGOT_PASSWORD_EMAIL_SENT","UNLOCK_ACCOUNT_EMAIL_SENT","CONFIG_ERROR","UNSUPPORTED_BROWSER_ERROR","OAUTH_ERROR","AUTH_STOP_POLL_INITIATION_ERROR","U2F_ERROR","WEB_AUTHN_ERROR","WEBAUTHN_ABORT_ERROR","ALL_OPTIONAL_NONE_ENROLLED","ALL_OPTIONAL_SOME_ENROLLED","HAS_REQUIRED_NONE_ENROLLED","HAS_REQUIRED_SOME_REQUIRED_ENROLLED","HAS_REQUIRED_ALL_REQUIRED_ENROLLED","PRIMARY_AUTH","FORGOT_PASSWORD","UNLOCK_ACCOUNT","SESSION_SSO","SESSION_STEP_UP","ACTIVATION_EMAIL_SENT","REGISTRATION_COMPLETE","REGISTRATION_FAILED","IDP_DISCOVERY","version","__e","store","uid","Symbol","USE_SYMBOL","toInteger","Q","Enums","idx","expandLanguage","language","expanded","buildInputForParameter","buildDynamicForm","splitOnFragment","splitOnQuery","targetUrl","setAttribute","queryPart","parameterParts","appendChild","hasTokensInHash","transformErrorXHR","errorMsg","errorCode","toLower","strings","expandLanguages","languages","callAfterTimeout","debugMessage","triggerAfterError","err","statusCode","win","redirectWithFormGet","redirectWithForm","mainContainer","getElementById","createInputExplain","explainKey","labelKey","explainParams","labelParams","isV1StateToken","token","startsWith","introspectToken","authClient","widgetOptions","trans","baseUrl","stateHandle","stateToken","tx","introspect","deferred","isPromiseAlike","then","resolve","catch","reject","promise","BrowserFeatures","inputmode","isIE","anObject","IE8_DOM_DEFINE","toPrimitive","dP","f","O","Attributes","defined","definition","bootstrap","uncurryThis","isStopIteration","exception","object_toString","QReturnValue","makeStackTraceLong","hasStacks","stack","STACK_JUMP_SEPARATOR","stacks","concatedStacks","filterStackString","stackString","lines","desiredLines","line","isInternalFrame","isNodeFrame","stackLine","getFileNameAndLineNumber","attempt1","Number","attempt2","attempt3","fileNameAndLineNumber","fileName","lineNumber","qFileName","qStartingLine","qEndingLine","captureLine","firstLine","Promise","coerce","fulfill","become","newPromise","resolvedPromise","array_reduce","messages","nextTick","promiseDispatch","progressListeners","object_create","op","operands","array_slice","valueOf","nearerValue","nearer","isPromise","inspect","longStackSupport","progress","progressListener","resolver","race","answerPs","len","descriptor","fallback","inspected","when","fulfilled","rejected","progressed","isFulfilled","isRejected","resetUnhandledRejections","unhandledReasons","unhandledRejections","trackUnhandledRejections","trackRejection","process","emit","runAfter","array_indexOf","reportedUnhandledRejections","untrackRejection","atReport","rejection","rhs","delete","post","thisp","object_keys","master","isDef","dispatch","spread","async","makeGenerator","continuer","verb","arg","StopIteration","generator","errback","spawn","_return","promised","promises","pendingCount","snapshot","any","current","onFulfilled","onRejected","onProgress","allResolved","array_map","allSettled","nodeify","nodeback","flush","task","head","enter","runSingle","laterQueue","flushing","isNodeJS","exit","tail","requestTick","setImmediate","MessageChannel","channel","port1","onmessage","requestPortTick","port2","postMessage","basis","collect","Type","object_hasOwnProperty","ReturnValue","env","Q_DEBUG","makeNodeResolver","passByCopy","that","makePromise","_fulfilled","_rejected","newException","_progressed","newValue","threw","onerror","tap","fcall","thenResolve","thenReject","getUnhandledReasons","stopUnhandledRejectionTracking","del","mapply","send","mcall","fapply","fbind","alternative","regardless","fin","onUnhandledError","timeout","ms","nfapply","nodeArgs","nfcall","nfbind","denodeify","baseArgs","nbind","bound","nmapply","npost","nsend","nmcall","ninvoke","TimeUtil","factorData","OKTA_VERIFY","iconClassName","sortOrder","OKTA_VERIFY_PUSH","U2F","brandName","WEBAUTHN","WINDOWS_HELLO","YUBIKEY","GOOGLE_AUTH","CUSTOM_HOTP","SMS","CALL","QUESTION","DUO","SYMANTEC_VIP","RSA_SECURID","ON_PREM","PASSWORD","CUSTOM_CLAIMS","GENERIC_SAML","GENERIC_OIDC","getFactorName","provider","factorType","getFactorNameForFactorType","isOktaVerify","getFactorLabel","getFactorDescription","descriptionKey","getFactorIconClassName","getFactorSortOrder","getRememberDeviceValue","getSecurityQuestionLabel","questionObj","localizedQuestion","question","questionText","getPasswordComplexityDescription","policy","complexity","complexityFields","i18n","minLowerCase","minUpperCase","minNumber","minSymbol","excludeUsername","excludeFirstName","excludeLastName","policyComplexity","excludeAttributes","requirements","complexityValue","complexityType","requirement","age","historyCount","minAgeMinutes","displayableTime","getTimeInHighestRelevantUnit","minAgeDescription","propertiesString","unit","getCardinalityText","enrolled","cardinality","findFactorInFactorsArray","factors","factor","findWhere","click .js-back","doTransaction","transaction","IS_WRAP","C","b","virtual","OAuth2Util","Errors","ErrorCodes","verifyUrlTpl","verifyUrlMultipleTpl","verifyUrlNoProviderTpl","enrollFactorUrlTpl","activateFactorUrlTpl","recoveryUrlTpl","refreshUrlTpl","sessionCookieRedirectTpl","isHostBackgroundChromeTab","userAgent","isDocumentVisible","visibilityState","createVerifyUrl","factorIndex","createEnrollFactorUrl","createActivateFactorUrl","createRecoveryUrl","recoveryToken","createRefreshUrl","routeAfterAuthStatusChangeError","corsIsNotEnabled","callGlobalError","UnsupportedBrowserError","INVALID_TOKEN_EXCEPTION","routeAfterAuthStatusChange","clearLastAuthResponse","setAuthResponse","trapAuthResponse","handleResponseStatus","recoveryType","getTokens","sessionToken","successData","user","_embedded","relayState","redirectFn","nextUrl","_links","original","stepUp","finish","session","setCookieAndRedirect","redirectUrl","addEventListener","checkVisibilityAndCallSuccess","removeEventListener","callGlobalSuccess","lastFailedChallengeFactorData","lastUsedFactor","getDefaultFactor","clearLastFailedChallengeFactorData","setLastFailedChallengeFactorData","activateUrl","fromEmail","isForgotPassword","isUnlock","defaultFactor","factorURL","createDesc","SRC","$toString","TPL","inspectSource","safe","fails","quot","createHTML","tag","attribute","p1","_okta","_FormInputFactory","_FormInputFactory2","uiSchemas","getUISchema","FormInputFactory","addCallouts","addInputOrView","saveForm","currentViewState","uiSchema","warningMsgs","messageCallout","IObject","pIE","toIObject","gOPD","getOwnPropertyDescriptor","toObject","IE_PROTO","ObjectProto","getPrototypeOf","ConfigError","OAuthError","RegistrationError","AuthStopPollInitiationError","U2FError","WebAuthnError","WebauthnAbortError","aFunction","ceil","_BaseHeader","_BaseHeader2","_BaseFooter","_BaseFooter2","Header","BaseHeader","Body","BaseForm","BaseFooter","IonModel","createModelClass","formName","KEY","toLength","asc","TYPE","$create","IS_MAP","IS_FILTER","IS_SOME","IS_EVERY","IS_FIND_INDEX","NO_HOLES","callbackfn","LIBRARY","$typed","$buffer","anInstance","propertyDesc","redefineAll","toIndex","toAbsoluteIndex","classof","isArrayIter","gOPN","getIterFn","wks","createArrayMethod","createArrayIncludes","speciesConstructor","ArrayIterators","Iterators","$iterDetect","setSpecies","arrayFill","arrayCopyWithin","$DP","$GOPD","RangeError","Uint8Array","ArrayProto","$ArrayBuffer","ArrayBuffer","$DataView","DataView","arrayForEach","arrayFilter","arraySome","arrayEvery","arrayFind","arrayFindIndex","arrayIncludes","arrayIndexOf","arrayValues","arrayKeys","arrayEntries","entries","arrayLastIndexOf","arrayReduce","arrayReduceRight","reduceRight","arrayJoin","arraySort","sort","arraySlice","arrayToString","arrayToLocaleString","toLocaleString","ITERATOR","TAG","TYPED_CONSTRUCTOR","DEF_CONSTRUCTOR","ALL_CONSTRUCTORS","CONSTR","TYPED_ARRAY","TYPED","$map","allocate","LITTLE_ENDIAN","Uint16Array","buffer","FORCED_SET","toOffset","BYTES","speciesFromList","list","fromList","addGetter","_d","$from","iterator","aLen","mapfn","mapping","iterFn","$of","TO_LOCALE_BUG","$toLocaleString","copyWithin","fill","predicate","searchElement","includes","separator","middle","comparefn","subarray","begin","end","$begin","byteOffset","BYTES_PER_ELEMENT","$slice","$set","arrayLike","$iterators","isTAIndex","$getDesc","$setDesc","desc","writable","$TypedArrayPrototype$","wrapper","CLAMPED","GETTER","SETTER","TypedArray","Base","TAC","FORCED","ABV","TypedArrayPrototype","v","setter","addElement","$offset","$length","byteLength","$len","iter","$nativeIterator","CORRECT_ITER_NAME","$iterator","of","Map","shared","getOrCreateMetadataMap","targetKey","targetMetadata","keyMetadata","ordinaryHasOwnMetadata","MetadataKey","metadataMap","ordinaryGetOwnMetadata","ordinaryDefineOwnMetadata","MetadataValue","ordinaryOwnMetadataKeys","toMetaKey","linkClassName","linkText","META","setDesc","isExtensible","FREEZE","preventExtensions","setMeta","fastKey","getWeak","onFreeze","meta","NEED","UNSCOPABLES","deprecate","hasFullCorsSupport","XMLHttpRequest","hasXDomainRequest","XDomainRequest","corsIsNotSupported","jqXhr","localStorageIsNotSupported","localStorage","setItem","removeItem","supportsPushState","pushState","isFirefox","isEdge","isSafari","isMac","platform","getUserLanguages","_Link","_Link2","actionPath","Link","bitmap","px","$keys","enumBugKeys","dPs","Empty","createDict","iframeDocument","iframe","display","contentWindow","open","lt","close","Properties","hiddenKeys","getOwnPropertyNames","DESCRIPTORS","SPECIES","Constructor","forbiddenField","BREAK","iterable","_t","def","stat","cof","ARG","tryGet","T","callee","spaces","space","non","ltrim","rtrim","exporter","ALIAS","FORCE","getForm","disableSubmitButton","toggleButtonState","setTransactionHandler","transactionErrorHandler","totpModel","fetchInitialData","postRenderAnimation","page","mode","copyright","propertyIsEnumerable","ignoreCase","multiline","unicode","sticky","D","_iterator","_iterator2","_symbol","_symbol2","_typeof","$at","iterated","point","KNOWN_ERRORS","rethrow","manageTransaction","setTransaction","startTransaction","getAuthClient","_freeze","_freeze2","FidoUtil","adaptToOkta","makeCredential","accountInfo","cryptoParams","challenge","algorithm","msCredentials","cred","credential","publicKey","attestation","getAssertion","allowList","accept","filters","signature","clientData","authenticatorData","authnrData","isAvailable","isNewApiAvailable","credentials","isWebauthnOrU2fAvailable","isU2fAvailable","validateUsername","username","validateFieldsMatch","field1","field2","ret","validatePasswordMatch","_HeaderBeaconFactor","_HeaderBeaconFactor2","BaseView","HeaderBeacon","HeaderBeaconFactor","g","eval","IS_INCLUDES","fromIndex","getOwnPropertySymbols","TO_STRING","charCodeAt","MATCH","isRegExp","SAFE_CLOSING","riter","skipClosing","builtinExec","regexpExec","REPLACE_SUPPORTS_NAMED_GROUPS","groups","SPLIT_WORKS_WITH_OVERWRITTEN_EXEC","originalExec","SYMBOL","DELEGATES_TO_SYMBOL","DELEGATES_TO_EXEC","execCalled","nativeRegExpMethod","fns","nativeMethod","regexp","arg2","forceStringMethod","strfn","rxfn","forOf","setToStringTag","inheritIfRequired","common","IS_WEAK","ADDER","fixMethod","instance","HASNT_CHAINING","THROWS_ON_PRIMITIVES","ACCEPT_ITERABLES","BUGGY_ZERO","$instance","getConstructor","setStrong","Typed","TypedArrayConstructors","K","__defineSetter__","COLLECTION","A","mapFn","nextItem","TO_STRING_TAG","DOMIterables","noGlobal","isArrayLike","isWindow","winnow","elements","qualifier","grep","nodeType","risSimple","inArray","sibling","cur","createOptions","rnotwhite","flag","detach","completed","detachEvent","readyState","ready","dataAttr","rmultiDash","rbrace","parseJSON","isEmptyDataObject","isEmptyObject","internalData","pvt","acceptData","thisCache","internalKey","expando","isNode","deletedIds","guid","camelCase","internalRemoveData","cleanData","support","deleteExpando","adjustCSS","valueParts","tween","adjusted","scale","maxIterations","currentValue","initial","cssNumber","initialInUnit","rcssNum","createSafeFragment","nodeNames","safeFrag","createDocumentFragment","getAll","elems","getElementsByTagName","querySelectorAll","merge","setGlobalEval","refElements","_data","fixDefaultChecked","rcheckableType","defaultChecked","checked","buildFragment","scripts","selection","ignored","tmp","tbody","nodes","rhtml","rtagName","wrapMap","_default","htmlPrefilter","lastChild","leadingWhitespace","rleadingWhitespace","createTextNode","rtbody","firstChild","removeChild","textContent","appendChecked","ownerDocument","rscriptType","returnTrue","returnFalse","safeActiveElement","types","origFn","manipulationTarget","disableScript","restoreScript","rscriptTypeMasked","removeAttribute","cloneCopyEvent","dest","hasData","oldData","curData","handle","fixCloneNodeIssues","noCloneEvent","removeEvent","parentNode","outerHTML","html5Clone","defaultSelected","domManip","node","hasScripts","doc","iNoClone","checkClone","rchecked","eq","_evalUrl","globalEval","rcleanScript","keepData","actualDisplay","appendTo","body","defaultDisplay","elemdisplay","documentElement","contentDocument","addGetHookIf","conditionFn","hookFn","vendorPropName","emptyStyle","capName","cssPrefixes","showHide","isHidden","setPositiveNumber","subtract","rnumsplit","augmentWidthOrHeight","extra","isBorderBox","cssExpand","getWidthOrHeight","valueIsBorderBox","offsetHeight","getStyles","boxSizing","curCSS","rnumnonpx","boxSizingReliable","Tween","easing","createFxNow","fxNow","now","genFx","includeWidth","opacity","createTween","animation","Animation","tweeners","defaultPrefilter","oldfire","anim","orig","dataShow","queue","_queueHooks","unqueued","fire","always","overflow","overflowX","overflowY","inlineBlockNeedsLayout","zoom","shrinkWrapBlocks","rfxtypes","_removeData","propFilter","specialEasing","cssHooks","expand","stopped","prefilters","Deferred","tick","currentTime","remaining","startTime","duration","temp","percent","tweens","run","notifyWith","resolveWith","originalProperties","originalOptions","gotoEnd","rejectWith","proxy","fx","timer","complete","getClass","addToPrefiltersOrTransports","structure","dataTypeExpression","dataTypes","inspectPrefiltersOrTransports","jqXHR","prefilterOrFactory","dataTypeOrTransport","seekingTransport","transports","ajaxExtend","deep","flatOptions","ajaxSettings","ajaxHandleResponses","responses","firstDataType","ct","finalDataType","contents","mimeType","ajaxConvert","response","isSuccess","conv2","conv","responseFields","dataFilter","getDisplay","filterHidden","buildParams","traditional","rbracket","createStandardXHR","createActiveXHR","ActiveXObject","getWindow","defaultView","parentWindow","class2type","hasOwn","rmsPrefix","rdashAlpha","fcamelCase","jquery","pushStack","prevObject","copyIsArray","copy","isReady","isNumeric","realStringObj","ownFirst","execScript","makeArray","second","invert","callbackExpect","Sizzle","seed","nid","nidselect","newSelector","newContext","preferredDoc","setDocument","documentIsHTML","rquickExpr","getElementsByClassName","qsa","compilerCache","rbuggyQSA","rescape","tokenize","ridentifier","toSelector","rsibling","testContext","qsaError","createCache","Expr","cacheLength","markFunction","addHandle","handler","attrHandle","siblingCheck","diff","sourceIndex","MAX_NEGATIVE","nextSibling","createPositionalPseudo","argument","matchIndexes","setFilters","tokens","addCombinator","combinator","base","checkNonElements","doneName","xml","oldCache","uniqueCache","outerCache","newCache","dirruns","uniqueID","elementMatcher","matchers","multipleContexts","contexts","condense","unmatched","newUnmatched","mapped","setMatcher","preFilter","postFilter","postFinder","postSelector","preMap","postMap","preexisting","matcherIn","matcherOut","matcherFromTokens","checkContext","leadingRelative","relative","implicitRelative","matchContext","matchAnyContext","outermostContext","matcherFromGroupMatchers","elementMatchers","setMatchers","bySet","byElement","superMatcher","outermost","matchedCount","setMatched","contextBackup","dirrunsUnique","uniqueSort","getText","isXML","sortInput","hasDuplicate","docElem","rbuggyMatches","classCache","tokenCache","push_native","booleans","whitespace","identifier","pseudos","rwhitespace","rcomma","rcombinators","rattributeQuotes","rpseudo","matchExpr","ID","CLASS","ATTR","PSEUDO","CHILD","needsContext","rinputs","rheader","rnative","runescape","funescape","escaped","escapedWhitespace","fromCharCode","unloadHandler","els","hasCompare","attachEvent","createComment","getById","getElementsByName","attrId","getAttributeNode","matchesSelector","webkitMatchesSelector","mozMatchesSelector","oMatchesSelector","msMatchesSelector","disconnectedMatch","compareDocumentPosition","adown","bup","compare","sortDetached","aup","ap","bp","expr","duplicates","detectDuplicates","sortStable","nodeValue","selectors","createPseudo",">"," ","+","~","excess","unquoted","nodeNameSelector","operator","check","what","simple","forward","ofType","nodeIndex","useCache","pseudo","matched","innerText","lang","elemLang","hasFocus","tabIndex","button","even","odd","gt","radio","checkbox","file","parseOnly","soFar","preFilters","cached","compiled","div1","isXMLDoc","until","truncate","rneedsContext","rsingleTag","rootjQuery","parseHTML","rparentsprev","guaranteedUnique","targets","addBack","parentsUntil","nextUntil","prevUntil","Callbacks","firing","memory","fired","locked","firingIndex","once","stopOnFalse","lock","fireWith","tuples","newDefer","tuple","returned","pipe","stateString","subordinate","progressValues","progressContexts","resolveContexts","resolveValues","updateFunc","readyList","readyWait","holdReady","hold","wait","triggerHandler","doScroll","frameElement","doScrollCheck","noData","applet ","embed ","object ","removeData","dequeue","startLength","clearQueue","count","shrinkWrapBlocksVal","pnum","access","chainable","emptyGet","raw","bulk","htmlSerialize","cloneNode","noCloneChecked","legend","area","thead","tr","col","td","optgroup","tfoot","colgroup","caption","th","change","focusin","rformElems","rkeyEvent","rmouseEvent","rfocusMorph","rtypenamespace","t","handleObjIn","special","eventHandle","handleObj","handlers","namespaces","origType","elemData","triggered","delegateType","bindType","namespace","delegateCount","mappedTypes","origCount","teardown","onlyHandlers","ontype","bubbleType","eventPath","Event","isTrigger","rnamespace","noBubble","isPropagationStopped","isDefaultPrevented","fix","handlerQueue","delegateTarget","preDispatch","isImmediatePropagationStopped","postDispatch","sel","fixHook","fixHooks","mouseHooks","keyHooks","srcElement","charCode","eventDoc","fromElement","pageX","scrollLeft","clientLeft","pageY","clientTop","relatedTarget","toElement","load","beforeunload","returnValue","simulate","isSimulated","defaultPrevented","timeStamp","cancelBubble","stopImmediatePropagation","pointerenter","pointerleave","related","_submitBubble","propertyName","_justChanged","attaches","rnoshimcache","rxhtmlTag","rnoInnerhtml","safeFragment","fragmentDiv","dataAndEvents","deepDataAndEvents","destElements","srcElements","inPage","forceAcceptData","insertBefore","replaceWith","replaceChild","prependTo","insertAfter","replaceAll","insert","HTML","BODY","rmargin","swap","old","computeStyleTests","divStyle","pixelPositionVal","boxSizingReliableVal","reliableMarginLeftVal","pixelMarginRightVal","reliableMarginRightVal","getComputedStyle","marginLeft","marginRight","reliableHiddenOffsetsVal","getClientRects","borderCollapse","cssFloat","backgroundClip","clearCloneStyle","MozBoxSizing","WebkitBoxSizing","reliableHiddenOffsets","pixelMarginRight","pixelPosition","reliableMarginRight","reliableMarginLeft","rposition","opener","computed","minWidth","maxWidth","getPropertyValue","currentStyle","rs","rsLeft","runtimeStyle","pixelLeft","ralpha","ropacity","rdisplayswap","cssShow","visibility","cssNormalTransform","letterSpacing","fontWeight","animationIterationCount","columnCount","fillOpacity","flexGrow","flexShrink","lineHeight","order","orphans","widows","zIndex","cssProps","origName","$1","getBoundingClientRect","margin","padding","border","suffix","propHooks","eased","linear","swing","cos","PI","timerId","rrun","*","tweener","prefilter","speed","opt","speeds","fadeTo","optall","doAnimation","stopQueue","timers","cssFn","slideToggle","fadeIn","fadeToggle","interval","slow","fast","getSetAttribute","hrefNormalized","checkOn","optSelected","enctype","optDisabled","radioValue","rreturn","rspaces","optionSet","scrollHeight","nodeHook","boolHook","ruseDefault","getSetInput","nType","attrHooks","attrNames","propFix","setAttributeNode","createAttribute","coords","contenteditable","rfocusable","rclickable","removeProp","tabindex","for","rclass","curValue","clazz","finalValue","stateVal","classNames","fnOver","fnOut","nonce","rquery","rvalidtokens","requireNonComma","depth","comma","parseXML","DOMParser","parseFromString","loadXML","rhash","rts","rheaders","rlocalProtocol","rnoContent","rprotocol","rurl","allTypes","ajaxLocation","ajaxLocParts","active","lastModified","etag","isLocal","processData","contentType","accepts","* text","text html","text json","text xml","ajaxPrefilter","ajaxTransport","ajax","nativeStatusText","headers","modified","statusText","timeoutTimer","transport","responseHeadersString","ifModified","cacheURL","callbackContext","fireGlobals","globalEventContext","completeDeferred","responseHeaders","requestHeaders","requestHeadersNames","strAbort","getAllResponseHeaders","lname","overrideMimeType","finalText","crossDomain","hasContent","getScript","throws","wrapInner","unwrap","r20","rCRLF","rsubmitterTypes","rsubmittable","serialize","serializeArray","xhrId","xhrCallbacks","xhrSupported","cors","xhrFields","isAbort","onreadystatechange","script","text script","scriptCharset","charset","onload","oldCallbacks","rjsonp","jsonp","jsonpCallback","originalSettings","callbackName","overwritten","responseContainer","jsonProp","keepScripts","_load","animated","setOffset","curPosition","curLeft","curCSSTop","curTop","curOffset","curCSSLeft","calculatePosition","curElem","using","box","pageYOffset","pageXOffset","offsetParent","parentOffset","scrollTo","Height","Width","","defaultExtra","funcName","undelegate","andSelf","_jQuery","_$","__OKTA_EXPORT_JQUERY__","login","country","parseOverrides","i18nWithLowerCaseKeys","mapObject","getCachedLanguages","storage","getItem","STORAGE_KEY","addLanguageToCache","loginJson","countryJson","fetchJsonp","assets","languageCode","rewrite","bundlePathTpl","getBundles","supportedLanguages","localStorageIsSupported","courage","currentLanguage","isLoaded","loadLanguage","overrides","parsedOverrides","lowerCaseLanguage","bundles","factorUtil","Factor","enrollment","vendorName","profiles","answer","backupFactor","showAnswer","rememberDevice","autoPush","isOktaFactor","factorName","factorLabel","factorDescription","securityQuestion","phoneNumber","deviceName","enrolledFactors","adoption","additionalEnrollment","canUseResend","isAnswerRequired","isFactorTypeVerification","setCustomHotpVendorName","needsPasscode","resend","firstLink","passCode","pushFactorHasAutoPush","_findFactor","verify","transactionCallBack","poll","initiatePollTimout","listenToOnce","factorTypes","enrolledProfiles","Factors","comparator","totpFactor","oktaPushFactor","isTotpFirst","parsedFactors","isOkta","isOktaTotp","isOktaPush","notEnrolled","hideOktaTotp","hideOktaPush","getFirstUnenrolledRequiredFactor","_getFactorsOfType","getFactorIndex","factorId","hasMultipleFactorsOfSameType","getFactorByTypeAndIndex","text-indent","rotate","swapPages","$parent","$oldRoot","$newRoot","directionClassName","SWAP_PAGE_TIME","swapBeacons","implode","explode","radialProgressBar","circles","clip","leftHalf","transform","wksExt","$Symbol","setPrototypeOf","buggy","__proto__","sign","$expm1","expm1","$iterCreate","BUGGY","returnThis","DEFAULT","IS_SET","IteratorPrototype","getMethod","kind","DEF_VALUES","VALUES_BUG","$native","$default","$entries","$anyNative","searchString","$defineProperty","getIteratorMethod","endPos","addToUnscopables","_k","Arguments","regexpFlags","nativeExec","nativeReplace","patchedExec","UPDATES_LAST_INDEX_WRONG","re1","re2","NPCG_INCLUDED","lastIndex","reCopy","port","cel","setTask","clearTask","clearImmediate","Dispatch","counter","listener","importScripts","macrotask","Observer","MutationObserver","WebKitMutationObserver","standalone","observe","characterData","PromiseCapability","$$resolve","$$reject","packIEEE754","mLen","nBytes","eLen","eMax","eBias","rt","pow","abs","LN2","unpackIEEE754","nBits","NaN","unpackI32","bytes","packI8","packI16","packI32","packF64","packF32","PROTOTYPE","isLittleEndian","numIndex","intIndex","$LENGTH","WRONG_INDEX","$BUFFER","_b","$OFFSET","pack","conversion","BaseBuffer","ArrayBufferProto","$setInt8","setInt8","getInt8","setUint8","bufferLength","getUint8","getInt16","getUint16","getInt32","getUint32","getFloat32","getFloat64","setInt16","setUint16","setInt32","setUint32","setFloat32","setFloat64","createReduce","iteratee","currentKey","optimizeCb","createPredicateIndexFinder","getLength","createIndexFinder","predicateFind","sortedIndex","collectNonEnumProps","nonEnumIdx","nonEnumerableProps","ObjProto","previousUnderscore","FuncProto","nativeIsArray","nativeKeys","nativeBind","nativeCreate","Ctor","_wrapped","VERSION","argCount","other","accumulator","createAssigner","keysFunc","undefinedOnly","baseCreate","MAX_ARRAY_INDEX","foldl","inject","foldr","detect","negate","include","guard","isFunc","lastComputed","shuffle","shuffled","sample","sortBy","criteria","right","behavior","groupBy","indexBy","countBy","partition","pass","take","drop","shallow","strict","startIndex","isArguments","difference","isSorted","isBoolean","seen","argsLength","zip","unzip","findLastIndex","low","mid","range","executeBound","sourceFunc","boundFunc","callingContext","boundArgs","bindAll","hasher","address","previous","later","leading","immediate","timestamp","callNow","compose","hasEnumBug","functions","extendOwn","assign","oiteratee","interceptor","isMatch","aStack","bStack","areArrays","aCtor","bCtor","isElement","Int8Array","propertyOf","accum","getTime","escapeMap","&","<","\"","'","`","unescapeMap","createEscaper","escaper","testRegexp","replaceRegexp","unescape","idCounter","templateSettings","evaluate","interpolate","noMatch","escapes","\\","\r","\n","
","
","escapeChar","oldSettings","variable","_chain","hasResponseType","responseType","oauthParams","authParams","popupTitle","oAuthTimeout","getWithRedirect","getWithoutPrompt","getWithPopup","addOrRemoveOpenIdScope","scopes","getResponseType","getIdToken","getAccessToken","transformShowSignInToGetTokensOptions","clientId","renderOptions","redirectUri","issuer","authorizationServerId","responseMode","_id","img","plugins","E","onTooltip","lastClass","destroyed","waiting","hiddenDuringWait","positioning","triggering","h","sanitize","checks","k","V","aa","inactive","reposition","q","r","solo","overwrite","suppress","ca","va","ua","u","_ns","z","H","I","J","L","M","N","X","Y","Z","ba","da","ie","iOS","_when","posClass","_createPosClass","tracking","role","aria-live","aria-atomic","aria-describedby","aria-hidden","_createTitle","_updateTitle","_createButton","_updateContent","_setWidget","_unassignEvents","_assignEvents","_trigger","destroy","builtin","^id$","nextid","^prerender","^content.text$","^content.attr$","^content.title$","_removeTitle","^content.button$","_updateButton","^content.title.(text|button)$","^position.(my|at)$","^position.container$","^show.ready$","^style.classes$","^style.(width|height)","^style.widget|content.title","^style.def","^events.(render|show|move|hide|focus|blur)$","^(show|hide|position).(event|target|fixed|inactive|leave|distance|viewport|adjust)","precedance","ea","fa","_update","_waitForContent","imagesLoaded","titlebar","widget","abbrev","distance","origin","innerWidth","clientWidth","scrollX","scrollY","innerHeight","imagemap","svg","ownerSVGElement","adjustable","effect","compatMode","ga","Corner","forceY","_storeMouse","autofocus","zindex","_bind","_unbind","_bindEvents","_assignInitialEvents","prerender","onTarget","leave","inactiveEvents","ui","move","ha","ia","ja","ka","la","ma","na","oa","pa","qa","ra","sa","getContext","ta","devicePixelRatio","backingStorePixelRatio","webkitBackingStorePixelRatio","mozBackingStorePixelRatio","msBackingStorePixelRatio","oBackingStorePixelRatio","tip","lineJoin","miterLimit","_swapDimensions","_resetDimensions","_useTitle","_parseCorner","_parseWidth","_parseRadius","_invalidColour","_parseColours","_calculateSize","sqrt","_calculateTip","br","bl","tl","tc","bc","rc","lc","lb","rb","_drawCoords","beginPath","moveTo","lineTo","closePath","corner","mimic","color","restore","clearRect","fillStyle","translate","coordsize","antialias","fillcolor","filled","stroked","opera","calculate","bottom","cornerTop","cornerLeft","^position.my|style.tip.(corner|mimic|border)$","^style.tip.(height|width)$","^content.title|style.(classes|widget)$","wa","xa","ya","za","focusable","modal","stealfocus","overlay","modal_zindex","^show.modal.(on|blur)$","polys","polygon","rect","_angles","ellipse","sin","circle","getBBox","cx","baseVal","cy","rx","ry","points","x1","y1","x2","y2","numberOfItems","createSVGPoint","getScreenCTM","matrixTransform","Aa","_scroll","bgiframe","adjustBGIFrame","redrawContainer","redraw","drawing","ie6","^content|style$","getUserAgent","isAndroid","isMessageFromCorrectSource","$iframe","generateDeviceFingerprint","oktaDomainUrl","removeIframe","onMessageReceivedFromOkta","handleError","sendMessageToOkta","fingerprint","CookieUtil","cookieUsername","getCookieUsername","getUsernameAndRemember","lastUsername","remember","multiOptionalFactorEnroll","settingsUsername","rememberMeEnabled","transformUsername","setUsernameCookie","primaryAuthPromise","signInArgs","getSignInArgs","doPrimaryAuth","authenticate","signIn","removeUsernameCookie","warnBeforePasswordExpired","deviceFingerprintEnabled","typingPatternEnabled","click .help","getU2fEnrollErrorMessageKeyByCode","getU2fVerifyErrorMessageKeyByCode","isOneFactor","getU2fEnrollErrorMessageByCode","getU2fVerifyErrorMessageByCode","getU2fVersion","getStringHash","base64UrlSafeToBase64","binToStr","bin","btoa","byte","strToBin","atob","countryCallingCodes","getCountries","countries","sorted","getCallingCodeForCountry","countryCode","FactorUtil","RouterUtil","click [data-type=\"manual-setup\"]","enroll","click [data-type=\"refresh-qrcode\"]","activate","factorResult","instructions","qrcode","getKeys","defineProperties","windowNames","getWindowNames","gOPS","$assign","getSymbols","isEnum","factories","construct","partArgs","un","$parseInt","$trim","ws","hex","radix","$parseFloat","log1p","EPSILON","EPSILON32","MAX32","MIN32","roundTiesToEven","fround","$abs","$sign","isRight","inc","forced","newPromiseCapability","promiseCapability","strong","entry","getEntry","$iterDefine","SIZE","_f","_l","InternalMap","weak","NATIVE_WEAK_MAP","IS_IE11","uncaughtFrozenStore","ufstore","$WeakMap","$has","UncaughtFrozenStore","findUncaughtFrozen","Reflect","ownKeys","flattenIntoArray","sourceLen","mapper","thisArg","spreadable","targetIndex","IS_CONCAT_SPREADABLE","repeat","fillString","stringLength","fillStr","intMaxLength","fillLen","stringFiller","isEntries","inLow","inHigh","outLow","outHigh","$fails","wksDefine","enumKeys","_create","gOPNExt","$GOPS","$JSON","stringify","HIDDEN","TO_PRIMITIVE","SymbolRegistry","AllSymbols","OPSymbols","USE_NATIVE","QObject","findChild","setSymbolDesc","protoDesc","sym","isSymbol","$defineProperties","$propertyIsEnumerable","$getOwnPropertyDescriptor","$getOwnPropertyNames","$getOwnPropertySymbols","IS_OP","es6Symbols","wellKnownSymbols","keyFor","useSetter","useSimple","FAILS_ON_PRIMITIVES","replacer","$replacer","loaded","hb","_handlebarsCompilerCompiler","precompile","AST","_handlebarsCompilerAst2","Compiler","JavaScriptCompiler","_handlebarsCompilerJavascriptCompiler2","Parser","_handlebarsCompilerBase","parseWithoutProcessing","_handlebarsRuntime","_handlebarsRuntime2","_handlebarsCompilerAst","_handlebarsCompilerJavascriptCompiler","_handlebarsCompilerVisitor","_handlebarsCompilerVisitor2","_handlebarsNoConflict","_handlebarsNoConflict2","inst","Visitor","HandlebarsEnvironment","_handlebarsSafeString2","Exception","_handlebarsException2","VM","runtime","spec","_interopRequireWildcard","_handlebarsBase","_handlebarsSafeString","_handlebarsException","_handlebarsUtils","newObj","partials","decorators","_helpers","registerDefaultHelpers","_decorators","registerDefaultDecorators","_utils","_exception","_exception2","_logger","_logger2","_internalProtoAccess","COMPILER_REVISION","LAST_COMPATIBLE_COMPILER_REVISION","REVISION_CHANGES","1","2","3","4","5","6","7","8","logger","unregisterHelper","registerPartial","unregisterPartial","registerDecorator","unregisterDecorator","resetLoggedPropertyAccesses","resetLoggedProperties","createFrame","chr","toHTML","possible","badChars","frame","_parent","blockParams","ids","appendContextPath","contextPath","=","endLineNumber","column","endColumn","errorProps","captureStackTrace","_Object$defineProperty","nop","$Object","getProto","getDesc","setDescs","getNames","_helpersBlockHelperMissing2","_helpersEach2","_helpersHelperMissing2","_helpersIf2","_helpersLog2","_helpersLookup2","_helpersWith2","moveHelperToHooks","helperName","keepHelper","_helpersBlockHelperMissing","_helpersEach","_helpersHelperMissing","_helpersIf","_helpersLog","_helpersLookup","_helpersWith","inverse","_Object$keys","execIteration","priorKey","conditional","includeZero","lookupProperty","_decoratorsInline2","_decoratorsInline","methodMap","lookupLevel","levelMap","_key","createProtoAccessControl","runtimeOptions","defaultMethodWhiteList","_Object$create","defaultPropertyWhiteList","whitelist","_createNewLookupObject","createNewLookupObject","allowedProtoProperties","allowProtoPropertiesByDefault","allowedProtoMethods","allowProtoMethodsByDefault","resultIsAllowed","protoAccessControl","checkWhiteList","protoAccessControlForType","logUnexpecedPropertyAccessOnce","loggedProperties","sources","checkRevision","compilerInfo","compilerRevision","currentRevision","_base","runtimeVersions","compilerVersions","templateSpec","invokePartialWrapper","resolvePartial","extendedOptions","invokePartial","compilerOptions","indent","main","depths","_setup","useData","initData","useBlockParams","useDepths","executeDecorators","decorator","main_d","compiler","templateWasPrecompiledWithCompilerV7","lookup","lambda","programs","program","declaredBlockParams","programWrapper","wrapProgram","mergeIfNeeded","nullContext","_Object$seal","isTop","mergedHelpers","wrapHelpersToPassLookupProperty","usePartial","useDecorators","keepHelperInHelpers","allowCallsToHelperMissing","_child","prog","currentDepths","currentPartialBlock","partialBlock","helper","passLookupPropertyOption","_internalWrapHelper","wrapHelper","seal","$seal","transformOptionsFn","$Handlebars","helperExpression","scopedId","simpleId","_parser2","yy","locInfo","SourceLocation","srcName","ast","_whitespaceControl2","_parser","_whitespaceControl","Helpers","handlebars","symbols_","EOF","program_repetition0","statement","mustache","block","rawBlock","COMMENT","CONTENT","openRawBlock","rawBlock_repetition0","END_RAW_BLOCK","OPEN_RAW_BLOCK","openRawBlock_repetition0","openRawBlock_option0","CLOSE_RAW_BLOCK","openBlock","block_option0","closeBlock","openInverse","block_option1","OPEN_BLOCK","openBlock_repetition0","openBlock_option0","openBlock_option1","CLOSE","OPEN_INVERSE","openInverse_repetition0","openInverse_option0","openInverse_option1","openInverseChain","OPEN_INVERSE_CHAIN","openInverseChain_repetition0","openInverseChain_option0","openInverseChain_option1","inverseAndProgram","INVERSE","inverseChain","inverseChain_option0","OPEN_ENDBLOCK","OPEN","mustache_repetition0","mustache_option0","OPEN_UNESCAPED","mustache_repetition1","mustache_option1","CLOSE_UNESCAPED","OPEN_PARTIAL","partialName","partial_repetition0","partial_option0","openPartialBlock","OPEN_PARTIAL_BLOCK","openPartialBlock_repetition0","openPartialBlock_option0","sexpr","OPEN_SEXPR","sexpr_repetition0","sexpr_option0","CLOSE_SEXPR","hash_repetition_plus0","hashSegment","EQUALS","OPEN_BLOCK_PARAMS","blockParams_repetition_plus0","CLOSE_BLOCK_PARAMS","dataName","UNDEFINED","NULL","DATA","pathSegments","SEP","$accept","$end","terminals_","14","15","18","19","23","29","33","34","39","44","47","48","51","54","55","60","65","68","72","73","75","77","80","81","82","83","84","85","87","productions_","performAction","yytext","yyleng","yylineno","yystate","$$","$0","prepareProgram","stripComment","strip","stripFlags","prepareRawBlock","prepareBlock","chained","prepareMustache","preparePartialBlock","preparePath","table","9","10","11","12","13","16","24","27","59","20","78","79","86","17","56","64","49","52","25","38","43","45","28","57","26","30","35","21","61","50","63","69","70","71","53","58","66","31","36","22","62","46","40","67","32","74","37","41","76","42","defaultActions","90","101","104","110","111","116","119","122","135","136","parseError","vstack","lstack","recovering","lexer","setInput","yylloc","yyloc","ranges","symbol","preErrorSymbol","newState","expected","yyval","lex","errStr","showPosition","first_line","last_line","first_column","last_column","_input","_more","_less","conditionStack","ch","unput","oldLines","more","less","pastInput","past","upcomingInput","pre","tempMatch","rules","_currentRules","flex","condition","popState","conditions","topState","yy_","$avoiding_name_collisions","YY_START","mu","inclusive","emu","com","INITIAL","WhitespaceControl","isPrevWhitespace","isRoot","isNextWhitespace","omitRight","rightStripped","omitLeft","leftStripped","_visitor","_visitor2","Program","doStandalone","ignoreStandalone","isRootSeen","_isPrevWhitespace","_isNextWhitespace","openStandalone","closeStandalone","inlineStandalone","BlockStatement","DecoratorBlock","PartialBlockStatement","firstInverse","lastInverse","openStrip","closeStrip","inverseStrip","Decorator","MustacheStatement","PartialStatement","CommentStatement","visitSubExpression","acceptRequired","acceptArray","acceptKey","visitBlock","visitPartial","mutating","ContentStatement","SubExpression","PathExpression","StringLiteral","NumberLiteral","BooleanLiteral","UndefinedLiteral","NullLiteral","Hash","HashPair","validateClose","errorNode","comment","dig","isLiteral","escapeFlag","inverted","statements","firstLoc","lastLoc","compat","environment","compileInput","execOptions","setupOptions","argEquals","transformLiteralToPath","literal","_ast","_ast2","opcodes","opcode","otherOpcode","sourceNode","stringParams","trackIds","knownHelpers","helperMissing","blockHelperMissing","if","unless","with","compileProgram","childCompiler","bodyLength","isSimple","classifySexpr","helperSexpr","simpleSexpr","ambiguousSexpr","setupFullMustacheParams","explicitPartialContext","isDynamic","preventIndent","noEscape","isBlock","knownHelpersOnly","falsy","addDepth","scoped","blockParamId","blockParamIndex","pushParam","isBlockParam","isHelper","isEligible","_name","pushParams","blockParamChild","omitEmpty","Literal","strictLookup","requireTerminal","popStack","nameLookup","aliasable","quotedString","currentLocation","_codeGen","_codeGen2","internalNameLookup","depthedLookup","revision","appendToBuffer","explicit","initializeBuffer","lookupPropertyFunctionIsUsed","asObject","isChild","environments","preamble","stackSlot","stackVars","aliases","registers","hashes","compileStack","inlineStack","compileChildren","pushSource","lookupPropertyFunctionVarDeclaration","createFunctionContext","_context","objectLiteral","toStringWithSourceMap","destName","lastContext","varDeclarations","locals","aliasCount","alias","referenceCount","mergeSource","appendOnly","forceBuffer","appendFirst","sourceSeen","bufferStart","bufferEnd","blockValue","contextName","setupHelperArgs","blockName","functionCall","ambiguousBlockValue","flushInline","topStack","lastHelper","appendContent","pendingContent","pendingLocation","isInline","replaceStack","appendEscaped","pushContext","pushStackLiteral","lookupOnContext","resolvePath","lookupBlockParam","lookupData","assumeObjects","resolvePossibleLambda","pushStringParam","pushString","emptyHash","pushHash","popHash","pushLiteral","pushProgram","programExpression","paramSize","foundDecorator","invokeHelper","nonHelper","setupHelper","possibleFunctionCalls","functionLookupCode","itemsSeparatedBy","callParams","invokeKnownHelper","invokeAmbiguous","helperCall","useRegister","paramsInit","setupParams","assignToHash","pushId","existing","matchExistingProgram","programParams","createdStack","usedLiteral","incrStack","topStackName","wrapped","inline","blockHelper","objectArgs","hashIds","hashTypes","hashContexts","generateArray","reservedWords","compilerWords","RESERVED_WORDS","isValidJavaScriptVariableName","castChunk","chunk","codeGen","CodeGen","srcFile","SourceNode","chunks","generateList","webpackPolyfill","paths","PrimaryAuthForm","CustomButtons","FooterRegistration","PrimaryAuthModel","DeviceFingerprint","currentController","setUsername","focusout input[name=username]","shouldComputeDeviceFingerprint","focusin input","parentElement","focusout input","click .button-show","TypingUtil","novalidate","trackTypingPattern","typingPattern","getTypingPattern","creds","processCreds","stateEnableChange","getUsernameField","getPasswordField","getRemeberMeCheckbox","isCustomized","explain-top","passwordFieldObject","track","_isIterable2","_isIterable3","_getIterator2","_getIterator3","sliceIterator","_arr","_n","_e","_s","SharedUtil","dividerTpl","formTitleTpl","socialIdpButtons","pivButton","customButtons","divider","_createPivButton","_createSocialIdpButton","_createCustomButton","i18nKey","idp","fromURI","targetUri","helpLinkUrl","customHelpPage","toggleLinks","click .js-help","click .js-forgot-password","customResetPasswordPage","click .js-unlock","customUnlockPage","initializeStatefulVariables","postAction","postArgument","host","sigRequest","duoSig","appSig","submitCallback","throwError","givenUrl","hyphenize","getDataAttribute","dataset","fallbackEvent","onReady","offReady","onMessage","offMessage","parseSigRequest","sig","sigParts","isDuoMessage","Boolean","DUO_MESSAGE_FORMAT","DUO_ERROR_FORMAT","DUO_OPEN_WINDOW_FORMAT","sig_request","post_action","post_argument","submit_callback","promptElement","getPromptElement","iframeAttributes","asyncReady","iframeContainer","getUserDefinedElement","validateIframe","validateIframeContainer","isIframe","generateIframeSrc","onReceivedMessage","isValidUrlToOpen","doPostBack","protocol","VALID_OPEN_WINDOW_DOMAINS","_onReady","_parseSigRequest","_isDuoMessage","_doPostBack","_promise","_promise2","gen","click .resend-email-btn","showResendCallout","hideResendCallout","resendEmail","finally","spinner:show","spinner:hide","isChrome","js_api_version","u2f","EXTENSION_ID","MessageTypes","U2F_REGISTER_REQUEST","U2F_REGISTER_RESPONSE","U2F_SIGN_REQUEST","U2F_SIGN_RESPONSE","U2F_GET_API_VERSION_REQUEST","U2F_GET_API_VERSION_RESPONSE","OK","OTHER_ERROR","BAD_REQUEST","CONFIGURATION_UNSUPPORTED","DEVICE_INELIGIBLE","TIMEOUT","U2fRequest","U2fResponse","Transport","Transports","SignRequest","SignResponse","RegisterRequest","RegisterResponse","RegisteredKey","GetJsApiVersionResponse","getMessagePort","chrome","signRequests","sendMessage","lastError","getIframePort_","getChromeRuntimePort_","isAndroidChrome_","getAuthenticatorPort_","isIosChrome_","getIosPort_","connect","includeTlsChannelId","WrappedChromeRuntimePort_","WrappedAuthenticatorPort_","WrappedIosPort_","port_","formatSignRequest_","appId","registeredKeys","timeoutSeconds","reqId","keyHandle","requestId","formatRegisterRequest_","registerRequests","addListener","requestId_","requestObject_","intentUrl","INTENT_URL_BASE_","getPortType","onRequestUpdate_","messageObject","responseObject","encodeURI","iframeOrigin","EXTENSION_TIMEOUT_SEC","waitingForPort_","reqCounter_","callbackMap_","getPortSingleton_","responseHandler_","opt_timeoutSeconds","getApiVersion","sendSignRequest","req","sendRegisterRequest","apiVersion","cardinalityTextTpl","FactorRow","showInlineSetupButton","getSetupButtonText","cardinalityText","minimize","maximize","countryCallingCode","FormController","supportedIdps","supportedResponseTypes","oauthRedirectTpl","assetBaseUrlTpl","signOutLink","globalSuccessFn","globalErrorFn","logo","logoText","helpSupportNumber","features.router","features.securityImage","features.rememberMe","features.autoPush","features.smsRecovery","features.callRecovery","features.emailRecovery","features.webauthn","features.selfServiceUnlock","features.multiOptionalFactorEnroll","features.preventBrowserFromSavingOktaPassword","features.deviceFingerprinting","features.hideSignOutLinkInMFA","features.hideBackToSignInForReset","features.customExpiredPassword","features.registration","features.consent","features.idpDiscovery","features.passwordlessAuth","features.showPasswordToggleOnSignInPage","features.trackTypingPattern","features.redirectByFormSubmit","features.useDeviceFingerprintForSecurityImage","features.restrictRedirectToForeground","features.hideDefaultTip","assets.baseUrl","assets.rewrite","authScheme","authParams.display","authParams.responseMode","authParams.responseType","authParams.scopes","authParams.issuer","authParams.authorizeUrl","authParams.state","authParams.nonce","policyId","idps","idpDisplay","helpLinks.help","helpLinks.forgotPassword","helpLinks.unlock","helpLinks.custom","registration.click","registration.parseSchema","registration.preSubmit","registration.postSubmit","consent.cancel","idpDiscovery.requestContext","colors.brand","piv","redirectUtilFn","redirectByFormSubmit","userLanguages","preferred","supportedLowerCase","supportedPos","oauth2Enabled","responseTypes","oauthRedirectUri","configuredSocialIdps","hasPivCard","certAuthUrl","socialAuthPositionTop","hasConfiguredButtons","colors","brand","setAcceptLanguageHeader","setAuthClient","operation","transformFn","parseSchema","onSuccess","onFailure","preSubmit","postData","postSubmit","pkce","labels","abu","Animations","LoadingBeacon","isLoadingBeacon","beacon","removeBeacon","currentBeacon","addBeacon","NextBeacon","typeOfTransition","loading","setLoadingBeacon","removeLoadingBeacon","setBeacon","transition","isLoading","getContentEl","_regenerator","_regenerator2","_asyncToGenerator2","_asyncToGenerator3","setBackgroundImage","imgSrc","imgDescription","isUndefinedUser","isNewUser","isSecurityImage","antiPhishingMessage","destroyAntiPhishingMessage","updateSecurityImage","mark","_callee","hasBorder","hasAntiPhishing","abrupt","_x3","removeAntiPhishingMessage","Beacon","lighten","lum","newHex","addStyle","formChildren","click .js-signout","click .js-skip","skip","passwordWarn","getParts","usernameArr","userNameParts","delimiters","userNamePart","passwordContainsFormField","formField","formFieldArr","formFieldPart","checkSubSchema","subSchema","fieldValue","checkSubSchemas","showError","ele","focusout","change:userName","change:firstName","change:lastName","change:email","getUsernameParts","webauthn","getFactorData","_HeaderBeacon","_HeaderBeacon2","_Animations","_Animations2","BeaconView","getBeaconClassName","startPolling","factorPollingInterval","refresh","polling","startDevicePolling","pollingInterval","getCurrentViewState","stopPolling","_BaseFactorView","_BaseFactorView2","_TerminalView","_TerminalView2","BaseFactorView","TerminalView","DEFINE_PROPERTY","_babelPolyfill","padStart","padEnd","symbols","$getPrototypeOf","$freeze","$preventExtensions","$isFrozen","$isSealed","$isExtensible","FProto","nameRE","HAS_INSTANCE","FunctionProto","$Number","BROKEN_COF","TRIM","toNumber","third","maxCode","digits","aNumberValue","$toFixed","toFixed","ERROR","multiply","c2","divide","numToString","acc","fractionDigits","$toPrecision","toPrecision","precision","_isFinite","isSafeInteger","MAX_SAFE_INTEGER","MIN_SAFE_INTEGER","$acosh","acosh","MAX_VALUE","asinh","$asinh","$atanh","atanh","cbrt","clz32","LOG2E","cosh","hypot","value1","value2","sum","larg","$imul","imul","xn","yn","xl","yl","log10","LOG10E","log2","sinh","tanh","trunc","$fromCodePoint","fromCodePoint","callSite","codePointAt","$endsWith","endPosition","$startsWith","toISOString","pv","$toISOString","lz","getUTCFullYear","getUTCMilliseconds","getUTCMonth","getUTCDate","getUTCHours","getUTCMinutes","getUTCSeconds","DateProto","hint","createProperty","upTo","cloned","$sort","$forEach","STRICT","$filter","$some","$every","$reduce","$indexOf","NEGATIVE_ZERO","$find","$flags","$RegExp","CORRECT_NEW","tiRE","piRE","fiU","advanceStringIndex","regExpExec","$match","maybeCallNative","fullUnicode","matchStr","SUBSTITUTION_SYMBOLS","SUBSTITUTION_SYMBOLS_NO_NAMED","maybeToString","REPLACE","$replace","getSubstitution","captures","namedCaptures","replacement","tailPos","capture","searchValue","replaceValue","functionalReplace","accumulatedResult","nextSourcePosition","replacerArgs","sameValue","SEARCH","$search","previousLastIndex","callRegExpExec","$min","$push","LENGTH","SUPPORTS_Y","SPLIT","$split","internalSplit","limit","lastLength","lastLastIndex","splitLimit","separatorCopy","splitter","unicodeMatching","lim","Internal","newGenericPromiseCapability","OwnPromiseCapability","Wrapper","microtask","newPromiseCapabilityModule","perform","promiseResolve","versions","v8","$Promise","FakePromise","PromiseRejectionEvent","isThenable","isReject","_c","_v","reaction","exited","_h","onHandleUnhandled","onUnhandled","unhandled","isUnhandled","onunhandledrejection","_a","onrejectionhandled","$reject","_w","$resolve","executor","capability","$index","alreadyCalled","$isView","isView","viewS","viewT","rApply","fApply","thisArgument","argumentsList","rConstruct","NEW_TARGET_BUG","ARGS_BUG","Target","newTarget","$args","propertyKey","deleteProperty","Enumerate","enumerate","receiver","existingDescriptor","ownDesc","setProto","$includes","arraySpeciesCreate","flatMap","depthArg","$pad","WEBKIT_BUG","getFlags","RegExpProto","$RegExpStringIterator","_r","matchAll","getOwnPropertyDescriptors","$values","__defineGetter__","__lookupGetter__","__lookupSetter__","isError","clamp","lower","upper","DEG_PER_RAD","RAD_PER_DEG","degrees","radians","fscale","iaddh","x0","y0","$x0","$x1","$y0","isubh","imulh","$u","$v","u0","v0","u1","v1","umulh","signbit","onFinally","try","defineMetadata","metadataKey","metadataValue","deleteMetadata","ordinaryGetMetadata","getMetadata","Set","ordinaryMetadataKeys","oKeys","pKeys","getMetadataKeys","getOwnMetadata","getOwnMetadataKeys","ordinaryHasMetadata","hasMetadata","hasOwnMetadata","$metadata","asap","OBSERVABLE","cleanupSubscription","subscription","subscriptionClosed","_o","closeSubscription","Subscription","observer","subscriber","SubscriptionObserver","unsubscribe","$Observable","subscribe","observable","Observable","MSIE","$task","ArrayValues","CSSRuleList","CSSStyleDeclaration","CSSValueList","ClientRectList","DOMRectList","DOMStringList","DOMTokenList","DataTransferItemList","FileList","HTMLAllCollection","HTMLCollection","HTMLFormElement","HTMLSelectElement","MediaList","MimeTypeArray","NamedNodeMap","NodeList","PaintRequestList","Plugin","PluginArray","SVGLengthList","SVGNumberList","SVGPathSegList","SVGPointList","SVGStringList","SVGTransformList","SourceBufferList","StyleSheetList","TextTrackCueList","TextTrackList","TouchList","collections","innerFn","outerFn","tryLocsList","protoGenerator","Generator","Context","_invoke","makeInvokeMethod","tryCatch","GeneratorFunction","GeneratorFunctionPrototype","defineIteratorMethods","AsyncIterator","record","__await","unwrapped","enqueue","callInvokeWithMethodAndArg","previousPromise","GenStateSuspendedStart","GenStateExecuting","GenStateCompleted","doneResult","delegateResult","maybeInvokeDelegate","ContinueSentinel","sent","_sent","dispatchException","GenStateSuspendedYield","return","resultName","nextLoc","pushTryEntry","locs","tryLoc","catchLoc","finallyLoc","afterLoc","tryEntries","resetTryEntry","completion","iteratorMethod","iteratorSymbol","Op","asyncIteratorSymbol","asyncIterator","toStringTagSymbol","toStringTag","inModule","regeneratorRuntime","NativeIteratorPrototype","Gp","isGeneratorFunction","genFun","awrap","skipTempReset","rootEntry","rootRecord","rval","caught","hasCatch","hasFinally","finallyEntry","thrown","delegateYield","$re","regExp","OktaSignIn","successFn","errorFn","hasTokensInUrl","isNewPipeline","V1LoginRouter","bootstrapRouter","rawIdxState","introspectError","details","showSignInToGetTokens","renderEl","widgetRouter","OktaAuth","X-Okta-User-Agent-Extended","previousBackbone","emulateHTTP","emulateJSON","addMethod","defaultVal","addUnderscoreMethods","eventSplitter","eventsApi","internalOn","listening","_events","onApi","_listeners","_listenId","listeningTo","_listeningTo","thisId","objId","offApi","listeners","_callback","onceMap","offer","triggerApi","objEvents","allEvents","triggerEvents","ev","a1","a2","a3","cidPrefix","changed","_validate","changes","changing","_changing","_previousAttributes","_pending","hasChanged","changedAttributes","previousAttributes","serverAttrs","wrapError","isNew","patch","urlError","_reset","setOptions","singular","removed","_removeModels","_isModel","sortable","sortAttr","toAdd","toRemove","modelMap","orderChanged","_prepareModel","_addReference","modelId","orderedModels","addOpts","_removeReference","previousModels","_byId","callbackOpts","_onModelEvent","prevId","attributeMethods","_ensureElement","delegateEventSplitter","_removeElement","setElement","undelegateEvents","_setElement","_createElement","_setAttributes","_method","textStatus","errorThrown","routes","_bindRoutes","optionalParam","namedParam","splatParam","escapeRegExp","_routeToRegExp","_extractParameters","execute","optional","routeStripper","rootStripper","pathStripper","atRoot","getSearch","matchRoot","decodeFragment","decodeURI","getHash","getPath","getFragment","_usePushState","_wantsHashChange","hashChange","_hasHashChange","_useHashChange","_wantsPushState","_hasPushState","iWindow","checkUrl","_checkUrlInterval","loadUrl","_updateHash","protoProps","staticProps","Surrogate","SymbolProto","builtinIteratee","restArguments","shallowProperty","deepGet","reducer","keyFinder","reStrSymbol","otherArrays","arrays","callArgs","throttled","debounced","keyInObj","deepEq","nodelist","chainResult","signout","signin","rememberDevice.timebased","rememberDevice.devicebased","unlockaccount","needhelp","goback","forgotpassword","help","retry","iphone","android","minutes.oneMinute","minutes","hours","days","error.config","error.required.authParams","error.required.baseUrl","error.required.success","error.required.el","error.invalid.colors.brand","error.unsupported.browser","error.unsupported.cors","error.unsupported.localStorage","error.enabled.cors","error.expired.session","error.auth.lockedOut","error.oauth.idToken","error.network.connection","error.username.required","error.password.required","errors.E0000004","errors.E0000069","errors.E0000047","errors.E0000079","errors.E0000001","errors.E0000002","errors.E0000003","errors.E0000005","errors.E0000006","errors.E0000007","errors.E0000008","errors.E0000009","errors.E0000010","errors.E0000011","errors.E0000012","errors.E0000013","errors.E0000015","errors.E0000016","errors.E0000017","errors.E0000018","errors.E0000019","errors.E0000020","errors.E0000021","errors.E0000022","errors.E0000023","errors.E0000024","errors.E0000025","errors.E0000026","errors.E0000027","errors.E0000028","errors.E0000029","errors.E0000030","errors.E0000031","errors.E0000032","errors.E0000033","errors.E0000034","errors.E0000035","errors.E0000036","errors.E0000037","errors.E0000038","errors.E0000039","errors.E0000040","errors.E0000041","errors.E0000042","errors.E0000043","errors.E0000044","errors.E0000045","errors.E0000046","errors.E0000048","errors.E0000049","errors.E0000050","errors.E0000051","errors.E0000052","errors.E0000053","errors.E0000054","errors.E0000055","errors.E0000056","errors.E0000057","errors.E0000058","errors.E0000059","errors.E0000060","errors.E0000061","errors.E0000062","errors.E0000063","errors.E0000064","errors.E0000065","errors.E0000066","errors.E0000067","errors.E0000070","errors.E0000071","errors.E0000072","errors.E0000073","errors.E0000074","errors.E0000075","errors.E0000076","errors.E0000077","errors.E0000078","errors.E0000081","errors.E0000082","errors.E0000083","errors.E0000084","errors.E0000085","errors.E0000086","errors.E0000087","errors.E0000090","errors.E0000091","errors.E0000092","errors.E0000093","errors.E0000094","errors.E0000095","errors.E0000096","errors.E0000097","errors.E0000098","errors.E0000099","errors.E0000100","errors.E0000101","errors.E0000102","errors.E0000103","errors.E0000104","errors.E0000105","errors.E0000106","errors.E0000107","errors.E0000109","errors.E0000110","errors.E0000111","errors.E0000112","errors.E0000113","errors.E0000114","errors.E0000115","errors.E0000116","errors.E0000119","errors.E0000124","errors.E0000125","errors.E0000133","oform.next","oform.verify","oform.send","oform.back","oform.save","oform.cancel","oform.edit","oform.previous","oform.error.icon.ariaLabel","oform.errorbanner.title","oform.errormsg.title","oform.error.unexpected","model.validation.field.blank","model.validation.field.wrong.type","model.validation.field.invalid","model.validation.field.value.not.allowed","model.validation.field.array.minItems","model.validation.field.array.maxItems","model.validation.field.array.unique","model.validation.field.string.minLength","model.validation.field.string.maxLength","model.validation.field.invalid.format.email","model.validation.field.invalid.format.uri","model.validation.field.invalid.format.ipv4","model.validation.field.invalid.format.hostname","model.validation.field.username","factor.totpSoft.oktaVerify","factor.totpSoft.googleAuthenticator","factor.totpSoft.description","factor.totpHard.rsaSecurId","factor.totpHard.symantecVip","factor.totpHard.description","factor.totpHard.yubikey","factor.totpHard.yubikey.description","factor.totpHard.yubikey.placeholder","factor.oktaVerifyPush","factor.push.description","factor.duo","factor.duo.description","factor.sms","factor.sms.description","factor.sms.time.warning","factor.call","factor.call.description","factor.call.time.warning","factor.securityQuestion","factor.securityQuestion.description","factor.windowsHello","factor.windowsHello.signin.description","factor.windowsHello.signin.description.generic","factor.windowsHello.signin.description.specific","factor.u2f","factor.u2f.description","factor.u2f.description.generic","factor.u2f.description.specific","factor.email","factor.email.description","factor.password","factor.customFactor.description","factor.customFactor.description.generic","factor.customFactor.description.specific","factor.webauthn.biometric","factor.webauthn.biometric.description","factor.hotp.description","mfa.challenge.verify","mfa.challenge.answer.placeholder","mfa.challenge.answer.tooltip","mfa.challenge.answer.showAnswer","mfa.challenge.answer.hideAnswer","mfa.challenge.enterCode.placeholder","mfa.challenge.enterCode.tooltip","mfa.challenge.password.placeholder","mfa.backToFactors","mfa.phoneNumber.placeholder","mfa.phoneNumber.ext.placeholder","mfa.sendCode","mfa.sent","mfa.resendCode","mfa.call","mfa.calling","mfa.redial","mfa.sendEmail","mfa.resendEmail","mfa.scanBarcode","mfa.noAccessToEmail","password.reset","password.oldPassword.placeholder","password.oldPassword.tooltip","password.newPassword.placeholder","password.newPassword.tooltip","password.confirmPassword.placeholder","password.confirmPassword.tooltip","password.error.match","password.enroll.error.match","recovery.sms.hint","recovery.mobile.hint","recovery.sms","recovery.call","recovery.smsOrCall","verify.choices.description","email.button.send","email.button.resend","email.code.label","email.code.not.received","email.enroll.title","email.enroll.description","email.mfa.title","email.mfa.description","email.mfa.email.sent.description","enroll.choices.title","enroll.choices.description","enroll.choices.description.generic","enroll.choices.description.specific","enroll.choices.description.gracePeriod.bold","enroll.choices.description.gracePeriod.oneDay.bold","enroll.choices.optional","enroll.choices.list.setup","enroll.choices.list.enrolled","enroll.choices.list.optional","enroll.choices.setup","enroll.choices.setup.another","enroll.choices.submit.finish","enroll.choices.submit.configure","enroll.choices.submit.next","enroll.choices.cardinality.setup","enroll.choices.cardinality.setup.remaining","enroll.choices.setup.skip","enroll.securityQuestion.setup","security.disliked_food","security.name_of_first_plush_toy","security.first_award","security.favorite_security_question","security.favorite_toy","security.first_computer_game","security.favorite_movie_quote","security.first_sports_team_mascot","security.first_music_purchase","security.favorite_art_piece","security.grandmother_favorite_desert","security.first_thing_cooked","security.childhood_dream_job","security.first_kiss_location","security.place_where_significant_other_was_met","security.favorite_vacation_location","security.new_years_two_thousand","security.favorite_speaker_actor","security.favorite_book_movie_character","security.favorite_sports_player","enroll.password.setup","save.password","enroll.sms.setup","enroll.sms.try_again","enroll.call.setup","enroll.onprem.username.placeholder","enroll.onprem.username.tooltip","enroll.onprem.passcode.placeholder","enroll.onprem.passcode.tooltip","enroll.symantecVip.subtitle","enroll.symantecVip.credentialId.placeholder","enroll.symantecVip.credentialId.tooltip","enroll.symantecVip.passcode1.placeholder","enroll.symantecVip.passcode1.tooltip","enroll.symantecVip.passcode2.placeholder","enroll.symantecVip.passcode2.tooltip","enroll.yubikey.title","enroll.yubikey.subtitle","enroll.totp.title","enroll.totp.selectDevice","enroll.totp.downloadApp","enroll.hotp.restricted","enroll.duo.title","enroll.windowsHello.title","enroll.windowsHello.subtitle","enroll.windowsHello.subtitle.loading","enroll.windowsHello.save","enroll.windowsHello.error.notWindows","enroll.windowsHello.error.notConfiguredHtml","verify.windowsHello.subtitle","verify.windowsHello.subtitle.loading","verify.windowsHello.subtitle.signingIn","verify.windowsHello.subtitle.signingIn.generic","verify.windowsHello.subtitle.signingIn.specific","verify.windowsHello.save","verify.windowsHello.error.notFound","verify.windowsHello.error.notFound.selectAnother","enroll.u2f.title","enroll.u2f.save","enroll.u2f.general2","enroll.u2f.general3","enroll.u2f.instructions","enroll.u2f.instructionsBluetooth","u2f.error.factorNotSupported","u2f.error.factorNotSupported.oneFactor","u2f.error.other","u2f.error.other.oneFactor","u2f.error.badRequest","u2f.error.badRequest.oneFactor","u2f.error.unsupported","u2f.error.unsupported.oneFactor","u2f.error.timeout","verify.u2f.instructions","verify.u2f.instructionsBluetooth","verify.u2f.retry","enroll.customFactor.subtitle","enroll.customFactor.save","verify.customFactor.subtitle","enroll.webauthn.biometric.title","enroll.webauthn.save","enroll.webauthn.biometric.instructions","enroll.webauthn.biometric.instructions.edge","verify.webauthn.biometric.instructions","webauthn.biometric.error.factorNotSupported","webauthn.biometric.error.factorNotSupported.oneFactor","enroll.webauthn.instructions.noSupportForBiometric","enroll.totp.enterCode","enroll.totp.setupApp","enroll.totp.setupGoogleAuthApp","enroll.totp.cannotScan","enroll.totp.refreshBarcode","enroll.totp.cannotScanBarcode","enroll.totp.manualSetupInstructions","enroll.totp.manualSetupInstructions.generic","enroll.totp.manualSetupInstructions.specific","enroll.totp.sharedSecretInstructions","enroll.totp.sharedSecretInstructions.generic","enroll.totp.sharedSecretInstructions.specific","enroll.totp.sendSms","enroll.totp.sendEmail","enroll.totp.setupManually","enroll.totp.enrollViaEmail.title","enroll.totp.enrollViaEmail.msg","enroll.totp.enrollViaSms.title","enroll.totp.enrollViaSms.msg","recoveryChallenge.sms.title","recoveryChallenge.call.title","mfa.factors.dropdown.title","mfa.factors.dropdown.sr.text","mfa.duoSecurity.push","mfa.duoSecurity.sms","mfa.duoSecurity.call","mfa.challenge.title","mfa.challenge.orEnterCode","mfa.challenge.totp.subtitle.multiple","mfa.emailVerification.checkEmail","mfa.emailVerification.title","mfa.emailVerification.subtitle","mfa.emailVerification.otc.finish","oktaverify.send","oktaverify.resend","oktaverify.sent","oktaverify.rejected","oktaverify.timeout","oktaverify.warning","oktaverify.numberchallenge.instruction","oktaverify.numberchallenge.explain","primaryauth.title","primaryauth.username.placeholder","primaryauth.username.tooltip","primaryauth.password.placeholder","primaryauth.password.tooltip","primaryauth.submit","primaryauth.newUser.tooltip","primaryauth.newUser.tooltip.close","idpDiscovery.email.placeholder","password.forgot.email.or.username.placeholder","password.forgot.email.or.username.tooltip","password.forgot.sendText","password.forgot.sendEmail","password.forgot.call","password.forgot.emailSent.title","password.forgot.emailSent.desc","password.forgot.question.title","password.forgot.question.submit","password.forgot.code.notReceived","password.forgot.noFactorsEnabled","password.reset.title","password.reset.title.generic","password.reset.title.specific","password.complexity.requirements","password.complexity.history","password.complexity.minAgeMinutes","password.complexity.minAgeHours","password.complexity.minAgeDays","password.reset.verification","password.complexity.length","password.complexity.list.element","password.complexity.lowercase","password.complexity.uppercase","password.complexity.number","password.complexity.symbol","password.complexity.no_username","password.complexity.no_first_name","password.complexity.no_last_name","password.expired.submit","password.expired.title","password.expired.title.generic","password.expired.title.specific","password.expiring.later","password.expiring.title","password.expiring.today","password.expiring.soon","password.expiring.subtitle","password.expiring.subtitle.generic","password.expiring.subtitle.specific","password.expired.custom.submit","password.expired.custom.subtitle","account.unlock.title","account.unlock.email.or.username.placeholder","account.unlock.email.or.username.tooltip","account.unlock.sendText","account.unlock.voiceCall","account.unlock.sendEmail","account.unlock.emailSent.title","account.unlock.emailSent.desc","account.unlock.question.title","account.unlock.question.submit","account.unlock.unlocked.title","account.unlock.unlocked.desc","account.unlock.code.notReceived","account.unlock.noFactorsEnabled","contact.support","socialauth.divider.text","socialauth.facebook.label","socialauth.google.label","socialauth.linkedin.label","socialauth.microsoft.label","socialauth.popup.title","authbutton.divider.text","registration.signup.label","registration.signup.text","registration.complete.title","registration.complete.confirm.text","registration.form.title","registration.form.submit","registration.passwordComplexity.minLength","registration.passwordComplexity.minLower","registration.passwordComplexity.minUpper","registration.passwordComplexity.minNumber","registration.passwordComplexity.minSymbol","registration.passwordComplexity.excludeUsername","registration.passwordComplexity.excludeAttribute","registration.required.fields.label","registration.default.callbackhook.error","registration.error.userName.invalidEmail","registration.error.password.passwordRequirementsNotMet","registration.error.userName.notUniqueWithinOrg","piv.card","piv.card.insert","piv.card.error","piv.card.error.empty","piv.card.error.invalid","piv.cac.card","piv.cac.title","piv.cac.card.insert","piv.cac.error","unsupported.oneDrive.title","unsupported.oneDrive.desc","unsupported.oneDrive.action","unsupported.cookies.title","unsupported.cookies.desc","unsupported.cookies.action","deviceTrust.sso.text","deviceTrust.sso.subtitle.2","deviceTrust.sso.button","deviceTrust.sso.expire.title","deviceTrust.sso.expire.subtitle","deviceTrust.sso.expire.button","deviceTrust.universalLink.fallback.getOktaMobile.title","deviceTrust.universalLink.fallback.getOktaMobile.subtitle","signin.with.fastpass","customUri.title","customUri.subtitle","customUri.content","universalLink.title","universalLink.content","universalLink.button","consent.required.text","consent.required.description","consent.required.termsOfService","consent.required.privacyPolicy","consent.required.consentButton","consent.required.cancelButton","polling.title","cert.authentication.title","AF","AX","AL","DZ","AS","AD","AO","AI","AQ","AG","AR","AM","AW","AU","AT","AZ","BS","BH","BD","BB","BY","BE","BZ","BJ","BM","BT","BO","BA","BW","BV","BR","IO","VG","BN","BG","BF","BI","KH","CM","CA","CV","KY","CF","TD","CL","CN","CX","CO","KM","CG","CK","CR","CI","HR","CU","CY","CZ","CD","DK","DJ","DM","DO","TL","EC","EG","SV","GQ","ER","EE","ET","FK","FO","FJ","FI","FR","GF","PF","TF","GA","GM","GE","DE","GH","GI","GR","GL","GD","GP","GU","GT","GG","GN","GW","GY","HT","HM","HN","HK","HU","IS","IN","IR","IQ","IE","IL","IT","JM","JP","JE","JO","KZ","KE","KI","KR","XK","KW","KG","LA","LV","LB","LS","LR","LY","LI","LT","LU","MO","MK","MG","MW","MY","MV","ML","MT","MH","MQ","MR","MU","YT","MX","FM","MD","MC","MN","ME","MS","MA","MZ","MM","NR","NP","NL","AN","NC","NZ","NI","NE","NG","NU","NF","KP","MP","NO","OM","PK","PW","PS","PA","PG","PY","PE","PH","PN","PL","PT","PR","QA","RE","RO","RU","RW","SH","KN","LC","PM","VC","WS","SM","ST","SA","SN","RS","SC","SL","SG","SK","SI","SB","SO","ZA","GS","SS","ES","LK","SD","SR","SJ","SZ","SE","CH","SY","TW","TJ","TZ","TH","TG","TK","TO","TT","TN","TR","TM","TC","TV","VI","UG","UA","AE","GB","US","UM","UY","UZ","VU","VA","VE","VN","WF","EH","YE","ZM","ZW","_from","_from2","_setPrototypeOf","_setPrototypeOf2","_defineProperties","_defineProperties2","_getOwnPropertySymbols","_getOwnPropertySymbols2","_getPrototypeOf","_getPrototypeOf2","_keys","_keys2","_getOwnPropertyNames","_getOwnPropertyNames2","_getOwnPropertyDescriptor","_getOwnPropertyDescriptor2","_create2","_toStringTag","_toStringTag2","noTargetGet","sham","real","withoutSetter","globalThis","WeakMap","enforce","getterFor","DOMException","bodyUsed","FileReader","readAsArrayBuffer","_initBody","_bodyInit","_bodyText","Blob","isPrototypeOf","_bodyBlob","FormData","_bodyFormData","URLSearchParams","_bodyArrayBuffer","blob","arrayBuffer","readAsText","formData","signal","referrer","aborted","responseURL","ontimeout","onabort","withCredentials","polyfill","Headers","Request","Response","ACCESSORS","foo","BUGGY_SAFARI_ITERATORS","normalize","NATIVE","POLYFILL","tt","nt","et","ot","ut","pt","st","ft","unsafe","codeAt","createEvent","dispatchEvent","notified","reactions","initEvent","AggregateError","fromEntries","content-type","neededParamsForAction","existingParamsForAction","neededParams","existingParams","actions","remediation","remediations","proceed","neededToProceed","BaseLoginRouter","IDPDiscoveryController","PrimaryAuthController","VerifyDuoController","VerifyPIVController","MfaVerifyController","VerifyWindowsHelloController","VerifyU2FController","VerifyWebauthnController","VerifyCustomFactorController","EnrollChoicesController","EnrollDuoController","EnrollQuestionController","EnrollPasswordController","EnrollWindowsHelloController","EnrollCallAndSmsController","EnrollEmailController","EnrollActivateEmailController","EnrollOnPremController","EnrollSymantecVipController","EnrollYubikeyController","EnrollTotpController","EnrollU2FController","EnrollWebauthnController","EnrollCustomFactorController","EnrollActivateCustomFactorController","EnrollHotpController","BarcodeTotpController","BarcodePushController","ActivateTotpController","ManualSetupTotpController","ManualSetupPushController","EnrollmentLinkSentController","EnterPasscodePushFlowController","PasswordExpiredController","CustomPasswordExpiredController","ForgotPasswordController","RecoveryChallengeController","PwdResetEmailSentController","RecoveryQuestionController","PasswordResetController","RecoveryLoadingController","UnlockAccountController","AccountUnlockedController","UnlockEmailSentController","RefreshAuthStateController","RegistrationController","RegistrationCompleteController","ConsentRequiredController","EnrollUserController","SecurityBeacon","FactorBeacon","PIVBeacon","PollController","signin/verify/duo/web","signin/verify/piv","signin/poll","signin/verify/fido/webauthn","signin/verify/webauthn","signin/verify/fido/u2f","signin/verify/u2f","signin/verify/generic_saml/assertion:saml2","signin/verify/generic_oidc/assertion:oidc","signin/verify/custom/claims_provider","signin/verify/:factorType","signin/verify/:provider/:factorType(/:factorIndex)","signin/enroll","signin/enroll/duo/web","signin/enroll/okta/question","signin/enroll/okta/password","signin/enroll/okta/sms","signin/enroll/okta/call","signin/enroll/okta/email","signin/enroll-activate/okta/sms","signin/enroll/rsa/token","signin/enroll/del_oath/token","signin/enroll/symantec/token","signin/enroll/yubico/token:hardware","signin/enroll/fido/webauthn","signin/enroll/fido/u2f","signin/enroll/generic_saml/assertion:saml2","signin/enroll/generic_oidc/assertion:oidc","signin/enroll/custom/claims_provider","signin/enroll/custom/token:hotp","signin/enroll/:provider/:factorType","signin/enroll-activate/okta/email","signin/enroll-activate/okta/push","signin/enroll-activate/okta/push/manual","signin/enroll-activate/okta/push/sent","signin/enroll-activate/okta/token:software:totp/passcode","signin/enroll-activate/custom/claims_provider","signin/enroll-activate/:provider/:factorType","signin/enroll-activate/:provider/:factorType/activate","signin/enroll-activate/:provider/:factorType/manual","signin/password-expired","signin/custom-password-expired","signin/forgot-password","signin/recovery-challenge","signin/recovery-emailed","signin/recovery-question","signin/password-reset","signin/reset-password/:token","signin/user-unlock/:token","signin/recovery/:token","signin/unlock-emailed","signin/unlock","signin/account-unlocked","signin/refresh-auth-state(/:token)","signin/register","signin/register-complete","signin/consent","signin/enroll-user","*wildcard","stateLessRouteHandlers","defaultAuth","idpDiscovery","primaryAuth","verifyDuo","verifyPIV","verifyWebauthn","verifyU2F","verifySAMLFactor","verifyOIDCFactor","verifyClaimsFactor","verifyNoProvider","enrollChoices","enrollDuo","enrollQuestion","enrollPassword","enrollSms","enrollCall","enrollEmail","enrollActivateEmail","enrollRsa","enrollOnPrem","enrollSymantecVip","enrollYubikey","enrollSAMLFactor","enrollOIDCFactor","enrollClaimsFactor","enrollActivateClaimsFactor","enrollTotpFactor","enrollHotpFactor","enrollWebauthn","enrollU2F","scanBarcodeTotpFactor","scanBarcodePushFactor","activateTotpFactor","manualSetupTotpFactor","manualSetupPushFactor","activationLinkSent","enterPasscodeInPushEnrollmentFlow","passwordExpired","customPasswordExpired","forgotPassword","recoveryChallenge","recoveryEmailSent","unlockEmailSent","recoveryQuestion","passwordReset","recoveryLoading","unlockAccount","accountUnlocked","refreshAuthState","registerComplete","consentRequired","enrollUser","IDPDiscoveryForm","IDPDiscoveryModel","requestContext","primaryAuthModel","TypingDNA","tdna","selectorId","addTarget","_slicedToArray2","_slicedToArray3","initialized","removeTarget","startDiagram","stopDiagram","getDiagram","getExtendedDiagram","getMouseDiagram","startMouse","stopMouse","getQuality","isMobile","getTextId","maxHistoryLength","defaultHistoryLength","maxSeekTime","maxPressTime","spKeyCodes","spKeyCodesObj","keyCodes","keyCodesObj","pt1","ut1","wfk","sti","skt","recording","mouseRecording","mouseMoveRecording","spKeyRecording","diagramRecording","dwfk","dsti","dskt","drkc","dlastDownKey","prevKeyCode","maxMoveDeltaTime","maxScrollDeltaTime","maxStopTime","maxClickTime","maxMouseHistoryLength","lastMouseMoveTime","lastMouseDownTime","stopTimes","clickTimes","lastMouseStop","zl","isAndroidChrome","ACLastTime","ACSeekTime","ACPressTime","ACLastCharCode","ACLastKeyCode","ACInputLengths","ACPreviousKeyCode","targetIds","lastTarget","lastTargetFound","replaceMissingKeys","replaceMissingKeysPerc","keyDown","isTarget","keyUp","keyPress","ACKeyDown","ACKeyUp","t0","seekTotal","shiftKey","pressTime","seekTime","realKeyCode","arrD","addDiagram","mouseScroll","scrollStarted","scrollTimes","scrollTopArr","scrollInterval","checkScroll","mouseMove","xPositions","screenX","yPositions","screenY","moveInterval","checkMove","mouseDown","stopTime","mouseUp","clickTime","selectionStart","targetLength","targetFound","getDistance","getTotalDistance","totalDistance","getAngle","xPosDelta","yPosDelta","leftRight","downUp","atan","recordMoveAction","deltaTime","directDistance","ratioDistance","angle","recordScrollAction","mouseDiagram","clearLastMove","clearLastScroll","stackDiagram","targetId","extended","textId","caseSensitive","historyTotalLength","_TypingDNA$history$ge","_TypingDNA$history$ge2","histRev","histSktF","math","fo","histPrtF","pressHistMean","avg","seekHistMean","pressHistSD","sd","seekHistSD","charMeanTime","pressRatio","rd","seekToPressRatio","pressSDToPressRatio","seekSDToPressRatio","cpm","rev","seekMean","pressMean","postMean","seekSD","pressSD","postSD","apu","getSpecialKeys","dec","sumVS","mean","asd","aMean","fVal","tempval","fnv1aHash","hval","returnArr","diagramType","sliceStackByTargetId","missingCount","diagramHistoryLength","strLength","returnTextId","strUpperCharCode","currentSensitiveCharCode","strLower","strUpper","lastFoundPos","lastPos","currentCharCode","startPos","finishPos","savedMissingAvgValues","historyLength","startCount","newStack","seekArr","pressArr","historyStackObj","arrLen","clicksArrLen","stopArrLen","rec","avgAcc","revs","tReturn","checkMobileValidity","totalEvents","mobile","vendor","isIterable","getIterator","click a.registration-link","handleClickEvent","clickHandler","usernameProps","resource","webfingerArgs","webfinger","Duo","FooterSignout","getInitOptions","signedResponse","sig_response","verification","_defineProperty3","_assign","_assign2","parseMs","toMilliseconds","MOMENT_UNIT","MILLISECOND","SECOND","MINUTE","HOUR","DAY","MOMENT_UNIT_KEYS","convertMomentUnits","momentUnit","defaultTimeObj","seconds","milliseconds","normalizedUnit","timeObj","highestUnit","roundTowardsZero","microseconds","nanoseconds","_entries","_entries2","FooterWithBackLink","pivConfig","isCustomDomain","getCert","postCert","request","_startEnrollment","_stopEnrollment","hadRuntime","oldRuntime","TOTPForm","YubikeyForm","SecurityQuestionForm","PassCodeForm","EmailMagicLinkForm","PushForm","PasswordForm","InlineTOTPForm","SendEmailAndVerifyCodeForm","findModel","inlineTotpForm","autoPushCheckBox","rememberDeviceCheckbox","isWaitingForNumberChallenge","maskPasswordField","getFormAndButtonDetails","buttonDataSe","buttonClassName","formSubmit","formRetry","formSubmitted","subtitleTpl","warning","showWarning","clearWarnings","formAndButtonDetails","warningDetails","NumberChallengeView","titleTpl","isMfaRejectedByUser","setSubmitState","numberChallengeView","isMfaTimeout","isMfaRequired","ableToSubmit","doSave","factorsPolicyInfo","warningTimeout","lastAuthResponse","correctAnswer","addInlineTotp","ResendEmailView","createEmailMaskElement","factorEmail","renderChallengView","Spinner","HtmlErrorMessageView","__autoTriggered__","verifyData","credentialId","assertion","signatureData","_resetErrorMessage","messageView","_errorMessageView","_successEnrollment","freeze","getRegisteredKeysSequence","errorMessageKey","CryptoUtil","getAllowCredentials","allowCredentials","webauthnAbortController","AbortController","clientDataJSON","_isInteger","_isInteger2","FactorList","RequiredFactorList","pageType","getSubtitle","remainingDays","getGracePeriodSubtitle","getDefaultSubtitle","notEnrolledListTitle","listTitle","hasRequired","numRequiredEnrolled","numRequiredNotEnrolled","numOptionalEnrolled","numOptionalNotEnrolled","currentModel","currentRow","activation","securityQuestions","questions","questionsRes","ValidationUtil","confirmPassword","__isEnrolled__","_enroll","rpDisplayName","userDisplayName","accountName","userId","PhoneTextBox","CountryUtil","isCallFactor","getClassName","sendCode","factorIdIsDefined","phoneExtension","lastEnrolledPhoneNumber","hasExistingPhones","trapEnrollment","ableToResend","skipPhoneValidation","fullPhoneNumber","lastEnrolled","limitResending","isMfaEnroll","profileData","updatePhone","doEnroll","resendCode","isCall","numberFieldClassName","SX","IM","CC","AC","TA","BL","MF","CW","BQ","001","factorOpt","factorEmailVal","isRSA","nextPassCode","StoreLinks","BarcodeView","showWhenDeviceTypeSelected","__deviceType__","AppDownloadInstructionsView","appStoreLink","appIcon","appStoreName","STORE","GOOGLE","OKTA","appStoreLinkText","__factorType__","__provider__","APPLE","ANDROID","__enrolled__","registrationData","getExcludeCredentials","excludeCredentials","newCredential","attestationObject","onlySupportsSecurityKey","hotpFactor","Settings","AuthContainer","AppState","ColorsUtil","Bundles","isStateLessRouteHandler","routeName","beaconIsAvailable","assetBaseUrl","assetRewrite","exists","controllerOptions","oldController","flashError","getSecurityImage","deviceFingerprint","securityImage","UNDEFINED_USER","securityImageDescription","UNDEFINED_USER_IMAGE_DESCRIPTION","securityImageUrlTpl","X-Device-Fingerprint","pwdImg","USER_NOT_SEEN_ON_DEVICE","NEW_USER","NEW_USER_IMAGE_DESCRIPTION","imageDescription","UNKNOWN_IMAGE_DESCRIPTION","getMinutesString","factorLifetimeInMinutes","lifetimeInHours","lifetimeInDays","getGracePeriodRemainingDays","gracePeriodEndDate","endDate","combineFactorsObjects","addedFactorTypes","combinedFactors","factorTypeObj","transactionError","introspectSuccess","userCountryCode","userPhoneNumber","factorActivationType","beaconType","disableUsername","trapMfaRequiredResponse","factorsObject","isSuccessResponse","isProfileRequired","isMfaChallenge","isUnauthenticated","isMfaEnrollActivate","isWaitingForActivation","hasMultipleFactorsAvailable","promptForFactorInUnauthenticated","isIdxStateToken","isPwdExpiringSoon","passwordExpireDays","expiration","isPwdManagedByOkta","passwordExpiredWebsiteName","passwordExpiredLinkUrl","activatedFactorId","activatedFactorType","activatedFactorProvider","activationSendLinks","sendLinks","textActivationLinkUrl","emailActivationLinkUrl","sharedSecret","duoEnrollActivation","prevLink","skipLink","gracePeriodRemainingDays","gracePeriod","recovery_question","userProfile","userConsentName","firstName","lastName","userEmail","userFullName","defaultAppLogo","expiresAt","targetLabel","targetLogo","targetTermsOfService","targetPrivacyPolicy","targetClientURI","phones","hasExistingPhonesForCall","allowRememberDevice","rememberDeviceLabel","rememberDeviceLifetimeInMinutes","timeString","rememberDeviceByDefault","verifyCustomFactorRedirectUrl","enrollCustomFactorRedirectUrl","isFactorResultFailed","factorResultErrorMessage","factorResultMessage","pollForEnrollment","EnterPasscodeForm","ManualSetupFooter","click .js-goto","resume","goToFactorActivation","setStateValues","enrollFactor","smsItem","emailItem","activationType","MANUAL","setInitialModel","goToFactor","emailSentForm","smsSentForm","oldPassword","newPassword","changePassword","expiringSoon","numDays","ContactSupport","click .js-contact-support","hideBackToSignInForReset","smsEnabled","callEnabled","emailEnabled","noFactorsEnabled","mobileFactors","createRecoveryFactorButton","setDefaultFactorType","labelCode","click .send-email-link","sendEmailLink","resetPassword","verifyRecoveryToken","transError","RegistrationSchema","LoginModel","RegistrationFormFactory","SubSchema","Schema","getRegistrationApiUrl","defaultPolicyId","orgPolicyId","getRegistrationPolicyApi","doPostSubmit","activationToken","loginWithActivationToken","registerUser","postSubmitData","errMsg","createRegistrationModel","modelProperties","hideRegisterButton","updatedSchema","requiredFieldsLabel","_Okta$internal$models","RegistrationSchemaPropertyCollection","modelProperty","parseResponseData","requireFields","requireField","fieldOrderIds","fieldOrder","fieldOrderId","profileSchema","click .back-btn","ScopeList","consent","consentCancelFn","customLogo","defaultLogo","clientURI","termsOfService","privacyPolicy","ScopeItem","EnrollUser","EnrollUserForm","getEnrollFormData","constructPostData","profileAttributes","registration","createNewAccount","ProfileSchema","profileSchemaAttributes","setFieldPlaceholder","formFields","userProfileSchema","profileAttributeObject","FactorsDropDown","click .auth-beacon-factor","FactorsDropDownOptions","$target","getDropdownOption","factorsList","multiplePushFactors","pushTitleTpl","dropdownOptions","TITLE","DUO_PUSH","DUO_SMS","DUO_CALL","_stopPolling","cancelRequest","_startPolling","factorPollingIntervalSeconds","countDown","_FormController","_FormController2","_BaseLoginRouter","_BaseLoginRouter2","_ViewFactory","_ViewFactory2","invokeAction","switchForm","handleFormSave","TheView","ViewFactory","formView","actionFn","toggleFormButtonState","updateAppStateWithNewIdx","idxResp","_terminalTransferred","_terminalReturn","_IdentifierView","_IdentifierView2","_DeviceChallengePollView","_DeviceChallengePollView2","_SSOExtensionView","_SSOExtensionView2","_SelectFactorEnrollView","_SelectFactorEnrollView2","_SelectFactorAuthenticateView","_SelectFactorAuthenticateView2","_EnrollProfileView","_EnrollProfileView2","_SuccessView","_SuccessView2","_EnrollFactorPasswordView","_EnrollFactorPasswordView2","_RequiredFactorPasswordView","_RequiredFactorPasswordView2","_RequiredFactorWebauthnView","_RequiredFactorWebauthnView2","_RequiredFactorEmailView","_RequiredFactorEmailView2","_TerminalReturnEmailView","_TerminalReturnEmailView2","_TerminalTransferedEmailView","_TerminalTransferedEmailView2","VIEWS_MAPPING","identify","IdentifierView","device-challenge-poll","DeviceChallengePollView","device-apple-sso-extension","SSOExtensionView","cancel-transaction","select-factor","SelectFactorAuthenticateView","SelectFactorEnrollView","select-factor-authenticate","select-factor-enroll","enroll-profile","EnrollProfileView","enroll-factor","RequiredFactorEmailView","EnrollFactorPasswordView","challenge-factor","RequiredFactorPasswordView","RequiredFactorWebauthnView","terminal-transferred","TerminalTransferedEmailView","terminal-return","TerminalReturnEmailView","success-redirect","SuccessView","_FactorOptions","_FactorOptions2","_FactorUtil","_FactorUtil2","changeLabelToTop","createFactorTypeView","optionItems","FactorOptions","inputCreationStrategy","uiSchemaObj","covertIonFieldToProp","ionField","hasRemediationForm","signupLinkObj","_DeviceFingerprint","_DeviceFingerprint2","_polling","_polling2","ajaxOptions","onPollingFail","deviceChallengePollRemediation","doChallenge","deviceChallenge","relatesTo","challengeMethod","doLoopback","ports","challengeRequest","customURI","doCustomURI","authenticatorDomainUrl","currentPort","foundPort","countFailedPorts","getAuthenticatorUrl","checkPort","onPortFound","doProbing","probeChain","isPasswordRecoveryFlow","recoveryFactor","ModelClass","getActionByPath","_CryptoUtil","_CryptoUtil2","_webauthn","_webauthn2","retryButton","getCredentialsAndSave","_startVerification","contextualData","challengeData","_stopVerification","_email","_email2","ResendView","showMeTimeout","_BaseFactorTerminalView","_BaseFactorTerminalView2","BaseFactorTerminalView","_Settings","_Settings2","_BrowserFeatures","_BrowserFeatures2","_Bundles","_Bundles2","_ColorsUtil","_ColorsUtil2","_Enums","_Enums2","_Errors","_Errors2","_AuthContainer","_AuthContainer2","_Header","_Header2","_responseTransformer","_responseTransformer2","_uiSchemaTransformer","_uiSchemaTransformer2","_AppState","_AppState2","handleRemediationSuccess","ionResponse","uiSchemaTransformer","responseTransformer","setIonResponse","getFirstLevelObjects","getRemediationValues","remediationValues","convert","firstLevelObjects","createFactorTypeOptions","optionItem","factorValue","factorProfileId","createUISchema","remediationValue","inputGroupName","ionFormField","secret","insertUISchema","transformedResp","currentFormName","__previousResponse","factorProfile","currentStep","showSignoutLink","invalidSignOutSteps","targetObject","actionName","terminal","stringToBase64Url","base64ToBase64Url","base64UrlToBase64","base64UrlToString","stringToBuffer","base64UrlDecode","isAbsoluteUrl","isoToUTCString","UTC","toQueryParams","genRandomString","removeNils","getLink","getNativeConsole","getConsole","deprecateWrap","removeTrailingSlash","isIE11OrLess","errorLink","STATE_TOKEN_KEY_NAME","DEFAULT_POLLING_DELAY","DEFAULT_MAX_CLOCK_SKEW","DEFAULT_CACHE_DURATION","REDIRECT_OAUTH_PARAMS_COOKIE_NAME","REDIRECT_STATE_COOKIE_NAME","REDIRECT_NONCE_COOKIE_NAME","TOKEN_STORAGE_NAME","CACHE_STORAGE_NAME","PKCE_STORAGE_NAME","saveAuthnState","accessToken","storageUtil","getHttpCache","cacheResponse","getStorage","Accept","Content-Type","Authorization","httpRequestClient","updateStorage","httpRequest","browserHasLocalStorage","getLocalStorage","testStorage","browserHasSessionStorage","getSessionStorage","getPKCEStorage","getCookieStorage","sessionStorage","sameSite","getInMemoryStorage","ne","ue","oe","ae","se","te","ee","setStorage","clearStorage","_get","isPolling","hints","allow","transactionStatus","resumeTransaction","transactionExists","postToTransaction","fun","browser","argv","removeListener","removeAllListeners","prependListener","prependOnceListener","binding","cwd","chdir","umask","idToken","jwks_uri","kid","iss","aud","iat","maxClockSkew","authorizeUrl","userinfoUrl","tokenUrl","logoutUrl","revokeUrl","generateState","generateNonce","getWellKnown","getKey","validateClaims","getOAuthUrls","loadFrame","loadPopup","urlParamsToObject","isToken","searchParams","Cookies","getValidUrl","grantType","postLogoutRedirectUri","onSessionExpired","isPKCESupported","isHTTPS","hasTextEncoder","ignoreSignature","closeSession","sessionExists","getSession","refreshSession","authorize","_getLocationHref","parseFromUrl","decode","decodeToken","revoke","revokeToken","renew","renewToken","getUserInfo","verifyToken","_setLocation","_getHistory","_getLocation","_getDocument","_getUserAgent","isFingerprintSupported","emitter","tokenManager","_onTokenManagerError","isPopupPostMessageSupported","isTokenVerifySupported","crypto","subtle","TextEncoder","sendFingerprint","signOut","revokeAccessToken","addSharedPrototypes","buildOktaAuth","ajaxRequest","_clearFn","unref","_idleTimeoutId","_idleTimeout","unenroll","_unrefActive","_onTimeout","checkAccountSetupComplete","token_type_hint","payload","hashToObject","closed","loadMeta","authorizationCode","codeVerifier","getToken","clearMeta","error_description","access_token","expires_in","tokenType","token_type","id_token","claims","client_id","code_challenge","codeChallenge","code_challenge_method","codeChallengeMethod","idp_scope","idpScope","login_hint","loginHint","max_age","maxAge","prompt","redirect_uri","response_mode","response_type","DEFAULT_CODE_CHALLENGE_METHOD","code_challenge_methods_supported","generateVerifier","saveMeta","computeChallenge","urls","replaceState","handleOAuthResponse","prepareOauthParams","use","importKey","getRandomValues","encode","digest","grant_type","code_verifier","expireEarlySeconds","clock","expireTimeouts","renewPromise","autoRenew","tokenKey","storageKey","localOffset"],"mappings":";;;;;;;;;;;;CAAA,SAAAA,EAAAC,GACA,gBAAAC,UAAA,gBAAAC,QACAA,OAAAD,QAAAD,IACA,kBAAAG,gBAAAC,IACAD,UAAAH,GACA,gBAAAC,SACAA,QAAA,WAAAD,IAEAD,EAAA,WAAAC,KACC,mBAAAK,WAAAC,KAAA,WACD,MCAgB,UAAUC,GCN1B,QAAAC,GAAAC,GAGA,GAAAC,EAAAD,GACA,MAAAC,GAAAD,GAAAR,OAGA,IAAAC,GAAAQ,EAAAD,IACAE,EAAAF,EACAG,GAAA,EACAX,WAUA,OANAM,GAAAE,GAAAI,KAAAX,EAAAD,QAAAC,IAAAD,QAAAO,GAGAN,EAAAU,GAAA,EAGAV,EAAAD,QAvBA,GAAAS,KA4DA,OAhCAF,GAAAM,EAAAP,EAGAC,EAAAO,EAAAL,EAGAF,EAAAQ,EAAA,SAAAf,EAAAgB,EAAAC,GACAV,EAAAW,EAAAlB,EAAAgB,IACAG,OAAAC,eAAApB,EAAAgB,GACAK,cAAA,EACAC,YAAA,EACAC,IAAAN,KAMAV,EAAAiB,EAAA,SAAAvB,GACA,GAAAgB,GAAAhB,KAAAwB,WACA,WAA2B,MAAAxB,GAAA,SAC3B,WAAiC,MAAAA,GAEjC,OADAM,GAAAQ,EAAAE,EAAA,IAAAA,GACAA,GAIAV,EAAAW,EAAA,SAAAQ,EAAAC,GAAsD,MAAAR,QAAAS,UAAAC,eAAAjB,KAAAc,EAAAC,IAGtDpB,EAAAuB,EAAA,GAGAvB,IAAAwB,EAAA,ODgBM,SAAU9B,EAAQD,EAASO,GAEjC,YAeA,SAASyB,GAAwBC,GAAO,MAAOA,IAAOA,EAAIR,WAAaQ,GAAQC,QAASD,GAZxF,GAAIE,GAAa5B,EAAoB,IAEjC6B,EAAcJ,EAAwBG,GAEtCE,EAAW9B,EAAoB,IAE/B+B,EAAWN,EAAwBK,GAEnCE,EAAkBhC,EAAoB,KAEtCiC,EAAmBR,EAAwBO;AE3F/CtC,EAAOD,QACG,SAASM,GAKT,QAASC,GAAoBC,GAG5B,GAAGC,EAAiBD,GACnB,MAAOC,GAAiBD,GAAUR,OAGnC,IAAIC,GAASQ,EAAiBD,IAC7BE,EAAGF,EACHG,GAAG,EACHX,WAUD,OANAM,GAAQE,GAAUI,KAAKX,EAAOD,QAASC,EAAQA,EAAOD,QAASO,GAG/DN,EAAOU,GAAI,EAGJV,EAAOD,QAvBf,GAAIS,KA4DJ,OAhCAF,GAAoBM,EAAIP,EAGxBC,EAAoBO,EAAIL,EAGxBF,EAAoBQ,EAAI,SAASf,EAASgB,EAAMC,GAC3CV,EAAoBW,EAAElB,EAASgB,KAClC,EAAAwB,EAAAN,SAAsBlC,EAASgB,GAC9BK,cAAc,EACdC,YAAY,EACZC,IAAKN,KAMRV,EAAoBiB,EAAI,SAASvB,GAChC,GAAIgB,GAAShB,GAAUA,EAAOwB,WAC7B,WAAwB,MAAOxB,GAAA,SAC/B,WAA8B,MAAOA,GAEtC,OADAM,GAAoBQ,EAAEE,EAAQ,IAAKA,GAC5BA,GAIRV,EAAoBW,EAAI,SAASQ,EAAQC,GAAY,MAAOR,QAAOS,UAAUC,eAAejB,KAAKc,EAAQC,IAGzGpB,EAAoBuB,EAAI,GAGjBvB,EAAoBA,EAAoBwB,EAAI,MAKtD,SAAS9B,EAAQwC,EAAqBlC,GAG7CY,OAAOC,eAAeqB,EAAqB,cAAgBC,OAAO,GAC7C,IAAIC,GAA2CpC,EAAoB,GAC/DqC,EAAmDrC,EAAoBiB,EAAEmB,GACzEE,EAA2CtC,EAAoB,IAC/DuC,EAAmDvC,EAAoBiB,EAAEqB,GAK5FE,EAAID,EAAiDE,EAAEC,YAE7DF,GAAEG,OACAC,UAAW,SAAUzB,EAAQC,EAAUyB,EAASC,GAC9C,GAAIX,GAAQK,EAAEO,SAAS5B,GAAUA,EAAOC,OAAY,EAKpD,OAHIoB,GAAEQ,WAAWb,KACfA,EAAQA,EAAM9B,KAAKwC,GAAW1B,IAE5BgB,IAGMK,EAAES,YAAYH,GAA+BX,EAAfW,IAI1CI,UAAW,SAAUC,GACnB,MAAOX,GAAEY,SAASD,IAAMA,EAAI,GAAM,GAGpCE,SAAU,SAAUC,EAAQC,GAC1B,GAAMF,GAAWhB,EAAiDI,EAAEe,QAAQF,EAE5E,OAAOC,GACHF,EAASE,GACT,SAAUA,GACV,MAAOF,GAASE,OAKKrB,EAAA,QAAkCM,GAKxD,SAAS9C,EAAQwC,EAAqBlC,GAG7CY,OAAOC,eAAeqB,EAAqB,cAAgBC,OAAO,GAC7C,IAAIsB,GAAyCzD,EAAoB,GAC7D0D,EAAiD1D,EAAoBiB,EAAEwC,GACvEE,EAAyD3D,EAAoB,GAC7E4D,EAAgD5D,EAAoB,IACpE6D,EAAmD7D,EAAoB,GAM1F8D,EAAWH,EAAA,QAAkEI,MAAML,EAA+CjB,EAAEuB,QAMpIC,GACJC,YAAa,WACXN,EAAA,EAAiEO,MAAMrE,KAAMsE,WAC7EtE,KAAKJ,QAAUI,KAAKuE,IAAIC,KAAK,YAAaxE,KAAKJ,OAAO6E,KAMxDC,MAAO,WACL,MAAO1E,MAAK2E,kBAGdC,gBAAiBb,EAAA,QAA4Dc,IAY7EC,UAAW,WAET,MADAd,GAASe,QAAQV,MAAML,EAAUM,WAC1BtE,MAYTgF,OAAQ,SAAUrE,EAAMsE,GAGtB,MAFAjB,GAASkB,IAAIvE,EAAMsE,GACnBjF,KAAKmF,SAASnB,EAAUrD,EAAMsE,GACvBjF,MAeToF,OAAQ,SAAUC,EAAOC,EAASC,GAEhC,MADAvF,MAAK8E,UAAU,eAAgBjB,EAAA,QAAkE2B,UAAWF,QAASA,EAASD,MAAOA,GAASE,IACvIvF,MAoCTyF,QAAS,SAAUC,EAAOJ,EAASK,EAAMC,GACvC,GAAIL,SA4BJ,OAxBEA,GADmB,gBAAjB,KAAOG,EAAP,eAAAzD,EAAAJ,SAAO6D,IACCA,EAEe,IAArBpB,UAAUuB,QAAgBhC,EAAA,QAAkEX,WAAWoC,IAEvGI,MAAO,OACPI,SAAUJ,EACVK,GAAIT,IAIJI,MAAOA,EACPI,SAAUR,EACVS,GAAIJ,EACJK,SAAUJ,GAIZ/B,EAAA,QAAkEX,WAAWqC,EAAQQ,MACvFR,EAAQQ,GAAKlC,EAAA,QAAkEoC,KAAKV,EAAQQ,GAAI/F,OAE9F6D,EAAA,QAAkEX,WAAWqC,EAAQS,YACvFT,EAAQS,SAAWnC,EAAA,QAAkEoC,KAAKV,EAAQS,SAAUhG,OAE9GA,KAAK8E,UAAU,eAAgBS,GACxBvF,MAaTkG,MAAO,SAAUC,GAWf,MAVItC,GAAA,QAAkEuC,SAASD,KAC7EA,GACEL,SAAUK,IAGdnG,KAAKyF,QACH5B,EAAA,QAAkEwC,UAAWF,GAC3EG,gBAAgB,KAGbtG,MAYkBoC,GAAA,QAAkC0B,EAAA,EAAiEuC,OAC9HlC,GAGEoC,SAAU,SAAUC,GAClB,GAAMC,GAAeD,EAAWH,UAGhC,OADAxC,GAAA,QAAkE2B,SAASiB,EAAalF,UAAW4C,GAC5FsC,MAQN,SAAS7G,EAAQwC,EAAqBlC,GAG7CY,OAAOC,eAAeqB,EAAqB,cAAgBC,OAAO,GAC7C,IAAIqE,GAAuCxG,EAAoB,IAC3DyG,EAA+CzG,EAAoBiB,EAAEuF,EAI9FC,GAA6ChE,EAAEiE,WAC7CC,WAAY,SAAUC,GACpBA,EAAIC,iBAAiB,mBAAoBJ,IAA+C,eAAeK,SAEzGC,YACEC,kBAAmB,SAAUC,GAI3B,MAH6B,gBAAzBA,EAAIC,UAAU,EAAG,MACnBD,EAAMA,EAAIC,UAAU,KAEfC,KAAKC,MAAMH,OAQxBI,OAAOC,cAAgBb,EAA6ChE,EACvCP,EAAA,QAAkCuE,EAA6ChE,GAKrG,SAAS/C,EAAQwC,EAAqBlC,GAG7CY,OAAOC,eAAeqB,EAAqB,cAAgBC,OAAO,GAC7C,IAAIoF,GAAgDvH,EAAoB,GACpEwH,EAAoDxH,EAAoB,GACxEyH,EAAkDzH,EAAoB,IACtE0H,EAA0D1H,EAAoBiB,EAAEwG,GAKnGE,GACJC,QAAS,IACTC,OAAQ,IACRC,OAAQ,IACRC,SAAU,IACVC,QAAS,IACTC,SAAU,IACVC,SAAU,KAENC,EAAiB,+JAIjBC,GAEJC,QAAS,WAMP,QAASC,KACP,KAAM,IAAIC,OAAM,iCAAmCnE,UAAU,GAAK,MAAO,EAAAvC,EAAAF,SAAe6G,IAG1F,IAAK,GATCA,GAAOC,MAAMpH,UAAUqH,MAAMvE,MAAMC,WACrCjC,EAAQqG,EAAKG,QACbC,EAAWzG,EAONhC,EAAI,EAAGC,EAAIoI,EAAK7C,OAAQxF,EAAIC,EAAGD,IAAK,CAC3C,GAAM0I,GAASL,EAAKrI,EAEpBgC,GAAQA,EAAM2G,QAAQ,IAAM3I,EAAI,IAAK0I,OACtBE,KAAXF,GAAmC,OAAXA,GAAmB1G,IAAUyG,GACvDN,IAEFM,EAAWzG,EAOb,MAJI,YAAY6G,KAAK7G,IACnBmG,IAGKnG,GAWT8G,WAAY,SAAUC,GAIpB,IAAK,GAHCjD,MACAkD,EAAQC,mBAAmBF,EAAMJ,QAAQ,MAAO,MAAMO,MAAM,KAEzDlJ,EAAI,EAAGA,EAAIgJ,EAAMxD,OAAQxF,IAAK,CACrC,GAAMmJ,GAAOH,EAAMhJ,GACboD,EAAO+F,EAAKD,MAAM,IAExBpD,GAAO1C,EAAKoF,SAAWpF,EAAKgG,KAAK,KAEnC,MAAOtD,IAITuD,eAAgB,SAAUC,GACxB,MAAOC,qBAAmB,EAAA7H,EAAAF,SAAe8H,KAI3CE,eAAgB,SAAUF,GACxB,IACE,MAAOtC,MAAKC,MAAMgC,mBAAmBK,IACrC,MAAOG,GACP,MAAO,QAKXC,aAAc,SAAUC,GACtB,MAAOC,QAAOD,GAAQhB,QAAQ,iBAAkB,SAAUtH,GACxD,MAAOmG,GAAUnG,IAAMA,KAS3BwI,YAAa,SAAUC,EAAKC,GAC1B,GAAMC,GAASD,EAAaxC,EAAwDjF,EAAEyH,GAAcxC,EAAwDjF,EAAE+E,EAAA,QAA6D4C,KAAK1C,EAAwDjF,GAAG,GAC3R,OAAK0H,GAGEA,EAAOF,IAAQ,cAAgBA,EAAM,IAFnC,cAAgBC,EAAa,KAaxCG,SAAU,SAAUJ,EAAKC,EAAYjE,GACnC,GAAMkE,GAASD,EAAaxC,EAAwDjF,EAAEyH,GAAcxC,EAAwDjF,EAAE+E,EAAA,QAA6D4C,KAAK1C,EAAwDjF,GAAG,GAG3R,KAAK0H,EACH,MAAO,cAAgBD,EAAa,GAGtC,IAAI/H,GAAQgI,EAAOF,EAEnB,KACEhE,EAASA,GAAUA,EAAOyC,MAAQzC,EAAOyC,MAAM,MAC/CzC,EAAOqE,QAAQnI,GACfA,EAAQiG,EAAWC,QAAQlE,MAAM,KAAM8B,GACvC,MAAO2D,GACPzH,EAAQ,KAGV,MAAOA,IAAS,cAAgB8H,EAAM,KAUxCM,uBAAA,QAAAA,GAAAC,GAAA,MAAAC,GAAAtG,MAAArE,KAAAsE,WAAA,MAAAmG,GAAAG,SAAA,iBAAAD,GAAAC,YAAAH,GAAY,SAAUT,GACpB,GAAMa,IAAUb,CAEhB,OAAyB,gBAAXA,IAAuBa,IAAWJ,WAAWT,GAAUa,EAASb,IAShFc,qBAAA,QAAAA,GAAAC,GAAA,MAAAC,GAAA3G,MAAArE,KAAAsE,WAAA,MAAAwG,GAAAF,SAAA,iBAAAI,GAAAJ,YAAAE,GAAU,SAAUd,GAClB,GAAMiB,IAAOjB,CAEb,OAAOtC,GAAA,QAA6DtB,SAAS4D,IAAWiB,IAAQH,SAASd,EAAQ,IAAMiB,EAAMjB,IAS/HkB,YAAa,SAAUlB,GACrB,IAAKtC,EAAA,QAA6DtB,SAAS4D,GACzE,MAAOA,EAGT,KACE,GAAM3I,GAASgG,KAAKC,MAAM0C,EAE1B,OAAOvC,GAAA,QAAyD0D,cAAc9J,GAAUA,EAAS2I,EACjG,MAAOF,GACP,MAAOE,KAUXoB,aAAc,SAAUvF,GACtB,GAAMwF,GAAa,+DAEnB,QAAepC,KAAXpD,EACFA,EAAS6B,EAAA,QAA6D4D,OAAOD,EAAWxF,YACnF,IAAe,IAAXA,EACT,MAAO,EAKT,KAFA,GAAM0F,MAEC1F,KACL0F,EAAYC,KAAKH,EAAW3D,EAAA,QAA6D4D,OAAOD,EAAWxF,OAAS,IAEtH,OAAO0F,GAAY9B,KAAK,KAW1BgC,SAAU,SAAUtE,EAAKuE,GAGvB,MAFAvE,IAAO,GACPuE,GAAQ,GACDvE,EAAItB,QAAU6F,EAAK7F,QAAUsB,EAAIC,UAAUD,EAAItB,OAAS6F,EAAK7F,UAAY6F,GAIlFC,QAAS,SAAUxE,GACjB,GAAMyE,GAASnE,EAAA,QAAyDoE,KAAK1E,EAE7E,QAAQO,EAAA,QAA6DoE,QAAQF,IAAWvD,EAAea,KAAK0C,IAWnFxJ,GAAA,QAAkCkG,GAKxD,SAAS1I,EAAQwC,EAAqBlC,GAG7CY,OAAOC,eAAeqB,EAAqB,cAAgBC,OAAO,GAC7C,IAAIC,GAA2CpC,EAAoB,GAC/DqC,EAAmDrC,EAAoBiB,EAAEmB,GACzEoF,EAAoDxH,EAAoB,EASpEkC,GAAA,SAM3ByC,IAAK6C,EAAA,QAA6DqE,QAAQ,SAAUlH,GAElF,MAAOtC,GAAiDI,EAAEe,QAAQmB,OAO/D,SAASjF,EAAQD,GAExBC,EAAOD,QAAUqM,EAAQ,MAIlB,SAASpM,EAAQD,GAExBC,EAAOD,QAAUqM,EAAQ,MAIlB,SAASpM,EAAQwC,EAAqBlC,GAI7C,QAAS+L,GAAI5G,EAAOqD,GACdnB,OAAO2E,SAAW3E,OAAO4E,MAAQ5E,OAAO4E,KAAKC,OAC/C7E,OAAO2E,QAAQ7G,GAAOhB,MAAMkD,OAAO2E,QAASxD,GAHhD5H,OAAOC,eAAeqB,EAAqB,cAAgBC,OAAO,IAWrCD,EAAA,SAK3BiK,MAAO,WACL,MAAOJ,GAAI,QAAS3H,YAMtBgI,IAAK,WACH,MAAOL,GAAI,MAAO3H,YAMpBiI,KAAM,WACJ,MAAON,GAAI,OAAQ3H,YAMrBkI,QAAS,WACP,MAAOP,GAAI,UAAW3H,YAMxBmI,MAAO,WACL,MAAOR,GAAI,QAAS3H,YAMtBoI,SAAU,WACR,MAAOT,GAAI,WAAY3H,YAMzBqI,OAAQ,WACN,MAAOV,GAAI,SAAU3H,YAMvB2H,IAAK,WACH,MAAOA,GAAI,MAAO3H,YAMpBsI,KAAM,WACJ,MAAOX,GAAI,OAAQ3H,YAMrBuI,KAAM,WACJ,MAAOZ,GAAI,OAAQ3H,YAMrBwI,MAAO,WACL,MAAOb,GAAI,QAAS3H,cAOjB,SAAS1E,EAAQwC,EAAqBlC,GAG7CY,OAAOC,eAAeqB,EAAqB,cAAgBC,OAAO,IACrCD,EAAA,SAC3B2K,GAAI,GACJC,KAAM,GACNC,IAAK,GACLC,IAAK,EACLC,OAAQ,GACRC,MAAO,GACPC,IAAK,GACLC,MAAO,IACPC,OAAQ,GACRC,SAAU,GACVC,MAAO,GACPC,UAAW,EACXC,QAAS,SAAU7D,EAAGK,GACpB,OAAQL,EAAE8D,OAAS9D,EAAE+D,WAAa7N,KAAKmK,IAEzC2D,QAAS,SAAUhE,GACjB,MAAO9J,MAAK2N,QAAQ7D,EAAG,UAEzBiE,MAAO,SAAUjE,GACf,MAAO9J,MAAK2N,QAAQ7D,EAAG,QAEzBkE,WAAY,SAAUlE,GACpB,MAAO9J,MAAK2N,QAAQ7D,EAAG,YAOpB,SAASlK,EAAQwC,EAAqBlC,GAsF7C,QAAS+N,GAAeC,GACtB,GAAIA,IAAWA,EAAA,SACb,MAAOC,GAAA,QAAkE9H,QAAS+H,SAAUD,EAAA,QAAkEE,UAAS,IAASH,GAIpL,QAASI,GAAa/I,GACpBA,EAAU4I,EAAA,QAAkEI,KAAKhJ,MAAe,SAAU,KAAM,YAAa,OAAQ,OAErI,IAAIiJ,UACAC,SACAC,QAEJ,OAAOC,GAAA,QAAmDtI,QACxDuI,QAAS,QACTC,UAAW,SACXC,QACEC,MAAO,WACDxJ,EAAQyJ,SAAWhP,KAAKiP,YAC1B1J,EAAQyJ,OAAOzO,KAAKP,OAGxBkP,MAAO,SAAUpF,GACXqF,EAAA,QAAoDrB,QAAQhE,IAAMvE,EAAQyJ,SAAWhP,KAAKiP,YAC5F1J,EAAQyJ,OAAOzO,KAAKP,QAK1BiP,SAAU,WACR,OAAqC,IAA9BjP,KAAKuE,IAAI6K,KAAK,aAGvBC,QAAS,WACPrP,KAAKuE,IAAI6K,KAAK,YAAY,GAC1BpP,KAAKuE,IAAI+K,SAAS,iBAGpBC,OAAQ,WACNvP,KAAKuE,IAAI6K,KAAK,YAAY,GAC1BpP,KAAKuE,IAAIiL,YAAY,iBAGvBC,WAAY,WACV,GAAM1P,GAAOC,IAEbA,MAAKuE,IAAIC,KAAK,OAAyB,SAAjBe,EAAQmK,KAAkB,SAAW,UAC3D1P,KAAKuE,IAAIoL,IAAIpK,EAAQyB,MACjBzB,EAAQd,IACVzE,KAAKuE,IAAIC,KAAK,KAAMe,EAAQd,IAE1Bc,EAAQsJ,WACV7O,KAAKuE,IAAI+K,SAAS/J,EAAQsJ,WAExBtJ,EAAQmK,MACV1P,KAAKuE,IAAIC,KAAK,YAAae,EAAQmK,MAGrC1P,KAAKuE,IAAIqL,UAAU,WACjB7P,EAAK8P,MAAMC,IAAI,eAAe,KAGhC9P,KAAKuE,IAAIwL,QAAQ,WACfhQ,EAAK8P,MAAMC,IAAI,eAAe,KAGhC9P,KAAKmF,SAASnF,KAAK6P,MAAO,wBAAyB,WACjD7P,KAAKqP,UACgB,SAAjB9J,EAAQmK,OACVlB,EAAYwB,WAAW7B,EAAA,QAAkElI,KAAKjG,KAAKiQ,iBAAkBjQ,MAAO,QAGhIA,KAAKmF,SAASnF,KAAK6P,MAAO,0BAA2B,WACnD7P,KAAKuP,SACgB,SAAjBhK,EAAQmK,OACVQ,aAAa1B,GACb2B,cAAc1B,GACdzO,KAAKuE,IAAIoL,IAAIpK,EAAQyB,UAK3BiJ,iBAAkB,WAChBvB,EAAa,EACbD,EAAa2B,YAAYjC,EAAA,QAAkElI,KAAKjG,KAAKqQ,kBAAmBrQ,MAAO,MAGjIqQ,kBAAmB,WACjBrQ,KAAKuE,IAAIoL,IAAIW,EAAmB5B,IAAe4B,EAAmBzK,YAKxE,QAAS0K,GAAchL,EAASsK,GAK9B,GAFAtK,IAAYA,MAES,UAAjBA,EAAQmK,KAIV,YAHKnK,EAAQiL,OACXC,EAAA,QAAsD5D,KAAK,8CAA+CtH,GAK9G,IAAqB,WAAjBA,EAAQmK,KAOV,MANKnK,GAAQG,OAAUH,EAAQmL,MAC7BD,EAAA,QAAsD5D,KAAK,gEAAiEtH,QAEzHA,EAAQwJ,OAAUxJ,EAAQoL,MAC7BF,EAAA,QAAsD5D,KAAK,gEAAiEtH,GAShI,IAJKA,EAAQ5E,MAAS4E,EAAQqL,OAC5BH,EAAA,QAAsD5D,KAAK,uCAAwCtH,GAGjG4I,EAAA,QAAkE0C,QAAQtL,EAAQ5E,OAASwN,EAAA,QAAkE0C,QAAQtL,EAAQqL,OAC/K,KAAM,IAAInI,OAAM,gEAGlB,IAAqB,SAAjBlD,EAAQmK,MAAmBnK,EAAQ5E,MAAQkP,GAASA,EAAMiB,OAAQ,CACpE,GAAIC,KAEA5C,GAAA,QAAkE0C,QAAQtL,EAAQ5E,MACpFoQ,EAAQxL,EAAQ5E,KAEhBoQ,EAAMvF,KAAKjG,EAAQ5E,MAErBwN,EAAA,QAAkE6C,KAAKD,EAAO,SAAUpQ,GACtF,IAAKkP,EAAMiB,OAAOnQ,GAChB,KAAM,IAAI8H,OAAM,sBAAwBlD,EAAQ5E,QAKlDwN,EAAA,QAAkE0C,QAAQtL,EAAQqL,QAA2B,SAAjBrL,EAAQmK,MACtGvB,EAAA,QAAkE6C,KAAKzL,EAAQqL,MAAO,SAAUA,GAC9FL,EAAcK,EAAOf,IAIzB,IAAMvF,GAAO6D,EAAA,QAAkE7D,KAAK/E,GAE9E0L,EAAe9C,EAAA,QAAkE8C,aAAa3G,EAAM4G,EAE1G,IAAI/C,EAAA,QAAkEgD,KAAKF,KAAkB9C,EAAA,QAAkEgD,KAAK5L,GAAU,CAC5K,GAAM6L,GAASjD,EAAA,QAAkElK,MAAMiN,EAEvFE,GAAO5G,QAAQF,GACfmG,EAAA,QAAsD5D,KAAK,2BAA4BsB,EAAA,QAAkEkD,QAAQhN,MAAM,KAAM+M,GAAS7L,IAI1L,QAAS+L,GAAqB/L,EAASgM,EAAMC,GAC3CjM,EAAU4I,EAAA,QAAkElK,MAAMsB,GAE9E4I,EAAA,QAAkEsD,UAAU,OAAQ,SAAUlM,EAAQmK,QACxGnK,EAAQY,OAASgI,EAAA,QAAkE3I,UAE/EkM,OAAQF,EACRG,OAAQxD,EAAA,QAAkEyD,IAAIzD,EAAA,QAAkE0C,QAAQtL,EAAQqL,OAASrL,EAAQqL,OAASrL,EAAQqL,OAAQ,SAAUA,GAClN,MAAOzC,GAAA,QAAkE0D,MAAMP,EAAqBV,EAAOW,EAAMC,OAGrHjM,EAAQY,kBAEHZ,GAAQqL,MAGjB,IAAMe,GAASxD,EAAA,QAAkE0C,QAAQtL,EAAQqL,OAASzC,EAAA,QAAkElK,MAAMsB,EAAQqL,QAAUrL,EAEpM,OAAO4I,GAAA,QAAkEyD,IAAID,EAAQ,SAAUf,GAC7F,GAAMhF,GAASuC,EAAA,QAAkE3I,UAAWqK,MAAO0B,EAAK1B,OAASe,EAAOzC,EAAA,QAAkE2D,KAAKvM,EAAS,QAAS,UAAWgM,EAAKhM,SAC/Nd,GAAI0J,EAAA,QAAkE4D,SAAS,SAC/EC,SAAUT,EAAKU,aACfC,KAAMX,EAAKY,eAMb,OAHIZ,GAAKU,eACPrG,EAAOsG,KAAOtG,EAAOoG,UAAW,GAE3BpG,IA3QX9K,OAAOC,eAAeqB,EAAqB,cAAgBC,OAAO,GAC7C,IAAI8L,GAAyDjO,EAAoB,GAC7EiP,EAA2CjP,EAAoB,GAC/DuQ,EAA6CvQ,EAAoB,GACjEkS,EAAiDlS,EAAoB,GACrEmS,EAA+CnS,EAAoB,IACnEyO,EAA0CzO,EAAoB,GAQjFoS,GAAiB,QAAS,KAAM,UAAW,OAAQ,QAAS,WAAY,UAAW,QACnFC,GACJ,OACA,QACA,QACA,YACA,UACA,cACA,gBACA,QACA,OACA,OACA,cAEIC,GACJ,QACA,OACA,YACA,WACA,SACA,aACA,WACA,WACA,SACA,YACA,UACA,cAEIC,GACJ,QACA,OACA,UACA,OACA,QACA,cACA,QACA,WACA,OACA,WACA,iBACA,UACA,OACA,OACA,KACA,aACA,mBACA,sBACA,YACA,UAIIC,GAAiB,cAEjBxB,EAAc/C,EAAA,QAAkEwE,KAAKxE,EAAA,QAAkEyE,MAAMN,EAAeC,EAAmBC,EAAiBC,EAAeC,IAE/NpC,GACJ,aACA,aACA,aACA,aACA,aACA,aACA,aACA,aACA,aACA,aA+L2BlO,GAAA,SAC3BkQ,cAAeA,EACfC,kBAAmBA,EACnBC,gBAAiBA,EACjBC,cAAeA,EAEfnB,qBAAsBA,EAEtBuB,kBAAmB,SAAUC,GAC3B,MAAO,UAAYA,EAAWrJ,KAAK,aAGrCsJ,qBAAsB,SAAUxN,GAC9B,GAAIyJ,UACAhI,SACAgM,QAeJ,OAbqB,WAAjBzN,EAAQmK,MACV1I,EAAOgM,EAAYZ,EAAA,QAA0D7H,SAAS,eAAgB,WACtGyE,EAAS,WACPhP,KAAK6P,MAAM9K,QAAQ,kBAGrBiC,EAAOoL,EAAA,QAA0D7H,SAAS,aAAc,WACxFyI,EAAYhM,EAAO,IAAMzB,EAAQ0N,UACjCjE,EAAS,WACPhP,KAAK6P,MAAMC,IAAI,YAAY,KAIxBnB,EAAA,QAAmDtI,QACxDuI,QAAS,IACTsE,YACEvC,KAAM,IACNwC,aAAcH,GAEhBzP,SAAU,WACR,MAAO4K,GAAA,QAAkEiF,OAAOpM,IAElF8H,QACEC,MAAO,SAAUjF,GACfA,EAAEuJ,iBACFrE,EAAOzO,KAAKP,WAMpBsO,aAAc,SAAU/I,GAEtB,OADAA,EAAU4I,EAAA,QAAkElK,MAAMsB,GAC1EA,EAAQmK,MAChB,IAAK,OACHvB,EAAA,QAAkE3I,SAASD,GAAWsJ,UAAW,kBACjG,MACF,KAAK,SACHV,EAAA,QAAkE3I,SAASD,GACzEyB,KAAMoL,EAAA,QAA0D7H,SAAS,eAAgB,WACzFyE,OAAQ,WACNhP,KAAK6P,MAAM9K,QAAQ,iBAGvB,MACF,KAAK,WACHoJ,EAAA,QAAkE3I,SAASD,GACzEyB,KAAMoL,EAAA,QAA0D7H,SAAS,iBAAkB,WAC3FyE,OAAQ,WACNhP,KAAK6P,MAAM9K,QAAQ,oBAKzB,MAAOuJ,GAAa/I,IAGtBgL,cAAeA,EAUf+C,cAAe,SAAUC,EAAMC,GAC7B,GAAMC,GAAkB,SAAUC,GAChC,MAAO,YAGLH,EAAKhP,IAAIoP,OAAOD,GAChBH,EAAK1D,MAAM9K,QAAQ,gBAIvBsN,GAAA,EAAgEuB,YAAYL,EAAMtF,EAAeuF,GAAW,SAAUE,EAAMnO,GACrHA,EAAQsO,QAGXN,EAAKhP,IAAI,SAAWmP,EAAO,OAAS,OAAO,IAAKD,EAAgBC,IAFhEH,EAAKhP,IAAIoP,OAAOD,MAOtBI,gBAAiB,SAAUP,EAAMQ,GAC/B1B,EAAA,EAAgEuB,YAAYL,EAAMtF,EAAe8F,GAAa,SAAUL,EAAMnO,GAC5HgO,EAAKhP,IAAIoP,OAAOD,GAChBH,EAAK1D,MAAM9K,QAAQ,eACfQ,EAAQsO,SACVN,EAAKS,cASN,SAASpU,EAAQwC,EAAqBlC,GAGxB,GAAI+T,GAAqD/T,EAAoB,GACzE2D,EAAyD3D,EAAoB,GAC7EgU,EAAoDhU,EAAoB,IACxEkS,EAAiDlS,EAAoB,GACrEiU,EAA0CjU,EAAoB,GAC9DkU,EAAoDlU,EAAoB,GAmBpEkC,GAAA,EAA4B+R,EAAA,QAAmD9N,QAC1GuI,QAAS,OAETsE,WAAY,WACV,OACEmB,UAAW,gBAAkBrU,KAAKsU,kBAOtCC,mBAAoB,GAEpBnQ,YAAa,SAAUmB,GAErBA,EAAU1B,EAAA,QAAkE2B,SAASD,OACnFiP,QAASjP,EAAQd,IAAMZ,EAAA,QAAkEkO,SAAS,SAClG0C,YAAazU,KAAKuU,mBAClBG,kBAAkB,EAClBC,qBAAqB,UAGhBpP,GAAQd,EAIf,IAAM1E,GAAOC,IAEb6D,GAAA,QAAkEmN,MAAOzB,OAAQ,cAAeF,QAAS,YAAc,SAAUuF,EAAQ5F,GACvIjP,EAAKiP,GAAUnL,EAAA,QAAkEgR,KAAK9U,EAAKiP,GAAS,SAAU/J,GAC5GA,EAAGZ,MAAMtE,EAAMuE,WACfvE,EAAKwE,IAAIqQ,GAAQ,uBAIrBT,EAAA,QAAmD5T,KAAKP,KAAMuF,IAEwC,IAAlG1B,EAAA,QAAkEiR,OAAOvP,EAAS,cAAsH,IAA9F1B,EAAA,QAAkEiR,OAAOvP,EAAS,SAC9LvF,KAAKmF,SAASnF,KAAK6P,MAAO,kBAAmB7P,KAAKgU,QAGhDnQ,EAAA,QAAkEX,WAAWlD,KAAK+U,SACpF/U,KAAK+U,MAAQlR,EAAA,QAAkEmR,SAASnR,EAAA,QAAkEoC,KAAKjG,KAAK+U,MAAO/U,MAAO,KAI/K6D,EAAA,QAAkEiR,OAAOvP,EAAS,wBACrFvF,KAAKiV,sBAGPjV,KAAKkV,oBACLlV,KAAKuE,IAAI+K,SAAS,qBAAuBtP,KAAKsU,kBAGhDa,aAAc,WACZ,GAAMnC,GAAYhT,KAAKuF,QAAQyN,SAE3BA,IACFhT,KAAKoV,EAAE,UAAU5Q,KAAK,aAAcwO,IAIxCiC,oBAAqB,WACfpR,EAAA,QAAkEiR,OAAO9U,KAAKuF,QAAS,qBACzFvF,KAAKuE,IAAI8Q,GAAG,WAAY,SAAUxR,EAAA,QAAkEoC,KAAKjG,KAAKsV,SAAUtV,QAI5HuV,aAAc,WACZ,GAAIlT,GAAQrC,KAAK2P,KAQjB,OANI9L,GAAA,QAAkEX,WAAWlD,KAAKwV,MACpFnT,EAAQrC,KAAKwV,GAAGjV,KAAKP,KAAMqC,IAEzBwB,EAAA,QAAkEX,WAAWlD,KAAKuF,QAAQiQ,MAC5FnT,EAAQrC,KAAKuF,QAAQiQ,GAAGjV,KAAKP,KAAMqC,IAE9BA,GAGToT,0BAA2B,SAAUC,GACnC,GAAM3V,GAAOC,KAEP2V,EAAa9R,EAAA,QAAkEI,MAAMyR,GAErFE,EAAgBD,EAAW5G,OAAS,YAa1C,OAVA4G,GAAW5G,MAAQ,WACjBjO,OAAOmT,EAAA,SAA+D1M,QAAQsO,IAAI,mBAAoB,WACpG9V,EAAK+V,4BAEPF,EAAcrV,KAAKR,IAMd,IAJqBoU,EAAA,QAAmD9N,QAC7E0P,UAAW7B,EAAA,QAA6DxC,OAAOiE,QAMnFK,iBAAkB,WAChB,MAAOhW,MAAKoV,EAAE,gBAAkBpV,KAAKiW,gBAAkB,MAAMC,UAG/DC,yBAA0B,SAAUC,GAClC,MAAOjC,GAAA,QAAmD9N,QACxD9C,SAAU,iFAKV8S,gBAAiB,WACf,OACEC,IAAKF,OAMbG,YAAa,SAAUC,EAAeC,GACpC,GAAMC,GAAU7S,EAAA,QAAkEI,MAAMuS,EAExFE,GAAQ7H,UAAY,qBAChB6H,EAAQC,MACVD,EAAQE,QAAU5W,KAAKyV,0BAA0BiB,EAAQC,WAClDD,GAAQC,IAEjB,IAAME,GAAoBzC,EAAA,QAA6D1C,OAAOgF,EAEzFD,IACHI,EAAkBC,IAAI9W,KAAKmW,yBAAyB/D,EAAA,QAA0D7H,SAAS,yBAA0B,aAE7HvK,KAAKgW,mBAEbe,OAAOF,EAAkB7C,SAASgD,IAC3B,YAAjBN,EAAQhH,MACV7L,EAAA,QAAkEoT,MAAM,WAEtEJ,EAAkBtS,IAAI2S,QAAQ,MAC7B,MAIPC,cAAe,WACbnX,KAAKuE,IAAI6S,KAAK,uBAAuBC,UAGvCC,wBAAyB,SAAUb,EAAoBc,GAgBrD,MAbId,IAEA/Q,MAAO0M,EAAA,QAA0D7H,SAAS,8BAA+B,WACzG4G,KAAM,QACNzB,KAAM,YAINhK,MAAO0M,EAAA,QAA0D7H,SAAS,6BAA8B,WAAYgN,IACpHpG,KAAM,QACNzB,KAAM,YAMZ8H,mBAAoB,SAAU1C,EAAQ4B,GACpC,GAAM3W,GAAOC,KACPwW,EAAgB3S,EAAA,QAAkEX,WAAWwT,GAC/FA,EAAQ5B,GACRjR,EAAA,QAAkEwC,UAAWqQ,EAAS3W,EAAKuX,wBAAwBxC,EAAO2C,SAAUf,EAAQhR,OAGhJ3F,GAAKoX,gBACLpX,EAAKwW,YAAYC,EAAe1B,EAAO2C,WAGzC3B,wBAAyB,WACvB,GAAM/V,GAAOC,KACP0X,EAAkB3X,EAAKwF,QAAQoS,KAAK5X,EAAKkW,gBAE3CyB,IAAmB7T,EAAA,QAAkEX,WAAWwU,EAAgBE,MAClHF,EACGE,OACAC,KAAK,SAAUpU,GACd1D,EAAKyX,oBAAqBC,UAAU,EAAMhU,KAAMA,GAAQiU,EAAgBhB,WAEzEoB,KAAK,SAAUrU,GACd1D,EAAKyX,oBAAqBC,UAAU,EAAOhU,KAAMA,GAAQiU,EAAgBhB,WAG7E3W,EAAKoX,iBAITY,WAAW,EAIXC,OAAQ,YACDhY,KAAK+X,WAAalU,EAAA,QAAkEiR,OAAO9U,KAAKuF,QAAS,yBAC5GvF,KAAK+X,WAAY,EACjB/X,KAAKiV,uBAEPjV,KAAK6P,MAAMC,IAAI9P,KAAKuF,QAAQ5E,KAAMX,KAAKuV,gBACnCvV,KAAKuF,QAAQoS,MAEf3X,KAAK8V,2BAQTmC,WAAY,WAKV,OAHGpU,EAAA,QAAkEiR,OAAO9U,KAAKuF,QAAS,eACY,IAAnG1B,EAAA,QAAkEiR,OAAO9U,KAAKuF,QAAS,UAAmD,IAA/BvF,KAAK6P,MAAM3O,IAAI,cAS/H8S,OAAQ,WACNhU,KAAKkY,WACL,IAAM/R,GAASnG,KAAKuF,QAAQY,MAmB5B,OAjBAnG,MAAKuF,QAAQY,OAAStC,EAAA,QAAkEf,UAAU9C,KAAKuF,QAAS,SAAUvF,MAEtHA,KAAKiY,cACPjY,KAAKmY,WACDtU,EAAA,QAAkEf,UAAU9C,KAAKuF,QAAS,WAAYvF,MACxGA,KAAKqP,UAELrP,KAAKuP,UAGPvP,KAAKoY,WAGPpY,KAAKuF,QAAQY,OAASA,EACtBnG,KAAKmV,eACLnV,KAAKqY,aAEErY,MAMTsV,SAAU,WACR,IAAKtV,KAAK6P,MAAM3O,IAAI,gBAAkBlB,KAAKiY,cAAgBpU,EAAA,QAAkEX,WAAWlD,KAAK6P,MAAMyI,eAAgB,CACjK,GAAMC,GAAkBvY,KAAK6P,MAAMyI,cAActY,KAAKuF,QAAQ5E,KAE1D4X,IACF1U,EAAA,QAAkEoT,MAChE,WACEjX,KAAK6P,MAAM9K,QAAQ,oBAAsB/E,KAAKuF,QAAQ5E,MACtDX,KAAK6P,MAAM9K,QAAQ,UAAW/E,KAAK6P,MAAO0I,GAAiB,IAC3DtS,KAAKjG,MACP,OASRkV,kBAAmB,WACjBlV,KAAKmF,SAASnF,KAAK6P,MAAO,mBAAoB,SAAUlP,GAClDX,KAAKuF,QAAQ5E,OAASA,GACxBX,KAAKwY,gBAGTxY,KAAKmF,SAASnF,KAAK6P,MAAO,4BAA8B7P,KAAKuF,QAAQ5E,KAAMX,KAAKyY,cAChFzY,KAAKmF,SAASnF,KAAK6P,MAAO,oBAAsB7P,KAAKuF,QAAQ5E,KAAMX,KAAKyY,eAO1E9I,IAAK,WACH,KAAM,IAAIlH,OAAM,gCAMlBsM,MAAO,WACL,KAAM,IAAItM,OAAM,kCAOlBzF,aAAc,WACZ,MAAO,IAMTmV,SAAU,WACR,GAAM5S,GAAU1B,EAAA,QAAkEwC,UAAWrG,KAAKuF,SAChGlD,MAAOrC,KAAKiW,iBAKd,OAFAjW,MAAKuE,IAAImU,KAAK1Y,KAAKuD,SAASgC,IAC5BvF,KAAKuF,QAAQoT,OAAS3Y,KAAKuE,IAAIiL,YAAY,YACpCxP,MAMToY,SAAU,WAIR,MAHApY,MAAKuE,IAAIyC,KAAKhH,KAAK4Y,qBACnB5Y,KAAKuE,IAAIiL,YAAY,eACrBxP,KAAKuF,QAAQoT,OAAS3Y,KAAKuE,IAAI+K,SAAS,YACjCtP,MAGT4Y,kBAAmB,WACjB,GAAMC,GAAchV,EAAA,QAAkEf,UAAU9C,KAAKuF,QAAS,iBAAkBvF,KAEhI,OAAI6Y,IAGG7Y,KAAK8Y,iBAOd7C,cAAe,WACb,GAAI5T,GAAQrC,KAAK6P,MAAM3O,IAAIlB,KAAKuF,QAAQ5E,KAQxC,OANIkD,GAAA,QAAkEX,WAAWlD,KAAK+Y,QACpF1W,EAAQrC,KAAK+Y,KAAKxY,KAAKP,KAAMqC,IAE3BwB,EAAA,QAAkEX,WAAWlD,KAAKuF,QAAQwT,QAC5F1W,EAAQrC,KAAKuF,QAAQwT,KAAKxY,KAAKP,KAAMqC,IAEhCA,GAQTyW,cAAe,WACb,GAAIzW,GAAQrC,KAAKiW,eAMjB,OAJIjW,MAAKuF,QAAQA,UAEflD,EAAQrC,KAAKuF,QAAQA,QAAQlD,IAExBA,GAASrC,KAAKgD,gBAMvBgW,OAAQ,WACNhZ,KAAK6P,MAAM9K,QAAQ,gBAMrBsK,QAAS,WACPrP,KAAKoV,EAAE,UAAUhG,KAAK,YAAY,IAMpCG,OAAQ,WACNvP,KAAKoV,EAAE,UAAUhG,KAAK,YAAY,IAOpC6J,WAAY,SAAUvJ,GACpB1P,KAAKoV,EAAE,UAAUhG,KAAK,OAAQM,GAE9B1P,KAAKuF,QAAQmK,KAAOA,GAGtB4E,cAAe,WACb,MAAIzQ,GAAA,QAAkEgN,QAAQ7Q,KAAKuF,QAAQ5E,MAClFX,KAAKuF,QAAQ5E,KAAK8I,KAAK,KAEzBzJ,KAAKuF,QAAQ5E,MAQtBuY,UAAW,SAAU3T,GACnB,GAAM4T,GAAO5T,GAAWvF,KAAKuF,WAE7B,OAAO1B,GAAA,QAAkEI,MAAMJ,EAAA,QAAkEf,UAAUqW,EAAM,SAAUnZ,YAS7KoZ,SAAU,SAAUjP,EAAKnH,GACvB,GAAM8R,GAASjR,EAAA,QAAkEf,UAAU9C,KAAKkZ,YAAa/O,EAAKnK,KAElH,OAAQ6D,GAAA,QAAkEV,YAAY2R,GAAmB9R,EAAT8R,GASlGuE,oBAAqB,SAAUlP,GAC7B,MAAOnK,MAAKoZ,SAASjP,IAAQtG,EAAA,QAAkEiR,OAAO9U,KAAMmK,IAG9GqO,YAAa,WACXxY,KAAKuE,IAAI+K,SAAS,sBAGpBmJ,aAAc,WACZzY,KAAKuE,IAAIiL,YAAY,yBAOlB,SAAS5P,EAAQwC,EAAqBlC,GAG7CY,OAAOC,eAAeqB,EAAqB,cAAgBC,OAAO,GAC7C,IAAI8L,GAAyDjO,EAAoB,GAC7EoZ,EAAiDpZ,EAAoB,GAUjEkC,GAAA,QAAkCkX,EAAA,EAAkEjT,QAM7HkT,YAAY,EAEZC,oBACEpL,SAAU,UACVqL,YAAa,WAGfrV,YAAa,WACXpE,KAAK0Z,MAAQvL,EAAA,QAAkE3I,YAAa2I,EAAA,QAAkE2G,OAAO9U,KAAM,SAAUA,KAAKwZ,oBAEtLrL,EAAA,QAAkE2G,OAAO9U,KAAM,gBACjFA,KAAK2Z,KAAOxL,EAAA,QAAkE0G,KAAK7U,KAAK2Z,KAAM,SAAUA,EAAM/E,EAAQ/E,EAAOtK,GAC3H,MAAOoU,GAAKpZ,KAAKP,KAAM4U,EAAQ/E,EAAO1B,EAAA,QAAkE9H,QAASuT,SAAU,cAAgBrU,OAI/I+T,EAAA,EAAkEjV,MAAMrE,KAAMsE,eAQ7E,SAAS1E,EAAQD,GAExBC,EAAOD,QAAUqM,EAAQ,MAIlB,SAASpM,EAAQwC,EAAqBlC,GAGxB,GAAI2Z,GAAoD3Z,EAAoB,GACxE4Z,EAA4C5Z,EAAoB,GAGnF6Z,EAAMD,EAAA,QAAqDvP,SAC3DyP,GACJC,OAAQ,SACRC,OAAQ,SACRC,QAAS,UACTC,QAAS,UACTC,OAAQ,SACRC,mBACEC,YAAa,OACbC,IAAK,MACLC,MAAO,QAEPC,eAAgB,eAChBC,gBAAiB,gBACjBC,aAAgB,eAChBC,cAAiB,gBACjBC,OAAQ,SACRC,SAAU,WACVC,SAAU,aAEZC,kBACEC,cAAe,gBACfC,cAAe,gBACfC,cAAe,gBACfC,eAAgB,iBAChBC,gBAAiB,iBAEnBC,cACEC,MAAQ9L,KAAM,SAAU+L,OAAQ,aAChCjB,KAAO9K,KAAM,SAAU+L,OAAQ,OAC/BhB,OAAS/K,KAAM,SAAU+L,OAAQ,SAEjCf,gBAAkBhL,KAAM,SAAU+L,OAAQ,gBAC1Cd,iBAAmBjL,KAAM,SAAU+L,OAAQ,iBAC3Cb,cAAkBlL,KAAM,UACxBmL,eAAmBnL,KAAM,UACzBoL,QAAUpL,KAAM,SAAU+L,OAAQ,UAClCV,UAAYrL,KAAM,SAAU+L,OAAQ,YACpCzR,QAAU0F,KAAM,UAChB7E,QAAU6E,KAAM,UAChBgM,SAAWhM,KAAM,WACjBiM,SAAWjM,KAAM,WACjBkM,WAAalM,KAAM,SAAU+L,OAAQ,UACrCP,eAAiBxL,KAAM,QAASmM,OAASnM,KAAM,WAC/CyL,eAAiBzL,KAAM,QAASmM,OAASnM,KAAM,WAC/C0L,eAAiB1L,KAAM,QAASmM,OAASnM,KAAM,WAC/C2L,gBAAkB3L,KAAM,QAASmM,OAASnM,KAAM,YAChD4L,iBAAmB5L,KAAM,QAASmM,OAASnM,KAAM,SAAU+L,OAAQ,WACnEK,OAASpM,KAAM,SACfqM,UAAYrM,KAAM,WAEpBsM,gBAAiB,SAAU,SAAU,UAAW,YAChDC,aACE,SACA,SACA,UACA,SACA,gBACA,gBACA,iBACA,iBAEFC,UACElS,OAAQ,SACRa,OAAQ,SACR6Q,QAAS,UACTC,QAAS,UACTH,KAAM,WACNna,OAAQ,SACR6Z,cAAe,eACfC,cAAe,eACfC,cAAe,eACfC,eAAgB,gBAChBC,gBAAiB,kBAEjBZ,eAAgB,eAChBC,gBAAiB,gBACjBC,aAAgB,eAChBC,cAAiB,gBACjBe,UAAW,YACXb,SAAU,WACVe,MAAO,SAETK,YACEC,SAAU,YACVC,UAAW,aACXC,UAAW,aACXC,UAAW,aAEbC,OACEC,KAAM,OACNC,KAAM,OACNC,OAAQ,UAEVC,cACEF,KAAM,gBACNC,OAAQ,SACRE,GAAI,QAENC,OACEC,QAAS,UACTC,OAAQ,UAEVC,eACEF,QAAShD,EAAI,mEAAoE,WACjFiD,OAAQjD,EAAI,oEAAqE,YAEnFmD,YACEC,KAAM,OACNC,UAAW,YACXC,WAAY,aACZC,WAAY,cAEdC,sCACEJ,KAAMpD,EAAI,iEAAkE,WAC5EqD,UAAWrD,EAAI,qEAAsE,WACrFuD,WAAYvD,EAAI,sEAAuE,YAEzFyD,mCACEC,QAAS1D,EAAI,wDAAyD,WACtE2D,cAAe3D,EAAI,6DAA8D,WACjF4D,SAAU5D,EAAI,yDAA0D,YAE1E6D,cACEnB,KAAM,eACNoB,YAAa,uBACbC,WAAY,sBACZC,YAAa,uBACbC,YAAa,wBAEfC,oBACEC,MAAO,QACPC,OAAQ,SACR1B,KAAM,QAER2B,YACEC,WAAY,aACZC,mBAAoB,qBACpBC,iBAAkB,oBAWpBC,eAAgB,SAAU9O,EAAM+L,EAAQgD,EAAUzb,GAChD,GAAI0b,SAmBJ,OAdIhP,KAIAgP,EADEjD,EACYzb,KAAKsa,kBAAkBmB,GAIvBgD,EAAWze,KAAKib,iBAAiBvL,EAAO,KAAO+O,GAAY/O,GAGxEgP,IACHA,MAAsC,KAAjB1b,EAA+B,GAAKA,GAEpD0b,GAUTC,sBAAuB,SAAUC,EAAkBC,EAAYC,GAC7D,GAAIC,GAAqB/e,KAAK4d,aAAanB,IAgB3C,OAbyB,cAArBmC,EACiB,aAAfC,EACFE,EAAqB/e,KAAK4d,aAAaC,YACf,OAAfgB,IACTE,EAAqB/e,KAAK4d,aAAaE,YAEX,cAArBc,GAAmD,UAAfC,IAE3CE,EADc,aAAZD,EACmB9e,KAAK4d,aAAaI,YAElBhe,KAAK4d,aAAaG,aAGpCgB,GAGTC,gBAAiB,SAAUtP,GACzB,MAAOmK,GAAA,QAA6DpI,SAASoI,EAAA,QAA6DoF,OAAOjf,KAAKib,kBAAmBvL,IAG3KwP,iBAAkB,SAAUxP,GAC1B,MAAO1P,MAAKkc,SAAS7a,SAAWqO,GAGPtN,GAAA,EAA4B4X,GAKlD,SAASpa,EAAQwC,EAAqBlC,GAG7CY,OAAOC,eAAeqB,EAAqB,cAAgBC,OAAO,GAC7C,IAAI8L,GAAyDjO,EAAoB,GAC7Eif,EAAsDjf,EAAoB,GAUtEkC,GAAA,QAAkC+c,EAAA,EAAuE9Y,QAMlIkT,YAAY,EAEZnV,YAAa,WACP+J,EAAA,QAAkE2G,OAAO9U,KAAM,gBACjFA,KAAK2Z,KAAOxL,EAAA,QAAkE0G,KAAK7U,KAAK2Z,KAAM,SAAUA,EAAM/E,EAAQwK,EAAY7Z,GAChI,MAAOoU,GAAKpZ,KAAKP,KAAM4U,EAAQwK,EAAYjR,EAAA,QAAkE9H,QAASuT,SAAU,cAAgBrU,OAGpJ4Z,EAAA,EAAuE9a,MAAMrE,KAAMsE,eAQlF,SAAS1E,EAAQwC,EAAqBlC,GAG7CY,OAAOC,eAAeqB,EAAqB,cAAgBC,OAAO,GAC7C,IAAI8L,GAAyDjO,EAAoB,GAC7Emf,EAAuCnf,EAAoB,IAI9Eof,EAAW,SAAUzP,GACzB,GAAM6J,GAAQvL,EAAA,QAAkE2D,KAAKjC,EAAM6J,MAAOvL,EAAA,QAAkE7D,KAAKuF,EAAM2J,oBAE/K,OAAOrL,GAAA,QAAkEgD,KAAKtB,EAAM0P,OAASpR,EAAA,QAAkEgD,KAAKuI,GAAS,GAwBzK8F,EAAqBH,EAAA,QAAgDhZ,QAKvEoZ,MAAM,EAENrb,YAAa,WACXib,EAAA,QAAgDhb,MAAMrE,KAAMsE,WAC5DtE,KAAKqV,GAAG,OAAQrV,KAAK0f,aAGvB5O,OAAQ,WACN,OAAIwO,EAAStf,OACJqf,EAAA,QAAgD9d,UAAUuP,OAAOzM,MAAMrE,KAAMsE,YAOxFwL,IAAK,SAAU3F,EAAKwF,GAClB,GAAIgQ,SA2BJ,OAzBmB,gBAAf,KAAOxV,EAAP,eAAAlI,EAAAJ,SAAOsI,IACTwV,EAAQxV,GAEPwV,MAAYxV,GAAOwF,EAItB7O,OAAOqN,EAAA,SAAmEwR,GAAO3O,KAAK,SAAU/L,EAAIT,GAC7FS,GAAOkJ,EAAA,QAAkE0C,QAAQ5L,EAAG2a,eAGzF5f,KAAKqV,GACH,UAAYpQ,EAAG2a,aAAanW,KAAK,YACjC,WACE,GAAMkG,GAAM3P,KAAKkB,IAAIsD,EAEjBmL,KAAQ3P,KAAA,WAAmB6f,mBAAmBrb,KAChDxE,KAAA,WAAmB6f,mBAAmBrb,GAAQmL,EAC9C3P,KAAK+E,QAAQ,UAAYP,EAAMmL,KAGnC3P,OAEDA,MAEIqf,EAAA,QAAgD9d,UAAUuO,IAAIzL,MAAMrE,KAAMsE,YAUnFpD,IAAK,WACH,GAAMmB,GAAQgd,EAAA,QAAgD9d,UAAUL,IAAImD,MAAMrE,KAAMsE,UAExF,OAAI6J,GAAA,QAAkEjL,WAAWb,GACxEA,EAAMgC,MAAMrE,KAAMmO,EAAA,QAAkEyD,IAAIvP,EAAMud,iBAAoB5f,KAAKkB,IAAKlB,OAE9HqC,GAsBTyd,OAAQ,SAAUva,GAChBA,IAAYA,KACZ,IAAMwa,GAAMV,EAAA,QAAgD9d,UAAUue,OAAOzb,MAAMrE,KAAMsE,UAsBzF,OAnBAxD,QAAOqN,EAAA,SAAmE4R,GAAK/O,KAAK,SAAU3O,EAAO8H,GAC9E,kBAAV9H,KACLkD,EAAQya,QACVD,EAAI5V,GAAOnK,KAAKkB,IAAIiJ,SAEb4V,GAAI5V,KAGdnK,MAGEuF,EAAQya,SACXlf,OAAOqN,EAAA,SAAmE4R,GAAK/O,KAAK,SAAU3O,EAAO8H,GAC/F,YAAYjB,KAAKiB,UACZ4V,GAAI5V,KAKV4V,GAGTE,mBAAoB,SAAU/M,GAC5B,GAAMyM,KAON,OALAxR,GAAA,QAAkE6C,KAAKkC,EAAY,SAAU7Q,EAAO8H,GAC7FgE,EAAA,QAAkEjL,WAAWb,KAChFsd,EAAMxV,GAAO9H,KAGVsd,GAGTO,MAAO,SAAU3a,GACfvF,KAAKmgB,MAAM5a,GACXvF,KAAK8P,IAAI9P,KAAKigB,mBAAmBjgB,KAAKwF,UAAWD,IAGnD4a,MAAO,SAAU5a,GACf,GAAMoa,KAKN,OAHAxR,GAAA,QAAkE6C,KAAKhR,KAAKigB,mBAAmBjgB,KAAKkT,YAAa,SAAU7Q,EAAO8H,GAChIwV,EAAMxV,OAAO,KAERnK,KAAK8P,IAAI6P,EAAOxR,EAAA,QAAkE9H,UAAWd,GAAW6a,OAAO,MAMxHV,WAAY,SAAUW,GACpBrgB,KAAKsgB,YAAcD,GAAYlS,EAAA,QAAkEjL,WAAWmd,EAASP,QAAUO,EAASP,aAM1IS,WAAY,WACV,MAAOvgB,MAAKsgB,aAGdE,SAAU,WACR,MAAOrS,GAAA,QAAkEsS,QAAQzgB,KAAKugB,aAAcvgB,KAAK8f,aA2B3GY,iBAAkB,WAChB,GAAMhY,GAAOyF,EAAA,QAAkEwS,QAAQrc,WAEjFW,EAAKyD,EAAKkY,KAGhB,OADA3b,GAAG2a,aAAelX,EAAKkY,MAChB3b,IAIgB7C,GAAA,QAAkCod,GAKxD,SAAS5f,EAAQwC,EAAqBlC,GAG7CY,OAAOC,eAAeqB,EAAqB,cAAgBC,OAAO,GAC7C,IAAIwX,GAAoD3Z,EAAoB,GACxE2gB,EAAgD3gB,EAAoB,EAGhEkC,GAAA,SAC3B0e,SAAU,SAAUC,GAClBxZ,OAAOyZ,SAAWD,GAGpBE,WAAY,WACV1Z,OAAOyZ,SAASE,UAGlBC,cAAe,SAAUC,GACvB,MAAO,YACL,KAAM,IAAI3Y,OAAM2Y,KAWpBC,kBAAmB,SAAUC,GAC3BzH,EAAA,QAA6D5W,SAASqe,KAAaA,KAEnF,IAAMC,GAAgB1H,EAAA,QAA6DxI,QACjFwI,EAAA,QAA6DjI,IAAI0P,EAAS,SAAUjf,EAAO8H,GACzF,OAAclB,KAAV5G,GAAiC,OAAVA,EACzB,MAAO8H,GAAM,IAAMP,mBAAmBvH,SAG1C4G,IACAQ,KAAK,IAEP,OAAOoQ,GAAA,QAA6D/N,QAAQyV,GAAiB,GAAK,IAAMA,GAG1GC,YArC6D,SAqCjD5f,GACV,MAAOA,aAAeif,GAAA,SAA4Djf,EAAIL,oBAAqBsf,GAAA,SAA4Djf,IAAQif,EAAA,WAO5K,SAASjhB,EAAQwC,EAAqBlC,GAG7CY,OAAOC,eAAeqB,EAAqB,cAAgBC,OAAO,GAC7C,IAAI4R,GAAqD/T,EAAoB,GACzE2D,EAAyD3D,EAAoB,GAC7EuhB,EAAgDvhB,EAAoB,IACpEwhB,EAA2CxhB,EAAoB,IAC/DyhB,EAA6CzhB,EAAoB,GACjE0hB,EAAiD1hB,EAAoB,IACrE2hB,EAAiD3hB,EAAoB,GACrE4hB,EAAoE5hB,EAAoB,IAU3G6Z,EAAM8H,EAAA,QAA0DtX,SAChE0P,EAAS2H,EAAA,EAAkE3H,OAC3EC,EAAS0H,EAAA,EAAkE1H,OAC3EC,EAAUyH,EAAA,EAAkEzH,QAC5EE,EAASuH,EAAA,EAAkEvH,OAE3E0H,EAAmB,SAAUrS,EAAMsS,GACvC,MAAOtS,GAAO,KAAOsS,GAGjBC,EAA0BP,EAAA,QAAoDrb,QAClFb,UACE0c,gBAAajZ,GACbkZ,cAAWlZ,GACXmZ,cAAWnZ,GACXwS,WAAQxS,IAEV3B,MAAO,SAAU+a,GACf,GAAIxe,EAAA,QAAkEuC,SAASic,EAAK5G,QAAS,CAC3F,GAAM6G,GAAU,aAAaC,KAAKF,EAAK5G,OAEnC6G,KACFD,EAAK5G,OAAS6G,EAAQ,IAG1B,MAAOD,MAGLG,EAAoCf,EAAA,QAAyDpb,QACjGwJ,MAAOoS,IAEHQ,EAAyCD,EAAkCnc,QAC/Eqc,MAAO,UAEHC,EAAyCH,EAAkCnc,QAC/Eqc,MAAO,UAEHE,EAA0CJ,EAAkCnc,QAChFqc,MAAO,WAEHG,GACJ7Y,OAAQ+P,EAAI,4CAA6C,WACzDlP,OAAQkP,EAAI,4CAA6C,WACzD4B,QAAS5B,EAAI,6CAA8C,WAC3D1Y,OAAQ0Y,EAAI,4CAA6C,YAGrD+I,EAAsB,gBACtBC,EAA+BrB,EAAA,QAAoDrb,QACvF2c,oBACEC,QAAS,2BACTC,YAAa,8BACbC,SAAU,2BACVC,OAAQ,0BAGVC,YAAa,OAEb3J,OACE4J,WACE5T,KAAM,QACN6T,SAAU,IAId/d,UAGE7E,KAAM,GACN+E,UAAOuD,GACPyG,SAAMzG,GACNiZ,gBAAajZ,GACbua,UAAU,EACV/H,WAAQxS,GAER2J,UAAO3J,GACPwa,eAAYxa,GACZya,UAAYC,aAAejH,KAAMkF,EAAA,EAAkE1E,WAAWE,YAC9GwG,WAAQ3a,GACR4a,iBAAc5a,GACd6a,gBAAiBpC,EAAA,QAAoDhB,kBAAkB,YAAa,SAAUgD,GAC5G,SAAUA,IAAYA,EAASK,aAEjCC,YAAY,EACZC,sBAAuBvC,EAAA,QAAoDhB,kBAAkB,UAAW,SAAUkD,GAChH,MAAOA,KAAWhC,EAAA,EAAkExD,WAAWG,mBAEjG2F,wBAAyBxC,EAAA,QAAoDhB,kBAAkB,UAAW,SAAUkD,GAClH,MAAOA,KAAWhC,EAAA,EAAkExD,WAAWE,qBAEjG6F,iBAAkBzC,EAAA,QAAoDhB,kBAAkB,wBAAyB,2BAC/G,SAAU0D,EAAaC,GACrB,MAAOD,IAAeC,IAE1BC,mBAAoB5C,EAAA,QAAoDhB,kBAAkB,gBAAiB,SAAU6D,GACnH,SAAUA,IAAYA,EAASC,kBAEjCC,mBAAoB7C,EAAA,EAAkE1E,WAAWE,UACjGsH,oBAAiBzb,GACjB0b,qBAAsBjD,EAAA,QAAoDhB,kBAAkB,mBAAoB,SAAUhC,GACxH,MAAOkD,GAAA,EAAkE1F,SAASwC,IAAgBA,IAEpGkG,oBAAoB,EAIpBC,eAAgBnD,EAAA,QAAoDhB,kBAAkB,cAAe,SAAUoE,GAC7G,MAAOA,KAAelD,EAAA,EAAkEzF,WAAWC,WAErG2I,gBAAiBrD,EAAA,QAAoDhB,kBAAkB,cAAe,SAAUoE,GAC9G,MAAOA,KAAelD,EAAA,EAAkEzF,WAAWE,YAErG2I,qBAAkB/b,GAClBgc,gBAAiBvD,EAAA,QAAoDhB,kBAAkB,SAAU,SAAUwE,GACzG,MAAOA,KAAUtD,EAAA,EAAkEpF,MAAME,OAE3FyI,yBAA0BzD,EAAA,QAAoDhB,kBAAkB,kBAAmB,mBAAoB,SACrI0E,EACA1G,GAEA,OAAQ0G,GAAexD,EAAA,EAAkE5C,gBAAgBN,KAE3G2G,eAAgB3D,EAAA,QAAoDhB,kBAAkB,gBAAiB,SAAU4E,GAC/G,QAASA,IAEXC,qBAAsB7D,EAAA,QAAoDhB,kBAAkB,kBAAmB,SAAU8E,GACvH,MAAOA,IAAkC,SAApBA,EAAW7kB,OAIlC8kB,iBAAiB,EACjBC,gBAAiBhE,EAAA,QAAoDhB,kBAAkB,mBAAoB,SAAUhC,GACnH,MAAO7a,GAAA,QAAkE4N,SAASmQ,EAAA,EAAkE3F,YAAayC,KAEnKiH,qBAAsBjE,EAAA,QAAoDhB,kBAAkB,mBAAoB,SAAUhC,GACxH,MAAO7a,GAAA,QAAkE4N,UAAUmQ,EAAA,EAAkE1H,OAAQ0H,EAAA,EAAkE3G,iBAAiBG,eAAgBsD,KAElQkH,sBAAuBlE,EAAA,QAAoDhB,kBAAkB,mBAAoB,SAAUhC,GACzH,MAAO7a,GAAA,QAAkE4N,UAAUmQ,EAAA,EAAkEzH,QAASyH,EAAA,EAAkE3G,iBAAiBI,gBAAiBqD,KAEpQmH,qBAAsBnE,EAAA,QAAoDhB,kBAAkB,mBAAoB,SAAUhC,GACxH,MAAO7a,GAAA,QAAkE4N,UAAUmQ,EAAA,EAAkEvH,OAAQuH,EAAA,EAAkE3G,iBAAiBC,eAAgBwD,KAElQoH,qBAAsBpE,EAAA,QAAoDhB,kBAAkB,mBAAoB,SAAUhC,GACxH,MAAO7a,GAAA,QAAkE4N,UAAUmQ,EAAA,EAAkE3H,OAAQ2H,EAAA,EAAkE3G,iBAAiBE,eAAgBuD,KAElQqH,uBAAwBrE,EAAA,QAAoDhB,kBACzE,uBAAwB,uBAAwB,wBAAyB,wBAC1E,SAAUsF,EAAcC,EAAcC,EAAeC,GACnD,MAAIH,GACK/L,EAELgM,EACK/L,EAELgM,EACK/L,EAELgM,EACK9L,MADT,KAKJ+L,8BAA+B1E,EAAA,QAAoDhB,kBAAkB,kBAAmB,mBAAoB,SAC1I2F,EACAC,GAEA,MAAOD,IAAeC,IAExBC,wBAAyB7E,EAAA,QAAoDhB,kBAAkB,uBAAwB,QAAS,SAC9H8F,EACA7lB,GAEA,MAAO6lB,IAA6B,UAAT7lB,IAE7B8lB,oCAAqC/E,EAAA,QAAoDhB,kBAAkB,8BACzG,SAAUgG,GACR,MAAOA,KAA2B9E,EAAA,EAAkE3D,mBAAmBC,SAI7HzO,WAAY,WACViS,EAAA,QAAoDngB,UAAUkO,WAAWpL,MAAMrE,KAAMsE,WACrFtE,KAAKmF,SAASnF,KAAM,yBAA0BA,KAAK2mB,8BACnD3mB,KAAKmF,SAASnF,KAAM,yCAA0CA,KAAK4mB,oBACnE5mB,KAAKmF,SAASnF,KAAM,sCAAuCA,KAAK6mB,eAChE7mB,KAAKmF,SAASnF,KAAM,oBAAqBA,KAAK8mB,wBAC9C9mB,KAAKmF,SAASnF,KAAM,wBAAyBA,KAAK+mB,oBAClD/mB,KAAK+mB,qBACL/mB,KAAKgnB,oBAGP1f,MAAO,SAAU+a,GAqBf,MAnBAA,GAAOxe,EAAA,QAAkEI,MAAMoe,GAE7D,WAAdA,EAAK3S,MAA2C,UAAtB2S,EAAK4E,eACjC5E,EAAK3S,KAAO,SAEd2S,EAAA,gBAA0BT,EAAA,EAAkEpD,eAC1F6D,EAAK3S,KACL2S,EAAK5G,OACL4G,EAAKxG,MAASwG,EAAKxG,MAAMJ,OAAS4G,EAAKxG,MAAMJ,OAAS4G,EAAKxG,MAAMnM,SAAQzG,IAE3EjJ,KAAKknB,qBAAqB7E,GAC1BA,EAAA,oBAAoJ,IAAvHT,EAAA,EAAkE5F,eAAemL,QAAQ9E,EAAA,iBACtHA,EAAA,iBAA2BT,EAAA,EAAkEhF,aAAayF,EAAK6C,QAAUtD,EAAA,EAAkEhF,aAAaC,GACpMwF,EAAKqB,UAAYrB,EAAKqB,SAASC,aAAetB,EAAKqB,SAASC,YAAYjH,OAC1E2F,EAAA,mBAA6BA,EAAKqB,SAASC,YAAYjH,MAEzD1c,KAAKonB,mBAAmB/E,GACxBriB,KAAKqnB,eAAehF,GACpBriB,KAAKsnB,eAAejF,GACbA,GAGT/M,SAAU,WACR,GAAMiS,GAAsBvnB,KAAKwnB,oBAEjC,IAAID,EACF,MAAOA,EAGT,IAAKvnB,KAAKkB,IAAI,uBAA0BlB,KAAKkB,IAAI,kBAAjD,CAIA,GAAMumB,GAAgBznB,KAAKkB,IAAI,kBACzBwmB,EAAmB1nB,KAAKA,KAAKgjB,mBAAmByE,GAEtD,OAAI5jB,GAAA,QAAkEX,WAAWwkB,GACxEA,EAAiBnnB,KAAKP,UAE7B2hB,GAAA,QAAsD9U,KAAK,oCAAsC4a,KAKrGE,yBAA0B,WACxB,GAAMC,GAAS5nB,KAAKkB,IAAI,cAClB2mB,EAAS7nB,KAAKkB,IAAI,aAExB,IAAK0mB,GAAWC,EAAhB,CAGA,IAAKD,EACH,OAASE,WAAY,wBAEvB,KAAKD,EACH,OAASE,WAAY,wBAGvB,IAAIpY,GAAM3P,KAAKgoB,yBAAyB,aAAc,YAEtD,OAAIrY,MAGJA,EAAM3P,KAAKgoB,yBAAyB,aAAc,iBAI7CJ,IAAWC,GACLE,WAAY,4CADvB,OAKFE,4BAA6B,WAG3B,GAFejoB,KAAKkB,IAAI,cAExB,CAIA,GAAMyO,GAAM3P,KAAKgoB,yBAAyB,aAAc,YAExD,OAAIrY,QAAJ,KAKFuY,yBAA0B,WAGxB,GAFeloB,KAAKkB,IAAI,cAExB,CAIA,GAAMyO,GAAM3P,KAAKgoB,yBAAyB,aAAc,YAExD,OAAIrY,QAAJ,KAKFwY,uBAAwB,WAGtB,GAFenoB,KAAKkB,IAAI,cAExB,CAIA,GAAMyO,GAAM3P,KAAKgoB,yBAAyB,aAAc,aAExD,OAAIrY,QAAJ,KAKFqY,yBAA0B,SAAUI,EAAOznB,GACzC,GAAMgP,GAAM3P,KAAKkB,IAAIknB,GACftb,IAEN,OAAIub,OAAM1Y,IACR7C,EAAMsb,GAASznB,EAAO,oBACfmM,IAEJ6C,EAAM,GACT7C,EAAMsb,GAASznB,EAAO,0BACfmM,OAFT,IAMFsa,mBAAoB,SAAU/E,GAC5B,GAAIA,EAAKqB,UAAYrB,EAAKqB,SAAS4E,gBAAkBjG,EAAKqB,SAAS4E,eAAgB,CACjF,GAAMC,GAAsBlG,EAAKqB,SAAS4E,eAAejmB,KAErDwB,GAAA,QAAkEgN,QAAQ0X,KAAyB1kB,EAAA,QAAkEiI,QAAQyc,IAC/KlG,EAAA,uBAAiC,WACjCA,EAAA,wBAAkCkG,OAElClG,EAAA,uBAAiCA,EAAKqB,SAAS4E,eAAe5Y,SAGhE2S,GAAA,uBAAiC,WAIrC6E,qBAAsB,SAAU7E,GAE1BA,EAAA,kBAA4BpI,GAC9BoI,EAAA,WAAqBA,EAAKF,UAC1BE,EAAA,WAAqBA,EAAKD,WACjBC,EAAA,kBAA4BlI,GAAWkI,EAAA,kBAA4BnI,IAC5EmI,EAAA,WAAqBA,EAAKmG,QAC1BnG,EAAA,WAAqBA,EAAKoG,SAExBpG,EAAA,YAAsBA,EAAA,WACpBA,EAAA,aAAuBA,EAAA,YACzBA,EAAA,eAAyB,SACzBA,EAAA,WAAqBA,EAAA,YAErBA,EAAA,eAAyB,WAEjBA,EAAA,YAAsBA,EAAA,WAChCA,EAAA,eAAyB,YACfA,EAAA,YAAsBA,EAAA,aAChCA,EAAA,eAAyB,gBAI7BgF,eAAgB,SAAUhF,GACpBA,EAAKqG,MACPrG,EAAA,WAAqB,GAAII,GAAuCJ,EAAKqG,OAASphB,OAAO,IAC5E+a,EAAKsG,MACdtG,EAAA,WAAqB,GAAIM,GAAuCN,EAAKsG,OAASrhB,OAAO,IAC5E+a,EAAKuG,SACdvG,EAAA,WAAqB,GAAIO,GAAwCP,EAAKuG,QAAUthB,OAAO,MAI3FggB,eAAgB,SAAUjF,GACxB,GAAMuB,GAASvB,GAAQA,EAAKuB,MAC5BvB,GAAA,cAAwBuB,GACrBA,IAAWhC,EAAA,EAAkExD,WAAWG,kBAAoBqF,IAAWhC,EAAA,EAAkExD,WAAWE,qBAGzM0I,iBAAkB,WAChB,GAAKhnB,KAAKkB,IAAI,2BAAd,CAIA,GAAM2nB,GAAU7oB,KAAKkB,IAAI,UA/UE,QAiVvB2nB,EACF7oB,KAAK8P,IAAI,6BAA8B8R,EAAA,EAAkE3D,mBAAmBxB,MACnHoM,GACT7oB,KAAK8P,IAAI,6BAA8B8R,EAAA,EAAkE3D,mBAAmBE,QAC5Hne,KAAK8P,IAAI,mCAAoC9P,KAAK8oB,qBAAqBD,KAEvE7oB,KAAK8P,IAAI,6BAA8B8R,EAAA,EAAkE3D,mBAAmBC,SAIhI0I,mBAAoB,WAClB,GAAMlX,GAAO1P,KAAKkB,IAAI,OAEtB,IAAIwO,IAASuK,GAAUja,KAAKkB,IAAI,UAC9BlB,KAAK8P,IAAI,kBAAmB8R,EAAA,EAAkEtH,kBAAkBta,KAAKkB,IAAI,gBACpH,CACL,GAAM2a,GAAQ7b,KAAKkB,IAAI,SACjB6nB,EAAYlN,IAAUA,EAAMJ,OAASI,EAAMJ,OAASI,EAAMnM,KAE5DA,IAAQqZ,EACV/oB,KAAK8P,IAAI,kBAAmB8R,EAAA,EAAkE3G,iBAAiB8G,EAAiBrS,EAAMqZ,KAEtI/oB,KAAK8P,IAAI,kBAAmBJ,KAKlC8X,mBAAoB,WAClB,GAAKxnB,KAAKkB,IAAI,iCAAd,CAIA,GAAM8nB,GAAYhpB,KAAKkB,IAAI,gBAE3B,IAAI2C,EAAA,QAAkEiI,QAAQkd,GAC5E,OAAS1F,UAAWvJ,EAAI,+BAAgC,WAG1D,KAAK/Z,KAAKipB,2BAA2BD,GAAY,CAC/C,GAAME,GAAiBlpB,KAAKkB,IAAI,yBAGhC,QAASoiB,UAFYT,EAA4BqG,OAMrDD,2BAA4B,SAAUhK,GACpC,GAAMiK,GAAiBlpB,KAAKkB,IAAI,yBAEhC,OAAO2C,GAAA,QAAkEslB,IAAIlK,EAAQ,SAAU5c,GAC7F,MAAOyf,GAAA,EAAqFsH,2BAA2B/mB,EAAMgnB,MAAOH,MAIxIpJ,OAAQ,WACN,GAAIwJ,GAAO5H,EAAA,QAAoDngB,UAAUue,OAAOzb,MAAMrE,KAAMsE,UAmB5F,OAjBAglB,GAAK5F,UAAaC,gBAClB2F,EAAK5F,SAASC,YAAd,KAAoC3jB,KAAKkB,IAAI,sBAGzClB,KAAKkB,IAAI,qBACXooB,EAAK5F,SAASK,UAAY/jB,KAAKkB,IAAI,oBAEZ,UAArBlB,KAAKkB,IAAI,UACXooB,EAAK5Z,KAAO,SACZ4Z,EAAKrC,aAAe,SAGtBqC,EAAOtpB,KAAKupB,gBAAgBD,GAC5BA,EAAOtpB,KAAKwpB,yBAAyBF,GACrCA,EAAOtpB,KAAKypB,qBAAqBH,GACjCA,EAAOtpB,KAAK0pB,mBAAmBJ,GAC/BA,EAAOtpB,KAAK2pB,sBAAsBL,IAIpCE,yBAA0B,SAAUF,GAClC,GAAMM,GAAqB5pB,KAAKkB,IAAI,0BAC9BqnB,EAAsBvoB,KAAKkB,IAAI,0BAqBrC,OAnB2B,kBAAvB0oB,EACFN,EAAK5F,SAAS4E,gBAAmB5Y,KAAM,iBACP,aAAvBka,IACTN,EAAK5F,SAAS4E,gBAAmB5Y,KAAM,eAAgBrN,UACnDkmB,YAA+B9G,GAAA,QACjC5d,EAAA,QAAkEmN,KAAKuX,EAAoBzI,SAAU,SAAU+J,GAC7GP,EAAK5F,SAAS4E,eAAejmB,MAAMmJ,KAAKqe,EAAgBplB,MAEjD8jB,YAA+B5f,SACxC2gB,EAAK5F,SAAS4E,eAAejmB,MAAQkmB,GAEnC1kB,EAAA,QAAkEiI,QAAQwd,EAAK5F,SAAS4E,eAAejmB,cAClGinB,GAAK5F,SAAS4E,gBAIE,YAAvBsB,SACKN,GAAK5F,SAAS4E,eAEhBgB,GASTG,qBAAsB,SAAUH,GAK9B,MAJKtpB,MAAKkB,IAAI,8BACZooB,EAAA,UAAgBrgB,IAGXqgB,GAGTC,gBAAiB,SAAUD,GACzB,IAAKtpB,KAAKkB,IAAI,iCACZ,MAAOooB,EAKT,IAAMN,GAAYhpB,KAAK8pB,6BAUvB,OARyB,UAArB9pB,KAAKkB,IAAI,eACJooB,GAAKzN,MAAMkO,KAClBT,EAAKzN,MAAM8M,MAAQK,UAEZM,GAAKS,KACZT,EAAKX,MAAQK,GAGRM,GAGTI,mBAAoB,SAAUJ,GAC5B,IAAKtpB,KAAKkB,IAAI,6BAA+BlB,KAAKkB,IAAI,8BACpD,MAAOooB,EAGT,QAAQtpB,KAAKkB,IAAI,+BACjB,IAAK0gB,GAAA,EAAkE3D,mBAAmBC,YACjFoL,GAAKT,OACZ,MACF,KAAKjH,GAAA,EAAkE3D,mBAAmBE,OACxFmL,EAAKT,QAAU7oB,KAAKgqB,mBAAmBhqB,KAAKkB,IAAI,oCAChD,MACF,KAAK0gB,GAAA,EAAkE3D,mBAAmBxB,KACxF6M,EAAKT,QAveoB,KA2e3B,MAAOS,IAGTK,sBAAuB,SAAUL,GAO/B,MANKtpB,MAAKkB,IAAI,cAEFlB,KAAKkB,IAAI,sBACnBooB,EAAK1F,OAAShC,EAAA,EAAkExD,WAAWG,wBAFpF+K,GAAK1F,OAKP0F,GAMTW,kBAAmB,SAAUpB,EAASqB,GACpC,GAAMC,GAAOtB,EAAQuB,OAAOF,EAE5B,OAAIpH,GAAoB5Z,KAAKihB,GACpB,KAAOA,EAGTA,GAGTH,mBAAoB,SAAUnB,GAG5B,IAAK,GAFD/T,GAAS,GAEJzU,EAAI,EAAGA,EAAIwoB,EAAQhjB,OAAQxF,IAClCyU,GAAkB9U,KAAKiqB,kBAAkBpB,EAASxoB,EAGpD,OAAO,IAAMyU,EAAS,MAGxBgU,qBAAsB,SAAUD,GAC9B,GAAMwB,GAAK,cACLC,EAAUzB,EAAQ0B,MAAMF,EAE9B,OAAOC,GAAUA,EAAQ,GAAGthB,QAAQ,SAAU,MAAQ6f,GAGxDiB,4BAA6B,WAC3B,GAAMd,GAAYhpB,KAAKkB,IAAI,YAE3B,OAAO2C,GAAA,QAAkE+N,IAAIoX,EAAW,SAAU3mB,GAChG,MAAwF,KAApF4R,EAAA,QAA8DpI,KAAKxJ,EAAMqD,OACpErD,GAGTA,EAAMqD,MAAS7B,EAAA,QAAkEuC,SAAS/D,EAAMgnB,OAAuChnB,EAAMgnB,OAApC,EAAAtnB,EAAAF,SAAeQ,EAAMgnB,OAEvHhnB,MAIXskB,6BAA8B,WAC5B,GAAMjI,GAAc1e,KAAKkB,IAAI,kBAG7BlB,MAAKogB,MAAM,UAAYoK,QAAQ,IAC/BxqB,KAAKogB,MAAM,SAAWoK,QAAQ,IAC9BxqB,KAAK8P,IAAI8R,EAAA,EAAkErG,aAAamD,IACpFA,IAAgBxE,GAAUwE,IAAgBvE,IAC5Cna,KAAKogB,MAAM,WACXpgB,KAAKogB,MAAM,YAET1B,IAAgBzE,IAClBja,KAAKogB,MAAM,aACXpgB,KAAKogB,MAAM,cAGbpgB,KAAKogB,MAAM,cACXpgB,KAAKogB,MAAM,cACXpgB,KAAKogB,MAAM,cACXpgB,KAAK8P,IAAI,sBAAiJ,IAA3H8R,EAAA,EAAkE5F,eAAemL,QAAQnnB,KAAKkB,IAAI,sBAGnI2lB,cAAe,WACb,GAAI4D,UACAC,SACEhM,EAAc1e,KAAKkB,IAAI,kBAEzBwd,KAAgBzE,GAClBwQ,EAAM,YACNC,EAAM,aACGhM,IAAgBvE,GAAWuE,IAAgBxE,IACpDuQ,EAAM,UACNC,EAAM,WAGJ1qB,KAAKkB,IAAI,cACXlB,KAAK8P,IAAI2a,EAAK3f,SAAS9K,KAAKkB,IAAI,cAAe,KAE/ClB,KAAKogB,MAAMqK,GAGTzqB,KAAKkB,IAAI,cACXlB,KAAK8P,IAAI4a,EAAK5f,SAAS9K,KAAKkB,IAAI,cAAe,KAE/ClB,KAAKogB,MAAMsK,IAIf5D,uBAAwB,WACtB,GAAM1D,GAASpjB,KAAKkB,IAAI,aAEpBkiB,KACFpjB,KAAK8P,IAAI,aAAcsT,GACvBpjB,KAAK8P,IAAI,aAAcsT,KAQ3B2D,mBAAoB,WAClB,GAAM4D,GAAa3qB,KAAKkB,IAAI,kBACtBupB,EAAMzqB,KAAKkB,IAAI,cACfwpB,EAAM1qB,KAAKkB,IAAI,cACfkiB,EAASpjB,KAAKkB,IAAI,aAExB,QAAQypB,GACR,IAAK,UACH3qB,KAAK8P,IAAI,qBAAsB,WAAa2a,EAAM,QAAUC,EAC5D,MACF,KAAK,cACH1qB,KAAK8P,IAAI,qBAAsB,gBAAkB2a,EACjD,MACF,KAAK,WACHzqB,KAAK8P,IAAI,qBAAsB,aAAe4a,EAC9C,MACF,KAAK,SACH1qB,KAAK8P,IAAI,qBAAsB,UAAYsT,EAC3C,MACF,SACEpjB,KAAK8P,IAAI,qBAAsB,MAKnC8a,QAAS,WAC4B,aAA/B5qB,KAAKkB,IAAI,kBACXlB,KAAKogB,MAAM,cAC6B,gBAA/BpgB,KAAKkB,IAAI,mBAClBlB,KAAKogB,MAAM,cAETpgB,KAAKkB,IAAI,WAAa0gB,EAAA,EAAkEpF,MAAMG,UAC5D,IAAhC3c,KAAKkB,IAAI,mBACXlB,KAAK8P,KAAMoV,MAAOtD,EAAA,EAAkEpF,MAAME,OAAU8N,QAAQ,IAE5GxqB,KAAKogB,MAAM,UAIVpgB,KAAKkB,IAAI,eACZlB,KAAKogB,MAAM,WAQfyK,WAAY,WACV,QAAS7qB,KAAK8qB,iBAGhBA,cAAe,WACb,MACE9qB,MAAKkB,IAAI,UACTlB,KAAKkB,IAAI,SACRlB,KAAKkB,IAAI,UAAYlB,KAAKkB,IAAI,SAAT,OACrBlB,KAAKkB,IAAI,UAAYlB,KAAKkB,IAAI,SAAT,MAI1B6pB,qBAAsB,WACpB,GAAMC,GAAahrB,KAAK8qB,eAEnBE,KAILhrB,KAAK8P,IAAI,YAAagS,EAAA,EAAqFmJ,eAAeD,IAC1HhrB,KAAK8P,IAAI,mBAAmB,OAG1Bob,EAAiCzJ,EAAA,QAAyDpb,QAC9FwJ,MAAOkT,EACP9e,MAAO,WACL,MAAO,IAAIjE,MAAKoE,YAAYpE,KAAK8f,QAASE,SAAS,KAAW1Y,OAAO,KAEvE6jB,eAAgB,WACd,MAAOtnB,GAAA,QAAkEslB,IAAInpB,KAAKorB,MAAM,oBAE1FC,sBAAuB,WACrB,MAAOrrB,MAAKsrB,OAAO,SAAU7pB,EAAG8pB,GAC9B,GAAM7b,GAAO6b,EAAerqB,IAAI,OAUhC,OARAO,GAAE8pB,EAAe9mB,IAAMZ,EAAA,QAAkEI,MAAM2d,EAAA,EAAkErG,aAAa7L,KACtE,IAApGkS,EAAA,EAAkE5F,eAAemL,QAAQzX,KAC3FjO,EAAE8pB,EAAe9mB,IAAI0d,UAAYoJ,EAAerqB,IAAI,aACpDO,EAAE8pB,EAAe9mB,IAAI2d,UAAYmJ,EAAerqB,IAAI,cAEzC,WAATwO,IACFjO,EAAE8pB,EAAe9mB,IAAIgX,OAAS8P,EAAerqB,IAAI,WAE5CO,SAIgBW,GAAA,SAC3BopB,MAAOzI,EACP0I,WAAYP,IAMP,SAAStrB,EAAQwC,EAAqBlC,GA4B7C,QAASwrB,GAAoBC,GAC3B,GAAM3C,GAAYiC,EAAeU,EAAOX,YAClCY,GACJjrB,KAAMgrB,EAAOhrB,KACb6P,MAAOmb,EAAOjmB,MACdsM,SAAU2Z,EAAO3Z,SACjB6Z,cAAeF,EAAOG,QACtB3lB,QAAU6iB,UAAWA,GACrBzjB,QAASwmB,EAA4B/C,GAevC,OAXIgD,GAAA,EAAkEhN,gBAAgB2M,EAAOjN,cAC3FkN,EAAalc,KAAO,cACpBkc,EAAapW,GAAKyW,EAClBL,EAAa7S,KAAOmT,IAEpBN,EAAalc,KAAO,SACpBkc,EAAapW,GAAK2W,EAClBP,EAAa7S,KAAOqT,GAGtBR,EAAahb,MAAQ,KACdgb,EAGT,QAASS,GAAmBpN,GAC1B,MAAOpb,GAAA,QAAkEgN,QAAQoO,GAAU8M,EAA4Bd,EAAehM,OAGxI,QAAS8M,GAA4B9M,GACnC,MAAKqN,GAAkBrN,GAIhBpb,EAAA,QAAkEynB,OACvErM,EACA,SAAU1Z,EAASlD,EAAO6nB,GAExB,MADA3kB,GAAQgnB,EAAwBrC,IAAU7nB,EAAMqD,MACzCH,UAMb,QAAS0lB,GAAehM,GAEtB,MAAKpb,GAAA,QAAkEslB,IAAIlK,EAAQhL,EAAA,QAA8D9I,eAIrImhB,EAAkBrN,GAIvBA,EAHEuN,EAAyBvN,GAJzBwN,EAAmBxN,GAU9B,QAASqN,GAAkBrN,GACzB,MACEpb,GAAA,QAAkEgN,QAAQoO,IAC1Epb,EAAA,QAAkEslB,IAAIlK,EAAQ,SAAU5c,GACtF,MAAOwB,GAAA,QAAkE6oB,IAAIrqB,EAAO,UAAYwB,EAAA,QAAkE6oB,IAAIrqB,EAAO,WAKnL,QAASoqB,GAAmBxN,GAC1B,MAAOpb,GAAA,QAAkE+N,IAAIqN,EAAQ,SAAU5c,GAC7F,OACEgnB,MAAOhnB,EACPqD,MAAOinB,EAAatqB,MAK1B,QAASsqB,GAAatqB,GACpB,MAAIwB,GAAA,QAAkEZ,SAASZ,IACtE,EAAAN,EAAAF,SAAeQ,GAGpBwB,EAAA,QAAkEP,SAASjB,GACtEA,EAAQ,GAGVA,EAGT,QAASmqB,GAAyBvN,GAChC,GAAM2N,GAAU/oB,EAAA,QAAkEgpB,QAAQhpB,EAAA,QAAkE6oB,IAAK7oB,EAAA,QAAmEipB,EAGpO,OAAIjpB,GAAA,QAAkEslB,IAAIlK,EAAQ2N,GACzE/oB,EAAA,QAAkEkpB,MAAM9N,GAC5E+N,OAAO,SAAU3qB,GAChB,MAAO4R,GAAA,QAA8D9I,cAAc9I,IAAUwB,EAAA,QAAkE6oB,IAAIrqB,EAAOyqB,KAE3Klb,IAAI,SAAUvP,GACb,OAASgnB,MAAOhnB,EAAOqD,MAAOrD,EAAMyqB,MAErCzqB,QAIEoqB,EAAmBxN,GAG5B,QAASsN,GAAwBrC,GAC/B,SAAU+C,EAAkB/C,EAG9B,QAASkC,GAAkBxqB,GACzB,GAAMsoB,GAAQrmB,EAAA,QAAkEqpB,UAAUltB,KAAKuF,QAAQY,OAAO6iB,UAAW,SAAUmE,GACjI,MAAOtpB,GAAA,QAAkEZ,SAASrB,GAAOiC,EAAA,QAAkE4c,QAAQ0M,EAAS9D,MAAOznB,GAAOurB,EAAS9D,QAAUznB,GAI/M,OAAOsoB,IAAS,EAAIqC,EAAwBrC,GAAStoB,EAGvD,QAASuqB,GAAkBxc,GACzB,IAAK9L,EAAA,QAAkEuC,SAASuJ,IAAyC,IAAjCA,EAAIwX,QAAQ8F,GAClG,MAAOtd,EAGT,IAAMua,GAAQva,EAAI3G,QAAQikB,EAAiB,IACrCG,EACJptB,KAAKuF,QAAQY,QAAUtC,EAAA,QAAkEgN,QAAQ7Q,KAAKuF,QAAQY,OAAO6iB,WAAahpB,KAAKuF,QAAQY,OAAO6iB,UAAUkB,GAAS,IAI3K,OAAOrmB,GAAA,QAAkE6oB,IAAIU,EAAW,SAAWA,EAAU/D,MAAQ+D,EAGvH,QAASnB,GAAoBhN,GAC3B,MAAOpb,GAAA,QAAkE+N,IAAIqN,EAAQkN,EAAkBlmB,KAAKjG,OAG9G,QAASksB,GAAoBjN,GAC3B,MAAOpb,GAAA,QAAkE+N,IAAIqN,EAAQmN,EAAkBnmB,KAAKjG,OAG9G,QAASqtB,GAAmBhrB,GAC1B,MAAOwB,GAAA,QAAkEuC,SAAS/D,IAAwF,KAA9E4R,EAAA,QAA8DpI,KAAKxJ,GAGjK,QAASirB,GAAmBjrB,GAC1B,MAAOwB,GAAA,QAAkEP,SAASjB,IAAUwB,EAAA,QAAkEP,SAAS8O,EAAA,QAA0D3H,WAAWwJ,EAAA,QAA8DpI,KAAKxJ,KAGjT,QAASkrB,GAAoBlrB,GAC3B,GAAMsZ,GAAU9X,EAAA,QAAkEP,SAASjB,GAASA,EAAQ+P,EAAA,QAA0DtH,SAASmJ,EAAA,QAA8DpI,KAAKxJ,GAElP,OAA0B,gBAAZsZ,IAAwB6R,SAAS7R,IAAY8R,KAAKC,MAAM/R,KAAaA,EAGrF,QAASgS,GAAmBtrB,GAC1B,GAAIwB,EAAA,QAAkEZ,SAASZ,KAAWwB,EAAA,QAAkEgN,QAAQxO,GAClK,OAAO,CAGT,IAAMhB,GAAS+Q,EAAA,QAA0DlH,YAAY+I,EAAA,QAA8DpI,KAAKxJ,GAExJ,OAAOwB,GAAA,QAAkEZ,SAAS5B,KAAYwC,EAAA,QAAkEgN,QAAQxP,GAG1K,QAAS+nB,GAA2B/mB,EAAOqN,GACzC,OAAQA,GACR,IAAKsc,GAAA,EAAkE/R,OACrE,MAAOoT,GAAmBhrB,EAC5B,KAAK2pB,GAAA,EAAkE9R,OACrE,MAAOoT,GAAmBjrB,EAC5B,KAAK2pB,GAAA,EAAkE7R,QACrE,MAAOoT,GAAoBlrB,EAC7B,KAAK2pB,GAAA,EAAkE3R,OACrE,MAAOsT,GAAmBtrB,IAxMT,GAAI4R,GAAqD/T,EAAoB,GACzE2D,EAAyD3D,EAAoB,GAC7E8rB,EAAiD9rB,EAAoB,IACrEkS,EAAiDlS,EAAoB,GAMxF4sB,EAAO,OACPG,EAAkB,QAkMK7qB,GAAA,GAC3BspB,oBAAqBA,EACrBW,mBAAoBA,EACpBpB,eAAgBA,EAChB7B,2BAA4BA,IAMvB,SAASxpB,EAAQwC,EAAqBlC,GAsB7C,QAAS0tB,GAASC,EAAQC,GACxB,GAAMruB,GAAOsuB,EAAA,QAA6DjZ,OAAO+Y,EAAQ,SAAW,EAEpG,OAAIpuB,IAAQsuB,EAAA,QAA6D3nB,SAAS0nB,IACxEruB,EAAMquB,GAAOrkB,KAAK,KAAKT,QAAQ,UAAW,KAE7C8kB,EAzBThtB,OAAOC,eAAeqB,EAAqB,cAAgBC,OAAO,GAC7C,IAAIsB,GAAyCzD,EAAoB,GAC7D0D,EAAiD1D,EAAoBiB,EAAEwC,GACvEqqB,EAAgD9tB,EAAoB,GACpE6tB,EAAoD7tB,EAAoB,GACxE+tB,EAAwC/tB,EAAoB,GAC5DguB,EAA+ChuB,EAAoB,IACnEiuB,EAAmDjuB,EAAoB,IACvEkuB,EAA2DluB,EAAoBiB,EAAEgtB,GACjFE,EAA+DnuB,EAAoB,GAiC/EkC,GAAA,QAAkCwB,EAA+CjB,EAAE2rB,OAAOjoB,QAOnH5G,KAAM,GAENuF,OAAQqpB,EAAA,EAAgF9sB,UAAUyD,OAElGZ,YAAa,SAAUmB,GACrBA,IAAYA,MACZvF,KAAKgX,GAAKzR,EAAQyR,GAClBhX,KAAK0jB,SAAW,GAAIwK,GAAA,EAAgEH,EAAA,QAA6Djc,KAAKvM,EAAS,OAC3JA,EAAQ9F,OACVO,KAAKP,KAAO8F,EAAQ9F,MAGtBmE,EAA+CjB,EAAE2rB,OAAOjqB,MAAMrE,KAAMsE,WAEpEtE,KAAKgF,OAAO,eAAgBhF,KAAKuuB,SACjCvuB,KAAKgF,OAAO,eAAgBhF,KAAKwuB,WAmBnCA,SAAU,SAAUjpB,GAClBA,IAAYA,KACZ,IAAMkpB,GAASL,EAAyDzrB,EAAE0D,OACxE0nB,EAAA,QAA6Dxf,KAAKhJ,EAAS,QAAS,WAAY,OAAQ,KAAM,SAAU,WAAY,iBAAkB,UAAW,SAAU,OAAQ,wBAE/KmpB,EAAS,GAAID,IAAS5e,MAAO7P,KAAK0jB,UAKxC,OADAgL,GAAO1a,SACA0a,GAUTH,QAAS,SAAUhpB,GACjB,GAAMopB,GAAe,GAAIN,GAAA,EAAgF9oB,EAGzG,OADAzE,QAAOktB,EAAA,SAA0D,YAAYY,QAAQD,EAAa3a,SAASgD,IACpG2X,GAUT3a,OAAQ,SAAU6a,EAAYtpB,GAC5BvF,KAAK8uB,SACLvpB,EAAUwoB,EAAA,QAA6D1nB,OAAO0nB,EAAA,QAA6Dxf,KAAKvO,KAAM,WAAY,MAAOuF,OACzKvF,KAAK+uB,WAAa,GAAIF,GAAWtpB,GACjCvF,KAAK+uB,WAAW/a,UAUlBgb,MAAO,WACL,GAAMtmB,GAAOpE,SAEbxD,QAAOktB,EAAA,SAA0D,WAC/D,GAAIpqB,EAA+CjB,EAAEssB,QAAQC,QAE3D,WADAjB,GAAA,QAAiDnhB,MAAM,mCAGzDlJ,GAA+CjB,EAAEwsB,QAAQH,MAAM3qB,MAAMT,EAA+CjB,EAAEwsB,QAASzmB,MAOnIomB,OAAQ,WACF9uB,KAAK+uB,aACP/uB,KAAKovB,cAAcpvB,KAAK+uB,YACxB/uB,KAAKovB,cAAcpvB,KAAK+uB,WAAWM,OACnCrvB,KAAK+uB,WAAW1X,WAIpByW,MAAO,SAAUA,EAAOntB,EAAM2uB,GAC5B,MAAO1rB,GAA+CjB,EAAE2rB,OAAO/sB,UAAUusB,MAAMvtB,KAAKP,KAAM4tB,EAAS5tB,KAAM8tB,GAAQntB,EAAM2uB,IAGzHC,SAAU,SAAUC,EAAUjqB,GAC5B,MAAO3B,GAA+CjB,EAAE2rB,OAAO/sB,UAAUguB,SAAShvB,KAAKP,KAAM4tB,EAAS5tB,KAAMwvB,GAAWjqB,OAQtH,SAAS3F,EAAQwC,EAAqBlC,GAGxB,GAAI2Z,GAAoD3Z,EAAoB,GACxEuvB,EAA8CvvB,EAAoB,GAU9DkC,GAAA,EAA4BqtB,EAAA,QAAuDppB,QAC9GqT,MAAO,WACL,GAAMgK,GAAYnc,OAAO4E,MAAQ5E,OAAO4E,KAAKuX,YAE7C,QACEgM,OAAQ,UAAU,EAAOhM,EAASgM,OAClCC,SAAU,UAAU,EAAOjM,EAASiM,SACpCC,cAAe,UAAU,EAAOlM,EAASkM,cACzCC,SAAU,UAAU,EAAOnM,EAASmM,SACpCC,oBAAqB,WAAW,EAAOpM,EAASoM,oBAChDC,WAAY,WAAW,EAAOrM,EAASqM,WACvCpM,aAAc,SAAS,EAAMD,EAASC,mBAI1CqM,iBAAiB,EAEjB5rB,YAAa,WACXpE,KAAKiwB,SAAW1oB,OAAO2oB,cACvBT,EAAA,QAAuDprB,MAAMrE,KAAMsE,YAQrE6rB,WAAY,SAAUC,GAOpB,MANI7oB,QAAO8oB,oBACDxW,EAAA,QAA6DpI,SAASlK,OAAO8oB,kBAAmBD,IACjG7oB,OAAO4E,MACP5E,OAAO4E,KAAKmkB,oBACnB/oB,OAAO4E,KAAKmkB,mBAAmBF,GAE1BvW,EAAA,QAA6DpI,SAASzR,KAAKiwB,SAAUG,IAQ9FG,cAAe,SAAUC,GACvB,MAAO3W,GAAA,QAA6D4W,KAAKD,EAAcxwB,KAAKmwB,WAAYnwB,OAQ1G0wB,cAAe,SAAUC,GACvB,MAAO9W,GAAA,QAA6DpI,SAASzR,KAAKkB,IAAI,eAAgByvB,OAOnG,SAAS/wB,EAAQD,EAASO,GAGjC,GAAI0wB,OAMkC3nB,MADpC2nB,EAAiC,aAAgBrwB,KAAKZ,EAASO,EAAqBP,EAASC,MAC3CA,EAAOD,QAAUixB,IAI9D,SAAShxB,EAAQwC,EAAqBlC,GAgB7C,QAAS2wB,GAASC,EAAWvd,GAC3B,IAAK,GAAIlT,GAAI,EAAGA,EAAIywB,EAAUC,GAAUlrB,OAAQxF,IAC9C,GAAIkT,EAAKyd,MAAQF,EAAUC,GAAU1wB,GAAG2wB,IACtC,MAAO3wB,GAKb,QAAS4wB,MAET,QAASC,GAAS3d,GAChBA,EAAK4d,IAAY,CAEjB,IAAIzY,GAAOnF,EAAK6d,eAAe7d,EAAKhQ,SAChCmV,GACFnF,EAAKhP,IAAImU,KAAKA,GAEPnF,EAAK1N,QACZ0N,EAAKhP,IAAIG,QAGX6O,EAAKvC,KAAK,SAAUuC,GAClBA,EAAK8d,OAIT,QAASC,GAAgB/d,GACvB,GAAIge,GAAoB,yDACxBpjB,GAAA,QAAkE6C,KAAK7C,EAAA,QAAkEqjB,QAAQje,GAAO,SAAUpJ,GAChK,GAAIsnB,GAAYtnB,EAAIogB,MAAMgH,EAC1B,IAAKE,EAAL,CAGA,GAAIC,GAAWvjB,EAAA,QAAkE2G,OAAOvB,EAAMpJ,GAC1FpB,EAASwK,EAAKhO,QAAQksB,EAAU,KAAOle,EAAKke,EAAU,GACrD1oB,IAAWoF,EAAA,QAAkElL,SAASyuB,IAAcvjB,EAAA,QAAkEjL,WAAW6F,EAAOhE,UAG7LoJ,EAAA,QAAkE6C,KAAK0gB,EAAU,SAAUpC,EAAUqC,GACnG,GAAIC,GAAYzjB,EAAA,QAAkEjL,WAAWosB,IAAaA,GAAYnhB,EAAA,QAAkEmd,OAAOgE,EAAS/lB,MAAM,OAAQ,SAAUsoB,EAAKlxB,GAInO,MAHIwN,GAAA,QAAkEjL,WAAWqQ,EAAK5S,KACpFkxB,EAAIrmB,KAAK+H,EAAK5S,IAETkxB,MAET1jB,GAAA,QAAkE6C,KAAK4gB,EAAW,SAAUE,GAC1Fve,EAAKpO,SAAS4D,EAAQ4oB,EAAOG,UA3DhB,GAAI3jB,GAAyDjO,EAAoB,GAC7E6xB,EAAyC7xB,EAAoB,GAC7D8xB,EAAiD9xB,EAAoBiB,EAAE4wB,GAK5FhB,EAAW,eACXI,EAAW,eACXc,EAAS,aAETZ,EAAmB,uBAiFnBa,EAAOF,EAA+CrvB,EAAEuvB,KAAK7rB,QAgD/DjC,YAAa,SAAUmB,GAErBvF,KAAKuF,QAAUA,MACf4I,EAAA,QAAkE9H,OAAOrG,KAAMmO,EAAA,QAAkEI,KAAKvO,KAAKuF,QAAS,QAAS,aAG7KvF,KAAK+wB,MACL/wB,KAAKmxB,IAAY,EACjBnxB,KAAKiyB,GAAU,KACfjyB,KAAA,yBAA0BA,KAAK+V,QAG/B,IAAItG,GAAazP,KAAKyP,UAUtB,IATAzP,KAAKyP,WAAawhB,EAElBe,EAA+CrvB,EAAEuvB,KAAK7tB,MAAMrE,KAAMsE,WAElE6J,EAAA,QAAkE6C,KAAK7C,EAAA,QAAkE2G,OAAO9U,KAnJ5H,4BAmJsJ,SAAUmyB,GAClLnyB,KAAK8W,IAAIzS,MAAMrE,KAAMmO,EAAA,QAAkE0C,QAAQshB,GAAmBA,GAAmBA,KACpInyB,YACIA,MAAA,yBAEHA,KAAKoyB,YAAcpyB,KAAK6P,MAAO,CACjC,GAAI8hB,GAAQxjB,EAAA,QAAkE0C,QAAQ7Q,KAAKoyB,YAAcjkB,EAAA,QAAkEyD,IAAI5R,KAAKoyB,WAAY,SAAUhK,GACxM,MAAO,UAAYA,IAClB3e,KAAK,KAAO,QACfzJ,MAAKmF,SAASnF,KAAK6P,MAAO8hB,EAAO,WAC/B3xB,KAAKgU,WAIThU,KAAKyP,WAAaA,EAClBzP,KAAKyP,WAAWpL,MAAMrE,KAAMsE,WAC5BgtB,EAAgBtxB,OAWlBqyB,WAAY,SAAU9e,GAEpBvT,KAAKovB,cAAc7b,EACnB,IAAI+e,GAAYzB,EAAS7wB,KAAMuT,EAK3BpF,GAAA,QAAkE7K,SAASgvB,IAC7EtyB,KAAK+wB,GAAUwB,OAAOD,EAAW,IAarCF,YAAY,EAaZ7uB,SAAU,KAyBVwS,YAoDAe,IAAK,SAAUvD,EAAMif,EAAUC,EAAQ7D,EAAS8D,GAG9C,GAAIntB,MACAmD,EAAOyF,EAAA,QAAkEwS,QAAQrc,UA2CrF,IAzCI6J,EAAA,QAAkElL,SAASuvB,IAC7EjtB,EAAUitB,EACVA,EAAWjtB,EAAQitB,SACnBC,EAASltB,EAAQktB,OACjB7D,EAAUrpB,EAAQqpB,QAClB8D,EAAentB,EAAQA,SAEhB4I,EAAA,QAAkElL,SAASwvB,KAClFltB,EAAUktB,EACVA,EAASltB,EAAQktB,OACjB7D,EAAUrpB,EAAQqpB,QAClB8D,EAAentB,EAAQA,SAGrB4I,EAAA,QAAkE/H,SAASmN,KAC7EA,EAAQ,SAAUhQ,GAChB,MAAO2uB,GAAK7rB,QACVjC,YAAa,WACX,IACE,GAAIG,GAAMytB,EAA+CrvB,EAAEyS,EAAE7R,EAE7D,IAAkB,GAAdgB,EAAIsB,OAAe,KAAM,iBAE7B,IAAI8sB,GAAmB,gBAIvB,IAHsCpuB,EAAI6K,KAAK,aAAapG,QAAQ2pB,EAAkB,KAAK9sB,SAC7DtC,EAASyF,QAAQ2pB,EAAkB,KAAK9sB,OAEH,KAAM,iBAEzE7F,MAAKuD,SAAWgB,EAAImU,OACpB1Y,KAAKgX,GAAKzS,EAAIG,QAAQ,GAExB,MAAOoF,GACL9J,KAAKuD,SAAWA,EAElB2uB,EAAK7tB,MAAMrE,KAAMsE,eAGrBiP,IAGAA,EAAKhS,WAAagS,EAAKhS,oBAAqB2wB,GAAM,CAEpD,GAAIU,GAAczkB,EAAA,QAAkE2D,KAAK3D,EAAA,QAAkE9H,UAAWrG,KAAKuF,QAASmtB,GAAe,KAEnM,OADAhqB,GAAK,GAAK,GAAI6K,GAAKqf,GACZ5yB,KAAK8W,IAAIzS,MAAMrE,KAAM0I,GAI9B,GAAIyF,EAAA,QAAkE7K,SAASutB,EAAS7wB,KAAMuT,IAC5F,KAAM,IAAI9K,OAAM,kBAwClB,OArCA8K,GAAK0e,GAAUjyB,KAKfuT,EAAK8d,GAAqB,SAAUmB,GAClC,MAAO,YACL,GAAIA,GAA+C,GAAnCjf,EAAK0e,GAAQ7c,EAAEod,GAAU3sB,OACvC,KAAM,IAAI4C,OAAM,qBAAuB+pB,EAEzC,IAAIjuB,GAAMiuB,EAAWxyB,KAAKiyB,GAAQ7c,EAAEod,GAAYxyB,KAAKiyB,GAAQ1tB,GAC7DvE,MAAKgU,SAGLhU,KAAK6yB,iBAGLjE,EAAUrqB,EAAIqqB,QAAQ5uB,KAAKgX,IAAMzS,EAAIwS,OAAO/W,KAAKgX,MAElDzW,KAAKgT,EAAMif,GAIVC,GACFzyB,KAAKmF,SAASoO,EAAM,MAAO,WACzBvT,KAAK+E,QAAQV,MAAMrE,KAAMsE,aAKzBtE,KAAK8yB,YACPvf,EAAK8d,KAIPrxB,KAAK+wB,GAAUvlB,KAAK+H,GAEbvT,MAOT2E,eAAgB,WAId,MAHA3E,MAAKgR,KAAK,SAAUuC,GAClBA,EAAK8D,WAEArX,MAOTqX,OAAQ,WAKN,MAJArX,MAAK2E,iBACD3E,KAAKiyB,IACPjyB,KAAKiyB,GAAQI,WAAWryB,MAEnBgyB,EAA+CrvB,EAAEuvB,KAAK3wB,UAAU8V,OAAOhT,MAAMrE,KAAMsE,YAU5FM,gBAAiB,SAAUrB,GAEzB,MAAO4K,GAAA,QAAkE5K,SAASA,IAWpF6tB,eAAgB,SAAU7tB,GAIxB,GAHI4K,EAAA,QAAkE/H,SAAS7C,KAC7EA,EAAWvD,KAAK4E,gBAAgBrB,IAE9B4K,EAAA,QAAkEjL,WAAWK,GAC/E,MAAOA,GAASvD,KAAKqW,oBASzBA,gBAAiB,WACf,GAAI0c,GAAY/yB,KAAK6P,OAAS7P,KAAK6P,MAAMiQ,QAASE,SAAS,QACvDza,EAAU4I,EAAA,QAAkE2D,KAAK9R,KAAKuF,SAAU,QAAS,WAAY,QAAS,cAClI,OAAO4I,GAAA,QAAkE3I,YAAautB,EAAWxtB,IAOnGyO,OAAQ,WAIN,MAHAhU,MAAKkY,YACLgZ,EAASlxB,MACTA,KAAKqY,aACErY,MAOTkY,UAAW+Y,EAMX5Y,WAAY4Y,EAKZ6B,SAAU,WACR,MAAO9yB,MAAKmxB,IAYd6B,YAAa,WACX,MAAOhzB,MAAK2gB,WAQdsS,GAAI,SAAU/I,GACZ,MAAOlqB,MAAKgzB,cAAc9I,IAQ5BgJ,OAAQ,SAAUC,GAChB,GAAIzqB,GAAOyF,EAAA,QAAkEwS,QAAQrc,UAWrF,OAVAtE,MAAKgR,KAAK,SAAUoiB,GAEdA,EAAMjiB,QACRiiB,EAAMF,OAAO7uB,MAAM+uB,EAAO1qB,GAGxByF,EAAA,QAAkEjL,WAAWkwB,EAAMD,KACrFC,EAAMD,GAAY9uB,MAAM+uB,EAAO1qB,EAAKE,MAAM,MAGvC5I,QAMPqzB,GAAW,OAAQ,MAAO,SAAU,cAAe,OAAQ,SAAU,SAAU,QACjF,OAAQ,WAAY,UAAW,OAAQ,QAAS,UAAW,OAAQ,OAAQ,UAC3E,UAAW,UAAW,cAAe,UAAW,QAAS,QAAS,YAEpEllB,GAAA,QAAkE6C,KAAKqiB,EAAS,SAAUze,GACxFsd,EAAK3wB,UAAUqT,GAAU,WACvB,GAAIlM,GAAOyF,EAAA,QAAkEwS,QAAQrc,UAErF,OADAoE,GAAK8B,QAAQ2D,EAAA,QAAkEwS,QAAQ3gB,KAAK+wB,KACrF5iB,EAAA,QAAkEyG,GAAQvQ,MAAM8J,EAAA,QAAmEzF,KAE3J1I,MA2M0BoC,EAAA,EAA4B8vB,GAKlD,SAAStyB,EAAQwC,EAAqBlC,GAe7C,QAASozB,GAAgB/tB,GACvB,GAAMuJ,GAAS+K,EAAA,QAA6DxT,OAAOd,EAAQwJ,OAAUA,MAAOxJ,EAAQwJ,UAAcxJ,EAAQuJ,YAEpIlD,IAWN,OATAiO,GAAA,QAA6D7I,KAAKlC,EAAQ,SAAU7J,EAAIsuB,GACtF3nB,EAAO2nB,GAAa,SAAUzpB,GACvBvE,EAAQoL,OACX7G,EAAEuJ,iBACFvJ,EAAE0pB,mBAEJvuB,EAAGZ,MAAMrE,KAAMsE,cAGZsH,EA1BT9K,OAAOC,eAAeqB,EAAqB,cAAgBC,OAAO,GAC7C,IAAIwX,GAAoD3Z,EAAoB,GACxEuzB,EAAiEvzB,EAAoB,GA2BjFkC,GAAA,SAY3BsP,OAAQ,SAAUnM,GAKhB,MAJAA,GAAUsU,EAAA,QAA6D5V,MAAMsB,GAC7EA,EAAQoa,MAAQpa,EAAQ2N,iBACjB3N,GAAQ2N,WAERugB,EAAA,EAAkFptB,OACvFwT,EAAA,QAA6DxT,OAAOd,GAClEuJ,OAAQwkB,EAAgB/tB,SASzB,SAAS3F,EAAQwC,EAAqBlC,GAM7C,QAAS2S,GAAkB3E,GACzB,MAAO,UAAY2L,EAAA,QAA6DvP,KAAK4D,GAAQzE,KAAK,YAGpG,QAASiqB,GAAWrxB,EAAO8H,GACzB,GAAMwpB,GAAa3zB,KAAK6P,MAAM3O,IAAIiJ,EAElC,OAAI0P,GAAA,QAA6D3W,WAAWb,GACnEA,EAAM9B,KAAKP,KAAM2zB,GAEjBtxB,IAAUsxB,EAIrB,QAASC,GAAQrgB,EAAMrF,EAAQjJ,GAC7B,GAAM0O,GAASkG,EAAA,QAA6D5T,KAAKhB,EAAIsO,EAAMA,EAAMrF,EAEjGqF,GAAKS,OAAS6F,EAAA,QAA6DhF,KAAKtB,EAAKS,OAAQ,SAAUA,GACrG,GAAMrE,GAAMqE,EAAOzT,KAAKgT,EAGxB,OADAI,IAASE,SAAS,IACXlE,IAGT4D,EAAKpO,SAASoO,EAAK1D,MAAOgD,EAAkB3E,GAAS,WACnDyF,GAASE,SAAS,MA5BD,GAAIgG,GAAoD3Z,EAAoB,EAgCpEkC,GAAA,GAC3BwR,YAAa,SAAUL,EAAMrF,EAAQjJ,GAC7BsO,EAAK1D,OAASgK,EAAA,QAA6D5W,SAASiL,IAAW2L,EAAA,QAA6D1I,KAAKjD,IAAW2L,EAAA,QAA6D3W,WAAW+B,IAG1P2uB,EAAQrgB,EAAMrF,EAAQ,SAAUqF,EAAMrF,EAAQ3I,GAC5C,GAAMuP,GAAS+E,EAAA,QAA6Dga,MAAMha,EAAA,QAA6DjI,IAAI1D,EAAQwlB,EAAYngB,GAEvKtO,GAAG1E,KAAKgT,EAAMuB,EAAQvP,QAQrB,SAAS3F,EAAQwC,EAAqBlC,GAG7CY,OAAOC,eAAeqB,EAAqB,cAAgBC,OAAO,GAC7C,IAAI8L,GAAyDjO,EAAoB,GAC7E4zB,EAA0C5zB,EAAoB,GAC9D6zB,EAAkD7zB,EAAoB,EAIlEkC,GAAA,QAAkC0xB,EAAA,QAAmDztB,QAChHwI,UAAW,oBAEXY,WAAY,SAAUlK,GACpBvF,KAAKg0B,WACHtkB,KAAM,OACN1I,KAAMmH,EAAA,QAAkErL,UAAUyC,EAAS,OAAQvF,MACnGyE,GAAI0J,EAAA,QAAkErL,UAAUyC,EAAS,SAAUvF,MACnG6O,UAAWV,EAAA,QAAkErL,UAAUyC,EAAS,gBAAiBvF,QAG9GuF,EAAQe,gBACXtG,KAAKg0B,WAAYtkB,KAAM,SAAU1I,KAAMmH,EAAA,QAAkErL,UAAUyC,EAAS,SAAUvF,QAGpIuF,EAAQ0uB,aACVj0B,KAAKg0B,WAAYtkB,KAAM,aAAgBkf,SAAS,KASpDoF,UAAW,SAAU7tB,EAAQZ,GAC3B,MAAOvF,MAAK8W,IAAIid,EAAA,QAA2DzlB,aAAanI,GAASZ,OAO9F,SAAS3F,EAAQwC,EAAqBlC,GAQ7C,QAASg0B,GAAYtjB,GACnB,MAAIzC,GAAA,QAAkEjL,WAAW0N,GACxEzC,EAAA,QAAkEjL,WAAW0N,EAAMrP,UAAU4W,WAAahK,EAAA,QAAkEjL,WAAW0N,EAAMrP,UAAU6W,UAEvMjK,EAAA,QAAkElL,SAAS2N,IAAUzC,EAAA,QAAkEjL,WAAW0N,EAAMuH,WAAahK,EAAA,QAAkEjL,WAAW0N,EAAMwH,UATnRtX,OAAOC,eAAeqB,EAAqB,cAAgBC,OAAO,GAC7C,IAAI8L,GAAyDjO,EAAoB,GAEhGi0B,IAauB/xB,GAAA,SAC3B8xB,YAAaA,EAObE,SAAU,SAAU1kB,EAAMkB,GACxBujB,EAASzkB,GAAQkB,GASnB1P,IAAK,SAAUqE,GACb,GAAMqL,GAAQujB,EAAS5uB,EAAQmK,KAE/B,OAAOkB,KAAUsjB,EAAYtjB,GAASA,EAAQA,EAAMrL,KAOtD8sB,WAAY,SAAU3iB,SACbykB,GAASzkB,MAOb,SAAS9P,EAAQD,GAExBC,EAAOD,QAAUqM,EAAQ,MAIlB,SAASpM,EAAQwC,EAAqBlC,GAmC7C,QAASm0B,GAAMpvB,GACb,MAAIjF,MAAKmG,OAAOmuB,UACPrvB,EAAG1E,KAAKP,MAER6D,EAAA,QAAkEwwB,MAAMxwB,EAAA,QAAkEoC,KAAKhB,EAAIjF,OAI9J,QAASu0B,GAAgBx0B,GACvBA,EAAKy0B,QAAQC,MACb,IAAMC,GAAS5zB,OAAOmT,EAAA,SAA+DlU,EAAKy0B,QAAQ,IAAIC,MAEtG3zB,QAAOmT,EAAA,SAA+D,QAAQ8C,OAAO2d,EACrF,IAAMC,GAAS50B,EAAKoG,OAAOwuB,MAAyB,IAAjBD,EAAOC,QAAgB,IAG1D,OADA50B,GAAKwE,IAAIwS,OAAO2d,EAAOE,QAChBD,EAGT,QAASE,GAAkBC,EAASC,EAAUC,GAC5C,GAAMC,GAASD,EAAOC,QAEtBH,GAAQI,KACNC,KAAMF,EAAOE,KACbC,IAAKH,EAAOG,KAId,IAAMC,GAAOv0B,OAAOmT,EAAA,SAA+D1M,QAC7E+tB,EAAUP,EAASQ,cACnBC,EAAUF,EAAUP,EAASE,SAASG,IAAMC,EAAKI,YACjDC,EAAUL,EAAKM,SAAWC,EAC1BC,EAAYpI,KAAKhD,IAAI6K,EAAUI,EAAUF,EAASM,EAExDf,GAASG,IAAI,aAAcW,GAG7B,QAASE,GAAevB,GACtB,GAAMM,GAAUN,EAAQwB,KAAK,mBACvBhB,EAASF,EAAQ7wB,QACjB8wB,EAAWD,EAAQ1d,KAAK,gBAK9B4d,GAAOE,IAAI,aAAc,UACzBF,EAAOiB,WAAW,MAClBjB,EAAO5d,KAAK,MAAM6e,WAAW,KAG7B,IAAMC,IACJf,KAAML,EAAQI,IAAI,QAClBE,IAAKN,EAAQI,IAAI,OACjBiB,SAAUrB,EAAQI,IAAI,YACtBkB,MAAOtB,EAAQI,IAAI,SACnBmB,UAAWvB,EAAQI,IAAI,WAGzBH,GAASN,MAIT,IAAM6B,GAAgBzyB,EAAA,QAAkEmR,SAAS,WAC/F6f,EAAkBC,EAASC,EAAUC,IACpC,GAIHR,GAAQtvB,IAAI,cACZsvB,EAAQnf,GAAG,mCAAoC,WAC7Cyf,EAAQH,MAAMG,EAAQH,SACtBH,EAAQ+B,MAAMvB,GAGdF,EAAQI,KACNiB,SAAU,WACVC,MAAO,OACPC,UAAWG,EACXpB,KAAM,SAERt0B,OAAOmT,EAAA,SAA+D,QAAQ8C,OAAO+d,GACrFC,EAASH,OACTC,EAAkBC,EAASC,EAAUC,GAKrCR,EAAQiC,UAAUC,OAAOJ,GACzBx1B,OAAOmT,EAAA,SAA+D1M,QAAQ8N,GAAG,gBAAiBihB,KAKpG9B,EAAQnf,GAAG,mDAAoD,WAC7Dmf,EAAQiC,UAAUvxB,IAAI,SAAUoxB,GAChCx1B,OAAOmT,EAAA,SAA+D1M,QAAQrC,IAAI,gBAAiBoxB,GACnGxB,EAAQI,IAAIgB,GACZnB,EAASN,OACTM,EAASG,IAAI,aAAcY,GAC3Bd,EAAO3d,SACPmd,EAAQ+B,MAAMzB,KApIlBh0B,OAAOC,eAAeqB,EAAqB,cAAgBC,OAAO,GAC7C,IAAI4R,GAAqD/T,EAAoB,GACzE2D,EAAyD3D,EAAoB,GAC7Ey2B,EAA2Cz2B,EAAoB,GAC/D6D,EAAmD7D,EAAoB,GACvE02B,EAA6D12B,EAAoB,IAEjF22B,GADqE32B,EAAoBiB,EAAEy1B,GAChD12B,EAAoB,KAOlFqD,EAAWQ,EAAA,QAA4Dc,IAAI,sDAC3EiyB,EAAS/yB,EAAA,QAA4Dc,IAAI,8CACzE+wB,EAAuB,GAavBE,EAAoB,IACpBU,EAAiB,GA0GMp0B,GAAA,QAAkCy0B,EAAA,EAA4DxwB,QACzHwI,UAAW,gBAKXC,QACEioB,gBAAiB,SACjBC,6BAA8B,SAAUltB,GAClC6sB,EAAA,QAAoD5oB,MAAMjE,KAC5D9J,KAAKoV,EAAE,wBAAwBzF,IAAI,IACnC7F,EAAE0pB,qBAKRpvB,YAAa,WACXpE,KAAKuD,SAAWA,EAChBvD,KAAK82B,OAASA,EACdD,EAAA,EAA4DxyB,MAAMrE,KAAMsE,WACxEtE,KAAKmG,OAASnG,KAAKuF,QAAQY,YAM7BgS,SAAU,WAGRnY,KAAKuE,IAAImU,KAAKnV,EAASvD,KAAKuF,UAC5BvF,KAAKw0B,QAAUx0B,KAAKoV,EAAE,SAEtB,IAAM7P,GAAUvF,KAAKi3B,YAErBpzB,GAAA,QAAkEmN,KAChEzL,EACA,SAAUlD,EAAO8H,GACfnK,KAAKw0B,QAAQzd,OAAO+f,GAAS3sB,IAAKA,EAAK9H,MAAOA,MAEhDrC,KAOF,IAAMqC,GAAQrC,KAAKiW,eAYnB,OAVI5T,GACFrC,KAAKw0B,QAAQ7kB,IAAItN,GAEjBrC,KAAKoV,EAAE,sBAAsBhG,KAAK,YAAY,GAEhDpP,KAAKuE,IAAI+K,SAAS,mBAES,IAAvBtP,KAAKmG,OAAO+wB,QACdl3B,KAAKm3B,gBAEAn3B,MAGTm3B,cAAe,SAAUnf,GACvB,GAAI2c,GAAQ30B,KAAKuF,QAAQ6xB,KAAO,OAASp3B,KAAKmG,OAAOwuB,OAAS,KAE1D30B,MAAKmG,OAAOmuB,YACdK,EAAQJ,EAAgBv0B,OAG1Bq0B,EAAM9zB,KAAKP,KAAM,WACf,GAAMq3B,GAAkBr3B,KAAKoZ,SAAS,kBAAmB,GAEpDvV,GAAA,QAAkEiR,OAAO9U,KAAKuF,QAAS,gBAA4B,IAAXyS,GAC3GhY,KAAKgY,SAEPhY,KAAKw0B,QAAQ0C,QACXvC,MAAOA,EACP2C,yBAA0BD,EAC1BE,iBAAkBv3B,KAAKuF,QAAL,YAClBiyB,iBAAiB,IAEnBzB,EAAe/1B,KAAKw0B,SAEhBx0B,KAAKmG,OAAOmuB,WAEdt0B,KAAKuE,IAAIowB,MAAM,GAGjB30B,KAAK6P,MAAM9K,QAAQ,kBAOvB4K,IAAK,WACH,MAAO3P,MAAKw0B,SAAWx0B,KAAKw0B,QAAQ7kB,OAMtCoF,MAAO,WACL,GAAI/U,KAAKw0B,QACP,MAAOx0B,MAAKw0B,QAAQzf,SAOxB+D,cAAe,WACb,GAAM2e,GAAiBz3B,KAAKiW,gBACxByhB,EAAgBD,EACdlyB,EAAUvF,KAAKi3B,YAQrB,OANKpzB,GAAA,QAAkEiI,QAAQvG,KAC7EmyB,EAAgBnyB,EAAQkyB,IAEtB5zB,EAAA,QAAkEV,YAAYu0B,KAChFA,EAAgB13B,KAAKgD,gBAEhB00B,GAAiB,IAW1BT,WAAY,WACV,GAAI1xB,GAAUvF,KAAKuF,QAAQA,OAM3B,OAJI1B,GAAA,QAAkEX,WAAWqC,KAC/EA,EAAUA,EAAQhF,KAAKP,OAGlB6D,EAAA,QAAkEZ,SAASsC,GAAWA,MAG/F8R,OAAQ,WAIN,MAHIrX,MAAKw0B,SACPx0B,KAAKw0B,QAAQzvB,QAAQ,UAEhB8xB,EAAA,EAA4Dt1B,UAAU8V,OAAOhT,MAAMrE,KAAMsE,eAO7F,SAAS1E,EAAQwC,EAAqBlC,GAW7C,QAASy3B,GAAUjhB,EAASogB,GAC1B,MAAO3oB,GAAA,QAAkErL,UAAU4T,EAAQnR,QAASuxB,EAAQpgB,IAAYvI,EAAA,QAAkE2G,OAAO4B,EAASogB,GAG5M,QAASc,GAAYlhB,GACnB,GAAImhB,GAAQ,4BAA8BF,EAAUjhB,EAAS,OAE7D,QAAQihB,EAAUjhB,EAAS,SAC3B,IAAK,WACHmhB,GAAS,EACT,MACF,KAAK,OACHA,GAAS,eACT,MACF,KAAK,UACHA,GAAS,kBACT,MACF,KAAK,QACHA,GAAS,cAMX,MAHIF,GAAUjhB,EAAS,iBACrBmhB,GAAS,oBAEJA,EAhCT/2B,OAAOC,eAAeqB,EAAqB,cAAgBC,OAAO,GAC7C,IAAI8L,GAAyDjO,EAAoB,GAC7E43B,EAA2C53B,EAAoB,IAC/D63B,EAA0C73B,EAAoB,GAgCjF4O,GACJkpB,8BAA+B,SAAUluB,GAAG,GAAAmuB,GAAAj4B,IAC1C8J,GAAEuJ,iBACFrT,KAAKuE,IAAI2S,QAAQ4gB,EAAA,EAA4DI,eAAgB,WAC3FD,EAAKlzB,QAAQ,aACbkzB,EAAK5gB,aAoBL8gB,EAAiBJ,EAAA,QAAmD1xB,QAEtE6M,YACEmB,UAAW,WAObuC,QAAS,KAMTzF,KAAM,WAMNzB,KAAM,OAMN0oB,aAAa,EAMb1yB,MAAO,KAMPI,SAAU,KAMVuyB,QAAS,KAQTj0B,YAAa,WACXpE,KAAK8O,OAASX,EAAA,QAAkE3I,SAASxF,KAAK8O,WAAcA,GAE5GipB,EAAA,QAAmD1zB,MAAMrE,KAAMsE,WAE/DtE,KAAKuE,IAAI+K,SAASsoB,EAAY53B,OAE9BA,KAAKuD,SA5ET,0gBA8EI,IAAMqT,GAAU+gB,EAAU33B,KAAM,UAE5B4W,IACF5W,KAAK8W,IAAIF,IAIbP,gBAAiB,WACf,GAAI3F,GAAOinB,EAAU33B,KAAM,QAErBmR,EAAOwmB,EAAU33B,KAAM,OAK7B,QAJa,QAAT0Q,IAEFA,EAAO,cAEDS,GACR,IAAK,OACHT,EAAO,EACP,MACF,KAAK,QACHA,GAAQA,EAAM,IAAK,MAAMjH,KAAK,GAC9B,MACF,SACEiH,GAAQA,EAAM,IAAK,MAAMjH,KAAK,IAEhC,OACEiH,OACAhL,MAAOiyB,EAAU33B,KAAM,SACvB8F,SAAU6xB,EAAU33B,KAAM,YAC1Bq4B,QAASV,EAAU33B,KAAM,WACzBo4B,YAAaT,EAAU33B,KAAM,kBAcRoC,GAAA,SAe3BsP,OAAQ,SAAUnM,GAChB,MAAO,IAAI4yB,GAAe5yB,MAOvB,SAAS3F,EAAQwC,EAAqBlC,GAGhBkC,EAAA,GAC3Bk2B,eAAgB,IAChBC,aAAc,IACdL,eAAgB,IAChBM,wBAAyB,IACzBC,sBAAuB,MAMlB,SAAS74B,EAAQD,EAASO,GAEjC,GAAIw4B,GAA8B9H,CAahC8H,IAAgCx4B,EAAoB,SAuChB+I,MAvCsB2nB,EAAiC,SAAU+H,GACrG,GAAIvjB,GAAIujB,CACRA,GAAO1zB,GAAG2zB,YAAc,WACtB,MAAOxjB,GAAEpV,MAAMgR,KAAK,WAClB,GAAGoE,EAAEpV,MAAM64B,GAAG,gCAAgC,CAC5C,GAAIjoB,GAAQwE,EAAEpV,MAGVwQ,EAAQI,EAAMkoB,SAAS,cAAcloB,EAAMpM,KAAK,MAAM,WACrDgM,GAAM3K,SACT2K,EAAQI,EAAMmoB,QAAQ,cAAcnoB,EAAMpM,KAAK,MAAM,aAGvDoM,EAAMkG,IAAItG,GAAOwoB,QAAQ,sBAAuBpoB,EAAMpM,KAAK,QAAS,YAGpEgM,EAAMyoB,MACJ,WAAY7jB,EAAEpV,MAAMsP,SAAS,UAC7B,WAAY8F,EAAEpV,MAAMwP,YAAY,WAIlCoB,EAAM3K,KAAK,cAAe,WACxB2K,EAAMioB,GAAG,YAAcroB,EAAMlB,SAAS,WAAakB,EAAMhB,YAAY,uCAEtEzK,QAAQ,eACRgK,MAAM,WACLqG,EAAE,eAAgBA,EAAEpV,MAAMwE,KAAK,QAAS,MAAMO,QAAQ,iBAEvDgQ,MAAM,WACLvE,EAAMlB,SAAS,SACZsB,EAAMioB,GAAG,aAAezjB,EAAEpV,MAAMsP,SAAS,kBAE7C4pB,KAAK,WAAY1oB,EAAMhB,YAAY,6BAKzCnL,MAAM1E,EAAS+4B,MACkC94B,EAAOD,QAAUixB,IAI9D,SAAShxB,EAAQwC,EAAqBlC,GAoB7C,QAASi5B,GAAgB5zB,GACvB,GAAMG,GAAQH,EAAQG,MAChBsB,EAAOzB,EAAQyB,IAErB,OAAOtB,IAASsB,GAAQtB,IAAUsB,EAIpC,QAASoyB,GAAkB7zB,GACzB,MAAI4zB,GAAgB5zB,GACXA,GAEAyB,KAAMzB,EAAQyB,MAAQzB,GA7BjCzE,OAAOC,eAAeqB,EAAqB,cAAgBC,OAAO,GAC7C,IAAI4R,GAAqD/T,EAAoB,GACzEm5B,EAAqCn5B,EAAoB,IAEzDy2B,GAD6Cz2B,EAAoBiB,EAAEk4B,GACxBn5B,EAAoB,IAC/D6D,EAAmD7D,EAAoB,GACvEo5B,EAAkEp5B,EAAoB,IAEtF22B,GAD0E32B,EAAoBiB,EAAEm4B,GACrDp5B,EAAoB,KAOlF2O,EAAY,iCAiBWzM,GAAA,QAAkCy0B,EAAA,EAA4DxwB,QACzH9C,SAAUQ,EAAA,QAA4Dc,IACpE,0dAiBFiK,QACEyqB,cAAe,SACfC,eAAgB,SAChBC,gBAAiB,SACjBC,cAAe,SAAU5vB,GACnB6sB,EAAA,QAAoD7oB,QAAQhE,GAC9D9J,KAAK6P,MAAM9K,QAAQ,aACV4xB,EAAA,QAAoD5oB,MAAMjE,IACnE9J,KAAK6P,MAAM9K,QAAQ,iBAKzBX,YAAa,WACXyyB,EAAA,EAA4DxyB,MAAMrE,KAAMsE,WACxEtE,KAAKuE,IAAI+K,SAAS,mBAMpB6I,SAAU,WACRnY,KAAKuE,IAAI+K,SAAST,GAClBgoB,EAAA,EAA4Dt1B,UAAU4W,SAAS9T,MAAMrE,KAAMsE,WAC3FtE,KAAKoV,EAAE,SAASX,eAMlB2D,SAAU,WACRye,EAAA,EAA4Dt1B,UAAU6W,SAAS/T,MAAMrE,KAAMsE,WACjE,aAAtBtE,KAAKuF,QAAQmK,MACf1P,KAAKuE,IAAIyC,KAAK,YAEhBhH,KAAKuE,IAAIiL,YAAYX,IAMvBc,IAAK,WACH,GAAIgqB,GAAa35B,KAAKoV,EAAE,eAAiBpV,KAAKuF,QAAQmK,KAAO,MAAMC,KAMnE,OAH0B,aAAtB3P,KAAKuF,QAAQmK,OACfiqB,EAAa1lB,EAAA,QAA8DpI,KAAK8tB,IAE3EA,GAMT5kB,MAAO,WACL,MAAO/U,MAAKoV,EAAE,SAASL,SAGzBsD,WAAY,WACV,GAAMlS,GAASnG,KAAKuF,QAAQY,OACxByQ,QAEAzQ,IAAUA,EAAOyzB,eACnBhjB,EAAUwiB,EAAkBjzB,EAAOyzB,cACnC55B,KAAKoV,EAAE,kBAAkBykB,MACvBjjB,QAASA,EACTkjB,OAASC,QAAS,wCAClB5D,UACE6D,GAAI,cAeJpuB,OAAQ,QACRquB,QACErlB,OAAQ,OACRslB,OAAO,EACPC,GAAI,EACJ92B,EAAG,GAEL+2B,SAAUt5B,OAAOmT,EAAA,SAA+D,gBAUnF,SAASrU,EAAQD,EAASO,GAEjCN,EAAOD,QAAUO,EAAoB,KAK9B,SAASN,EAAQD,EAASO,GAyIjC,QAASm6B,GAAuBz4B,GAAO,MAAOA,IAAOA,EAAIR,WAAaQ,GAAQC,QAASD,GApIvF,GAAI04B,GAAkBp6B,EAAoB,IAEtCq6B,EAAmBF,EAAuBC,GAE1CE,EAAat6B,EAAoB,IAEjCu6B,EAAcJ,EAAuBG,GAErCE,EAAcx6B,EAAoB,IAElCy6B,EAAeN,EAAuBK,GAEtCE,EAAS16B,EAAoB,IAE7B26B,EAAUR,EAAuBO,GAEjCE,EAAkB56B,EAAoB,IAEtC66B,EAAmBV,EAAuBS,GAE1CE,EAAkB96B,EAAoB,IAEtC+6B,EAAmBZ,EAAuBW,GAE1CE,EAAch7B,EAAoB,IAElCi7B,EAAed,EAAuBa,GAEtCE,EAAiBl7B,EAAoB,IAErCm7B,EAAkBhB,EAAuBe,GAEzCE,EAASp7B,EAAoB,IAE7Bq7B,EAAUlB,EAAuBiB,GAEjCE,EAAUt7B,EAAoB,IAE9Bu7B,EAAWpB,EAAuBmB,GAElCE,EAAQx7B,EAAoB,GAE5By7B,EAAStB,EAAuBqB,GAEhCE,EAAU17B,EAAoB,GAE9B27B,EAAWxB,EAAuBuB,GAElCE,EAAc57B,EAAoB,GAElC67B,EAAe1B,EAAuByB,GAEtCE,EAAgB97B,EAAoB,GAEpC+7B,EAAiB5B,EAAuB2B,GAExCE,EAAQh8B,EAAoB,IAE5Bi8B,EAAS9B,EAAuB6B,GAEhCE,EAAqBl8B,EAAoB,IAEzCm8B,EAAsBhC,EAAuB+B,GAE7CE,EAAiBp8B,EAAoB,GAErCq8B,EAAkBlC,EAAuBiC,GAEzCE,EAAqBt8B,EAAoB,GAEzCu8B,EAAsBpC,EAAuBmC,GAE7CE,EAAYx8B,EAAoB,IAEhCy8B,EAAatC,EAAuBqC,GAEpCE,EAAY18B,EAAoB,GAEhC28B,EAAaxC,EAAuBuC,GAEpCE,EAAgB58B,EAAoB,IAEpC68B,EAAiB1C,EAAuByC,GAExCE,EAAY98B,EAAoB,IAEhC+8B,EAAa5C,EAAuB2C,GAEpCE,EAAWh9B,EAAoB,IAE/Bi9B,EAAY9C,EAAuB6C,GAEnCE,EAAYl9B,EAAoB,GAEhCm9B,EAAahD,EAAuB+C,GAEpCE,EAAiBp9B,EAAoB,IAErCq9B,EAAkBlD,EAAuBiD,GAEzCE,GAAqBt9B,EAAoB,IAEzCu9B,GAAsBpD,EAAuBmD,IAE7CE,GAAYx9B,EAAoB,IAEhCy9B,GAAatD,EAAuBqD,IAEpCE,GAAe19B,EAAoB,IAEnC29B,GAAgBxD,EAAuBuD,IAEvCE,GAAS59B,EAAoB,IAE7B69B,GAAU1D,EAAuByD,IAEjCE,GAAU99B,EAAoB,IAE9B+9B,GAAW5D,EAAuB2D,IAElCE,GAAWh+B,EAAoB,IAE/Bi+B,GAAY9D,EAAuB6D,IAEnCE,GAAWl+B,EAAoB,IAE/Bm+B,GAAYhE,EAAuB+D,IAEnCE,GAAYp+B,EAAoB,GAEhCq+B,GAAalE,EAAuBiE,IAIpCE,IACFC,SAAUF,GAAW18B,QAErBuT,EAAGmnB,EAAgB16B,QAEnBa,EAAG+5B,EAAoB56B,QAEvB68B,WAAYrC,EAAoBx6B,QAEhCkY,IAAKgiB,EAAal6B,QAAQ0I,SAE1B+D,aAAc+sB,EAAgBx5B,QAAQ6P,OAEtCitB,cAAeN,GAAUx8B,QAAQ6P,OAEjCktB,cAAerB,EAAgB17B,QAAQuyB,SAEvCvvB,IAAKo3B,EAAep6B,QAAQgD,IAE5B2mB,MAAOqP,EAAQh5B,QAEfg9B,UAAWpE,EAAY54B,QAEvB4pB,WAAY8O,EAAiB14B,QAE7BqwB,KAAM2K,EAAWh7B,QAEjBi9B,SAAUnC,EAAW96B,QAErBysB,OAAQ6M,EAAat5B,QAErBgtB,WAAYoM,EAAiBp5B,QAE7Bk9B,KAAM9B,EAAWp7B,QAEjBm9B,UACEC,MACEC,KAAM/C,EAAOt6B,QACbs9B,OAAQ1D,EAAS55B,QACjBu9B,OAAQvD,EAASh6B,QACjBw9B,MAAO9D,EAAQ15B,QACfy9B,KAAM3D,EAAO95B,SAGf09B,OACEC,YACEC,aAAc1C,EAAel7B,SAG/B69B,OACEC,SACEC,SAAUvC,EAAWx7B,QACrBg+B,kBAAmBpC,GAAoB57B,SAGzC29B,YACEM,QAAS3C,EAAUt7B,SAGrB8P,QACEouB,QAAS5B,GAAUt8B,QACnBm+B,YAAanC,GAAch8B,QAC3Bo+B,SAAUtC,GAAW97B,QACrBq+B,MAAOnC,GAAQl8B,QACfs+B,OAAQlC,GAASp8B,WAKvBu+B,QACEC,WAAY1F,EAAa94B,QACzBy+B,eAAgBvF,EAAiBl5B,UAKvC28B,IAAKI,cAAc,OAAQT,GAAUt8B,SACrC28B,GAAKI,cAAc,WAAYf,GAAch8B,SAC7C28B,GAAKI,cAAc,WAAYjB,GAAW97B,SAC1C28B,GAAKI,cAAc,QAASb,GAAQl8B,SACpC28B,GAAKI,cAAc,SAAUX,GAASp8B,SAEtCjC,EAAOD,QAAU6+B,IAIV,SAAS5+B,EAAQD,GAExBC,EAAOD,QAAUqM,EAAQ,MAIlB,SAASpM,EAAQwC,EAAqBlC,GA2B7C,QAASqgC,GAAyBnhB,EAAYtY,GAC5C,IACE,GAAI05B,GAAQC,EAAgB35B,EAAI45B,kBAAkB,QAClDthB,GAAWuhB,GAAO7wB,IAAI8wB,GAAgB,GACtCxhB,EAAWyhB,cAAcL,EAAA,KAAc7vB,MAEzC,MAAO7G,GACDsV,EAAWuhB,GAAOz/B,IAAI0/B,IACxBxhB,EAAWyhB,cAAc,OAK/B,QAAS13B,GAAW4X,GAKlB,IAAK,GAJD5a,MACA26B,EAAc/f,GAAOA,EAAIxX,MAAM,KAAK,GACpCw3B,EAAcD,GAAex3B,mBAAmBw3B,EAAYv3B,MAAM,KAAK,IAAIP,QAAQ,MAAO,KAC1FuW,EAAQwhB,EAAcA,EAAYx3B,MAAM,QACnClJ,EAAI,EAAGA,EAAIkf,EAAM1Z,OAAQxF,IAAK,CACrC,GAAI2gC,GAAQzhB,EAAMlf,GAAGkJ,MAAM,IAC3BpD,GAAO66B,EAAMn4B,SAAWm4B,EAAMv3B,KAAK,KAErC,MAAOtD,GAQT,QAAS86B,GAAQ5+B,GACf,MAAuB,KAAnBA,EAAM+nB,OAAO,IAA+C,KAAlC/nB,EAAM+nB,OAAO/nB,EAAMwD,OAAS,GACjDxD,EAAM+E,UAAU,EAAG/E,EAAMwD,OAAS,GAEpCxD,EAQT,QAASo+B,GAAgBS,GAOvB,IAAK,GALDC,GAAU,8FACVC,EAAW,qEAEX9W,EAAU4W,EAAO3W,MAAM4W,GACvBE,KACKhhC,EAAI,EAAGA,EAAIiqB,EAAQzkB,OAAQxF,IAAK,CACvC,GAAIkJ,GAAQ+gB,EAAQjqB,GAAGkJ,MAAM,KACzBoH,EAAOpH,EAAM,GAAGnC,UAAU,GAC1Bk6B,IACJA,GAAK3wB,KAAOA,CAEZ,KAAK,GADDjP,GAAI6H,EAAM,GAAGghB,MAAM6W,GACdG,EAAI,EAAGA,EAAI7/B,EAAEmE,OAAQ07B,IAAK,CACjC,GAAIC,GAAa9/B,EAAE6/B,GAAGh4B,MAAM,IAE5B+3B,GADWE,EAAW,IACTP,EAAQO,EAAW,QAGjBv4B,KAAbq4B,EAAKG,MACPJ,EAAKC,EAAKG,KAAOH,GAIrB,MAAOD,GA1FY,GAAIlzB,GAAyDjO,EAAoB,GAC7E6xB,EAAyC7xB,EAAoB,GAC7D8xB,EAAiD9xB,EAAoBiB,EAAE4wB,GAK5F4O,EAAQ,YAIRC,EAAiB,gBAkHQx+B,GAAA,EAA4B4vB,EAA+CrvB,EAAE8oB,WAAWplB,QAMnHF,UAEA/B,YAAa,SAAUg8B,EAAQ76B,IACjBvF,KAAK2gC,GAAS,GAAI3O,GAA+CrvB,EAAE6oB,OACzE1b,IA7HW,iBA6HS3B,EAAA,QAAkE3I,SAASD,GAAWA,EAAQY,WAAcnG,KAAKmG,aAC3I6rB,EAA+CrvB,EAAE8oB,WAAWpnB,MAAMrE,KAAMsE,YAM1EqV,KAAM,SAAU/E,EAAQwK,EAAY7Z,GAClC,GAAIxF,GAAOC,KACP0hC,EAAUn8B,EAAQm8B,OAOtB,OANAn8B,GAAQm8B,QAAU,SAAUrf,EAAMsf,EAAQ76B,GAGxCy5B,EAAyBxgC,EAAM+G,GAC/B46B,EAAQr9B,MAAM,KAAMC,YAEf0tB,EAA+CrvB,EAAE8oB,WAAWlqB,UAAUoY,KAAKpZ,KAAKP,KAAM4U,EAAQwK,EAAY7Z,IAMnHq8B,MAAO,SAAUr8B,GACfA,IAAYA,KACZ,IAAI8pB,GAAQrvB,KAAK2gC,GACb75B,EAAMuoB,EAAMnuB,IApJV,MA+JN,OATAqE,GAAQ9B,KAAO0K,EAAA,QAAkE9H,UAAWgpB,EAAMnuB,IAxJjF,kBAwJsGqE,EAAQ9B,UAC/H8B,EAAQs8B,WAAY,EAEpBxS,EAAMvf,IA7JO,aA6JSvK,EAAQ9B,MAC1BqD,GAAOA,EAAIg7B,QAA2B,IAAlBv8B,EAAQu8B,OAC9Bh7B,EAAIg7B,QAENh7B,EAAMkrB,EAA+CrvB,EAAE8oB,WAAWlqB,UAAUqgC,MAAMrhC,KAAKP,KAAMuF,GAC7F8pB,EAAMvf,IA9JA,MA8JShJ,GACRA,GA0BT+5B,cAAe,SAAU16B,EAAQZ,GAE3B4I,EAAA,QAAkE/H,SAASD,IAAWA,IACxFA,EAASgD,EAAWhD,IAEjBgI,EAAA,QAAkElL,SAASkD,KAAWgI,EAAA,QAAkE0C,QAAQ1K,IAAYgI,EAAA,QAAkEgD,KAAKhL,GAG/OZ,GAAWA,EAAQs8B,YAC1B17B,EAASgI,EAAA,QAAkE9H,UAAWrG,KAAK+hC,eAAgB57B,IAH3GA,EAAS,KAKXnG,KAAK2gC,GAAO7wB,IAvMM,kBAuMe3J,IASnC47B,aAAc,WACZ,MAAO/hC,MAAK2gC,GAAOz/B,IAlNN,mBA0Nf8gC,kBAAmB,WACjB,MAAOhiC,MAAK2gC,GAAOz/B,IA1ND,wBAiOpB+gC,QAAS,WACP,MAAO9zB,GAAA,QAAkEgD,KAAKnR,KAAKgiC,qBAAuB,GAO5GE,UAAW,WACT,IAAKliC,KAAKiiC,UACR,KAAM,IAAIx5B,OAAM,kBAElB,OAAOzI,MAAK4hC,OAAQn+B,KAAMzD,KAAKgiC,oBAAqBlrB,KAAK,EAAMO,QAAQ,EAAOW,QAAQ,KAMxFkI,MAAO,SAAUkgB,EAAQ76B,GAQvB,MAPAA,KAAYA,MAIPA,EAAQs8B,WACX7hC,KAAK6gC,cAAc,MAEd7O,EAA+CrvB,EAAE8oB,WAAWlqB,UAAU2e,MAAM7b,MAAMrE,KAAMsE,YAIjG69B,MAAO,SAAUxiB,EAAO9N,GACtB,MAAI1D,GAAA,QAAkErC,QAAQ6T,GACrE9N,MAAQ,MAEV7R,KAAK6R,EAAQ,OAAS,UAAU,SAAUhC,GAC/C,IAAK,GAAI1F,KAAOwV,GACd,GAAIA,EAAMxV,KAAS0F,EAAM3O,IAAIiJ,GAC3B,OAAO,CAGX,QAAO,KAOXuH,OAAQ,SAAU7B,EAAOtK,GAKvB,MAJAA,KAAYA,MACP4I,EAAA,QAAkE2G,OAAOjF,EAAO,aACnFtK,EAAQwb,IAAM5S,EAAA,QAAkE2G,OAAO9U,KAAM,QAExFgyB,EAA+CrvB,EAAE8oB,WAAWlqB,UAAUmQ,OAAOnR,KAAKP,KAAM6P,EAAOtK,OAQnG,SAAS3F,EAAQwC,EAAqBlC,GAyD7C,QAASkiC,GAAQ//B,EAAOggC,EAAkBl4B,EAAKyB,GAC7C,GAAIohB,GAAS7e,EAAA,QAAkEsD,SAAS4wB,EAAkBl4B,EAW1G,OAVAyB,KAAWA,MACNohB,IAAU7e,EAAA,QAAkElL,SAASZ,IAAW8L,EAAA,QAAkE0C,QAAQxO,IAAW8L,EAAA,QAAkEjL,WAAWb,OAMtP4G,KAARkB,IACPyB,EAAOzB,GAAO9H,GANd8L,EAAA,QAAkE6C,KAAK3O,EAAO,SAAUsN,EAAKtP,GAC3F+hC,EAAQzyB,EAAK0yB,EAAkBl4B,EAAOA,EAAM,IAAM9J,EAAKA,EAAGuL,KAOvDA,EAGT,QAAS02B,GAAU7+B,GAgBjB,MAfA0K,GAAA,QAAkE6C,KAAKvN,EAAM,SAAUpB,EAAO8H,EAAK1G,GACjG,IAAyB,GAArB0G,EAAIgd,QAAQ,KAAhB,CAMA,IAHA,GAAIob,GACAC,EAAM/+B,EACNu9B,EAAQ72B,EAAIZ,MAAM,SACYN,MAA1Bs5B,EAAOvB,EAAMn4B,UACd25B,EAAID,KACPC,EAAID,GAAQvB,EAAMn7B,UAAcxD,GAElCmgC,EAAMA,EAAID,SAEL9+B,GAAK0G,MAEP1G,EAGT,QAASg/B,GAAcra,EAAO9R,GAC5B,GAAI1U,KAEJ,OADAA,GAAIwmB,EAAMznB,MAAQ2V,EACX1U,EAGT,QAAS8gC,GAAmBta,EAAOznB,GACjC,GAAIiL,EAiBJ,OAfEA,GADEuC,EAAA,QAAkE/H,SAASgiB,IAE3E1Y,KAAM0Y,GAGDja,EAAA,QAAkE0C,QAAQuX,IAE/E1Y,KAAM0Y,EAAM,GACZ5E,SAAU4E,EAAM,GAChB/lB,MAAO+lB,EAAM,IAINja,EAAA,QAAkElK,MAAMmkB,GAEnFja,EAAA,QAAkE3I,SAASoG,GAAS4X,UAAU,EAAO7iB,KAAMA,IACpGiL,EAGT,QAAS+2B,GAAW34B,GAClB,MAAOA,GAAO44B,cAAc55B,QAAQ,WAAY,SAAU65B,GACxD,MAAOA,GAAOC,gBAIlB,QAASC,GAAe1gC,EAAOwmB,EAAS/b,GACtC,IAAK+b,EAAQ3f,KAAK7G,GAChB,MAAOyK,GA4BX,QAASk2B,GAAqB5a,EAAO/lB,GACnC,GAAI4gC,GAAYC,EAAuB9a,EAAM3M,OAC7C,IAAI2M,EAAM3M,SAAWwnB,EACnB,KAAM,IAAIE,WAAU/a,EAAM3M,OAAS,oCAErC,OAAOwnB,IAAaA,EAAU5gC,GAGhC,QAAS+gC,GAAehb,EAAO/lB,GAC7B,GAAIghC,GAAoBl1B,EAAA,QAAkE0e,QAAQ4V,EAAera,GAC7Gkb,EAAgBN,EAAqB5a,EAAO/lB,EAChD,OAAIihC,GACKD,EAAkBC,GAEvBjhC,GAAS+lB,EAAMjG,WAAa9f,EAAMwD,OAASuiB,EAAMjG,UAC5CkhB,EAAkB7X,EAAM+X,+BAAgClhC,EAAMwD,QAEnExD,GAAS+lB,EAAMhG,WAAa/f,EAAMwD,OAASuiB,EAAMhG,UAC5CihB,EAAkB7X,EAAMgY,+BAAgCnhC,EAAMwD,YADvE,GAKF,QAASyS,GAAc8P,EAAO/lB,GAE5B,GAEIohC,GACAriB,EAHAiiB,EAAoBl1B,EAAA,QAAkE0e,QAAQ4V,EAAera,GAC7Gsb,GAAav1B,EAAA,QAAkEhL,YAAYd,KAAW8L,EAAA,QAAkEw1B,OAAOthC,EAKnL,MAAIsG,MAAMkI,QAAQuX,EAAM9S,UAAxB,CA8BA,GAAI8S,EAAM5E,YAAckgB,GAAav1B,EAAA,QAAkEw1B,OAAOthC,IAAoB,KAAVA,GACtH,MAAOghC,GAAkB7X,EAAMoY,YAIjC,IADAH,EAAYt1B,EAAA,QAAkE,KAAOw0B,EAAWva,EAAM1Y,OAClGg0B,GAA2B,OAAdtb,EAAM1Y,QAAmBvB,EAAA,QAAkEjL,WAAWugC,KAAeA,EAAUphC,IAC9I,MAAOghC,GAAkB7X,EAAMqY,iBAGjC,IAAIxhC,GAAuB,UAAd+lB,EAAM1Y,KAAkB,CACnC,GAAI5C,GAAQs2B,EAAehb,EAAO/lB,EAClC,IAAIyK,EACF,MAAOA,GAIX,GAAI42B,GAAatb,EAAMnJ,SAAW9Q,EAAA,QAAkEsD,SAAS2W,EAAMnJ,OAAQ5c,GACzH,MAAOghC,GAAkB7X,EAAMsY,kBAGjC,IAAI31B,EAAA,QAAkEjL,WAAWklB,EAAM9S,UAAW,CAChG,GAAIR,GAASsT,EAAM9S,SAASjT,EAC5B,IAAI8L,EAAA,QAAkE/H,SAAS0O,IAAWA,EACxF,MAAOuuB,GAAkBvuB,EAEtB,KAAe,IAAXA,EACP,MAAOuuB,GAAkB7X,EAAMuY,eAInC,MAAIL,IAA2B,SAAdtb,EAAM1Y,OAAoB0R,EAAe4iB,EAAmB5b,EAAO/lB,IAC3EghC,EAAkBjiB,OAD3B,GA3DE,GAAI6iB,MACAC,GAAa,EACbpvB,QAoBJ,IAnBAsT,EAAM9S,SAAS6uB,QAAQ,SAAAC,GACrB,GAAK/hC,EAGH,OAAQ+hC,EAAK10B,KAAKkzB,eAClB,IAAK,QACH9tB,EAAU,GAAIuvB,QAAOD,EAAK/hC,MAAMwmB,QAASub,EAAK/hC,MAAMiiC,OAAS,IAAKp7B,KAAK7G,EACvE,MACF,SACEyS,GAAS,MAPXA,IAAS,CAWXovB,GAAaA,IAAepvB,EAC5BmvB,EAAOz4B,MACLlG,QAAS8+B,EAAK5iC,eAAe,WAAa4iC,EAAK9+B,QAAU,GACzDi/B,OAAQzvB,MAGRovB,EACF,MAAOb,GAAkBY,IAyC/B,QAASD,GAAmB5b,EAAOyJ,GACjC,GAAIzJ,EAAM7E,UAAYsO,EAAIhsB,OAASuiB,EAAM7E,SACvC,MAAO,uCAEJ,IAAI6E,EAAMoc,UAAY3S,EAAIhsB,OAASuiB,EAAMoc,SAC5C,MAAO,uCAEJ,IAAIpc,EAAMqc,aAAe5S,EAAIhsB,OAASsI,EAAA,QAAkEwE,KAAKkf,GAAKhsB,OACrH,MAAO2lB,GAAMkZ,mBAEV,IAAItc,EAAMvM,MAGb,IAAK,GADD8oB,GAAajC,EAAmBta,EAAMvM,MAAO,eACxCxb,EAAI,EAAGA,EAAIwxB,EAAIhsB,OAAQxF,IAAK,CACnC,GAAIgC,GAAQwvB,EAAIxxB,GACZyM,EAAQwL,EAAcqsB,EAAYtiC,EACtC,IAAIyK,EACF,MAAOA,GAAA,aAvQM,GAoDjB0e,GApDqBrd,EAAyDjO,EAAoB,GAC7E6xB,EAAyC7xB,EAAoB,GAC7D8xB,EAAiD9xB,EAAoBiB,EAAE4wB,GACvEthB,EAA6CvQ,EAAoB,GA4HtFgjC,GAEFzoB,MAAO,SAAUpY,GAGf,MAAO0gC,GAAe1gC,EADR,uJACwBmpB,EAAMoZ,6BAE9CpqB,IAAK,SAAUnY,GAGb,MAAO0gC,GAAe1gC,EADR,wcACwBmpB,EAAMqZ,2BAE9CC,KAAM,SAAUziC,GAGd,MAAO0gC,GAAe1gC,EADR,8FACwBmpB,EAAMuZ,4BAE9CC,SAAU,SAAU3iC,GAGlB,MAAO0gC,GAAe1gC,EADR,4GACwBmpB,EAAMyZ,gCA0HhDzZ,GAAQwG,EAA+CrvB,EAAE6oB,MAAMnlB,QA4C7DkZ,SAuCA2lB,WAkBAxrB,SA2BA+F,MAAM,EAMNja,YAEApB,YAAa,SAAUmB,GACrBvF,KAAKuF,QAAUA,KAEf,IAAI4/B,GAASnlC,KAAA,cACTqiC,IAEJ8C,GAAOtlB,sBAEPslB,EAAO5lB,MAAQpR,EAAA,QAAkElK,MAAMkK,EAAA,QAAkE2G,OAAO9U,KAAM,cACtKmlC,EAAOD,QAAU/2B,EAAA,QAAkElK,MAAMkK,EAAA,QAAkE2G,OAAO9U,KAAM,gBACxKmlC,EAAOzrB,MAAQvL,EAAA,QAAkElK,MAAMkK,EAAA,QAAkE2G,OAAO9U,KAAM,aAEtK,IAAIwF,KAUJ,IATA2I,EAAA,QAAkE6C,KAAK7C,EAAA,QAAkE9H,UAAW8+B,EAAO5lB,MAAO4lB,EAAOzrB,OAAQ,SAAUnU,EAAS5E,GAClM,GAAIykC,GAAY1C,EAAmBn9B,EAAS5E,EACvCwN,GAAA,QAAkEhL,YAAYiiC,EAAU/iC,SAC3FmD,EAAS7E,GAAQykC,EAAU/iC,OAEN,WAAnB+iC,EAAU11B,MACZ2yB,EAAiB72B,KAAK7K,IAEvBX,MACCmO,EAAA,QAAkEgD,KAAK3L,GAAW,CACpF,GAAI6/B,GAAgBl3B,EAAA,QAAkE2G,OAAO9U,KAAM,WACnGA,MAAKwF,SAAW,WACd,MAAO2I,GAAA,QAAkE3I,YAAaA,EAAU6/B,IAKpGrlC,KAAKsV,SAAWnH,EAAA,QAAkE0G,KAAK7U,KAAKsV,SAAU,SAAUA,GAC9G,GAAI5M,GAAOyF,EAAA,QAAkEm3B,KAAKhhC,WAC9Eyb,EAAM5R,EAAA,QAAkE9H,OAAOrG,KAAKulC,gBAAgBlhC,MAAMrE,KAAM0I,GAAO4M,EAASjR,MAAMrE,KAAM0I,GAChJ,OAAOyF,GAAA,QAAkEgD,KAAK4O,IAAQA,OAAO9W,KAI/FjJ,KAAKsH,MAAQ6G,EAAA,QAAkE0G,KAAK7U,KAAKsH,MAAO,SAAUA,GACxG,GAAIsE,GAAStE,EAAMjD,MAAMrE,KAAMmO,EAAA,QAAkEm3B,KAAKhhC,WAItG,OAHItE,MAAKyf,OACP7T,EAASw2B,EAAQx2B,EAAQy2B,IAEpBz2B,IAGTomB,EAA+CrvB,EAAE6oB,MAAMnnB,MAAMrE,KAAMsE,WAEnE6J,EAAA,QAAkE6C,KAAKm0B,EAAOD,QAAS,SAAU3/B,EAAS5E,GACxGwkC,EAAOtlB,mBAAmBlf,GAAQX,KAAKwlC,kBAAkB7kC,EACzD,IAAIgX,GAAOpS,EAAQoS,QACfA,GAAK9R,QACP7F,KAAKqV,GAAG,sBAAwBsC,EAAKlO,KAAK,YAAa,WACrD,GAAIpH,GAAQrC,KAAKwlC,kBAAkB7kC,EAC/B0B,KAAU8iC,EAAOtlB,mBAAmBlf,KACtCwkC,EAAOtlB,mBAAmBlf,GAAQ0B,EAClCrC,KAAK+E,QAAQ,UAAYpE,EAAMX,KAAMqC,KAEtCrC,OAEJA,MAEHA,KAAKqV,GAAG,OAAQ,WACdrV,KAAKylC,aAAezlC,KAAK8f,UACxB9f,OAGLsV,SAAU,aAOVxE,OAAQ,SAAU3G,GAChB,GAAIg7B,GAASnlC,KAAA,WACTmpB,EAAMhb,EAAA,QAAkE9H,UAAW8+B,EAAO5lB,MAAO4lB,EAAOzrB,MAI5G,OAHKvL,GAAA,QAAkEue,IAAIvD,EAAKhf,IAC9EsG,EAAA,QAAsD5D,KAAK,8BAA+B1C,IAErF,GASTu7B,kBAAmB,SAAUC,GAC3B,GAAIR,GAASnlC,KAAA,UACb,OAAOmO,GAAA,QAAkEmd,QAAQ6Z,EAAO5lB,MAAO4lB,EAAOzrB,OAAQ,SAAU5E,EAAQvP,GAC9H,MAAOuP,IAAU4tB,EAAmBn9B,EAAQogC,GAAWA,IACtD,OAGL71B,IAAK,SAAU3F,EAAKwF,GAClB,GAAIgQ,EACe,iBAAf,KAAOxV,EAAP,eAAAlI,EAAAJ,SAAOsI,IACTwV,EAAQxV,GAEPwV,MAAYxV,GAAOwF,EAItBxB,EAAA,QAAkE6C,KAAK2O,EAAO,SAAUtd,EAAO8H,GAC7F,GAAIgE,EAAA,QAAkEue,IAAI1sB,KAAA,WAAmBklC,QAAS/6B,GACpG,KAAM,mDAAqDA,GAE5DnK,KAGH,IAAI4lC,KAIJ,IAHAz3B,EAAA,QAAkE6C,KAAK2O,EAAO,SAAUtd,EAAO8H,GAC7FnK,KAAK8Q,OAAO3G,IAAQy7B,EAAYp6B,KAAKrB,IACpCnK,MACC4lC,EAAY//B,OACd,KAAM,sBAAwB+/B,EAAYn8B,KAAK,KAGjD,OAAOuoB,GAA+CrvB,EAAE6oB,MAAMjqB,UAAUuO,IAAIzL,MAAMrE,KAAMsE,YAG1FpD,IAAK,SAAUsD,GACb,GAAI2gC,GAASnlC,KAAA,UACb,OAAImO,GAAA,QAAkEue,IAAIyY,EAAOD,QAAS1gC,IACrD,IAA/B2gC,EAAOD,QAAQ1gC,GAAMqhC,MAChBV,EAAOtlB,mBAAmBrb,GAG1BxE,KAAKwlC,kBAAkBhhC,GAG3BwtB,EAA+CrvB,EAAE6oB,MAAMjqB,UAAUL,IAAImD,MAAMrE,KAAMsE,YAsB1Fwb,OAAQ,SAAUva,GAChBA,IAAYA,KACZ,IAAIwa,GAAM5R,EAAA,QAAkElK,MAAM+tB,EAA+CrvB,EAAE6oB,MAAMjqB,UAAUue,OAAOzb,MAAMrE,KAAMsE,YAClK6gC,EAASnlC,KAAA,UAgBb,OAbKuF,GAAQya,QAIX7R,EAAA,QAAkE6C,KAAKm0B,EAAOD,QAAS,SAAU3/B,EAAS5E,GACxGof,EAAIpf,GAAQX,KAAKkB,IAAIP,IACpBX,MALH+f,EAAM5R,EAAA,QAAkE2D,KAAKiO,EAAK5R,EAAA,QAAkE7D,KAAK66B,EAAOzrB,QAQ9J1Z,KAAKyf,OACPM,EAAMuiB,EAAUviB,IAGXA,GASTG,MAAO,SAAU3a,GACfvF,KAAKmgB,MAAM5a,GACXvF,KAAK8P,IAAI3B,EAAA,QAAkE2G,OAAO9U,KAAM,YAAauF,IAOvGib,SAAU,WACR,MAAOrS,GAAA,QAAkEsS,QAAQzgB,KAAKylC,aAAczlC,KAAK8f,WAS3GxH,cAAe,SAAUnO,GACvB,GAAIg7B,GAASh7B,GAAOnK,KAAK0lC,kBAAkBv7B,EAC3C,OAAOg7B,IAAU7sB,EAAc6sB,EAAQnlC,KAAKkB,IAAIiJ,KAQlDo7B,gBAAiB,WACf,GAAIJ,GAASnlC,KAAA,UACb,OAAOmO,GAAA,QAAkEmd,OAAOnd,EAAA,QAAkE9H,UAAW8+B,EAAO5lB,MAAO4lB,EAAOzrB,OAAQ,SAAUosB,EAAMvgC,EAAS5E,GACjN,MAAOwN,GAAA,QAAkE9H,OAAOy/B,EAAM9lC,KAAKsY,cAAc3X,YACpGX,OAGTwlC,kBAAmB,SAAU7kC,GAC3B,GAAI4E,GAAUvF,KAAA,WAAmBklC,QAAQvkC,EACzC,IAAIwN,EAAA,QAAkE/H,SAASb,GAAU,CACvF,GAAI4E,GAAM5E,CACVA,IACEoS,MAAOxN,GACPlF,GAAI,WACF,MAAOjF,MAAKkB,IAAIiJ,KAItB,GAAIwN,GAAOpS,EAAQoS,QACnB,OAAOpS,GAAQN,GAAGZ,MAAMrE,KAAMmO,EAAA,QAAkEyD,IAAI+F,EAAM3X,KAAKkB,IAAKlB,UAKtH4jC,YAAa,+BACbC,iBAAkB,oCAClBC,kBAAmB,2CACnBC,cAAe,iCACfW,oBAAqB,sCACrBE,2BAA4B,8CAC5BC,yBAA0B,4CAC1BE,0BAA2B,6CAC3BE,8BAA+B,iDAC/B1B,+BAAgC,0CAChCC,+BAAgC,4CAILphC,EAAA,EAA4BopB,GAKlD,SAAS5rB,EAAQwC,EAAqBlC,GAG7CY,OAAOC,eAAeqB,EAAqB,cAAgBC,OAAO,GAC7C,IAAI8L,GAAyDjO,EAAoB,GAC7E6lC,EAAgD7lC,EAAoB,IACpE8lC,EAA2C9lC,EAAoB,IAC/D+lC,EAAgD/lC,EAAoB,IAMvFgmC,EAAkB,SAAU7jB,GAChC,GAAMmD,GAAarX,EAAA,QAAkEI,KAAK8T,EAAM,KAAM,OAAQ,eAExG8jB,EAAah4B,EAAA,QAAkEyD,IAAIyQ,EAAK8iB,OAAOgB,WAAY,SAAU7kC,EAAUX,GACnI,MAAOwN,GAAA,QAAkE9H,QAAS1F,QAAQW,IAW5F,OARA6M,GAAA,QAAkE6C,KAAKm1B,EAAY,SAAU7kC,GAC3FA,EAAA,eAA6BkkB,EAEzBlkB,EAAS8kC,aACX9kC,EAAA,aAA2BA,EAAS8kC,iBAC7B9kC,GAAS8kC,cAGbD,GAGHE,EAAmBL,EAAA,QAAoD3/B,QAC3Eb,UACEf,OAAIwE,GACJq9B,gBAAar9B,GACbtI,SAAMsI,IAGR7E,YAAa,WACXpE,KAAKmmC,WAAa,GAAIF,GAAA,QAAyDxa,WAC/Eua,EAAA,QAAoD3hC,MAAMrE,KAAMsE,YAGlEiiC,cAAe,WACb,MAAOvmC,MAAKmmC,YAGdliC,MAAO,WACL,GAAM4L,GAAQm2B,EAAA,QAAoDzkC,UAAU0C,MAAMI,MAAMrE,KAAMsE,UAG9F,OADAuL,GAAM02B,gBAAgBz2B,IAAI9P,KAAKumC,gBAAgBzmB,QAASE,SAAS,KAC1DnQ,GAGTvI,MAAO,SAAU+a,GACf,GAAM8jB,GAAaD,EAAgB7jB,EAGnC,OADAriB,MAAKmmC,WAAWr2B,IAAIq2B,GAAc7+B,OAAO,IAClC6G,EAAA,QAAkE2D,KAAKuQ,EAAM,WAGtFmkB,aAAc,SAAUllC,GACtB,MAAO6M,GAAA,QAAkE2D,KAAKxQ,EAAU,SAG1Fwe,OAAQ,WACN,GAAMwJ,GAAO0c,EAAA,QAAoDzkC,UAAUue,OAAOzb,MAAMrE,KAAMsE,UAQ9F,OANAglB,GAAK6b,QAAWgB,eAChBnmC,KAAKumC,gBAAgBv1B,KAAK,SAAUnB,GAClC,GAAMvO,GAAWuO,EAAMiQ,QAEvBwJ,GAAK6b,OAAOgB,WAAW7kC,EAASX,MAAQX,KAAKwmC,aAAallC,IACzDtB,MACIspB,GAGTmd,KAAM,WAIJ,MAHAzmC,MAAKumC,gBAAgBv1B,KAAK,SAAUnB,GAClCA,EAAM+a,YAEDob,EAAA,QAAoDzkC,UAAUklC,KAAKpiC,MAAMrE,KAAMsE,cAGpFoiC,EAAoBX,EAAA,QAAyD1/B,QACjFwJ,MAAOw2B,GAEoBjkC,GAAA,SAC3B8jC,gBAAiBA,EACjB1a,MAAO6a,EACP5a,WAAYib,IAMP,SAAS9mC,EAAQD,GAExBC,EAAOD,QAAUqM,EAAQ,MAIlB,SAASpM,EAAQwC,EAAqBlC,GAkB7C,QAASymC,GAAM/kC,GACb,GAAMme,KAON,OALArY,GAAA,QAA6DsJ,KAAKpP,EAAK,SAAUS,EAAO8H,GACjFzC,EAAA,QAA6Di8B,OAAOthC,KACvE0d,EAAI5V,GAAO9H,KAGR0d,EAvBTjf,OAAOC,eAAeqB,EAAqB,cAAgBC,OAAO,GAC7C,IAAIoF,GAAgDvH,EAAoB,GACpEwH,EAAoDxH,EAAoB,GACxE0mC,EAA4C1mC,EAAoB,IAChE2mC,EAA+C3mC,EAAoB,IACnE4mC,EAA8C5mC,EAAoB,IAClE6mC,EAAgD7mC,EAAoB,EA4ChEkC,GAAA,QAAkC2kC,EAAA,QAAyD1gC,QAEpHjC,YAAa,SAAUmB,GAKrB,GAHAA,IAAYA,MAGRA,EAAQ8pB,gBAAiByX,GAAA,GAAkE9mC,KAAKqvB,gBAAiByX,GAAA,EACnH9mC,KAAKqvB,MAAQ9pB,EAAQ8pB,OAASrvB,KAAKqvB,UAEhC,CACH,GAAM2X,GAAYt/B,EAAA,QAA6DlC,SAASmhC,EAAMphC,EAAQ8pB,OAAQrvB,KAAKqvB,UACnHrvB,MAAKqvB,MAAQ,GAAIyX,GAAA,EAA+DE,SACzEzhC,GAAQ8pB,MAGb9pB,EAAQme,SACV1jB,KAAK0jB,SAAWne,EAAQme,UAGxB1jB,KAAK0jB,SAAWne,EAAQme,SAAW,GAAImjB,GAAA,EAAgEn/B,EAAA,QAA6DoK,KAAKvM,MAAe,OACxLvF,KAAKgF,OAAO,eAAgB4hC,EAAA,QAAqDrlC,UAAUgtB,SAC3FvuB,KAAKgF,OAAO,eAAgB4hC,EAAA,QAAqDrlC,UAAUitB,WAG7FuY,EAAA,QAAyDxmC,KAAKP,KAAMuF,GAEpEvF,KAAKmF,SAASnF,KAAKqvB,MAAO,aAAc,WACtC,GAAM3mB,GAAOhB,EAAA,QAA6DiZ,QAAQrc,WAE5EsQ,EAASlM,EAAKG,OAEhBnB,GAAA,QAA6DxE,WAAWlD,KAAK4U,KAC/E5U,KAAK4U,GAAQvQ,MAAMrE,KAAM0I,KAIzB1I,KAAKkyB,MACPlyB,KAAK8W,IAAI,GAAI9W,MAAKkyB,KAAKlyB,KAAK8f,YAShCuP,SAOA6C,KAAM,KAMNle,OAAQ,WACN,GAAMtL,GAAOpE,UACPvE,EAAOC,IAKb,OAHAc,QAAO2G,EAAA,SAA0D,WAC/Ds/B,EAAA,QAAyDxlC,UAAUyS,OAAO3P,MAAMtE,EAAM2I,KAEjF1I,MAQT8f,OAAQ,SAAUva,GAChB,MAAOmC,GAAA,QAA6DrB,OAAOqB,EAAA,QAA6D6G,KAAKvO,KAAM,QAAS,WAAY,aAAc,SAAUuF,QAMlM8R,OAAQ,WAIN,MAHArX,MAAK2E,iBACL3E,KAAKovB,gBACLpvB,KAAKuE,IAAIG,QACF1E,SAQN,SAASJ,EAAQwC,EAAqBlC,GAGxB,GAAI+T,GAAqD/T,EAAoB,GACzE2D,EAAyD3D,EAAoB,GAC7E63B,EAA0C73B,EAAoB,GAIjFsF,GACJH,MAAO,UACPC,QAAS,iBACTmvB,MAAM,EACNwS,KAAM,IACNhwB,MAAO,IACP0d,MAAO,EACPuS,aAAa,EAEc9kC,GAAA,EAA4B21B,EAAA,QAAmD1xB,QAC1GwI,UAAW,gDAEXC,QACEkpB,8BAA+B,SAAUluB,GACvCA,EAAEuJ,iBACFrT,KAAKkX,YAIT3T,SACE,iRAWFkM,WAAY,WACVzP,KAAKuF,QAAU1B,EAAA,QAAkE2B,YAAaxF,KAAKuF,QAASC,GAC5GxF,KAAKuE,IAAI+K,SAAS,WAAatP,KAAKuF,QAAQF,OACxCrF,KAAKuF,QAAQovB,OACf30B,KAAKuE,IAAIowB,MAAM30B,KAAKuF,QAAQovB,OAAOO,KACjCiS,cAAe,MACfhS,KAAM1H,KAAK2Z,OAAOtmC,OAAOmT,EAAA,SAA+D1M,QAAQotB,QAAU30B,KAAKuF,QAAQovB,OAAS,MAKtIte,gBAAiB,WACf,MAAOxS,GAAA,QAAkEwC,OAAOxC,EAAA,QAAkE0K,KAAKvO,KAAKuF,QAAS,QAAS,UAAW,UACvL2hC,aAAmC,IAAtBlnC,KAAKuF,QAAQkvB,OAA+C,IAA7Bz0B,KAAKuF,QAAQ2hC,eAI7D7uB,WAAY,WACNrY,KAAKuF,QAAQkvB,MACf5wB,EAAA,QAAkEoT,MAAMpT,EAAA,QAAkEoC,KAAKjG,KAAKkX,QAASlX,MAAOA,KAAKuF,QAAQ0R,QAIrLC,QAAS,WACPlX,KAAKuE,IAAI2S,QAAQlX,KAAKuF,QAAQ0hC,KAAMpjC,EAAA,QAAkEoC,KAAKjG,KAAKqX,OAAQrX,WAOrH,SAASJ,EAAQwC,EAAqBlC,GAGxB,GAAI2Z,GAAoD3Z,EAAoB,GACxEuvB,EAA8CvvB,EAAoB,GAY9DkC,GAAA,EAA4BqtB,EAAA,QAAuDppB,QAC9G2pB,iBAAiB,EAWjBkD,OAAQ,WACN,GAAMxqB,GAAOmR,EAAA,QAA6D8G,QAAQrc,UAElFoE,GAAK8B,QAAQ,cACbxK,KAAK+E,QAAQV,MAAMrE,KAAM0I,OAOtB,SAAS9I,EAAQwC,EAAqBlC,GAGxB,GAAIiO,GAAyDjO,EAAoB,GAC7EmnC,EAA+CnnC,EAAoB,IACnE63B,EAA0C73B,EAAoB,GAIjFonC,GACJv4B,MAAO,SAAUjF,GACfA,EAAEuJ,iBACFvJ,EAAE0pB,mBAcuBpxB,GAAA,EAA4B21B,EAAA,QAAmD1xB,QAExG6M,WAD2E,WAEzE,GAAMq0B,IACJlzB,UAAW,UAEPmzB,EAAiBxnC,KAAKynC,eAAe,QAC3C,OAAOt5B,GAAA,QAAkE9H,OAAOkhC,EAAcC,IAkChG54B,QAAS,IAETrL,SAAU,sFAOVmkC,SAAS,EAOTC,SAAS,EAQTC,cAQAp0B,YAEApP,YAAa,SAAUmB,GACrBvF,KAAKuF,QAAUA,KACf,IAAM9B,GAAOzD,KAAKqW,iBAElBrW,MAAKiP,UAAW,EAEhB8oB,EAAA,QAAmD1zB,MAAMrE,KAAMsE,WAE/DtE,KAAKuE,IAAI+K,SAAS,eACd7L,EAAKiN,OACP1Q,KAAKuE,IAAI+K,SAAS,oBACb7L,EAAKiC,OACR1F,KAAKuE,IAAI+K,SAAS,eAKxB+G,gBAAiB,WACf,OACE1F,KAAM3Q,KAAKynC,eAAe,QAC1B/hC,MAAO1F,KAAKynC,eAAe,SAC3B/2B,KAAM1Q,KAAKynC,eAAe,UAI9Bh4B,WAAY,WACV43B,EAAA,EAAgEzzB,YAAY5T,KAAMmO,EAAA,QAAkErL,UAAU9C,KAAM,aAAcA,MAAOA,KAAK2T,QAC9L0zB,EAAA,EAAgEzzB,YAAY5T,KAAMmO,EAAA,QAAkErL,UAAU9C,KAAM,WAAYA,MAAOA,KAAK6nC,gBAG9L7zB,OAAQ,WACN+jB,EAAA,QAAmDx2B,UAAUyS,OAAO3P,MAAMrE,KAAMsE,WAE3E6J,EAAA,QAAkE2G,OAAO9U,KAAM,YAClFA,KAAK2T,QAAO,GAGTxF,EAAA,QAAkE2G,OAAO9U,KAAM,YAClFA,KAAK6nC,eAAc,EAGrB,IAAMpkC,GAAOzD,KAAKqW,iBAIlB,OAFArW,MAAKuE,IAAIC,KAAK,OAAQf,EAAKkN,MAAQ,KAE5B3Q,MAGTynC,eAAgB,SAAU9mC,EAAMqC,GAC9B,GAAIX,GAAQ8L,EAAA,QAAkErL,UAAU9C,KAAKuF,QAAS5E,EAAMX,KAK5G,OAHImO,GAAA,QAAkEhL,YAAYd,KAChFA,EAAQ8L,EAAA,QAAkE2G,OAAO9U,KAAMW,IAEjFwN,EAAA,QAAkEhL,YAAYd,GAAiBW,EAARX,GAGjGkN,OAAQ,WACNvP,KAAK2T,QAAO,IAGdtE,QAAS,WACPrP,KAAK2T,QAAO,IAGdihB,KAAM,WACJ50B,KAAK6nC,eAAc,IAGrBpT,KAAM,WACJz0B,KAAK6nC,eAAc,IAGrBl0B,OAAQ,SAAUpE,GAChB,GAAMmE,KAASnE,GAAUpB,EAAA,QAAkE2G,OAAO9U,KAAM,UAGxGA,MAAKiP,UAAYyE,EACjB1T,KAAKuE,IAAIujC,YAAY,6CAA8C9nC,KAAKiP,UACxEjP,KAAK6yB,eAAe7yB,KAAKiP,SAAWq4B,EAAiB,OAGvDO,cAAe,SAAUH,GACvB,GAAMK,IAAUL,IAAYv5B,EAAA,QAAkE2G,OAAO9U,KAAM,UAE3GA,MAAKuE,IAAIujC,YAAY,OAAQC,OAQ5B,SAASnoC,EAAQwC,EAAqBlC,GAU7C,QAASm/B,GAAM95B,GACbvF,KAAKuF,QAAUmC,EAAA,QAA6DzD,MAAMsB,OAClFvF,KAAKgxB,IAAMtpB,EAAA,QAA6DqK,SAAS,SACjF/R,KAAKyP,WAAWpL,MAAMrE,KAAMsE,WAV9BxD,OAAOC,eAAeqB,EAAqB,cAAgBC,OAAO,GAC7C,IAAIsB,GAAyCzD,EAAoB,GAC7D0D,EAAiD1D,EAAoBiB,EAAEwC,GACvE+D,EAAoDxH,EAAoB,EAUjGwH,GAAA,QAA6DrB,OAAOg5B,EAAM99B,UAAWqC,EAA+CjB,EAAEuB,QACpIuL,WAAY,eAGd4vB,EAAMh5B,OAASzC,EAA+CjB,EAAE6oB,MAAMnlB,OAEzCjE,EAAA,QAAkCi9B,GAKxD,SAASz/B,EAAQwC,EAAqBlC,GAG7CY,OAAOC,eAAeqB,EAAqB,cAAgBC,OAAO,GAC7C,IAAIwX,GAAoD3Z,EAAoB,GACxE8nC,EAAqD9nC,EAAoB,IACzE+nC,EAA6D/nC,EAAoBiB,EAAE6mC,GAGtGE,EAAiB,SAASh/B,KAAK3B,OAAOyZ,SAASrQ,KACxBvO,GAAA,SAC3B+lC,UAAW,SAAUxnC,EAAM0B,EAAOkD,GAChC0iC,EAA2DtlC,EAAEmN,IAC3DnP,EACA0B,EACAwX,EAAA,QAA6DrU,SAASD,OACpE6iC,OAAQF,EACRG,KAAM,QAKZC,UAAW,WACT,MAAOL,GAA2DtlC,EAAEzB,IAAImD,MAAM4jC,EAA2DtlC,EAAG2B,YAG9IikC,aAAc,WACZ,MAAON,GAA2DtlC,EAAE0U,OAAOhT,MAAM4jC,EAA2DtlC,EAAG2B,cAO5I,SAAS1E,EAAQD,EAASO,GAEjC,GAAIsoC,GAAgC5X;;;;;;;CAOnC,SAAUlxB,GAEP8oC,EAAkC9oC,MAIAuJ,MAHlC2nB,EAA2E,kBAAnC4X,GACvCA,EAA+BjoC,KAAKZ,EAASO,EAAqBP,EAASC,GAC5E4oC,KACgD5oC,EAAOD,QAAUixB,IAWnE,WACD,QAASvqB,KAGR,IAFA,GAAIhG,GAAI,EACJyU,KACGzU,EAAIiE,UAAUuB,OAAQxF,IAAK,CACjC,GAAI6S,GAAa5O,UAAWjE,EAC5B,KAAK,GAAI8J,KAAO+I,GACf4B,EAAO3K,GAAO+I,EAAW/I,GAG3B,MAAO2K,GAGR,QAAS2zB,GAAMC,GACd,QAASC,GAAKx+B,EAAK9H,EAAO6Q,GACzB,GAAI4B,EAIJ,IAAIxQ,UAAUuB,OAAS,EAAG,CAKzB,GAJAqN,EAAa7M,GACZgiC,KAAM,KACJM,EAAInjC,SAAU0N,GAEiB,gBAAvBA,GAAW01B,QAAsB,CAC3C,GAAIA,GAAU,GAAIC,KAClBD,GAAQE,gBAAgBF,EAAQG,kBAAyC,MAArB71B,EAAW01B,SAC/D11B,EAAW01B,QAAUA,EAGtB,IACC9zB,GAAS,EAAA/S,EAAAF,SAAeQ,GACpB,UAAU6G,KAAK4L,KAClBzS,EAAQyS,GAER,MAAOhL,IAaT,MAPCzH,GAJIqmC,EAAUM,MAINN,EAAUM,MAAM3mC,EAAO8H,GAHvBP,mBAAmBK,OAAO5H,IAChC2G,QAAQ,4DAA6DM,oBAKxEa,EAAMP,mBAAmBK,OAAOE,IAChCA,EAAMA,EAAInB,QAAQ,2BAA4BM,oBAC9Ca,EAAMA,EAAInB,QAAQ,UAAWoK,QAErB61B,SAASC,QAChB/+B,EAAK,IAAK9H,EACV6Q,EAAW01B,SAAW,aAAe11B,EAAW01B,QAAQO,cACxDj2B,EAAWm1B,MAAW,UAAYn1B,EAAWm1B,KAC7Cn1B,EAAWk2B,QAAW,YAAcl2B,EAAWk2B,OAC/Cl2B,EAAWk1B,OAAS,WAAa,IAChC3+B,KAAK,IAKHU,IACJ2K,KAUD,KAJA,GAAIu0B,GAAUJ,SAASC,OAASD,SAASC,OAAO3/B,MAAM,SAClD+/B,EAAU,mBACVjpC,EAAI,EAEDA,EAAIgpC,EAAQxjC,OAAQxF,IAAK,CAC/B,GAAI2gC,GAAQqI,EAAQhpC,GAAGkJ,MAAM,KACzB5I,EAAOqgC,EAAM,GAAGh4B,QAAQsgC,EAAShgC,oBACjC4/B,EAASlI,EAAMp4B,MAAM,GAAGa,KAAK,IAER,OAArBy/B,EAAO9e,OAAO,KACjB8e,EAASA,EAAOtgC,MAAM,GAAI,GAG3B,KAKC,GAJAsgC,EAASR,EAAUx2B,KAClBw2B,EAAUx2B,KAAKg3B,EAAQvoC,GAAQ+nC,EAAUQ,EAAQvoC,IACjDuoC,EAAOlgC,QAAQsgC,EAAShgC,oBAErBtJ,KAAKspB,KACR,IACC4f,EAAS7hC,KAAKC,MAAM4hC,GACnB,MAAOp/B,IAGV,GAAIK,IAAQxJ,EAAM,CACjBmU,EAASo0B,CACT,OAGI/+B,IACJ2K,EAAOnU,GAAQuoC,GAEf,MAAOp/B,KAGV,MAAOgL,GAmBR,MAhBA6zB,GAAIznC,IAAMynC,EAAI74B,IAAM64B,EACpBA,EAAIY,QAAU,WACb,MAAOZ,GAAItkC,OACVilB,MAAM,MACD1gB,MAAMrI,KAAK+D,aAElBqkC,EAAInjC,YAEJmjC,EAAItxB,OAAS,SAAUlN,EAAK+I,GAC3By1B,EAAIx+B,EAAK,GAAI9D,EAAO6M,GACnB01B,SAAU,MAIZD,EAAIa,cAAgBf,EAEbE,EAGR,MAAOF,GAAK,iBAMN,SAAS7oC,EAAQwC,EAAqBlC,GAG7CY,OAAOC,eAAeqB,EAAqB,cAAgBC,OAAO,GAC7C,IAAIC,GAA2CpC,EAAoB,GAC/DqC,EAAmDrC,EAAoBiB,EAAEmB,EACjBpC,GAAoB,IACpBA,EAAoB,IACrBA,EAAoB,IACfA,EAAoB,IACdA,EAAoB,GASlFkC,GAAA,QAAkCG,EAAiDI,GAKzG,SAAS/C,EAAQwC,EAAqBlC,GAa7C,QAASupC,GAAWhuB,EAAQiuB,GAC1B,MAAOC,GAA6ChnC,EACjDinC,IAAIF,GACJG,UAAU,UACVpuB,OAAOA,GAdS,GAAInZ,GAA2CpC,EAAoB,GAC/DqC,EAAmDrC,EAAoBiB,EAAEmB,GACzEwnC,EAAuC5pC,EAAoB,IAC3DypC,EAA+CzpC,EAAoBiB,EAAE2oC,GACrE/b,EAAoD7tB,EAAoB,EAajGqC,GAAiDI,EAAEonC,eAAe,YAAahc,EAAA,QAA6DlB,QAAQ4c,EAAY,WAChKlnC,EAAiDI,EAAEonC,eAAe,aAAchc,EAAA,QAA6DlB,QAAQ4c,EAAY,kBACjKlnC,EAAiDI,EAAEonC,eAAe,WAAYhc,EAAA,QAA6DlB,QAAQ4c,EAAY,yBAC/JlnC,EAAiDI,EAAEonC,eAAe,aAAcN,EAENlnC,GAAiDI,GAKpH,SAAS/C,EAAQwC,EAAqBlC,GAY7C,QAAS2L,GAAK1E,GACZ,MAAOA,IAAOA,EAAI6B,QAAQ,aAAc,IAVrB,GAAI1G,GAA2CpC,EAAoB,GAC/DqC,EAAmDrC,EAAoBiB,EAAEmB,GACzEoF,EAAoDxH,EAAoB,GACxE8pC,EAA4C9pC,EAAoB,EAUzFqC,GAAiDI,EAAEonC,eAAe,OAAQ,SAAUxkC,GAClF,GAAIY,UACEgE,EAAM0B,EAAKtG,EAAQ0kC,KAAKC,MACxB7/B,EAASwB,EAAKtG,EAAQ0kC,KAAK5/B,QAC3B3B,EAAOmD,EAAKtG,EAAQ0kC,KAAR,UAwBlB,OAtBIvhC,KACFvC,EAASuB,EAAA,QAA6DkK,IACpE/F,EAAKnD,GAAMa,MAAM,KACjB,SAAU4gC,GACRA,EAAQt+B,EAAKs+B,EACb,IAAIx6B,UACElM,EAAOzD,IAUb,OAHA0H,GAAA,QAA6DsJ,KAAKm5B,EAAM5gC,MAAM,KAAM,SAAU9H,GAC5FkO,EAAMA,EAAMA,EAAIlO,GAAKgC,EAAKhC,KAErBkO,GAET3P,OAIGgqC,EAAA,QAAqDz/B,SAASJ,EAAKE,EAAQlE,IAGV5D,GAAiDI,GAKpH,SAAS/C,EAAQwC,EAAqBlC,GAW7C,QAASkqC,GAAuB/B,GAC9B,MAA4C,KAAxCA,EAAKlhB,QAAQkjB,GACRhC,EAEFgC,EAAwBhC,EAZZ,GAAI/lC,GAA2CpC,EAAoB,GAC/DqC,EAAmDrC,EAAoBiB,EAAEmB,GACzEoF,EAAoDxH,EAAoB,GAI3FmqC,EAAwB,SAS9B9nC,GAAiDI,EAAEonC,eAAe,MAAO,SAAUxkC,GACjF,GAAM+kC,GAAuB,mBAATn+B,OAAwBA,KAAKo+B,gBAAmB,GAG9DN,EAAOviC,EAAA,QAA6D6G,KAAKhJ,EAAQ0kC,MAAO,MAAO,MAAO,QAAS,SAAU,QAAS,SAExIA,GAAKO,IAAM,GAAKF,EAAMF,EAAuBH,EAAKO,IAElD,IAAM7qB,GAAQjY,EAAA,QAA6DkK,IAAIq4B,EAAM,SAAU5nC,EAAOmC,GACpG,MAAOA,GAAO,KAAOjC,EAAiDI,EAAE8nC,MAAMC,iBAAiBroC,GAAS,KAG1G,OAAO,IAAIE,GAAiDI,EAAEgoC,WAAW,QAAUhrB,EAAMlW,KAAK,KAAO,OAG7BlH,GAAiDI,GAKpH,SAAS/C,EAAQwC,EAAqBlC,GAGxB,GAAIoC,GAA2CpC,EAAoB,GAC/DqC,EAAmDrC,EAAoBiB,EAAEmB,GACzEsoC,EAAgD1qC,EAAoB,GAK7FqC,GAAiDI,EAAEonC,eAAe,WAAY,SAAUc,GACtF,MAAO/pC,QAAO8pC,EAAA,GAAkEroC,EAAiDI,EAAGkoC,IAG5DtoC,GAAiDI,GAKpH,SAAS/C,EAAQwC,EAAqBlC,GAoB7C,QAAS4qC,GAASpM,EAAYqM,GAC5B,GAAMC,GAAetM,EAAWh7B,QAAQ,mCAGpCqc,QAcJ,OATEA,GAHGlG,EAAA,QAA6DzT,SAAS2kC,GAGnErM,EAAW+L,MAAMC,iBAAiBK,GACrC/hC,QAAQiiC,EAAY,IACpBjiC,QAAQkiC,EAAS,SAAUC,GAC1B,MAAOH,IACLr6B,KAAMw6B,EAAO5gB,MAAM6gB,GAAc,GACjCpkC,KAAMmkC,EAAO5gB,MAAM8gB,GAAc,OAPjC,GAWD,GAAI3M,GAAWiM,WAAW5qB,GAnCF3d,EAAA,EAA2B0oC,CACvC,IAAIjxB,GAAoD3Z,EAAoB,GAM3FgrC,EAAU,wBACVE,EAAe,iBACfC,EAAe,gBACfJ,EAAa,iBA+BZ,SAASrrC,EAAQwC,EAAqBlC,GAGxB,GAAIoC,GAA2CpC,EAAoB,GAC/DqC,EAAmDrC,EAAoBiB,EAAEmB,GACzE0rB,EAAgD9tB,EAAoB,EAK7FqC,GAAiDI,EAAEonC,eAAe,iBAAkB,WAClF,MAAO,IAAIxnC,GAAiDI,EAAEgoC,WAC5D,8DAAqE7pC,OAAOktB,EAAA,SAA0D,eAAehnB,OAAS,OAIxFzE,GAAiDI,GAKpH,SAAS/C,EAAQwC,EAAqBlC,GAG7CY,OAAOC,eAAeqB,EAAqB,cAAgBC,OAAO,GAC7C,IAAIipC,GAAoDprC,EAAoB,IACxE4zB,EAA0C5zB,EAAoB,EAU1DkC,GAAA,QAAkC0xB,EAAA,QAAmDvtB,SAAS+kC,EAAA,IAKpH,SAAS1rC,EAAQwC,EAAqBlC,GAGxB,GAAIqrC,GAAsCrrC,EAAoB,IAC1D2D,EAAyD3D,EAAoB,EAsCzEkC,GAAA,EAA4BmpC,EAAA,EAAuDllC,QAE9GjC,YAAa,WAEX,GADAmnC,EAAA,EAAuDlnC,MAAMrE,KAAMsE,YAC9DtE,KAAKof,WACR,KAAM,IAAI3W,OAAM,qBAElBzI,MAAKmF,SAASnF,KAAKof,WAAY,aAAcpf,KAAKkgB,OAClDlgB,KAAKmF,SAASnF,KAAKof,WAAY,MAAOpf,KAAKwrC,SAEvCxrC,KAAKyrC,gBACPzrC,KAAKof,WAAWwiB,QAEhB5hC,KAAKof,WAAWpO,KAAKhR,KAAKwrC,QAASxrC,OAQvCokC,KAAM,KAMNsH,aAAc,KAOdxrB,MAAO,WAAY,GAAAyrB,GAAA3rC,IAKjB,OAJAA,MAAK2E,iBACL3E,KAAKof,WAAWpO,KAAK,SAACnB,EAAOqa,GAC3ByhB,EAAKH,QAAQ37B,EAAOqa,KAEflqB,MAYTwrC,QAAS,SAAU37B,GACjB,GAAI0D,GAAOvT,KAAK8W,IAAI9W,KAAKokC,KAAMpkC,KAAK0rC,cAAenmC,SAAUsK,MAAOA,KAAS+7B,MAK7E,OAJI5rC,MAAKqvB,OAASrvB,KAAKqvB,MAAMnuB,IAAI,mBAC/BlB,KAAKqvB,MAAMtqB,QAAQ,YAAawO,GAElCA,EAAKpO,SAAS0K,EAAO,iBAAkB0D,EAAK8D,QACrCrX,MAGT6rC,YAAahoC,EAAA,QAAkEotB,QAO1E,SAASrxB,EAAQwC,EAAqBlC,GAG7CY,OAAOC,eAAeqB,EAAqB,cAAgBC,OAAO,GAC7C,IAAI4R,GAAqD/T,EAAoB,GACzE2D,EAAyD3D,EAAoB,GAC7E4rC,EAAmD5rC,EAAoB,GACvE6rC,EAA0C7rC,EAAoB,GAKjF8rC,EAAkBF,EAAA,QAA4DjnC,IAClF,iSAcIonC,EAA6BF,EAAA,QAAmD1lC,QACpFuI,QAAS,KAETE,QACEC,MAAO,SAAUjF,GACfA,EAAEuJ,iBACFrT,KAAKgP,QAAUhP,KAAKgP,OAAOzO,KAAKP,QAIpCoE,YAAa,WACX2nC,EAAA,QAAmD1nC,MAAMrE,KAAMsE,WAC/DtE,KAAKuE,IAAI+K,SAAS,gCAGpB0E,OAAQ,WAaN,MAZAhU,MAAKuE,IAAImU,KACPszB,GACEt7B,KAAM7M,EAAA,QAAkEiR,OAAO9U,KAAM,QACrF6O,UAAWhL,EAAA,QAAkEiR,OAAO9U,KAAM,cAAgB,GAC1G0F,MAAO7B,EAAA,QAAkEiR,OAAO9U,KAAM,SACtF8F,SAAUjC,EAAA,QAAkEiR,OAAO9U,KAAM,YACzFksC,WAAYroC,EAAA,QAAkEiR,OAAO9U,KAAM,iBAG3F6D,EAAA,QAAkEiR,OAAO9U,KAAM,aACjFA,KAAKqP,UAEArP,MAGTqP,QAAS,WACPrP,KAAKuE,IAAI+K,SAAS,mBAClBtP,KAAKuE,IAAI6S,KAAK,KAAK5S,KAAK,WAAY,QAGXpC,GAAA,QAAkC2pC,EAAA,QAAmD1lC,QAChHyI,QACEq9B,0BAA2B,SAAUriC,GACnCA,EAAEuJ,iBACExP,EAAA,QAAkEiR,OAAO9U,KAAM,aACjF8J,EAAE0pB,mBAGN4Y,2BAA4B,SAAUtiC,GACpCA,EAAEuJ,iBACFvJ,EAAE0pB,oBAIN3X,SAEAzX,YAAa,WACX,GAAMyK,GAAY7O,KAAK6O,SAMvB7O,MAAK6O,UAAY,KAEjBk9B,EAAA,QAAmD1nC,MAAMrE,KAAMsE,WAE/DtE,KAAK6O,UAAYA,EAEjB7O,KAAKuE,IAAI+K,SAAS,iCAElBzL,EAAA,QAAkEmN,KAChEnN,EAAA,QAAkEiR,OAAO9U,KAAM,SAC/E,SAAU82B,GACR92B,KAAKqsC,UAAUvV,EAAQ92B,KAAKuF,UAE9BvF,OAIJuD,SACE,2mBAiBF8S,gBAAiB,WACf,GAAMxH,IAAahL,EAAA,QAAkEiR,OAAO9U,KAAM,cAAgB,GAAI6D,EAAA,QAAkEiR,OAAO9U,KAAM,YAAc,oBAAsB,GAEzO,QACE0Q,KAAM7M,EAAA,QAAkEiR,OAAO9U,KAAM,QACrF6O,UAAWoF,EAAA,QAA8DpI,KAAKgD,EAAUpF,KAAK,MAC7F/D,MAAO7B,EAAA,QAAkEiR,OAAO9U,KAAM,SACtFssC,iBAAkBzoC,EAAA,QAAkEiR,OAAO9U,KAAM,sBAIrGqsC,UAAW,SAAUloC,EAAOoB,GAC1BvF,KAAK8W,IAAIm1B,EAA2B5lC,OAAOlC,GAAQ,mBAAqBoB,QAASA,YAO9E,SAAS3F,EAAQwC,EAAqBlC,GA0D7C,QAASqsC,GAAsBziC,GAC7B,IAAK0iC,GAA0BxsC,KAAKuE,IAAIkoC,SAAS,iBAAkB,CACjE,GAAMloC,GAAMzD,OAAOmT,EAAA,SAA+DnK,EAAE4iC,cAEpFnoC,GAAI2wB,IAAI,UAAW,OACnB,IAAMyX,GAAiB1D,SAAS2D,iBAAiB9iC,EAAE+iC,QAAS/iC,EAAEgjC,QAO9D,OALAvoC,GAAI2wB,IAAI,UAAW,SAEnBprB,EAAE8B,OAAS+gC,EACX7rC,OAAOmT,EAAA,SAA+D04B,GAAgB5nC,QAAQ+E,IAEvF,GAnEXhJ,OAAOC,eAAeqB,EAAqB,cAAgBC,OAAO,GAC7C,IAAI4R,GAAqD/T,EAAoB,GACzE2D,EAAyD3D,EAAoB,GAC7E6sC,EAAiD7sC,EAAoB,GACrE6D,EAAmD7D,EAAoB,GACvEiU,EAA0CjU,EAAoB,GAC9D8sC,EAAwD9sC,EAAoB,IAC5E+sC,EAAoD/sC,EAAoB,IACxEgtC,EAAqDhtC,EAAoB,IACzEitC,EAAqDjtC,EAAoB,IACzEktC,EAAkDltC,EAAoB,GACtEmtC,EAAyDntC,EAAoB,IAC7EotC,EAAuDptC,EAAoB,IAC3EqtC,EAAqDrtC,EAAoB,IACzEstC,EAAuDttC,EAAoB,IAoC9FssC,EAAqK,SAA5I1rC,OAAOmT,EAAA,SAA+D,SAASihB,KAAMuY,iBAAkB,SAAU,GAAG3T,MAAM4T,cAqBnJ5+B,GACJ6+B,OAAQ,SAAU7jC,GAChBA,EAAEuJ,iBACFrT,KAAK4tC,UAIT/pC,GAAA,QAAkEmN,MAAM,QAAS,WAAY,YAAa,WAAY,SAAU2gB,GAC9H7iB,EAAO6iB,EAAQ,kBAAoB4a,GAGrC,IAAMr5B,GAAa,SAAUrD,GAC3BA,IAAUA,KACV,IAAMuP,GAAcvP,GAASA,EAAMuP,cAEnC,QACExK,OAAQ,OACR5F,OAAQnL,EAAA,QAAkEiR,OAAOjF,EAAO,YAAchM,EAAA,QAAkEiR,OAAOsK,EAAY,QAAU7X,OAAOyZ,SAAS6sB,SACrNx5B,UAAW,SACXy5B,KAAM,YAIJC,EAAqB,SAAUC,EAAqBC,GACxDD,IAAwBA,EAAsB,GAC9C,IAAIE,KAMJ,OAJIrqC,GAAA,QAAkEuC,SAAS4nC,KAC7EE,EAAmBF,EAAoBzkC,MAAM,MAE/C2kC,EAAmBrqC,EAAA,QAAkE+O,MAAMs7B,EAAkBD,GACtGC,EAAiBzkC,KAAK,MAGzB0kC,EAAkB,WAA6B,GAAnBC,GAAmB9pC,UAAAuB,OAAA,OAAAoD,KAAA3E,UAAA,GAAAA,UAAA,KACnD,OAAIqE,OAAMkI,QAAQu9B,EAAaC,cAAgBD,EAAaC,YAAYxoC,OAAS,EAExEuoC,EAAaC,YAAY,GAAGC,aAG5BF,EAAaE,aAmDKlsC,GAAA,QAAkC+R,EAAA,QAAmD9N,QAe9GjC,YAAa,SAAUmB,GAErBA,IAAYA,MACZvF,KAAKuF,QAAUA,EAEfvF,KAAKyE,GAAKZ,EAAA,QAAkEkO,SAAS,QACrF/R,KAAK4O,QAAU,OAEf/K,EAAA,QAAkE2B,SAASxF,KAAK8O,OAAQA,GACxFjL,EAAA,QAAkE2B,SAASxF,KAAKkT,WAAYA,EAAW3N,EAAQsK,QAE/G7P,KAAKuuC,aACLvuC,KAAKwuC,iBAELxuC,KAAKyuC,iBAAiBlpC,EAAQsK,OAE1B7P,KAAK0uC,OACF1uC,KAAKymC,OACRzmC,KAAKymC,KAAQzmC,KAAK2uC,YAAc3uC,KAAK0uC,OAAS1uC,KAAK2uC,WAAwB,OAAX,UAElE3uC,KAAK6O,WAAa,WAEpB7O,KAAK6O,WAAa,UAElB7O,KAAK4uC,UAAY5uC,KAAK6uC,gBAAgBtpC,GAEtC4O,EAAA,QAAmD5T,KAAKP,KAAMuF,GAE9D1B,EAAA,QAAkEmN,KAChEnN,EAAA,QAAkEiR,OAAO9U,KAAM,cAC/E,SAAU4Q,GAGR5Q,KAAK8uC,gBAAgBl+B,IAEvB5Q,MAGFA,KAAK8W,IAAI9W,KAAK4uC,UAAW,IAEzB5uC,KAAKmF,SAASnF,KAAK6P,MAAO,kBAAmB7P,KAAK+uC,aAElD/uC,KAAKmF,SACHnF,KAAK6P,MACL,gBACAhM,EAAA,QAAkEmrC,SAChE,SAAUn/B,EAAOwS,EAAM4sB,GACrBjvC,KAAKkvC,aAAar/B,EAAOwS,GAAqB,IAAf4sB,IAEjC,KACEE,UAAU,KAIhBnvC,KAAKmF,SAASnF,KAAK6P,MAAO,cAAe,WACvC7P,KAAK+E,QAAQ,YAGf/E,KAAKmF,SAASnF,KAAK6P,MAAO,cAAehM,EAAA,QAAkEmrC,SAAShvC,KAAKovC,SAAU,KAAOD,UAAU,KACpJnvC,KAAKmF,SAASnF,KAAK6P,MAAO,gBAAiBhM,EAAA,QAAkEmrC,SAAShvC,KAAKqvC,WAAY,KAAOF,UAAU,KAExJnvC,KAAK4tC,OAAS/pC,EAAA,QAAkEmrC,SAAShvC,KAAK4tC,OAAQ,KAAOuB,UAAU,IACvHnvC,KAAKmF,SAASnF,KAAK6P,MAAO,YAAa,WACrC7P,KAAKuE,IAAIopC,WAGX3tC,KAAKmF,SAASnF,KAAK6P,MAAO,OAAQ,WAC5B7P,KAAK6P,MAAM3O,IAAI,aACjBlB,KAAK6P,MAAMC,IAAI,YAAY,GAAS0a,QAAQ,IAE9CxqB,KAAKyuC,iBAAiBzuC,KAAK6P,OAC3B7P,KAAKgU,UAGP,IAAIs7B,GAAiBtvC,KAAKuvC,aAAa,iBAyBvC,IAvBIvvC,KAAKuvC,aAAa,cACpBvvC,KAAKmF,SAASnF,KAAM,OAAQ,SAAU6P,GAAO,GAAA2/B,GAAAxvC,KACrC8G,EAAM+I,EAAM42B,MAEd3/B,IAAOA,EAAI+Q,MACb/Q,EAAI+Q,KAAK,WACP23B,EAAKzqC,QAAQ,QAAS8K,OAIxBhM,EAAA,QAAkEV,YAAYmsC,KAChFA,GAAiB,IAYjBA,EAAgB,CAClB,GAAMG,GAAoBzvC,KAAKuvC,aAAa,uBAE5CvvC,MAAKmF,SACHnF,KAAK6P,MACLk+B,EAAmB0B,EAAkBzgB,OAAS,IAAK,YACnDhvB,KAAK0vC,kBAEP1vC,KAAKmF,SACHnF,KAAK6P,MACLk+B,EAAmB0B,EAAkBE,MAAQ,IAAK,QAAS,SAC3D3vC,KAAK4vC,sBAWXf,gBAAiB,SAAUtpC,GACzB,GAAMsqC,GAAS7vC,KAAKuvC,aAAa,UAC3BO,GAA8B,IAAXD,EAAkB,eAAiB,iBACtDE,EAAU,GAAI9C,GAAA,QAClBppC,EAAA,QAAkEwC,QAE9DogC,KAAMzmC,KAAKymC,MAAQsG,EAAA,QAA0DxiC,SAAS,aAAc,WACpGylC,OAAQhwC,KAAKgwC,OACbC,cAAeH,EACfI,OAAQlwC,KAAKkwC,QAAUnD,EAAA,QAA0DxiC,SAAS,eAAgB,WAC1GjE,eAAgBtG,KAAKsG,iBAAkB,EACvC2tB,YAAaj0B,KAAK0uC,MAAQ1uC,KAAK0uC,KAAO,GAExCnpC,GAAWvF,KAAKuF,SAQpB,OAJA1B,GAAA,QAAkEmN,KAAKhR,KAAKuuC,UAAW,SAAU7lC,GAC/FqnC,EAAQ/b,UAAU3vB,MAAM0rC,EAASrnC,KAG5BqnC,GAGTlhC,UAAW,GAEXqE,cAEApE,UAMA6C,UAEApO,SAAU,KAOV2O,MAAM,EAONF,UAAU,EAOVm+B,aAAa,EAOb7pC,gBAAgB,EAOhBmgC,KAAM,KAONyJ,OAAQ,KAORL,QAAQ,EAORO,OAAQ,GAMR1B,SAAMzlC,GAMN0lC,eAAY1lC,GAMZvD,MAAO,KAMPI,SAAU,KAOVuqC,UAAU,EAOVC,eAAe,EAOfC,YAAY,EAOZC,eAAgB,kBAoBhBjB,aAAc,SAAU5uC,EAAMqC,GAC5B,GAAIX,GAAQwB,EAAA,QAAkEf,UAAU9C,KAAKuF,QAAS5E,EAAMX,KAK5G,OAHI6D,GAAA,QAAkEV,YAAYd,KAChFA,EAAQwB,EAAA,QAAkEiR,OAAO9U,KAAMW,IAEjFkD,EAAA,QAAkEV,YAAYd,GAAiBW,EAARX,GAOjG8P,YAAa,WACX,QAASnS,KAAKuvC,aAAa,SAO7Bt9B,WAAY,WACV,QAASjS,KAAKuvC,aAAa,aAO7BkB,aAAc,WACZ,QAASzwC,KAAKuvC,aAAa,gBAAkBvvC,KAAKiS,eAGpD+B,OAAQ,WAEN,GADAhU,KAAK0wC,eAAiB1wC,KAAK0wC,cAAcr5B,SACrCrX,KAAKmS,gBAAkBnS,KAAKiS,aAAc,CAC5C,GAAM0+B,GAAc3D,EAAA,EAAyE3mC,QAC3F4M,UAAWjT,KAAKuvC,aAAa,QAAS,KAGxCvvC,MAAK0wC,cAAgB1wC,KAAK8W,IAAI65B,EAAa,qBAAqB/E,OAGlE,GAAMlzB,GAAO3U,EAAA,QAA4Dc,IA1d7E,2qBA2dMurC,OAAQpwC,KAAKuvC,aAAa,SAAU,IACpC7pC,MAAO1F,KAAKuvC,aAAa,QAAS,IAAI,GACtCzpC,SAAU9F,KAAKuvC,aAAa,WAAY,IAAI,GAC5Cp9B,YAAanS,KAAKmS,eAUpB,OAPAnS,MAAKuE,IAAImU,KAAKA,SACP1Y,MAAKuD,SAEZ4Q,EAAA,QAAmD5S,UAAUyS,OAAO3P,MAAMrE,KAAMsE,WAEhFtE,KAAK+uC,cAEE/uC,MAQT0vC,iBAAkB,WAChB1vC,KAAK6P,MAAM9K,QAAQ,yBACnB/E,KAAKuE,IAAI+K,SAAS,kBAQpBsgC,mBAAoB,WAClB5vC,KAAK6P,MAAM9K,QAAQ,2BACnB/E,KAAKuE,IAAIiL,YAAY,kBAOvBohC,gBAAiB,WACf5wC,KAAK4uC,WAAa5uC,KAAK4uC,UAAUv3B,SAC7BrX,KAAKywC,gBAAkBzwC,KAAK6wC,cAC9B7wC,KAAK4uC,UAAY5uC,KAAK6uC,kBACtB7uC,KAAK8W,IAAI9W,KAAK4uC,UAAW,KAE3B5uC,KAAK+E,QAAQ,WAYfqqC,SAAU,WACR,GAAM0B,GAAO9wC,KAAK6P,MAAM3O,IAAI,WAG5BlB,MAAK6P,MAAMsQ,OAAQqK,QAAQ,GAC3B,IAAI/mB,SAGFA,GADEzD,KAAK6P,MAAMoQ,mBACNjgB,KAAK6P,MAAMoQ,mBAAmBjgB,KAAK+wC,iBAEnCltC,EAAA,QAAkEI,MAAMjE,KAAK+wC,iBAEtF/wC,KAAK6P,MAAMC,IAAIrM,GAAQ+mB,QAAQ,IAC/BxqB,KAAK+E,QAAQ,SAAU/E,KAAK6P,OAC5B7P,KAAK6P,MAAM9K,QAAQ,eACf+rC,IACF9wC,KAAK6P,MAAMC,IAAI,YAAY,GAAS0a,QAAQ,IAC5CxqB,KAAK6P,MAAM9K,QAAQ,kBAAmB/E,KAAK6P,OAAO,IAEpD7P,KAAKgxC,eAQPC,QAAS,WAIP,QAASC,GAAcrf,GACrB,MAAOhuB,GAAA,QAAkEynB,OACvEuG,EACA,SAAUiU,EAAMqL,GACd,MAAOttC,GAAA,QAAkEwC,OAAOy/B,EAAM/lC,EAAK8P,MAAMyI,cAAc64B,SAPrH,GAAIpxB,UACEhgB,EAAOC,IAYb,OAAI6D,GAAA,QAAkEV,YAAYnD,KAAKsV,UAC9EtV,KAAK6P,MAAMohC,WACTptC,EAAA,QAAkEX,WAAWlD,KAAKsV,UAC3FyK,EAAM/f,KAAKsV,WACFzR,EAAA,QAAkEgN,QAAQ7Q,KAAKsV,UACxFyK,EAAMmxB,EAAclxC,KAAKsV,UACE,UAAlBtV,KAAKsV,WACdyK,EAAMmxB,EACJlxC,KAAKoxC,YAAYx/B,IAAI,SAAUhB,GAC7B,MAAOA,GAAMrL,QAAQ5E,WAKtBkD,EAAA,QAAkEiI,QAAQiU,KAC7E/f,KAAK6P,MAAM9K,QAAQ,UAAW/E,KAAK6P,MAAOkQ,IACnC,KAYX6tB,OAAQ,WACN5tC,KAAKgxC,cACDhxC,KAAKixC,WACPjxC,KAAK+E,QAAQ,OAAQ/E,KAAK6P,QAU9Bw/B,WAAY,WACVrvC,KAAK+E,QAAQ,WAAY/E,KAAK6P,QAOhCk/B,YAAa,WACX/uC,KAAKgxC,cACLhxC,KAAK4wC,kBAED5wC,KAAK6wC,aACP7wC,KAAKuE,IAAI+K,SAAS,oBAClBtP,KAAKuE,IAAIiL,YAAY,oBACrBxP,KAAKoV,EAAE,mBAAmB5F,YAAY,iBACtCxP,KAAK+U,UAEL/U,KAAKuE,IAAIiL,YAAY,oBACrBxP,KAAKuE,IAAI+K,SAAS,oBAClBtP,KAAKoV,EAAE,mBAAmB9F,SAAS,mBASvCuhC,UAAW,WACT,MAAO7wC,MAAK6P,MAAM3O,IAAI,cAAgBlB,KAAKmS,eAqB7Ck/B,kBAAmBxtC,EAAA,QAAkEytC,SAQrFpC,aAAc,SAAUr/B,EAAOwS,EAAM4sB,GAInC,GAHAjvC,KAAK+E,QAAQ,QAAS8K,GAGlB7P,KAAKuvC,aAAa,cAAe,CACnC,GAAIjB,UACAF,EAAejB,EAAA,EAAsEoE,gBAAgBlvB,GACnGmvB,EAAmBrE,EAAA,EAAsEsE,iBAAiBpvB,EA6BhH,IA1BIxe,EAAA,QAAkEsN,KAAKqgC,GACzE3tC,EAAA,QAAkEmN,KAChEwgC,EACA,SAAUE,EAAQtpB,GAChBpoB,KAAK6P,MAAM9K,QACT,mBACA/E,KAAKwuC,cAAcpmB,IAAUA,EAC7BvkB,EAAA,QAAkE+N,IAAI8/B,EAAQ,SAAU5kC,GACtF,MAAO,qBAAqB5D,KAAK4D,GAASigC,EAAA,QAA0DxiC,SAASuC,EAAO,WAAaA,MAIvI9M,OAGFouC,EAAepuC,KAAKqxC,kBAAkBjD,GACtCE,EAAeH,EAAgBC,IAI7Ba,IACFjvC,KAAKoV,EAAE,2BAA2B9F,SAAS,qBAC3CtP,KAAK8W,IAAIo2B,EAAA,EAAuE,2BAA6B3nC,SAAW+oC,aAAcA,MAIpItuC,KAAKuvC,aAAa,iBAAkB,CACtC,GAAMhrC,GAAMzD,OAAOmT,EAAA,SAA+D,IAAMjU,KAAKyE,GAAK,2BAElGF,GAAIsB,QAAU/E,OAAOmT,EAAA,SAA+D,cAAcJ,SAAU4hB,UAAWlxB,EAAI0wB,SAASG,KAAO,KAG7Ip1B,KAAK6P,MAAM9K,QAAQ,iBAQvBisC,YAAa,WACXhxC,KAAKoV,EAAE,2BAA2B5F,YAAY,qBAC9CxP,KAAK6P,MAAM9K,QAAQ,qBACnB/E,KAAK6P,MAAM9K,QAAQ,gBAMrB4O,OAAQ,WAEN,MADA3T,MAAK6P,MAAMC,IAAI,YAAa9P,KAAKmS,gBAAkBnS,KAAK6P,MAAM3O,IAAI,aAC3DlB,MAGT8uC,gBAAiB,SAAUl+B,GACrB08B,EAAA,EAAwEqE,SAAS/gC,GACnF5Q,KAAK4xC,SAAShhC,GAEd5Q,KAAK6xC,wBAAwBjhC,IAIjCihC,wBAAyB,SAAUzN,GACjC,GAAM0N,GAAcjuC,EAAA,QAAkEiO,KAAKsyB,EAAM,OAEjG,QAAQA,EAAK10B,MACb,IAAK,eACH1P,KAAK+xC,gBAAgB3N,EAAK1+B,MAAO7B,EAAA,QAAkEiO,KAAKggC,EAAa,SACrH,MACF,KAAK,UACH9xC,KAAKgyC,WAAWF,EAChB,MACF,SACE,KAAM,IAAIrpC,OAAM,kBAAoB27B,EAAK10B,QAS7CskB,UAAW,SAAU7tB,EAAQZ,GAC3BvF,KAAK4uC,WAAa5uC,KAAK4uC,UAAU5a,UAAU7tB,EAAQZ,GACnDvF,KAAKuuC,UAAU/iC,MAAMrF,EAAQZ,KAM/BysC,WAAY,SAAUzsC,GAIpB,MAHAvF,MAAK8W,IAAI,sDACTs2B,EAAA,QAA2D95B,cAActT,KAAK4rC,OAAQrmC,GAAWA,EAAQiO,UACzG45B,EAAA,QAA2Dt5B,gBAAgB9T,KAAK4rC,OAAQrmC,GAAWA,EAAQwO,YACpG/T,MAOT+xC,gBAAiB,SAAUrsC,EAAOH,GAIhC,MAHAvF,MAAK8W,IAAI/S,EAAA,QAA4Dc,IAAI,2CAA4Ca,MAAOA,KAC5H0nC,EAAA,QAA2D95B,cAActT,KAAK4rC,OAAQrmC,GAAWA,EAAQiO,UACzG45B,EAAA,QAA2Dt5B,gBAAgB9T,KAAK4rC,OAAQrmC,GAAWA,EAAQwO,YACpG/T,MAiFT4xC,SAAU,SAAUK,GAClBA,EAAWpuC,EAAA,QAAkEI,MAAMguC,GAEnF7E,EAAA,QAA2D78B,cAAc0hC,EAAUjyC,KAAK6P,MAExF,IAAMqiC,GAAgB9E,EAAA,QAA2D97B,qBAAqB2gC,EAAUjyC,KAAMA,KAAKmyC,eAAeC,SAItIvuC,GAAA,QAAkEiI,QAAQ9L,KAAKoxC,YAAYzwB,YAC7F9c,EAAA,QAAkEwC,OAAO6rC,EAAc,IAAMv9B,qBAAqB,GAGpH,IAAMhD,GAAS9N,EAAA,QAAkE+N,IAAIsgC,EAAelyC,KAAKmyC,cAAenyC,KAExH6D,GAAA,QAAkEmN,KAChEkhC,EACA,SAAUthC,GACJA,EAAMyhC,aACRryC,KAAKwuC,cAAc59B,EAAMyhC,YAAczhC,EAAMjQ,OAGjDX,KAGF,IAAMuF,IACJiP,QAAS3Q,EAAA,QAAkE+nC,KAAKj6B,GAAQpM,QAAQiP,QAChG5D,MAAOe,EACPgH,MAAOu5B,EAAcrsC,OAAS,EAAIqsC,EAAcrsC,WAASoD,GAG3DpF,GAAA,QAAkEwC,OAAOd,EAAS1B,EAAA,QAAkEiO,KAAK9R,KAAKuF,QAAS,SAAU1B,EAAA,QAAkEiO,KAAKmgC,EAAU,SAElQ,IAAMK,GAAetyC,KAAKuyC,gBAAgBhtC,IAEpB,IAAlBA,EAAQiL,OACV8hC,EAAax7B,IAAI9W,KAAKwyC,cAAcjtC,IAEtC+sC,EAAax7B,IAAI9W,KAAKyyC,iBAAiBltC,IACvC+sC,EAAa5iC,KAAOnK,EAAQmK,MAAQnK,EAAQqL,MAAMlB,MAAQ,QAE1D,IAAMhH,IAAQ4pC,GAAcI,OAAO7uC,EAAA,QAAkEyhC,KAAKhhC,WAE1G,OAAOtE,MAAK8W,IAAIzS,MAAMrE,KAAM0I,IAM9BypC,cAAe,SAAU5sC,GAEvB,MADAA,GAAU1B,EAAA,QAAkE0K,KAAKhJ,EAAS6nC,EAAA,QAA2D36B,eAC9I66B,EAAA,EAAwE57B,OAAOnM,IAMxFgtC,gBAAiB,SAAUhtC,GAEzB,MADAA,GAAU1B,EAAA,QAAkE0K,KAAKhJ,EAAS6nC,EAAA,QAA2D56B,iBAC9I,GAAIg7B,GAAA,EAAwEjoC,IAMrFitC,cAAe,SAAUjtC,GAEvB,MADAA,GAAU1B,EAAA,QAAkE0K,KAAKhJ,EAAS6nC,EAAA,QAA2D96B,eAC9I,GAAIi7B,GAAA,EAAsEhoC,IAMnFktC,iBAAkB,SAAUltC,GAE1B,MADAA,GAAU1B,EAAA,QAAkE0K,KAAKhJ,EAAS6nC,EAAA,QAA2D76B,mBAC9I,GAAI86B,GAAA,EAA0E9nC,IAQvFkpC,iBAAkB,SAAU5+B,GAC1B7P,KAAK+wC,gBAAkB98B,EAAA,QAA8D5N,QAAO,KAAUwJ,EAAMqD,aAO9G4D,IAAK,WACH,GAAMpO,GAAO7E,EAAA,QAAkE8c,QAAQrc,UAGvF,YADmB,KAAZoE,EAAK,KAAuBA,EAAK,GAAK,qDACtCyL,EAAA,QAAmD5S,UAAUuV,IAAIzS,MAAMrE,KAAM0I,IAMtFqM,MAAO,WACL,GAAMlD,GAAQ7R,KAAKoxC,YAAYv/B,OAK/B,OAHIA,IAASA,EAAMkD,OACjBlD,EAAMkD,QAED/U,MAOTqP,QAAS,WAEP,MADArP,MAAKkzB,OAAO,WACLlzB,MAOTuP,OAAQ,WACNvP,KAAKkzB,OAAO,WASdyf,cAAe,SAAUhd,GACvB,GAAM/e,GAAU5W,KAAKoV,EAAE,kBAEvB,KAAIvR,EAAA,QAAkEP,SAASqyB,GAG7E,MAAO/e,GAAQ+e,QAFf/e,GAAQse,IAAI,aAAcS,IAU9Byb,UAAW,WACT,MAAOtwC,QAAO+C,EAAA,SACZ7D,KAAKgtB,OAAO,SAAUzZ,GACpB,MAAOA,aAAgBi6B,GAAA,SAU1B,SAAS5tC,EAAQwC,EAAqBlC,GAGxB,GAAI0yC,GAA0C1yC,EAAoB,GAC9D2yC,EAAkD3yC,EAAoB,EAGlEkC,GAAA,EAA4BwwC,EAAA,QAAmDvsC,QAC1G2Q,GAAI,6DAEJ/D,UAAW,GAEX6/B,aACEC,kBAAmB,UAGrBtjC,WAAY,WACVzP,KAAKg0B,aAGPA,UAAW,WACLh0B,KAAK6P,MAAM3O,IAAI,YACjBlB,KAAK8W,IAAI+7B,EAAA,QAA2D9/B,sBAAuBrD,KAAM,YAEjG1P,KAAK8W,IACH+7B,EAAA,QAA2D9/B,sBACzDrD,KAAM,OACNuD,UAAWjT,KAAKiT,cAMxBU,OAAQ,WACN3T,KAAK2E,iBACL3E,KAAKg0B,gBAOF,SAASp0B,EAAQwC,EAAqBlC,GAGxB,GAAI0yC,GAA0C1yC,EAAoB,EAa1DkC,GAAA,EAA4BwwC,EAAA,QAAmDvsC,QAC1G9C,SAXA,+RAYAuvC,aACEE,oBAAqB,aAOlB,SAASpzC,EAAQwC,EAAqBlC,GAGxB,GAAIiO,GAAyDjO,EAAoB,GAC7E+yC,EAAiD/yC,EAAoB,GAGxFgzC,EAAc,iBACS9wC,GAAA,GAM3BmvC,gBAAiB,SAAUzqC,GACzB,IACE,MAAOA,GAAIsnC,cAAgB/mC,KAAKC,MAAMR,EAAIqsC,cAC1C,MAAOrpC,GACP,SASJspC,kBAAmB,SAAU9E,GAC3B,GAAMhkB,GAAUgkB,EAAa/jB,MAAM2oB,EAGnC,IAAI5oB,EACF,OAAQA,EAAQ,GAAIA,EAAQ,KAWhC+oB,sBAAuB,SAAUC,GAC/B,GAAIA,EAAWhyC,UAAYgyC,EAAWhF,aAAc,CAClD,GAAMiF,GAAeN,EAAA,QAA0D1oC,SAAS+oC,EAAWE,QAC7FC,EAASH,EAAWhF,YAI1B,QAHcgF,EAAWhyC,UACqC,IAAzCiyC,EAAapsB,QAAQ,eAAwBosB,EAAeE,KAMrFC,YAAa,SAAUrxB,GACrB,GAAM+rB,GAAepuC,KAAKuxC,gBAAgBlvB,EAE1C,OAAOlU,GAAA,QAAkEyD,IAAKw8B,GAAgBA,EAAaC,gBAAoB,SAAUiF,GACvI,OAAQ,GAAKA,EAAWhF,cAActlC,QAAQkqC,EAAa,SAiB/DzB,iBAAkB,SAAUpvB,GAC1B,GAAM+rB,GAAepuC,KAAKuxC,gBAAgBlvB,GACpCqvB,IAgCN,OA7BItD,GAEFjgC,EAAA,QAAkE6C,KAChEo9B,EAAaC,gBACb,SAAUsF,GACR,GAAI5zB,KAOJ,IAJEA,EADE4zB,EAAMryC,UAAYqyC,EAAMrF,aACpBtuC,KAAKqzC,sBAAsBM,GAE3B3zC,KAAKozC,kBAAmBO,GAASA,EAAMrF,cAAiB,IAEvD,CACP,GAAM6C,GAAYpxB,EAAI,GAChBza,EAAUya,EAAI,EAEpB2xB,GAAOP,KAAeO,EAAOP,OAC7BO,EAAOP,GAAW3lC,KAAKlG,KAG3BtF,MAIKmO,EAAA,QAAkElL,SAASof,IAASlU,EAAA,QAAkEgD,KAAKkR,IAClKlU,EAAA,QAAkE6C,KAAKqR,EAAM,SAAU/L,EAAK8R,GAC1FspB,EAAOtpB,IAAU9R,KAGdnI,EAAA,QAAkEgD,KAAKugC,GAAUA,MAASzoC,MAO9F,SAASrJ,EAAQwC,EAAqBlC,GAGxB,GAAIiO,GAAyDjO,EAAoB,GAC7E0zC,EAA6C1zC,EAAoB,GACjE4rC,EAAmD5rC,EAAoB,GACvE2zC,EAA2C3zC,EAAoB,IAC/D4zC,EAAiD5zC,EAAoB,GACrEyO,EAA0CzO,EAAoB,GAOjFshB,EAAcqyB,EAAA,QAAoDryB,WAS3Cpf,GAAA,EAA4BuM,EAAA,QAAmDtI,QAC1G6M,WAAY,WACV,OACEmB,UAAW,2BAIfxF,UAAW,WACT,GAAIA,GAAY,cAKhB,IAHI7O,KAAKuF,QAAQ6xB,OACfvoB,GAAa,gBAEXV,EAAA,QAAkEsD,UAAU,EAAG,EAAG,EAAG,GAAIzR,KAAKuF,QAAQoT,SACxG9J,GAAa,uBAAyB7O,KAAKuF,QAAQoT,MAC/CxK,EAAA,QAAkE0C,QAAQ7Q,KAAKuF,QAAQqL,QAAQ,CAC9EzC,EAAA,QAAkEiJ,KAAKpX,KAAKuF,QAAQqL,MAAO,SAAUA,GACtH,MAAOzC,GAAA,QAAkEsD,UAAU,cAAe,eAAgBb,EAAMrL,QAAQmK,UAGnHb,GAAa,6BAA+B7O,KAAKuF,QAAQoT,OAG5E,MAAO9J,IAGTklC,UAAW,WACT,GAAMhjC,GAAQ5C,EAAA,QAAkE0C,QAAQ7Q,KAAKuF,QAAQ5E,MAAQX,KAAKuF,QAAQ5E,MAAQX,KAAKuF,QAAQ5E,KAkB/I,OAf0B,UAAtBX,KAAKuF,QAAQmK,KACfqB,EAAMvF,KAAKnH,MAAM0M,EAAO5C,EAAA,QAAkEid,MAAMprB,KAAKuF,QAAQqL,MAAM,GAAGrL,QAAQY,OAAOwL,OAAQ,SACpIxD,EAAA,QAAkE0C,QAAQ7Q,KAAKuF,QAAQ5E,MAC5FX,KAAKuF,QAAQqL,OAAS5Q,KAAKuF,QAAQqL,MAAMrL,SAAWvF,KAAKuF,QAAQqL,MAAMrL,QAAQ5E,MACjFoQ,EAAMvF,KAAKxL,KAAKuF,QAAQqL,MAAMrL,QAAQ5E,MAE/BX,KAAKuF,QAAQqL,QAClBzC,EAAA,QAAkE0C,QAAQ7Q,KAAKuF,QAAQqL,OACzFzC,EAAA,QAAkE6C,KAAKhR,KAAKuF,QAAQqL,MAAO,SAAUojC,GACnGjjC,EAAMvF,KAAKwoC,EAAUzuC,QAAQ5E,QAG/BoQ,EAAMvF,KAAKxL,KAAKuF,QAAQqL,MAAMrL,QAAQ5E,OAGnCwN,EAAA,QAAkEwE,KAAKxE,EAAA,QAAkE8lC,QAAQljC,KAG1J3M,YAAa,WAEXuK,EAAA,QAAmDtK,MAAMrE,KAAMsE,UAE/D,IAAM4vC,GAAal0C,KAAKuF,QAAQ,gBAAkBvF,KAAKuF,QAAQ,YAC3DvF,MAAKuF,QAAQqL,QACXzC,EAAA,QAAkE0C,QAAQ7Q,KAAKuF,QAAQqL,OACzFzC,EAAA,QAAkE6C,KAChEhR,KAAKuF,QAAQqL,MACb,SAAUojC,GACRh0C,KAAK8W,IAAIk9B,GAAaplB,SAAUslB,KAElCl0C,MAGFA,KAAK8W,IAAI9W,KAAKuF,QAAQqL,OAASge,SAAUslB,KAI7Cl0C,KAAKm0C,aAAan0C,KAAKuF,QAEvB,IAAMwL,GAAQ/Q,KAAK+zC,WAEnB/zC,MAAKmF,SAASnF,KAAK6P,MAAO,mBAAoB,SAAUlP,EAAM+wC,GACxDvjC,EAAA,QAAkEsD,SAASV,EAAOpQ,IACpFX,KAAKo0C,WAAW1C,EAAQwC,KAI5Bl0C,KAAKmF,SAASnF,KAAK6P,MAAO,4BAA8BkB,EAAMtH,KAAK,YAAazJ,KAAKyY,cACrFzY,KAAKmF,SAASnF,KAAK6P,MAAO,oBAAsBkB,EAAMtH,KAAK,sBAAuBzJ,KAAKyY,cAEnFtK,EAAA,QAAkErL,UAAU9C,KAAKuF,QAAS,aAAcvF,OAC1GA,KAAKmF,SAASnF,KAAK6P,MAAO,UAAY7P,KAAKuF,QAAQ5E,KAAMX,KAAKgU,QAGhEhU,KAAKq0C,cAAe,GAiBtBF,aAAc,SAAU5uC,GACtB,GAAIumB,SAGJ,IAAIvmB,EAAQsmB,cAGV,MAFA+nB,GAAA,QAAsD/mC,KAAK,yDAC3D7M,MAAK8W,IAAI9W,KAAKuF,QAAQsmB,cAIxBC,GAAUvmB,EAAQumB,QACd3d,EAAA,QAAkEjL,WAAW4oB,KAAatK,EAAYsK,KACxGA,EAAU3d,EAAA,QAAkErL,UAAU9C,KAAKuF,QAAS,UAAWvF,OAE5G8rB,IAIDtK,EAAYsK,IACd9rB,KAAKuD,SAAW,iCAChBvD,KAAK8W,IAAIgV,EAAS,oBAElB9rB,KAAKuD,SAAW,8CASpB6wC,WAAY,SAAU1C,EAAQwC,GAC5Bl0C,KAAKq0C,cAAe,EACpBr0C,KAAKuE,IAAI+K,SAAS,oBAElB,IAAMglC,GAAUnmC,EAAA,QAAkE4D,SAAS,yBACrFwiC,GACJ,oGACA,0FACA,WACA,QACA9qC,KAAK,IAED+qC,EAAYV,EAAA,QAA0DvpC,SAAS,6BAA8B,WAC7GmO,EAAOozB,EAAA,QAA4DjnC,IAAI0vC,IAC3ED,QAASA,EACTE,UAAWA,EACXxtC,KAAM0qC,EAAOjoC,KAAK,QAGdgrC,EAAaz0C,KAAKoV,EAAE,mBACvBs/B,IAAI,uBACJ7iC,OAEC4iC,GAAW5uC,SAAWquC,EACxBO,EAAWE,OAAOj8B,GAElB1Y,KAAKuE,IAAIwS,OAAO2B,GAGlB1Y,KAAKuE,IAAIC,KAAK,mBAAoB8vC,IAOpC77B,aAAc,WAAY,GAAAm8B,GAAA50C,IACpBA,MAAKq0C,eACPr0C,KAAKoV,EAAE,uBAAuBiC,SAC9BrX,KAAKuE,IAAIC,KAAK,mBAAoB,MAClCxE,KAAKuE,IAAIiL,YAAY,qBACrBxP,KAAKq0C,cAAe,EACpBlmC,EAAA,QAAkEkmB,MAAM,WACtEugB,EAAK/kC,MAAM9K,QAAQ,mBAKzBgQ,MAAO,WAOL,MANA/U,MAAKgR,KAAK,SAAUuC,GAClB,GAAIA,EAAKwB,MACP,MAAOxB,GAAKwB,UAIT/U,SAOJ,SAASJ,EAAQwC,EAAqBlC,GAS7C,QAAS20C,GAAYC,EAAOvvC,GAC1B,MAAIwvC,GAAA,QAAwD7gB,YAAY4gB,IAC/DA,EAAMvzC,UAAY,GAAIuzC,GAAM3mC,EAAA,QAAkE2D,KAAKvM,EAAS,UAE5GuvC,EAIX,QAASpjC,GAAOnM,GAEd,GADAA,EAAU4I,EAAA,QAAkElK,MAAMsB,GAC9EA,EAAQqL,MACV,MAAOikC,GAAYtvC,EAAQqL,MAAOrL,EAEpC,IAAMuvC,GAAQC,EAAA,QAAwD7zC,IAAIqE,EAE1E,KAAKuvC,EACH,KAAM,IAAIrsC,OAAM,kBAAoBlD,EAAQmK,KAE9C,OAAOmlC,GAAYC,EAAOvvC,GAG5B,QAASosC,GAASpsC,GAChB,QAASA,EAAQqL,SAAWmkC,EAAA,QAAwD7zC,IAAIqE,GA5BrE,GAAI4I,GAAyDjO,EAAoB,GAC7E60C,EAA+C70C,EAAoB,GA8B/DkC,GAAA,GAC3BsP,OAAQA,EACRigC,SAAUA,IAML,SAAS/xC,EAAQwC,EAAqBlC,GAGxB,GAAIiO,GAAyDjO,EAAoB,GAC7Em5B,EAAqCn5B,EAAoB,IAEzD4rC,GAD6C5rC,EAAoBiB,EAAEk4B,GAChBn5B,EAAoB,IACvE6rC,EAA0C7rC,EAAoB,EAY1DkC,GAAA,EAA4B2pC,EAAA,QAAmD1lC,QAC1GwI,UAAW,+BAEXqE,YACEmB,UAAW,gBAabjQ,YAAa,SAAUmB,GAErB4I,EAAA,QAAkE3I,SAASD,GAAWiP,QAASjP,EAAQd,WAChGc,GAAQd,GAEfsnC,EAAA,QAAmD1nC,MAAMrE,KAAMsE,UAE/D,IAAIf,SAGFA,GADEvD,KAAKg1C,aAAazvC,EAAQiL,OACjB,oCACFrC,EAAA,QAAkEsD,UAAU,QAAS,YAAalM,EAAQmK,QAAUnK,EAAQiL,MAC1H,YAGA,mDAETjL,EAAQ0vC,WACV1xC,GAAY,oDAEVgC,EAAQ2vC,UACN/mC,EAAA,QAAkE/H,SAASb,EAAQ2vC,WACrF3vC,EAAQ2vC,SACNluC,KAAMzB,EAAQ2vC,UAGlB3xC,GAAY,gGAEdvD,KAAKuD,SAAWuoC,EAAA,QAA4DjnC,IAAItB,IAGlF8S,gBAAiB,WACf,GAAM9Q,IAAYiL,MAAO,GAUzB,OARArC,GAAA,QAAkE6C,MAC/D,UAAW,QAAS,WAAY,WACjC,SAAU8lB,GACRvxB,EAAQuxB,GAAU3oB,EAAA,QAAkErL,UAAU9C,KAAKuF,QAASuxB,EAAQ92B,OAEtHA,MAGKuF,GAGTyvC,aAAc,SAAUxkC,GACtB,OAAQrC,EAAA,QAAkEhL,YAAYqN,IAAUA,YAAiBu7B,GAAA,SAGnH1zB,WAAY,WACV,GAAM9S,GAAUvF,KAAKqW,iBAEjBrW,MAAKg1C,aAAazvC,EAAQiL,SAC5BxQ,KAAK2E,iBACL3E,KAAK8W,IAAIvR,EAAQiL,MAAO,UAGtBjL,EAAQ2vC,SACVl1C,KAAKoV,EAAE,mBAAmBykB,KACxB1rB,EAAA,QAAkE9H,QAE9DyzB,OAASC,QAAS,2BAClB5D,UACE6D,GAAI,cACJ/G,GAAI,cAENwB,MAAQ0gB,OAAO,GACfvgB,MAAQ3d,MAAO,IAEjB1R,EAAQ2vC,QAAQ3vC,cAUnB,SAAS3F,EAAQwC,EAAqBlC,GAU7C,QAASk1C,GAAY9lB,EAAUlH,GAC7BkH,EAASjrB,MACPrE,KACAmO,EAAA,QAAkEyD,IAChEwW,EAAM7e,MAAM,OACZ,SAAU6e,GACR,MAAOpoB,MAAK6P,MAAM3O,IAAIknB,IAExBpoB,OAKN,QAASq1C,GAAMpwC,EAAIqwC,GACbnnC,EAAA,QAAkEjL,WAAW+B,IAC/EA,EAAG1E,KAAK+0C,GAtBS,GAAInnC,GAAyDjO,EAAoB,GAC7E4zB,EAA0C5zB,EAAoB,GAC9Dq1C,EAA0Cr1C,EAAoB,EA8B1DkC,GAAA,EAA4B0xB,EAAA,QAAmDztB,QAC1GwI,UAAW,WACT,GAAIA,GAAY,iBAUhB,OARI7O,MAAKuF,QAAQ,eACfsJ,GAAa,qBAGX7O,KAAKuF,QAAQyM,WACfnD,GAAa,qBAGRA,GAGTqE,WAAY,WACV,OACEmB,UAAWrU,KAAKuF,QAAQ,YAAc,oBAa1CnB,YAAa,SAAUmB,GACjBA,EAAQsJ,YACV7O,KAAKw1C,sBAAwBx1C,KAAK6O,UAClC7O,KAAKy1C,iBAAmBlwC,EAAQsJ,UAChCtJ,EAAQsJ,UAAY,WAClB,MAAOV,GAAA,QAAkE2G,OAAO9U,KAAM,wBAAyB,IAAM,IAAMmO,EAAA,QAAkE2G,OAAO9U,KAAM,sBAG9M8zB,EAAA,QAAmDzvB,MAAMrE,KAAMsE,WAC/D6J,EAAA,QAAkE6C,KAChEzL,EAAQuJ,WACR,SAAUwgB,EAAUqC,GAClB3xB,KAAKmF,SAASnF,KAAK6P,MAAO8hB,EAAOrC,IAEnCtvB,MAGFmO,EAAA,QAAkE6C,KAChEzL,EAAQmsB,aACR,SAAUpC,EAAUlH,GAClBpoB,KAAKmF,SACHnF,KAAK6P,MACL0lC,EAAA,QAAmD1iC,kBAAkBuV,EAAM7e,MAAM,QACjF4E,EAAA,QAAkElI,KAAKmvC,EAAap1C,KAAMsvB,EAAUlH,KAGxGpoB,MAGFu1C,EAAA,QAAmDjiC,cAActT,KAAMuF,EAAQiO,UAC/E+hC,EAAA,QAAmDzhC,gBAAgB9T,KAAMuF,EAAQwO,YAEjFshC,EAAM9vC,EAAQkK,WAAYzP,OAG5BqY,WAAY,WACVlK,EAAA,QAAkE6C,KAAKhR,KAAKuF,QAAQmsB,aAAgB0jB,EAAap1C,MACjHq1C,EAAMr1C,KAAKuF,QAAQyO,OAAQhU,OAM7B01C,SAAU,WACR,MAAO11C,MAAKmR,OAAS,EAAInR,KAAKizB,GAAG,GAAK,MAKxC0iB,SAAU,WACR,MAAO31C,MAAK41C,qBAMdA,kBAAmB,WACjB,MAAO51C,MAAKizB,GAAGjzB,KAAKmR,OAAS,EAAI,EAAI,IAMvCigC,UAAW,WACT,MAAOpxC,MAAK41C,oBAAoBj1B,WAGlC5L,MAAO,WACL,MAAO/U,MAAK21C,WAAW5gC,YAOpB,SAASnV,EAAQwC,EAAqBlC,GAiB7C,QAAS21C,GAAev0C,GACtB,GAAMoO,GAAOpO,EAASJ,IAAI,mBACpB+d,EAAS3d,EAASJ,IAAI,sBACtBP,EAAOW,EAASJ,IAAI,QACpBwE,EAAQpE,EAASJ,IAAI,SAGrB0qB,GACJlc,KAAM,OACN/O,KAAMA,EACN6P,MAAO9K,GAAS/E,EAOlB,QAAQ+O,GACR,IAAK,gBACHkc,EAAahb,MAAQklC,EAAA,EACrBlqB,EAAazlB,QAAWsY,SAAU,SAClC,MACF,KAAK,gBACHmN,EAAahb,MAAQklC,EAAA,EACrBlqB,EAAazlB,QAAWsY,SAAU,SAClC,MACF,KAAK,iBACHmN,EAAahb,MAAQklC,EAAA,EACrBlqB,EAAazlB,QAAWsY,SAAU,UAClC,MACF,KAAK,gBACHmN,EAAahb,MAAQklC,EAAA,EACrBlqB,EAAazlB,QAAWsY,SAAUnd,EAASJ,IAAI,SAASwO,KACxD,MACF,KAAK,gBACHkc,EAAahb,MAAQklC,EAAA,EACrBlqB,EAAazlB,QAAWsY,SAAUnd,EAASJ,IAAI,SAASua,OACxD,MACF,KAAK,UACHmQ,EAAahb,MAAQmlC,EAAA,CACrB,MACF,KAAK,UACL,IAAK,SACHnqB,EAAapW,GAAKwgC,CAClB,MACF,KAAK,YACHpqB,EAAalc,KAAO,SACpBkc,EAAarmB,QAAU0wC,EAAWh3B,EAClC,MACF,KAAK,QACH2M,EAAa5Z,UAAW,EACxB4Z,EAAa7S,KAAO,SAAU1W,GAC5B,MAAO8L,GAAA,QAAkErC,QAAQzJ,GAAS,GAAK4wC,EAAA,QAA0D1oC,SAAS,+BAAgC,WAEpM,MACF,KAAK,WACHqhB,EAAalc,KAAO,UACpB,MACF,KAAK,OACHkc,EAAalc,KAAO,MACpB,MACF,KAAK,MACL,IAAK,eACL,IAAK,eACL,IAAK,gBACL,IAAK,gBACL,IAAK,QACL,IAAK,SACL,IAAK,WACL,IAAK,SACL,IAAK,SAEH,KACF,SACE,KAAM,IAAIjH,OAAM,iBAAmBiH,GAErC,MAAOkc,GAIT,QAASsqB,GAAc50C,GACrB,GAAIsqB,MACEjrB,EAAOW,EAASJ,IAAI,QACpBwO,EAAOpO,EAASJ,IAAI,mBACpB+d,EAAS3d,EAASJ,IAAI,sBACtBi1C,EAAS70C,EAASJ,IAAI,sBAO5B,IALIi1C,IACFvqB,EAAajrB,KAAOw1C,EAASx1C,EAC7BirB,EAAaymB,WAAa1xC,GAGxBW,EAASupB,aAAc,CACzB,GAAMurB,IACJ13B,YAAahP,EACbhK,MAAOpE,EAASJ,IAAI,SACpB8pB,WAAY1pB,EAASwpB,gBAGvBc,GAAezd,EAAA,QAAkE9H,UAAWgwC,EAAA,EAAiE3qB,oBAAoB0qB,GAAUxqB,OAClL/a,GAAQnB,IAASuP,IAC1B2M,EAAalc,KAAO,cACpBkc,EAAahb,MAAQ,KACrBgb,EAAarmB,QAAU0wC,EAAWh3B,GAGpC,OAAO2M,GAGT,QAASoqB,GAAsBhsC,GAC7B,GAAMa,GAASooC,EAAA,QAA0DxoC,WAAWT,EAEpF,OAAkB,KAAXA,EAAgB,KAAOa,EAGhC,QAASgG,GAAQnB,GACf,MAAOA,IAAQA,EAAKyX,QAAQ,UAAY,EAK1C,QAAS8uB,GAAWh3B,GAClB,MAAO9Q,GAAA,QAAkE9M,OAAO4d,EAAQA,GAK1F,QAASq3B,GAAcC,GACrB,GAAM16B,GAAQ06B,EAAWr1C,IAAI,QAE7B,OAAI2a,GACKA,EAAM26B,WAEND,EAAWr1C,IAAI,cAI1B,QAASu1C,GAAkBF,EAAYG,EAAgBC,GACrD,GAAMh2C,GAAO41C,EAAWr1C,IAAI,QACtBi1C,EAASQ,EAAA,mBACXC,EAAgBF,EAAe/1C,GAC7Bk2C,EAAaF,EAAQz1C,IAAIP,GAE3Bm2C,SACA73B,QAIAk3B,IACFI,EAAWzmC,IAAI,sBAAuBqmC,GAIxCW,EAAcJ,EAAeJ,EAAcC,IAIvCK,GAAiBC,IACnBD,EAAgBzoC,EAAA,QAAkEyE,MAAMgkC,EAAeC,IAKrGC,GAAeA,EAAYjxC,OAC7BoZ,EAAS63B,EACAF,GAAiBA,EAAc/wC,SACxCoZ,EAAS23B,GAGXL,EAAWzmC,IAAI,qBAAsBmP,GAGvC,QAAS83B,GAAmBC,EAAaN,EAAgBC,GAKvD,MAJAK,GAAYhmC,KAAK,SAAUulC,GACzBE,EAAkBF,EAAYG,EAAgBC,KAGzCK,EAYT,QAASC,GAAY9Q,EAAYlnB,GAC/B,MAAOknB,GAAWnZ,OAAO,SAAUmY,GACjC,MAAO+R,GAAkB/R,EAAQlmB,KAYrC,QAASi4B,GAAkBX,EAAYt3B,GACrC,GAAMu3B,GAAaF,EAAcC,GAC3BY,EAAUl4B,EAAOu3B,EAIvB,QAAIA,IAAc11C,OAAOqN,EAAA,SAAmEgpC,GAASrrC,UA/NvGhL,OAAOC,eAAeqB,EAAqB,cAAgBC,OAAO,GAC7C,IAAI8L,GAAyDjO,EAAoB,GAC7E+yC,EAAiD/yC,EAAoB,GACrE61C,EAAsD71C,EAAoB,IAC1E41C,EAAmD51C,EAAoB,IACvEm2C,EAAgDn2C,EAAoB,GAgOhEkC,GAAA,SAU3Bg1C,mBAAoB,SAAUC,GAC5B,GAAMC,GAASpB,EAAcmB,GACvBE,EAAW1B,EAAewB,EAOhC,OAHIC,GAAOnxC,QAAUoxC,EAASpxC,SAC5BmxC,EAAOnxC,OAASgI,EAAA,QAAkE3I,SAAS8xC,EAAOnxC,OAAQoxC,EAASpxC,SAE9GgI,EAAA,QAAkE3I,SAAS8xC,EAAQC,IAG5FC,oBAAqB,SAAUR,EAAaN,GAC1C,OAAIvoC,EAAA,QAAkErC,QAAQkrC,MAGxDC,EAAYD,EAAaN,GAExB7wC,QAoBzB4xC,cAAe,SAAUT,EAAaN,EAAgBC,GAEpD,MADAK,GAAY92B,MAAM+2B,EAAYD,EAAaN,IACpCK,EAAmBC,EAAaN,EAAgBC,IAYzDI,mBAAoBA,EAEpBN,kBAAmBA,IAMd,SAAS72C,EAAQwC,EAAqBlC,GAGxB,GAAIw3C,GAAwCx3C,EAAoB,IAE/EqF,GACJ0D,UAAW,YACX0uC,KAAM,OACNC,MAAO,SAGH7+B,EAAO,SAAUpJ,GACrB,MAAIA,GACK,QAEG,IAARA,EACK,QAEF,aAGH6F,EAAK,SAAU7F,GACnB,OAAQA,GACR,IAAK,YACH,MAAO,KACT,KAAK,OACH,OAAO,CACT,KAAK,QACH,OAAO,CACT,SACE,MAAO,OAIkBvN,GAAA,EAA4Bs1C,EAAA,QAAiDrxC,QACxGoJ,WAAY,WACVzP,KAAKuF,QAAQA,QAAUA,EACvBvF,KAAKuF,QAAQwT,KAAOA,EACpB/Y,KAAKuF,QAAQiQ,GAAKA,MAOf,SAAS5V,EAAQD,EAASO,GAEjC,GAAIw4B,GAA8B9H,CAUhC8H,IAAgCx4B,EAAoB,SAqmChB+I,MArmCsB2nB,EAAiC,SAAU+H,IACrG,WACE,GAAIkf,EAEJA,GAAgB,WACd,QAASA,KACP73C,KAAK83C,cAAgB,EACrB93C,KAAK+3C,UA4DP,MAzDAF,GAAat2C,UAAUy2C,SAAW,SAAS5kB,GACzC,MAAqC,aAAjCA,EAAM6kB,SAASnV,cACV9iC,KAAKk4C,UAAU9kB,GAEfpzB,KAAKm4C,WAAW/kB,IAI3BykB,EAAat2C,UAAU22C,UAAY,SAASzrC,GAC1C,GAAI2rC,GAAgBthB,EAAQuhB,EAAIC,EAAMC,EAAMC,CAY5C,KAVAJ,EAAiBp4C,KAAK+3C,OAAOlyC,OAC7B7F,KAAK+3C,OAAOvsC,MACVitC,YAAaL,EACb3rC,OAAO,EACP+D,MAAO/D,EAAM+D,MACbuF,SAAU,EACV9G,SAAUxC,EAAMwC,WAElBspC,EAAO9rC,EAAMisC,WACbF,KACKH,EAAK,EAAGC,EAAOC,EAAK1yC,OAAQwyC,EAAKC,EAAMD,IAC1CvhB,EAASyhB,EAAKF,GACdG,EAAShtC,KAAKxL,KAAKm4C,WAAWrhB,EAAQshB,EAAgB3rC,EAAMwC,UAE9D,OAAOupC,IAGTX,EAAat2C,UAAU42C,WAAa,SAASrhB,EAAQshB,EAAgBO,GACnE,GAAsC,WAAlC7hB,EAAOmhB,SAASnV,cAwBlB,MAvBoB,KAAhBhM,EAAO9vB,MACa,MAAlBoxC,IACFp4C,KAAK+3C,OAAOK,GAAgBriC,UAAY,GAE1C/V,KAAK+3C,OAAOvsC,MACVitC,YAAaz4C,KAAK+3C,OAAOlyC,OACzBiyC,cAAe93C,KAAK83C,cACpBz1C,MAAOy0B,EAAOz0B,MACd2E,KAAM8vB,EAAO9vB,KACb0R,KAAMoe,EAAO8hB,UACbC,SAAU/hB,EAAO+hB,SACjB5pC,UAA6B,IAAnB0pC,EAA0BA,EAAiB7hB,EAAO7nB,SAC5D6pC,kBAAmBV,EACnBre,QAASjD,EAAOjoB,UAChBirB,MAAOhD,EAAOgD,MAAMif,WAGtB/4C,KAAK+3C,OAAOvsC,MACVitC,YAAaz4C,KAAK+3C,OAAOlyC,OACzBiyC,cAAe93C,KAAK83C,cACpBpzC,OAAO,IAGJ1E,KAAK83C,eAAiB,GAI1BD,KAITA,EAAamB,gBAAkB,SAAStkB,GACtC,GAAItB,GAAO6lB,EAAQZ,EAAIC,EAAMC,CAI7B,KAFAU,EAAS,GAAIpB,GACbU,EAAO7jB,EAAOgkB,WACTL,EAAK,EAAGC,EAAOC,EAAK1yC,OAAQwyC,EAAKC,EAAMD,IAC1CjlB,EAAQmlB,EAAKF,GACbY,EAAOjB,SAAS5kB,EAElB,OAAO6lB,GAAOlB,QAGhB/3C,KAAK63C,aAAeA,IAEnBt3C,KAAKP,MAER,WACE,GAAIk5C,GAAgBz5C,CAEpBA,GAAOO,KAEPk5C,EAAkB,WAChB,QAASA,GAAeC,EAAY5zC,GAClCvF,KAAKm5C,WAAaA,EAClBn5C,KAAKuF,QAAqB,MAAXA,EAAkBA,KAC5B2zC,EAAeE,yBAGpBp5C,KAAKq5C,YAAcr5C,KAAKm5C,WAAWG,SACnCt5C,KAAKu5C,mBACLv5C,KAAKw5C,qBACLx5C,KAAKy5C,QACLz5C,KAAK05C,cACL15C,KAAK25C,qBACL35C,KAAK45C,gBA+NP,MA5NAV,GAAe33C,UAAUi4C,mBAAqB,WAC5C,GAAIK,GAAQ75C,IAoBZ,OAlBAA,MAAK85C,kBAAoB,SAASC,GAChC,MAAOF,GAAMG,kBAAkBD,IAEjC/5C,KAAKi6C,gBAAkB,SAASF,GAC9B,MAAOF,GAAMK,eAAeH,IAE9B/5C,KAAKm6C,cAAe,EACpBn6C,KAAKo6C,oBAAqB,EAC1Bp6C,KAAKq6C,iBAAkB,EACvBr6C,KAAKs6C,mBAAqB,KAC1Bt6C,KAAKu6C,uBAAyB,KAC9Bv6C,KAAKw6C,sBAA+D,MAAtCx6C,KAAKuF,QAAQi1C,uBAAiE,MAA9Bx6C,KAAKm5C,WAAW5zC,QAAQ,IAAmD,KAApCvF,KAAKm5C,WAAW5zC,QAAQ,GAAGyB,MAAchH,KAAKuF,QAAQi1C,sBAC3Kx6C,KAAKs3B,yBAA2Bt3B,KAAKuF,QAAQ+xB,0BAA4B,EACzEt3B,KAAKy6C,eAAiBz6C,KAAKuF,QAAQk1C,iBAAkB,EACrDz6C,KAAK06C,yBAAoE,MAAzC16C,KAAKuF,QAAQm1C,0BAAmC16C,KAAKuF,QAAQm1C,yBAC7F16C,KAAKw3B,gBAAkBx3B,KAAKuF,QAAQiyB,kBAAmB,EACvDx3B,KAAK26C,yBAA2B36C,KAAKuF,QAAQo1C,2BAA4B,EACzE36C,KAAK46C,qBAAuB56C,KAAKuF,QAAQq1C,sBAAwBC,IAC1D76C,KAAK86C,uBAAyB96C,KAAKuF,QAAQu1C,yBAA0B,GAG9E5B,EAAe33C,UAAUg4C,iBAAmB,WAQ1C,MAPIv5C,MAAKm5C,WAAW5J,aAAa,oBAC/BvvC,KAAK+6C,aAAe/6C,KAAKm5C,WAAW5J,aAAa,oBACxCvvC,KAAKq5C,YACdr5C,KAAK+6C,aAAe/6C,KAAKuF,QAAQy1C,2BAA6Bh7C,KAAKuF,QAAQgyB,kBAAoB2hB,EAAe+B,sBAE9Gj7C,KAAK+6C,aAAe/6C,KAAKuF,QAAQ21C,yBAA2Bl7C,KAAKuF,QAAQgyB,kBAAoB2hB,EAAeiC,oBAEvGn7C,KAAKo7C,mBAAqBp7C,KAAKm5C,WAAW5J,aAAa,yBAA2BvvC,KAAKuF,QAAQ81C,iBAAmBnC,EAAeoC,wBAG1IpC,EAAe33C,UAAUg6C,YAAc,WACrC,MAAOv7C,MAAKo6C,oBAAqB,GAGnClB,EAAe33C,UAAUi6C,YAAc,WACrC,MAAOx7C,MAAKo6C,oBAAqB,GAGnClB,EAAe33C,UAAUk6C,YAAc,SAAS1B,GAC9C,GAAIF,GAAQ75C,IAEZ,IAAIA,KAAKq5C,aACP,IAAKr5C,KAAKm6C,aACR,MAAOnqC,YAAY,WACjB,MAAO6pC,GAAM6B,uBACX,QAGN,KAAK17C,KAAKm6C,aACR,MAAOn6C,MAAKk6C,kBAKlBhB,EAAe33C,UAAUo6C,WAAa,SAAS5B,GAC7C,GAAIF,GAAQ75C,IAEZ,KAAKA,KAAKo6C,mBAER,MADAp6C,MAAKm6C,cAAe,EACbnqC,WAAY,WACjB,MAAO6pC,GAAM+B,aACX,MAIR1C,EAAe33C,UAAUs6C,kBAAoB,SAAS/kB,GACpD,GAAIiD,GAASD,CAoBb,OAlBAhD,GAAOglB,OAAS97C,KAAK+7C,aAAe,MAAQjlB,EAAO2hB,YACnD1e,KACKjD,EAAO7nB,UAAc6nB,EAAO+hB,UAAY74C,KAAKq5C,aAChDtf,EAAQvuB,KAAK,kBAEXsrB,EAAO7nB,UAAc6nB,EAAO+hB,UAAY74C,KAAKq5C,aAC/Ctf,EAAQvuB,KAAK,mBAEXsrB,EAAO+hB,UACT9e,EAAQvuB,KAAK,mBAEiB,MAA5BsrB,EAAOgiB,mBACT/e,EAAQvuB,KAAK,gBAEQ,KAAnBsrB,EAAOiD,SACTA,EAAQvuB,KAAKsrB,EAAOiD,SAEtBD,EAAiC,KAAzBhD,EAAOgD,MAAMif,QAAiB,WAAcjiB,EAAOgD,MAAQ,IAAO,GACnE,WAAahD,EAAOglB,OAAS,YAAc/hB,EAAQtwB,KAAK,KAAO,IAAMqwB,EAAQ,IAAMhD,EAAOpe,KAAO,SAG1GwgC,EAAe33C,UAAUy6C,qBAAuB,WAO9C,MANAh8C,MAAKu5C,mBACAv5C,KAAKq5C,aACRr5C,KAAKi8C,wBAEPj8C,KAAKk8C,yBACLl8C,KAAKu6C,uBAAyB,KACvBv6C,KAAKm8C,iBAGdjD,EAAe33C,UAAU66C,eAAiB,WACxC,MAAIp8C,MAAKq6C,gBACAr6C,KAAKq8C,eAELr8C,KAAKs8C,gBAIhBpD,EAAe33C,UAAUg7C,eAAiB,SAASxC,GACjD,MAAI/5C,MAAKq6C,gBACAr6C,KAAKw8C,iBAELx8C,KAAKs8C,gBAIhBpD,EAAe33C,UAAUk7C,cAAgB,WACvC,GAAI3lB,GAAQuhB,EAAIC,EAAMC,CAEtB,IAAkC,MAA9Bv4C,KAAK08C,sBACP,MAAO18C,MAAK08C,qBAId,KAFA18C,KAAK08C,sBAAwB,EAC7BnE,EAAOv4C,KAAKm5C,WAAW5zC,QAClB8yC,EAAK,EAAGC,EAAOC,EAAK1yC,OAAQwyC,EAAKC,EAAMD,IAC1CvhB,EAASyhB,EAAKF,GACVvhB,EAAO+hB,WACT74C,KAAK08C,uBAAyB,EAGlC,OAAO18C,MAAK08C,uBAGdxD,EAAe33C,UAAUo7C,cAAgB,SAAS5C,GAEhD,GADAA,EAAI1mC,kBACErT,KAAKq6C,kBAAmBr6C,KAAK48C,YACjC,MAAO58C,MAAKs8C,gBAIhBpD,EAAe33C,UAAUs7C,cAAgB,SAAS9C,GAChD,GAAI+C,GAAQvE,CAIZ,QAFAuE,EAA+B,OAArBvE,EAAOwB,EAAInsC,OAAiB2qC,EAAOwB,EAAIlsC,QACjD7N,KAAK+8C,qBACGD,GACN,IAAK,GACH,GAAI98C,KAAKq5C,aAAer5C,KAAKg9C,kBAAoB,GAAKh9C,KAAKy8C,gBAAkB,EAC3E,MAAOz8C,MAAKi9C,oBACP,KAAKj9C,KAAKk9C,mBAEf,MADAl9C,MAAKk8C,yBACEl8C,KAAKu8C,gBAEd,MACF,KAAK,IAEH,GADAxC,EAAI1mC,iBACArT,KAAKq6C,gBACP,MAAOr6C,MAAKm9C,cAAcpD,EAE5B,MACF,KAAK,IAIH,MAHI/5C,MAAKq6C,iBACPr6C,KAAKq8C,gBAEA,CACT,KAAK,GACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACH,KACF,SACE,MAAOr8C,MAAKu8C,mBAIlBrD,EAAe33C,UAAU67C,kBAAoB,WAC3C,GAAIC,EAIJ,OAFAA,GAASr9C,KAAKs9C,qBACdt9C,KAAKm5C,WAAW10C,GAAK44C,EACdA,GAGTnE,EAAe33C,UAAUg8C,qBAAuB,WAC9C,GAAIC,GAAgBC,CAIpB,OAFAD,GAAQ,uCACRC,EAAOhwB,KAAKC,MAAMD,KAAKniB,SAAWkyC,EAAM33C,QACvB23C,EAAMp2C,UAAUq2C,EAAMA,EAAO,IAGhDvE,EAAe33C,UAAUm8C,gBAAkB,WACzC,MAA0B,OAAtB19C,KAAKuF,QAAQovB,MACR30B,KAAKuF,QAAQovB,MAER30B,KAAKm5C,WAAWwE,YAAc,MAI9CzE,EAAeE,qBAAuB,WACpC,GAAIb,EAEJ,OAAiC,gCAA7BhxC,OAAOq2C,UAAU9+B,SACX,QAAUy5B,EAAOtP,SAAS4U,eAAiBtF,GAAQ,GAK/DW,EAAe+B,sBAAwB,sBAEvC/B,EAAeiC,oBAAsB,mBAErCjC,EAAeoC,uBAAyB,mBAEjCpC,KAITz5C,EAAKy5C,eAAiBA,GAErB34C,KAAKP,MAER,WACE,GAAIoV,GAAG0oC,EAAQr+C,EAAM84C,EACnBwF,KAAev8C,eACfw8C,EAAY,SAAS5qB,EAAOld,GAAiG,QAAS+nC,KAASj+C,KAAKoE,YAAcgvB,EAA5H,IAAK,GAAIjpB,KAAO+L,GAAc6nC,EAAUx9C,KAAK2V,EAAQ/L,KAAMipB,EAAMjpB,GAAO+L,EAAO/L,GAA2J,OAArG8zC,GAAK18C,UAAY2U,EAAO3U,UAAW6xB,EAAM7xB,UAAY,GAAI08C,GAAQ7qB,EAAM8qB,UAAYhoC,EAAO3U,UAAkB6xB,EAEzR3zB,GAAOO,IAGP,IAAIk5C,GAAiBz5C,EAAKy5C,cAE1B9jC,GAAIujB,EAEJvjB,EAAEnQ,GAAGoB,QACH6wB,OAAQ,SAAS3xB,GACf,MAAK2zC,GAAeE,uBAGbp5C,KAAKgR,KAAK,SAASmtC,GACxB,GAAIC,EAGJ,IADAA,EAAQhpC,EAAEpV,OACLo+C,EAAM3R,SAAS,aAClB,MAAO2R,GAAM36C,KAAK,SAAU,GAAIq6C,GAAO99C,KAAMuF,MAPxCvF,QAab89C,EAAU,SAASO,GAGjB,QAASP,KAEP,MADAvF,GAAOuF,EAAOI,UAAU95C,YAAYC,MAAMrE,KAAMsE,WA4uBlD,MA/uBA05C,GAAUF,EAAQO,GAOlBP,EAAOv8C,UAAUk4C,MAAQ,WAGvB,MAFAz5C,MAAKs+C,cAAgBlpC,EAAEpV,KAAKm5C,YAC5Bn5C,KAAKu+C,sBAAwBv+C,KAAKm5C,WAAWqF,cACtCx+C,KAAKy+C,OAASz+C,KAAKs+C,cAAc7R,SAAS,aAGnDqR,EAAOv8C,UAAUq4C,aAAe,WAC9B,MAAO55C,MAAKs+C,cAAchvC,SAAS,cAGrCwuC,EAAOv8C,UAAUm4C,YAAc,WAC7B,GAAIgF,GAAmBC,CAwCvB,OAtCA3+C,MAAK+7C,aAAe/7C,KAAKm5C,WAAW10C,GAAGoB,OAAS7F,KAAKm5C,WAAW10C,GAAGuE,QAAQ,SAAU,KAAOhJ,KAAKo9C,oBACjGp9C,KAAK+7C,cAAgB,QACrB2C,GAAqB,kBACrBA,EAAkBlzC,KAAK,mBAAqBxL,KAAKq5C,YAAc,QAAU,WACrEr5C,KAAK86C,wBAA0B96C,KAAKm5C,WAAWtqC,WACjD6vC,EAAkBlzC,KAAKxL,KAAKm5C,WAAWtqC,WAErC7O,KAAKy+C,QACPC,EAAkBlzC,KAAK,YAEzBmzC,GACEl6C,GAAMzE,KAAK+7C,aACX6C,MAASF,EAAkBj1C,KAAK,KAChCqwB,MAAS,UAAa95B,KAAK09C,kBAAqB,IAChDh4C,MAAS1F,KAAKm5C,WAAWzzC,OAE3B1F,KAAK8wB,UAAY1b,EAAE,UAAWupC,GAC1B3+C,KAAKq5C,YACPr5C,KAAK8wB,UAAUpY,KAAK,+EAAiF1Y,KAAK+6C,aAAe,oIAEzH/6C,KAAK8wB,UAAUpY,KAAK,qFAAuF1Y,KAAK+6C,aAAe,mKAEjI/6C,KAAKs+C,cAAc7pB,OAAO8B,MAAMv2B,KAAK8wB,WACrC9wB,KAAK6+C,SAAW7+C,KAAK8wB,UAAU1Z,KAAK,iBAAiBvF,QACrD7R,KAAK8+C,aAAe9+C,KAAK8wB,UAAU1Z,KAAK,SAASvF,QACjD7R,KAAK++C,eAAiB/+C,KAAK8wB,UAAU1Z,KAAK,mBAAmBvF,QAC7D7R,KAAK+8C,qBACL/8C,KAAKg/C,kBAAoBh/C,KAAK8wB,UAAU1Z,KAAK,iBAAiBvF,QAC1D7R,KAAKq5C,aACPr5C,KAAKi/C,eAAiBj/C,KAAK8wB,UAAU1Z,KAAK,mBAAmBvF,QAC7D7R,KAAKk/C,iBAAmBl/C,KAAK8wB,UAAU1Z,KAAK,mBAAmBvF,UAE/D7R,KAAKk/C,iBAAmBl/C,KAAK8wB,UAAU1Z,KAAK,mBAAmBvF,QAC/D7R,KAAKm/C,cAAgBn/C,KAAK8wB,UAAU1Z,KAAK,gBAAgBvF,SAE3D7R,KAAKm8C,gBACLn8C,KAAKo/C,gBACLp/C,KAAKq/C,qBACEr/C,KAAKs+C,cAAcv5C,QAAQ,eAChCmyB,OAAQl3B,QAIZ89C,EAAOv8C,UAAUo4C,mBAAqB,WACpC,GAAIE,GAAQ75C,IA+CZ,OA7CAA,MAAK8wB,UAAUlhB,UAAU,SAASmqC,GAChCF,EAAM6B,oBAAoB3B,KAE5B/5C,KAAK8wB,UAAU/gB,QAAQ,SAASgqC,GAC9BF,EAAMyF,kBAAkBvF,KAE1B/5C,KAAK8wB,UAAUyuB,WAAW,SAASxF,GACjCF,EAAM0B,YAAYxB,KAEpB/5C,KAAK8wB,UAAU0uB,WAAW,SAASzF,GACjCF,EAAM2B,YAAYzB,KAEpB/5C,KAAK++C,eAAehvC,QAAQ,SAASgqC,GACnCF,EAAM4F,uBAAuB1F,KAE/B/5C,KAAK++C,eAAeW,UAAU,SAAS3F,GACrCF,EAAM8F,yBAAyB5F,KAEjC/5C,KAAK++C,eAAea,SAAS,SAAS7F,GACpCF,EAAMgG,wBAAwB9F,KAEhC/5C,KAAK++C,eAAe94C,KAAK,4BAA6B,SAAS8zC,GAC7DF,EAAMiG,0BAA0B/F,KAElC/5C,KAAKs+C,cAAcr4C,KAAK,gBAAiB,SAAS8zC,GAChDF,EAAMmC,qBAAqBjC,KAE7B/5C,KAAKs+C,cAAcr4C,KAAK,iBAAkB,SAAS8zC,GACjDF,EAAMK,eAAeH,KAEvB/5C,KAAKs+C,cAAcr4C,KAAK,aAAc,SAAS8zC,GAC7CF,EAAM6B,oBAAoB3B,KAE5B/5C,KAAK8+C,aAAa5lB,KAAK,SAAS6gB,GAC9BF,EAAM8B,WAAW5B,KAEnB/5C,KAAK8+C,aAAa5vC,MAAM,SAAS6qC,GAC/BF,EAAMgD,cAAc9C,KAEtB/5C,KAAK8+C,aAAaiB,QAAQ,SAAShG,GACjCF,EAAMmG,gBAAgBjG,KAExB/5C,KAAK8+C,aAAa/pC,MAAM,SAASglC,GAC/BF,EAAM4B,YAAY1B,KAEhB/5C,KAAKq5C,YACAr5C,KAAKi/C,eAAelwC,MAAM,SAASgrC,GACxCF,EAAM8C,cAAc5C,KAGf/5C,KAAK8wB,UAAU/hB,MAAM,SAASgrC,GACnCA,EAAI1mC,oBAKVyqC,EAAOv8C,UAAU0+C,sBAAwB,WAEvC,MADAjgD,MAAK48C,YAAc58C,KAAKs+C,cAAc,GAAGrvC,SACrCjP,KAAK48C,aACP58C,KAAK8wB,UAAUxhB,SAAS,iBACxBtP,KAAK8+C,aAAa,GAAG7vC,UAAW,EAC3BjP,KAAKq5C,aACRr5C,KAAKm/C,cAAce,OAAO,QAASlgD,KAAKi6C,iBAEnCj6C,KAAKmgD,gBAEZngD,KAAK8wB,UAAUthB,YAAY,iBAC3BxP,KAAK8+C,aAAa,GAAG7vC,UAAW,EAC3BjP,KAAKq5C,gBAAV,GACSr5C,KAAKm/C,cAAcl5C,KAAK,QAASjG,KAAKi6C,mBAKnD6D,EAAOv8C,UAAUm6C,oBAAsB,SAAS3B,GAC9C,IAAK/5C,KAAK48C,cACJ7C,GAAoB,cAAbA,EAAIrqC,OAAyB1P,KAAKq6C,iBAC3CN,EAAI1mC,iBAEQ,MAAP0mC,IAAiB3kC,EAAE2kC,EAAInuC,QAAS6gC,SAAS,wBAW9C,MAVKzsC,MAAKm6C,aAMEn6C,KAAKq5C,cAAeU,GAAS3kC,EAAE2kC,EAAInuC,QAAQ,KAAO5L,KAAKm/C,cAAc,KAAO/pC,EAAE2kC,EAAInuC,QAAQ6qB,QAAQ,iBAAiB5wB,SAC7Hk0C,EAAI1mC,iBACJrT,KAAKo8C,mBAPDp8C,KAAKq5C,aACPr5C,KAAK8+C,aAAanvC,IAAI,IAExByF,EAAE6zB,UAAUl6B,MAAM/O,KAAK85C,mBACvB95C,KAAKs8C,gBAKAt8C,KAAKk6C,kBAKlB4D,EAAOv8C,UAAU+9C,kBAAoB,SAASvF,GAC5C,GAA4B,SAAxBA,EAAInuC,OAAOqsC,WAAwBj4C,KAAK48C,YAC1C,MAAO58C,MAAKogD,cAAcrG,IAI9B+D,EAAOv8C,UAAUu+C,0BAA4B,SAAS/F,GACpD,GAAIsG,GAAOC,EAAOC,CAGlB,IAAa,OADbF,IAAyC,OAA9BC,EAAQvG,EAAIyG,eAAyBF,EAAMG,eAAa,MAA4C,OAA/BF,EAAQxG,EAAI2G,gBAA0BH,EAAMI,WAAS,KAMnI,MAJA5G,GAAI1mC,iBACa,mBAAb0mC,EAAIrqC,OACN2wC,GAAgB,IAEXrgD,KAAK++C,eAAetpB,UAAU4qB,EAAQrgD,KAAK++C,eAAetpB,cAIrEqoB,EAAOv8C,UAAUq6C,UAAY,SAAS7B,GACpC,IAAK/5C,KAAKm6C,cAAgBn6C,KAAK8wB,UAAU2b,SAAS,yBAChD,MAAOzsC,MAAKmgD,eAIhBrC,EAAOv8C,UAAU4+C,YAAc,WAO7B,MANA/qC,GAAE6zB,UAAUiX,OAAO,QAASlgD,KAAK85C,mBACjC95C,KAAKm6C,cAAe,EACpBn6C,KAAKq8C,eACLr8C,KAAK8wB,UAAUthB,YAAY,yBAC3BxP,KAAK4gD,mBACL5gD,KAAK6gD,4BACE7gD,KAAK+8C,sBAGde,EAAOv8C,UAAU24C,eAAiB,WAIhC,MAHAl6C,MAAK8wB,UAAUxhB,SAAS,yBACxBtP,KAAKm6C,cAAe,EACpBn6C,KAAK8+C,aAAanvC,IAAI3P,KAAK8+C,aAAanvC,OACjC3P,KAAK8+C,aAAa/pC,SAG3B+oC,EAAOv8C,UAAUy4C,kBAAoB,SAASD,GAC5C,MAAI3kC,GAAE2kC,EAAInuC,QAAQ6qB,QAAQ,IAAMz2B,KAAK+7C,cAAcl2C,OAC1C7F,KAAKm6C,cAAe,EAEpBn6C,KAAKmgD,eAIhBrC,EAAOv8C,UAAU46C,cAAgB,WAC/B,GAAIvlC,GAASnT,EAAM40C,EAAIC,EAAMgI,CAmB7B,KAjBAtgD,KAAK8gD,SAAU,EACf9gD,KAAK08C,sBAAwB,KAC7B18C,KAAK+gD,aAAethD,EAAKo4C,aAAamB,gBAAgBh5C,KAAKm5C,YACvDn5C,KAAKq5C,YACPr5C,KAAKi/C,eAAe7nC,KAAK,oBAAoBC,SACnCrX,KAAKq5C,cACfr5C,KAAKm/C,cAAc7vC,SAAS,gBAAgB8H,KAAK,QAAQpQ,KAAKhH,KAAK+6C,cAC/D/6C,KAAKy6C,gBAAkBz6C,KAAKm5C,WAAW5zC,QAAQM,QAAU7F,KAAKs3B,0BAChEt3B,KAAK8+C,aAAa,GAAG9sC,UAAW,EAChChS,KAAK8wB,UAAUxhB,SAAS,oCAExBtP,KAAK8+C,aAAa,GAAG9sC,UAAW,EAChChS,KAAK8wB,UAAUthB,YAAY,oCAG/BoH,EAAU,GACV0pC,EAAQtgD,KAAK+gD,aACR1I,EAAK,EAAGC,EAAOgI,EAAMz6C,OAAQwyC,EAAKC,EAAMD,IAC3C50C,EAAO68C,EAAMjI,GACT50C,EAAKgJ,MACPmK,GAAW5W,KAAKghD,iBAAiBv9C,GACvBA,EAAKiB,QACfkS,GAAW5W,KAAK67C,kBAAkBp4C,GAC9BA,EAAKo1C,UAAY74C,KAAKq5C,YACxBr5C,KAAKihD,aAAax9C,GACTA,EAAKo1C,WAAa74C,KAAKq5C,cAChCr5C,KAAKm/C,cAAc3vC,YAAY,gBAAgB4H,KAAK,QAAQpQ,KAAKvD,EAAKuD,MAClEhH,KAAKw6C,uBACPx6C,KAAKkhD,iCASb,OAJAlhD,MAAKigD,wBACLjgD,KAAK6gD,4BACL7gD,KAAK+8C,qBACL/8C,KAAK++C,eAAermC,KAAK9B,GAClB5W,KAAK8gD,SAAU,GAGxBhD,EAAOv8C,UAAUy/C,iBAAmB,SAASv0C,GAE3C,MADAA,GAAMqvC,OAAS97C,KAAK+7C,aAAe,MAAQtvC,EAAMgsC,YAC1C,WAAahsC,EAAMqvC,OAAS,0BAA4B1mC,EAAE,WAAWpO,KAAKyF,EAAM+D,OAAOkI,OAAS,SAGzGolC,EAAOv8C,UAAU4/C,oBAAsB,SAASnqC,GAC9C,GAAIoqC,GAAaC,EAAUxrB,EAAWyrB,EAAgBC,CAEtD,IAAIvqC,EAAGnR,OAAQ,CASb,GARA7F,KAAKk8C,yBACLl8C,KAAKwhD,iBAAmBxqC,EACxBhX,KAAKwhD,iBAAiBlyC,SAAS,eAC/BumB,EAAY/qB,SAAS9K,KAAK++C,eAAe7pB,IAAI,aAAc,IAC3DqsB,EAAcvhD,KAAK++C,eAAetpB,YAClC6rB,EAAiBzrB,EAAY0rB,EAC7BF,EAAWrhD,KAAKwhD,iBAAiBrrB,WAAWf,IAAMp1B,KAAK++C,eAAetpB,aACtE2rB,EAAcC,EAAWrhD,KAAKwhD,iBAAiBjsB,gBAC5B+rB,EACjB,MAAOthD,MAAK++C,eAAetpB,UAAW2rB,EAAcvrB,EAAa,EAAIurB,EAAcvrB,EAAY,EAC1F,IAAIwrB,EAAWE,EACpB,MAAOvhD,MAAK++C,eAAetpB,UAAU4rB,KAK3CvD,EAAOv8C,UAAU26C,uBAAyB,WAIxC,MAHIl8C,MAAKwhD,kBACPxhD,KAAKwhD,iBAAiBhyC,YAAY,eAE7BxP,KAAKwhD,iBAAmB,MAGjC1D,EAAOv8C,UAAU+6C,aAAe,WAC9B,MAAIt8C,MAAKq5C,aAAer5C,KAAK46C,sBAAwB56C,KAAKy8C,iBACxDz8C,KAAKs+C,cAAcv5C,QAAQ,qBACzBmyB,OAAQl3B,QAEH,IAETA,KAAK8wB,UAAUxhB,SAAS,kBACxBtP,KAAKs+C,cAAcv5C,QAAQ,0BACzBmyB,OAAQl3B,OAEVA,KAAKq6C,iBAAkB,EACvBr6C,KAAK8+C,aAAa/pC,QAClB/U,KAAK8+C,aAAanvC,IAAI3P,KAAK8+C,aAAanvC,OACjC3P,KAAKw8C,mBAGdsB,EAAOv8C,UAAU86C,aAAe,WAQ9B,MAPIr8C,MAAKq6C,kBACPr6C,KAAKk8C,yBACLl8C,KAAK8wB,UAAUthB,YAAY,kBAC3BxP,KAAKs+C,cAAcv5C,QAAQ,yBACzBmyB,OAAQl3B,QAGLA,KAAKq6C,iBAAkB,GAGhCyD,EAAOv8C,UAAU69C,cAAgB,SAASpoC,GACxC,GAAIyqC,EAEJ,IAAIzhD,KAAKs+C,cAAc95C,KAAK,YAG1B,MAFAi9C,GAAKzhD,KAAKs+C,cAAc95C,KAAK,YAC7BxE,KAAKs+C,cAAc95C,KAAK,YAAa,GAC9BxE,KAAK8+C,aAAat6C,KAAK,WAAYi9C,IAI9C3D,EAAOv8C,UAAU89C,mBAAqB,WACpC,GAAIxF,GAAQ75C,IAMZ,IAJAA,KAAK0hD,iBAAmB1hD,KAAKs+C,cAAc7nB,QAAQ,UAC9Cz2B,KAAK0hD,iBAAiB77C,QAAU7F,KAAKm5C,WAAW10C,GAAGoB,SACtD7F,KAAK0hD,iBAAmBtsC,EAAE,cAAgBpV,KAAKm5C,WAAW10C,GAAK,OAE7DzE,KAAK0hD,iBAAiB77C,OAAS,EACjC,MAAO7F,MAAK0hD,iBAAiB3yC,MAAM,SAASgrC,GAC1C,MAAIF,GAAMR,YACDQ,EAAM6B,oBAAoB3B,GAE1BF,EAAMK,oBAMrB4D,EAAOv8C,UAAUs/C,0BAA4B,WAC3C,MAAI7gD,MAAKq5C,aAAer5C,KAAKy8C,gBAAkB,IAAMz8C,KAAKm6C,cACxDn6C,KAAK8+C,aAAanvC,IAAI3P,KAAK+6C,cACpB/6C,KAAK8+C,aAAaxvC,SAAS,aAElCtP,KAAK8+C,aAAanvC,IAAI,IACf3P,KAAK8+C,aAAatvC,YAAY,aAIzCsuC,EAAOv8C,UAAUk+C,uBAAyB,SAAS1F,GACjD,GAAInuC,EAGJ,IADAA,EAASwJ,EAAE2kC,EAAInuC,QAAQ6gC,SAAS,iBAAmBr3B,EAAE2kC,EAAInuC,QAAUwJ,EAAE2kC,EAAInuC,QAAQ6qB,QAAQ,kBAAkB5kB,QACvGjG,EAAO/F,OAGT,MAFA7F,MAAKwhD,iBAAmB51C,EACxB5L,KAAKm9C,cAAcpD,GACZ/5C,KAAK8+C,aAAa/pC,SAI7B+oC,EAAOv8C,UAAUo+C,yBAA2B,SAAS5F,GACnD,GAAInuC,EAGJ,IADAA,EAASwJ,EAAE2kC,EAAInuC,QAAQ6gC,SAAS,iBAAmBr3B,EAAE2kC,EAAInuC,QAAUwJ,EAAE2kC,EAAInuC,QAAQ6qB,QAAQ,kBAAkB5kB,QAEzG,MAAO7R,MAAKmhD,oBAAoBv1C,IAIpCkyC,EAAOv8C,UAAUs+C,wBAA0B,SAAS9F,GAClD,GAAI3kC,EAAE2kC,EAAInuC,QAAQ6gC,SAAS,iBACzB,MAAOzsC,MAAKk8C,0BAIhB4B,EAAOv8C,UAAU0/C,aAAe,SAAS7c,GACvC,GAAIud,GAAQC,EACV/H,EAAQ75C,IAkBV,OAhBA2hD,GAASvsC,EAAE,UACTwpC,MAAS,kBACRlmC,KAAK,SAAW0rB,EAAK1rB,KAAO,WAC3B0rB,EAAKn1B,SACP0yC,EAAOryC,SAAS,2BAEhBsyC,EAAaxsC,EAAE,SACbzE,KAAM,IACNiuC,MAAS,sBACTnd,IAAK2C,EAAKqU,cAEZmJ,EAAW7yC,MAAM,SAASgrC,GACxB,MAAOF,GAAMgI,0BAA0B9H,KAEzC4H,EAAO5qC,OAAO6qC,IAET5hD,KAAKk/C,iBAAiBvK,OAAOgN,IAGtC7D,EAAOv8C,UAAUsgD,0BAA4B,SAAS9H,GAGpD,GAFAA,EAAI1mC,iBACJ0mC,EAAIvmB,mBACCxzB,KAAK48C,YACR,MAAO58C,MAAK8hD,eAAe1sC,EAAE2kC,EAAInuC,UAIrCkyC,EAAOv8C,UAAUugD,eAAiB,SAASxgB,GACzC,GAAIthC,KAAK+hD,gBAAgBzgB,EAAK98B,KAAK,QAMjC,MALAxE,MAAK6gD,4BACD7gD,KAAKq5C,aAAer5C,KAAKy8C,gBAAkB,GAAKz8C,KAAK8+C,aAAanvC,MAAM9J,OAAS,GACnF7F,KAAKq8C,eAEP/a,EAAK7K,QAAQ,MAAM5kB,QAAQwF,SACpBrX,KAAK+8C,sBAIhBe,EAAOv8C,UAAU6+C,cAAgB,WAU/B,GATApgD,KAAKm5C,WAAW5zC,QAAQ,GAAGszC,UAAW,EACtC74C,KAAK08C,sBAAwB,KAC7B18C,KAAKm/C,cAAc/nC,KAAK,QAAQpQ,KAAKhH,KAAK+6C,cACrC/6C,KAAKq5C,aACRr5C,KAAKm/C,cAAc7vC,SAAS,gBAE9BtP,KAAK6gD,4BACL7gD,KAAKi8C,wBACLj8C,KAAKs+C,cAAcv5C,QAAQ,UACvB/E,KAAKm6C,aACP,MAAOn6C,MAAKq8C,gBAIhByB,EAAOv8C,UAAU06C,sBAAwB,WAEvC,MADAj8C,MAAKu+C,sBAAwBv+C,KAAKm5C,WAAWqF,cACtCx+C,KAAKm/C,cAAc/nC,KAAK,QAAQC,UAGzCymC,EAAOv8C,UAAU47C,cAAgB,SAASpD,GACxC,GAAIiI,GAAMC,EAAS7d,EAAMjO,CAEzB,IAAIn2B,KAAKwhD,iBAIP,MAHAQ,GAAOhiD,KAAKwhD,iBACZS,EAAUD,EAAKx9C,KAAK,MACpBxE,KAAKk8C,yBACDl8C,KAAKq5C,aAAer5C,KAAK46C,sBAAwB56C,KAAKy8C,iBACxDz8C,KAAKs+C,cAAcv5C,QAAQ,qBACzBmyB,OAAQl3B,QAEH,IAELA,KAAKq5C,YACP2I,EAAKxyC,YAAY,kBAEjBxP,KAAK++C,eAAe3nC,KAAK,oBAAoB5H,YAAY,mBACzDxP,KAAKu6C,uBAAyByH,EAC9BhiD,KAAKm/C,cAAc3vC,YAAY,iBAEjCwyC,EAAK1yC,SAAS,mBACd6mB,EAAW8rB,EAAQC,OAAOD,EAAQE,YAAY,KAAO,GACrD/d,EAAOpkC,KAAK+gD,aAAa5qB,GACzBiO,EAAKyU,UAAW,EAChB74C,KAAKm5C,WAAW5zC,QAAQ6+B,EAAK0T,eAAee,UAAW,EACvD74C,KAAK08C,sBAAwB,KACzB18C,KAAKq5C,YACPr5C,KAAKihD,aAAa7c,IAElBpkC,KAAKm/C,cAAc/nC,KAAK,QAAQvF,QAAQ7K,KAAKo9B,EAAKp9B,MAC9ChH,KAAKw6C,uBACPx6C,KAAKkhD,kCAGFnH,EAAIqI,SAAWrI,EAAIsI,UAAYriD,KAAKq5C,aACzCr5C,KAAKq8C,eAEPr8C,KAAK8+C,aAAanvC,IAAI,KAClB3P,KAAKq5C,aAAer5C,KAAKm5C,WAAWqF,gBAAkBx+C,KAAKu+C,wBAC7Dv+C,KAAKs+C,cAAcv5C,QAAQ,UACzB8zC,SAAY74C,KAAKm5C,WAAW5zC,QAAQ6+B,EAAK0T,eAAez1C,QAG5DrC,KAAKu+C,sBAAwBv+C,KAAKm5C,WAAWqF,cACtCx+C,KAAK+8C,uBAIhBe,EAAOv8C,UAAU+gD,gBAAkB,SAAStrC,EAAI8f,GAC9C,MAAIA,GAAO7nB,SACF+H,EAAG1H,SAAS,mBACVtP,KAAKq5C,aAAeviB,EAAO+hB,SAC7B7hC,EAAG1H,SAAS,mBAEZ0H,EAAG1H,SAAS,kBAIvBwuC,EAAOv8C,UAAUghD,kBAAoB,SAASvrC,GAC5C,MAAOA,GAAGxH,YAAY,kDAGxBsuC,EAAOv8C,UAAUwgD,gBAAkB,SAASS,GAC1C,GAAI1tC,GAAQ2tC,CAGZ,OADAA,GAAcziD,KAAK+gD,aAAayB,IAC3BxiD,KAAKm5C,WAAW5zC,QAAQk9C,EAAY3K,eAAe7oC,WACtDwzC,EAAY5J,UAAW,EACvB74C,KAAKm5C,WAAW5zC,QAAQk9C,EAAY3K,eAAee,UAAW,EAC9D74C,KAAK08C,sBAAwB,KAC7B5nC,EAASM,EAAE,IAAMpV,KAAK+7C,aAAe,MAAQyG,GAC7C1tC,EAAOtF,YAAY,mBAAmBF,SAAS,iBAAiBslB,OAChE50B,KAAKk8C,yBACLl8C,KAAKw8C,iBACLx8C,KAAKs+C,cAAcv5C,QAAQ,UACzB29C,WAAY1iD,KAAKm5C,WAAW5zC,QAAQk9C,EAAY3K,eAAez1C,QAEjErC,KAAK+8C,sBACE,IAMXe,EAAOv8C,UAAU2/C,8BAAgC,WAC/C,GAAKlhD,KAAKw6C,sBAMV,MAHKx6C,MAAKm/C,cAAc/nC,KAAK,QAAQvR,QACnC7F,KAAKm/C,cAAc/nC,KAAK,QAAQvF,QAAQ0kB,MAAM,6CAEzCv2B,KAAKm/C,cAAc7vC,SAAS,8BAGrCwuC,EAAOv8C,UAAUi7C,eAAiB,WAChC,GAAImG,GAAO7rB,EAAQyL,EAAMvB,EAAO4hB,EAAOC,EAAa/tC,EAAQguC,EAAW3L,EAAS4L,EAAYC,EAAUh8C,EAAMi8C,EAAQ5K,EAAI6K,EAAI5K,EAAM6K,EAAO7C,CASzI,KAPAtgD,KAAKojD,mBACLjM,EAAU,EACV4L,EAAa/iD,KAAK8+C,aAAanvC,QAAU3P,KAAK+6C,aAAe,GAAK3lC,EAAE,UAAUpO,KAAKoO,EAAEvJ,KAAK7L,KAAK8+C,aAAanvC,QAAQ+I,OACpHmqC,EAAc7iD,KAAKw3B,gBAAkB,GAAK,IAC1CorB,EAAQ,GAAIve,QAAOwe,EAAcE,EAAW/5C,QAAQ,2BAA4B,QAAS,KACzFi6C,EAAS,GAAI5e,QAAO0e,EAAW/5C,QAAQ,2BAA4B,QAAS,KAC5Es3C,EAAQtgD,KAAK+gD,aACR1I,EAAK,EAAGC,EAAOgI,EAAMz6C,OAAQwyC,EAAKC,EAAMD,IAE3C,GADAvhB,EAASwpB,EAAMjI,IACVvhB,EAAOpyB,MACV,GAAIoyB,EAAOrqB,MACT2I,EAAE,IAAM0hB,EAAOglB,QAAQ5mB,IAAI,UAAW,YACjC,CAIL,GAHAytB,GAAQ,EACRG,EAAYhsB,EAAOglB,OACnBhnC,EAASM,EAAE,IAAM0tC,GACbF,EAAM15C,KAAK4tB,EAAOpe,MACpBiqC,GAAQ,EACRxL,GAAW,MACN,IAAIn3C,KAAK06C,2BAA6B5jB,EAAOpe,KAAKyO,QAAQ,MAAQ,GAAkC,IAA7B2P,EAAOpe,KAAKyO,QAAQ,QAChG6Z,EAAQlK,EAAOpe,KAAK1P,QAAQ,SAAU,IAAIO,MAAM,KAC5Cy3B,EAAMn7B,QACR,IAAKq9C,EAAK,EAAGC,EAAQniB,EAAMn7B,OAAQq9C,EAAKC,EAAOD,IAC7C3gB,EAAOvB,EAAMkiB,GACTN,EAAM15C,KAAKq5B,KACbogB,GAAQ,EACRxL,GAAW,EAKfwL,IACEI,EAAWl9C,QACbm9C,EAAWlsB,EAAOpe,KAAK2qC,OAAOJ,GAC9Bj8C,EAAO8vB,EAAOpe,KAAKwpC,OAAO,EAAGc,EAAWD,EAAWl9C,QAAU,QAAUixB,EAAOpe,KAAKwpC,OAAOc,EAAWD,EAAWl9C,QAChHmB,EAAOA,EAAKk7C,OAAO,EAAGc,GAAY,OAASh8C,EAAKk7C,OAAOc,IAEvDh8C,EAAO8vB,EAAOpe,KAEhB5D,EAAO4D,KAAK1R,GACZhH,KAAKsiD,gBAAgBxtC,EAAQgiB,GACG,MAA5BA,EAAOgiB,mBACT1jC,EAAE,IAAMpV,KAAK+gD,aAAajqB,EAAOgiB,mBAAmBgD,QAAQ5mB,IAAI,UAAW,eAGzEl1B,KAAKwhD,kBAAoBsB,IAAc9iD,KAAKwhD,iBAAiBh9C,KAAK,OACpExE,KAAKk8C,yBAEPl8C,KAAKuiD,kBAAkBztC,IAK/B,MAAIqiC,GAAU,GAAK4L,EAAWl9C,OACrB7F,KAAKsjD,WAAWP,GAEhB/iD,KAAKujD,gCAIhBzF,EAAOv8C,UAAUgiD,6BAA+B,WAC9C,GAAIC,GAASC,CAEb,KAAKzjD,KAAKwhD,mBACRiC,EAAoBzjD,KAAKq5C,eAAcr5C,KAAK++C,eAAe3nC,KAAK,kCAEjD,OADfosC,EAAUC,EAAiB59C,OAAS49C,EAAiB5xC,QAAU7R,KAAK++C,eAAe3nC,KAAK,kBAAkBvF,UAExG,MAAO7R,MAAKmhD,oBAAoBqC,IAKtC1F,EAAOv8C,UAAU+hD,WAAa,SAASI,GACrC,GAAIC,EAIJ,OAFAA,GAAkBvuC,EAAE,0BAA4BpV,KAAKo7C,mBAAqB,yBAC1EuI,EAAgBvsC,KAAK,QAAQvF,QAAQ6G,KAAKgrC,GACnC1jD,KAAK++C,eAAehoC,OAAO4sC,IAGpC7F,EAAOv8C,UAAU6hD,iBAAmB,WAClC,MAAOpjD,MAAK++C,eAAe3nC,KAAK,eAAeC,UAGjDymC,EAAOv8C,UAAUqiD,cAAgB,WAC/B,GAAIC,EAEJ,OAAI7jD,MAAKq6C,iBAAmBr6C,KAAKwhD,kBAC/BqC,EAAW7jD,KAAKwhD,iBAAiBsC,QAAQ,oBAAoBjyC,SAEpD7R,KAAKmhD,oBAAoB0C,OADlC,GAIO7jD,KAAKs8C,gBAIhBwB,EAAOv8C,UAAUwiD,YAAc,WAC7B,GAAIC,EAEJ,OAAKhkD,MAAKq6C,iBAAoBr6C,KAAKq5C,YAExBr5C,KAAKwhD,kBACdwC,EAAYhkD,KAAKwhD,iBAAiByC,QAAQ,oBACtCD,EAAUn+C,OACL7F,KAAKmhD,oBAAoB6C,EAAUnyC,UAEtC7R,KAAKy8C,gBAAkB,GACzBz8C,KAAKq8C,eAEAr8C,KAAKk8C,+BART,GADEl8C,KAAKs8C,gBAchBwB,EAAOv8C,UAAU07C,mBAAqB,WACpC,GAAIiH,EAEJ,OAAIlkD,MAAKk9C,oBACPl9C,KAAK8hD,eAAe9hD,KAAKk9C,mBAAmB9lC,KAAK,KAAKvF,SAC/C7R,KAAK4gD,qBAEZsD,EAAyBlkD,KAAKk/C,iBAAiBpmB,SAAS,oBAAoB8S,OACxEsY,EAAuBr+C,SAAWq+C,EAAuBzX,SAAS,2BACpEzsC,KAAKk9C,mBAAqBgH,EACtBlkD,KAAK26C,yBACA36C,KAAKi9C,qBAELj9C,KAAKk9C,mBAAmB5tC,SAAS,4BAL5C,KAWJwuC,EAAOv8C,UAAUq/C,iBAAmB,WAIlC,MAHI5gD,MAAKk9C,oBACPl9C,KAAKk9C,mBAAmB1tC,YAAY,uBAE/BxP,KAAKk9C,mBAAqB,MAGnCY,EAAOv8C,UAAUy+C,gBAAkB,SAASjG,GAC1C,GAAI+C,GAAQwD,CAOZ,QALAxD,EAAgC,OAAtBwD,EAAQvG,EAAInsC,OAAiB0yC,EAAQvG,EAAIlsC,QACnD7N,KAAK+8C,qBACU,IAAXD,GAAgB98C,KAAKk9C,oBACvBl9C,KAAK4gD,mBAEC9D,GACN,IAAK,GACH98C,KAAKg9C,kBAAoBh9C,KAAK8+C,aAAanvC,MAAM9J,MACjD,MACF,KAAK,GACC7F,KAAKq6C,kBAAoBr6C,KAAKq5C,aAChCr5C,KAAKm9C,cAAcpD,GAErB/5C,KAAKo6C,oBAAqB,CAC1B,MACF,KAAK,IACHL,EAAI1mC,gBACJ,MACF,KAAK,IACH0mC,EAAI1mC,iBACJrT,KAAK+jD,aACL,MACF,KAAK,IACHhK,EAAI1mC,iBACJrT,KAAK4jD,kBAKX9F,EAAOv8C,UAAUw7C,mBAAqB,WACpC,GAAIoH,GAAQrqB,EAAOsqB,EAAaC,EAAQC,EAAGjM,EAAIC,CAE/C,IAAIt4C,KAAKq5C,YAAa,CAKpB,IAJI,EACJiL,EAAI,EACJF,EAAc,gEACdC,GAAU,YAAa,aAAc,cAAe,cAAe,cAAe,iBAAkB,kBAC/FhM,EAAK,EAAGC,EAAO+L,EAAOx+C,OAAQwyC,EAAKC,EAAMD,IAC5Cve,EAAQuqB,EAAOhM,GACf+L,GAAetqB,EAAQ,IAAM95B,KAAK8+C,aAAa5pB,IAAI4E,GAAS,GAe9D,OAbAqqB,GAAM/uC,EAAE,WACN0kB,MAASsqB,IAEXD,EAAIn9C,KAAKhH,KAAK8+C,aAAanvC,OAC3ByF,EAAE,QAAQ2B,OAAOotC,GACjBG,EAAIH,EAAIxvB,QAAU,GAClBwvB,EAAI9sC,SACCrX,KAAKukD,UACRvkD,KAAKukD,QAAUvkD,KAAK8wB,UAAU0zB,cAE5BF,EAAItkD,KAAKukD,QAAU,KACrBD,EAAItkD,KAAKukD,QAAU,IAEdvkD,KAAK8+C,aAAa5pB,KACvBP,MAAS2vB,EAAI,SAKnBxG,EAAOv8C,UAAU+7C,mBAAqB,WACpC,GAAItzC,EAGJ,KADAA,EAAS,MAAQhK,KAAKu9C,uBAAyBv9C,KAAKu9C,uBAAyBv9C,KAAKu9C,uBAC3EnoC,EAAE,IAAMpL,GAAQnE,OAAS,GAC9BmE,GAAUhK,KAAKu9C,sBAEjB,OAAOvzC,IAGF8zC,GAEN5E,GAEHz5C,EAAKq+C,OAASA,GAEbv9C,KAAKP,OAEPqE,MAAM1E,EAAS+4B,MACkC94B,EAAOD,QAAUixB,IAI9D,SAAShxB,EAAQwC,EAAqBlC,GAGxB,GAAIiO,GAAyDjO,EAAoB,GAC7EukD,EAAiDvkD,EAAoB,IACrEwkD,EAA2CxkD,EAAoB,IAC/DykD,EAA8CzkD,EAAoB,GAK9DkC,GAAA,EAA4BsiD,EAAA,EAA4Dr+C,QACnHwI,UAAW,cAEXtL,SAAU,sEAEV4C,QACEsY,SAAU,UAGZ3P,QACE81C,6BAA8B,SAAU96C,GACtCA,EAAEuJ,iBACErT,KAAKiY,cACPjY,KAAK6kD,kBAKXp1C,WAAY,SAAUlK,GACpBA,IAAYA,MACZvF,KAAKmG,OAASgI,EAAA,QAAkE3I,SAASD,EAAQY,WAAcnG,KAAKmG,QACpHnG,KAAK8kD,eAAiB,SAKxB/rC,KAAM,SAAUpJ,GACd,MAAKxB,GAAA,QAAkE0C,QAAQlB,GAGxEA,MAITwI,SAAU,WAKR,MAJAnY,MAAK+kD,kBACL/kD,KAAKuE,IAAImU,KAAK1Y,KAAKuD,UACnB4K,EAAA,QAAkE6C,KAAKhR,KAAKglD,YAAa72C,EAAA,QAAkElI,KAAKjG,KAAKilD,iBAAkBjlD,OAEhLA,MAIToY,SAAU,WACRpY,KAAKmY,WACLnY,KAAKoV,EAAE,wBAAwB9F,SAAS,yBAO1CK,IAAK,WACH,GAAIsP,GAAS9Q,EAAA,QAAkE8Q,OAAOjf,KAAKglD,YAK3F,OAHI72C,GAAA,QAAkEsD,UAAUgzC,EAAA,EAAkEvoC,SAASrR,OAAQ45C,EAAA,EAAkEvoC,SAASP,SAAU3b,KAAKmG,OAAOsY,YAClQQ,EAAS9Q,EAAA,QAAkE6e,OAAO/N,EAAQ9Q,EAAA,QAAkE7K,WAEvJ2b,GAGTlK,MAAO,aAEP8vC,cAAe,WACb,GAEM16C,GAAMgE,EAAA,QAAkE4D,SAAS/R,KAAK8kD,eAE5F9kD,MAAKglD,YAAY76C,GAJH,GAKdnK,KAAKilD,iBALS,GAKe96C,GAE7BnK,KAAKgY,UAGPitC,iBAAkB,SAAU5iD,EAAO8H,GACjC,GAAM+6C,GAAe,GAAIP,GAAA,EACvBx2C,EAAA,QAAkE9H,OAAO8H,EAAA,QAAkEI,KAAKvO,KAAKuF,QAAS,OAAQ,WAAY,UAChL4E,IAAKA,EACL9H,MAAOA,EACPoc,SAAUze,KAAKmG,OAAOsY,WAkB1B,OAdAze,MAAKmF,SAAS+/C,EAAc,cAAe,SAAUC,GAC/Ch3C,EAAA,QAAkEw1B,OAAOwhB,UACpEnlD,MAAKglD,YAAY76C,GACxBnK,KAAKovB,cAAc81B,IAEnBllD,KAAKglD,YAAY76C,GAAOg7C,EAE1BnlD,KAAKgY,WAGPktC,EAAalxC,SAASzP,IAAIkwB,OAC1Bz0B,KAAKoV,EAAE,wBAAwBu/B,OAAOuQ,EAAaluC,IACnDkuC,EAAa3gD,IAAI6gD,YAEVF,GAGTH,gBAAiB,WACf,GAAMM,GAAQrlD,KAAK6P,MAAM3O,IAAIlB,KAAKuF,QAAQ5E,KAG1C,IADAX,KAAKglD,eACD72C,EAAA,QAAkE0C,QAAQw0C,KAAWl3C,EAAA,QAAkErC,QAAQu5C,GAAQ,CACzK,GAAM/6C,MACAvK,EAAOC,IAEbc,QAAOqN,EAAA,SAAmEk3C,EAAMx/C,QAAQy/C,MAAM,WAC5Fh7C,EAAKkB,KAAK2C,EAAA,QAAkE4D,SAAShS,EAAK+kD,mBAE5F9kD,KAAKglD,YAAc72C,EAAA,QAAkE9M,OAAOiJ,EAAM+6C,QAQjG,SAASzlD,EAAQwC,EAAqBlC,GAGxB,GAAIiO,GAAyDjO,EAAoB,GAC7EukD,EAAiDvkD,EAAoB,IACrE6sC,EAAiD7sC,EAAoB,GACrE6D,EAAmD7D,EAAoB,GACvEqlD,EAA2CrlD,EAAoB,IAC/DyO,EAA0CzO,EAAoB,GAQjFslD,EAAU,SAAUx7C,GACxB,MAAO,WAAWd,KAAKc,IAGnBy7C,EAAa,SAAUz7C,GAC3B,MAAOw7C,GAAQx7C,GAAU,KAAO,KAG5BzG,EAAWQ,EAAA,QAA4Dc,IAC3E,wfAiB2BzC,GAAA,EAA4BuM,EAAA,QAAmDtI,QAC1GuI,QAAS,MAETC,UAAW,qBAEXC,QACE42C,UAAW,SAAU57C,GACnBA,EAAEuJ,iBACFrT,KAAKqX,UAEPqiB,cAAe,WACb15B,KAAKgY,WAITC,WAAY,WACV,OAAQjY,KAAKuF,QAAQyM,YAAmC,IAAtBhS,KAAKuF,QAAQ2M,OAAgD,IAA/BlS,KAAK6P,MAAM3O,IAAI,cAGjFuO,WAAY,WACVzP,KAAKuD,SAAWA,EACd4K,EAAA,QAAkE9H,OAAOrG,KAAKuF,SAC5EkP,YAAazU,KAAK2lD,qBAClBC,aAAc5lD,KAAK6lD,yBAGvB7lD,KAAKgY,OAAS7J,EAAA,QAAkE6G,SAAShV,KAAKgY,OAAQhY,KAAKuF,QAAQugD,eAAiBP,EAAA,EAA4DjtB,iBAGlMtkB,OAAQ,WAON,MANIhU,MAAKiY,aACPjY,KAAKuE,IAAImU,KAAK1Y,KAAKuD,WAEnBvD,KAAKuE,IAAIyC,KAAKhH,KAAKuF,QAAQlD,OAC3BrC,KAAKoV,EAAE,KAAKqf,QAEPz0B,MAGTqX,OAAQ,WAAY,GAAA0uC,GAAA/lD,KAAAgmD,EAAA1hD,SAClBtE,MAAK+E,QAzCgB,cAyCU,MAC/B/E,KAAKuE,IAAI0hD,QAAQ,WACft3C,EAAA,QAAmDpN,UAAU8V,OAAO9W,KAAKwlD,EAAMzhD,MAInF0T,OAAQ,WACN,GAAImtC,GAAenlD,KAAKoV,EAAE,SAASzF,MAE7Bu2C,EAAY/3C,EAAA,QAAkE9M,QACjFojD,EAAA,EAAkEvoC,SAASrR,OAAQ45C,EAAA,EAAkEvoC,SAASP,UAC9JoxB,EAAA,QAA0DtiC,WAAYzK,KAAK8K,UAG1EqD,GAAA,QAAkEue,IAAIw5B,EAAWlmD,KAAKuF,QAAQkZ,YAChG0mC,EAAee,EAAUlmD,KAAKuF,QAAQkZ,UAAU0mC,GAC/Ch3C,EAAA,QAAkE7K,SAAS6hD,GAAqCnlD,KAAKmmD,eAA1BnmD,KAAKomD,eAEnGpmD,KAAK+E,QA3DgB,cA2DUogD,IAGjCiB,YAAa,WACXpmD,KAAKuE,IAAI+K,SAhEM,sBAmEjB62C,aAAc,WACZnmD,KAAKuE,IAAIiL,YApEM,sBAuEjBm2C,mBAAoB,WAClB,GAAM3+C,IAAQ,QAId,OAFAA,GAAKwE,KAAKi6C,EAAWzlD,KAAKuF,QAAQkZ,WAClCzX,EAAKwE,KAAKxL,KAAKuF,QAAQkZ,SAASmkB,eACzB57B,EAAKyC,KAAK,MAGnBo8C,oBAAqB,WACnB,GAAM7+C,IAAQ,gBAId,OAFAA,GAAKwE,KAAKi6C,EAAWzlD,KAAKuF,QAAQkZ,WAClCzX,EAAKwE,KAAKxL,KAAKuF,QAAQkZ,SAASmkB,eACzB57B,EAAKyC,KAAK,MAGnBqB,qBAAA,QAAAA,GAAAu7C,GAAA,MAAAC,GAAAjiD,MAAArE,KAAAsE,WAAA,MAAAwG,GAAAF,SAAA,iBAAA07C,GAAA17C,YAAAE,GAAU,SAAUd,GAKlB,GAAI,UAAUd,KAAKc,GAAS,CAC1B,GAAMu8C,GAAMz7C,SAASd,EAAQ,GAE7B,OAAQmE,GAAA,QAAkEka,MAAMk+B,GAAav8C,EAANu8C,EAEzF,MAAOv8C,QAOJ,SAASpK,EAAQwC,EAAqBlC,GAG7CY,OAAOC,eAAeqB,EAAqB,cAAgBC,OAAO,GAC7C,IAAI8L,GAAyDjO,EAAoB,GAC7EiP,EAA2CjP,EAAoB,GAC/D4rC,EAAmD5rC,EAAoB,GACvEsmD,EAAkEtmD,EAAoB,IAEtFumD,GAD0EvmD,EAAoBiB,EAAEqlD,GACrDtmD,EAAoB,KAMlFqD,EAAWuoC,EAAA,QAA4DjnC,IAC3E,kJAK2BzC,GAAA,QAAkCqkD,EAAA,EAA4DpgD,QACzH9C,SAAUA,EAIVuL,QACE43C,mBAAoB,SACpBx3C,MAAO,SAAUpF,GACXqF,EAAA,QAAoDnB,WAAWlE,GACjE9J,KAAKoV,EAAE,aAAarG,QACXI,EAAA,QAAoDrB,QAAQhE,IACrE9J,KAAK6P,MAAM9K,QAAQ,eAQzBoT,SAAU,WACR,GAAI1D,GAActG,EAAA,QAAkErL,UAAU9C,KAAKuF,QAAS,cAAevF,KAgB3H,OAdoB,KAAhByU,EACFA,EAActG,EAAA,QAAkErL,UAAU9C,KAAKuF,QAAS,QAASvF,OACxF,IAAhByU,IACTA,EAAc,IAGhBzU,KAAKuE,IAAImU,KAAK1Y,KAAKuD,SAAS4K,EAAA,QAAkE9H,OAAO8H,EAAA,QAAkE2D,KAAK9R,KAAKuF,QAAS,gBAAkBkP,YAAaA,MAC1MzU,KAAKoV,EAAE,aAEfhG,KAAK,UAAWpP,KAAKiW,kBAAmB,GAE/CjW,KAAKoV,EAAE,SAASwjB,cAChB54B,KAAK6P,MAAM9K,QAAQ,eAEZ/E,MAMToY,SAAU,WAGR,MAFApY,MAAKmY,WACLnY,KAAKoV,EAAE,aAAahG,KAAK,YAAY,GAC9BpP,MAMT2P,IAAK,WACH,MAAO3P,MAAKoV,EAAE,aAAahG,KAAK,YAMlC2F,MAAO,WACL,MAAO/U,MAAKoV,EAAE,aAAaL,YAOxB,SAASnV,EAAQwC,EAAqBlC,GAG7CY,OAAOC,eAAeqB,EAAqB,cAAgBC,OAAO,GAC7C,IAAI8L,GAAyDjO,EAAoB,GAC7EymD,EAAmDzmD,EAAoB,GACvE0mD,EAAyC1mD,EAAoB,IAgBhF2mD,EAAiBF,EAAA,QAA4D9hD,IACjF,wLAQ2BzC,GAAA,QAAkCwkD,EAAA,QAAkDvgD,QAC/GoJ,WAAY,WACNzP,KAAK8mD,yBACP9mD,KAAK8O,OAAO,uCAAyC,iBACrD9O,KAAK8O,OAAO,uCAAyC,kBAEvD9O,KAAK6yB,kBAGPxa,WAAY,WACNrY,KAAKiY,cAAgBjY,KAAK8mD,yBAC5B9mD,KAAKuE,IAAIwS,OAAO8vC,GAChB7mD,KAAKuE,IAAI6S,KAAK,0BAA0B9H,SAAS,yBAEnDs3C,EAAA,QAAkDrlD,UAAU8W,WAAWhU,MAAMrE,KAAMsE,YAGrFwiD,qBAAsB,WACpB,MAAO9mD,MAAKuF,QAAQY,QAAUnG,KAAKuF,QAAQY,OAAO4gD,oBAGpDC,eAAgB,WAAY,GAAAC,GAAAjnD,IAC1B4mD,GAAA,QAAkDrlD,UAAU0X,WAAW5U,MAAMrE,MAAO,SACpFA,KAAKoV,EAAE,iCAAiCqf,OACxCz0B,KAAKoV,EAAE,iCAAiCwf,OACxC50B,KAAKknD,oBAAsB/4C,EAAA,QAAkE8I,MAAM,WACjGgwC,EAAKE,kBA3BW,MA+BpBA,eAAgB,WACdP,EAAA,QAAkDrlD,UAAU0X,WAAW5U,MAAMrE,MAAO,aACpFA,KAAKoV,EAAE,iCAAiCwf,OACxC50B,KAAKoV,EAAE,iCAAiCqf,OAEpCz0B,KAAKknD,qBACPh3C,aAAalQ,KAAKknD,yBAQjB,SAAStnD,EAAQD,EAASO,GAEjC,GAAIw4B,GAA8B9H,CAChC8H,IAAgCx4B,EAAoB,SA2JhB+I,MA3JsB2nB,EAAiC,SAASxb,GAsFrG,QAAS1M,GAAK0+C,GAEb,GAAIC,MACAC,EAAgB,aAMpB,OALAlyC,GAAEpE,KAAKo2C,EAAKl0C,WAAY,SAAS7S,EAAGmE,GAC/BA,EAAK+iD,YAAcD,EAAcp+C,KAAK1E,EAAK7D,QAC9C0mD,EAAS7iD,EAAK7D,MAAQ6D,EAAKnC,SAGtBglD,EAGR,QAASG,GAAiB71B,EAAOtvB,GAChC,GAAIuO,GAAQ5Q,KACRynD,EAASryC,EAAExE,EACf,IAAIA,EAAMvO,OAASolD,EAAOjjD,KAAK,gBAAkBijD,EAAOhb,SAAS,eAChE,GAAIgb,EAAOhkD,KAAK,wBAAyB,CAGxC,GAFAgkD,EAASA,EAAOhzB,OAAOuB,OAAOpB,OAAOpwB,KAAK,KAAMijD,EAAOxxB,WAAW,MAAMxyB,KAAK,oBAE/D,IAAVkuB,EACH,MAAO81B,GAAO,GAAGplD,MAAQA,CAE1BolD,GAAO1yC,YAEPnE,GAAMvO,MAAQ,GACdolD,EAAOj4C,YAAY,eACnBoB,GAASq4B,SAASye,eAAiB92C,EAAM8jB,SAK5C,QAASizB,KACR,GAAIC,GACAh3C,EAAQ5Q,KACRynD,EAASryC,EAAExE,GAEXnM,EAAKzE,KAAKyE,EACd,IAAmB,IAAfmM,EAAMvO,MAAa,CACtB,GAAkB,YAAduO,EAAMlB,KAAoB,CAC7B,IAAK+3C,EAAOhkD,KAAK,yBAA0B,CAC1C,IACCmkD,EAAeH,EAAOxjD,QAAQO,MAAOkL,KAAQ,SAC5C,MAAM5F,GACP89C,EAAexyC,EAAE,WAAW5Q,KAAK4Q,EAAE/O,OAAOqC,EAAK1I,OAAS0P,KAAQ,UAEjEk4C,EACE3xB,WAAW,QACXxyB,MACAokD,wBAAwB,EACxBC,iBAAkBrjD,IAElBwB,KAAK,oBAAqBuhD,GAC5BC,EACEhkD,MACAskD,wBAAyBH,EACzBE,iBAAkBrjD,IAElBkwC,OAAOiT,GAEVH,EAASA,EAAOxxB,WAAW,MAAMxB,OAAOuzB,OAAOxjD,KAAK,KAAMC,GAAImwB,OAG/D6yB,EAAOn4C,SAAS,eAChBm4C,EAAO,GAAGplD,MAAQolD,EAAOjjD,KAAK,mBAE9BijD,GAAOj4C,YAAY,eArJrB,GAIIy4C,GACAxzC,EALAyzC,EAAmB,eAAiBjf,UAASkf,cAAc,SAC3DC,EAAsB,eAAiBnf,UAASkf,cAAc,YAC9D5mD,EAAY6T,EAAEnQ,GACdojD,EAAWjzC,EAAEizC,QAIbH,IAAoBE,GAEvB3zC,EAAclT,EAAUkT,YAAc,WACrC,MAAOzU,OAGRyU,EAAY7D,MAAQ6D,EAAY6zC,UAAW,IAI3C7zC,EAAclT,EAAUkT,YAAc,WACrC,GAAI2pC,GAAQp+C,IAUZ,OATAo+C,GACEpxB,QAAQk7B,EAAmB,WAAa,UAAY,iBACpDxT,IAAI,gBACJzuC,MACAsiD,oBAAqBf,EACrBgB,mBAAoBb,IAEpBlkD,KAAK,uBAAuB,GAC5BsB,QAAQ,oBACHq5C,GAGR3pC,EAAY7D,MAAQs3C,EACpBzzC,EAAY6zC,SAAWF,EAEvBH,GACC/mD,IAAO,SAASunD,GACf,GAAIC,GAAWtzC,EAAEqzC,EACjB,OAAOC,GAASjlD,KAAK,wBAA0BilD,EAASjc,SAAS,eAAiB,GAAKgc,EAAQpmD,OAEhGyN,IAAO,SAAS24C,EAASpmD,GACxB,GAAIqmD,GAAWtzC,EAAEqzC,EACjB,OAAKC,GAASjlD,KAAK,wBAGN,IAATpB,GACHomD,EAAQpmD,MAAQA,EAEZomD,GAAWxf,SAASye,eAEvBC,EAAepnD,KAAKkoD,IAEXC,EAASjc,SAAS,eAC5B+a,EAAiBjnD,KAAKkoD,GAAS,EAAMpmD,KAAWomD,EAAQpmD,MAAQA,GAEhEomD,EAAQpmD,MAAQA,EAGVqmD,GAfCD,EAAQpmD,MAAQA,IAmB1B6lD,IAAqBG,EAASz3C,MAAQq3C,GACtCG,IAAwBC,EAASC,SAAWL,GAE5C7yC,EAAE,WAEDA,EAAE6zB,UAAU0f,SAAS,OAAQ,qBAAsB,WAElD,GAAIC,GAAUxzC,EAAE,eAAgBpV,MAAMgR,KAAKw2C,EAC3Cx3C,YAAW,WACV44C,EAAQ53C,KAAK22C,IACX,QAKLvyC,EAAE7N,QAAQtB,KAAK,2BAA4B,WAC1CmP,EAAE,gBAAgBpE,KAAK,WACtBhR,KAAKqC,MAAQ,SA0EdgC,MAAM1E,EAAS+4B,MACkC94B,EAAOD,QAAUixB,IAI9D,SAAShxB,EAAQwC,EAAqBlC,GAG7CY,OAAOC,eAAeqB,EAAqB,cAAgBC,OAAO,GAC7C,IAAI4R,GAAqD/T,EAAoB,GACzE2D,EAAyD3D,EAAoB,GAC7Ey2B,EAA2Cz2B,EAAoB,GAC/D2zC,EAA2C3zC,EAAoB,IAC/DiU,EAA0CjU,EAAoB,GAC9D2oD,EAAkE3oD,EAAoB,IAEtF4oD,GAD0E5oD,EAAoBiB,EAAE0nD,GACrD3oD,EAAoB,KASlFshB,EAAcqyB,EAAA,QAAoDryB,YAClEunC,EAAmB50C,EAAA,QAAmD9N,QAC1E9C,SACE,oOAMFkM,WAAY,SAAUlK,GACpB,GAAIumB,SAEJA,GAAUvmB,EAAQumB,QACdjoB,EAAA,QAAkEX,WAAW4oB,KAAatK,EAAYsK,KACxGA,EAAUjoB,EAAA,QAAkEf,UAAU9C,KAAKuF,QAAS,UAAWvF,OAE5G8rB,IAIDtK,EAAYsK,IACd9rB,KAAK8W,IAAI,iCAAkC,gBAC3C9W,KAAK8W,IAAIgV,EAAS,oBAElB9rB,KAAK8W,IAAI,4CAA6C,mBAI/B1U,GAAA,QAAkC0mD,EAAA,EAA4DziD,QAIzHyI,QACEk6C,gBAAiB,SACjB95C,MAAO,SAAUpF,GACX6sB,EAAA,QAAoD3oB,WAAWlE,GACjEhJ,OAAOmT,EAAA,SAA+DnK,EAAE8B,QAAQmD,QACvE4nB,EAAA,QAAoD7oB,QAAQhE,IACrE9J,KAAK6P,MAAM9K,QAAQ,eAQzBoT,SAAU,WACR,GAAM8wC,KAENjpD,MAAKuE,IAAIG,QAETb,EAAA,QAAkEmN,KAChEhR,KAAKuF,QAAQA,QACb,SAAUlD,EAAO8H,GACf,GAAM5E,IACJ2jD,SAAUrlD,EAAA,QAAkEkO,SAAS,UACrFpR,KAAMX,KAAKuF,QAAQiP,QACnB20C,SAAUnpD,KAAKuF,QAAQ5E,KACvB0B,MAAO8H,EAGJtG,GAAA,QAAkEZ,SAASZ,KAC9EA,GAAUmO,MAAOnO,IAEnBwB,EAAA,QAAkEwC,OAAOd,EAASlD,GAElF4mD,EAAUz9C,KAAK,GAAIu9C,GAAiBxjD,GAASyO,SAASgD,KAExDhX,MAEFA,KAAKuE,IAAIwS,OAAOkyC,EAChB,IAAI5mD,GAAQrC,KAAKiW,eAajB,OAXI5T,IACFrC,KAAKoV,EAAE,gBAAkB/S,EAAQ,KAAK+M,KAAK,WAAW,GAGxDpP,KAAKoV,EAAE,SAASwjB,cAChB54B,KAAK6P,MAAM9K,QAAQ,gBAEa,IAA5B/E,KAAKoZ,SAAS,WAChBpZ,KAAKoV,EAAE,oBAAoB9F,SAAS,UAG/BtP,MAMToY,SAAU,WAGR,MAFApY,MAAKmY,WACLnY,KAAKoV,EAAE,UAAUhG,KAAK,YAAY,GAC3BpP,MAMT2P,IAAK,WACH,MAAO3P,MAAKoV,EAAE,kBAAkBzF,OAMlCoF,MAAO,WACL,MAAO/U,MAAKoV,EAAE,eAAeL,eFvP3B,SAAUnV,EAAQD,EAASO,GGnlWjC,GAAAkpD,GAAalpD,EAAQ,GACrBmpD,EAAWnpD,EAAQ,IACnBu0B,EAAWv0B,EAAQ,IACnBopD,EAAeppD,EAAQ,IACvBo1C,EAAUp1C,EAAQ,IAGlBqpD,EAAA,SAAA75C,EAAA/O,EAAA6C,GACA,GAQA2G,GAAAq/C,EAAAC,EAAAC,EARAC,EAAAj6C,EAAA65C,EAAAK,EACAC,EAAAn6C,EAAA65C,EAAAO,EACAC,EAAAr6C,EAAA65C,EAAAS,EACAC,EAAAv6C,EAAA65C,EAAAW,EACAC,EAAAz6C,EAAA65C,EAAAa,EACAx+C,EAAAi+C,EAAAT,EAAAW,EAAAX,EAAAzoD,KAAAyoD,EAAAzoD,QAAkFyoD,EAAAzoD,QAAuB,UACzGhB,EAAAkqD,EAAAR,IAAA1oD,KAAA0oD,EAAA1oD,OACA0pD,EAAA1qD,EAAA,YAAAA,EAAA,aAEAkqD,KAAArmD,EAAA7C,EACA,KAAAwJ,IAAA3G,GAEAgmD,GAAAG,GAAA/9C,OAAA3C,KAAA2C,EAAAzB,GAEAs/C,GAAAD,EAAA59C,EAAApI,GAAA2G,GAEAu/C,EAAAS,GAAAX,EAAAlU,EAAAmU,EAAAL,GAAAa,GAAA,kBAAAR,GAAAnU,EAAAgV,SAAA/pD,KAAAkpD,KAEA79C,GAAA09C,EAAA19C,EAAAzB,EAAAs/C,EAAA/5C,EAAA65C,EAAAgB,GAEA5qD,EAAAwK,IAAAs/C,GAAAh1B,EAAA90B,EAAAwK,EAAAu/C,GACAO,GAAAI,EAAAlgD,IAAAs/C,IAAAY,EAAAlgD,GAAAs/C,GAGAL,GAAAC,OAEAE,EAAAK,EAAA,EACAL,EAAAO,EAAA,EACAP,EAAAS,EAAA,EACAT,EAAAW,EAAA,EACAX,EAAAa,EAAA,GACAb,EAAAiB,EAAA,GACAjB,EAAAgB,EAAA,GACAhB,EAAAkB,EAAA,IACA7qD,EAAAD,QAAA4pD,GH0lWM,SAAU3pD,EAAQD,EAASO,GAEjC,YACA,IAAIw4B,GAA8B9H,CI3nWlC/wB,IACEK,EAAA,GACAA,EAAA,GACAA,EAAA,IACAA,EAAA,SAJF+I,MAAA2nB,EAAA,SAMU4N,EAAMksB,EAAUC,EAAqBC,GAAgB,GAEvD9qB,GAAYtB,EAAKQ,SAASO,MAAMG,MAAMF,WAAtCM,QACAF,EAAapB,EAAKQ,SAASO,MAAMG,MAAMC,QAAvCC,SACFl9B,EAAI87B,EAAK97B,EAETmoD,EAAarsB,EAAKO,KAAK14B,QACzB+pC,OAAQ,eACR9pC,gBAAgB,EAChBlC,YAAa,SAAUmB,GACrBi5B,EAAKO,KAAKx+B,KAAKP,KAAMuF,GACrB7C,EAAEsO,KAAKtO,EAAEoS,OAAO9U,KAAM,oBAAuB,SAAUozB,GACrD,OAAQA,EAAM1jB,MACd,IAAKg7C,GAASI,MACZ9qD,KAAK4xC,SAASlvC,EAAE2D,QACdmK,OAAO,EACPu6C,aAAa,GACZ33B,EAAMR,aACT,MACF,KAAK83B,GAASM,OACZhrD,KAAK8W,IAAI0nB,EAAKlwB,aAAa5L,EAAE2D,QAASwJ,MAAO7P,KAAK6P,OAASujB,EAAMR,cAAeQ,EAAM63B,YACtFrrB,EAAStsB,cAActT,KAAK4rC,OAAQxY,EAAMR,aAAeQ,EAAMR,YAAYpf,SAC3E,MACF,KAAKk3C,GAASQ,QACZlrD,KAAKgyC,WAAW5e,EAAMR,YACtB,MACF,KAAK83B,GAASS,QACZnrD,KAAK8W,IAAIgpB,GAAWv6B,QAAS6tB,EAAMR,cACnCgN,EAAStsB,cAActT,KAAK4rC,OAAQxY,EAAMR,aAAeQ,EAAMR,YAAYpf,SAC3E,MACF,KAAKk3C,GAASU,KACZprD,KAAK8W,IAAIsc,EAAMR,YAAYV,KAAMkB,EAAM63B,YACvCrrB,EAAStsB,cAActT,KAAK4rC,OAAQxY,EAAMR,YAAYpf,SACtD,MACF,SACE,KAAM,IAAI/K,OAAM,4BAA8B2qB,EAAM1jB,QAErD1P,QAIP,OAAO2qD,GAAoBtkD,QAEzBjC,YAAa,WACX,GAAIqL,GAAazP,KAAKyP,UAKtB,IAJAzP,KAAKyP,WAAa,aAElBk7C,EAAoBtmD,MAAMrE,KAAMsE,WAE5BtE,KAAKwrB,OAASxrB,KAAK++B,KAAM,CAC3B,GAAIvT,GAAQo/B,EAAevkD,OAAO3D,EAAE2D,QAClCiB,MAAO,SAAU4L,GAGf,MAFAlT,MAAK0jB,SAAWxQ,EAAWwQ,SAC3B1jB,KAAKqrD,SAAWn4C,EAAWm4C,SACpB3oD,EAAEoP,KAAKoB,GAAa,WAAY,eAExCxQ,EAAEoS,OAAO9U,KAAM,UAClBA,MAAK6P,MAAQ,GAAI2b,IACf9H,SAAU1jB,KAAK0jB,SACf2nC,SAAUrrD,KAAKuF,QAAQ8lD,WACpB/jD,OAAO,GACZ,IAAIy3B,GAAO8rB,EAAWxkD,OAAO3D,EAAEoS,OAAO9U,KAAM,OAAQA,MACpDA,MAAKuR,KAAO,GAAIwtB,GAAK/+B,KAAK8f,UAC1B9f,KAAK8W,IAAI9W,KAAKuR,MAGZvR,KAAKsrD,QACPtrD,KAAKurD,UAAUvrD,KAAKsrD,QAGtBtrD,KAAKwrD,eACL/7C,EAAWpL,MAAMrE,KAAMsE,YAGzBinD,UAAW,SAAUD,EAAQ5iD,GAC3B1I,KAAKyrD,OAAS,GAAIH,GAAO5oD,EAAE2D,OAAOrG,KAAK8f,SAAUpX,QACjD1I,KAAK8W,IAAI9W,KAAKyrD,SAGhB3rC,OAAQ,WACN,GAAIrc,GAAOknD,EAAoBppD,UAAUue,OAAOzb,MAAMrE,KAAMsE,UAC5D,OAAO5B,GAAE2D,OAAO3D,EAAE6L,KAAKvO,KAAKuF,QAAS,YAAa9B,IAGpDioD,KAAM,WACA1rD,KAAKyrD,QAAUzrD,KAAKyrD,OAAOC,MAC7B1rD,KAAKyrD,OAAOC,WA5FpBrnD,MAAA1E,EAAA+4B,MAAA94B,EAAAD,QAAAixB,IJwuWM,SAAUhxB,EAAQD,EAASO,GKpvWjC,GAAA+C,GAAe/C,EAAQ,EACvBN,GAAAD,QAAA,SAAAgsD,GACA,IAAA1oD,EAAA0oD,GAAA,KAAAxoB,WAAAwoB,EAAA,qBACA,OAAAA,KL4vWM,SAAU/rD,EAAQD,EAASO,GAEjC,YACA,IAAI0wB,OMtvWJ3nB,MAAApJ,aAWE,QAASgV,GAAMnF,GACb,MAAO,UAAUkjB,EAAaq4B,GAC5B,OAASv7C,KAAMA,EAAMkjB,YAAaA,EAAaq4B,WAAYA,IAI/D,OACEnW,MAAOjgC,EAbG,SAcV+2C,OAAQ/2C,EAbG,UAcXg3C,QAASh3C,EAbG,WAcZirB,QAASjrB,EAbG,WAcZqd,KAAMrd,EAbG,QAeTi2C,MAnBU,QAoBVE,OAnBW,SAoBXE,QAnBY,UAoBZC,QAnBY,UAoBZC,KAnBS,SATb7qD,KAAAZ,EAAAO,EAAAP,EAAAC,QAAAD,QAAAixB,INuyWM,SAAUhxB,EAAQD,GOlzWxB,GAAAypD,GAAAxpD,EAAAD,QAAA,mBAAA4H,gBAAAkmB,WACAlmB,OAAA,mBAAAxH,YAAA0tB,WAAA1tB,KAEAuqD,SAAA,gBACA,iBAAAwB,WAAA1C,IP0zWM,SAAUxpD,EAAQD,EAASO,GAEjC,YQrzWAL,YAEEksD,eAAgB,IAEhBC,oBAAqB,eACrBC,wBAAyB,6BAEzBC,eAAgB,iBAEhBC,uBAAwB,WACxBC,qBAAsB,SACtBC,yBAA0B,MAC1BC,2BAA4B,QAC5BC,0BAA2B,OAG3BC,QAAS,UACTC,2BAA4B,6BAC5BC,0BAA2B,4BAG3BC,aAAc,eACdC,0BAA2B,4BAC3BC,YAAa,cACbC,gCAAiC,kCACjCC,UAAW,YACXC,gBAAiB,kBACjBC,qBAAsB,uBAGtBC,2BAA4B,6BAC5BC,2BAA4B,6BAC5BC,2BAA4B,6BAC5BC,oCAAqC,sCACrCC,mCAAoC,qCAGpCC,aAAc,eACdC,gBAAiB,kBACjBC,eAAgB,iBAGhBC,YAAa,cACbC,gBAAiB,kBAGjBC,sBAAuB,wBACvBC,sBAAuB,wBACvBC,oBAAqB,sBAGrBC,cAAe,kBRy0WX,SAAUnuD,EAAQD,GSx4WxBC,EAAAD,QAAA,SAAA4iB,GACA,IACA,QAAAA,IACG,MAAAzY,GACH,YTi5WM,SAAUlK,EAAQD,GUr5WxBC,EAAAD,QAAA,SAAAgsD,GACA,sBAAAA,GAAA,OAAAA,EAAA,kBAAAA,KV65WM,SAAU/rD,EAAQD,GW95WxB,GAAA0pD,GAAAzpD,EAAAD,SAA6BquD,QAAA,QAC7B,iBAAAC,WAAA5E,IXq6WM,SAAUzpD,EAAQD,EAASO,GYt6WjC,GAAAguD,GAAYhuD,EAAQ,IAAW,OAC/BiuD,EAAUjuD,EAAQ,IAClBkuD,EAAaluD,EAAQ,GAAWkuD,OAChCC,EAAA,kBAAAD,IAEAxuD,EAAAD,QAAA,SAAAgB,GACA,MAAAutD,GAAAvtD,KAAAutD,EAAAvtD,GACA0tD,GAAAD,EAAAztD,KAAA0tD,EAAAD,EAAAD,GAAA,UAAAxtD,MAGAutD,SZ66WM,SAAUtuD,EAAQD,EAASO,Gat7WjC,GAAAouD,GAAgBpuD,EAAQ,IACxBuqB,EAAAgD,KAAAhD,GACA7qB,GAAAD,QAAA,SAAAgsD,GACA,MAAAA,GAAA,EAAAlhC,EAAA6jC,EAAA3C,GAAA,sBb+7WM,SAAU/rD,EAAQD,EAASO,Gcl8WjCN,EAAAD,SAAkBO,EAAQ,GAAU,WACpC,MAA0E,IAA1EY,OAAAC,kBAAiC,KAAQG,IAAA,WAAmB,YAAcyB,Kd28WpE,SAAU/C,EAAQD,EAASO,GAEjC,YACA,IAAIw4B,GAA8B9H,Cen8WlC/wB,IAAQK,EAAA,IAAKA,EAAA,GAAQA,EAAA,IAAYA,EAAA,GAAWA,EAAA,UAA5C+I,MAAA2nB,EAAA,SAA8D29B,EAAG/vB,EAAMY,EAAQovB,EAAOC,GA8FpF,QAASC,GAAgBC,GAGvB,IAFA,GAAIC,IAAYD,GACZ3tB,EAAQ2tB,EAASplD,MAAM,KACpBy3B,EAAMpgB,OAASogB,EAAMn7B,OAAS,GACnC+oD,EAASpjD,KAAKw1B,EAAMv3B,KAAK,KAE3B,OAAOmlD,GAlGT,GAAI1vB,MACAx8B,EAAI87B,EAAK97B,EACPssB,EAAUy/B,EAAI5sD,QAAdmtB,MAGF6/B,EAAyB,SAAUluD,EAAM0B,GAC3C,GAAIuO,GAAQq4B,SAASkf,cAAc,QAInC,OAHAv3C,GAAMjQ,KAAOA,EACbiQ,EAAMvO,MAAQiH,mBAAmBjH,GACjCuO,EAAMlB,KAAO,SACNkB,GAGLk+C,EAAmB,WAA4B,GAAlB/tC,GAAkBzc,UAAAuB,OAAA,OAAAoD,KAAA3E,UAAA,GAAAA,UAAA,GAAZ,GAAIsQ,EAAQtQ,UAAA,GAC7CyqD,EAAkBhuC,EAAIxX,MAAM,KAC5BimB,EAAWu/B,EAAgB,GAE3BC,GAAgBD,EAAgB,IAAM,IAAIxlD,MAAM,KAChDH,EAAQ4lD,EAAa,GACrBC,EAAYD,EAAa,EACzBx/B,KACFy/B,GAAa,IAAMz/B,EAGrB,IAAIje,GAAO03B,SAASkf,cAAc,OAIlC,IAHA52C,EAAKqD,OAASA,EACdrD,EAAK29C,aAAa,QAAS,kBAC3B39C,EAAKvC,OAASigD,EACV7lD,GAASA,EAAMvD,OAAQ,CACRuD,EAAMG,MAAM,KAClB46B,QAAQ,SAAAgrB,GACjB,GAAIC,GAAiBD,EAAU5lD,MAAM,KACjCqH,EAAQi+C,EAAuBO,EAAe,GAAIA,EAAe,GACrE79C,GAAK89C,YAAYz+C,KAGrB,MAAOW,GA0LT,OAvLA2tB,GAAKowB,gBAAkB,SAAUrlB,GAC/B,MAAO,wBAAwB/gC,KAAK+gC,IAGtC/K,EAAKqwB,kBAAoB,SAAUzoD,GAEjC,GAAmB,IAAfA,EAAI66B,QAAgBj/B,EAAEoJ,QAAQhF,EAAIsnC,cAEpC,MADAtnC,GAAIsnC,cAAiBE,aAAc9P,EAAKzkB,IAAI,2BAA4B,UACjEjT,CAET,KAAKA,EAAIsnC,aAAc,CACrB,IAAKtnC,EAAIqsC,aAEP,MADArsC,GAAIsnC,cAAiBE,aAAc9P,EAAKzkB,IAAI,yBAA0B,UAC/DjT,CAETA,GAAIsnC,aAAetnC,EAAIqsC,aAQzB,GAJIrsC,EAAIsnC,cAAgBtnC,EAAIsnC,aAAaC,aAAevnC,EAAIsnC,aAAaC,YAAYxoC,SACnFiB,EAAIsnC,aAAaE,aAAexnC,EAAIsnC,aAAaC,YAAY,GAAGC,eAG7D5rC,EAAEoJ,QAAQhF,EAAIsnC,cAAe,CAChC,GAAIohB,GAAWhxB,EAAKzkB,IAAI,UAAYjT,EAAIsnC,aAAaqhB,UAAW,UACvB,IAArCD,EAASroC,QAAQ,iBACnBrgB,EAAIsnC,aAAaE,aAAekhB,EAC5B1oD,EAAIsnC,cAAgBtnC,EAAIsnC,aAAaC,aAAevnC,EAAIsnC,aAAaC,YAAYxoC,cAG5EiB,GAAIsnC,aAAaC,aAI9B,MAAOvnC,IAITo4B,EAAKwwB,QAAU,SAAUC,GACvB,MAAOjtD,GAAEkP,IAAI+9C,EAAS,SAAUxoD,GAC9B,MAAOA,GAAIy7B,iBAyBf1D,EAAK0wB,gBAAkB,SAAUC,GAC/B,MAAOntD,GAAEqqB,MAAM8iC,GACZj+C,IAAI88C,GACJtsB,UACAzvB,OACAtQ,SAIL68B,EAAK4wB,iBAAmB,SAAUxgC,EAAU/iB,GAC1C,MAAOyD,YAAWsf,EAAU/iB,IAK9B2yB,EAAK6wB,aAAe,SAAUzqD,GACXA,EAAQ0D,QAAQ,WAAY,KAI/Ck2B,EAAK8wB,kBAAoB,SAAUjhC,GAAsB,GAAVkhC,GAAU3rD,UAAAuB,OAAA,OAAAoD,KAAA3E,UAAA,GAAAA,UAAA,OAClD2rD,EAAIC,YAAcD,EAAInpD,KAAOmpD,EAAInpD,IAAI66B,SAExCsuB,EAAIC,WAAaD,EAAInpD,IAAI66B,OAG3B,IAAI9yB,GAAYnM,EAAEQ,WAAW6rB,EAAWlgB,WAAakgB,EAAWlgB,YAAckgB,EAAWlgB,UACrF/B,EAAQpK,EAAE6L,KAAK0hD,EAAK,OAAQ,UAAW,aAAc,MACzDlhC,GAAWhqB,QAAQ,cAAgBgqB,WAAYlgB,GAAa/B,IAK9DoyB,EAAKpe,SAAW,SAAUC,GAAmB,GAAdovC,GAAc7rD,UAAAuB,OAAA,OAAAoD,KAAA3E,UAAA,GAAAA,UAAA,GAARiD,MACnC,KAAKwZ,EAEH,WADAqe,GAAOtyB,MAAP,kCAA+CiU,EAA/C,IAGFovC,GAAInvC,SAASrQ,KAAOoQ,GAgBtBme,EAAKkxB,oBAAsB,SAAUrvC,GACnCme,EAAKmxB,iBAAiBtvC,EAAK,QAG7Bme,EAAKmxB,iBAAmB,SAAUtvC,GAAsB,GAAjBnM,GAAiBtQ,UAAAuB,OAAA,OAAAoD,KAAA3E,UAAA,GAAAA,UAAA,GAAR,MAC9C,KAAKyc,EAEH,WADAqe,GAAOtyB,MAAP,kCAA+CiU,EAA/C,IAIF,IAAIuvC,GAAgBrnB,SAASsnB,eAAe/B,EAAMxC,oBAClD,KAAKsE,EAEH,WADAlxB,GAAOtyB,MAAM,4DAIf,IAAIyE,GAAOu9C,EAAiB/tC,EAAKnM,EACjC07C,GAAcjB,YAAY99C,GAC1BA,EAAKo8B,UASPzO,EAAKsxB,mBAAqB,SAAUC,EAAYC,EAAUtmD,EAAYumD,EAAeC,GACnF,GAAI9kC,GAAU6kC,EAAgBnyB,EAAKzkB,IAAI02C,EAAYrmD,EAAYumD,GAAiBnyB,EAAKzkB,IAAI02C,EAAYrmD,EAErG,OAAI0hB,MADQ8kC,EAAcpyB,EAAKzkB,IAAI22C,EAAUtmD,EAAYwmD,GAAepyB,EAAKzkB,IAAI22C,EAAUtmD,KAIpF0hB,GAGToT,EAAK2xB,eAAiB,SAAUC,GAC9B,SAAUA,GAASpuD,EAAE0D,SAAS0qD,IAAUA,EAAMC,WAAW,QAG3D7xB,EAAK8xB,gBAAkB,SAAUC,EAAYC,GAC3C,GAEIC,GAFE/nB,EAAS8nB,EAAcE,QACvBC,EAAcH,EAAcI,UAIhCH,GAFEnxD,KAAK6wD,eAAeQ,GAEdJ,EAAWM,GAAGC,YACpBF,WAAYJ,EAAcI,aAIpBtiC,GAAQoa,SAAQioB,eAE1B,IAAII,GAAWlD,EAAEl6B,OAQjB,OAPIk6B,GAAEmD,eAAeP,IACnBA,EAAMQ,KAAK,SAAUR,GACnBM,EAASG,QAAQT,KAChBU,MAAM,SAAU5B,GACjBwB,EAASK,OAAO7B,KAGbwB,EAASM,SAGX7yB,GAhOT76B,MAAA1E,EAAA+4B,MAAA94B,EAAAD,QAAAixB,If8rXM,SAAUhxB,EAAQD,EAASO,GAEjC,YACA,IAAIw4B,GAA8B9H,CgB9rXlC/wB,IACEK,EAAA,GACAA,EAAA,IACAA,EAAA,UAHF+I,MAAA2nB,EAAA,SAKU4N,EAAMwzB,GAAiB,GAEzBjyB,GAAYvB,EAAKQ,SAASO,MAAMG,MAAM/tB,OAAtCouB,OAEN,OAAOA,GAAQ15B,QACbgS,WAAY,WACV,GAA0B,WAAtBrY,KAAKuF,QAAQmK,KAAmB,CACtB1P,KAAKoV,EAAE,SACb5Q,MACJqkB,QAAS,SACTopC,UAAW,YAGflyB,EAAQx+B,UAAU8W,WAAWhU,MAAMrE,KAAMsE,YAI3CyQ,MAAO,WACL,IAAIi9C,EAAgBE,OAGpB,MAAOnyB,GAAQx+B,UAAUwT,MAAM1Q,MAAMrE,KAAMsE,eA1BjDD,MAAA1E,EAAA+4B,MAAA94B,EAAAD,QAAAixB,IhB8uXM,SAAUhxB,EAAQD,EAASO,GiB9vXjC,GAAAiyD,GAAejyD,EAAQ,GACvBkyD,EAAqBlyD,EAAQ,KAC7BmyD,EAAkBnyD,EAAQ,IAC1BoyD,EAAAxxD,OAAAC,cAEApB,GAAA4yD,EAAYryD,EAAQ,IAAgBY,OAAAC,eAAA,SAAAyxD,EAAAtI,EAAAuI,GAIpC,GAHAN,EAAAK,GACAtI,EAAAmI,EAAAnI,GAAA,GACAiI,EAAAM,GACAL,EAAA,IACA,MAAAE,GAAAE,EAAAtI,EAAAuI,GACG,MAAA3oD,IACH,UAAA2oD,IAAA,OAAAA,GAAA,KAAAtvB,WAAA,2BAEA,OADA,SAAAsvB,KAAAD,EAAAtI,GAAAuI,EAAApwD,OACAmwD,IjBswXM,SAAU5yD,EAAQD,EAASO,GkBnxXjC,GAAAwyD,GAAcxyD,EAAQ,GACtBN,GAAAD,QAAA,SAAAgsD,GACA,MAAA7qD,QAAA4xD,EAAA/G,MlB4xXM,SAAU/rD,EAAQD,EAASO;;;;;;;;;;;;;;;;;;;;;;;;;;CmBnwXjC,SAAAyyD,GACA,YAQA,sBAAAC,WACAA,UAAA,UAAAD,OAGK,CACL/yD,EAAAD,QAAAgzD,MAoCC,WACD,YAqLA,SAAAE,GAAAN,GACA,kBACA,MAAAhyD,GAAA8D,MAAAkuD,EAAAjuD,YAiFA,QAAArB,GAAAZ,GACA,MAAAA,KAAAvB,OAAAuB,GAMA,QAAAywD,GAAAC,GACA,MACA,2BAAAC,GAAAD,IACAA,YAAAE,GAmBA,QAAAC,GAAApmD,EAAAilD,GAGA,GAAAoB,GACApB,EAAAqB,OACA,gBAAAtmD,IACA,OAAAA,GACAA,EAAAsmD,QACA,IAAAtmD,EAAAsmD,MAAAjsC,QAAAksC,IACA,CAEA,OADAC,MACA7xD,EAAAswD,EAA6BtwD,EAAKA,IAAA+B,OAClC/B,EAAA2xD,OACAE,EAAA9oD,QAAA/I,EAAA2xD,MAGAE,GAAA9oD,QAAAsC,EAAAsmD,MAEA,IAAAG,GAAAD,EAAA7pD,KAAA,KAAA4pD,GAAA,KACAvmD,GAAAsmD,MAAAI,EAAAD,IAIA,QAAAC,GAAAC,GAGA,OAFAC,GAAAD,EAAAlqD,MAAA,MACAoqD,KACAtzD,EAAA,EAAmBA,EAAAqzD,EAAA7tD,SAAkBxF,EAAA,CACrC,GAAAuzD,GAAAF,EAAArzD,EAEAwzD,GAAAD,IAAAE,EAAAF,QACAD,EAAAnoD,KAAAooD,GAGA,MAAAD,GAAAlqD,KAAA,MAGA,QAAAqqD,GAAAC,GACA,WAAAA,EAAA5sC,QAAA,iBACA,IAAA4sC,EAAA5sC,QAAA,aAGA,QAAA6sC,GAAAD,GAGA,GAAAE,GAAA,gCAAA1xC,KAAAwxC,EACA,IAAAE,EACA,OAAAA,EAAA,GAAAC,OAAAD,EAAA,IAIA,IAAAE,GAAA,4BAAA5xC,KAAAwxC,EACA,IAAAI,EACA,OAAAA,EAAA,GAAAD,OAAAC,EAAA,IAIA,IAAAC,GAAA,iBAAA7xC,KAAAwxC,EACA,OAAAK,IACAA,EAAA,GAAAF,OAAAE,EAAA,SADA,GAKA,QAAAP,GAAAE,GACA,GAAAM,GAAAL,EAAAD,EAEA,KAAAM,EACA,QAGA,IAAAC,GAAAD,EAAA,GACAE,EAAAF,EAAA,EAEA,OAAAC,KAAAE,GACAD,GAAAE,GACAF,GAAAG,GAKA,QAAAC,KACA,GAAAxB,EAIA,IACA,SAAA1qD,OACK,MAAAqB,GACL,GAAA4pD,GAAA5pD,EAAAspD,MAAA7pD,MAAA,MACAqrD,EAAAlB,EAAA,GAAAvsC,QAAA,OAAAusC,EAAA,GAAAA,EAAA,GACAW,EAAAL,EAAAY,EACA,KAAAP,EACA,MAIA,OADAG,GAAAH,EAAA,GACAA,EAAA,IAuBA,QAAA9F,GAAAlsD,GAIA,MAAAA,aAAAwyD,GACAxyD,EAIAqvD,EAAArvD,GACAyyD,EAAAzyD,GAEA0yD,EAAA1yD,GAgCA,QAAAgyB,KA+DA,QAAA2gC,GAAAC,GACAC,EAAAD,EACAlD,EAAAvuD,OAAAyxD,EAEAE,EAAAC,EAAA,SAAAnsD,EAAA3D,GACAipD,EAAA8G,SAAA,WACAJ,EAAAK,gBAAAjxD,MAAA4wD,EAAA3vD,UAES,IAET8vD,MAAA,GACAG,MAAA,GAnEA,GAAAL,GAAAE,KAAAG,KAEA9D,EAAA+D,EAAAnhC,EAAA9yB,WACAwwD,EAAAyD,EAAAX,EAAAtzD,UAmCA,IAjCAwwD,EAAAuD,gBAAA,SAAA1D,EAAA6D,EAAAC,GACA,GAAAhtD,GAAAitD,EAAArxD,UACA8wD,IACAA,EAAA5pD,KAAA9C,GACA,SAAA+sD,GAAAC,EAAA,IACAH,EAAA/pD,KAAAkqD,EAAA,KAGAnH,EAAA8G,SAAA,WACAH,EAAAI,gBAAAjxD,MAAA6wD,EAAAxsD,MAMAqpD,EAAA6D,QAAA,WACA,GAAAR,EACA,MAAArD,EAEA,IAAA8D,GAAAC,EAAAZ,EAIA,OAHAa,GAAAF,KACAX,EAAAW,GAEAA,GAGA9D,EAAAiE,QAAA,WACA,MAAAd,GAGAA,EAAAc,WAFoB3mC,MAAA,YAKpBk/B,EAAA0H,kBAAA9C,EACA,IACA,SAAA1qD,OACS,MAAAqB,GAOTioD,EAAAqB,MAAAtpD,EAAAspD,MAAAhsD,UAAA0C,EAAAspD,MAAAjsC,QAAA,SAyDA,MAnCAsqC,GAAAM,UACAN,EAAAG,QAAA,SAAAvvD,GACA6yD,GAIAF,EAAAzG,EAAAlsD,KAGAovD,EAAAsD,QAAA,SAAA1yD,GACA6yD,GAIAF,EAAAD,EAAA1yD,KAEAovD,EAAAK,OAAA,SAAAte,GACA0hB,GAIAF,EAAAlD,EAAAte,KAEAie,EAAArsD,OAAA,SAAA8wD,GACAhB,GAIAC,EAAAI,EAAA,SAAAtsD,EAAAktD,GACA5H,EAAA8G,SAAA,WACAc,EAAAD,UAES,KAGTzE,EA6BA,QAAAM,GAAAqE,GACA,qBAAAA,GACA,SAAAjzB,WAAA,+BAEA,IAAAsuB,GAAAp9B,GACA,KACA+hC,EAAA3E,EAAAG,QAAAH,EAAAK,OAAAL,EAAArsD,QACK,MAAAouC,GACLie,EAAAK,OAAAte,GAEA,MAAAie,GAAAM,QAqDA,QAAAsE,GAAAC,GACA,MAAAvE,GAAA,SAAAH,EAAAE,GAMA,OAAAzxD,GAAA,EAAAk2D,EAAAD,EAAAzwD,OAA8CxF,EAAAk2D,EAASl2D,IACvDkuD,EAAA+H,EAAAj2D,IAAAsxD,KAAAC,EAAAE,KAqBA,QAAA+C,GAAA2B,EAAAC,EAAAT,OACA,KAAAS,IACAA,EAAA,SAAAhB,GACA,MAAA3D,GAAA,GAAArpD,OACA,uCAAAgtD,UAIA,KAAAO,IACAA,EAAA,WACA,OAAoB3mC,MAAA,YAIpB,IAAA0iC,GAAAyD,EAAAX,EAAAtzD,UAqBA,IAnBAwwD,EAAAuD,gBAAA,SAAA1D,EAAA6D,EAAA/sD,GACA,GAAAoM,EACA,KAEAA,EADA0hD,EAAAf,GACAe,EAAAf,GAAApxD,MAAA0tD,EAAArpD,GAEA+tD,EAAAl2D,KAAAwxD,EAAA0D,EAAA/sD,GAES,MAAAqqD,GACTj+C,EAAAg9C,EAAAiB,GAEAnB,GACAA,EAAA98C,IAIAi9C,EAAAiE,UAGAA,EAAA,CACA,GAAAU,GAAAV,GACA,cAAAU,EAAArnC,QACA0iC,EAAAgB,UAAA2D,EAAAljB,QAGAue,EAAA6D,QAAA,WACA,GAAAc,GAAAV,GACA,mBAAAU,EAAArnC,OACA,aAAAqnC,EAAArnC,MACA0iC,EAEA2E,EAAAr0D,OAIA,MAAA0vD,GAuHA,QAAA4E,GAAAt0D,EAAAu0D,EAAAC,EAAAC,GACA,MAAAvI,GAAAlsD,GAAAsvD,KAAAiF,EAAAC,EAAAC,GA+BA,QAAAhB,GAAAzzD,GACA,GAAA0zD,EAAA1zD,GAAA,CACA,GAAAq0D,GAAAr0D,EAAA2zD,SACA,kBAAAU,EAAArnC,MACA,MAAAqnC,GAAAr0D,MAGA,MAAAA,GAQA,QAAA0zD,GAAA10D,GACA,MAAAA,aAAAwzD,GAIA,QAAAnD,GAAArwD,GACA,MAAA4B,GAAA5B,IAAA,kBAAAA,GAAAswD,KAQA,QAAAttC,GAAAhjB,GACA,MAAA00D,GAAA10D,IAAA,YAAAA,EAAA20D,UAAA3mC,MAYA,QAAA0nC,GAAA11D,GACA,OAAA00D,EAAA10D,IAAA,cAAAA,EAAA20D,UAAA3mC,MAWA,QAAA2nC,GAAA31D,GACA,MAAA00D,GAAA10D,IAAA,aAAAA,EAAA20D,UAAA3mC,MAkBA,QAAA4nC,KACAC,GAAArxD,OAAA,EACAsxD,GAAAtxD,OAAA,EAEAuxD,KACAA,IAAA,GAIA,QAAAC,GAAAtF,EAAAve,GACA4jB,KAGA,gBAAAE,UAAA,kBAAAA,SAAAC,MACAhJ,EAAA8G,SAAAmC,SAAA,YACA,IAAAC,EAAAN,GAAApF,KACAuF,QAAAC,KAAA,qBAAA/jB,EAAAue,GACA2F,GAAAlsD,KAAAumD,MAKAoF,GAAA3rD,KAAAumD,GACAve,OAAA,KAAAA,EAAA4f,MACA8D,GAAA1rD,KAAAgoC,EAAA4f,OAEA8D,GAAA1rD,KAAA,cAAAgoC,IAIA,QAAAmkB,GAAA5F,GACA,GAAAqF,GAAA,CAIA,GAAAnkC,GAAAwkC,EAAAN,GAAApF,IACA,IAAA9+B,IACA,gBAAAqkC,UAAA,kBAAAA,SAAAC,MACAhJ,EAAA8G,SAAAmC,SAAA,WACA,GAAAI,GAAAH,EAAAC,GAAA3F,IACA,IAAA6F,IACAN,QAAAC,KAAA,mBAAAL,GAAAjkC,GAAA8+B,GACA2F,GAAAnlC,OAAAqlC,EAAA,MAIAT,GAAA5kC,OAAAU,EAAA,GACAikC,GAAA3kC,OAAAU,EAAA,KAyBA,QAAA6+B,GAAAte,GACA,GAAAqkB,GAAAhD,GACA8B,KAAA,SAAAE,GAKA,MAHAA,IACAc,EAAA33D,MAEA62D,IAAArjB,GAAAxzC,OAEK,WACL,MAAAA,OACK,WACL,OAAgBqvB,MAAA,WAAAmkB,WAMhB,OAFA6jB,GAAAQ,EAAArkB,GAEAqkB,EAQA,QAAA9C,GAAA1yD,GACA,MAAAwyD,IACA8B,KAAA,WACA,MAAAt0D,IAEAnB,IAAA,SAAAP,GACA,MAAA0B,GAAA1B,IAEAmP,IAAA,SAAAnP,EAAAm3D,GACAz1D,EAAA1B,GAAAm3D,GAEAC,OAAA,SAAAp3D,SACA0B,GAAA1B,IAEAq3D,KAAA,SAAAr3D,EAAA+H,GAGA,cAAA/H,OAAA,KAAAA,EACA0B,EAAAgC,UAAA,GAAAqE,GAEArG,EAAA1B,GAAA0D,MAAAhC,EAAAqG,IAGArE,MAAA,SAAA4zD,EAAAvvD,GACA,MAAArG,GAAAgC,MAAA4zD,EAAAvvD,IAEA4B,KAAA,WACA,MAAA4tD,GAAA71D,SAEK,cACL,OAAgBgtB,MAAA,YAAAhtB,WAShB,QAAAyyD,GAAA/C,GACA,GAAAN,GAAAp9B,GAQA,OAPAk6B,GAAA8G,SAAA,WACA,IACAtD,EAAAJ,KAAAF,EAAAG,QAAAH,EAAAK,OAAAL,EAAArsD,QACS,MAAA2tD,GACTtB,EAAAK,OAAAiB,MAGAtB,EAAAM,QAaA,QAAAoG,GAAA92D,GACA,MAAAwzD,IACAuD,MAAA,cACK,SAAA3C,EAAA/sD,GACL,MAAA2vD,GAAAh3D,EAAAo0D,EAAA/sD,IACK,WACL,MAAA6lD,GAAAltD,GAAA20D,YAeA,QAAAsC,GAAAj2D,EAAAu0D,EAAAC,GACA,MAAAtI,GAAAlsD,GAAAi2D,OAAA1B,EAAAC,GAoCA,QAAA0B,GAAAC,GACA,kBAGA,QAAAC,GAAAC,EAAAC,GACA,GAAA7jD,EAUA,uBAAA8jD,eAAA,CAEA,IACA9jD,EAAA+jD,EAAAH,GAAAC,GACiB,MAAA5F,GACjB,MAAAjB,GAAAiB,GAEA,MAAAj+C,GAAA+C,KACA02C,EAAAz5C,EAAAzS,OAEAs0D,EAAA7hD,EAAAzS,MAAAitB,EAAAwpC,GAKA,IACAhkD,EAAA+jD,EAAAH,GAAAC,GACiB,MAAA5F,GACjB,MAAAD,GAAAC,GACAxE,EAAAwE,EAAA1wD,OAEAyvD,EAAAiB,GAGA,MAAA4D,GAAA7hD,EAAAwa,EAAAwpC,GAGA,GAAAD,GAAAL,EAAAn0D,MAAArE,KAAAsE,WACAgrB,EAAAmpC,EAAAxyD,KAAAwyD,EAAA,QACAK,EAAAL,EAAAxyD,KAAAwyD,EAAA,QACA,OAAAnpC,MAYA,QAAAypC,GAAAP,GACAjK,EAAA12C,KAAA02C,EAAAgK,MAAAC,MA6BA,QAAAQ,GAAA32D,GACA,SAAA4wD,GAAA5wD,GAmBA,QAAA42D,GAAA3pC,GACA,kBACA,MAAAgpC,IAAAt4D,KAAAmpB,EAAA7kB,YAAA,SAAAvE,EAAA2I,GACA,MAAA4mB,GAAAjrB,MAAAtE,EAAA2I,MAaA,QAAA2vD,GAAAh3D,EAAAo0D,EAAA/sD,GACA,MAAA6lD,GAAAltD,GAAAg3D,SAAA5C,EAAA/sD,GAiLA,QAAAygB,GAAA+vC,GACA,MAAAvC,GAAAuC,EAAA,SAAAA,GACA,GAAAC,GAAA,EACA1H,EAAAp9B,GA4BA,OA3BA8gC,GAAA+D,EAAA,SAAAjwD,EAAA8oD,EAAA7nC,GACA,GAAAkvC,EAEArD,GAAAhE,IACA,eAAAqH,EAAArH,EAAAiE,WAAA3mC,MAEA6pC,EAAAhvC,GAAAkvC,EAAA/2D,SAEA82D,EACAxC,EACA5E,EACA,SAAA1vD,GACA62D,EAAAhvC,GAAA7nB,EACA,KAAA82D,GACA1H,EAAAG,QAAAsH,IAGAzH,EAAAK,OACA,SAAAoE,GACAzE,EAAArsD,QAAyC8kB,QAAA7nB,MAAA6zD,YAIhC,IACT,IAAAiD,GACA1H,EAAAG,QAAAsH,GAEAzH,EAAAM,UAiBA,QAAAsH,GAAAH,GACA,OAAAA,EAAArzD,OACA,MAAA0oD,GAAAqD,SAGA,IAAAH,GAAAlD,EAAAl6B,QACA8kC,EAAA,CA2BA,OA1BAhE,GAAA+D,EAAA,SAAAlR,EAAAsR,EAAApvC,GAMA,QAAAqvC,GAAAzkD,GACA28C,EAAAG,QAAA98C,GAEA,QAAA0kD,KAEA,MADAL,GAEA1H,EAAAK,OAAA,GAAArpD,OACA,8EAKA,QAAAgxD,GAAAvD,GACAzE,EAAArsD,QACA8kB,QACA7nB,MAAA6zD,IApBA,GAAAnE,GAAAmH,EAAAhvC,EAEAivC,KAEAxC,EAAA5E,EAAAwH,EAAAC,EAAAC,QAmBKxwD,IAELwoD,EAAAM,QAiBA,QAAA2H,GAAAR,GACA,MAAAvC,GAAAuC,EAAA,SAAAA,GAEA,MADAA,GAAAS,EAAAT,EAAA3K,GACAoI,EAAAxtC,EAAAwwC,EAAAT,EAAA,SAAAnH,GACA,MAAA4E,GAAA5E,EAAA9gC,QACS,WACT,MAAAioC,OAaA,QAAAU,GAAAV,GACA,MAAA3K,GAAA2K,GAAAU,aAkDA,QAAA1D,GAAA70D,EAAAy1D,GACA,MAAAvI,GAAAltD,GAAAswD,SAAA,UAAAmF,GAiSA,QAAA+C,GAAAx4D,EAAAy4D,GACA,MAAAvL,GAAAltD,GAAAw4D,QAAAC,GAl5DA,GAAA3G,IAAA,CACA,KACA,SAAA1qD,OACC,MAAAqB,GACDqpD,IAAArpD,EAAAspD,MAKA,GACAoB,GA4QAvB,EA7QAwB,EAAAE,IAMA1jC,EAAA,aAIAokC,EAAA,WAUA,QAAA0E,KAIA,IAFA,GAAAC,GAAA5wB,EAEA6wB,EAAAjkC,MACAikC,IAAAjkC,KACAgkC,EAAAC,EAAAD,KACAC,EAAAD,SAAA,GACA5wB,EAAA6wB,EAAA7wB,OAEAA,IACA6wB,EAAA7wB,WAAA,GACAA,EAAA8wB,SAEAC,EAAAH,EAAA5wB,EAGA,MAAAgxB,EAAAv0D,QACAm0D,EAAAI,EAAAx5C,MACAu5C,EAAAH,EAEAK,IAAA,EAGA,QAAAF,GAAAH,EAAA5wB,GACA,IACA4wB,IAES,MAAAlwD,GACT,GAAAwwD,EAeA,KARAlxB,IACAA,EAAAmxB,OAEAvqD,WAAA+pD,EAAA,GACA3wB,GACAA,EAAA8wB,QAGApwD,CAKAkG,YAAA,WACA,KAAAlG,IACiB,GAIjBs/B,GACAA,EAAAmxB,OAhEA,GAAAN,IAAgBD,SAAA,GAAAhkC,KAAA,MAChBwkC,EAAAP,EACAI,GAAA,EACAI,MAAA,GACAH,GAAA,EAEAF,IA2EA,IAbA/E,EAAA,SAAA2E,GACAQ,IAAAxkC,MACAgkC,OACA5wB,OAAAkxB,GAAAhD,QAAAluB,OACApT,KAAA,MAGAqkC,IACAA,GAAA,EACAI,MAIA,gBAAAnD,UACA,qBAAAA,QAAA1sD,YAAA0sD,QAAAjC,SASAiF,GAAA,EAEAG,EAAA,WACAnD,QAAAjC,SAAA0E,QAGK,sBAAAW,cAGLD,EADA,mBAAAlzD,QACAmzD,aAAAz0D,KAAAsB,OAAAwyD,GAEA,WACAW,aAAAX,QAIK,uBAAAY,gBAAA,CAGL,GAAAC,GAAA,GAAAD,eAGAC,GAAAC,MAAAC,UAAA,WACAL,EAAAM,EACAH,EAAAC,MAAAC,UAAAf,EACAA,IAEA,IAAAgB,GAAA,WAGAH,EAAAI,MAAAC,YAAA,GAEAR,GAAA,WACAzqD,WAAA+pD,EAAA,GACAgB,SAKAN,GAAA,WACAzqD,WAAA+pD,EAAA,GAaA,OAPA1E,GAAAmC,SAAA,SAAAwC,GACAI,EAAA5uD,KAAAwuD,GACAK,IACAA,GAAA,EACAI,MAGApF,KAaA90D,EAAA+pD,SAAA/pD,KAUAo1D,EAAA9C,EAAAlqD,MAAApH,UAAAqH,OAEAusD,EAAAtC,EACAlqD,MAAApH,UAAA+pB,QAAA,SAAAgE,EAAA4rC,GACA,GAAAhxC,GAAA,EACArkB,EAAA7F,KAAA6F,MAEA,QAAAvB,UAAAuB,OAGA,QACA,GAAAqkB,IAAAlqB,MAAA,CACAk7D,EAAAl7D,KAAAkqB,IACA,OAEA,KAAAA,GAAArkB,EACA,SAAAs9B,WAKA,KAAcjZ,EAAArkB,EAAgBqkB,IAE9BA,IAAAlqB,QACAk7D,EAAA5rC,EAAA4rC,EAAAl7D,KAAAkqB,MAGA,OAAAgxC,KAIAzD,EAAA5E,EACAlqD,MAAApH,UAAA4lB,SAAA,SAAA9kB,GAEA,OAAAhC,GAAA,EAAuBA,EAAAL,KAAA6F,OAAiBxF,IACxC,GAAAL,KAAAK,KAAAgC,EACA,MAAAhC,EAGA,YAIAs5D,EAAA9G,EACAlqD,MAAApH,UAAAqQ,KAAA,SAAA0d,EAAA2oC,GACA,GAAAl4D,GAAAC,KACAm7D,IAIA,OAHAhG,GAAAp1D,EAAA,SAAAkJ,EAAA5G,EAAA6nB,GACAixC,EAAA3vD,KAAA8jB,EAAA/uB,KAAA03D,EAAA51D,EAAA6nB,EAAAnqB,SACS,IACTo7D,IAIA3F,EAAA10D,OAAA4Q,QAAA,SAAAnQ,GACA,QAAA65D,MAEA,MADAA,GAAA75D,YACA,GAAA65D,IAGAC,EAAAxI,EAAA/xD,OAAAS,UAAAC,gBAEA02D,EAAAp3D,OAAAwJ,MAAA,SAAAjJ,GACA,GAAAiJ,KACA,QAAAH,KAAA9I,GACAg6D,EAAAh6D,EAAA8I,IACAG,EAAAkB,KAAArB,EAGA,OAAAG,IAGA0oD,GAAAH,EAAA/xD,OAAAS,UAAAqJ,SAoBAqoD,GADA,mBAAAqI,aACAA,YAEA,SAAAj5D,GACArC,KAAAqC,QAMA,IAAAgxD,IAAA,sBAuIA9E,GAAAqD,QAAArD,EAMAA,EAAA8G,WAKA9G,EAAA0H,kBAAA,EAGA,gBAAAqB,2BAAAiE,KAAAjE,QAAAiE,IAAAC,UACAjN,EAAA0H,kBAAA,GAaA1H,EAAAl6B,QAyHAA,EAAA9yB,UAAAk6D,iBAAA,WACA,GAAA17D,GAAAC,IACA,iBAAA8M,EAAAzK,GACAyK,EACA/M,EAAA+xD,OAAAhlD,GACSxI,UAAAuB,OAAA,EACT9F,EAAA6xD,QAAA+D,EAAArxD,UAAA,IAEAvE,EAAA6xD,QAAAvvD,KAWAksD,EAAAsG,QAAA9C,EACAxD,EAAAwD,UAcAA,EAAAsE,OACAtE,EAAA5oC,MACA4oC,EAAAD,SACAC,EAAAH,QAAArD,EAKAA,EAAAmN,WAAA,SAAAr6D,GAGA,MAAAA,IAGAwzD,EAAAtzD,UAAAm6D,WAAA,WAGA,MAAA17D,OAYAuuD,EAAA9kD,KAAA,SAAApG,EAAA82B,GACA,MAAAo0B,GAAAlrD,GAAAoG,KAAA0wB,IAGA06B,EAAAtzD,UAAAkI,KAAA,SAAAkyD,GACA,MAAApN,IAAAvuD,KAAA27D,IAAArD,OAAA,SAAAj1D,EAAA82B,GACA,GAAA92B,IAAA82B,EAEA,MAAA92B,EAEA,UAAAoF,OAAA,6BAAApF,EAAA,IAAA82B,MAUAo0B,EAAA8H,OAcAxB,EAAAtzD,UAAA80D,KAAA,WACA,MAAAr2D,MAAA2xD,KAAApD,EAAA8H,OAcA9H,EAAAqN,YAAA/G,EAuDAA,EAAAtzD,UAAAqJ,SAAA,WACA,0BAGAiqD,EAAAtzD,UAAAowD,KAAA,SAAAiF,EAAAC,EAAAC,GAMA,QAAA+E,GAAAx5D,GACA,IACA,wBAAAu0D,KAAAv0D,KACS,MAAA0wD,GACT,MAAAjB,GAAAiB,IAIA,QAAA+I,GAAA/I,GACA,qBAAA8D,GAAA,CACA3D,EAAAH,EAAAhzD,EACA,KACA,MAAA82D,GAAA9D,GACa,MAAAgJ,GACb,MAAAjK,GAAAiK,IAGA,MAAAjK,GAAAiB,GAGA,QAAAiJ,GAAA35D,GACA,wBAAAy0D,KAAAz0D,KA1BA,GAAAtC,GAAAC,KACAyxD,EAAAp9B,IACAxc,GAAA,CAiEA,OAtCA02C,GAAA8G,SAAA,WACAt1D,EAAAu1D,gBAAA,SAAAjzD,GACAwV,IAGAA,GAAA,EAEA45C,EAAAG,QAAAiK,EAAAx5D,MACS,iBAAA0wD,GACTl7C,IAGAA,GAAA,EAEA45C,EAAAG,QAAAkK,EAAA/I,UAKAhzD,EAAAu1D,oBAAA,2BAAAjzD,GACA,GAAA45D,GACAC,GAAA,CACA,KACAD,EAAAD,EAAA35D,GACS,MAAAyH,GAET,GADAoyD,GAAA,GACA3N,EAAA4N,QAGA,KAAAryD,EAFAykD,GAAA4N,QAAAryD,GAMAoyD,GACAzK,EAAArsD,OAAA62D,MAIAxK,EAAAM,SAGAxD,EAAA6N,IAAA,SAAArK,EAAAziC,GACA,MAAAi/B,GAAAwD,GAAAqK,IAAA9sC,IAeAulC,EAAAtzD,UAAA66D,IAAA,SAAA9sC,GAGA,MAFAA,GAAAi/B,EAAAj/B,GAEAtvB,KAAA2xD,KAAA,SAAAtvD,GACA,MAAAitB,GAAA+sC,MAAAh6D,GAAAi6D,YAAAj6D,MAoBAksD,EAAAoI,OAKA9B,EAAAtzD,UAAA+6D,YAAA,SAAAj6D,GACA,MAAArC,MAAA2xD,KAAA,WAAkC,MAAAtvD,MAGlCksD,EAAA+N,YAAA,SAAAvK,EAAA1vD,GACA,MAAAksD,GAAAwD,GAAAuK,YAAAj6D,IAGAwyD,EAAAtzD,UAAAg7D,WAAA,SAAA/oB,GACA,MAAAxzC,MAAA2xD,KAAA,WAAkC,KAAAne,MAGlC+a,EAAAgO,WAAA,SAAAxK,EAAAve,GACA,MAAA+a,GAAAwD,GAAAwK,WAAA/oB,IAcA+a,EAAAuH,SAeAvH,EAAAwH,YAKAxH,EAAAmD,iBASAnD,EAAAlqC,YAKAwwC,EAAAtzD,UAAA8iB,UAAA,WACA,kBAAArkB,KAAAg2D,UAAA3mC,OAOAk/B,EAAAwI,cAKAlC,EAAAtzD,UAAAw1D,YAAA,WACA,oBAAA/2D,KAAAg2D,UAAA3mC,OAMAk/B,EAAAyI,aAKAnC,EAAAtzD,UAAAy1D,WAAA,WACA,mBAAAh3D,KAAAg2D,UAAA3mC,MASA,IAAA6nC,OACAC,MACAO,MACAN,IAAA,CAqDA7I,GAAA0I,2BAEA1I,EAAAiO,oBAAA,WAEA,MAAAtF,IAAAtuD,SAGA2lD,EAAAkO,+BAAA,WACAxF,IACAG,IAAA,GAGAH,IAQA1I,EAAAuD,SA0BAvD,EAAAwG,UA6DAxG,EAAA4J,SAqBA5J,EAAA+J,SAKAzD,EAAAtzD,UAAA+2D,OAAA,SAAA1B,EAAAC,GACA,MAAA72D,MAAAmpB,MAAAwoC,KAAA,SAAAtM,GACA,MAAAuR,GAAAvyD,UAAA,GAAAghD,IACKwR,IA6BLtI,EAAAgK,QAyDAhK,EAAAwK,QA8BAxK,EAAA,OAAAyK,EAoBAzK,EAAA0K,WAgBA1K,EAAA8J,WAKAxD,EAAAtzD,UAAA82D,SAAA,SAAA5C,EAAA/sD,GACA,GAAA3I,GAAAC,KACAyxD,EAAAp9B,GAIA,OAHAk6B,GAAA8G,SAAA,WACAt1D,EAAAu1D,gBAAA7D,EAAAG,QAAA6D,EAAA/sD,KAEA+oD,EAAAM,SASAxD,EAAArtD,IAAA,SAAAG,EAAA8I,GACA,MAAAokD,GAAAltD,GAAAg3D,SAAA,OAAAluD,KAGA0qD,EAAAtzD,UAAAL,IAAA,SAAAiJ,GACA,MAAAnK,MAAAq4D,SAAA,OAAAluD,KAUAokD,EAAAz+C,IAAA,SAAAzO,EAAA8I,EAAA9H,GACA,MAAAksD,GAAAltD,GAAAg3D,SAAA,OAAAluD,EAAA9H,KAGAwyD,EAAAtzD,UAAAuO,IAAA,SAAA3F,EAAA9H,GACA,MAAArC,MAAAq4D,SAAA,OAAAluD,EAAA9H,KASAksD,EAAAmO,IACAnO,EAAA,gBAAAltD,EAAA8I,GACA,MAAAokD,GAAAltD,GAAAg3D,SAAA,UAAAluD,KAGA0qD,EAAAtzD,UAAAm7D,IACA7H,EAAAtzD,UAAA,gBAAA4I,GACA,MAAAnK,MAAAq4D,SAAA,UAAAluD,KAgBAokD,EAAAoO,OACApO,EAAAyJ,KAAA,SAAA32D,EAAAV,EAAA+H,GACA,MAAA6lD,GAAAltD,GAAAg3D,SAAA,QAAA13D,EAAA+H,KAGAmsD,EAAAtzD,UAAAo7D,OACA9H,EAAAtzD,UAAAy2D,KAAA,SAAAr3D,EAAA+H,GACA,MAAA1I,MAAAq4D,SAAA,QAAA13D,EAAA+H,KAUA6lD,EAAAqO,KACArO,EAAAsO,MACAtO,EAAAr7B,OAAA,SAAA7xB,EAAAV,GACA,MAAA4tD,GAAAltD,GAAAg3D,SAAA,QAAA13D,EAAAg1D,EAAArxD,UAAA,MAGAuwD,EAAAtzD,UAAAq7D,KACA/H,EAAAtzD,UAAAs7D,MACAhI,EAAAtzD,UAAA2xB,OAAA,SAAAvyB,GACA,MAAAX,MAAAq4D,SAAA,QAAA13D,EAAAg1D,EAAArxD,UAAA,MAQAiqD,EAAAuO,OAAA,SAAAz7D,EAAAqH,GACA,MAAA6lD,GAAAltD,GAAAg3D,SAAA,gBAAA3vD,KAGAmsD,EAAAtzD,UAAAu7D,OAAA,SAAAp0D,GACA,MAAA1I,MAAAq4D,SAAA,gBAAA3vD,KAQA6lD,EAAA,IACAA,EAAA8N,MAAA,SAAAh7D,GACA,MAAAktD,GAAAltD,GAAAg3D,SAAA,gBAAA1C,EAAArxD,UAAA,MAGAuwD,EAAAtzD,UAAA86D,MAAA,WACA,MAAAr8D,MAAAq4D,SAAA,gBAAA1C,EAAArxD,cASAiqD,EAAAwO,MAAA,SAAA17D,GACA,GAAA0wD,GAAAxD,EAAAltD,GACAqH,EAAAitD,EAAArxD,UAAA,EACA,mBACA,MAAAytD,GAAAsG,SAAA,SACAr4D,KACA0I,EAAAgqC,OAAAijB,EAAArxD,gBAIAuwD,EAAAtzD,UAAAw7D,MAAA,WACA,GAAAhL,GAAA/xD,KACA0I,EAAAitD,EAAArxD,UACA,mBACA,MAAAytD,GAAAsG,SAAA,SACAr4D,KACA0I,EAAAgqC,OAAAijB,EAAArxD,gBAWAiqD,EAAAjkD,KAAA,SAAAjJ,GACA,MAAAktD,GAAAltD,GAAAg3D,SAAA,YAGAxD,EAAAtzD,UAAA+I,KAAA,WACA,MAAAtK,MAAAq4D,SAAA,YAYA9J,EAAAplC,MAoCA0rC,EAAAtzD,UAAA4nB,IAAA,WACA,MAAAA,GAAAnpB,OAUAuuD,EAAA8K,MAsCAxE,EAAAtzD,UAAA83D,IAAA,WACA,MAAAA,GAAAr5D,OAYAuuD,EAAAmL,YAlqCA,SAAApqC,EAAA3uB,EAAAq8D,GACA,kBAMA,MALA,mBAAA9wD,UACAA,QAAAW,KAIAyiB,EAAAjrB,MAAAirB,EAAAhrB,aA2pCAo1D,EAAA,4BAYA7E,EAAAtzD,UAAAm4D,YAAA,WACA,MAAAA,GAAA15D,OAMAuuD,EAAAqL,aAYA/E,EAAAtzD,UAAAq4D,WAAA,WACA,MAAA55D,MAAA2xD,KAAA,SAAAuH,GACA,MAAA/vC,GAAAwwC,EAAAT,EAAA,SAAAnH,GAEA,QAAAkL,KACA,MAAAlL,GAAAiE,UAEA,MAJAjE,GAAAxD,EAAAwD,GAIAA,EAAAJ,KAAAsL,WAcA1O,EAAAz2C,KACAy2C,EAAA,eAAAltD,EAAAw1D,GACA,MAAAtI,GAAAltD,GAAAswD,SAAA,GAAAkF,IAGAhC,EAAAtzD,UAAAuW,KACA+8C,EAAAtzD,UAAA,eAAAs1D,GACA,MAAA72D,MAAA2xD,SAAA,GAAAkF,IAWAtI,EAAA2H,WAKArB,EAAAtzD,UAAA20D,SAAA,SAAAY,GACA,MAAA92D,MAAA2xD,SAAA,UAAAmF,IAcAvI,EAAA2O,IACA3O,EAAA,iBAAAltD,EAAAiuB,GACA,MAAAi/B,GAAAltD,GAAA,QAAAiuB,IAGAulC,EAAAtzD,UAAA27D,IACArI,EAAAtzD,UAAA,iBAAA+tB,GAEA,MADAA,GAAAi/B,EAAAj/B,GACAtvB,KAAA2xD,KAAA,SAAAtvD,GACA,MAAAitB,GAAA+sC,QAAA1K,KAAA,WACA,MAAAtvD,MAEK,SAAAmxC,GAEL,MAAAlkB,GAAA+sC,QAAA1K,KAAA,WACA,KAAAne,QAWA+a,EAAA12C,KAAA,SAAAxW,EAAAu1D,EAAAC,EAAAX,GACA,MAAA3H,GAAAltD,GAAAwW,KAAA++C,EAAAC,EAAAX,IAGArB,EAAAtzD,UAAAsW,KAAA,SAAA++C,EAAAC,EAAAX,GACA,GAAAiH,GAAA,SAAArwD,GAGAyhD,EAAA8G,SAAA,WAEA,GADAnC,EAAApmD,EAAAilD,IACAxD,EAAA4N,QAGA,KAAArvD,EAFAyhD,GAAA4N,QAAArvD,MAQAilD,EAAA6E,GAAAC,GAAAX,EACAl2D,KAAA2xD,KAAAiF,EAAAC,EAAAX,GACAl2D,IAEA,iBAAAs3D,2BAAAluB,SACA+zB,EAAA7F,QAAAluB,OAAAnjC,KAAAk3D,IAGApL,EAAAJ,SAAA,GAAAwL,IAYA5O,EAAA6O,QAAA,SAAA/7D,EAAAg8D,EAAAvwD,GACA,MAAAyhD,GAAAltD,GAAA+7D,QAAAC,EAAAvwD,IAGA+nD,EAAAtzD,UAAA67D,QAAA,SAAAC,EAAAvwD,GACA,GAAA2kD,GAAAp9B,IACA7lB,EAAAwB,WAAA,WACAlD,GAAA,gBAAAA,KACAA,EAAA,GAAArE,OAAAqE,GAAA,mBAAAuwD,EAAA,OACAvwD,EAAAo9B,KAAA,aAEAunB,EAAAK,OAAAhlD,IACKuwD,EAUL,OARAr9D,MAAA2xD,KAAA,SAAAtvD,GACA6N,aAAA1B,GACAijD,EAAAG,QAAAvvD,IACK,SAAA0wD,GACL7iD,aAAA1B,GACAijD,EAAAK,OAAAiB,IACKtB,EAAArsD,QAELqsD,EAAAM,SAYAxD,EAAAt3C,MAAA,SAAA5V,EAAA+7D,GAKA,WAJA,KAAAA,IACAA,EAAA/7D,EACAA,MAAA,IAEAktD,EAAAltD,GAAA4V,MAAAmmD,IAGAvI,EAAAtzD,UAAA0V,MAAA,SAAAmmD,GACA,MAAAp9D,MAAA2xD,KAAA,SAAAtvD,GACA,GAAAovD,GAAAp9B,GAIA,OAHArkB,YAAA,WACAyhD,EAAAG,QAAAvvD,IACS+6D,GACT3L,EAAAM,WAaAxD,EAAA+O,QAAA,SAAAhuC,EAAA5mB,GACA,MAAA6lD,GAAAj/B,GAAAguC,QAAA50D,IAGAmsD,EAAAtzD,UAAA+7D,QAAA,SAAA50D,GACA,GAAA+oD,GAAAp9B,IACAkpC,EAAA5H,EAAAjtD,EAGA,OAFA60D,GAAA/xD,KAAAimD,EAAAgK,oBACAz7D,KAAA88D,OAAAS,GAAAzlD,KAAA25C,EAAAK,QACAL,EAAAM,SAYAxD,EAAAiP,OAAA,SAAAluC,GACA,GAAA5mB,GAAAitD,EAAArxD,UAAA,EACA,OAAAiqD,GAAAj/B,GAAAguC,QAAA50D,IAGAmsD,EAAAtzD,UAAAi8D,OAAA,WACA,GAAAD,GAAA5H,EAAArxD,WACAmtD,EAAAp9B,GAGA,OAFAkpC,GAAA/xD,KAAAimD,EAAAgK,oBACAz7D,KAAA88D,OAAAS,GAAAzlD,KAAA25C,EAAAK,QACAL,EAAAM,SAWAxD,EAAAkP,OACAlP,EAAAmP,UAAA,SAAApuC,GACA,GAAAquC,GAAAhI,EAAArxD,UAAA,EACA,mBACA,GAAAi5D,GAAAI,EAAAjrB,OAAAijB,EAAArxD,YACAmtD,EAAAp9B,GAGA,OAFAkpC,GAAA/xD,KAAAimD,EAAAgK,oBACAlN,EAAAj/B,GAAAwtC,OAAAS,GAAAzlD,KAAA25C,EAAAK,QACAL,EAAAM,UAIA8C,EAAAtzD,UAAAk8D,OACA5I,EAAAtzD,UAAAm8D,UAAA,WACA,GAAAh1D,GAAAitD,EAAArxD,UAEA,OADAoE,GAAA8B,QAAAxK,MACAuuD,EAAAmP,UAAAr5D,UAAA,GAAAqE,IAGA6lD,EAAAqP,MAAA,SAAAtuC,EAAA2oC,GACA,GAAA0F,GAAAhI,EAAArxD,UAAA,EACA,mBAIA,QAAAu5D,KACA,MAAAvuC,GAAAjrB,MAAA4zD,EAAA3zD,WAJA,GAAAi5D,GAAAI,EAAAjrB,OAAAijB,EAAArxD,YACAmtD,EAAAp9B,GAMA,OALAkpC,GAAA/xD,KAAAimD,EAAAgK,oBAIAlN,EAAAsP,GAAAf,OAAAS,GAAAzlD,KAAA25C,EAAAK,QACAL,EAAAM,UAIA8C,EAAAtzD,UAAAq8D,MAAA,WACA,GAAAl1D,GAAAitD,EAAArxD,UAAA,EAEA,OADAoE,GAAA8B,QAAAxK,MACAuuD,EAAAqP,MAAAv5D,UAAA,GAAAqE,IAYA6lD,EAAAuP,QACAvP,EAAAwP,MAAA,SAAA18D,EAAAV,EAAA+H,GACA,MAAA6lD,GAAAltD,GAAA08D,MAAAp9D,EAAA+H,IAGAmsD,EAAAtzD,UAAAu8D,QACAjJ,EAAAtzD,UAAAw8D,MAAA,SAAAp9D,EAAA+H,GACA,GAAA60D,GAAA5H,EAAAjtD,OACA+oD,EAAAp9B,GAGA,OAFAkpC,GAAA/xD,KAAAimD,EAAAgK,oBACAz7D,KAAAq4D,SAAA,QAAA13D,EAAA48D,IAAAzlD,KAAA25C,EAAAK,QACAL,EAAAM,SAaAxD,EAAAyP,MACAzP,EAAA0P,OACA1P,EAAA2P,QAAA,SAAA78D,EAAAV,GACA,GAAA48D,GAAA5H,EAAArxD,UAAA,GACAmtD,EAAAp9B,GAGA,OAFAkpC,GAAA/xD,KAAAimD,EAAAgK,oBACAlN,EAAAltD,GAAAg3D,SAAA,QAAA13D,EAAA48D,IAAAzlD,KAAA25C,EAAAK,QACAL,EAAAM,SAGA8C,EAAAtzD,UAAAy8D,MACAnJ,EAAAtzD,UAAA08D,OACApJ,EAAAtzD,UAAA28D,QAAA,SAAAv9D,GACA,GAAA48D,GAAA5H,EAAArxD,UAAA,GACAmtD,EAAAp9B,GAGA,OAFAkpC,GAAA/xD,KAAAimD,EAAAgK,oBACAz7D,KAAAq4D,SAAA,QAAA13D,EAAA48D,IAAAzlD,KAAA25C,EAAAK,QACAL,EAAAM,SAaAxD,EAAAsL,UAKAhF,EAAAtzD,UAAAs4D,QAAA,SAAAC,GACA,IAAAA,EAWA,MAAA95D,KAVAA,MAAA2xD,KAAA,SAAAtvD,GACAksD,EAAA8G,SAAA,WACAyE,EAAA,KAAAz3D,MAES,SAAAyK,GACTyhD,EAAA8G,SAAA,WACAyE,EAAAhtD,QAQAyhD,EAAA3rD,WAAA,WACA,SAAA6F,OAAA,sDAIA,IAAAisD,IAAAC,GAEA,OAAApG,MnBwyXM,SAAU3uD,EAAQD,EAASO,GAEjC,YACA,IAAIw4B,GAA8B9H,CoB3xblC/wB,IACEK,EAAA,GACAA,EAAA,UAFF+I,MAAA2nB,EAAA,SAIU4N,EAAM2/B,GAEd,GAAIz7D,GAAI87B,EAAK97B,EAETuC,KAEAm5D,GACFC,aACE7tD,MAAO,6BACP0R,YAAa,8BACbo8C,cAAe,kBACfC,UAAW,GAEbC,kBACEhuD,MAAO,wBACP0R,YAAa,0BACbo8C,cAAe,kBACfC,UAAW,GAEbE,KACEjuD,MAAO,aACP0R,YAAa,SAACw8C,GACZ,MAAOA,GACL,kCACA,kCAEJJ,cAAe,UACfC,UAAW,GAEbI,UACEnuD,MAAO,4BACP0R,YAAa,wCACbo8C,cAAe,eACfC,UAAW,GAEbK,eACEpuD,MAAO,sBACP0R,YAAa,SAACw8C,GACZ,MAAOA,GACL,kDACA,kDAEJJ,cAAe,oBACfC,UAAW,GAEbM,SACEruD,MAAO,0BACP0R,YAAa,sCACbo8C,cAAe,cACfC,UAAW,GAEbO,aACEtuD,MAAO,sCACP0R,YAAa,8BACbo8C,cAAe,kBACfC,UAAW,GAEbQ,aACEvuD,MAAO,GACP0R,YAAa,0BACbo8C,cAAe,WACfC,UAAW,GAEbS,KACExuD,MAAO,aACP0R,YAAa,yBACbo8C,cAAe,eACfC,UAAW,GAEbU,MACEzuD,MAAO,cACP0R,YAAa,0BACbo8C,cAAe,gBACfC,UAAW,GAEbrgD,OACE1N,MAAO,eACP0R,YAAa,2BACbo8C,cAAe,iBACfC,UAAW,GAEbW,UACE1uD,MAAO,0BACP0R,YAAa,sCACbo8C,cAAe,6BACfC,UAAW,IAEbY,KACE3uD,MAAO,aACP0R,YAAa,yBACbo8C,cAAe,UACfC,UAAW,IAEba,cACE5uD,MAAO,8BACP0R,YAAa,8BACbo8C,cAAe,eACfC,UAAW,IAEbc,aACE7uD,MAAO,6BACP0R,YAAa,8BACbo8C,cAAe,UACfC,UAAW,IAEbe,SACE9uD,MAAO,GACP0R,YAAa,8BACbo8C,cAAe,aACfC,UAAW,IAEbgB,UACE/uD,MAAO,kBACP0R,YAAa,GACbo8C,cAAe,oBACfC,UAAW,IAEbiB,eACEhvD,MAAO,GACP0R,YAAa,kCACbo8C,cAAe,oBACfC,UAAW,IAEbkB,cACEjvD,MAAO,GACP0R,YAAa,SAACw8C,GACZ,MAAOA,GACL,2CACA,2CAEJJ,cAAe,oBACfC,UAAW,IAEbmB,cACElvD,MAAO,GACP0R,YAAa,SAACw8C,GACZ,MAAOA,GACL,2CACA,2CAEJJ,cAAe,oBACfC,UAAW,IAgNf,OA5MAt5D,GAAG06D,cAAgB,SAAUC,EAAUC,GACrC,MAAiB,SAAbD,GAAsC,wBAAfC,EAClB,cAEQ,SAAbD,GAAsC,SAAfC,EAClB,mBAEQ,WAAbD,EACK,cAEQ,aAAbA,GAA0C,UAAfC,EACtB,eAEQ,QAAbD,GAAqC,UAAfC,EACjB,cAEQ,aAAbD,GAA0C,UAAfC,EACtB,UAEQ,QAAbD,GAAqC,QAAfC,EACjB,MAEQ,WAAbD,GAAwC,mBAAfC,EACpB,UAEQ,SAAbD,GAAsC,QAAfC,EAClB,MAEQ,SAAbD,GAAsC,SAAfC,EAClB,OAEQ,SAAbD,GAAsC,aAAfC,EAClB,WAEQ,SAAbD,GAAsC,UAAfC,EAClB,QAEQ,SAAbD,GAAsC,aAAfC,EAClB,WAEQ,iBAAbD,GAA8C,oBAAfC,EAC1B,eAEQ,iBAAbD,GAA8C,mBAAfC,EAC1B,eAEF56D,EAAG66D,2BAA2Bv/D,KAAKP,KAAM6/D,IAGlD56D,EAAG66D,2BAA6B,SAAUD,GACxC,MAAmB,QAAfA,EACK,MAEU,wBAAfA,EACK,cAEU,aAAfA,EACE7/D,KAAK0jB,SAASxiB,IAAI,qBACb,WAEA,gBAGQ,eAAf2+D,EACK,cAEU,oBAAfA,EACK,oBADT,IAKF56D,EAAG86D,aAAe,SAAUH,EAAUC,GACpC,MAAoB,SAAbD,IAAuC,wBAAfC,GAAuD,SAAfA,IAGzE56D,EAAG+6D,eAAiB,SAAUJ,EAAUC,GACtC,GAAI11D,GAAMi0D,EAAWn5D,EAAG06D,cAAct7D,MAAMrE,MAAO4/D,EAAUC,KAAcrvD,KAC3E,OAAOguB,GAAKzkB,IAAI5P,EAAK,UAGvBlF,EAAGg7D,qBAAuB,SAAUL,EAAUC,GAC5C,GAAIK,GAAiB9B,EAAWn5D,EAAG06D,cAAct7D,MAAMrE,MAAO4/D,EAAUC,KAAc39C,WACtF,IAAIxf,EAAEQ,WAAWg9D,GAAiB,CAChC,GAAIxB,GAAY1+D,KAAK0jB,SAASxiB,IAAI,aAC9BiJ,EAAM+1D,EAAexB,EACzB,OAAOA,GAAYlgC,EAAKzkB,IAAI5P,EAAK,SAAUu0D,IAAclgC,EAAKzkB,IAAI5P,EAAK,SAEvE,MAAOq0B,GAAKzkB,IAAImmD,EAAgB,UAIpCj7D,EAAGk7D,uBAAyB,SAAUP,EAAUC,GAC9C,MAAOzB,GAAWn5D,EAAG06D,cAAct7D,MAAMrE,MAAO4/D,EAAUC,KAAcvB,eAG1Er5D,EAAGm7D,mBAAqB,SAAUR,EAAUC,GAC1C,MAAOzB,GAAWn5D,EAAG06D,cAAct7D,MAAMrE,MAAO4/D,EAAUC,KAActB,WAG1Et5D,EAAGo7D,uBAAyB,SAAUhV,GACpC,MAAOA,IAAYA,EAASnqD,IAAI,4BAGlC+D,EAAGq7D,yBAA2B,SAAUC,GACtC,GAAIC,GAAoBhiC,EAAKzkB,IAAI,YAAcwmD,EAAYE,SAC3D,OAAOD,GAAkBr5C,QAAQ,cAAgB,EAAIq5C,EAAoBD,EAAYG,cAGvFz7D,EAAG07D,iCAAmC,SAAUC,GAC9C,GAAI9rD,KAwBJ,IAAI8rD,EAAOC,WAAY,CACrB,GAAIC,IACF3+C,WAAY4+C,KAAM,6BAA8Br4D,MAAM,GACtDs4D,cAAeD,KAAM,iCACrBE,cAAeF,KAAM,iCACrBG,WAAYH,KAAM,8BAClBI,WAAYJ,KAAM,8BAClBK,iBAAkBL,KAAM,mCACxBM,kBAAmBN,KAAM,qCACzBO,iBAAkBP,KAAM,qCAGtBQ,EAnBqB,SAAUA,GACnC,GAAIC,GAAoBD,EAAiBC,iBAGzC,OAFAD,GAAiBF,iBAAmB3+D,EAAE+O,SAAS+vD,EAAmB,aAClED,EAAiBD,gBAAkB5+D,EAAE+O,SAAS+vD,EAAmB,YAC1D9+D,EAAEoP,KAAKyvD,EAAkB,sBAeYX,EAAOC,YAE/CY,EAAe/+D,EAAEkP,IAAI2vD,EAAkB,SAAUG,EAAiBC,GACpE,KAAID,GAAmB,GAAvB,CAIA,GAAIv7D,GAAS26D,EAAiBa,EAC9B,OAAOx7D,GAAOuC,KACZ81B,EAAKzkB,IAAI5T,EAAO46D,KAAM,SAAUW,IAAoBljC,EAAKzkB,IAAI5T,EAAO46D,KAAM,WAG9EU,GAAe/+D,EAAEuxC,QAAQwtB,GAErBA,EAAa57D,SACf47D,EAAe/+D,EAAE4oB,OAAOm2C,EAAc,SAAU3sD,EAAQ8sD,GACtD,MAAO9sD,GAAUA,EAAS0pB,EAAKzkB,IAAI,mCAAoC,SAAU6nD,IAAiBA,IAGpG9sD,EAAOtJ,KAAKgzB,EAAKzkB,IAAI,mCAAoC,SAAU0nD,MAQvE,GAJIb,EAAOiB,KAAOjB,EAAOiB,IAAIC,aAAe,GAC1ChtD,EAAOtJ,KAAKgzB,EAAKzkB,IAAI,8BAA+B,SAAU6mD,EAAOiB,IAAIC,gBAGvElB,EAAOiB,KAAOjB,EAAOiB,IAAIE,cAAgB,EAAG,CAC9C,GAAIC,GAAkB7D,EAAS8D,6BAA6BrB,EAAOiB,IAAIE,cAAe,UAClFG,EA/D0B,SAAUF,GACxC,GAAIG,EACJ,QAAQH,EAAgBI,MACxB,IAAK,MACHD,EAAmB,gCACnB,MACF,KAAK,OACHA,EAAmB,iCACnB,MACF,KAAK,SACHA,EAAmB,oCAErB,MAAO3jC,GAAKzkB,IAAIooD,EAAkB,SAAUH,EAAgBz1D,QAmDVy1D,EAClDltD,GAAOtJ,KAAK02D,GAGd,MAAOptD,GAAOrL,KAAK,MAGrBxE,EAAGo9D,mBAAqB,SAAUC,EAAU9+C,EAAU++C,GACpD,GAAIA,EAAa,CACf,GAAID,EACF,MAAiC,KAAzBC,EAAYD,SAAkB,GACpC9jC,EAAKzkB,IAAI,mCAAoC,SAAUwoD,EAAYD,UAElE,IAAI9+C,GAAY++C,EAAY95C,QAAU,EACzC,MAAO+V,GAAKzkB,IAAI,6CAA8C,SAC3DwoD,EAAYD,SAAUC,EAAY/5C,UAGzC,MAAO,IAGTvjB,EAAGu9D,yBAA2B,SAAUC,EAAS7C,EAAUC,GACzD,GAAI6C,GAASD,EAAQE,WAAW/C,SAAUA,EAAUC,WAAYA,GAKhE,YAJe52D,KAAXy5D,IAEFA,EAASD,EAAQE,WAAW9C,WAAYA,KAEnC6C,GAGFz9D,GAjWTZ,MAAA1E,EAAA+4B,MAAA94B,EAAAD,QAAAixB,IpBkocM,SAAUhxB,EAAQD,EAASO,GAEjC,YACA,IAAIw4B,GAA8B9H,CqBtoclC/wB,IAAQK,EAAA,GAAQA,EAAA,QAAhB+I,MAAA2nB,EAAA,SAAyC4N,EAAMgwB,GAE7C,MAAOhwB,GAAKtM,KAAK7rB,QACf9C,SAAU,yIAKVsL,UAAW,cACXC,QACE8zD,iBAAmB,SAAU94D,GAC3BA,EAAEuJ,iBACFrT,KAAKuF,QAAQ8lD,SAAStmD,QAAQ,iBAC9B/E,KAAK0rD,SAITA,KAAM,WACJ1rD,KAAKqvB,MAAMvf,IAAI,cAAe0+C,EAAMtC,gBAChClsD,KAAKuF,QAAQ8lD,SAASnqD,IAAI,YAI5BlB,KAAK6P,MAAMgzD,cAAc,SAAUC,GACjC,MAAOA,GAAY9a,SAIrBhoD,KAAKuF,QAAQ8lD,SAAStmD,QAAQ,WAAY,qBA5BlDV,MAAA1E,EAAA+4B,MAAA94B,EAAAD,QAAAixB,IrBwrcM,SAAUhxB,EAAQD,GsBpscxBC,EAAAD,QAAA,SAAAgsD,GACA,qBAAAA,GAAA,KAAAxoB,WAAAwoB,EAAA,sBACA,OAAAA,KtB4scM,SAAU/rD,EAAQD,EAASO,GuB9scjC,GAAAkpD,GAAalpD,EAAQ,IACrBmpD,EAAWnpD,EAAQ,GACnBo1C,EAAUp1C,EAAQ,IAClBu0B,EAAWv0B,EAAQ,IACnBwsB,EAAUxsB,EAAQ,IAGlBqpD,EAAA,SAAA75C,EAAA/O,EAAA6C,GACA,GASA2G,GAAAq/C,EAAAC,EATAE,EAAAj6C,EAAA65C,EAAAK,EACAC,EAAAn6C,EAAA65C,EAAAO,EACAC,EAAAr6C,EAAA65C,EAAAS,EACAC,EAAAv6C,EAAA65C,EAAAW,EACAC,EAAAz6C,EAAA65C,EAAAa,EACA2Y,EAAArzD,EAAA65C,EAAAiB,EACA7qD,EAAAkqD,EAAAR,IAAA1oD,KAAA0oD,EAAA1oD,OACA0pD,EAAA1qD,EAAA,UACAiM,EAAAi+C,EAAAT,EAAAW,EAAAX,EAAAzoD,IAAAyoD,EAAAzoD,QAAkF,SAElFkpD,KAAArmD,EAAA7C,EACA,KAAAwJ,IAAA3G,IAEAgmD,GAAAG,GAAA/9C,OAAA3C,KAAA2C,EAAAzB,KACAuiB,EAAA/sB,EAAAwK,KAEAs/C,EAAAD,EAAA59C,EAAAzB,GAAA3G,EAAA2G,GAEAxK,EAAAwK,GAAA0/C,GAAA,kBAAAj+C,GAAAzB,GAAA3G,EAAA2G,GAEAggD,GAAAX,EAAAlU,EAAAmU,EAAAL,GAEA2Z,GAAAn3D,EAAAzB,IAAAs/C,EAAA,SAAAuZ,GACA,GAAApZ,GAAA,SAAAjnD,EAAAsgE,EAAAxiE,GACA,GAAAT,eAAAgjE,GAAA,CACA,OAAA1+D,UAAAuB,QACA,iBAAAm9D,EACA,kBAAAA,GAAArgE,EACA,kBAAAqgE,GAAArgE,EAAAsgE,GACW,UAAAD,GAAArgE,EAAAsgE,EAAAxiE,GACF,MAAAuiE,GAAA3+D,MAAArE,KAAAsE,WAGT,OADAslD,GAAA,UAAAoZ,EAAA,UACApZ,GAEKH,GAAAQ,GAAA,kBAAAR,GAAAnU,EAAAgV,SAAA/pD,KAAAkpD,KAELQ,KACAtqD,EAAAujE,UAAAvjE,EAAAujE,aAA+C/4D,GAAAs/C,EAE/C/5C,EAAA65C,EAAAkB,GAAAJ,MAAAlgD,IAAAsqB,EAAA41B,EAAAlgD,EAAAs/C,KAKAF,GAAAK,EAAA,EACAL,EAAAO,EAAA,EACAP,EAAAS,EAAA,EACAT,EAAAW,EAAA,EACAX,EAAAa,EAAA,GACAb,EAAAiB,EAAA,GACAjB,EAAAgB,EAAA,GACAhB,EAAAkB,EAAA,IACA7qD,EAAAD,QAAA4pD,GvBqtcM,SAAU3pD,EAAQD,GwBjxcxB,GAAAypD,GAAAxpD,EAAAD,QAAA,mBAAA4H,gBAAAkmB,WACAlmB,OAAA,mBAAAxH,YAAA0tB,WAAA1tB,KAEAuqD,SAAA,gBACA,iBAAAwB,WAAA1C,IxByxcM,SAAUxpD,EAAQD,EAASO,GyB9xcjC,GAAAguD,GAAYhuD,EAAQ,KAAW,OAC/BiuD,EAAUjuD,EAAQ,KAClBkuD,EAAaluD,EAAQ,IAAWkuD,OAChCC,EAAA,kBAAAD,IAEAxuD,EAAAD,QAAA,SAAAgB,GACA,MAAAutD,GAAAvtD,KAAAutD,EAAAvtD,GACA0tD,GAAAD,EAAAztD,KAAA0tD,EAAAD,EAAAD,GAAA,UAAAxtD,MAGAutD,SzBqycM,SAAUtuD,EAAQD,EAASO,GAEjC,YACA,IAAIw4B,GAA8B9H,C0BryclC/wB,IACEK,EAAA,GACAA,EAAA,KACAA,EAAA,IACAA,EAAA,GACAA,EAAA,IACAA,EAAA,IACAA,EAAA,UAPF+I,MAAA2nB,EAAA,SASU4N,EAAM2kC,EAAYjkC,EAAMsvB,EAAOwD,EAAiBoR,EAAQC,GAChE,GAAIp+D,MAEAq+D,EAAe9kC,EAAK35B,IAAI,6CACxB0+D,EAAuB/kC,EAAK35B,IAAI,6DAChC2+D,EAAyBhlC,EAAK35B,IAAI,gCAClC4+D,EAAqBjlC,EAAK35B,IAAI,6CAC9B6+D,EAAuBllC,EAAK35B,IAC9B,kFAEE8+D,EAAiBnlC,EAAK35B,IAAI,qCAC1B++D,EAAgBplC,EAAK35B,IAAI,2DACzBg/D,EAA2BrlC,EAAK35B,IAClC,yHA8RF,OA1RAI,GAAG6+D,0BAA4B,WAG7B,SAAIlmB,UAAUmmB,UAAUx5C,MAAM,YAC1BqzB,UAAUmmB,UAAUx5C,MAAM,WAC1B0e,SAASlB,SAOf9iC,EAAG++D,kBAAoB,WACrB,MAAoC,YAA7B/6B,SAASg7B,iBAGlBh/D,EAAGi/D,gBAAkB,SAAUtE,EAAUC,EAAYsE,GACnD,MAAIvE,IAAYuE,EACPZ,GACL3D,SAAUh2D,mBAAmBg2D,EAASh9B,eACtCi9B,WAAYj2D,mBAAmBi2D,GAC/BsE,YAAav6D,mBAAmBu6D,KAG3BvE,EACA0D,GACL1D,SAAUh2D,mBAAmBg2D,EAASh9B,eACtCi9B,WAAYj2D,mBAAmBi2D,KAI1B2D,GACL3D,WAAYj2D,mBAAmBi2D,MAKrC56D,EAAGm/D,sBAAwB,SAAUxE,EAAUC,GAC7C,MAAO4D,IACL7D,SAAUh2D,mBAAmBg2D,EAASh9B,eACtCi9B,WAAYj2D,mBAAmBi2D,MAInC56D,EAAGo/D,wBAA0B,SAAUzE,EAAUC,EAAYnxB,GAC3D,MAAOg1B,IACL9D,SAAUh2D,mBAAmBg2D,EAASh9B,eACtCi9B,WAAYj2D,mBAAmBi2D,GAC/BnxB,OAAMA,GAAO9kC,mBAAmB8kC,MAIpCzpC,EAAGq/D,kBAAoB,SAAUC,GAC/B,MAAOZ,IACLY,cAAe36D,mBAAmB26D,MAItCt/D,EAAGu/D,iBAAmB,SAAUlT,GAC9B,GAAIR,GAAQQ,EAAa1nD,mBAAmB0nD,GAAc,IAC1D,OAAOsS,IAAgB9S,MAAOA,KAGhC7rD,EAAGw/D,gCAAkC,SAAU52C,EAAQoiC,GACrD,GAAKA,EAKL,MAAIA,GAAInpD,KAAOkrD,EAAgB0S,iBAAiBzU,EAAInpD,SAClD+mB,GAAOnK,SAASihD,gBAAgB,GAAIvB,GAAOwB,wBACzCpmC,EAAKzkB,IAAI,wBAMTk2C,EAAIR,YAAc4T,EAAWwB,yBAC/Bh3C,EAAOw9B,SAASv7C,IAAI,aAAcmgD,GAClCpiC,EAAOkB,WAAWM,MAAMvf,IAAI,cAAe0+C,EAAMtC,oBACjDr+B,GAAO0B,SAAS,IAAMxqB,SAAS,SAIjCm6B,GAAK8wB,kBAAkBniC,EAAOkB,WAAYkhC,IAG5ChrD,EAAG6/D,2BAA6B,SAAUj3C,EAAQ9N,GAEhD,IAAKA,IAAQA,EAAI4hB,OAEf,WADA9T,GAAOw9B,SAAS0Z,uBAIlBl3C,GAAOw9B,SAAS2Z,gBAAgBjlD,GAE5B8N,EAAOkB,YAAclB,EAAOkB,WAAWk2C,iBAAiBllD,IAI5D9a,EAAGigE,qBAAqBr3C,EAAQ9N,IAGlC9a,EAAGigE,qBAAuB,SAAUr3C,EAAQ9N,GAC1C,OAAQA,EAAI4hB,QACZ,IAAK,UACH,GAAG5hB,EAAIolD,eAAiB3W,EAAMpC,qBAE5B,WADAv+B,GAAO0B,SAAS,2BAA4BxqB,SAAS,GAMvD,IAAI8oB,EAAOnK,SAASxiB,IAAI,iBAEtB,WADAiiE,GAAWiC,UAAUv3C,EAAOnK,UAAW2hD,aAActlD,EAAIslD,cAAex3C,EAAOkB,WAIjF,IAAIu2C,IACFC,KAAMxlD,EAAIylD,UAAUD,KACpB71D,KAAMqQ,EAAIrQ,MAAQ8+C,EAAMd,YAGtB3tC,GAAI0lD,aACNH,EAAYG,WAAa1lD,EAAI0lD,WAG/B,IAAIC,GAAa73C,EAAOnK,SAASxiB,IAAI,kBAEjCykE,EAAU5lD,EAAI6lD,SACF7lD,EAAI6lD,OAAOC,UAAY9lD,EAAI6lD,OAAOC,SAASl1D,MAAUoP,EAAI6lD,OAAO5vC,MAAQjW,EAAI6lD,OAAO5vC,KAAKrlB,KACxG,IAAIoP,EAAIrQ,OAAS8+C,EAAMb,gBAAiB,CACtC,GAAIsB,GAAYlvC,EAAI6lD,QAAU7lD,EAAI6lD,OAAO5vC,MAAQjW,EAAI6lD,OAAO5vC,KAAKrlB,IACjE20D,GAAYQ,QACV/kD,IAAKkuC,EACL8W,OAAQ,WACNL,EAAWzW,SAGN0W,GACTL,EAAYtvC,KAAO,WACjB0vC,EAAWC,KAIbL,EAAY51D,KAAO8+C,EAAMd,YACzB4X,EAAYU,SACVlV,MAAO/wC,EAAIslD,aACXY,qBAAsB,SAAUC,GAC9BR,EAAW7B,GACTzS,QAASvjC,EAAOnK,SAASxiB,IAAI,WAC7B4vD,MAAOlnD,mBAAmBmW,EAAIslD,cAC9Ba,YAAat8D,mBAAmBs8D,QAkBxC,aAXIr4C,EAAOnK,SAASxiB,IAAI,0CACpB+D,EAAG6+D,4BACL76B,SAASk9B,iBAAiB,mBAAoB,QAASC,KACjDnhE,EAAG++D,sBACL/6B,SAASo9B,oBAAoB,mBAAoBD,GACjDv4C,EAAOnK,SAAS4iD,kBAAkB9X,EAAMhC,QAAS8Y,MAIrDz3C,EAAOnK,SAAS4iD,kBAAkB9X,EAAMhC,QAAS8Y,GAGrD,KAAK,mBAIH,YAHIz3C,EAAOnK,SAASxiB,IAAI,qBACtB2sB,EAAO0B,SAAS,kBAAmBxqB,SAAS,IAKhD,KAAK,kBACL,IAAK,mBACL,IAAK,eAIH,GAAIwhE,GAAgC14C,EAAOw9B,SAASnqD,IAAI,gCACpDqlE,IAAiCA,EAA8B7D,SACjE70C,EAAOw9B,SAASnqD,IAAI,WAAWslE,eAAiBD,EAA8B7D,OAEhF,IAAIA,GAAS70C,EAAOw9B,SAASnqD,IAAI,WAAWulE,mBACxC1lD,EAAM9b,EAAGi/D,gBAAgBxB,EAAOxhE,IAAI,YAAawhE,EAAOxhE,IAAI,cAGhE,OAFA2sB,GAAO0B,SAASxO,GAAOhc,SAAS,QAChC8oB,GAAOw9B,SAASqb,oCAGlB,KAAK,OAGH,YADA74C,GAAO0B,SADO,eACaxqB,SAAS,GAGtC,KAAK,gBAYH,MAPI8oB,GAAOw9B,SAASnqD,IAAI,yBACtB2sB,EAAOw9B,SAASsb,uCAElB94C,GAAOw9B,SAASnqD,IAAI,eAAe8mD,OAChC2J,KAAK,SAAUR,GACdtjC,EAAOw9B,SAASv7C,IAAI,cAAeqhD,KAClCt5C,MAEP,KAAK,aACL,IAAK,gBAEH,WADAgW,GAAO0B,SAAS,iBAAmBxqB,SAAS,GAE9C,KAAK,sBACL,IAAK,yBACH,GAAI6hE,GAAc3hE,EAAGo/D,wBAAwBx2C,EAAOw9B,SAASnqD,IAAI,2BAC/D2sB,EAAOw9B,SAASnqD,IAAI,uBAEtB,YADA2sB,GAAO0B,SAASq3C,GAAe7hE,SAAS,GAE1C,KAAK,gBACL,IAAK,mBAMH,YALI8oB,EAAOnK,SAASxiB,IAAI,oCAAsC2sB,EAAOw9B,SAASnqD,IAAI,sBAChF2sB,EAAO0B,SAAS,kCAAoCxqB,SAAS,IAE7D8oB,EAAO0B,SAAS,2BAA6BxqB,SAAS,IAG1D,KAAK,qBAEH,GAAI8hE,GAAY9mD,EAAI8/C,WAAWj9B,gBAAkB4rB,EAAMlC,2BAA2B1pB,cAC9EkkC,EAAmB/mD,EAAIolD,eAAiB3W,EAAMrC,uBAC9C4a,EAAWhnD,EAAIolD,eAAiB3W,EAAMpC,oBAU1C,aATI0a,GAAoBD,EACtBh5C,EAAO0B,SAAS,2BAA6BxqB,SAAS,IAE/CgiE,GAAYF,EACnBh5C,EAAO0B,SAAS,yBAA2BxqB,SAAS,IAGpD8oB,EAAO0B,SAAS,6BAA+BxqB,SAAS,IAG5D,KAAK,WAEH,WADA8oB,GAAO0B,SAAS,4BAA8BxqB,SAAS,GAEzD,KAAK,iBAEH,WADA8oB,GAAO0B,SAAS,yBAA2BxqB,SAAS,GAEtD,KAAK,aAWH,YAVI8oB,EAAOnK,SAASxiB,IAAI,8BACtB2sB,EAAO0B,SAAS,iBAAmBxqB,SAAS,IAE5C8oB,EAAOkB,WAAWlf,MAAM9K,QAAQ,QAAS8oB,EAAOkB,WAAWlf,OACzDu+B,cACEC,eACAC,aAAc9P,EAAKzkB,IAAI,uBAAwB,YAKvD,KAAK,mBAEH,WADA8T,GAAO0B,SAAS,sBAAwBxqB,SAAS,GAEnD,KAAK,kBAEH,GAAI8oB,EAAOw9B,SAASnqD,IAAI,oCAAqC,CAC3D,GAAI8lE,GAAgBn5C,EAAOw9B,SAASnqD,IAAI,WAAWulE,mBAC/CQ,EAAYhiE,EAAGi/D,gBAAgB8C,EAAc9lE,IAAI,YAAa8lE,EAAc9lE,IAAI,cAEpF,YADA2sB,GAAO0B,SAAS03C,GAAaliE,SAAS,IAKxC,WADA8oB,GAAO0B,SAAS,IAAMxqB,SAAS,GAEjC,SACE,KAAM,IAAI0D,OAAM,mBAAqBsX,EAAI4hB,UAItC18B,GApTTZ,MAAA1E,EAAA+4B,MAAA94B,EAAAD,QAAAixB,I1BoldM,SAAUhxB,EAAQD,EAASO,G2BjmdjC,GAAAoyD,GAASpyD,EAAQ,IACjBgnE,EAAiBhnE,EAAQ,GACzBN,GAAAD,QAAiBO,EAAQ,IAAgB,SAAAmB,EAAA8I,EAAA9H,GACzC,MAAAiwD,GAAAC,EAAAlxD,EAAA8I,EAAA+8D,EAAA,EAAA7kE,KACC,SAAAhB,EAAA8I,EAAA9H,GAED,MADAhB,GAAA8I,GAAA9H,EACAhB,I3BymdM,SAAUzB,EAAQD,EAASO,G4B/mdjC,GAAAkpD,GAAalpD,EAAQ,GACrBu0B,EAAWv0B,EAAQ,IACnBwsB,EAAUxsB,EAAQ,IAClBinE,EAAUjnE,EAAQ,IAAQ,OAC1BknE,EAAgBlnE,EAAQ,KAExBmnE,GAAA,GAAAD,GAAA79D,MADA,WAGArJ,GAAQ,IAASonE,cAAA,SAAA3b,GACjB,MAAAyb,GAAA7mE,KAAAorD,KAGA/rD,EAAAD,QAAA,SAAA6yD,EAAAroD,EAAAwF,EAAA43D,GACA,GAAArkE,GAAA,kBAAAyM,EACAzM,KAAAwpB,EAAA/c,EAAA,SAAA8kB,EAAA9kB,EAAA,OAAAxF,IACAqoD,EAAAroD,KAAAwF,IACAzM,IAAAwpB,EAAA/c,EAAAw3D,IAAA1yC,EAAA9kB,EAAAw3D,EAAA3U,EAAAroD,GAAA,GAAAqoD,EAAAroD,GAAAk9D,EAAA59D,KAAAQ,OAAAE,MACAqoD,IAAApJ,EACAoJ,EAAAroD,GAAAwF,EACG43D,EAGA/U,EAAAroD,GACHqoD,EAAAroD,GAAAwF,EAEA8kB,EAAA+9B,EAAAroD,EAAAwF,UALA6iD,GAAAroD,GACAsqB,EAAA+9B,EAAAroD,EAAAwF,OAOC26C,SAAA/oD,UAvBD,WAuBC,WACD,wBAAAvB,YAAAmnE,IAAAC,EAAA7mE,KAAAP,S5BundM,SAAUJ,EAAQD,EAASO,G6BppdjC,GAAAqpD,GAAcrpD,EAAQ,GACtBsnE,EAAYtnE,EAAQ,GACpBwyD,EAAcxyD,EAAQ,IACtBunE,EAAA,KAEAC,EAAA,SAAA19D,EAAA29D,EAAAC,EAAAvlE,GACA,GAAA2nD,GAAA//C,OAAAyoD,EAAA1oD,IACA69D,EAAA,IAAAF,CAEA,OADA,KAAAC,IAAAC,GAAA,IAAAD,EAAA,KAAA39D,OAAA5H,GAAA2G,QAAAy+D,EAAA,UAA0F,KAC1FI,EAAA,IAAA7d,EAAA,KAAA2d,EAAA,IAEA/nE,GAAAD,QAAA,SAAAmtB,EAAAvK,GACA,GAAAiwC,KACAA,GAAA1lC,GAAAvK,EAAAmlD,GACAne,IAAAW,EAAAX,EAAAK,EAAA4d,EAAA,WACA,GAAAt+D,GAAA,GAAA4jB,GAAA,IACA,OAAA5jB,OAAA05B,eAAA15B,EAAAK,MAAA,KAAA1D,OAAA,IACG,SAAA2sD,K7B4pdG,SAAU5yD,EAAQD,EAASO,GAEjC,YAGAY,QAAOC,eAAepB,EAAS,cAC7B0C,OAAO,G8BnrdT,IAAAylE,GAAA5nE,EAAA,GACA6nE,EAAA7nE,EAAA,K9ByrdI8nE,EAEJ,SAAgCpmE,GAAO,MAAOA,IAAOA,EAAIR,WAAaQ,GAAQC,QAASD,IAFvCmmE,EAIhDpoE,GAAQkC,Q8B3rdOk9B,OAAK14B,QAElB+pC,OAAQ,eACRvhC,UAAW,WACXygC,gBAAgB,EAChBe,UAAU,EACV/pC,gBAAgB,EAChBZ,MAAO,eACP+gC,MAAM,EAAAqhC,EAAA/tD,KAAI,aAAc,SAExBtK,WAAY,WAAY,GAAAoqC,GAAA75C,KAChBioE,EAAYjoE,KAAKkoE,cACjBt8C,EAAeq8C,EAAUr2D,IAAIu2D,UAAiBz2D,OAGpD1R,MAAKooE,cAELx8C,EAAauY,QAAQ,SAAAvzB,GACnBipC,EAAKwuB,eAAez3D,KAGtB5Q,KAAKmF,SAASnF,KAAM,OAAQA,KAAKsoE,WAGnCA,SAxByB,SAwBfz4D,GAER7P,KAAKuE,IAAI6S,KAAK,2BAA2B1S,QACzC1E,KAAKuF,QAAQ8lD,SAAStmD,QAAQ,WAAY8K,IAG5Cq4D,YA9ByB,WA+BvB,MAAIv/D,OAAMkI,QAAQ7Q,KAAKuF,QAAQgjE,iBAAiBC,UACvCxoE,KAAKuF,QAAQgjE,iBAAiBC,aAMzCH,eAtCyB,SAsCTz3D,GACVA,EAAMshB,KACRlyB,KAAK8W,IAAIlG,EAAMshB,MACb3sB,QAASqL,EAAMrL,UAGjBvF,KAAK4xC,SAAShhC,IAIlBw3D,YAhDyB,WAiDvB,GAAMK,GAAczoE,KAAKuF,QAAQ8lD,SAASnqD,IAAI,WAC9C,IAAIunE,GAAeA,EAAYpmE,MAAMwD,OAAQ,CAC3C,GAAM6iE,IAAiB,EAAAZ,EAAAnpC,gBACrB/nB,QAAS6xD,EAAYpmE,MAAM,GAAGiD,QAC9BoK,KAAM,WAER1P,MAAK8W,IAAI4xD,EAAgB,gC9BisdzB,SAAU9oE,EAAQD,G+B3vdxB,GAAA6B,MAAuBA,cACvB5B,GAAAD,QAAA,SAAAgsD,EAAAxhD,GACA,MAAA3I,GAAAjB,KAAAorD,EAAAxhD,K/BmwdM,SAAUvK,EAAQD,EAASO,GgCpwdjC,GAAAyoE,GAAczoE,EAAQ,IACtBwyD,EAAcxyD,EAAQ,GACtBN,GAAAD,QAAA,SAAAgsD,GACA,MAAAgd,GAAAjW,EAAA/G,MhC6wdM,SAAU/rD,EAAQD,EAASO,GiCjxdjC,GAAA0oE,GAAU1oE,EAAQ,IAClBgnE,EAAiBhnE,EAAQ,IACzB2oE,EAAgB3oE,EAAQ,IACxBmyD,EAAkBnyD,EAAQ,IAC1BwsB,EAAUxsB,EAAQ,IAClBkyD,EAAqBlyD,EAAQ,KAC7B4oE,EAAAhoE,OAAAioE,wBAEAppE,GAAA4yD,EAAYryD,EAAQ,IAAgB4oE,EAAA,SAAAtW,EAAAtI,GAGpC,GAFAsI,EAAAqW,EAAArW,GACAtI,EAAAmI,EAAAnI,GAAA,GACAkI,EAAA,IACA,MAAA0W,GAAAtW,EAAAtI,GACG,MAAApgD,IACH,GAAA4iB,EAAA8lC,EAAAtI,GAAA,MAAAgd,IAAA0B,EAAArW,EAAAhyD,KAAAiyD,EAAAtI,GAAAsI,EAAAtI,MjCyxdM,SAAUtqD,EAAQD,EAASO,GkCtydjC,GAAAwsB,GAAUxsB,EAAQ,IAClB8oE,EAAe9oE,EAAQ,IACvB+oE,EAAe/oE,EAAQ,KAAe,YACtCgpE,EAAApoE,OAAAS,SAEA3B,GAAAD,QAAAmB,OAAAqoE,gBAAA,SAAA3W,GAEA,MADAA,GAAAwW,EAAAxW,GACA9lC,EAAA8lC,EAAAyW,GAAAzW,EAAAyW,GACA,kBAAAzW,GAAApuD,aAAAouD,eAAApuD,YACAouD,EAAApuD,YAAA7C,UACGixD,YAAA1xD,QAAAooE,EAAA,OlC+ydG,SAAUtpE,EAAQD,EAASO,GAEjC,YACA,IAAIw4B,GAA8B9H,CmCjzdlC/wB,IAAQK,EAAA,GAAQA,EAAA,QAAhB+I,MAAA2nB,EAAA,SAAsC4N,EAAMgwB,GAE1C,QAAS4a,GAAa9jE,GACpBtF,KAAKW,KAAO6tD,EAAM7B,aAClB3sD,KAAKsF,QAAUA,GAAWk5B,EAAKzkB,IAAI,gBAIrC,QAAS6qD,GAAyBt/D,GAChCtF,KAAKW,KAAO6tD,EAAM5B,0BAClB5sD,KAAKsF,QAAUA,GAAWk5B,EAAKzkB,IAAI,6BAIrC,QAASsvD,GAAY/jE,GACnBtF,KAAKW,KAAO6tD,EAAM3B,YAClB7sD,KAAKsF,QAAUA,EAIjB,QAASgkE,GAAmBhkE,GAC1BtF,KAAKW,KAAO6tD,EAAMV,oBAClB9tD,KAAKsF,QAAUA,EAKjB,QAASikE,KACPvpE,KAAKW,KAAO6tD,EAAM1B,gCAIpB,QAAS0c,GAAUvZ,GACjBjwD,KAAKW,KAAO6tD,EAAMzB,UAClB/sD,KAAKsF,QAAU2qD,EAAInpD,IAAIsnC,aAAaE,aACpCtuC,KAAK8G,IAAMmpD,EAAInpD,IAIjB,QAAS2iE,GAAexZ,GACtBjwD,KAAKW,KAAO6tD,EAAMxB,gBAClBhtD,KAAKsF,QAAU2qD,EAAInpD,IAAIsnC,aAAaE,aACpCtuC,KAAK8G,IAAMmpD,EAAInpD,IAKjB,QAAS4iE,KACP1pE,KAAKW,KAAO6tD,EAAMvB,qBAIpB,MA9CAmc,GAAY7nE,UAAY,GAAIkH,OAM5Bm8D,EAAwBrjE,UAAY,GAAIkH,OAMxC4gE,EAAW9nE,UAAY,GAAIkH,OAM3B6gE,EAAkB/nE,UAAY,GAAIkH,OAMlC8gE,EAA4BhoE,UAAY,GAAIkH,OAO5C+gE,EAASjoE,UAAY,GAAIkH,OAOzBghE,EAAcloE,UAAY,GAAIkH,OAM9BihE,EAAmBnoE,UAAY,GAAIkH,QAGjC2gE,YAAaA,EACbxE,wBAAyBA,EACzByE,WAAYA,EACZC,kBAAmBA,EACnBC,4BAA6BA,EAC7BC,SAAUA,EACVC,cAAeA,EACfC,mBAAoBA,IA5DxBrlE,MAAA1E,EAAA+4B,MAAA94B,EAAAD,QAAAixB,InCk4dM,SAAUhxB,EAAQD,GoC94dxB,GAAA0pD,GAAAzpD,EAAAD,SAA6BquD,QAAA,QAC7B,iBAAAC,WAAA5E,IpCq5dM,SAAUzpD,EAAQD,EAASO,GqCr5djC,GAAAypE,GAAgBzpE,EAAQ,GACxBN,GAAAD,QAAA,SAAAsF,EAAA02D,EAAA91D,GAEA,GADA8jE,EAAA1kE,OACAgE,KAAA0yD,EAAA,MAAA12D,EACA,QAAAY,GACA,uBAAAlD,GACA,MAAAsC,GAAA1E,KAAAo7D,EAAAh5D,GAEA,wBAAAA,EAAAsgE,GACA,MAAAh+D,GAAA1E,KAAAo7D,EAAAh5D,EAAAsgE,GAEA,wBAAAtgE,EAAAsgE,EAAAxiE,GACA,MAAAwE,GAAA1E,KAAAo7D,EAAAh5D,EAAAsgE,EAAAxiE,IAGA,kBACA,MAAAwE,GAAAZ,MAAAs3D,EAAAr3D,crC+5dM,SAAU1E,EAAQD,GsCh7dxB,GAAAiL,MAAiBA,QAEjBhL,GAAAD,QAAA,SAAAgsD,GACA,MAAA/gD,GAAArK,KAAAorD,GAAA/iD,MAAA,QtCw7dM,SAAUhJ,EAAQD,GuC17dxB,GAAAiqE,GAAAn8C,KAAAm8C,KACAl8C,EAAAD,KAAAC,KACA9tB,GAAAD,QAAA,SAAAgsD,GACA,MAAAtjC,OAAAsjC,MAAA,GAAAA,EAAA,EAAAj+B,EAAAk8C,GAAAje,KvCm8dM,SAAU/rD,EAAQD,EAASO,GAEjC,YwCx8dA,IAAAsnE,GAAYtnE,EAAQ,EAEpBN,GAAAD,QAAA,SAAAiV,EAAA+jD,GACA,QAAA/jD,GAAA4yD,EAAA,WAEA7O,EAAA/jD,EAAArU,KAAA,kBAAuD,GAAAqU,EAAArU,KAAA,UxCi9djD,SAAUX,EAAQD,EAASO,GyCt9djCN,EAAAD,SAAkBO,EAAQ,IAAU,WACpC,MAA0E,IAA1EY,OAAAC,kBAAiC,KAAQG,IAAA,WAAmB,YAAcyB,KzC+9dpE,SAAU/C,EAAQD,EAASO,GAEjC,YAyBA,SAASm6B,GAAuBz4B,GAAO,MAAOA,IAAOA,EAAIR,WAAaQ,GAAQC,QAASD,GAtBvFd,OAAOC,eAAepB,EAAS,cAC7B0C,OAAO,G0Cv+dT,IAAAylE,GAAA5nE,EAAA,GACA88B,EAAA98B,EAAA,I1C6+dI+8B,EAAa5C,EAAuB2C,G0C5+dxCxC,EAAAt6B,EAAA,K1Cg/dIu6B,EAAcJ,EAAuBG,G0C/+dzCqvC,EAAA3pE,EAAA,K1Cm/dI4pE,EAAezvC,EAAuBwvC,G0Cl/d1CE,EAAA7pE,EAAA,I1Cs/dI8pE,EAAe3vC,EAAuB0vC,EAI1CpqE,GAAQkC,Q0Cx/dOqwB,OAAK7rB,QAElB4jE,OAAQC,UAERC,KAAMC,UAEN9e,OAAQ+e,UAERx7D,UAAW,gBAEXtL,SAAU,0GAIVkM,WAdyB,WAgBvB,GAAM66D,GAAWtqE,KAAKuqE,mBAChB16D,EAAQ,GAAIy6D,IAChBE,SAAUxqE,KAAKuF,QAAQgjE,iBAAiB5nE,MAI1CX,MAAK8W,IAAI9W,KAAKiqE,QAAUz3C,SAAU,qBAClCxyB,KAAK8W,IAAI9W,KAAKmqE,MACZ33C,SAAW,iBACXjtB,SACEsK,WAGJ7P,KAAK8W,IAAI9W,KAAKsrD,QAAU94B,SAAW,sBAGrCna,WAhCyB,WAmCvB,GAAMgzC,GAAWrrD,KAAKuF,QAAQ8lD,QAC9BrrD,MAAKuE,IAAI6S,KAAK,eAAerI,MAAM,WAEjC,MADAs8C,GAAStmD,QAAQ,eAAgB,0BAC1B,KAKXwlE,iBA3CyB,WA4CvB,MAAO1rC,WAAUntB,OAAO1R,KAAKuF,QAAQgjE,sB1Cy/dnC,SAAU3oE,EAAQD,EAASO,G2C1iejC,GAAA+C,GAAe/C,EAAQ,EAGvBN,GAAAD,QAAA,SAAAgsD,EAAA3B,GACA,IAAA/mD,EAAA0oD,GAAA,MAAAA,EACA,IAAA1mD,GAAA0K,CACA,IAAAq6C,GAAA,mBAAA/kD,EAAA0mD,EAAA/gD,YAAA3H,EAAA0M,EAAA1K,EAAA1E,KAAAorD,IAAA,MAAAh8C,EACA,uBAAA1K,EAAA0mD,EAAAiK,WAAA3yD,EAAA0M,EAAA1K,EAAA1E,KAAAorD,IAAA,MAAAh8C,EACA,KAAAq6C,GAAA,mBAAA/kD,EAAA0mD,EAAA/gD,YAAA3H,EAAA0M,EAAA1K,EAAA1E,KAAAorD,IAAA,MAAAh8C,EACA,MAAAwzB,WAAA,6C3CmjeM,SAAUvjC,EAAQD,G4C5jexBC,EAAAD,QAAA,SAAAgsD,GACA,OAAA1iD,IAAA0iD,EAAA,KAAAxoB,WAAA,yBAAAwoB,EACA,OAAAA,K5CqkeM,SAAU/rD,EAAQD,EAASO,G6CvkejC,GAAAqpD,GAAcrpD,EAAQ,GACtBmpD,EAAWnpD,EAAQ,IACnBsnE,EAAYtnE,EAAQ,EACpBN,GAAAD,QAAA,SAAA8qE,EAAAloD,GACA,GAAAtd,IAAAokD,EAAAvoD,YAA6B2pE,IAAA3pE,OAAA2pE,GAC7B/gB,IACAA,GAAA+gB,GAAAloD,EAAAtd,GACAskD,IAAAS,EAAAT,EAAAK,EAAA4d,EAAA,WAAqDviE,EAAA,KAAS,SAAAykD,K7CglexD,SAAU9pD,EAAQD,EAASO,G8CjlejC,GAAAo1C,GAAUp1C,EAAQ,IAClByoE,EAAczoE,EAAQ,IACtB8oE,EAAe9oE,EAAQ,IACvBwqE,EAAexqE,EAAQ,IACvByqE,EAAUzqE,EAAQ,IAClBN,GAAAD,QAAA,SAAAirE,EAAAC,GACA,GAAAC,GAAA,GAAAF,EACAG,EAAA,GAAAH,EACAI,EAAA,GAAAJ,EACAK,EAAA,GAAAL,EACAM,EAAA,GAAAN,EACAO,EAAA,GAAAP,GAAAM,EACAx5D,EAAAm5D,GAAAF,CACA,iBAAAvsB,EAAAgtB,EAAAzP,GAQA,IAPA,GAMAhsD,GAAAoQ,EANAyyC,EAAAwW,EAAA5qB,GACAr+C,EAAA4oE,EAAAnW,GACAD,EAAAjd,EAAA81B,EAAAzP,EAAA,GACA91D,EAAA6kE,EAAA3qE,EAAA8F,QACAqkB,EAAA,EACApV,EAAAg2D,EAAAp5D,EAAA0sC,EAAAv4C,GAAAklE,EAAAr5D,EAAA0sC,EAAA,OAAAn1C,GAEUpD,EAAAqkB,EAAeA,IAAA,IAAAihD,GAAAjhD,IAAAnqB,MACzB4P,EAAA5P,EAAAmqB,GACAnK,EAAAwyC,EAAA5iD,EAAAua,EAAAsoC,GACAoY,GACA,GAAAE,EAAAh2D,EAAAoV,GAAAnK,MACA,IAAAA,EAAA,OAAA6qD,GACA,eACA,cAAAj7D,EACA,cAAAua,EACA,QAAApV,EAAAtJ,KAAAmE,OACS,IAAAs7D,EAAA,QAGT,OAAAC,IAAA,EAAAF,GAAAC,IAAAn2D,K9CimeM,SAAUlV,EAAQD,EAASO,G+C1oejC,GAAA+C,GAAe/C,EAAQ,GACvBN,GAAAD,QAAA,SAAAgsD,GACA,IAAA1oD,EAAA0oD,GAAA,KAAAxoB,WAAAwoB,EAAA,qBACA,OAAAA,K/CkpeM,SAAU/rD,EAAQD,GgDrpexBC,EAAAD,QAAA,SAAAgsD,GACA,sBAAAA,GAAA,OAAAA,EAAA,kBAAAA,KhD6peM,SAAU/rD,EAAQD,EAASO,GiD9pejCN,EAAAD,SAAkBkC,QAAY3B,EAAQ,KAAkCkB,YAAA,IjDoqelE,SAAUxB,EAAQD,EAASO,GAEjC,YkDrqeA,IAAIA,EAAQ,IAAgB,CAC5B,GAAAmrE,GAAgBnrE,EAAQ,IACxBkpD,EAAelpD,EAAQ,GACvBsnE,EAActnE,EAAQ,GACtBqpD,EAAgBrpD,EAAQ,GACxBorE,EAAeprE,EAAQ,KACvBqrE,EAAgBrrE,EAAQ,KACxBo1C,EAAYp1C,EAAQ,IACpBsrE,EAAmBtrE,EAAQ,IAC3BurE,EAAqBvrE,EAAQ,IAC7Bu0B,EAAav0B,EAAQ,IACrBwrE,EAAoBxrE,EAAQ,IAC5BouD,EAAkBpuD,EAAQ,IAC1BwqE,EAAiBxqE,EAAQ,IACzByrE,EAAgBzrE,EAAQ,KACxB0rE,EAAwB1rE,EAAQ,IAChCmyD,EAAoBnyD,EAAQ,IAC5BwsB,EAAYxsB,EAAQ,IACpB2rE,EAAgB3rE,EAAQ,IACxB+C,EAAiB/C,EAAQ,GACzB8oE,EAAiB9oE,EAAQ,IACzB4rE,EAAoB5rE,EAAQ,KAC5BwR,EAAexR,EAAQ,IACvBipE,EAAuBjpE,EAAQ,IAC/B6rE,EAAa7rE,EAAQ,IAAgBqyD,EACrCyZ,EAAkB9rE,EAAQ,KAC1BiuD,EAAYjuD,EAAQ,IACpB+rE,EAAY/rE,EAAQ,IACpBgsE,EAA0BhsE,EAAQ,IAClCisE,EAA4BjsE,EAAQ,KACpCksE,EAA2BlsE,EAAQ,IACnCmsE,EAAuBnsE,EAAQ,KAC/BosE,EAAkBpsE,EAAQ,IAC1BqsE,EAAoBrsE,EAAQ,KAC5BssE,EAAmBtsE,EAAQ,IAC3BusE,EAAkBvsE,EAAQ,KAC1BwsE,EAAwBxsE,EAAQ,KAChCysE,EAAYzsE,EAAQ,IACpB0sE,EAAc1sE,EAAQ,IACtBoyD,EAAAqa,EAAApa,EACAuW,EAAA8D,EAAAra,EACAsa,EAAAzjB,EAAAyjB,WACA1pC,EAAAimB,EAAAjmB,UACA2pC,EAAA1jB,EAAA0jB,WAKAC,EAAApkE,MAAA,UACAqkE,EAAAzB,EAAA0B,YACAC,EAAA3B,EAAA4B,SACAC,EAAAlB,EAAA,GACAmB,EAAAnB,EAAA,GACAoB,EAAApB,EAAA,GACAqB,EAAArB,EAAA,GACAsB,EAAAtB,EAAA,GACAuB,GAAAvB,EAAA,GACAwB,GAAAvB,GAAA,GACAwB,GAAAxB,GAAA,GACAyB,GAAAvB,EAAAptD,OACA4uD,GAAAxB,EAAA/hE,KACAwjE,GAAAzB,EAAA0B,QACAC,GAAAjB,EAAA5qB,YACA8rB,GAAAlB,EAAAzhD,OACA4iD,GAAAnB,EAAAoB,YACAC,GAAArB,EAAAtjE,KACA4kE,GAAAtB,EAAAuB,KACAC,GAAAxB,EAAAnkE,MACA4lE,GAAAzB,EAAAniE,SACA6jE,GAAA1B,EAAA2B,eACAC,GAAA1C,EAAA,YACA2C,GAAA3C,EAAA,eACA4C,GAAA1gB,EAAA,qBACA2gB,GAAA3gB,EAAA,mBACA4gB,GAAAzD,EAAA0D,OACAC,GAAA3D,EAAA4D,MACA9jB,GAAAkgB,EAAAlgB,KAGA+jB,GAAAjD,EAAA,WAAA1Z,EAAA3sD,GACA,MAAAupE,IAAAhD,EAAA5Z,IAAAsc,KAAAjpE,KAGAwpE,GAAA7H,EAAA,WAEA,cAAAsF,GAAA,GAAAwC,cAAA,IAAAC,QAAA,KAGAC,KAAA1C,OAAA,UAAAh9D,KAAA03D,EAAA,WACA,GAAAsF,GAAA,GAAAh9D,UAGA2/D,GAAA,SAAA9jB,EAAA+jB,GACA,GAAAz6C,GAAAq5B,EAAA3C,EACA,IAAA12B,EAAA,GAAAA,EAAAy6C,EAAA,KAAA7C,GAAA,gBACA,OAAA53C,IAGA3f,GAAA,SAAAq2C,GACA,GAAA1oD,EAAA0oD,IAAAsjB,KAAAtjB,GAAA,MAAAA,EACA,MAAAxoB,GAAAwoB,EAAA,2BAGAyjB,GAAA,SAAApM,EAAAn9D,GACA,KAAA5C,EAAA+/D,IAAA6L,KAAA7L,IACA,KAAA7/B,GAAA,uCACK,WAAA6/B,GAAAn9D,IAGL8pE,GAAA,SAAAnd,EAAAod,GACA,MAAAC,IAAAzD,EAAA5Z,IAAAsc,KAAAc,IAGAC,GAAA,SAAA7M,EAAA4M,GAIA,IAHA,GAAA1lD,GAAA,EACArkB,EAAA+pE,EAAA/pE,OACAiP,EAAAs6D,GAAApM,EAAAn9D,GACAA,EAAAqkB,GAAApV,EAAAoV,GAAA0lD,EAAA1lD,IACA,OAAApV,IAGAg7D,GAAA,SAAAnkB,EAAAxhD,EAAA60B,GACAszB,EAAA3G,EAAAxhD,GAAiBjJ,IAAA,WAAmB,MAAAlB,MAAA+vE,GAAA/wC,OAGpCgxC,GAAA,SAAAxsE,GACA,GAKAnD,GAAAwF,EAAAoZ,EAAAnK,EAAA45B,EAAAuhC,EALAzd,EAAAwW,EAAAxlE,GACA0sE,EAAA5rE,UAAAuB,OACAsqE,EAAAD,EAAA,EAAA5rE,UAAA,OAAA2E,GACAmnE,MAAAnnE,KAAAknE,EACAE,EAAArE,EAAAxZ,EAEA,QAAAvpD,IAAAonE,IAAAvE,EAAAuE,GAAA,CACA,IAAAJ,EAAAI,EAAA9vE,KAAAiyD,GAAAvzC,KAAA5e,EAAA,IAAyDquC,EAAAuhC,EAAAj6C,QAAAne,KAAgCxX,IACzF4e,EAAAzT,KAAAkjC,EAAArsC,MACOmwD,GAAAvzC,EAGP,IADAmxD,GAAAF,EAAA,IAAAC,EAAA76B,EAAA66B,EAAA7rE,UAAA,OACAjE,EAAA,EAAAwF,EAAA6kE,EAAAlY,EAAA3sD,QAAAiP,EAAAs6D,GAAApvE,KAAA6F,GAA6EA,EAAAxF,EAAYA,IACzFyU,EAAAzU,GAAA+vE,EAAAD,EAAA3d,EAAAnyD,MAAAmyD,EAAAnyD,EAEA,OAAAyU,IAGAw7D,GAAA,WAIA,IAHA,GAAApmD,GAAA,EACArkB,EAAAvB,UAAAuB,OACAiP,EAAAs6D,GAAApvE,KAAA6F,GACAA,EAAAqkB,GAAApV,EAAAoV,GAAA5lB,UAAA4lB,IACA,OAAApV,IAIAy7D,KAAAzD,GAAAtF,EAAA,WAAyDiH,GAAAluE,KAAA,GAAAusE,GAAA,MAEzD0D,GAAA,WACA,MAAA/B,IAAApqE,MAAAksE,GAAAhC,GAAAhuE,KAAA+U,GAAAtV,OAAAsV,GAAAtV,MAAAsE,YAGAH,IACAssE,WAAA,SAAA7kE,EAAAojB,GACA,MAAA09C,GAAAnsE,KAAA+U,GAAAtV,MAAA4L,EAAAojB,EAAA1qB,UAAAuB,OAAA,EAAAvB,UAAA,OAAA2E,KAEA4qB,MAAA,SAAAu3C,GACA,MAAAmC,GAAAj4D,GAAAtV,MAAAorE,EAAA9mE,UAAAuB,OAAA,EAAAvB,UAAA,OAAA2E,KAEAynE,KAAA,SAAAruE,GACA,MAAAoqE,GAAApoE,MAAAiR,GAAAtV,MAAAsE,YAEA0oB,OAAA,SAAAo+C,GACA,MAAAuE,IAAA3vE,KAAAqtE,EAAA/3D,GAAAtV,MAAAorE,EACA9mE,UAAAuB,OAAA,EAAAvB,UAAA,OAAA2E,MAEAmO,KAAA,SAAAu5D,GACA,MAAAnD,GAAAl4D,GAAAtV,MAAA2wE,EAAArsE,UAAAuB,OAAA,EAAAvB,UAAA,OAAA2E,KAEAikB,UAAA,SAAAyjD,GACA,MAAAlD,IAAAn4D,GAAAtV,MAAA2wE,EAAArsE,UAAAuB,OAAA,EAAAvB,UAAA,OAAA2E,KAEAk7B,QAAA,SAAAinC,GACAgC,EAAA93D,GAAAtV,MAAAorE,EAAA9mE,UAAAuB,OAAA,EAAAvB,UAAA,OAAA2E,KAEAke,QAAA,SAAAypD,GACA,MAAAjD,IAAAr4D,GAAAtV,MAAA4wE,EAAAtsE,UAAAuB,OAAA,EAAAvB,UAAA,OAAA2E,KAEA4nE,SAAA,SAAAD,GACA,MAAAlD,IAAAp4D,GAAAtV,MAAA4wE,EAAAtsE,UAAAuB,OAAA,EAAAvB,UAAA,OAAA2E,KAEAQ,KAAA,SAAAqnE,GACA,MAAA1C,IAAA/pE,MAAAiR,GAAAtV,MAAAsE,YAEA69C,YAAA,SAAAyuB,GACA,MAAA5C,IAAA3pE,MAAAiR,GAAAtV,MAAAsE,YAEAsN,IAAA,SAAAu+D,GACA,MAAAhB,IAAA75D,GAAAtV,MAAAmwE,EAAA7rE,UAAAuB,OAAA,EAAAvB,UAAA,OAAA2E,KAEAqiB,OAAA,SAAA8/C,GACA,MAAA6C,IAAA5pE,MAAAiR,GAAAtV,MAAAsE,YAEA6pE,YAAA,SAAA/C,GACA,MAAA8C,IAAA7pE,MAAAiR,GAAAtV,MAAAsE,YAEA8tC,QAAA,WAMA,IALA,GAIA/vC,GAJAs5D,EAAA37D,KACA6F,EAAAyP,GAAAqmD,GAAA91D,OACAkrE,EAAAtjD,KAAAC,MAAA7nB,EAAA,GACAqkB,EAAA,EAEAA,EAAA6mD,GACA1uE,EAAAs5D,EAAAzxC,GACAyxC,EAAAzxC,KAAAyxC,IAAA91D,GACA81D,EAAA91D,GAAAxD,CACO,OAAAs5D,IAEPlrC,KAAA,SAAA26C,GACA,MAAAkC,GAAAh4D,GAAAtV,MAAAorE,EAAA9mE,UAAAuB,OAAA,EAAAvB,UAAA,OAAA2E,KAEAqlE,KAAA,SAAA0C,GACA,MAAA3C,IAAA9tE,KAAA+U,GAAAtV,MAAAgxE,IAEAC,SAAA,SAAAC,EAAAC,GACA,GAAA3e,GAAAl9C,GAAAtV,MACA6F,EAAA2sD,EAAA3sD,OACAurE,EAAAxF,EAAAsF,EAAArrE,EACA,YAAAumE,EAAA5Z,IAAAsc,MACAtc,EAAA+c,OACA/c,EAAA6e,WAAAD,EAAA5e,EAAA8e,kBACA5G,OAAAzhE,KAAAkoE,EAAAtrE,EAAA+lE,EAAAuF,EAAAtrE,IAAAurE,MAKAG,GAAA,SAAAviD,EAAAmiD,GACA,MAAAxB,IAAA3vE,KAAAuuE,GAAAhuE,KAAA+U,GAAAtV,MAAAgvB,EAAAmiD,KAGAK,GAAA,SAAAC,GACAn8D,GAAAtV,KACA,IAAAi1B,GAAAw6C,GAAAnrE,UAAA,MACAuB,EAAA7F,KAAA6F,OACA2kC,EAAAw+B,EAAAyI,GACAlb,EAAAmU,EAAAlgC,EAAA3kC,QACAqkB,EAAA,CACA,IAAAqsC,EAAAthC,EAAApvB,EAAA,KAAAgnE,GAvKA,gBAwKA,MAAA3iD,EAAAqsC,GAAAv2D,KAAAi1B,EAAA/K,GAAAsgB,EAAAtgB,MAGAwnD,IACA3D,QAAA,WACA,MAAAD,IAAAvtE,KAAA+U,GAAAtV,QAEAsK,KAAA,WACA,MAAAujE,IAAAttE,KAAA+U,GAAAtV,QAEAif,OAAA,WACA,MAAA2uD,IAAArtE,KAAA+U,GAAAtV,SAIA2xE,GAAA,SAAA/lE,EAAAzB,GACA,MAAAlH,GAAA2I,IACAA,EAAAqjE,KACA,gBAAA9kE,IACAA,IAAAyB,IACA3B,QAAAE,IAAAF,OAAAE,IAEAynE,GAAA,SAAAhmE,EAAAzB,GACA,MAAAwnE,IAAA/lE,EAAAzB,EAAAkoD,EAAAloD,GAAA,IACAshE,EAAA,EAAA7/D,EAAAzB,IACA2+D,EAAAl9D,EAAAzB,IAEA0nE,GAAA,SAAAjmE,EAAAzB,EAAA2nE,GACA,QAAAH,GAAA/lE,EAAAzB,EAAAkoD,EAAAloD,GAAA,KACAlH,EAAA6uE,IACAplD,EAAAolD,EAAA,WACAplD,EAAAolD,EAAA,QACAplD,EAAAolD,EAAA,QAEAA,EAAA9wE,cACA0rB,EAAAolD,EAAA,cAAAA,EAAAC,UACArlD,EAAAolD,EAAA,gBAAAA,EAAA7wE,WAIKqxD,EAAA1mD,EAAAzB,EAAA2nE,IAFLlmE,EAAAzB,GAAA2nE,EAAAzvE,MACAuJ,GAIAmjE,MACAnC,EAAAra,EAAAqf,GACAjF,EAAApa,EAAAsf,IAGAtoB,IAAAS,EAAAT,EAAAK,GAAAmlB,GAAA,UACAhG,yBAAA6I,GACA7wE,eAAA8wE,KAGArK,EAAA,WAAyBgH,GAAAjuE,aACzBiuE,GAAAC,GAAA,WACA,MAAAL,IAAA7tE,KAAAP,OAIA,IAAAgyE,IAAAtG,KAA4CvnE,GAC5CunE,GAAAsG,GAAAN,IACAj9C,EAAAu9C,GAAArD,GAAA+C,GAAAzyD,QACAysD,EAAAsG,IACAppE,MAAA2oE,GACAzhE,IAAA0hE,GACAptE,YAAA,aACAwG,SAAA4jE,GACAE,eAAA8B,KAEAV,GAAAkC,GAAA,cACAlC,GAAAkC,GAAA,kBACAlC,GAAAkC,GAAA,kBACAlC,GAAAkC,GAAA,cACA1f,EAAA0f,GAAApD,IACA1tE,IAAA,WAAsB,MAAAlB,MAAAivE,OAItBrvE,EAAAD,QAAA,SAAA8qE,EAAAiF,EAAAuC,EAAAC,GACAA,KACA,IAAAplD,GAAA29C,GAAAyH,EAAA,sBACAC,EAAA,MAAA1H,EACA2H,EAAA,MAAA3H,EACA4H,EAAAjpB,EAAAt8B,GACAwlD,EAAAD,MACAE,EAAAF,GAAAlJ,EAAAkJ,GACAG,GAAAH,IAAA/G,EAAAmH,IACAjgB,KACAkgB,EAAAL,KAAA,UACAzxE,EAAA,SAAA+6D,EAAAzxC,GACA,GAAAzmB,GAAAk4D,EAAAoU,EACA,OAAAtsE,GAAAkvE,EAAAR,GAAAjoD,EAAAwlD,EAAAjsE,EAAA5C,EAAAwuE,KAEAuD,EAAA,SAAAjX,EAAAzxC,EAAA7nB,GACA,GAAAoB,GAAAk4D,EAAAoU,EACAmC,KAAA7vE,KAAAorB,KAAA2Z,MAAA/kC,IAAA,IAAAA,EAAA,YAAAA,GACAoB,EAAAkvE,EAAAP,GAAAloD,EAAAwlD,EAAAjsE,EAAA5C,EAAAwB,EAAAgtE,KAEAwD,EAAA,SAAAlX,EAAAzxC,GACAooC,EAAAqJ,EAAAzxC,GACAhpB,IAAA,WACA,MAAAN,GAAAZ,KAAAkqB,IAEApa,IAAA,SAAAzN,GACA,MAAAuwE,GAAA5yE,KAAAkqB,EAAA7nB,IAEApB,YAAA,IAGAuxE,IACAH,EAAAJ,EAAA,SAAAtW,EAAAl4D,EAAAqvE,EAAAC,GACAvH,EAAA7P,EAAA0W,EAAAvlD,EAAA,KACA,IAEAyiD,GAAAyD,EAAAntE,EAAAgyB,EAFA3N,EAAA,EACA+K,EAAA,CAEA,IAAAhyB,EAAAQ,GAIS,MAAAA,YAAAupE,IAhUT,gBAgUSn1C,EAAAg0C,EAAApoE,KA/TT,qBA+TSo0B,GAaA,MAAAo3C,MAAAxrE,GACTosE,GAAAwC,EAAA5uE,GAEAusE,GAAAzvE,KAAA8xE,EAAA5uE,EAfA8rE,GAAA9rE,EACAwxB,EAAAw6C,GAAAqD,EAAApD,EACA,IAAAuD,GAAAxvE,EAAAuvE,UACA,QAAA/pE,KAAA8pE,EAAA,CACA,GAAAE,EAAAvD,EAAA,KAAA7C,GApSA,gBAsSA,KADAmG,EAAAC,EAAAh+C,GACA,OAAA43C,GAtSA,qBAySA,KADAmG,EAAAtI,EAAAqI,GAAArD,GACAz6C,EAAAg+C,EAAA,KAAApG,GAzSA,gBA2SAhnE,GAAAmtE,EAAAtD,MAfA7pE,GAAA8lE,EAAAloE,GACAuvE,EAAAntE,EAAA6pE,EACAH,EAAA,GAAAvC,GAAAgG,EA0BA,KAPAv+C,EAAAknC,EAAA,MACAsH,EAAAsM,EACA1uE,EAAAo0B,EACA30B,EAAA0yE,EACAlpE,EAAAjE,EACA8sE,EAAA,GAAAzF,GAAAqC,KAEArlD,EAAArkB,GAAAgtE,EAAAlX,EAAAzxC,OAEAwoD,EAAAL,EAAA,UAAA3gE,EAAAsgE,IACAv9C,EAAAi+C,EAAA,cAAAL,IACK7K,EAAA,WACL6K,EAAA,MACK7K,EAAA,WACL,GAAA6K,IAAA,MACK9F,EAAA,SAAA2G,GACL,GAAAb,GACA,GAAAA,GAAA,MACA,GAAAA,GAAA,KACA,GAAAA,GAAAa,KACK,KACLb,EAAAJ,EAAA,SAAAtW,EAAAl4D,EAAAqvE,EAAAC,GACAvH,EAAA7P,EAAA0W,EAAAvlD,EACA,IAAA+K,EAGA,OAAA50B,GAAAQ,GACAA,YAAAupE,IA7WA,gBA6WAn1C,EAAAg0C,EAAApoE,KA5WA,qBA4WAo0B,MACA5uB,KAAA8pE,EACA,GAAAT,GAAA7uE,EAAAgsE,GAAAqD,EAAApD,GAAAqD,OACA9pE,KAAA6pE,EACA,GAAAR,GAAA7uE,EAAAgsE,GAAAqD,EAAApD,IACA,GAAA4C,GAAA7uE,GAEAwrE,KAAAxrE,GAAAosE,GAAAwC,EAAA5uE,GACAusE,GAAAzvE,KAAA8xE,EAAA5uE,GATA,GAAA6uE,GAAA3G,EAAAloE,MAWA2pE,EAAAmF,IAAAjoB,SAAA/oD,UAAAwqE,EAAAuG,GAAA5/B,OAAAq5B,EAAAwG,IAAAxG,EAAAuG,GAAA,SAAAnoE,GACAA,IAAAkoE,IAAA59C,EAAA49C,EAAAloE,EAAAmoE,EAAAnoE,MAEAkoE,EAAA,UAAAK,EACArH,IAAAqH,EAAAtuE,YAAAiuE,GAEA,IAAAc,GAAAT,EAAA/D,IACAyE,IAAAD,IACA,UAAAA,EAAAxyE,UAAAsI,IAAAkqE,EAAAxyE,MACA0yE,EAAA3B,GAAAzyD,MACAwV,GAAA49C,EAAAxD,IAAA,GACAp6C,EAAAi+C,EAAAzD,GAAAniD,GACA2H,EAAAi+C,EAAAtnB,IAAA,GACA32B,EAAAi+C,EAAA5D,GAAAuD,IAEAH,EAAA,GAAAG,GAAA,GAAAzD,KAAA9hD,EAAA8hD,KAAA8D,KACApgB,EAAAogB,EAAA9D,IACA1tE,IAAA,WAA0B,MAAA4rB,MAI1B0lC,EAAA1lC,GAAAulD,EAEA9oB,IAAAO,EAAAP,EAAAiB,EAAAjB,EAAAK,GAAAyoB,GAAAC,GAAA9f,GAEAjJ,IAAAS,EAAAl9B,GACAwkD,kBAAA5B,IAGAnmB,IAAAS,EAAAT,EAAAK,EAAA4d,EAAA,WAAuD8K,EAAAgB,GAAA/yE,KAAA8xE,EAAA,KAA+BvlD,GACtF/T,KAAAi3D,GACAsD,GAAAhD,KApZA,qBAuZAoC,IAAAj+C,EAAAi+C,EAvZA,oBAuZAhD,GAEAnmB,IAAAW,EAAAp9B,EAAA3oB,IAEAqoE,EAAA1/C,GAEAy8B,IAAAW,EAAAX,EAAAK,EAAA4lB,GAAA1iD,GAAuDhd,IAAA0hE,KAEvDjoB,IAAAW,EAAAX,EAAAK,GAAAwpB,EAAAtmD,EAAA4kD,IAEArG,GAAAqH,EAAA9nE,UAAA4jE,KAAAkE,EAAA9nE,SAAA4jE,IAEAjlB,IAAAW,EAAAX,EAAAK,EAAA4d,EAAA,WACA,GAAA6K,GAAA,GAAAzpE,UACKkkB,GAAUlkB,MAAA2oE,KAEfhoB,IAAAW,EAAAX,EAAAK,GAAA4d,EAAA,WACA,YAAAkH,kBAAA,GAAA2D,IAAA,MAAA3D,qBACKlH,EAAA,WACLkL,EAAAhE,eAAAnuE,MAAA,SACKusB,GAAW4hD,eAAA8B,KAEhBlE,EAAAx/C,GAAAsmD,EAAAD,EAAAE,EACAhI,GAAA+H,GAAA3+C,EAAAi+C,EAAA/D,GAAA0E,QAECzzE,GAAAD,QAAA,clD4qeK,SAAUC,EAAQD,EAASO,GmD3ofjC,GAAAqzE,GAAUrzE,EAAQ,KAClBqpD,EAAcrpD,EAAQ,GACtBszE,EAAatzE,EAAQ,IAAW,YAChCguD,EAAAslB,EAAAtlB,QAAAslB,EAAAtlB,MAAA,IAAiDhuD,EAAQ,OAEzDuzE,EAAA,SAAA7nE,EAAA8nE,EAAAhiE,GACA,GAAAiiE,GAAAzlB,EAAAhtD,IAAA0K,EACA,KAAA+nE,EAAA,CACA,IAAAjiE,EAAA,MACAw8C,GAAAp+C,IAAAlE,EAAA+nE,EAAA,GAAAJ,IAEA,GAAAK,GAAAD,EAAAzyE,IAAAwyE,EACA,KAAAE,EAAA,CACA,IAAAliE,EAAA,MACAiiE,GAAA7jE,IAAA4jE,EAAAE,EAAA,GAAAL,IACG,MAAAK,IAEHC,EAAA,SAAAC,EAAAthB,EAAAtI,GACA,GAAA6pB,GAAAN,EAAAjhB,EAAAtI,GAAA,EACA,YAAAjhD,KAAA8qE,KAAArnD,IAAAonD,IAEAE,EAAA,SAAAF,EAAAthB,EAAAtI,GACA,GAAA6pB,GAAAN,EAAAjhB,EAAAtI,GAAA,EACA,YAAAjhD,KAAA8qE,MAAA9qE,GAAA8qE,EAAA7yE,IAAA4yE,IAEAG,EAAA,SAAAH,EAAAI,EAAA1hB,EAAAtI,GACAupB,EAAAjhB,EAAAtI,GAAA,GAAAp6C,IAAAgkE,EAAAI,IAEAC,EAAA,SAAAvoE,EAAA8nE,GACA,GAAAK,GAAAN,EAAA7nE,EAAA8nE,GAAA,GACAppE,IAEA,OADAypE,MAAA5vC,QAAA,SAAAzhC,EAAAyH,GAA0DG,EAAAkB,KAAArB,KAC1DG,GAEA8pE,EAAA,SAAAzoB,GACA,WAAA1iD,KAAA0iD,GAAA,gBAAAA,KAAA1hD,OAAA0hD,IAEAjC,EAAA,SAAA8I,GACAjJ,IAAAS,EAAA,UAAAwI,GAGA5yD,GAAAD,SACAuuD,QACAt8C,IAAA6hE,EACA/mD,IAAAmnD,EACA3yE,IAAA8yE,EACAlkE,IAAAmkE,EACA3pE,KAAA6pE,EACAhqE,IAAAiqE,EACA1qB,QnDmpfM,SAAU9pD,EAAQD,EAASO,GoDpsfjC,GAAAiyD,GAAejyD,EAAQ,IACvBkyD,EAAqBlyD,EAAQ,KAC7BmyD,EAAkBnyD,EAAQ,KAC1BoyD,EAAAxxD,OAAAC,cAEApB,GAAA4yD,EAAYryD,EAAQ,IAAgBY,OAAAC,eAAA,SAAAyxD,EAAAtI,EAAAuI,GAIpC,GAHAN,EAAAK,GACAtI,EAAAmI,EAAAnI,GAAA,GACAiI,EAAAM,GACAL,EAAA,IACA,MAAAE,GAAAE,EAAAtI,EAAAuI,GACG,MAAA3oD,IACH,UAAA2oD,IAAA,OAAAA,GAAA,KAAAtvB,WAAA,2BAEA,OADA,SAAAsvB,KAAAD,EAAAtI,GAAAuI,EAAApwD,OACAmwD,IpD4sfM,SAAU5yD,EAAQD,EAASO,GAEjC,YACA,IAAIw4B,GAA8B9H,CqDjtflC/wB,IAAQK,EAAA,GAAQA,EAAA,QAAhB+I,MAAA2nB,EAAA,SAAyC4N,EAAMgwB,GAAO,GAE9CtvB,GAASV,EAAKQ,SAASC,KAAvBC,KACFx8B,EAAI87B,EAAK97B,CAEb,OAAO87B,GAAKtM,KAAK7rB,QACf9C,SAAU,6GAKVsL,UAAW,uBACXC,QACE42C,UAAY,SAAU57C,GACpBA,EAAEuJ,iBACFrT,KAAKuF,QAAQ8lD,SAAStmD,QAAQ,UAC9B,IAAIhF,GAAOC,IACXA,MAAK6P,MAAMgzD,cAAc,SAAUC,GACjC,MAAOA,GAAY5yB,WAElByhB,KAAK,WACA5xD,EAAK2jB,SAASxiB,IAAI,eACpBg+B,EAAKpe,SAAS/gB,EAAK2jB,SAASxiB,IAAI,iBAEhCnB,EAAKsvB,MAAMvf,IAAI,cAAe0+C,EAAMtC,gBACpCnsD,EAAKwF,QAAQ8lD,SAAStmD,QAAQ,WAAY,SAKpDsR,gBAAiB,WACf,OACEg+D,cAAe3xE,EAAES,YAAYnD,KAAKuF,QAAQ8uE,eAAiB,OAASr0E,KAAKuF,QAAQ8uE,cACjFC,SAAUt0E,KAAKuF,QAAQ+uE,UAAY91C,EAAKzkB,IAAI,UAAW,cAjC/D1V,MAAA1E,EAAA+4B,MAAA94B,EAAAD,QAAAixB,IrDwwfM,SAAUhxB,EAAQD,EAASO,GAEjC,YACA,IAAIw4B,GAA8B9H,CsD3wflC/wB,IACEK,EAAA,QADF+I,MAAA2nB,EAAA,SAGU4N,GAQR,MAAOA,GAAKtM,KAAK7rB,QACf9C,SANa,uFAObsL,UAAW,oEACXqE,YACEmB,UAAW,qBAGb/O,QAAS,GAETmK,WAAY,SAAUlK,GAChBA,GAAWA,EAAQD,UACrBtF,KAAKsF,QAAUC,EAAQD,UAI3B+Q,gBAAiB,WACf,OACE/Q,QAAStF,KAAKsF,aA5BtBjB,MAAA1E,EAAA+4B,MAAA94B,EAAAD,QAAAixB,ItD2zfM,SAAUhxB,EAAQD,GuDv0fxBC,EAAAD,SAAA,GvD80fM,SAAUC,EAAQD,EAASO,GwD90fjC,GAAAq0E,GAAWr0E,EAAQ,IAAQ,QAC3B+C,EAAe/C,EAAQ,GACvBwsB,EAAUxsB,EAAQ,IAClBs0E,EAAct0E,EAAQ,IAAcqyD,EACpC9tD,EAAA,EACAgwE,EAAA3zE,OAAA2zE,cAAA,WACA,UAEAC,GAAcx0E,EAAQ,GAAU,WAChC,MAAAu0E,GAAA3zE,OAAA6zE,yBAEAC,EAAA,SAAAjpB,GACA6oB,EAAA7oB,EAAA4oB,GAAqBlyE,OACrBhC,EAAA,OAAAoE,EACA6/C,SAGAuwB,EAAA,SAAAlpB,EAAAj6C,GAEA,IAAAzO,EAAA0oD,GAAA,sBAAAA,MAAA,gBAAAA,GAAA,SAAAA,CACA,KAAAj/B,EAAAi/B,EAAA4oB,GAAA,CAEA,IAAAE,EAAA9oB,GAAA,SAEA,KAAAj6C,EAAA,SAEAkjE,GAAAjpB,GAEG,MAAAA,GAAA4oB,GAAAl0E,GAEHy0E,EAAA,SAAAnpB,EAAAj6C,GACA,IAAAgb,EAAAi/B,EAAA4oB,GAAA,CAEA,IAAAE,EAAA9oB,GAAA,QAEA,KAAAj6C,EAAA,QAEAkjE,GAAAjpB,GAEG,MAAAA,GAAA4oB,GAAAjwB,GAGHywB,EAAA,SAAAppB,GAEA,MADA+oB,IAAAM,EAAAC,MAAAR,EAAA9oB,KAAAj/B,EAAAi/B,EAAA4oB,IAAAK,EAAAjpB,GACAA,GAEAqpB,EAAAp1E,EAAAD,SACA8qE,IAAA8J,EACAU,MAAA,EACAJ,UACAC,UACAC,axDs1fM,SAAUn1E,EAAQD,EAASO,GyDx4fjC,GAAAg1E,GAAkBh1E,EAAQ,IAAQ,eAClC6sE,EAAApkE,MAAApH,cACA0H,IAAA8jE,EAAAmI,IAA0Ch1E,EAAQ,IAAS6sE,EAAAmI,MAC3Dt1E,EAAAD,QAAA,SAAAwK,GACA4iE,EAAAmI,GAAA/qE,IAAA,IzDi5fM,SAAUvK,EAAQD,EAASO,G0Dr5fjC,GAAAyoE,GAAczoE,EAAQ,KACtBwyD,EAAcxyD,EAAQ,IACtBN,GAAAD,QAAA,SAAAgsD,GACA,MAAAgd,GAAAjW,EAAA/G,M1D85fM,SAAU/rD,EAAQD,EAASO,GAEjC,YACA,IAAI0wB,O2Dz5fJ3nB,MAAApJ,aAEE,QAASoM,GAAK5G,EAAOqD,GAGI,UAAVrD,GACXkC,OAAO2E,QAAQ7G,GAAOhB,MAAMkD,OAAO2E,QAASxD,GAOhD,OAEE2D,MAAO,WACL,MAAOJ,GAAI,QAAS3H,YAGtBgI,IAAK,WACH,MAAOL,GAAI,MAAO3H,YAGpBiI,KAAM,WACJ,MAAON,GAAI,OAAQ3H,YAGrBkI,QAAS,WACP,MAAOP,GAAI,UAAW3H,YAGxBmI,MAAO,WACL,MAAOR,GAAI,QAAS3H,YAGtBoI,SAAU,WACR,MAAOT,GAAI,WAAY3H,YAGzBqI,OAAQ,WACN,MAAOV,GAAI,SAAU3H,YAGvB2H,IAAK,WACH,MAAOA,GAAI,MAAO3H,YAGpBsI,KAAM,WACJ,MAAOX,GAAI,OAAQ3H,YAGrBuI,KAAM,WACJ,MAAOZ,GAAI,OAAQ3H,YAGrBwI,MAAO,WACL,MAAOb,GAAI,QAAS3H,YAGtB6wE,UAAW,SAAU7+D,GACnB,MAAOrK,GAAI,QAAS,mCAAoCqK,OA5D9D/V,KAAAZ,EAAAO,EAAAP,EAAAC,QAAAD,QAAAixB,I3D2+fM,SAAUhxB,EAAQD,EAASO,GAEjC,YACA,IAAI0wB,O4D9+fJ3nB,MAAApJ,aAEE,GAAIoF,MACAmwE,EAAqB,mBAAqB,IAAI7tE,QAAO8tE,eACrDC,EAA8C,mBAAnBC,eAgF/B,OA9EAtwE,GAAGuwE,mBAAqB,WACtB,QAASJ,GAAsBE,IAGjCrwE,EAAGy/D,iBAAmB,SAAU+Q,GAG9B,MAAwB,KAAjBA,EAAM9zC,QAMf18B,EAAGywE,2BAA6B,WAE9B,IAGE,MAFAC,cAAaC,QAFJ,eAGTD,aAAaE,WAHJ,SAIF,EACP,MAAM/rE,GACN,OAAO,IAIX7E,EAAG6wE,kBAAoB,SAAU3lB,GAE/B,MADAA,GAAMA,GAAO5oD,UACH4oD,EAAIhhC,UAAWghC,EAAIhhC,QAAQ4mD,YAGvC9wE,EAAGitD,KAAO,WACR,MAAO,kBAAkBhpD,KAAK00C,UAAUmmB,YAG1C9+D,EAAG+wE,UAAY,WACb,MAAOp4B,WAAUmmB,UAAUnhC,cAAczb,QAAQ,YAAc,GAGjEliB,EAAGgxE,OAAS,WACV,MAAOr4B,WAAUmmB,UAAUnhC,cAAczb,QAAQ,SAAW,GAG9DliB,EAAGixE,SAAW,WAEZ,MAAOt4B,WAAUmmB,UAAUnhC,cAAczb,QAAQ,WAAa,IACH,IAAzDy2B,UAAUmmB,UAAUnhC,cAAczb,QAAQ,WAG9CliB,EAAGkxE,MAAQ,WACT,MAAOv4B,WAAUw4B,SAAStzC,cAAc3b,QAAQ,QAAQ,GAK1DliB,EAAGoxE,iBAAmB,WACpB,GAAIxmB,GAAW1pB,CAGf,OAAIyX,WAAUiS,UACLjS,UAAUiS,WAGnBA,KACA1pB,GACE,WACA,eACA,kBACA,kBAGFA,EAAWhC,QAAQ,SAAU7iC,GACvBs8C,UAAUt8C,IACZuuD,EAAUrkD,KAAKoyC,UAAUt8C,MAItBuuD,IAGF5qD,GApFT1E,KAAAZ,EAAAO,EAAAP,EAAAC,QAAAD,QAAAixB,I5DqlgBM,SAAUhxB,EAAQD,EAASO,GAEjC,YAGAY,QAAOC,eAAepB,EAAS,cAC7B0C,OAAO,G6DvmgBT,IAAAylE,GAAA5nE,EAAA,GACAo2E,EAAAp2E,EAAA,K7D6mgBIq2E,EAEJ,SAAgC30E,GAAO,MAAOA,IAAOA,EAAIR,WAAaQ,GAAQC,QAASD,IAFnD00E,EAepC32E,GAAQkC,Q6D9mgBOqwB,OAAK7rB,QAElBwI,UAAW,cAKX2xB,SAEA/wB,WATyB,WASX,GAAAoqC,GAAA75C,KACRwgC,EAAQ99B,IAAEI,UAAU9C,KAAM,QAASA,KACnCA,MAAKuF,QAAQ8lD,SAASnqD,IAAI,qBAE5Bs/B,EAAQA,EAAMkS,SAEV8jC,WAAc,SACdhmE,MAAS,WACT7P,KAAQ,SACR+O,KAAQ,WAKd8wB,EAAM2D,QAAQ,SAAA7C,GACZuY,EAAK/iC,IAAI2/D,WACPlxE,QAAS+7B,U7DsngBX,SAAU1hC,EAAQD,G8D9pgBxBC,EAAAD,QAAA,SAAA+2E,EAAAr0E,GACA,OACApB,aAAA,EAAAy1E,GACA11E,eAAA,EAAA01E,GACA3E,WAAA,EAAA2E,GACAr0E,W9DuqgBM,SAAUzC,EAAQD,G+D5qgBxB,GAAA8E,GAAA,EACAkyE,EAAAlpD,KAAAniB,QACA1L,GAAAD,QAAA,SAAAwK,GACA,gBAAAuoC,WAAAzpC,KAAAkB,EAAA,GAAAA,EAAA,QAAA1F,EAAAkyE,GAAA/rE,SAAA,O/DorgBM,SAAUhL,EAAQD,EAASO,GgEtrgBjC,GAAA02E,GAAY12E,EAAQ,KACpB22E,EAAkB32E,EAAQ,IAE1BN,GAAAD,QAAAmB,OAAAwJ,MAAA,SAAAkoD,GACA,MAAAokB,GAAApkB,EAAAqkB,KhE+rgBM,SAAUj3E,EAAQD,EAASO,GiEpsgBjC,GAAAouD,GAAgBpuD,EAAQ,IACxBwqB,EAAA+C,KAAA/C,IACAD,EAAAgD,KAAAhD,GACA7qB,GAAAD,QAAA,SAAAuqB,EAAArkB,GAEA,MADAqkB,GAAAokC,EAAApkC,GACAA,EAAA,EAAAQ,EAAAR,EAAArkB,EAAA,GAAA4kB,EAAAP,EAAArkB,KjE4sgBM,SAAUjG,EAAQD,EAASO,GkEhtgBjC,GAAAiyD,GAAejyD,EAAQ,GACvB42E,EAAU52E,EAAQ,KAClB22E,EAAkB32E,EAAQ,KAC1B+oE,EAAe/oE,EAAQ,KAAe,YACtC62E,EAAA,aAIAC,EAAA,WAEA,GAIAC,GAJAC,EAAeh3E,EAAQ,KAAe,UACtCG,EAAAw2E,EAAAhxE,MAcA,KAVAqxE,EAAAp9C,MAAAq9C,QAAA,OACEj3E,EAAQ,KAASmvD,YAAA6nB,GACnBA,EAAA1sC,IAAA,cAGAysC,EAAAC,EAAAE,cAAAnuC,SACAguC,EAAAI,OACAJ,EAAAjuC,MAAAsuC,uCACAL,EAAAM,QACAP,EAAAC,EAAArtB,EACAvpD,WAAA22E,GAAA,UAAAH,EAAAx2E,GACA,OAAA22E,KAGAp3E,GAAAD,QAAAmB,OAAA4Q,QAAA,SAAA8gD,EAAAglB,GACA,GAAA1iE,EAQA,OAPA,QAAA09C,GACAukB,EAAA,UAAA5kB,EAAAK,GACA19C,EAAA,GAAAiiE,GACAA,EAAA,eAEAjiE,EAAAm0D,GAAAzW,GACG19C,EAAAkiE,QACH/tE,KAAAuuE,EAAA1iE,EAAAgiE,EAAAhiE,EAAA0iE,KlEytgBM,SAAU53E,EAAQD,EAASO,GmE/vgBjC,GAAA02E,GAAY12E,EAAQ,KACpBu3E,EAAiBv3E,EAAQ,KAAkBwyC,OAAA,qBAE3C/yC,GAAA4yD,EAAAzxD,OAAA42E,qBAAA,SAAAllB,GACA,MAAAokB,GAAApkB,EAAAilB,KnEwwgBM,SAAU73E,EAAQD,EAASO,GAEjC,YoE9wgBA,IAAAkpD,GAAalpD,EAAQ,GACrBoyD,EAASpyD,EAAQ,IACjBy3E,EAAkBz3E,EAAQ,IAC1B03E,EAAc13E,EAAQ,IAAQ,UAE9BN,GAAAD,QAAA,SAAA8qE,GACA,GAAAzH,GAAA5Z,EAAAqhB,EACAkN,IAAA3U,MAAA4U,IAAAtlB,EAAAC,EAAAyQ,EAAA4U,GACA52E,cAAA,EACAE,IAAA,WAAsB,MAAAlB,WpEuxgBhB,SAAUJ,EAAQD,GqEjygBxBC,EAAAD,QAAA,SAAAgsD,EAAAksB,EAAAl3E,EAAAm3E,GACA,KAAAnsB,YAAAksB,SAAA5uE,KAAA6uE,OAAAnsB,GACA,KAAAxoB,WAAAxiC,EAAA,0BACG,OAAAgrD,KrEyygBG,SAAU/rD,EAAQD,EAASO,GsE5ygBjC,GAAAo1C,GAAUp1C,EAAQ,IAClBK,EAAWL,EAAQ,KACnB4rE,EAAkB5rE,EAAQ,KAC1BiyD,EAAejyD,EAAQ,GACvBwqE,EAAexqE,EAAQ,IACvB8rE,EAAgB9rE,EAAQ,KACxB63E,KACA5qE,KACAxN,EAAAC,EAAAD,QAAA,SAAAq4E,EAAAjK,EAAA9oE,EAAA02D,EAAAgT,GACA,GAGA9oE,GAAA6oC,EAAAuhC,EAAAn7D,EAHAu7D,EAAA1B,EAAA,WAAuC,MAAAqJ,IAAmBhM,EAAAgM,GAC1DzlB,EAAAjd,EAAArwC,EAAA02D,EAAAoS,EAAA,KACA7jD,EAAA,CAEA,sBAAAmmD,GAAA,KAAAltC,WAAA60C,EAAA,oBAEA,IAAAlM,EAAAuE,IAAA,IAAAxqE,EAAA6kE,EAAAsN,EAAAnyE,QAAmEA,EAAAqkB,EAAgBA,IAEnF,IADApV,EAAAi5D,EAAAxb,EAAAJ,EAAAzjB,EAAAspC,EAAA9tD,IAAA,GAAAwkB,EAAA,IAAA6jB,EAAAylB,EAAA9tD,OACA6tD,GAAAjjE,IAAA3H,EAAA,MAAA2H,OACG,KAAAm7D,EAAAI,EAAA9vE,KAAAy3E,KAA4CtpC,EAAAuhC,EAAAj6C,QAAAne,MAE/C,IADA/C,EAAAvU,EAAA0vE,EAAA1d,EAAA7jB,EAAArsC,MAAA0rE,MACAgK,GAAAjjE,IAAA3H,EAAA,MAAA2H,GAGAnV,GAAAo4E,QACAp4E,EAAAwN,UtEmzgBM,SAAUvN,EAAQD,EAASO,GuE30gBjC,GAAAopD,GAAeppD,EAAQ,GACvBN,GAAAD,QAAA,SAAAiM,EAAA4+B,EAAA+8B,GACA,OAAAp9D,KAAAqgC,GAAA8e,EAAA19C,EAAAzB,EAAAqgC,EAAArgC,GAAAo9D,EACA,OAAA37D,KvEm1gBM,SAAUhM,EAAQD,EAASO,GwEt1gBjC,GAAA+C,GAAe/C,EAAQ,EACvBN,GAAAD,QAAA,SAAAgsD,EAAAif,GACA,IAAA3nE,EAAA0oD,MAAAssB,KAAArN,EAAA,KAAAznC,WAAA,0BAAAynC,EAAA,aACA,OAAAjf,KxE81gBM,SAAU/rD,EAAQD,EAASO,GyEj2gBjC,GAAAoyD,GAASpyD,EAAQ,IACjBgnE,EAAiBhnE,EAAQ,GACzBN,GAAAD,QAAiBO,EAAQ,IAAgB,SAAAmB,EAAA8I,EAAA9H,GACzC,MAAAiwD,GAAAC,EAAAlxD,EAAA8I,EAAA+8D,EAAA,EAAA7kE,KACC,SAAAhB,EAAA8I,EAAA9H,GAED,MADAhB,GAAA8I,GAAA9H,EACAhB,IzEy2gBM,SAAUzB,EAAQD,G0E/2gBxB,GAAA6B,MAAuBA,cACvB5B,GAAAD,QAAA,SAAAgsD,EAAAxhD,GACA,MAAA3I,GAAAjB,KAAAorD,EAAAxhD,K1Eu3gBM,SAAUvK,EAAQD,EAASO,G2Ez3gBjC,GAAAg4E,GAAUh4E,EAAQ,IAAcqyD,EAChC7lC,EAAUxsB,EAAQ,IAClB0uE,EAAU1uE,EAAQ,IAAQ,cAE1BN,GAAAD,QAAA,SAAAgsD,EAAAgc,EAAAwQ,GACAxsB,IAAAj/B,EAAAi/B,EAAAwsB,EAAAxsB,IAAApqD,UAAAqtE,IAAAsJ,EAAAvsB,EAAAijB,GAAoE5tE,cAAA,EAAAqB,MAAAslE,M3Ei4gB9D,SAAU/nE,EAAQD,EAASO,G4Er4gBjC,GAAAk4E,GAAUl4E,EAAQ,IAClB0uE,EAAU1uE,EAAQ,IAAQ,eAE1Bm4E,EAA+C,aAA/CD,EAAA,WAA2B,MAAA9zE,eAG3Bg0E,EAAA,SAAA3sB,EAAAxhD,GACA,IACA,MAAAwhD,GAAAxhD,GACG,MAAAL,KAGHlK,GAAAD,QAAA,SAAAgsD,GACA,GAAA6G,GAAA+lB,EAAAnuB,CACA,YAAAnhD,KAAA0iD,EAAA,mBAAAA,EAAA,OAEA,iBAAA4sB,EAAAD,EAAA9lB,EAAA1xD,OAAA6qD,GAAAijB,IAAA2J,EAEAF,EAAAD,EAAA5lB,GAEA,WAAApI,EAAAguB,EAAA5lB,KAAA,kBAAAA,GAAAgmB,OAAA,YAAApuB,I5E84gBM,SAAUxqD,EAAQD,EAASO,G6En6gBjC,GAAAqpD,GAAcrpD,EAAQ,GACtBwyD,EAAcxyD,EAAQ,IACtBsnE,EAAYtnE,EAAQ,GACpBu4E,EAAav4E,EAAQ,KACrBw4E,EAAA,IAAAD,EAAA,IACAE,EAAA,KACAC,EAAAv0C,OAAA,IAAAq0C,IAAA,KACAG,EAAAx0C,OAAAq0C,IAAA,MAEAI,EAAA,SAAArO,EAAAloD,EAAAw2D,GACA,GAAArvB,MACAsvB,EAAAxR,EAAA,WACA,QAAAiR,EAAAhO,MAAAkO,EAAAlO,MAAAkO,IAEA1zE,EAAAykD,EAAA+gB,GAAAuO,EAAAz2D,EAAA1W,GAAA4sE,EAAAhO,EACAsO,KAAArvB,EAAAqvB,GAAA9zE,GACAskD,IAAAW,EAAAX,EAAAK,EAAAovB,EAAA,SAAAtvB,IAMA79C,EAAAitE,EAAAjtE,KAAA,SAAA7B,EAAA4gE,GAIA,MAHA5gE,GAAAC,OAAAyoD,EAAA1oD,IACA,EAAA4gE,IAAA5gE,IAAAhB,QAAA4vE,EAAA,KACA,EAAAhO,IAAA5gE,IAAAhB,QAAA6vE,EAAA,KACA7uE,EAGApK,GAAAD,QAAAm5E,G7E06gBM,SAAUl5E,EAAQD,G8Ev8gBxBC,EAAAD,Y9E88gBM,SAAUC,EAAQD,EAASO,G+E98gBjCN,EAAAD,SAAkBkC,QAAY3B,EAAQ,KAAmCkB,YAAA,I/Eo9gBnE,SAAUxB,EAAQD,EAASO,GgFn9gBjC,GAAAypE,GAAgBzpE,EAAQ,IACxBN,GAAAD,QAAA,SAAAsF,EAAA02D,EAAA91D,GAEA,GADA8jE,EAAA1kE,OACAgE,KAAA0yD,EAAA,MAAA12D,EACA,QAAAY,GACA,uBAAAlD,GACA,MAAAsC,GAAA1E,KAAAo7D,EAAAh5D,GAEA,wBAAAA,EAAAsgE,GACA,MAAAh+D,GAAA1E,KAAAo7D,EAAAh5D,EAAAsgE,GAEA,wBAAAtgE,EAAAsgE,EAAAxiE,GACA,MAAAwE,GAAA1E,KAAAo7D,EAAAh5D,EAAAsgE,EAAAxiE,IAGA,kBACA,MAAAwE,GAAAZ,MAAAs3D,EAAAr3D,chF69gBM,SAAU1E,EAAQD,GiF9+gBxBC,EAAAD,QAAA,SAAA4iB,GACA,IACA,QAAAA,IACG,MAAAzY,GACH,YjFu/gBM,SAAUlK,EAAQD,GkF3/gBxBC,EAAAD,YlFkghBM,SAAUC,EAAQD,EAASO,GmFjghBjC,GAAA02E,GAAY12E,EAAQ,KACpB22E,EAAkB32E,EAAQ,IAE1BN,GAAAD,QAAAmB,OAAAwJ,MAAA,SAAAkoD,GACA,MAAAokB,GAAApkB,EAAAqkB,KnF0ghBM,SAAUj3E,EAAQD,EAASO,GoF9ghBjC,GAAAwyD,GAAcxyD,EAAQ,IACtBN,GAAAD,QAAA,SAAAgsD,GACA,MAAA7qD,QAAA4xD,EAAA/G,MpFuhhBM,SAAU/rD,EAAQD,EAASO,GAEjC,YACA,IAAIw4B,GAA8B9H,CqFjhhBlC/wB,IAAQK,EAAA,GAAQA,EAAA,SAAhB+I,MAAA2nB,EAAA,SAAgC4N,EAAM+vB,GAGpC,QAAS0qB,GAASlqD,GAChB,MAAOrsB,GAAE0U,KAAK2X,EAAWiE,cAAe,SAAUoR,GAChD,MAAQA,aAAgB5F,GAAKO,OAJjC,GAAIr8B,GAAI87B,EAAK97B,CAQb,OAAO87B,GAAK3P,WAAWxoB,QASrBmlD,aAAc,WAEZxrD,KAAKmF,SAASnF,KAAK6P,MAAO,OAAQ,WAIhC,GAAI0B,GAAO0nE,EAAQj5E,KACOuR,GAAK2nE,sBACH3nE,EAAK2nE,uBAGjCl5E,KAAKm5E,mBAAkB,KAGzBn5E,KAAKmF,SAASnF,KAAK6P,MAAO,QAAS,WACjC7P,KAAKm5E,mBAAkB,KAGzBn5E,KAAKkV,kBAAkBlV,KAAK6P,QAG9BqF,kBAAmB,SAAUrF,GAC3B,GAAIupE,GAAwB12E,EAAEuD,KAAK,SAAU68D,GAC3C9iE,KAAKuF,QAAQ8lD,SAASv7C,IAAI,cAAegzD,IACxC9iE,MACCq5E,EAA0B32E,EAAEuD,KAAK,SAAUgqD,GAC7CjwD,KAAKuF,QAAQ8lD,SAASv7C,IAAI,mBAAoBmgD,IAC7CjwD,KAGHA,MAAKmF,SAAS0K,EAAO,iBAAkBupE,GACvCp5E,KAAKmF,SAAS0K,EAAO,sBAAuBwpE,EAM5C,IAAIC,GAAYzpE,EAAM3O,IAAI,eACtBo4E,KACFt5E,KAAKmF,SAASm0E,EAAW,iBAAkBF,GAC3Cp5E,KAAKmF,SAASm0E,EAAW,sBAAuBD,KAQpDE,iBAAkB,WAChB,MAAOhrB,MAMT0W,iBAAkB,WAChB,OAAO,GAGTnlD,OAAQ,WACN,GAAIrc,GAAO+6B,EAAK3P,WAAWttB,UAAUue,OAAOzb,MAAMrE,KAAMsE,UACxD,OAAO5B,GAAE2D,OAAO3D,EAAE6L,KAAKvO,KAAKuF,QAAS,YAAa9B,IAGpD01E,kBAAmB,SAAU9pD,GACdrvB,KAAKuE,IAAI6S,KAAK,WACpB0wB,YAAY,uBAAwBzY,GAAOjgB,KAAK,WAAYigB,IAIrEmqD,oBAAqB,WAGnBx5E,KAAK+E,QAAQ,gBAAiB00E,KAAMz5E,KAAK6O,YAEzC7O,KAAK+E,QAAQ,eAAiBgqB,WAAY/uB,KAAK6O,gBA7FrDxK,MAAA1E,EAAA+4B,MAAA94B,EAAAD,QAAAixB,IrFmohBM,SAAUhxB,EAAQD,EAASO,GsF/ohBjC,GAAAmpD,GAAWnpD,EAAQ,IACnBkpD,EAAalpD,EAAQ,GAErBguD,EAAA9E,EADA,wBACAA,EADA,2BAGAxpD,EAAAD,QAAA,SAAAwK,EAAA9H,GACA,MAAA6rD,GAAA/jD,KAAA+jD,EAAA/jD,OAAAlB,KAAA5G,UACC,eAAAmJ,MACDwiD,QAAA3E,EAAA2E,QACA0rB,KAAQx5E,EAAQ,IAAY,gBAC5By5E,UAAA,0CtFuphBM,SAAU/5E,EAAQD,EAASO,GuFhqhBjC,GAAAk4E,GAAUl4E,EAAQ,GAElBN,GAAAD,QAAAmB,OAAA,KAAA84E,qBAAA,GAAA94E,OAAA,SAAA6qD,GACA,gBAAAysB,EAAAzsB,KAAApiD,MAAA,IAAAzI,OAAA6qD,KvFyqhBM,SAAU/rD,EAAQD,GwF7qhBxBA,EAAA4yD,KAAcqnB,sBxForhBR,SAAUh6E,EAAQD,EAASO,GAEjC,YyFprhBA,IAAAiyD,GAAejyD,EAAQ,EACvBN,GAAAD,QAAA,WACA,GAAAg8D,GAAAxJ,EAAAnyD,MACA8U,EAAA,EAMA,OALA6mD,GAAAvS,SAAAt0C,GAAA,KACA6mD,EAAAke,aAAA/kE,GAAA,KACA6mD,EAAAme,YAAAhlE,GAAA,KACA6mD,EAAAoe,UAAAjlE,GAAA,KACA6mD,EAAAqe,SAAAllE,GAAA,KACAA,IzF6rhBM,SAAUlV,EAAQD,EAASO,G0FvshBjC,GAAAiyD,GAAejyD,EAAQ,GACvBypE,EAAgBzpE,EAAQ,IACxB03E,EAAc13E,EAAQ,IAAQ,UAC9BN,GAAAD,QAAA,SAAA6yD,EAAAynB,GACA,GACAjwB,GADAgZ,EAAA7Q,EAAAK,GAAApuD,WAEA,YAAA6E,KAAA+5D,OAAA/5D,KAAA+gD,EAAAmI,EAAA6Q,GAAA4U,IAAAqC,EAAAtQ,EAAA3f,K1FgthBM,SAAUpqD,EAAQD,EAASO,GAEjC,Y2F3shBA,SAAAm6B,GAAAz4B,GAAsC,MAAAA,MAAAR,WAAAQ,GAAuCC,QAAAD,GAZ7EjC,EAAAyB,YAAA,CAEA,IAAA84E,GAAgBh6E,EAAQ,KAExBi6E,EAAA9/C,EAAA6/C,GAEAE,EAAcl6E,EAAQ,KAEtBm6E,EAAAhgD,EAAA+/C,GAEAE,EAAA,kBAAAD,GAAAx4E,SAAA,gBAAAs4E,GAAAt4E,QAAA,SAAAD,GAAiH,aAAAA,IAAqB,SAAAA,GAAmB,MAAAA,IAAA,kBAAAy4E,GAAAx4E,SAAAD,EAAAwC,cAAAi2E,EAAAx4E,SAAAD,IAAAy4E,EAAAx4E,QAAAN,UAAA,eAAAK,GAIzJjC,GAAAkC,QAAA,kBAAAw4E,GAAAx4E,SAAA,WAAAy4E,EAAAH,EAAAt4E,SAAA,SAAAD,GACA,gBAAAA,EAAA,YAAA04E,EAAA14E,IACC,SAAAA,GACD,MAAAA,IAAA,kBAAAy4E,GAAAx4E,SAAAD,EAAAwC,cAAAi2E,EAAAx4E,SAAAD,IAAAy4E,EAAAx4E,QAAAN,UAAA,kBAAAK,EAAA,YAAA04E,EAAA14E,K3F+thBM,SAAUhC,EAAQD,EAASO,GAEjC,Y4FnvhBA,IAAAq6E,GAAUr6E,EAAQ,MAAc,EAGhCA,GAAQ,KAAgB+J,OAAA,kBAAAuwE,GACxBx6E,KAAAi4E,GAAAhuE,OAAAuwE,GACAx6E,KAAAq4C,GAAA,GAEC,WACD,GAEAoiC,GAFAjoB,EAAAxyD,KAAAi4E,GACA/tD,EAAAlqB,KAAAq4C,EAEA,OAAAnuB,IAAAsoC,EAAA3sD,QAAiCxD,UAAA4G,GAAA4O,MAAA,IACjC4iE,EAAAF,EAAA/nB,EAAAtoC,GACAlqB,KAAAq4C,IAAAoiC,EAAA50E,QACUxD,MAAAo4E,EAAA5iE,MAAA,O5F2vhBJ,SAAUjY,EAAQD,G6F1whBxBC,EAAAD,SAAA,G7FixhBM,SAAUC,EAAQD,G8FjxhBxBC,EAAAD,QAAA,SAAA+2E,EAAAr0E,GACA,OACApB,aAAA,EAAAy1E,GACA11E,eAAA,EAAA01E,GACA3E,WAAA,EAAA2E,GACAr0E,W9F0xhBM,SAAUzC,EAAQD,G+F/xhBxB,GAAAiL,MAAiBA,QAEjBhL,GAAAD,QAAA,SAAAgsD,GACA,MAAA/gD,GAAArK,KAAAorD,GAAA/iD,MAAA,Q/FuyhBM,SAAUhJ,EAAQD,GgG1yhBxBA,EAAA4yD,KAAcqnB,sBhGizhBR,SAAUh6E,EAAQD,EAASO,GiGhzhBjC,GAAAqpD,GAAcrpD,EAAQ,IACtBmpD,EAAWnpD,EAAQ,GACnBsnE,EAAYtnE,EAAQ,GACpBN,GAAAD,QAAA,SAAA8qE,EAAAloD,GACA,GAAAtd,IAAAokD,EAAAvoD,YAA6B2pE,IAAA3pE,OAAA2pE,GAC7B/gB,IACAA,GAAA+gB,GAAAloD,EAAAtd,GACAskD,IAAAS,EAAAT,EAAAK,EAAA4d,EAAA,WAAqDviE,EAAA,KAAS,SAAAykD,KjGyzhBxD,SAAU9pD,EAAQD,EAASO,GAEjC,YACA,IAAIw4B,GAA8B9H,CkGxzhBlC/wB,IACEK,EAAA,GACAA,EAAA,IACAA,EAAA,QAHF+I,MAAA2nB,EAAA,SAKU4N,EAAM+vB,EAAGC,GAEjB,GAAI9rD,GAAI87B,EAAK97B,EACTg4E,GACF,aACA,eACA,oBACA,eAGF,OAAOl8C,GAAKhT,MAAMnlB,QAChBw8D,cAAe,SAAU59D,EAAI01E,GAC3B,GAAI56E,GAAOC,IACX,OAAOiF,GAAG1E,KAAKP,KAAMA,KAAKqrD,SAASnqD,IAAI,gBACpCywD,KAAK,SAAUR,GAEd,MADApxD,GAAKgF,QAAQ,iBAAkBosD,GACxBA,IAERr5C,KAAK,SAAUm4C,GAEd,GAAiB,sBAAbA,EAAItvD,MACNsvD,EAAItvD,OAAS6tD,EAAM1B,iCACnBmD,EAAItvD,OAAS6tD,EAAMvB,uBAGrBltD,EAAKgF,QAAQ,QAAShF,EAAMkwD,EAAInpD,KAChC/G,EAAKgF,QAAQ,sBAAuBkrD,GAChC0qB,IAAkD,IAAvCj4E,EAAEykB,QAAQuzD,EAAczqB,EAAItvD,OACzC,KAAMsvD,MAKd2qB,kBAAmB,SAAU31E,GAC3B,GAAIlF,GAAOC,KACP+f,EAAM9a,EAAG1E,KAAKP,KAAMA,KAAKqrD,SAASnqD,IAAI,eAAgBwB,EAAEuD,KAAKjG,KAAK66E,eAAgB76E,MAGtF,OAAIuuD,GAAEmD,eAAe3xC,GACZA,EAAIjI,KAAK,SAAUm4C,GACP,sBAAbA,EAAItvD,MACJsvD,EAAItvD,OAAS6tD,EAAM1B,iCACnBmD,EAAItvD,OAAS6tD,EAAMvB,uBAGvBltD,EAAKgF,QAAQ,QAAShF,EAAMkwD,EAAInpD,KAChC/G,EAAKgF,QAAQ,sBAAuBkrD,MAIjC1B,EAAEqD,QAAQ7xC,IAGnB+6D,iBAAkB,SAAU71E,GAC1B,GAAIlF,GAAOC,KACP+f,EAAM9a,EAAG1E,KAAKP,KAAMA,KAAK0jB,SAASq3D,gBAGtC,OAAIxsB,GAAEmD,eAAe3xC,GACZA,EAAI4xC,KAAK,SAAUR,GAExB,MADApxD,GAAKgF,QAAQ,iBAAkBosD,GACxBA,IAENr5C,KAAK,SAAUm4C,GAGd,KAFAlwD,GAAKgF,QAAQ,QAAShF,EAAMkwD,EAAInpD,KAChC/G,EAAKgF,QAAQ,sBAAuBkrD,GAC9BA,IAIL1B,EAAEqD,QAAQ7xC,IAGnB86D,eAAgB,SAAU1pB,GACxBnxD,KAAKqrD,SAASv7C,IAAI,cAAeqhD,OA/EvC9sD,MAAA1E,EAAA+4B,MAAA94B,EAAAD,QAAAixB,IlG44hBM,SAAUhxB,EAAQD,EAASO,GAEjC,YACA,IAAIw4B,GAA8B9H,EAE9BoqD,EAAU96E,EAAoB,KAE9B+6E,EAEJ,SAAgCr5E,GAAO,MAAOA,IAAOA,EAAIR,WAAaQ,GAAQC,QAASD,IAFjDo5E,EmGl5hBtCn7E,IACEK,EAAA,GACAA,EAAA,IACAA,EAAA,UAHF+I,MAAA2nB,EAAA,SAKU4N,EAAM+vB,EAAG2sB,GAEjB,QAASC,GAAappB,GACpB,MAAO,IAAIxD,GAAEwD,GAGf,QAASqpB,GAAgBC,EAAaC,EAAcC,GAclD,MAbAD,GAAeA,EAAa1pE,IAAI,SAAUu4B,GACxC,OAAQz6B,KAAM,WAAY8rE,UAAWrxC,EAAMqxC,aAYtCL,EATO5zE,OAAOk0E,cAAcL,eAAeC,EAAaC,EAAcC,GAC1E5pB,KAAK,SAAU+pB,GACd,OAAO,EAAAT,EAAAp5E,UACL85E,YAAal3E,GAAIi3E,EAAKj3E,IACtBm3E,UAAWv0E,KAAKC,MAAMo0E,EAAKE,WAC3BC,YAAaH,EAAKG,iBAO1B,QAASC,GAAcP,EAAWQ,GAChC,GAAIC,GAASD,EAAUnqE,IAAI,SAAUwyB,GACnC,OAAQ10B,KAAM,WAAYjL,GAAI2/B,EAAK3/B,MAEjCw3E,GAAWD,OAAQA,EAavB,OAAOb,GAXO5zE,OAAOk0E,cAAcK,aAAaP,EAAWU,GACxDtqB,KAAK,SAAUkqB,GACd,GAAIK,GAAYL,EAAYK,SAC5B,QAAO,EAAAjB,EAAAp5E,UACL85E,YAAal3E,GAAIo3E,EAAYp3E,IAC7B03E,WAAYD,EAAUC,WACtBC,kBAAmBF,EAAUG,WAC7BH,UAAWA,EAAUA,eAO7B,OACEd,eAAgBA,EAChBU,aAAcA,EACdQ,YAAa,WACX,MAAO/0E,QAAO/F,eAAe,kBAE/B+6E,kBAAmB,WACjB,MAAO3+B,YAAaA,UAAU4+B,aAAe5+B,UAAU4+B,YAAY9qE,QAErE+qE,yBAA0B,WACxB,MAAOz8E,MAAKu8E,qBAAuBrB,EAASwB,oBA1DlDr4E,MAAA1E,EAAA+4B,MAAA94B,EAAAD,QAAAixB,InG89hBM,SAAUhxB,EAAQD,EAASO,GAEjC,YACA,IAAIw4B,GAA8B9H,CoGl+hBlC/wB,IAAQK,EAAA,QAAR+I,MAAA2nB,EAAA,SAA2B4N,GAEzB,GAAIv5B,KA0BJ,OAvBAA,GAAG03E,iBAAmB,SAAU9sE,GAC9B,GAAI+sE,GAAW/sE,EAAM3O,IAAI,WACzB,IAAI07E,GAAYA,EAAS/2E,OAAS,IAChC,OACE+2E,SAAUp+C,EAAKzkB,IAAI,kCAAmC,WAM5D9U,EAAG43E,oBAAsB,SAAUhtE,EAAOitE,EAAQC,EAAQz3E,GACxD,GAAIuK,EAAM3O,IAAI47E,KAAYjtE,EAAM3O,IAAI67E,GAAS,CAC3C,GAAIC,KAEJ,OADAA,GAAID,GAAUz3E,EACP03E,IAKX/3E,EAAGg4E,sBAAwB,SAAUptE,GACnC,MAAO5K,GAAG43E,oBAAoBhtE,EAAO,cAAe,kBAAmB2uB,EAAKzkB,IAAI,uBAAwB,WAGnG9U,GA5BTZ,MAAA1E,EAAA+4B,MAAA94B,EAAAD,QAAAixB,IpGkhiBM,SAAUhxB,EAAQD,EAASO,GAEjC,YAmBA,SAASm6B,GAAuBz4B,GAAO,MAAOA,IAAOA,EAAIR,WAAaQ,GAAQC,QAASD,GAhBvFd,OAAOC,eAAepB,EAAS,cAC7B0C,OAAO,GqGpiiBT,IAAAu6B,GAAA18B,EAAA,IrGyiiBI28B,EAAaxC,EAAuBuC,GqGxiiBxCitC,EAAA3pE,EAAA,KrG4iiBI4pE,EAAezvC,EAAuBwvC,GqG3iiB1CqT,EAAAh9E,EAAA,KrG+iiBIi9E,EAAuB9iD,EAAuB6iD,EAIlDv9E,GAAQkC,QqGjjiBOu7E,UAAS/2E,QACtB4jE,OAAQC,UAAW7jE,QACjBg3E,aAAcC,erGujiBZ,SAAU19E,EAAQD,GsG7jiBxB,GAAA49E,EAGAA,GAAA,WACA,MAAAv9E,QAGA,KAEAu9E,KAAAjzB,SAAA,qBAAAkzB,MAAA,QACC,MAAA1zE,GAED,gBAAAvC,UACAg2E,EAAAh2E,QAOA3H,EAAAD,QAAA49E,GtGokiBM,SAAU39E,EAAQD,EAASO,GuGtliBjC,GAAA2oE,GAAgB3oE,EAAQ,IACxBwqE,EAAexqE,EAAQ,IACvB0rE,EAAsB1rE,EAAQ,GAC9BN,GAAAD,QAAA,SAAA89E,GACA,gBAAAr/B,EAAApnC,EAAA0mE,GACA,GAGAr7E,GAHAmwD,EAAAqW,EAAAzqB,GACAv4C,EAAA6kE,EAAAlY,EAAA3sD,QACAqkB,EAAA0hD,EAAA8R,EAAA73E,EAIA,IAAA43E,GAAAzmE,MAAA,KAAAnR,EAAAqkB,GAGA,IAFA7nB,EAAAmwD,EAAAtoC,OAEA7nB,EAAA,aAEK,MAAYwD,EAAAqkB,EAAeA,IAAA,IAAAuzD,GAAAvzD,IAAAsoC,KAChCA,EAAAtoC,KAAAlT,EAAA,MAAAymE,IAAAvzD,GAAA,CACK,QAAAuzD,IAAA,KvGimiBC,SAAU79E,EAAQD,GwGrniBxBA,EAAA4yD,EAAAzxD,OAAA68E,uBxG4niBM,SAAU/9E,EAAQD,EAASO,GyG3niBjC,GAAAk4E,GAAUl4E,EAAQ,GAClBN,GAAAD,QAAAgJ,MAAAkI,SAAA,SAAA8nD,GACA,eAAAyf,EAAAzf,KzGooiBM,SAAU/4D,EAAQD,EAASO,G0GvoiBjC,GAAAouD,GAAgBpuD,EAAQ,IACxBwyD,EAAcxyD,EAAQ,GAGtBN,GAAAD,QAAA,SAAAi+E,GACA,gBAAAjiB,EAAAnZ,GACA,GAGA7/C,GAAAsgE,EAHAvhE,EAAAuI,OAAAyoD,EAAAiJ,IACAt7D,EAAAiuD,EAAA9L,GACAliD,EAAAoB,EAAAmE,MAEA,OAAAxF,GAAA,GAAAA,GAAAC,EAAAs9E,EAAA,OAAA30E,IACAtG,EAAAjB,EAAAm8E,WAAAx9E,GACAsC,EAAA,OAAAA,EAAA,OAAAtC,EAAA,IAAAC,IAAA2iE,EAAAvhE,EAAAm8E,WAAAx9E,EAAA,WAAA4iE,EAAA,MACA2a,EAAAl8E,EAAA0oB,OAAA/pB,GAAAsC,EACAi7E,EAAAl8E,EAAAkH,MAAAvI,IAAA,GAAA4iE,EAAA,OAAAtgE,EAAA,qB1GgpiBM,SAAU/C,EAAQD,EAASO,G2G7piBjC,GAAA+C,GAAe/C,EAAQ,GACvBk4E,EAAUl4E,EAAQ,IAClB49E,EAAY59E,EAAQ,IAAQ,QAC5BN,GAAAD,QAAA,SAAAgsD,GACA,GAAAoyB,EACA,OAAA96E,GAAA0oD,SAAA1iD,MAAA80E,EAAApyB,EAAAmyB,MAAAC,EAAA,UAAA3F,EAAAzsB,M3GsqiBM,SAAU/rD,EAAQD,EAASO,G4G5qiBjC,GAAAyuE,GAAezuE,EAAQ,IAAQ,YAC/B89E,GAAA,CAEA,KACA,GAAAC,IAAA,GAAAtP,IACAsP,GAAA,kBAAiCD,GAAA,GAEjCr1E,MAAAoQ,KAAAklE,EAAA,WAAiC,UAChC,MAAAn0E,IAEDlK,EAAAD,QAAA,SAAA4iB,EAAA27D,GACA,IAAAA,IAAAF,EAAA,QACA,IAAAzW,IAAA,CACA,KACA,GAAA11C,IAAA,GACAqhD,EAAArhD,EAAA88C,IACAuE,GAAAl9C,KAAA,WAA6B,OAASne,KAAA0vD,GAAA,IACtC11C,EAAA88C,GAAA,WAAiC,MAAAuE,IACjC3wD,EAAAsP,GACG,MAAA/nB,IACH,MAAAy9D,K5GoriBM,SAAU3nE,EAAQD,EAASO,GAEjC,Y6GxsiBA,IAAA2rE,GAAc3rE,EAAQ,IACtBi+E,EAAA95C,OAAA9iC,UAAAghB,IAIA3iB,GAAAD,QAAA,SAAA8qD,EAAAT,GACA,GAAAznC,GAAAkoC,EAAAloC,IACA,sBAAAA,GAAA,CACA,GAAAzN,GAAAyN,EAAAhiB,KAAAkqD,EAAAT,EACA,oBAAAl1C,GACA,SAAAquB,WAAA,qEAEA,OAAAruB,GAEA,cAAA+2D,EAAAphB,GACA,SAAAtnB,WAAA,8CAEA,OAAAg7C,GAAA59E,KAAAkqD,EAAAT,K7GitiBM,SAAUpqD,EAAQD,EAASO,GAEjC,Y8GruiBAA,GAAQ,IACR,IAAAopD,GAAeppD,EAAQ,IACvBu0B,EAAWv0B,EAAQ,IACnBsnE,EAAYtnE,EAAQ,GACpBwyD,EAAcxyD,EAAQ,IACtB+rE,EAAU/rE,EAAQ,IAClBk+E,EAAiBl+E,EAAQ,KAEzB03E,EAAA3L,EAAA,WAEAoS,GAAA7W,EAAA,WAIA,GAAAn9C,GAAA,GAMA,OALAA,GAAA9H,KAAA,WACA,GAAAzN,KAEA,OADAA,GAAAwpE,QAAqB37E,EAAA,KACrBmS,GAEA,SAAA9L,QAAAqhB,EAAA,UAGAk0D,EAAA,WAEA,GAAAl0D,GAAA,OACAm0D,EAAAn0D,EAAA9H,IACA8H,GAAA9H,KAAA,WAAyB,MAAAi8D,GAAAn6E,MAAArE,KAAAsE,WACzB,IAAAwQ,GAAA,KAAAvL,MAAA8gB,EACA,YAAAvV,EAAAjP,QAAA,MAAAiP,EAAA,UAAAA,EAAA,KAGAlV,GAAAD,QAAA,SAAA8qE,EAAA5kE,EAAA0c,GACA,GAAAk8D,GAAAxS,EAAAxB,GAEAiU,GAAAlX,EAAA,WAEA,GAAAhV,KAEA,OADAA,GAAAisB,GAAA,WAA6B,UAC7B,MAAAhU,GAAAjY,KAGAmsB,EAAAD,GAAAlX,EAAA,WAEA,GAAAoX,IAAA,EACAv0D,EAAA,GASA,OARAA,GAAA9H,KAAA,WAA8C,MAAnBq8D,IAAA,EAAmB,MAC9C,UAAAnU,IAGApgD,EAAAjmB,eACAimB,EAAAjmB,YAAAwzE,GAAA,WAA6C,MAAAvtD,KAE7CA,EAAAo0D,GAAA,KACAG,QACG31E,EAEH,KACAy1E,IACAC,GACA,YAAAlU,IAAA4T,GACA,UAAA5T,IAAA8T,EACA,CACA,GAAAM,GAAA,IAAAJ,GACAK,EAAAv8D,EACAmwC,EACA+rB,EACA,GAAAhU,GACA,SAAAsU,EAAAC,EAAA73E,EAAA83E,EAAAC,GACA,MAAAF,GAAAz8D,OAAA67D,EACAM,IAAAQ,GAIoBrnE,MAAA,EAAAxV,MAAAw8E,EAAAt+E,KAAAy+E,EAAA73E,EAAA83E,KAEFpnE,MAAA,EAAAxV,MAAA08E,EAAAx+E,KAAA4G,EAAA63E,EAAAC,KAEFpnE,MAAA,KAGhBsnE,EAAAL,EAAA,GACAM,EAAAN,EAAA,EAEAx1B,GAAAr/C,OAAA1I,UAAAkpE,EAAA0U,GACA1qD,EAAA4P,OAAA9iC,UAAAk9E,EAAA,GAAA54E,EAGA,SAAAmE,EAAA2uD,GAAgC,MAAAymB,GAAA7+E,KAAAyJ,EAAAhK,KAAA24D,IAGhC,SAAA3uD,GAA2B,MAAAo1E,GAAA7+E,KAAAyJ,EAAAhK,W9G+uiBrB,SAAUJ,EAAQD,EAASO,G+G30iBjC,GAAAkpD,GAAalpD,EAAQ,GACrB09C,EAAAwL,EAAAxL,SAEAh+C,GAAAD,QAAAi+C,KAAAmmB,WAAA,I/Gk1iBM,SAAUnkE,EAAQD,EAASO,GAEjC,YgHt1iBA,IAAAkpD,GAAalpD,EAAQ,GACrBqpD,EAAcrpD,EAAQ,GACtBopD,EAAeppD,EAAQ,IACvBwrE,EAAkBxrE,EAAQ,IAC1B80E,EAAW90E,EAAQ,IACnBm/E,EAAYn/E,EAAQ,IACpBsrE,EAAiBtrE,EAAQ,IACzB+C,EAAe/C,EAAQ,GACvBsnE,EAAYtnE,EAAQ,GACpBqsE,EAAkBrsE,EAAQ,KAC1Bo/E,EAAqBp/E,EAAQ,IAC7Bq/E,EAAwBr/E,EAAQ,IAEhCN,GAAAD,QAAA,SAAAmtB,EAAAmlD,EAAA5+C,EAAAmsD,EAAA1U,EAAA2U,GACA,GAAAnN,GAAAlpB,EAAAt8B,GACAk2C,EAAAsP,EACAoN,EAAA5U,EAAA,YACA3mE,EAAA6+D,KAAAzhE,UACAixD,KACAmtB,EAAA,SAAAlV,GACA,GAAAxlE,GAAAd,EAAAsmE,EACAnhB,GAAAnlD,EAAAsmE,EACA,UAAAA,EAAA,SAAA9nE,GACA,QAAA88E,IAAAx8E,EAAAN,KAAAsC,EAAA1E,KAAAP,KAAA,IAAA2C,EAAA,EAAAA,IACO,OAAA8nE,EAAA,SAAA9nE,GACP,QAAA88E,IAAAx8E,EAAAN,KAAAsC,EAAA1E,KAAAP,KAAA,IAAA2C,EAAA,EAAAA,IACO,OAAA8nE,EAAA,SAAA9nE,GACP,MAAA88E,KAAAx8E,EAAAN,OAAAsG,GAAAhE,EAAA1E,KAAAP,KAAA,IAAA2C,EAAA,EAAAA,IACO,OAAA8nE,EAAA,SAAA9nE,GAAmE,MAAhCsC,GAAA1E,KAAAP,KAAA,IAAA2C,EAAA,EAAAA,GAAgC3C,MAC1E,SAAA2C,EAAAsgE,GAAiE,MAAnCh+D,GAAA1E,KAAAP,KAAA,IAAA2C,EAAA,EAAAA,EAAAsgE,GAAmCjjE,OAGjE,sBAAAgjE,KAAAyc,GAAAt7E,EAAAggC,UAAAqjC,EAAA,YACA,GAAAxE,IAAA+K,UAAA/3C,UAMG,CACH,GAAA4pD,GAAA,GAAA5c,GAEA6c,EAAAD,EAAAF,GAAAD,MAAqD,MAAAG,EAErDE,EAAAtY,EAAA,WAAkDoY,EAAAlzD,IAAA,KAElDqzD,EAAAxT,EAAA,SAAA2G,GAAwD,GAAAlQ,GAAAkQ,KAExD8M,GAAAP,GAAAjY,EAAA,WAIA,IAFA,GAAAyY,GAAA,GAAAjd,GACA94C,EAAA,EACAA,KAAA+1D,EAAAP,GAAAx1D,IACA,QAAA+1D,EAAAvzD,KAAA,IAEAqzD,KACA/c,EAAAiP,EAAA,SAAArmE,EAAAosE,GACAxM,EAAA5/D,EAAAo3D,EAAAl2C,EACA,IAAA6uC,GAAA4jB,EAAA,GAAAjN,GAAA1mE,EAAAo3D,EAEA,YADA/5D,IAAA+uE,GAAAqH,EAAArH,EAAAlN,EAAAnP,EAAA+jB,GAAA/jB,GACAA,IAEAqH,EAAAzhE,UAAA4C,EACAA,EAAAC,YAAA4+D,IAEA8c,GAAAE,KACAL,EAAA,UACAA,EAAA,OACA7U,GAAA6U,EAAA,SAEAK,GAAAH,IAAAF,EAAAD,GAEAD,GAAAt7E,EAAAgc,aAAAhc,GAAAgc,UApCA6iD,GAAAwc,EAAAU,eAAAjO,EAAAnlD,EAAAg+C,EAAA4U,GACAhU,EAAA1I,EAAAzhE,UAAA8xB,GACA2hD,EAAAC,MAAA,CA4CA,OAPAqK,GAAAtc,EAAAl2C,GAEA0lC,EAAA1lC,GAAAk2C,EACAzZ,IAAAO,EAAAP,EAAAiB,EAAAjB,EAAAK,GAAAoZ,GAAAsP,GAAA9f,GAEAitB,GAAAD,EAAAW,UAAAnd,EAAAl2C,EAAAg+C,GAEA9H,IhH81iBM,SAAUpjE,EAAQD,EAASO,GiHl6iBjC,IAfA,GASAkgF,GATAh3B,EAAalpD,EAAQ,GACrBu0B,EAAWv0B,EAAQ,IACnBiuD,EAAUjuD,EAAQ,IAClBgvE,EAAA/gB,EAAA,eACA/C,EAAA+C,EAAA,QACAskB,KAAArpB,EAAA6jB,cAAA7jB,EAAA+jB,UACA6B,EAAAyD,EACApyE,EAAA,EAIAggF,EAAA,iHAEA92E,MAAA,KAEAlJ,EAPA,IAQA+/E,EAAAh3B,EAAAi3B,EAAAhgF,QACAo0B,EAAA2rD,EAAA7+E,UAAA2tE,GAAA,GACAz6C,EAAA2rD,EAAA7+E,UAAA6pD,GAAA,IACG4jB,GAAA,CAGHpvE,GAAAD,SACA8yE,MACAzD,SACAE,QACA9jB,SjHy7iBM,SAAUxrD,EAAQD,EAASO,GAEjC,YkHn9iBAN,GAAAD,QAAiBO,EAAQ,MAAkBA,EAAQ,GAAU,WAC7D,GAAAogF,GAAA7yD,KAAAniB,QAGAi1E,kBAAAhgF,KAAA,KAAA+/E,EAAA,oBACSpgF,GAAQ,GAAWogF,MlH49iBtB,SAAU1gF,EAAQD,EAASO,GAEjC,YmHn+iBA,IAAAqpD,GAAcrpD,EAAQ,EAEtBN,GAAAD,QAAA,SAAA6gF,GACAj3B,IAAAS,EAAAw2B,GAAkClN,GAAA,WAGlC,IAFA,GAAAztE,GAAAvB,UAAAuB,OACA46E,EAAA,GAAA93E,OAAA9C,GACAA,KAAA46E,EAAA56E,GAAAvB,UAAAuB,EACA,WAAA7F,MAAAygF,QnH6+iBM,SAAU7gF,EAAQD,EAASO,GAEjC,YoHt/iBA,IAAAqpD,GAAcrpD,EAAQ,GACtBypE,EAAgBzpE,EAAQ,IACxBo1C,EAAUp1C,EAAQ,IAClBm/E,EAAYn/E,EAAQ,GAEpBN,GAAAD,QAAA,SAAA6gF,GACAj3B,IAAAS,EAAAw2B,GAAkCznE,KAAA,SAAAvV,GAClC,GACA4sE,GAAAqQ,EAAAt/E,EAAA2wB,EADA4uD,EAAAp8E,UAAA,EAKA,OAHAqlE,GAAA3pE,MACAowE,MAAAnnE,KAAAy3E,EACAtQ,GAAAzG,EAAA+W,OACAz3E,IAAAzF,EAAA,GAAAxD,OACAygF,KACArQ,GACAjvE,EAAA,EACA2wB,EAAAwjB,EAAAorC,EAAAp8E,UAAA,MACA+6E,EAAA77E,GAAA,WAAAm9E,GACAF,EAAAj1E,KAAAsmB,EAAA6uD,EAAAx/E,SAGAk+E,EAAA77E,GAAA,EAAAi9E,EAAAj1E,KAAAi1E,GAEA,GAAAzgF,MAAAygF,SpHggjBM,SAAU7gF,EAAQD,GqHzhjBxBC,EAAAD,QAAA,SAAAgsD,GACA,qBAAAA,GAAA,KAAAxoB,WAAAwoB,EAAA,sBACA,OAAAA,KrHiijBM,SAAU/rD,EAAQD,GsHnijBxB,GAAA8E,GAAA,EACAkyE,EAAAlpD,KAAAniB,QACA1L,GAAAD,QAAA,SAAAwK,GACA,gBAAAuoC,WAAAzpC,KAAAkB,EAAA,GAAAA,EAAA,QAAA1F,EAAAkyE,GAAA/rE,SAAA,OtH2ijBM,SAAUhL,EAAQD,EAASO,GuH9ijBjC,GAAAg4E,GAAUh4E,EAAQ,IAAcqyD,EAChC7lC,EAAUxsB,EAAQ,IAClB0uE,EAAU1uE,EAAQ,IAAQ,cAE1BN,GAAAD,QAAA,SAAAgsD,EAAAgc,EAAAwQ,GACAxsB,IAAAj/B,EAAAi/B,EAAAwsB,EAAAxsB,IAAApqD,UAAAqtE,IAAAsJ,EAAAvsB,EAAAijB,GAAoE5tE,cAAA,EAAAqB,MAAAslE,MvHsjjB9D,SAAU/nE,EAAQD,EAASO,GwH3jjBjCA,EAAQ,IAYR,QAXAkpD,GAAalpD,EAAQ,IACrBu0B,EAAWv0B,EAAQ,IACnBosE,EAAgBpsE,EAAQ,IACxB0gF,EAAoB1gF,EAAQ,IAAQ,eAEpC2gF,EAAA,wbAIAt3E,MAAA,KAEAlJ,EAAA,EAAeA,EAAAwgF,EAAAh7E,OAAyBxF,IAAA,CACxC,GAAAysB,GAAA+zD,EAAAxgF,GACAorB,EAAA29B,EAAAt8B,GACA3oB,EAAAsnB,KAAAlqB,SACA4C,OAAAy8E,IAAAnsD,EAAAtwB,EAAAy8E,EAAA9zD,GACAw/C,EAAAx/C,GAAAw/C,EAAA3jE,QxHmkjBM,SAAU/I,EAAQD,EAASO,GyHpljBjCP,EAAA4yD,EAAYryD,EAAQ,KzH2ljBd,SAAUN,EAAQD,EAASO,G0H3ljBjC,GAAAw4B,GAAA9H;;;;;;;;;;;;;CAcA,SAAAw4B,EAAA1pD,GAEA,gBAAAE,IAAA,gBAAAA,GAAAD,QAQAC,EAAAD,QAAAypD,EAAAngB,SACAvpC,EAAA0pD,GAAA,GACA,SAAA9E,GACA,IAAAA,EAAArb,SACA,SAAAxgC,OAAA,2CAEA,OAAA/I,GAAA4kD,IAGA5kD,EAAA0pD,IAIC,mBAAA7hD,eAAAvH,KAAA,SAAAuH,EAAAu5E,GA+gBD,QAAAC,GAAAn/E,GAMA,GAAAiE,KAAAjE,GAAA,UAAAA,MAAAiE,OACA6J,EAAAipB,GAAAjpB,KAAA9N,EAEA,oBAAA8N,IAAAipB,GAAAqoD,SAAAp/E,KAIA,UAAA8N,GAAA,IAAA7J,GACA,gBAAAA,MAAA,GAAAA,EAAA,IAAAjE,IA4oEA,QAAAq/E,GAAAC,EAAAC,EAAAzsC,GACA,GAAA/b,GAAAz1B,WAAAi+E,GACA,MAAAxoD,IAAAyoD,KAAAF,EAAA,SAAA95B,EAAA/mD,GAEA,QAAA8gF,EAAA5gF,KAAA6mD,EAAA/mD,EAAA+mD,KAAA1S,GAKA,IAAAysC,EAAAE,SACA,MAAA1oD,IAAAyoD,KAAAF,EAAA,SAAA95B,GACA,MAAAA,KAAA+5B,IAAAzsC,GAKA,oBAAAysC,GAAA,CACA,GAAAG,GAAAp4E,KAAAi4E,GACA,MAAAxoD,IAAA3L,OAAAm0D,EAAAD,EAAAxsC,EAGAysC,GAAAxoD,GAAA3L,OAAAm0D,EAAAD,GAGA,MAAAvoD,IAAAyoD,KAAAF,EAAA,SAAA95B,GACA,MAAAzuB,IAAA4oD,QAAAn6B,EAAA+5B,IAAA,IAAAzsC,IAgSA,QAAA8sC,GAAAC,EAAAn1E,GACA,GACAm1E,IAAAn1E,SACEm1E,GAAA,IAAAA,EAAAJ,SAEF,OAAAI,GA4EA,QAAAC,GAAAn8E,GACA,GAAAlE,KAIA,OAHAs3B,IAAA3nB,KAAAzL,EAAAglB,MAAAo3D,QAAA,SAAAj/E,EAAAk/E,GACAvgF,EAAAugF,IAAA,IAEAvgF,EA+aA,QAAAwgF,KACA54C,GAAAk9B,kBACAl9B,GAAAo9B,oBAAA,mBAAAyb,GACAv6E,EAAA8+D,oBAAA,OAAAyb,KAGA74C,GAAA84C,YAAA,qBAAAD,GACAv6E,EAAAw6E,YAAA,SAAAD,IAOA,QAAAA,MAGA74C,GAAAk9B,kBACA,SAAA5+D,EAAAoqB,MAAAjiB,MACA,aAAAu5B,GAAA+4C,cAEAH,IACAlpD,GAAAspD,SAkKA,QAAAC,GAAA96B,EAAAj9C,EAAA1G,GAIA,OAAAwF,KAAAxF,GAAA,IAAA2jD,EAAAi6B,SAAA,CAEA,GAAA1gF,GAAA,QAAAwJ,EAAAnB,QAAAm5E,GAAA,OAAAv/C,aAIA,qBAFAn/B,EAAA2jD,EAAA7X,aAAA5uC,IAEA,CACA,IACA8C,EAAA,SAAAA,GACA,UAAAA,IACA,SAAAA,EAAA,MAGAA,EAAA,KAAAA,KACA2+E,GAAAl5E,KAAAzF,GAAAk1B,GAAA0pD,UAAA5+E,GACAA,GACI,MAAAqG,IAGJ6uB,GAAAl1B,KAAA2jD,EAAAj9C,EAAA1G,OAGAA,OAAAwF,GAIA,MAAAxF,GAIA,QAAA6+E,GAAA1gF,GACA,GAAAjB,EACA,KAAAA,IAAAiB,GAGA,aAAAjB,IAAAg4B,GAAA4pD,cAAA3gF,EAAAjB,MAGA,WAAAA,EACA,QAIA,UAGA,QAAA6hF,GAAAp7B,EAAAzmD,EAAA8C,EAAAg/E,GACA,GAAAC,GAAAt7B,GAAA,CAIA,GAAA41B,GAAA2F,EACAC,EAAAjqD,GAAAkqD,QAIAC,EAAA17B,EAAAi6B,SAIAx7C,EAAAi9C,EAAAnqD,GAAAkN,MAAAuhB,EAIA3iD,EAAAq+E,EAAA17B,EAAAw7B,GAAAx7B,EAAAw7B,KAIA,IAAAn+E,GAAAohC,EAAAphC,KAAAg+E,GAAA58C,EAAAphC,GAAAhB,WACAwF,KAAAxF,GAAA,gBAAA9C,GAkEA,MA9DA8D,KAKAA,EADAq+E,EACA17B,EAAAw7B,GAAAG,GAAAniE,OAAA+X,GAAAqqD,OAEAJ,GAIA/8C,EAAAphC,KAIAohC,EAAAphC,GAAAq+E,MAA+BhjE,OAAA6Y,GAAA1H,OAK/B,gBAAAtwB,IAAA,kBAAAA,KACA8hF,EACA58C,EAAAphC,GAAAk0B,GAAAtyB,OAAAw/B,EAAAphC,GAAA9D,GAEAklC,EAAAphC,GAAAhB,KAAAk1B,GAAAtyB,OAAAw/B,EAAAphC,GAAAhB,KAAA9C,IAIAgiF,EAAA98C,EAAAphC,GAKAg+E,IACAE,EAAAl/E,OACAk/E,EAAAl/E,SAGAk/E,IAAAl/E,UAGAwF,KAAAxF,IACAk/E,EAAAhqD,GAAAsqD,UAAAtiF,IAAA8C,GAKA,gBAAA9C,GAMA,OAHAq8E,EAAA2F,EAAAhiF,MAMAq8E,EAAA2F,EAAAhqD,GAAAsqD,UAAAtiF,KAGAq8E,EAAA2F,EAGA3F,GAGA,QAAAkG,GAAA97B,EAAAzmD,EAAA8hF,GACA,GAAAC,GAAAt7B,GAAA,CAIA,GAAAu7B,GAAAtiF,EACAyiF,EAAA17B,EAAAi6B,SAGAx7C,EAAAi9C,EAAAnqD,GAAAkN,MAAAuhB,EACA3iD,EAAAq+E,EAAA17B,EAAAzuB,GAAAkqD,SAAAlqD,GAAAkqD,OAIA,IAAAh9C,EAAAphC,GAAA,CAIA,GAAA9D,IAEAgiF,EAAAF,EAAA58C,EAAAphC,GAAAohC,EAAAphC,GAAAhB,MAEA,CAGAk1B,GAAA9nB,QAAAlQ,GAuBAA,IAAA+xC,OAAA/Z,GAAA/mB,IAAAjR,EAAAg4B,GAAAsqD,YApBAtiF,IAAAgiF,GACAhiF,OAIAA,EAAAg4B,GAAAsqD,UAAAtiF,GAEAA,EADAA,IAAAgiF,IACAhiF,GAEAA,EAAA4I,MAAA,MAcAlJ,EAAAM,EAAAkF,MACA,MAAAxF,WACAsiF,GAAAhiF,EAAAN,GAKA,IAAAoiF,GAAAH,EAAAK,IAAAhqD,GAAA4pD,cAAAI,GACA,QAMAF,UACA58C,GAAAphC,GAAAhB,KAIA6+E,EAAAz8C,EAAAphC,QAMAq+E,EACAnqD,GAAAwqD,WAAA/7B,IAAA,GAIEg8B,GAAAC,eAAAx9C,KAAAt+B,aAEFs+B,GAAAphC,GAIAohC,EAAAphC,OAAAwE,MAkTA,QAAAq6E,GAAAl8B,EAAAh4C,EAAAm0E,EAAAC,GACA,GAAAC,GACAC,EAAA,EACAC,EAAA,GACAC,EAAAJ,EACA,WAAe,MAAAA,GAAA/B,OACf,WAAe,MAAA9oD,IAAAzD,IAAAkyB,EAAAh4C,EAAA,KACfy0E,EAAAD,IACAxhB,EAAAmhB,KAAA,KAAA5qD,GAAAmrD,UAAA10E,GAAA,SAGA20E,GAAAprD,GAAAmrD,UAAA10E,IAAA,OAAAgzD,IAAAyhB,IACAG,GAAAzhE,KAAAoW,GAAAzD,IAAAkyB,EAAAh4C,GAEA,IAAA20E,KAAA,KAAA3hB,EAAA,CAGAA,KAAA2hB,EAAA,GAGAR,QAGAQ,GAAAF,GAAA,CAEA,IAIAH,KAAA,KAGAK,GAAAL,EACA/qD,GAAAmB,MAAAstB,EAAAh4C,EAAA20E,EAAA3hB,SAKAshB,OAAAE,IAAAC,IAAA,IAAAH,KAAAC,GAiBA,MAbAJ,KACAQ,OAAAF,GAAA,EAGAJ,EAAAF,EAAA,GACAQ,GAAAR,EAAA,MAAAA,EAAA,IACAA,EAAA,GACAC,IACAA,EAAAphB,OACAohB,EAAAx0D,MAAA+0D,EACAP,EAAArS,IAAAsS,IAGAA,EA2EA,QAAAQ,GAAAh7C,GACA,GAAA2mC,GAAAsU,GAAA36E,MAAA,KACA46E,EAAAl7C,EAAAm7C,wBAEA,IAAAD,EAAAh8B,cACA,KAAAynB,EAAA/pE,QACAs+E,EAAAh8B,cACAynB,EAAAhvD,MAIA,OAAAujE,GA6FA,QAAAE,GAAAthF,EAAA4kE,GACA,GAAA2c,GAAAl9B,EACA/mD,EAAA,EACAsiD,MAAA,KAAA5/C,EAAAwhF,qBACAxhF,EAAAwhF,qBAAA5c,GAAA,SACA,KAAA5kE,EAAAyhF,iBACAzhF,EAAAyhF,iBAAA7c,GAAA,SACA1+D,EAEA,KAAA05C,EACA,IAAAA,KAAA2hC,EAAAvhF,EAAA21C,YAAA31C,EACA,OAAAqkD,EAAAk9B,EAAAjkF,IACAA,KAEAsnE,GAAAhvC,GAAAsf,SAAAmP,EAAAugB,GACAhlB,EAAAn3C,KAAA47C,GAEAzuB,GAAA8rD,MAAA9hC,EAAA0hC,EAAAj9B,EAAAugB,GAKA,YAAA1+D,KAAA0+D,MAAAhvC,GAAAsf,SAAAl1C,EAAA4kE,GACAhvC,GAAA8rD,OAAA1hF,GAAA4/C,GACAA,EAKA,QAAA+hC,GAAAJ,EAAAK,GAGA,IAFA,GAAAv9B,GACA/mD,EAAA,EACQ,OAAA+mD,EAAAk9B,EAAAjkF,IAA+BA,IACvCs4B,GAAAisD,MACAx9B,EACA,cACAu9B,GAAAhsD,GAAAisD,MAAAD,EAAAtkF,GAAA,eASA,QAAAwkF,GAAAz9B,GACA09B,GAAA57E,KAAAk+C,EAAA13C,QACA03C,EAAA29B,eAAA39B,EAAA49B,SAIA,QAAAC,GAAAX,EAAAvhF,EAAAmiF,EAAAC,EAAAC,GAWA,IAVA,GAAA7jD,GAAA6lB,EAAA31C,EACA4zE,EAAA1d,EAAA2d,EAAAzwE,EACAvU,EAAAgkF,EAAAz+E,OAGA0hE,EAAA0c,EAAAlhF,GAEAwiF,KACAllF,EAAA,EAEQA,EAAAC,EAAOD,IAGf,IAFA+mD,EAAAk9B,EAAAjkF,KAEA,IAAA+mD,EAGA,cAAAzuB,GAAAjpB,KAAA03C,GACAzuB,GAAA8rD,MAAAc,EAAAn+B,EAAAi6B,UAAAj6B,UAGI,IAAAo+B,GAAAt8E,KAAAk+C,GAIA,CAWJ,IAVAi+B,KAAA9d,EAAAlY,YAAAtsD,EAAAolD,cAAA,QAGAwf,GAAA8d,GAAAljE,KAAA6kC,KAAA,WAAAxkB,cACA/tB,EAAA6wE,GAAA/d,IAAA+d,GAAAC,SAEAN,EAAAzsC,UAAA/jC,EAAA,GAAA8jB,GAAAitD,cAAAx+B,GAAAvyC,EAAA,GAGA0sB,EAAA1sB,EAAA,GACA0sB,KACA8jD,IAAAQ,SASA,KALAzC,GAAA0C,mBAAAC,GAAA78E,KAAAk+C,IACAm+B,EAAA/5E,KAAAzI,EAAAijF,eAAAD,GAAAxjE,KAAA6kC,GAAA,MAIAg8B,GAAAkC,MAYA,IATAl+B,EAAA,UAAAugB,GAAAse,GAAA/8E,KAAAk+C,GAIA,YAAAvyC,EAAA,IAAAoxE,GAAA/8E,KAAAk+C,GAEA,EADAi+B,EAJAA,EAAAa,WAOA3kD,EAAA6lB,KAAA1O,WAAA7yC,OACA07B,KACA5I,GAAAsf,SAAAqtC,EAAAl+B,EAAA1O,WAAAnX,GAAA,WACA+jD,EAAA5sC,WAAA7yC,QAEAuhD,EAAA++B,YAAAb,EAWA,KANA3sD,GAAA8rD,MAAAc,EAAAF,EAAA3sC,YAGA2sC,EAAAe,YAAA,GAGAf,EAAAa,YACAb,EAAAc,YAAAd,EAAAa,WAIAb,GAAA9d,EAAAse,cAxDAN,GAAA/5E,KAAAzI,EAAAijF,eAAA5+B,GAyEA,KAXAi+B,GACA9d,EAAA4e,YAAAd,GAKAjC,GAAAiD,eACA1tD,GAAAyoD,KAAAiD,EAAAkB,EAAA,SAAAV,GAGAxkF,EAAA,EACA+mD,EAAAm+B,EAAAllF,MAGA,GAAA8kF,GAAAxsD,GAAA4oD,QAAAn6B,EAAA+9B,IAAA,EACAC,GACAA,EAAA55E,KAAA47C,OAiBA,IAXA31C,EAAAknB,GAAAlnB,SAAA21C,EAAAk/B,cAAAl/B,GAGAi+B,EAAAhB,EAAA9c,EAAAlY,YAAAjI,GAAA,UAGA31C,GACAizE,EAAAW,GAIAH,EAEA,IADA3jD,EAAA,EACA6lB,EAAAi+B,EAAA9jD,MACAglD,GAAAr9E,KAAAk+C,EAAA13C,MAAA,KACAw1E,EAAA15E,KAAA47C,EAQA,OAFAi+B,GAAA,KAEA9d,EA+BA,QAAAif,KACA,SAGA,QAAAC,KACA,SAKA,QAAAC,KACA,IACA,MAAAz9C,IAAAye,cACE,MAAAuI,KAGF,QAAA56C,GAAA+xC,EAAAu/B,EAAAn0D,EAAA/uB,EAAAwB,EAAA4Q,GACA,GAAA+wE,GAAAl3E,CAGA,oBAAAi3E,GAAA,CAGA,gBAAAn0D,KAGA/uB,KAAA+uB,EACAA,MAAAvpB,GAEA,KAAAyG,IAAAi3E,GACAtxE,EAAA+xC,EAAA13C,EAAA8iB,EAAA/uB,EAAAkjF,EAAAj3E,GAAAmG,EAEA,OAAAuxC,GAsBA,GAnBA,MAAA3jD,GAAA,MAAAwB,GAGAA,EAAAutB,EACA/uB,EAAA+uB,MAAAvpB,IACE,MAAAhE,IACF,gBAAAutB,IAGAvtB,EAAAxB,EACAA,MAAAwF,KAIAhE,EAAAxB,EACAA,EAAA+uB,EACAA,MAAAvpB,MAGA,IAAAhE,EACAA,EAAAwhF,MACE,KAAAxhF,EACF,MAAAmiD,EAeA,OAZA,KAAAvxC,IACA+wE,EAAA3hF,EACAA,EAAA,SAAA0sB,GAIA,MADAgH,MAAAzzB,IAAAysB,GACAi1D,EAAAviF,MAAArE,KAAAsE,YAIAW,EAAA+9E,KAAA4D,EAAA5D,OAAA4D,EAAA5D,KAAArqD,GAAAqqD,SAEA57B,EAAAp2C,KAAA,WACA2nB,GAAAhH,MAAA7a,IAAA9W,KAAA2mF,EAAA1hF,EAAAxB,EAAA+uB,KAkiCA,QAAAq0D,GAAAz/B,EAAAxwC,GACA,MAAA+hB,IAAAsf,SAAAmP,EAAA,UACAzuB,GAAAsf,SAAA,KAAArhC,EAAAyqE,SAAAzqE,IAAAsvE,WAAA,MAEA9+B,EAAAm9B,qBAAA,aACAn9B,EAAAiI,YAAAjI,EAAAk/B,cAAAn+B,cAAA,UACAf,EAIA,QAAA0/B,GAAA1/B,GAEA,MADAA,GAAA13C,MAAA,OAAAipB,GAAAvhB,KAAA5S,KAAA4iD,EAAA,aAAAA,EAAA13C,KACA03C,EAEA,QAAA2/B,GAAA3/B,GACA,GAAA78B,GAAAy8D,GAAAzkE,KAAA6kC,EAAA13C,KAMA,OALA6a,GACA68B,EAAA13C,KAAA6a,EAAA,GAEA68B,EAAA6/B,gBAAA,QAEA7/B,EAGA,QAAA8/B,GAAA18C,EAAA28C,GACA,OAAAA,EAAA9F,UAAA1oD,GAAAyuD,QAAA58C,GAAA,CAIA,GAAA96B,GAAArP,EAAAC,EACA+mF,EAAA1uD,GAAAisD,MAAAp6C,GACA88C,EAAA3uD,GAAAisD,MAAAuC,EAAAE,GACAv4E,EAAAu4E,EAAAv4E,MAEA,IAAAA,EAAA,OACAw4E,GAAAC,OACAD,EAAAx4E,SAEA,KAAAY,IAAAZ,GACA,IAAAzO,EAAA,EAAAC,EAAAwO,EAAAY,GAAA7J,OAA0CxF,EAAAC,EAAOD,IACjDs4B,GAAAhH,MAAA7a,IAAAqwE,EAAAz3E,EAAAZ,EAAAY,GAAArP,IAMAinF,EAAA7jF,OACA6jF,EAAA7jF,KAAAk1B,GAAAtyB,UAAkCihF,EAAA7jF,QAIlC,QAAA+jF,GAAAh9C,EAAA28C,GACA,GAAAlvC,GAAAnuC,EAAArG,CAGA,QAAA0jF,EAAA9F,SAAA,CAOA,GAHAppC,EAAAkvC,EAAAlvC,SAAArV,eAGAwgD,GAAAqE,cAAAN,EAAAxuD,GAAAkqD,SAAA,CACAp/E,EAAAk1B,GAAAisD,MAAAuC,EAEA,KAAAr9E,IAAArG,GAAAqL,OACA6pB,GAAA+uD,YAAAP,EAAAr9E,EAAArG,EAAA8jF,OAIAJ,GAAAF,gBAAAtuD,GAAAkqD,SAIA,WAAA5qC,GAAAkvC,EAAAngF,OAAAwjC,EAAAxjC,MACA8/E,EAAAK,GAAAngF,KAAAwjC,EAAAxjC,KACA+/E,EAAAI,IAIE,WAAAlvC,GACFkvC,EAAAQ,aACAR,EAAAS,UAAAp9C,EAAAo9C,WAOAxE,GAAAyE,YAAAr9C,EAAAoO,YAAAjgB,GAAA9sB,KAAAs7E,EAAAvuC,aACAuuC,EAAAvuC,UAAApO,EAAAoO,YAGE,UAAAX,GAAA6sC,GAAA57E,KAAAshC,EAAA96B,OAMFy3E,EAAApC,eAAAoC,EAAAnC,QAAAx6C,EAAAw6C,QAIAmC,EAAA9kF,QAAAmoC,EAAAnoC,QACA8kF,EAAA9kF,MAAAmoC,EAAAnoC,QAKE,WAAA41C,EACFkvC,EAAAW,gBAAAX,EAAAtuC,SAAArO,EAAAs9C,gBAIE,UAAA7vC,GAAA,aAAAA,IACFkvC,EAAAnkF,aAAAwnC,EAAAxnC,eAIA,QAAA+kF,GAAA3oE,EAAA1W,EAAA4mB,EAAA81D,GAGA18E,EAAAgqC,GAAAruC,SAAAqE,EAEA,IAAAmJ,GAAAm2E,EAAAC,EACA/C,EAAAgD,EAAA14D,EACAnvB,EAAA,EACAC,EAAA8e,EAAAvZ,OACAsiF,EAAA7nF,EAAA,EACA+B,EAAAqG,EAAA,GACAxF,EAAAy1B,GAAAz1B,WAAAb,EAGA,IAAAa,GACA5C,EAAA,mBAAA+B,KACA+gF,GAAAgF,YAAAC,GAAAn/E,KAAA7G,GACA,MAAA+c,GAAApO,KAAA,SAAAkZ,GACA,GAAAnqB,GAAAqf,EAAAkpE,GAAAp+D,EACAhnB,KACAwF,EAAA,GAAArG,EAAA9B,KAAAP,KAAAkqB,EAAAnqB,EAAA2Y,SAEAqvE,EAAAhoF,EAAA2I,EAAA4mB,EAAA81D,IAIA,IAAA9kF,IACAkvB,EAAAy1D,EAAAv8E,EAAA0W,EAAA,GAAAknE,eAAA,EAAAlnE,EAAAgmE,GACAvzE,EAAA2d,EAAA02D,WAEA,IAAA12D,EAAAkpB,WAAA7yC,SACA2pB,EAAA3d,GAIAA,GAAAuzE,GAAA,CAOA,IANAF,EAAAvsD,GAAA/mB,IAAAyyE,EAAA70D,EAAA,UAAAs3D,GACAmB,EAAA/C,EAAAr/E,OAKUxF,EAAAC,EAAOD,IACjB2nF,EAAAx4D,EAEAnvB,IAAA8nF,IACAH,EAAArvD,GAAA10B,MAAA+jF,GAAA,MAGAC,GAIAtvD,GAAA8rD,MAAAS,EAAAb,EAAA2D,EAAA,YAIA14D,EAAA/uB,KAAA6e,EAAA/e,GAAA2nF,EAAA3nF,EAGA,IAAA4nF,EAOA,IANAC,EAAAhD,IAAAr/E,OAAA,GAAAygF,cAGA3tD,GAAA/mB,IAAAszE,EAAA6B,GAGA1mF,EAAA,EAAgBA,EAAA4nF,EAAgB5nF,IAChC2nF,EAAA9C,EAAA7kF,GACAkmF,GAAAr9E,KAAA8+E,EAAAt4E,MAAA,MACAipB,GAAAisD,MAAAoD,EAAA,eACArvD,GAAAlnB,SAAAy2E,EAAAF,KAEAA,EAAAx9C,IAGA7R,GAAA4vD,UACA5vD,GAAA4vD,SAAAP,EAAAx9C,KAGA7R,GAAA6vD,YACAR,EAAAhhF,MAAAghF,EAAA5B,aAAA4B,EAAApvC,WAAA,IACA5vC,QAAAy/E,GAAA,KAQAj5D,GAAA3d,EAAA,KAIA,MAAAuN,GAGA,QAAA/H,GAAA+vC,EAAA50B,EAAAk2D,GAKA,IAJA,GAAAV,GACA1D,EAAA9xD,EAAAmG,GAAA3L,OAAAwF,EAAA40B,KACA/mD,EAAA,EAEQ,OAAA2nF,EAAA1D,EAAAjkF,IAA+BA,IAEvCqoF,GAAA,IAAAV,EAAA3G,UACA1oD,GAAAwqD,UAAAkB,EAAA2D,IAGAA,EAAAL,aACAe,GAAA/vD,GAAAlnB,SAAAu2E,EAAA1B,cAAA0B,IACAtD,EAAAL,EAAA2D,EAAA,WAEAA,EAAAL,WAAAxB,YAAA6B,GAIA,OAAA5gC,GA6TA,QAAAuhC,GAAAhoF,EAAAunF,GACA,GAAA9gC,GAAAzuB,GAAAuvD,EAAA//B,cAAAxnD,IAAAioF,SAAAV,EAAAW,MAEA1R,EAAAx+C,GAAAzD,IAAAkyB,EAAA,aAMA,OAFAA,GAAAy6B,SAEA1K,EAOA,QAAA2R,GAAA7wC,GACA,GAAAiwC,GAAAj/C,GACAkuC,EAAA4R,GAAA9wC,EA2BA,OAzBAk/B,KACAA,EAAAwR,EAAA1wC,EAAAiwC,GAGA,SAAA/Q,OAGAD,QAAAv+C,GAAA,mDACAiwD,SAAAV,EAAAc,iBAGAd,GAAAhR,GAAA,GAAAE,eAAAF,GAAA,GAAA+R,iBAAAhgD,SAGAi/C,EAAAl/C,QACAk/C,EAAA3Q,QAEAJ,EAAAwR,EAAA1wC,EAAAiwC,GACAhR,GAAA2K,UAIAkH,GAAA9wC,GAAAk/B,GAGAA,EA4UA,QAAA+R,GAAAC,EAAAC,GAGA,OACAloF,IAAA,WACA,MAAAioF,gBAIAnpF,MAAAkB,KAKAlB,KAAAkB,IAAAkoF,GAAA/kF,MAAArE,KAAAsE,aA6BA,QAAA+kF,GAAA1oF,GAGA,GAAAA,IAAA2oF,IACA,MAAA3oF,EAOA,KAHA,GAAA4oF,GAAA5oF,EAAAypB,OAAA,GAAA0Y,cAAAniC,EAAAiI,MAAA,GACAvI,EAAAmpF,GAAA3jF,OAEAxF,KAEA,IADAM,EAAA6oF,GAAAnpF,GAAAkpF,IACAD,IACA,MAAA3oF,GAKA,QAAA8oF,GAAAvI,EAAAtsD,GAMA,IALA,GAAAuiD,GAAA/vB,EAAArf,EACA9oB,KACAiL,EAAA,EACArkB,EAAAq7E,EAAAr7E,OAEQqkB,EAAArkB,EAAgBqkB,IACxBk9B,EAAA85B,EAAAh3D,GACAk9B,EAAAttB,QAIA7a,EAAAiL,GAAAyO,GAAAisD,MAAAx9B,EAAA,cACA+vB,EAAA/vB,EAAAttB,MAAAq9C,QACAviD,GAIA3V,EAAAiL,IAAA,SAAAitD,IACA/vB,EAAAttB,MAAAq9C,QAAA,IAMA,KAAA/vB,EAAAttB,MAAAq9C,SAAAuS,GAAAtiC,KACAnoC,EAAAiL,GACAyO,GAAAisD,MAAAx9B,EAAA,aAAA0hC,EAAA1hC,EAAAnP,cAGAlQ,EAAA2hD,GAAAtiC,IAEA+vB,GAAA,SAAAA,IAAApvC,IACApP,GAAAisD,MACAx9B,EACA,aACArf,EAAAovC,EAAAx+C,GAAAzD,IAAAkyB,EAAA,aAQA,KAAAl9B,EAAA,EAAiBA,EAAArkB,EAAgBqkB,IACjCk9B,EAAA85B,EAAAh3D,GACAk9B,EAAAttB,QAGAlF,GAAA,SAAAwyB,EAAAttB,MAAAq9C,SAAA,KAAA/vB,EAAAttB,MAAAq9C,UACA/vB,EAAAttB,MAAAq9C,QAAAviD,EAAA3V,EAAAiL,IAAA,WAIA,OAAAg3D,GAGA,QAAAyI,GAAAviC,EAAA/kD,EAAAunF,GACA,GAAAt/D,GAAAu/D,GAAAtnE,KAAAlgB,EACA,OAAAioB,GAGAmD,KAAA/C,IAAA,EAAAJ,EAAA,IAAAs/D,GAAA,KAAAt/D,EAAA,UACAjoB,EAGA,QAAAynF,GAAA1iC,EAAAzmD,EAAAopF,EAAAC,EAAA3lC,GAWA,IAVA,GAAAhkD,GAAA0pF,KAAAC,EAAA,oBAGA,EAGA,UAAArpF,EAAA,IAEAgP,EAAA,EAEQtP,EAAA,EAAOA,GAAA,EAGf,WAAA0pF,IACAp6E,GAAAgpB,GAAAzD,IAAAkyB,EAAA2iC,EAAAE,GAAA5pF,IAAA,EAAAgkD,IAGA2lC,GAGA,YAAAD,IACAp6E,GAAAgpB,GAAAzD,IAAAkyB,EAAA,UAAA6iC,GAAA5pF,IAAA,EAAAgkD,IAIA,WAAA0lC,IACAp6E,GAAAgpB,GAAAzD,IAAAkyB,EAAA,SAAA6iC,GAAA5pF,GAAA,WAAAgkD,MAKA10C,GAAAgpB,GAAAzD,IAAAkyB,EAAA,UAAA6iC,GAAA5pF,IAAA,EAAAgkD,GAGA,YAAA0lC,IACAp6E,GAAAgpB,GAAAzD,IAAAkyB,EAAA,SAAA6iC,GAAA5pF,GAAA,WAAAgkD,IAKA,OAAA10C,GAGA,QAAAu6E,GAAA9iC,EAAAzmD,EAAAopF,GAGA,GAAAI,IAAA,EACAx6E,EAAA,UAAAhP,EAAAymD,EAAAzJ,YAAAyJ,EAAAgjC,aACA/lC,EAAAgmC,GAAAjjC,GACA4iC,EAAA5G,GAAAkH,WACA,eAAA3xD,GAAAzD,IAAAkyB,EAAA,eAAA/C,EAKA,IAAA10C,GAAA,SAAAA,EAAA,CASA,GANAA,EAAA46E,GAAAnjC,EAAAzmD,EAAA0jD,IACA10C,EAAA,SAAAA,KACAA,EAAAy3C,EAAAttB,MAAAn5B,IAIA6pF,GAAAthF,KAAAyG,GACA,MAAAA,EAKAw6E,GAAAH,IACA5G,GAAAqH,qBAAA96E,IAAAy3C,EAAAttB,MAAAn5B,IAGAgP,EAAAlF,WAAAkF,IAAA,EAIA,MAAAA,GACAm6E,EACA1iC,EACAzmD,EACAopF,IAAAC,EAAA,oBACAG,EACA9lC,GAEA,KAoVA,QAAAqmC,GAAAtjC,EAAA7hD,EAAA6J,EAAA+hE,EAAAwZ,GACA,UAAAD,GAAAnpF,UAAAknC,KAAA2e,EAAA7hD,EAAA6J,EAAA+hE,EAAAwZ,GA2HA,QAAAC,KAIA,MAHArjF,GAAAyI,WAAA,WACA66E,OAAA5hF,KAEA4hF,GAAAlyD,GAAAmyD,MAIA,QAAAC,GAAAr7E,EAAAs7E,GACA,GAAAp9E,GACA+R,GAAWgW,OAAAjmB,GACXrP,EAAA,CAKA,KADA2qF,IAAA,IACQ3qF,EAAA,EAAQA,GAAA,EAAA2qF,EAChBp9E,EAAAq8E,GAAA5pF,GACAsf,EAAA,SAAA/R,GAAA+R,EAAA,UAAA/R,GAAA8B,CAOA,OAJAs7E,KACArrE,EAAAsrE,QAAAtrE,EAAAgV,MAAAjlB,GAGAiQ,EAGA,QAAAurE,GAAA7oF,EAAA+M,EAAA+7E,GAKA,IAJA,GAAA3H,GACApkE,GAAAgsE,EAAAC,SAAAj8E,QAAAsjC,OAAA04C,EAAAC,SAAA,MACAnhE,EAAA,EACArkB,EAAAuZ,EAAAvZ,OACQqkB,EAAArkB,EAAgBqkB,IACxB,GAAAs5D,EAAApkE,EAAA8K,GAAA3pB,KAAA4qF,EAAA/7E,EAAA/M,GAGA,MAAAmhF,GAKA,QAAA8H,GAAAlkC,EAAA7nC,EAAApG,GAEA,GAAA/J,GAAA/M,EAAAsR,EAAA6vE,EAAAv7B,EAAAsjC,EAAApU,EACAqU,EAAAxrF,KACAyrF,KACA3xD,EAAAstB,EAAAttB,MACAiO,EAAAqf,EAAAi6B,UAAAqI,GAAAtiC,GACAskC,EAAA/yD,GAAAisD,MAAAx9B,EAAA,SAGAjuC,GAAAwyE,QACA1jC,EAAAtvB,GAAAizD,YAAAxkC,EAAA,MACA,MAAAa,EAAA4jC,WACA5jC,EAAA4jC,SAAA,EACAN,EAAAtjC,EAAAvjD,MAAAonF,KACA7jC,EAAAvjD,MAAAonF,KAAA,WACA7jC,EAAA4jC,UACAN,MAIAtjC,EAAA4jC,WAEAL,EAAAO,OAAA,WAIAP,EAAAO,OAAA,WACA9jC,EAAA4jC,WACAlzD,GAAAgzD,MAAAvkC,EAAA,MAAAvhD,QACAoiD,EAAAvjD,MAAAonF,YAOA,IAAA1kC,EAAAi6B,WAAA,UAAA9hE,IAAA,SAAAA,MAMApG,EAAA6yE,UAAAlyD,EAAAkyD,SAAAlyD,EAAAmyD,UAAAnyD,EAAAoyD,WAIA/U,EAAAx+C,GAAAzD,IAAAkyB,EAAA,WAMA,YAHA,SAAA+vB,EACAx+C,GAAAisD,MAAAx9B,EAAA,eAAA0hC,EAAA1hC,EAAAnP,UAAAk/B,IAEA,SAAAx+C,GAAAzD,IAAAkyB,EAAA,WAIAg8B,GAAA+I,wBAAA,WAAArD,EAAA1hC,EAAAnP,UAGAne,EAAAsyD,KAAA,EAFAtyD,EAAAq9C,QAAA,iBAOAh+D,EAAA6yE,WACAlyD,EAAAkyD,SAAA,SACA5I,GAAAiJ,oBACAb,EAAAO,OAAA,WACAjyD,EAAAkyD,SAAA7yE,EAAA6yE,SAAA,GACAlyD,EAAAmyD,UAAA9yE,EAAA6yE,SAAA,GACAlyD,EAAAoyD,UAAA/yE,EAAA6yE,SAAA,KAMA,KAAA58E,IAAAmQ,GAEA,GADAld,EAAAkd,EAAAnQ,GACAk9E,GAAA/pE,KAAAlgB,GAAA,CAGA,SAFAkd,GAAAnQ,GACAuE,KAAA,WAAAtR,EACAA,KAAA0lC,EAAA,gBAIA,YAAA1lC,IAAAqpF,OAAAziF,KAAAyiF,EAAAt8E,GAGA,QAFA24B,IAAA,EAKA0jD,EAAAr8E,GAAAs8E,KAAAt8E,IAAAupB,GAAAmB,MAAAstB,EAAAh4C,OAIA+nE,OAAAluE,EAIA,IAAA0vB,GAAA4pD,cAAAkJ,GAwCE,qBAAAtU,EAAA2R,EAAA1hC,EAAAnP,UAAAk/B,KACFr9C,EAAAq9C,eAzCA,CACAuU,EACA,UAAAA,KACA3jD,EAAA2jD,EAAA3jD,QAGA2jD,EAAA/yD,GAAAisD,MAAAx9B,EAAA,aAIAzzC,IACA+3E,EAAA3jD,WAEAA,EACApP,GAAAyuB,GAAAxyB,OAEA42D,EAAA3zE,KAAA,WACA8gB,GAAAyuB,GAAA3yB,SAGA+2D,EAAA3zE,KAAA,WACA,GAAAzI,EACAupB,IAAA4zD,YAAAnlC,EAAA,SACA,KAAAh4C,IAAAq8E,GACA9yD,GAAAmB,MAAAstB,EAAAh4C,EAAAq8E,EAAAr8E,KAGA,KAAAA,IAAAq8E,GACAjI,EAAA0H,EAAAnjD,EAAA2jD,EAAAt8E,GAAA,EAAAA,EAAAo8E,GAEAp8E,IAAAs8E,KACAA,EAAAt8E,GAAAo0E,EAAAx0D,MACA+Y,IACAy7C,EAAArS,IAAAqS,EAAAx0D,MACAw0D,EAAAx0D,MAAA,UAAA5f,GAAA,WAAAA,EAAA,OAWA,QAAAo9E,GAAAjtE,EAAAktE,GACA,GAAAviE,GAAAvpB,EAAAgqF,EAAAtoF,EAAA4lD,CAGA,KAAA/9B,IAAA3K,GAeA,GAdA5e,EAAAg4B,GAAAsqD,UAAA/4D,GACAygE,EAAA8B,EAAA9rF,GACA0B,EAAAkd,EAAA2K,GACAyO,GAAA9nB,QAAAxO,KACAsoF,EAAAtoF,EAAA,GACAA,EAAAkd,EAAA2K,GAAA7nB,EAAA,IAGA6nB,IAAAvpB,IACA4e,EAAA5e,GAAA0B,QACAkd,GAAA2K,KAGA+9B,EAAAtvB,GAAA+zD,SAAA/rF,KACA,UAAAsnD,GAAA,CACA5lD,EAAA4lD,EAAA0kC,OAAAtqF,SACAkd,GAAA5e,EAIA,KAAAupB,IAAA7nB,GACA6nB,IAAA3K,KACAA,EAAA2K,GAAA7nB,EAAA6nB,GACAuiE,EAAAviE,GAAAygE,OAIA8B,GAAA9rF,GAAAgqF,EAKA,QAAAS,GAAAhkC,EAAAjhB,EAAA5gC,GACA,GAAAuP,GACA83E,EACA1iE,EAAA,EACArkB,EAAAulF,EAAAyB,WAAAhnF,OACA4rD,EAAA94B,GAAAm0D,WAAAf,OAAA,iBAGAgB,GAAA3lC,OAEA2lC,EAAA,WACA,GAAAH,EACA,QAYA,KAVA,GAAAI,GAAAnC,IAAAD,IACAqC,EAAAx/D,KAAA/C,IAAA,EAAAygE,EAAA+B,UAAA/B,EAAAgC,SAAAH,GAIAI,EAAAH,EAAA9B,EAAAgC,UAAA,EACAE,EAAA,EAAAD,EACAljE,EAAA,EACArkB,EAAAslF,EAAAmC,OAAAznF,OAEUqkB,EAAArkB,EAAiBqkB,IAC3BihE,EAAAmC,OAAApjE,GAAAqjE,IAAAF,EAKA,OAFA57B,GAAA+7B,WAAApmC,GAAA+jC,EAAAkC,EAAAJ,IAEAI,EAAA,GAAAxnF,EACAonF,GAEAx7B,EAAAg8B,YAAArmC,GAAA+jC,KACA,IAGAA,EAAA15B,EAAAM,SACA3K,OACA7nC,MAAAoZ,GAAAtyB,UAA2B8/B,GAC3BhtB,KAAAwf,GAAAtyB,QAAA,GACAomF,iBACA9B,OAAAhyD,GAAAgyD,OAAAhF,UACIpgF,GACJmoF,mBAAAvnD,EACAwnD,gBAAApoF,EACA2nF,UAAArC,IAAAD,IACAuC,SAAA5nF,EAAA4nF,SACAG,UACApC,YAAA,SAAA97E,EAAA+hE,GACA,GAAAqS,GAAA7qD,GAAA+xD,MAAAtjC,EAAA+jC,EAAAhyE,KAAA/J,EAAA+hE,EACAga,EAAAhyE,KAAAszE,cAAAr9E,IAAA+7E,EAAAhyE,KAAAwxE,OAEA,OADAQ,GAAAmC,OAAA9hF,KAAAg4E,GACAA,GAEA7zC,KAAA,SAAAi+C,GACA,GAAA1jE,GAAA,EAIArkB,EAAA+nF,EAAAzC,EAAAmC,OAAAznF,OAAA,CACA,IAAA+mF,EACA,MAAA5sF,KAGA,KADA4sF,GAAA,EACW1iE,EAAArkB,EAAiBqkB,IAC5BihE,EAAAmC,OAAApjE,GAAAqjE,IAAA,EAWA,OANAK,IACAn8B,EAAA+7B,WAAApmC,GAAA+jC,EAAA,MACA15B,EAAAg8B,YAAArmC,GAAA+jC,EAAAyC,KAEAn8B,EAAAo8B,WAAAzmC,GAAA+jC,EAAAyC,IAEA5tF,QAGAuf,EAAA4rE,EAAA5rE,KAIA,KAFAitE,EAAAjtE,EAAA4rE,EAAAhyE,KAAAszE,eAEQviE,EAAArkB,EAAiBqkB,IAEzB,GADApV,EAAAs2E,EAAAyB,WAAA3iE,GAAA3pB,KAAA4qF,EAAA/jC,EAAA7nC,EAAA4rE,EAAAhyE,MAMA,MAJAwf,IAAAz1B,WAAA4R,EAAA66B,QACAhX,GAAAizD,YAAAT,EAAA/jC,KAAA+jC,EAAAhyE,KAAAwyE,OAAAh8C,KACAhX,GAAAm1D,MAAAh5E,EAAA66B,KAAA76B,IAEAA,CAmBA,OAfA6jB,IAAA/mB,IAAA2N,EAAA2rE,EAAAC,GAEAxyD,GAAAz1B,WAAAioF,EAAAhyE,KAAA6V,QACAm8D,EAAAhyE,KAAA6V,MAAAzuB,KAAA6mD,EAAA+jC,GAGAxyD,GAAAo1D,GAAAC,MACAr1D,GAAAtyB,OAAA0mF,GACA3lC,OACAokC,KAAAL,EACAQ,MAAAR,EAAAhyE,KAAAwyE,SAKAR,EAAAj1B,SAAAi1B,EAAAhyE,KAAA+8C,UACAr+C,KAAAszE,EAAAhyE,KAAAtB,KAAAszE,EAAAhyE,KAAA80E,UACAn2E,KAAAqzE,EAAAhyE,KAAArB,MACAi0E,OAAAZ,EAAAhyE,KAAA4yE,QAw8BA,QAAAmC,GAAA9mC,GACA,MAAAzuB,IAAAn0B,KAAA4iD,EAAA,aAuTA,QAAA+mC,GAAAC,GAGA,gBAAAC,EAAAz2E,GAEA,gBAAAy2E,KACAz2E,EAAAy2E,EACAA,EAAA,IAGA,IAAAz0E,GACAvZ,EAAA,EACAiuF,EAAAD,EAAAzrD,cAAArY,MAAAo3D,OAEA,IAAAhpD,GAAAz1B,WAAA0U,GAGA,KAAAgC,EAAA00E,EAAAjuF,MAGA,MAAAuZ,EAAAwQ,OAAA,IACAxQ,IAAAhR,MAAA,SACAwlF,EAAAx0E,GAAAw0E,EAAAx0E,QAAApP,QAAAoN,KAIAw2E,EAAAx0E,GAAAw0E,EAAAx0E,QAAApO,KAAAoM,IAQA,QAAA22E,GAAAH,EAAA7oF,EAAAooF,EAAAa,GAKA,QAAAx4B,GAAAp8C,GACA,GAAAi/B,EAcA,OAbA6d,GAAA98C,IAAA,EACA+e,GAAA3nB,KAAAo9E,EAAAx0E,OAAA,SAAAlX,EAAA+rF,GACA,GAAAC,GAAAD,EAAAlpF,EAAAooF,EAAAa,EACA,uBAAAE,IACAC,GAAAj4B,EAAAg4B,GAKIC,IACJ91C,EAAA61C,OADI,IAHJnpF,EAAA+oF,UAAA9jF,QAAAkkF,GACA14B,EAAA04B,IACA,KAKA71C,EAlBA,GAAA6d,MACAi4B,EAAAP,IAAAQ,EAoBA,OAAA54B,GAAAzwD,EAAA+oF,UAAA,MAAA53B,EAAA,MAAAV,EAAA,KAMA,QAAA64B,GAAAjjF,EAAA4+B,GACA,GAAAskD,GAAA3kF,EACA4kF,EAAAp2D,GAAAq2D,aAAAD,eAEA,KAAA5kF,IAAAqgC,OACAvhC,KAAAuhC,EAAArgC,MACA4kF,EAAA5kF,GAAAyB,EAAAkjF,WAAwD3kF,GAAAqgC,EAAArgC,GAOxD,OAJA2kF,IACAn2D,GAAAtyB,QAAA,EAAAuF,EAAAkjF,GAGAljF,EAOA,QAAAqjF,GAAAvtF,EAAA8sF,EAAAU,GAMA,IALA,GAAAC,GAAAC,EAAAC,EAAA3/E,EACA4/E,EAAA5tF,EAAA4tF,SACAhB,EAAA5sF,EAAA4sF,UAGA,MAAAA,EAAA,IACAA,EAAAzlF,YACAI,KAAAmmF,IACAA,EAAA1tF,EAAA6tF,UAAAf,EAAA9tD,kBAAA,gBAKA,IAAA0uD,EACA,IAAA1/E,IAAA4/E,GACA,GAAAA,EAAA5/E,IAAA4/E,EAAA5/E,GAAAxG,KAAAkmF,GAAA,CACAd,EAAA9jF,QAAAkF,EACA,OAMA,GAAA4+E,EAAA,IAAAY,GACAG,EAAAf,EAAA,OACE,CAGF,IAAA5+E,IAAAw/E,GAAA,CACA,IAAAZ,EAAA,IAAA5sF,EAAAuF,WAAAyI,EAAA,IAAA4+E,EAAA,KACAe,EAAA3/E,CACA,OAEAy/E,IACAA,EAAAz/E,GAKA2/E,KAAAF,EAMA,GAAAE,EAIA,MAHAA,KAAAf,EAAA,IACAA,EAAA9jF,QAAA6kF,GAEAH,EAAAG,GAOA,QAAAG,GAAA9tF,EAAA+tF,EAAAjB,EAAAkB,GACA,GAAAC,GAAAr2B,EAAAs2B,EAAAvK,EAAAr9B,EACA/gD,KAGAqnF,EAAA5sF,EAAA4sF,UAAA1lF,OAGA,IAAA0lF,EAAA,GACA,IAAAsB,IAAAluF,GAAAuF,WACAA,EAAA2oF,EAAAhtD,eAAAlhC,EAAAuF,WAAA2oF,EAOA,KAHAt2B,EAAAg1B,EAAAzlF,QAGAywD,GAcA,GAZA53D,EAAAmuF,eAAAv2B,KACAk1B,EAAA9sF,EAAAmuF,eAAAv2B,IAAAm2B,IAIAznC,GAAA0nC,GAAAhuF,EAAAouF,aACAL,EAAA/tF,EAAAouF,WAAAL,EAAA/tF,EAAAkY,WAGAouC,EAAAsR,EACAA,EAAAg1B,EAAAzlF,QAKA,SAAAywD,EAEAA,EAAAtR,MAGI,UAAAA,OAAAsR,EAAA,CAMJ,KAHAs2B,EAAA3oF,EAAA+gD,EAAA,IAAAsR,IAAAryD,EAAA,KAAAqyD,IAIA,IAAAq2B,IAAA1oF,GAIA,GADAo+E,EAAAsK,EAAApmF,MAAA,KACA87E,EAAA,KAAA/rB,IAGAs2B,EAAA3oF,EAAA+gD,EAAA,IAAAq9B,EAAA,KACAp+E,EAAA,KAAAo+E,EAAA,KACA,EAGA,IAAAuK,EACAA,EAAA3oF,EAAA0oF,IAGS,IAAA1oF,EAAA0oF,KACTr2B,EAAA+rB,EAAA,GACAiJ,EAAA9jF,QAAA66E,EAAA,IAEA,OAOA,QAAAuK,EAGA,GAAAA,GAAAluF,EAAA,OACA+tF,EAAAG,EAAAH,OAEA,KACAA,EAAAG,EAAAH,GACO,MAAA3lF,GACP,OACAulB,MAAA,cACAviB,MAAA8iF,EAAA9lF,EAAA,sBAAAk+C,EAAA,OAAAsR,IASA,OAASjqC,MAAA,UAAA5rB,KAAAgsF,GA6nBT,QAAAM,IAAA3oC,GACA,MAAAA,GAAAttB,OAAAstB,EAAAttB,MAAAq9C,SAAAx+C,GAAAzD,IAAAkyB,EAAA,WAGA,QAAA4oC,IAAA5oC,GAGA,IAAAzuB,GAAAlnB,SAAA21C,EAAAk/B,eAAAr9C,GAAAme,GACA,QAEA,MAAAA,GAAA,IAAAA,EAAAi6B,UAAA,CACA,YAAA0O,GAAA3oC,IAAA,WAAAA,EAAA13C,KACA,QAEA03C,KAAAugC,WAEA,SA0BA,QAAAsI,IAAA95C,EAAAv0C,EAAAsuF,EAAAp5E,GACA,GAAAnW,EAEA,IAAAg4B,GAAA9nB,QAAAjP,GAGA+2B,GAAA3nB,KAAApP,EAAA,SAAAvB,EAAAsyE,GACAud,GAAAC,GAAAjnF,KAAAitC,GAGAr/B,EAAAq/B,EAAAw8B,GAKAsd,GACA95C,EAAA,qBAAAw8B,IAAA,MAAAA,EAAAtyE,EAAA,QACAsyE,EACAud,EACAp5E,SAKE,IAAAo5E,GAAA,WAAAv3D,GAAAjpB,KAAA9N,GAUFkV,EAAAq/B,EAAAv0C,OAPA,KAAAjB,IAAAiB,GACAquF,GAAA95C,EAAA,IAAAx1C,EAAA,IAAAiB,EAAAjB,GAAAuvF,EAAAp5E,GAmSA,QAAAs5E,MACA,IACA,UAAA7oF,GAAA8tE,eACE,MAAAvrE,KAGF,QAAAumF,MACA,IACA,UAAA9oF,GAAA+oF,cAAA,qBACE,MAAAxmF,KA+UF,QAAAymF,IAAAnpC,GACA,MAAAzuB,IAAAqoD,SAAA55B,GACAA,EACA,IAAAA,EAAAi6B,WACAj6B,EAAAopC,aAAAppC,EAAAqpC,cA35UA,GAAA1N,OAEA95C,GAAA1hC,EAAA0hC,SAEArgC,GAAAm6E,GAAAn6E,MAEA8pC,GAAAqwC,GAAArwC,OAEAlnC,GAAAu3E,GAAAv3E,KAEA2b,GAAA47D,GAAA57D,QAEAupE,MAEA9lF,GAAA8lF,GAAA9lF,SAEA+lF,GAAAD,GAAAlvF,eAEA4hF,MAQAzqD,GAAA,SAAAnG,EAAAzvB,GAIA,UAAA41B,IAAA1zB,GAAAwjC,KAAAjW,EAAAzvB,IAKA81E,GAAA,qCAGA+X,GAAA,QACAC,GAAA,eAGAC,GAAA,SAAA3nE,EAAA0Z,GACA,MAAAA,GAAAC,cAGAnK,IAAA1zB,GAAA0zB,GAAAp3B,WAGAwvF,OA1BA,SA4BA3sF,YAAAu0B,GAGAnG,SAAA,GAGA3sB,OAAA,EAEA8a,QAAA,WACA,MAAA/X,IAAArI,KAAAP,OAKAkB,IAAA,SAAAqlD,GACA,aAAAA,EAGAA,EAAA,EAAAvmD,KAAAumD,EAAAvmD,KAAA6F,QAAA7F,KAAAumD,GAGA39C,GAAArI,KAAAP,OAKAgxF,UAAA,SAAA1M,GAGA,GAAAtH,GAAArkD,GAAA8rD,MAAAzkF,KAAAoE,cAAAkgF,EAOA,OAJAtH,GAAAiU,WAAAjxF,KACAg9E,EAAAj6E,QAAA/C,KAAA+C,QAGAi6E,GAIAhsE,KAAA,SAAAse,GACA,MAAAqJ,IAAA3nB,KAAAhR,KAAAsvB,IAGA1d,IAAA,SAAA0d,GACA,MAAAtvB,MAAAgxF,UAAAr4D,GAAA/mB,IAAA5R,KAAA,SAAAonD,EAAA/mD,GACA,MAAAivB,GAAA/uB,KAAA6mD,EAAA/mD,EAAA+mD,OAIAx+C,MAAA,WACA,MAAA5I,MAAAgxF,UAAApoF,GAAAvE,MAAArE,KAAAsE,aAGAuN,MAAA,WACA,MAAA7R,MAAAsoF,GAAA,IAGA18C,KAAA,WACA,MAAA5rC,MAAAsoF,IAAA,IAGAA,GAAA,SAAAjoF,GACA,GAAAk2D,GAAAv2D,KAAA6F,OACA07B,GAAAlhC,KAAA,EAAAk2D,EAAA,EACA,OAAAv2D,MAAAgxF,UAAAzvD,GAAA,GAAAA,EAAAg1B,GAAAv2D,KAAAuhC,SAGA4vC,IAAA,WACA,MAAAnxE,MAAAixF,YAAAjxF,KAAAoE,eAKAoH,QACA8iE,KAAAyU,GAAAzU,KACA/7C,OAAAwwD,GAAAxwD,QAGAoG,GAAAtyB,OAAAsyB,GAAA1zB,GAAAoB,OAAA,WACA,GAAAmkC,GAAA0mD,EAAAC,EAAAxwF,EAAA4E,EAAAtB,EACA2H,EAAAtH,UAAA,OACAjE,EAAA,EACAwF,EAAAvB,UAAAuB,OACAipF,GAAA,CAsBA,KAnBA,iBAAAljF,KACAkjF,EAAAljF,EAGAA,EAAAtH,UAAAjE,OACAA,KAIA,gBAAAuL,IAAA+sB,GAAAz1B,WAAA0I,KACAA,MAIAvL,IAAAwF,IACA+F,EAAA5L,KACAK,KAGQA,EAAAwF,EAAYxF,IAGpB,UAAAkF,EAAAjB,UAAAjE,IAGA,IAAAM,IAAA4E,GACAilC,EAAA5+B,EAAAjL,GACAwwF,EAAA5rF,EAAA5E,GAKA,cAAAA,GAAAiL,IAAAulF,IAKArC,GAAAqC,IAAAx4D,GAAAxtB,cAAAgmF,KACAD,EAAAv4D,GAAA9nB,QAAAsgF,MAEAD,GACAA,GAAA,EACAjtF,EAAAumC,GAAA7R,GAAA9nB,QAAA25B,SAGAvmC,EAAAumC,GAAA7R,GAAAxtB,cAAAq/B,QAIA5+B,EAAAjL,GAAAg4B,GAAAtyB,OAAAyoF,EAAA7qF,EAAAktF,QAGKloF,KAAAkoF,IACLvlF,EAAAjL,GAAAwwF,GAOA,OAAAvlF,IAGA+sB,GAAAtyB,QAGAw8E,QAAA,UArLA,SAqLAp1D,KAAAniB,UAAAtC,QAAA,UAGAooF,SAAA,EAEAtkF,MAAA,SAAAwJ,GACA,SAAA7N,OAAA6N,IAGA2a,KAAA,aAKA/tB,WAAA,SAAAtB,GACA,mBAAA+2B,GAAAjpB,KAAA9N,IAGAiP,QAAAlI,MAAAkI,SAAA,SAAAjP,GACA,gBAAA+2B,GAAAjpB,KAAA9N,IAGAo/E,SAAA,SAAAp/E,GAEA,aAAAA,QAAA2F,QAGA8pF,UAAA,SAAAzvF,GAMA,GAAA0vF,GAAA1vF,KAAAgJ,UACA,QAAA+tB,GAAA9nB,QAAAjP,IAAA0vF,EAAA7mF,WAAA6mF,GAAA,MAGA/O,cAAA,SAAA3gF,GACA,GAAAjB,EACA,KAAAA,IAAAiB,GACA,QAEA,WAGAuJ,cAAA,SAAAvJ,GACA,GAAAuI,EAKA,KAAAvI,GAAA,WAAA+2B,GAAAjpB,KAAA9N,MAAAy/E,UAAA1oD,GAAAqoD,SAAAp/E,GACA,QAGA,KAGA,GAAAA,EAAAwC,cACAusF,GAAApwF,KAAAqB,EAAA,iBACA+uF,GAAApwF,KAAAqB,EAAAwC,YAAA7C,UAAA,iBACA,SAEG,MAAAuI,GAGH,SAKA,IAAAs5E,GAAAmO,SACA,IAAApnF,IAAAvI,GACA,MAAA+uF,IAAApwF,KAAAqB,EAAAuI,EAMA,KAAAA,IAAAvI,IAEA,WAAAqH,KAAAkB,GAAAwmF,GAAApwF,KAAAqB,EAAAuI,IAGAuF,KAAA,SAAA9N,GACA,aAAAA,EACAA,EAAA,GAEA,gBAAAA,IAAA,kBAAAA,GACA8uF,GAAA9lF,GAAArK,KAAAqB,KAAA,eACAA,IAKA4mF,WAAA,SAAA/kF,GACAA,GAAAk1B,GAAA9sB,KAAApI,KAKA8D,EAAAiqF,YAAA,SAAA/tF,GACA8D,EAAA,KAAAhH,KAAAgH,EAAA9D,KACIA,IAMJw/E,UAAA,SAAAj5E,GACA,MAAAA,GAAAhB,QAAA4nF,GAAA,OAAA5nF,QAAA6nF,GAAAC,KAGA74C,SAAA,SAAAmP,EAAAzmD,GACA,MAAAymD,GAAAnP,UAAAmP,EAAAnP,SAAArV,gBAAAjiC,EAAAiiC,eAGA5xB,KAAA,SAAApP,EAAA0tB,GACA,GAAAzpB,GAAAxF,EAAA,CAEA,IAAA0gF,EAAAn/E,GAEA,IADAiE,EAAAjE,EAAAiE,OACUxF,EAAAwF,IACV,IAAAypB,EAAA/uB,KAAAqB,EAAAvB,KAAAuB,EAAAvB,IADsBA,SAMtB,KAAAA,IAAAuB,GACA,QAAA0tB,EAAA/uB,KAAAqB,EAAAvB,KAAAuB,EAAAvB,IACA,KAKA,OAAAuB,IAIAiK,KAAA,SAAA7E,GACA,aAAAA,EACA,IACAA,EAAA,IAAAgC,QAAA6vE,GAAA,KAIA4Y,UAAA,SAAA5/D,EAAAslB,GACA,GAAA6lC,GAAA7lC,KAaA,OAXA,OAAAtlB,IACAkvD,EAAAjgF,OAAA+wB,IACA8G,GAAA8rD,MAAAzH,EACA,gBAAAnrD,IACAA,MAGArmB,GAAAjL,KAAAy8E,EAAAnrD,IAIAmrD,GAGAuE,QAAA,SAAAn6B,EAAAv1B,EAAAxxB,GACA,GAAAk2D,EAEA,IAAA1kC,EAAA,CACA,GAAA1K,GACA,MAAAA,IAAA5mB,KAAAsxB,EAAAu1B,EAAA/mD,EAMA,KAHAk2D,EAAA1kC,EAAAhsB,OACAxF,MAAA,EAAAotB,KAAA/C,IAAA,EAAA6rC,EAAAl2D,KAAA,EAEUA,EAAAk2D,EAASl2D,IAGnB,GAAAA,IAAAwxB,MAAAxxB,KAAA+mD,EACA,MAAA/mD,GAKA,UAGAokF,MAAA,SAAA5yE,EAAA6/E,GAKA,IAJA,GAAAn7B,IAAAm7B,EAAA7rF,OACA07B,EAAA,EACAlhC,EAAAwR,EAAAhM,OAEA07B,EAAAg1B,GACA1kD,EAAAxR,KAAAqxF,EAAAnwD,IAKA,IAAAg1B,MACA,SAAAttD,KAAAyoF,EAAAnwD,IACA1vB,EAAAxR,KAAAqxF,EAAAnwD,IAMA,OAFA1vB,GAAAhM,OAAAxF,EAEAwR,GAGAuvE,KAAA,SAAAkD,EAAAh1D,EAAAqiE,GASA,IARA,GACArnE,MACAjqB,EAAA,EACAwF,EAAAy+E,EAAAz+E,OACA+rF,GAAAD,EAIStxF,EAAAwF,EAAYxF,KACrBivB,EAAAg1D,EAAAjkF,QACAuxF,GACAtnE,EAAA9e,KAAA84E,EAAAjkF,GAIA,OAAAiqB,IAIA1Y,IAAA,SAAA0yE,EAAAh1D,EAAAqpC,GACA,GAAA9yD,GAAAxD,EACAhC,EAAA,EACA28E,IAGA,IAAA+D,EAAAuD,GAEA,IADAz+E,EAAAy+E,EAAAz+E,OACUxF,EAAAwF,EAAYxF,IAGtB,OAFAgC,EAAAitB,EAAAg1D,EAAAjkF,KAAAs4D,KAGAqkB,EAAAxxE,KAAAnJ,OAMA,KAAAhC,IAAAikF,GAGA,OAFAjiF,EAAAitB,EAAAg1D,EAAAjkF,KAAAs4D,KAGAqkB,EAAAxxE,KAAAnJ,EAMA,OAAAqwC,IAAAruC,SAAA24E,IAIAgG,KAAA,EAIA8K,MAAA,SAAA7oF,EAAAlC,GACA,GAAA2F,GAAAolF,EAAAzI,CAUA,IARA,gBAAAtiF,KACAsiF,EAAApgF,EAAAlC,GACAA,EAAAkC,EACAA,EAAAogF,GAKA1sD,GAAAz1B,WAAA+B,GAaA,MARAyD,GAAAE,GAAArI,KAAA+D,UAAA,GACAwpF,EAAA,WACA,MAAA7oF,GAAAZ,MAAAtB,GAAA/C,KAAA0I,EAAAgqC,OAAA9pC,GAAArI,KAAA+D,cAIAwpF,EAAA9K,KAAA/9E,EAAA+9E,KAAA/9E,EAAA+9E,MAAArqD,GAAAqqD,OAEA8K,GAGAhD,IAAA,WACA,UAAAjiD,OAKAu6C,aAQA,kBAAAh1B,UACAz1B,GAAA1zB,GAAAmpD,OAAA6hB,UAAA8S,GAAA30B,OAAA6hB,WAKAt3C,GAAA3nB,KAAA,uEAAAzH,MAAA,KACA,SAAAlJ,EAAAM,GACA+vF,GAAA,WAAA/vF,EAAA,KAAAA,EAAAiiC,eAmBA,IAAAivD;;;;;;;;;;AAWA,SAAAtqF,GAsLA,QAAAsqF,GAAAr/D,EAAAzvB,EAAAo0C,EAAA26C,GACA,GAAAtxF,GAAAH,EAAA+mD,EAAA2qC,EAAAC,EAAAznE,EAAA+zD,EAAA2T,EACAC,EAAAnvF,KAAAujF,cAGAjF,EAAAt+E,IAAAs+E,SAAA,CAKA,IAHAlqC,QAGA,gBAAA3kB,QACA,IAAA6uD,GAAA,IAAAA,GAAA,KAAAA,EAEA,MAAAlqC,EAIA,KAAA26C,KAEA/uF,IAAAujF,eAAAvjF,EAAAovF,KAAAlpD,GACAmpD,EAAArvF,GAEAA,KAAAkmC,EAEAopD,GAAA,CAIA,QAAAhR,IAAA92D,EAAA+nE,GAAA/vE,KAAAiQ,IAGA,GAAAhyB,EAAA+pB,EAAA,IAGA,OAAA82D,EAAA,CACA,KAAAj6B,EAAArkD,EAAAwtD,eAAA/vD,IAUA,MAAA22C,EALA,IAAAiQ,EAAA3iD,KAAAjE,EAEA,MADA22C,GAAA3rC,KAAA47C,GACAjQ,MAYA,IAAA+6C,IAAA9qC,EAAA8qC,EAAA3hC,eAAA/vD,KACAiR,EAAA1O,EAAAqkD,IACAA,EAAA3iD,KAAAjE,EAGA,MADA22C,GAAA3rC,KAAA47C,GACAjQ,MAKK,IAAA5sB,EAAA,GAEL,MADA/e,GAAAnH,MAAA8yC,EAAAp0C,EAAAwhF,qBAAA/xD,IACA2kB,CAGK,KAAA32C,EAAA+pB,EAAA,KAAA64D,EAAAmP,wBACLxvF,EAAAwvF,uBAGA,MADA/mF,GAAAnH,MAAA8yC,EAAAp0C,EAAAwvF,uBAAA/xF,IACA22C,EAKA,GAAAisC,EAAAoP,MACAC,EAAAjgE,EAAA,QACAkgE,MAAAxpF,KAAAspB,IAAA,CAEA,OAAA6uD,EACA6Q,EAAAnvF,EACAkvF,EAAAz/D,MAMK,eAAAzvB,EAAAk1C,SAAArV,cAAA,CAaL,KAVAmvD,EAAAhvF,EAAAwsC,aAAA,OACAwiD,IAAA/oF,QAAA2pF,GAAA,QAEA5vF,EAAAmsD,aAAA,KAAA6iC,EAAAlP,GAIAvE,EAAAsU,EAAApgE,GACAnyB,EAAAi+E,EAAAz4E,OACAmsF,EAAAa,GAAA3pF,KAAA6oF,GAAA,IAAAA,EAAA,QAAAA,EAAA,KACA1xF,KACAi+E,EAAAj+E,GAAA2xF,EAAA,IAAAc,EAAAxU,EAAAj+E,GAEA4xF,GAAA3T,EAAA70E,KAAA,KAGAyoF,EAAAa,GAAA7pF,KAAAspB,IAAAwgE,EAAAjwF,EAAA4kF,aACA5kF,EAGA,GAAAkvF,EACA,IAIA,MAHAzmF,GAAAnH,MAAA8yC,EACA+6C,EAAA1N,iBAAAyN,IAEA96C,EACM,MAAA87C,IACA,QACNlB,IAAAlP,GACA9/E,EAAAkkF,gBAAA,QASA,MAAAvyD,GAAAlC,EAAAxpB,QAAA6vE,GAAA,MAAA91E,EAAAo0C,EAAA26C,GASA,QAAAoB,KAGA,QAAArtD,GAAA17B,EAAA9H,GAMA,MAJAiI,GAAAkB,KAAArB,EAAA,KAAAgpF,EAAAC,mBAEAvtD,GAAAv7B,EAAAzB,SAEAg9B,EAAA17B,EAAA,KAAA9H,EARA,GAAAiI,KAUA,OAAAu7B,GAOA,QAAAwtD,GAAApuF,GAEA,MADAA,GAAA49E,IAAA,EACA59E,EAOA,QAAA0H,GAAA1H,GACA,GAAAk/C,GAAAlb,EAAAkf,cAAA,MAEA,KACA,QAAAljD,EAAAk/C,GACE,MAAAr6C,GACF,SACE,QAEFq6C,EAAAwjC,YACAxjC,EAAAwjC,WAAAxB,YAAAhiC,GAGAA,EAAA,MASA,QAAAmvC,GAAA3zE,EAAA4zE,GAIA,IAHA,GAAA1hE,GAAAlS,EAAApW,MAAA,KACAlJ,EAAAwxB,EAAAhsB,OAEAxF,KACA8yF,EAAAK,WAAA3hE,EAAAxxB,IAAAkzF,EAUA,QAAAE,GAAA9wF,EAAAsgE,GACA,GAAAwe,GAAAxe,GAAAtgE,EACA+wF,EAAAjS,GAAA,IAAA9+E,EAAA0+E,UAAA,IAAApe,EAAAoe,YACApe,EAAA0wB,aAAAC,KACAjxF,EAAAgxF,aAAAC,EAGA,IAAAF,EACA,MAAAA,EAIA,IAAAjS,EACA,KAAAA,IAAAoS,aACA,GAAApS,IAAAxe,EACA,QAKA,OAAAtgE,GAAA,KA6BA,QAAAmxF,GAAA7uF,GACA,MAAAouF,GAAA,SAAAU,GAEA,MADAA,MACAV,EAAA,SAAAvB,EAAAxnE,GAMA,IALA,GAAAiX,GACAyyD,EAAA/uF,KAAA6sF,EAAAjsF,OAAAkuF,GACA1zF,EAAA2zF,EAAAnuF,OAGAxF,KACAyxF,EAAAvwD,EAAAyyD,EAAA3zF,MACAyxF,EAAAvwD,KAAAjX,EAAAiX,GAAAuwD,EAAAvwD,SAYA,QAAAyxD,GAAAjwF,GACA,MAAAA,QAAA,KAAAA,EAAAwhF,sBAAAxhF,EAohCA,QAAAkxF,MAuEA,QAAAnB,GAAAoB,GAIA,IAHA,GAAA7zF,GAAA,EACAk2D,EAAA29B,EAAAruF,OACA2sB,EAAA,GACQnyB,EAAAk2D,EAASl2D,IACjBmyB,GAAA0hE,EAAA7zF,GAAAgC,KAEA,OAAAmwB,GAGA,QAAA2hE,GAAA7xE,EAAA8xE,EAAAC,GACA,GAAA/nF,GAAA8nF,EAAA9nF,IACAgoF,EAAAD,GAAA,eAAA/nF,EACAioF,EAAA18E,GAEA,OAAAu8E,GAAAviF,MAEA,SAAAu1C,EAAArkD,EAAAyxF,GACA,KAAAptC,IAAA96C,IACA,OAAA86C,EAAAi6B,UAAAiT,EACA,MAAAhyE,GAAA8kC,EAAArkD,EAAAyxF,IAMA,SAAAptC,EAAArkD,EAAAyxF,GACA,GAAAC,GAAAC,EAAAC,EACAC,GAAAC,EAAAN,EAGA,IAAAC,GACA,KAAAptC,IAAA96C,IACA,QAAA86C,EAAAi6B,UAAAiT,IACAhyE,EAAA8kC,EAAArkD,EAAAyxF,GACA,aAKA,MAAAptC,IAAA96C,IACA,OAAA86C,EAAAi6B,UAAAiT,EAAA,CAOA,GANAK,EAAAvtC,EAAAy7B,KAAAz7B,EAAAy7B,OAIA6R,EAAAC,EAAAvtC,EAAA0tC,YAAAH,EAAAvtC,EAAA0tC,eAEAL,EAAAC,EAAApoF,KACAmoF,EAAA,KAAAI,GAAAJ,EAAA,KAAAF,EAGA,MAAAK,GAAA,GAAAH,EAAA,EAMA,IAHAC,EAAApoF,GAAAsoF,EAGAA,EAAA,GAAAtyE,EAAA8kC,EAAArkD,EAAAyxF,GACA,WASA,QAAAO,GAAAC,GACA,MAAAA,GAAAnvF,OAAA,EACA,SAAAuhD,EAAArkD,EAAAyxF,GAEA,IADA,GAAAn0F,GAAA20F,EAAAnvF,OACAxF,KACA,IAAA20F,EAAA30F,GAAA+mD,EAAArkD,EAAAyxF,GACA,QAGA,WAEAQ,EAAA,GAGA,QAAAC,GAAAziE,EAAA0iE,EAAA/9C,GAGA,IAFA,GAAA92C,GAAA,EACAk2D,EAAA2+B,EAAArvF,OACQxF,EAAAk2D,EAASl2D,IACjBwxF,EAAAr/D,EAAA0iE,EAAA70F,GAAA82C,EAEA,OAAAA,GAGA,QAAAg+C,GAAAC,EAAAxjF,EAAAob,EAAAjqB,EAAAyxF,GAOA,IANA,GAAAptC,GACAiuC,KACAh1F,EAAA,EACAk2D,EAAA6+B,EAAAvvF,OACAyvF,EAAA,MAAA1jF,EAEQvR,EAAAk2D,EAASl2D,KACjB+mD,EAAAguC,EAAA/0F,MACA2sB,MAAAo6B,EAAArkD,EAAAyxF,KACAa,EAAA7pF,KAAA47C,GACAkuC,GACA1jF,EAAApG,KAAAnL,IAMA,OAAAg1F,GAGA,QAAAE,GAAAC,EAAAhjE,EAAAlQ,EAAAmzE,EAAAC,EAAAC,GAOA,MANAF,OAAA5S,KACA4S,EAAAF,EAAAE,IAEAC,MAAA7S,KACA6S,EAAAH,EAAAG,EAAAC,IAEAtC,EAAA,SAAAvB,EAAA36C,EAAAp0C,EAAAyxF,GACA,GAAApH,GAAA/sF,EAAA+mD,EACAwuC,KACAC,KACAC,EAAA3+C,EAAAtxC,OAGAy+E,EAAAwN,GAAAmD,EAAAziE,GAAA,IAAAzvB,EAAAs+E,UAAAt+E,SAGAgzF,GAAAP,IAAA1D,GAAAt/D,EAEA8xD,EADA6Q,EAAA7Q,EAAAsR,EAAAJ,EAAAzyF,EAAAyxF,GAGAwB,EAAA1zE,EAEAozE,IAAA5D,EAAA0D,EAAAM,GAAAL,MAMAt+C,EACA4+C,CAQA,IALAzzE,GACAA,EAAAyzE,EAAAC,EAAAjzF,EAAAyxF,GAIAiB,EAMA,IALArI,EAAA+H,EAAAa,EAAAH,GACAJ,EAAArI,KAAArqF,EAAAyxF,GAGAn0F,EAAA+sF,EAAAvnF,OACAxF,MACA+mD,EAAAgmC,EAAA/sF,MACA21F,EAAAH,EAAAx1F,MAAA01F,EAAAF,EAAAx1F,IAAA+mD,GAKA,IAAA0qC,GACA,GAAA4D,GAAAF,EAAA,CACA,GAAAE,EAAA,CAIA,IAFAtI,KACA/sF,EAAA21F,EAAAnwF,OACAxF,MACA+mD,EAAA4uC,EAAA31F,KAEA+sF,EAAA5hF,KAAAuqF,EAAA11F,GAAA+mD,EAGAsuC,GAAA,KAAAM,KAAA5I,EAAAoH,GAKA,IADAn0F,EAAA21F,EAAAnwF,OACAxF,MACA+mD,EAAA4uC,EAAA31F,MACA+sF,EAAAsI,EAAAvuE,EAAA2qE,EAAA1qC,GAAAwuC,EAAAv1F,KAAA,IAEAyxF,EAAA1E,KAAAj2C,EAAAi2C,GAAAhmC,SAOA4uC,GAAAb,EACAa,IAAA7+C,EACA6+C,EAAAzjE,OAAAujE,EAAAE,EAAAnwF,QACAmwF,GAEAN,EACAA,EAAA,KAAAv+C,EAAA6+C,EAAAxB,GAEAhpF,EAAAnH,MAAA8yC,EAAA6+C,KAMA,QAAAC,GAAA/B,GAwBA,IAvBA,GAAAgC,GAAA5zE,EAAAif,EACAg1B,EAAA29B,EAAAruF,OACAswF,EAAAhD,EAAAiD,SAAAlC,EAAA,GAAAxkF,MACA2mF,EAAAF,GAAAhD,EAAAiD,SAAA,KACA/1F,EAAA81F,EAAA,IAGAG,EAAAnC,EAAA,SAAA/sC,GACA,MAAAA,KAAA8uC,GACGG,GAAA,GACHE,EAAApC,EAAA,SAAA/sC,GACA,MAAAjgC,GAAA+uE,EAAA9uC,IAAA,GACGivC,GAAA,GACHrB,GAAA,SAAA5tC,EAAArkD,EAAAyxF,GACA,GAAAxX,IAAAmZ,IAAA3B,GAAAzxF,IAAAyzF,MACAN,EAAAnzF,GAAAs+E,SACAiV,EAAAlvC,EAAArkD,EAAAyxF,GACA+B,EAAAnvC,EAAArkD,EAAAyxF,GAGA,OADA0B,GAAA,KACAlZ,IAGQ38E,EAAAk2D,EAASl2D,IACjB,GAAAiiB,EAAA6wE,EAAAiD,SAAAlC,EAAA7zF,GAAAqP,MACAslF,GAAAb,EAAAY,EAAAC,GAAA1yE,QACG,CAIH,GAHAA,EAAA6wE,EAAAnmE,OAAAknE,EAAA7zF,GAAAqP,MAAArL,MAAA,KAAA6vF,EAAA7zF,GAAAiqB,SAGAhI,EAAAugE,GAAA,CAGA,IADAthD,IAAAlhC,EACWkhC,EAAAg1B,IACX48B,EAAAiD,SAAAlC,EAAA3yD,GAAA7xB,MADoB6xB,KAKpB,MAAAg0D,GACAl1F,EAAA,GAAA00F,EAAAC,GACA30F,EAAA,GAAAyyF,EAEAoB,EAAAtrF,MAAA,EAAAvI,EAAA,GAAAqyC,QAAuCrwC,MAAA,MAAA6xF,EAAA7zF,EAAA,GAAAqP,KAAA,UACvC1G,QAAA6vE,GAAA,MACAv2D,EACAjiB,EAAAkhC,GAAA00D,EAAA/B,EAAAtrF,MAAAvI,EAAAkhC,IACAA,EAAAg1B,GAAA0/B,EAAA/B,IAAAtrF,MAAA24B,IACAA,EAAAg1B,GAAAu8B,EAAAoB,IAGAc,EAAAxpF,KAAA8W,GAIA,MAAAyyE,GAAAC,GAGA,QAAAyB,GAAAC,EAAAC,GACA,GAAAC,GAAAD,EAAA9wF,OAAA,EACAgxF,EAAAH,EAAA7wF,OAAA,EACAixF,EAAA,SAAAhF,EAAA/uF,EAAAyxF,EAAAr9C,EAAA4/C,GACA,GAAA3vC,GAAA7lB,EAAAjf,EACA00E,EAAA,EACA32F,EAAA,IACA+0F,EAAAtD,MACAmF,KACAC,EAAAV,EAEAlS,EAAAwN,GAAA+E,GAAA1D,EAAA/7E,KAAA,QAAA2/E,GAEAI,EAAAtC,GAAA,MAAAqC,EAAA,EAAAzpE,KAAAniB,UAAA,GACAirD,EAAA+tB,EAAAz+E,MASA,KAPAkxF,IACAP,EAAAzzF,IAAAkmC,GAAAlmC,GAAAg0F,GAMU12F,IAAAk2D,GAAA,OAAAnP,EAAAk9B,EAAAjkF,IAAwCA,IAAA,CAClD,GAAAw2F,GAAAzvC,EAAA,CAMA,IALA7lB,EAAA,EACAx+B,GAAAqkD,EAAAk/B,gBAAAr9C,IACAmpD,EAAAhrC,GACAotC,GAAAnC,GAEA/vE,EAAAo0E,EAAAn1D,MACA,GAAAjf,EAAA8kC,EAAArkD,GAAAkmC,EAAAurD,GAAA,CACAr9C,EAAA3rC,KAAA47C,EACA,OAGA2vC,IACAlC,EAAAsC,GAKAP,KAEAxvC,GAAA9kC,GAAA8kC,IACA4vC,IAIAlF,GACAsD,EAAA5pF,KAAA47C,IAgBA,GATA4vC,GAAA32F,EASAu2F,GAAAv2F,IAAA22F,EAAA,CAEA,IADAz1D,EAAA,EACAjf,EAAAq0E,EAAAp1D,MACAjf,EAAA8yE,EAAA6B,EAAAl0F,EAAAyxF,EAGA,IAAA1C,EAAA,CAEA,GAAAkF,EAAA,EACA,KAAA32F,KACA+0F,EAAA/0F,IAAA42F,EAAA52F,KACA42F,EAAA52F,GAAAugB,EAAArgB,KAAA42C,GAMA8/C,GAAA9B,EAAA8B,GAIAzrF,EAAAnH,MAAA8yC,EAAA8/C,GAGAF,IAAAjF,GAAAmF,EAAApxF,OAAA,GACAmxF,EAAAL,EAAA9wF,OAAA,GAEAgsF,EAAAuF,WAAAjgD,GAUA,MALA4/C,KACAlC,EAAAsC,EACAX,EAAAU,GAGA9B,EAGA,OAAAwB,GACAvD,EAAAyD,GACAA,EAv5DA,GAAAz2F,GACA+iF,EACA+P,EACAkE,EACAC,EACA1E,EACAlvF,EACAgxB,EACA8hE,EACAe,EACAC,EAGApF,EACAnpD,EACAwuD,EACApF,EACAK,EACAgF,EACAptE,EACA7Y,EAGAoxE,EAAA,cAAAh6C,MACAspD,EAAA5qF,EAAA0hC,SACA4rD,EAAA,EACAh9E,EAAA,EACA8/E,EAAAzE,IACA0E,EAAA1E,IACAT,EAAAS,IACA30B,EAAA,SAAA57D,EAAAsgE,GAIA,MAHAtgE,KAAAsgE,IACAu0B,GAAA,GAEA,GAIA5D,EAAA,MAGAjD,KAAanvF,eACbqwB,KACAjR,EAAAiR,EAAAjR,IACAi3E,EAAAhmE,EAAArmB,KACAA,EAAAqmB,EAAArmB,KACA5C,EAAAipB,EAAAjpB,MAGAue,EAAA,SAAAyoD,EAAAxoB,GAGA,IAFA,GAAA/mD,GAAA,EACAk2D,EAAAqZ,EAAA/pE,OACSxF,EAAAk2D,EAASl2D,IAClB,GAAAuvE,EAAAvvE,KAAA+mD,EACA,MAAA/mD,EAGA,WAGAy3F,EAAA,6HAKAC,GAAA,sBAGAC,GAAA,mCAGA9kF,GAAA,MAAA6kF,GAAA,KAAAC,GAAA,OAAAD,GAEA,gBAAAA,GAEA,2DAAAC,GAAA,OAAAD,GACA,OAEAE,GAAA,KAAAD,GAAA,wFAKA9kF,GAAA,eAMAglF,GAAA,GAAA7zD,QAAA0zD,GAAA,SACAlf,GAAA,GAAAx0C,QAAA,IAAA0zD,GAAA,8BAAAA,GAAA,UAEAI,GAAA,GAAA9zD,QAAA,IAAA0zD,GAAA,KAAAA,GAAA,KACAK,GAAA,GAAA/zD,QAAA,IAAA0zD,GAAA,WAAAA,GAAA,IAAAA,GAAA,KAEAM,GAAA,GAAAh0D,QAAA,IAAA0zD,GAAA,iBAAAA,GAAA,YAEAO,GAAA,GAAAj0D,QAAA4zD,IACApF,GAAA,GAAAxuD,QAAA,IAAA2zD,GAAA,KAEAO,IACAC,GAAA,GAAAn0D,QAAA,MAAA2zD,GAAA,KACAS,MAAA,GAAAp0D,QAAA,QAAA2zD,GAAA,KACAppB,IAAA,GAAAvqC,QAAA,KAAA2zD,GAAA,SACAU,KAAA,GAAAr0D,QAAA,IAAAnxB,IACAylF,OAAA,GAAAt0D,QAAA,IAAA4zD,IACAW,MAAA,GAAAv0D,QAAA,yDAAA0zD,GACA,+BAAAA,GAAA,cAAAA,GACA,aAAAA,GAAA,cACArkF,KAAA,GAAA2wB,QAAA,OAAAyzD,EAAA,UAGAe,aAAA,GAAAx0D,QAAA,IAAA0zD,GAAA,mDACAA,GAAA,mBAAAA,GAAA,yBAGAe,GAAA,sCACAC,GAAA,SAEAC,GAAA,yBAGA1G,GAAA,mCAEAS,GAAA,OACAJ,GAAA,QAGAsG,GAAA,GAAA50D,QAAA,qBAA4C0zD,GAAA,MAAAA,GAAA,aAC5CmB,GAAA,SAAAx2F,EAAAy2F,EAAAC,GACA,GAAAp3C,GAAA,KAAAm3C,EAAA,KAIA,OAAAn3C,QAAAo3C,EACAD,EACAn3C,EAAA,EAEA/3C,OAAAovF,aAAAr3C,EAAA,OAEA/3C,OAAAovF,aAAAr3C,GAAA,cAAAA,EAAA,QAOAs3C,GAAA,WACAlH,IAIA,KACA5mF,EAAAnH,MACAwtB,EAAAjpB,EAAArI,KAAA4xF,EAAAz5C,YACAy5C,EAAAz5C,YAIA7mB,EAAAsgE,EAAAz5C,WAAA7yC,QAAAw7E,SACC,MAAAv3E,GACD0B,GAASnH,MAAAwtB,EAAAhsB,OAGT,SAAA+F,EAAA2tF,GACA1B,EAAAxzF,MAAAuH,EAAAhD,EAAArI,KAAAg5F,KAKA,SAAA3tF,EAAA2tF,GAIA,IAHA,GAAAh4D,GAAA31B,EAAA/F,OACAxF,EAAA,EAEAuL,EAAA21B,KAAAg4D,EAAAl5F,OACAuL,EAAA/F,OAAA07B,EAAA,IA8RA6hD,EAAAyO,EAAAzO,WAOAkU,EAAAzF,EAAAyF,MAAA,SAAAlwC,GAGA,GAAA4hC,GAAA5hC,MAAAk/B,eAAAl/B,GAAA4hC,eACA,SAAAA,GAAA,SAAAA,EAAA/wC,UAQAm6C,EAAAP,EAAAO,YAAA,SAAApK,GACA,GAAAwR,GAAAtjF,EACAgyE,EAAAF,IAAA1B,eAAA0B,EAAAmK,CAGA,OAAAjK,KAAAj/C,GAAA,IAAAi/C,EAAA7G,UAAA6G,EAAAc,iBAKA//C,EAAAi/C,EACAuP,EAAAxuD,EAAA+/C,gBACAqJ,GAAAiF,EAAAruD,IAIA/yB,EAAA+yB,EAAAunD,cAAAt6E,EAAAkf,MAAAlf,IAEAA,EAAAiwD,iBACAjwD,EAAAiwD,iBAAA,SAAAmzB,IAAA,GAGGpjF,EAAAujF,aACHvjF,EAAAujF,YAAA,WAAAH,KAUAlW,EAAAlwE,WAAAvG,EAAA,SAAAw3C,GAEA,MADAA,GAAAt1C,UAAA,KACAs1C,EAAA5U,aAAA,eAOA6zC,EAAAmB,qBAAA53E,EAAA,SAAAw3C,GAEA,MADAA,GAAAkL,YAAApmB,EAAAywD,cAAA,MACAv1C,EAAAogC,qBAAA,KAAA1+E,SAIAu9E,EAAAmP,uBAAAyG,GAAA9vF,KAAA+/B,EAAAspD,wBAMAnP,EAAAuW,QAAAhtF,EAAA,SAAAw3C,GAEA,MADAszC,GAAApoC,YAAAlL,GAAA1/C,GAAAo+E,GACA55C,EAAA2wD,oBAAA3wD,EAAA2wD,kBAAA/W,GAAAh9E,SAIAu9E,EAAAuW,SACAxG,EAAA/7E,KAAA,YAAA3S,EAAA1B,GACA,YAAAA,EAAAwtD,gBAAA8hC,EAAA,CACA,GAAA7xF,GAAAuC,EAAAwtD,eAAA9rD,EACA,OAAAjE,YAGA2yF,EAAAnmE,OAAA,YAAAvoB,GACA,GAAAo1F,GAAAp1F,EAAAuE,QAAAiwF,GAAAC,GACA,iBAAA9xC,GACA,MAAAA,GAAA7X,aAAA,QAAAsqD,YAMA1G,GAAA/7E,KAAA,GAEA+7E,EAAAnmE,OAAA,YAAAvoB,GACA,GAAAo1F,GAAAp1F,EAAAuE,QAAAiwF,GAAAC,GACA,iBAAA9xC,GACA,GAAA4gC,OAAA,KAAA5gC,EAAA0yC,kBACA1yC,EAAA0yC,iBAAA,KACA,OAAA9R,MAAA3lF,QAAAw3F,KAMA1G,EAAA/7E,KAAA,IAAAgsE,EAAAmB,qBACA,SAAA5c,EAAA5kE,GACA,gBAAAA,EAAAwhF,qBACAxhF,EAAAwhF,qBAAA5c,GAGIyb,EAAAoP,IACJzvF,EAAAyhF,iBAAA7c,OADI,IAKJ,SAAAA,EAAA5kE,GACA,GAAAqkD,GACAi+B,KACAhlF,EAAA,EAEA82C,EAAAp0C,EAAAwhF,qBAAA5c,EAGA,UAAAA,EAAA,CACA,KAAAvgB,EAAAjQ,EAAA92C,MACA,IAAA+mD,EAAAi6B,UACAgE,EAAA75E,KAAA47C,EAIA,OAAAi+B,GAEA,MAAAluC,IAIAg8C,EAAA/7E,KAAA,MAAAgsE,EAAAmP,wBAAA,SAAA1jF,EAAA9L,GACA,YAAAA,EAAAwvF,wBAAAF,EACA,MAAAtvF,GAAAwvF,uBAAA1jF,IAUA6oF,KAOAhF,MAEAtP,EAAAoP,IAAAwG,GAAA9vF,KAAA+/B,EAAAu7C,qBAGA73E,EAAA,SAAAw3C,GAMAszC,EAAApoC,YAAAlL,GAAAvL,UAAA,UAAAiqC,EAAA,qBACAA,EAAA,kEAOA1+B,EAAAqgC,iBAAA,wBAAA3+E,QACA6sF,EAAAlnF,KAAA,SAAAusF,GAAA,gBAKA5zC,EAAAqgC,iBAAA,cAAA3+E,QACA6sF,EAAAlnF,KAAA,MAAAusF,GAAA,aAAAD,EAAA,KAIA3zC,EAAAqgC,iBAAA,QAAA3B,EAAA,MAAAh9E,QACA6sF,EAAAlnF,KAAA,MAMA24C,EAAAqgC,iBAAA,YAAA3+E,QACA6sF,EAAAlnF,KAAA,YAMA24C,EAAAqgC,iBAAA,KAAA3B,EAAA,MAAAh9E,QACA6sF,EAAAlnF,KAAA,cAIAmB,EAAA,SAAAw3C,GAGA,GAAAvzC,GAAAq4B,EAAAkf,cAAA,QACAv3C,GAAAs+C,aAAA,iBACA/K,EAAAkL,YAAAz+C,GAAAs+C,aAAA,YAIA/K,EAAAqgC,iBAAA,YAAA3+E,QACA6sF,EAAAlnF,KAAA,OAAAusF,GAAA,eAKA5zC,EAAAqgC,iBAAA,YAAA3+E,QACA6sF,EAAAlnF,KAAA,wBAIA24C,EAAAqgC,iBAAA,QACAkO,EAAAlnF,KAAA,YAIA43E,EAAA2W,gBAAAf,GAAA9vF,KAAAohB,EAAAmtE,EAAAntE,SACAmtE,EAAAuC,uBACAvC,EAAAwC,oBACAxC,EAAAyC,kBACAzC,EAAA0C,qBAEAxtF,EAAA,SAAAw3C,GAGAi/B,EAAAgX,kBAAA9vE,EAAA/pB,KAAA4jD,EAAA,OAIA75B,EAAA/pB,KAAA4jD,EAAA,aACAuzC,EAAAlsF,KAAA,KAAAysF,MAIAvF,IAAA7sF,QAAA,GAAAw+B,QAAAquD,EAAAjpF,KAAA,MACAiuF,IAAA7xF,QAAA,GAAAw+B,QAAAqzD,EAAAjuF,KAAA,MAIA+vF,EAAAR,GAAA9vF,KAAAuuF,EAAA4C,yBAKA5oF,EAAA+nF,GAAAR,GAAA9vF,KAAAuuF,EAAAhmF,UACA,SAAA9O,EAAAsgE,GACA,GAAAq3B,GAAA,IAAA33F,EAAA0+E,SAAA1+E,EAAAqmF,gBAAArmF,EACA43F,EAAAt3B,KAAA0kB,UACA,OAAAhlF,KAAA43F,SAAA,IAAAA,EAAAlZ,YACAiZ,EAAA7oF,SACA6oF,EAAA7oF,SAAA8oF,GACA53F,EAAA03F,yBAAA,GAAA13F,EAAA03F,wBAAAE,MAGA,SAAA53F,EAAAsgE,GACA,GAAAA,EACA,KAAAA,IAAA0kB,YACA,GAAA1kB,IAAAtgE,EACA,QAIA,WAOA47D,EAAAi7B,EACA,SAAA72F,EAAAsgE,GAGA,GAAAtgE,IAAAsgE,EAEA,MADAu0B,IAAA,EACA,CAIA,IAAAgD,IAAA73F,EAAA03F,yBAAAp3B,EAAAo3B,uBACA,OAAAG,KAKAA,GAAA73F,EAAA2jF,eAAA3jF,MAAAsgE,EAAAqjB,eAAArjB,GACAtgE,EAAA03F,wBAAAp3B,GAGA,EAGA,EAAAu3B,IACApX,EAAAqX,cAAAx3B,EAAAo3B,wBAAA13F,KAAA63F,EAGA73F,IAAAsmC,GAAAtmC,EAAA2jF,gBAAA6L,GAAA1gF,EAAA0gF,EAAAxvF,IACA,EAEAsgE,IAAAh6B,GAAAg6B,EAAAqjB,gBAAA6L,GAAA1gF,EAAA0gF,EAAAlvB,GACA,EAIAs0B,EACApwE,EAAAowE,EAAA50F,GAAAwkB,EAAAowE,EAAAt0B,GACA,EAGA,EAAAu3B,GAAA,MAEA,SAAA73F,EAAAsgE,GAEA,GAAAtgE,IAAAsgE,EAEA,MADAu0B,IAAA,EACA,CAGA,IAAA/V,GACAphF,EAAA,EACAq6F,EAAA/3F,EAAAglF,WACA4S,EAAAt3B,EAAA0kB,WACAgT,GAAAh4F,GACAi4F,GAAA33B,EAGA,KAAAy3B,IAAAH,EACA,MAAA53F,KAAAsmC,GAAA,EACAg6B,IAAAh6B,EAAA,EACAyxD,GAAA,EACAH,EAAA,EACAhD,EACApwE,EAAAowE,EAAA50F,GAAAwkB,EAAAowE,EAAAt0B,GACA,CAGG,IAAAy3B,IAAAH,EACH,MAAA9G,GAAA9wF,EAAAsgE,EAKA,KADAwe,EAAA9+E,EACA8+E,IAAAkG,YACAgT,EAAAnwF,QAAAi3E,EAGA,KADAA,EAAAxe,EACAwe,IAAAkG,YACAiT,EAAApwF,QAAAi3E,EAIA,MAAAkZ,EAAAt6F,KAAAu6F,EAAAv6F,IACAA,GAGA,OAAAA,GAEAozF,EAAAkH,EAAAt6F,GAAAu6F,EAAAv6F,IAGAs6F,EAAAt6F,KAAA8xF,GAAA,EACAyI,EAAAv6F,KAAA8xF,EAAA,EACA,GAGAlpD,GArWAA,GAwWA4oD,EAAAvnE,QAAA,SAAAuwE,EAAA3Z,GACA,MAAA2Q,GAAAgJ,EAAA,UAAA3Z,IAGA2Q,EAAAkI,gBAAA,SAAA3yC,EAAAyzC,GASA,IAPAzzC,EAAAk/B,eAAAl/B,KAAAne,GACAmpD,EAAAhrC,GAIAyzC,IAAA7xF,QAAAqvF,GAAA,UAEAjV,EAAA2W,iBAAA1H,IACAI,EAAAoI,EAAA,QACAnD,MAAAxuF,KAAA2xF,OACAnI,MAAAxpF,KAAA2xF,IAEA,IACA,GAAA7d,GAAA1yD,EAAA/pB,KAAA6mD,EAAAyzC,EAGA,IAAA7d,GAAAoG,EAAAgX,mBAGAhzC,EAAAne,UAAA,KAAAme,EAAAne,SAAAo4C,SACA,MAAArE,GAEG,MAAAlzE,IAGH,MAAA+nF,GAAAgJ,EAAA5xD,EAAA,MAAAme,IAAAvhD,OAAA,GAGAgsF,EAAApgF,SAAA,SAAA1O,EAAAqkD,GAKA,OAHArkD,EAAAujF,eAAAvjF,KAAAkmC,GACAmpD,EAAArvF,GAEA0O,EAAA1O,EAAAqkD,IAGAyqC,EAAArtF,KAAA,SAAA4iD,EAAAzmD,IAEAymD,EAAAk/B,eAAAl/B,KAAAne,GACAmpD,EAAAhrC,EAGA,IAAAniD,GAAAkuF,EAAAK,WAAA7yF,EAAAiiC,eAEAjzB,EAAA1K,GAAA0rF,EAAApwF,KAAA4yF,EAAAK,WAAA7yF,EAAAiiC,eACA39B,EAAAmiD,EAAAzmD,GAAA0xF,OACAppF,EAEA,YAAAA,KAAA0G,EACAA,EACAyzE,EAAAlwE,aAAAm/E,EACAjrC,EAAA7X,aAAA5uC,IACAgP,EAAAy3C,EAAA0yC,iBAAAn5F,KAAAgP,EAAA43C,UACA53C,EAAAtN,MACA,MAGAwvF,EAAA/kF,MAAA,SAAAwJ,GACA,SAAA7N,OAAA,0CAAA6N,IAOAu7E,EAAAuF,WAAA,SAAAjgD,GACA,GAAAiQ,GACA0zC,KACAv5D,EAAA,EACAlhC,EAAA,CAOA,IAJAm3F,GAAApU,EAAA2X,iBACAxD,GAAAnU,EAAA4X,YAAA7jD,EAAAvuC,MAAA,GACAuuC,EAAAm3B,KAAA/P,GAEAi5B,EAAA,CACA,KAAApwC,EAAAjQ,EAAA92C,MACA+mD,IAAAjQ,EAAA92C,KACAkhC,EAAAu5D,EAAAtvF,KAAAnL,GAGA,MAAAkhC,KACA4V,EAAA5kB,OAAAuoE,EAAAv5D,GAAA,GAQA,MAFAg2D,GAAA,KAEApgD,GAOAkgD,EAAAxF,EAAAwF,QAAA,SAAAjwC,GACA,GAAA4gC,GACAhL,EAAA,GACA38E,EAAA,EACAghF,EAAAj6B,EAAAi6B,QAEA,IAAAA,GAME,OAAAA,GAAA,IAAAA,GAAA,KAAAA,EAAA,CAGF,mBAAAj6B,GAAAg/B,YACA,MAAAh/B,GAAAg/B,WAGA,KAAAh/B,IAAA8+B,WAAgC9+B,EAAMA,IAAAysC,YACtC7W,GAAAqa,EAAAjwC,OAGE,QAAAi6B,GAAA,IAAAA,EACF,MAAAj6B,GAAA6zC,cAhBA,MAAAjT,EAAA5gC,EAAA/mD,MAEA28E,GAAAqa,EAAArP,EAkBA,OAAAhL,IAGAmW,EAAAtB,EAAAqJ,WAGA9H,YAAA,GAEA+H,aAAA9H,EAEA9oE,MAAAguE,GAEA/E,cAEAp8E,QAEAg/E,UACAgF,KAAQ9uF,IAAA,aAAAuF,OAAA,GACRwpF,KAAQ/uF,IAAA,cACRgvF,KAAQhvF,IAAA,kBAAAuF,OAAA,GACR0pF,KAAQjvF,IAAA,oBAGRkpF,WACAkD,KAAA,SAAAnuE,GAUA,MATAA,GAAA,GAAAA,EAAA,GAAAvhB,QAAAiwF,GAAAC,IAGA3uE,EAAA,IAAAA,EAAA,IAAAA,EAAA,IAAAA,EAAA,QAAAvhB,QAAAiwF,GAAAC,IAEA,OAAA3uE,EAAA,KACAA,EAAA,OAAAA,EAAA,QAGAA,EAAA3hB,MAAA,MAGAgwF,MAAA,SAAAruE,GA6BA,MAlBAA,GAAA,GAAAA,EAAA,GAAAqY,cAEA,QAAArY,EAAA,GAAA3hB,MAAA,MAEA2hB,EAAA,IACAsnE,EAAA/kF,MAAAyd,EAAA,IAKAA,EAAA,KAAAA,EAAA,GAAAA,EAAA,IAAAA,EAAA,mBAAAA,EAAA,YAAAA,EAAA,KACAA,EAAA,KAAAA,EAAA,GAAAA,EAAA,YAAAA,EAAA,KAGIA,EAAA,IACJsnE,EAAA/kF,MAAAyd,EAAA,IAGAA,GAGAouE,OAAA,SAAApuE,GACA,GAAAixE,GACAC,GAAAlxE,EAAA,IAAAA,EAAA,EAEA,OAAAguE,IAAA,MAAArvF,KAAAqhB,EAAA,IACA,MAIAA,EAAA,GACAA,EAAA,GAAAA,EAAA,IAAAA,EAAA,OAGIkxE,GAAAnD,GAAApvF,KAAAuyF,KAEJD,EAAA5I,EAAA6I,GAAA,MAEAD,EAAAC,EAAAt0E,QAAA,IAAAs0E,EAAA51F,OAAA21F,GAAAC,EAAA51F,UAGA0kB,EAAA,GAAAA,EAAA,GAAA3hB,MAAA,EAAA4yF,GACAjxE,EAAA,GAAAkxE,EAAA7yF,MAAA,EAAA4yF,IAIAjxE,EAAA3hB,MAAA,QAIAokB,QAEA4hD,IAAA,SAAA8sB,GACA,GAAAzjD,GAAAyjD,EAAA1yF,QAAAiwF,GAAAC,IAAAt2D,aACA,aAAA84D,EACA,WAAgB,UAChB,SAAAt0C,GACA,MAAAA,GAAAnP,UAAAmP,EAAAnP,SAAArV,gBAAAqV,IAIAwgD,MAAA,SAAA5pF,GACA,GAAAga,GAAA8uE,EAAA9oF,EAAA,IAEA,OAAAga,KACAA,EAAA,GAAAwb,QAAA,MAAA0zD,GAAA,IAAAlpF,EAAA,IAAAkpF,GAAA,SACAJ,EAAA9oF,EAAA,SAAAu4C,GACA,MAAAv+B,GAAA3f,KAAA,gBAAAk+C,GAAAv4C,WAAAu4C,EAAAv4C,eAAA,KAAAu4C,EAAA7X,cAAA6X,EAAA7X,aAAA,iBAIAmpD,KAAA,SAAA/3F,EAAAg7F,EAAAC,GACA,gBAAAx0C,GACA,GAAAtyC,GAAA+8E,EAAArtF,KAAA4iD,EAAAzmD,EAEA,cAAAmU,EACA,OAAA6mF,GAEAA,IAIA7mF,GAAA,GAEA,MAAA6mF,EAAA7mF,IAAA8mF,EACA,OAAAD,EAAA7mF,IAAA8mF,EACA,OAAAD,EAAAC,GAAA,IAAA9mF,EAAAqS,QAAAy0E,GACA,OAAAD,EAAAC,GAAA9mF,EAAAqS,QAAAy0E,IAAA,EACA,OAAAD,EAAAC,GAAA9mF,EAAAlM,OAAAgzF,EAAA/1F,UAAA+1F,EACA,OAAAD,GAAA,IAAA7mF,EAAA9L,QAAAkvF,GAAA,UAAA/wE,QAAAy0E,IAAA,EACA,OAAAD,IAAA7mF,IAAA8mF,GAAA9mF,EAAAlM,MAAA,EAAAgzF,EAAA/1F,OAAA,KAAA+1F,EAAA,QAKAhD,MAAA,SAAAlpF,EAAAmsF,EAAA9H,EAAAliF,EAAA+5B,GACA,GAAAkwD,GAAA,QAAApsF,EAAA9G,MAAA,KACAmzF,EAAA,SAAArsF,EAAA9G,OAAA,GACAozF,EAAA,YAAAH,CAEA,YAAAhqF,GAAA,IAAA+5B,EAGA,SAAAwb,GACA,QAAAA,EAAAugC,YAGA,SAAAvgC,EAAArkD,EAAAyxF,GACA,GAAA3uD,GAAA6uD,EAAAC,EAAA3M,EAAAiU,EAAAjtE,EACA1iB,EAAAwvF,IAAAC,EAAA,gCACA7lF,EAAAkxC,EAAAugC,WACAhnF,EAAAq7F,GAAA50C,EAAAnP,SAAArV,cACAs5D,GAAA1H,IAAAwH,EACAtI,GAAA,CAEA,IAAAx9E,EAAA,CAGA,GAAA4lF,EAAA,CACA,KAAAxvF,GAAA,CAEA,IADA07E,EAAA5gC,EACA4gC,IAAA17E,IACA,GAAA0vF,EACAhU,EAAA/vC,SAAArV,gBAAAjiC,EACA,IAAAqnF,EAAA3G,SAEA,QAIAryD,GAAA1iB,EAAA,SAAAoD,IAAAsf,GAAA,cAEA,SAMA,GAHAA,GAAA+sE,EAAA7lF,EAAAgwE,WAAAhwE,EAAA2vE,WAGAkW,GAAAG,GAkBA,IAbAlU,EAAA9xE,EACAy+E,EAAA3M,EAAAnF,KAAAmF,EAAAnF,OAIA6R,EAAAC,EAAA3M,EAAA8M,YACAH,EAAA3M,EAAA8M,cAEAjvD,EAAA6uD,EAAAhlF,OACAusF,EAAAp2D,EAAA,KAAAgvD,GAAAhvD,EAAA,GACA6tD,EAAAuI,GAAAp2D,EAAA,GACAmiD,EAAAiU,GAAA/lF,EAAAwiC,WAAAujD,GAEAjU,IAAAiU,GAAAjU,KAAA17E,KAGAonF,EAAAuI,EAAA,IAAAjtE,EAAApO,OAGA,OAAAonE,EAAA3G,YAAAqS,GAAA1L,IAAA5gC,EAAA,CACAstC,EAAAhlF,IAAAmlF,EAAAoH,EAAAvI,EACA,YAuBA,IAjBAwI,IAEAlU,EAAA5gC,EACAutC,EAAA3M,EAAAnF,KAAAmF,EAAAnF,OAIA6R,EAAAC,EAAA3M,EAAA8M,YACAH,EAAA3M,EAAA8M,cAEAjvD,EAAA6uD,EAAAhlF,OACAusF,EAAAp2D,EAAA,KAAAgvD,GAAAhvD,EAAA,GACA6tD,EAAAuI,IAKA,IAAAvI,EAEA,MAAA1L,IAAAiU,GAAAjU,KAAA17E,KACAonF,EAAAuI,EAAA,IAAAjtE,EAAApO,UAEAo7E,EACAhU,EAAA/vC,SAAArV,gBAAAjiC,EACA,IAAAqnF,EAAA3G,cACAqS,IAGAwI,IACAvH,EAAA3M,EAAAnF,KAAAmF,EAAAnF,OAIA6R,EAAAC,EAAA3M,EAAA8M,YACAH,EAAA3M,EAAA8M,cAEAJ,EAAAhlF,IAAAmlF,EAAAnB,IAGA1L,IAAA5gC,MAUA,OADAssC,GAAA9nD,KACA/5B,GAAA6hF,EAAA7hF,GAAA,GAAA6hF,EAAA7hF,GAAA,KAKA8mF,OAAA,SAAAwD,EAAApI,GAKA,GAAArrF,GACAzD,EAAAkuF,EAAA8E,QAAAkE,IAAAhJ,EAAAc,WAAAkI,EAAAv5D,gBACAivD,EAAA/kF,MAAA,uBAAAqvF,EAKA,OAAAl3F,GAAA49E,GACA59E,EAAA8uF,GAIA9uF,EAAAY,OAAA,GACA6C,GAAAyzF,IAAA,GAAApI,GACAZ,EAAAc,WAAAzyF,eAAA26F,EAAAv5D,eACAywD,EAAA,SAAAvB,EAAAxnE,GAIA,IAHA,GAAAmkC,GACA2tC,EAAAn3F,EAAA6sF,EAAAiC,GACA1zF,EAAA+7F,EAAAv2F,OACAxF,KACAouD,EAAAtnC,EAAA2qE,EAAAsK,EAAA/7F,IACAyxF,EAAArjC,KAAAnkC,EAAAmkC,GAAA2tC,EAAA/7F,MAGA,SAAA+mD,GACA,MAAAniD,GAAAmiD,EAAA,EAAA1+C,KAIAzD,IAIAgzF,SAEAvjD,IAAA2+C,EAAA,SAAA7gE,GAIA,GAAA5hB,MACAumC,KACA70B,EAAA5e,EAAA8uB,EAAAxpB,QAAA6vE,GAAA,MAEA,OAAAv2D,GAAAugE,GACAwQ,EAAA,SAAAvB,EAAAxnE,EAAAvnB,EAAAyxF,GAMA,IALA,GAAAptC,GACAguC,EAAA9yE,EAAAwvE,EAAA,KAAA0C,MACAn0F,EAAAyxF,EAAAjsF,OAGAxF,MACA+mD,EAAAguC,EAAA/0F,MACAyxF,EAAAzxF,KAAAiqB,EAAAjqB,GAAA+mD,MAIA,SAAAA,EAAArkD,EAAAyxF,GAKA,MAJA5jF,GAAA,GAAAw2C,EACA9kC,EAAA1R,EAAA,KAAA4jF,EAAAr9C,GAEAvmC,EAAA,SACAumC,EAAAv2B,SAIA8L,IAAA2mE,EAAA,SAAA7gE,GACA,gBAAA40B,GACA,MAAAyqC,GAAAr/D,EAAA40B,GAAAvhD,OAAA,KAIA4L,SAAA4hF,EAAA,SAAArsF,GAEA,MADAA,KAAAgC,QAAAiwF,GAAAC,IACA,SAAA9xC,GACA,OAAAA,EAAAg/B,aAAAh/B,EAAAi1C,WAAAhF,EAAAjwC,IAAAjgC,QAAAngB,IAAA,KAWAs1F,KAAAjJ,EAAA,SAAAiJ,GAMA,MAJAzJ,IAAA3pF,KAAAozF,GAAA,KACAzK,EAAA/kF,MAAA,qBAAAwvF,GAEAA,IAAAtzF,QAAAiwF,GAAAC,IAAAt2D,cACA,SAAAwkB,GACA,GAAAm1C,EACA,IACA,GAAAA,EAAAlK,EACAjrC,EAAAk1C,KACAl1C,EAAA7X,aAAA,aAAA6X,EAAA7X,aAAA,QAGA,OADAgtD,IAAA35D,iBACA05D,GAAA,IAAAC,EAAAp1E,QAAAm1E,EAAA,YAEKl1C,IAAAugC,aAAA,IAAAvgC,EAAAi6B,SACL,aAKAz1E,OAAA,SAAAw7C,GACA,GAAAnd,GAAA1iC,EAAAyZ,UAAAzZ,EAAAyZ,SAAAipB,IACA,OAAAA,MAAArhC,MAAA,KAAAw+C,EAAA3iD,IAGAhF,KAAA,SAAA2nD,GACA,MAAAA,KAAAqwC,GAGA1iF,MAAA,SAAAqyC,GACA,MAAAA,KAAAne,EAAAye,iBAAAze,EAAAuzD,UAAAvzD,EAAAuzD,gBAAAp1C,EAAA13C,MAAA03C,EAAAz2C,OAAAy2C,EAAAq1C,WAIA90D,QAAA,SAAAyf,GACA,WAAAA,EAAAn4C,UAGAA,SAAA,SAAAm4C,GACA,WAAAA,EAAAn4C,UAGA+1E,QAAA,SAAA59B,GAGA,GAAAnP,GAAAmP,EAAAnP,SAAArV,aACA,iBAAAqV,KAAAmP,EAAA49B,SAAA,WAAA/sC,KAAAmP,EAAAvO,UAGAA,SAAA,SAAAuO,GAOA,MAJAA,GAAAugC,YACAvgC,EAAAugC,WAAAnpC,eAGA,IAAA4I,EAAAvO,UAIAn0C,MAAA,SAAA0iD,GAKA,IAAAA,IAAA8+B,WAAgC9+B,EAAMA,IAAAysC,YACtC,GAAAzsC,EAAAi6B,SAAA,EACA,QAGA,WAGAnrE,OAAA,SAAAkxC,GACA,OAAA+rC,EAAA8E,QAAA,MAAA7wC,IAIAlmB,OAAA,SAAAkmB,GACA,MAAA2xC,IAAA7vF,KAAAk+C,EAAAnP,WAGArnC,MAAA,SAAAw2C,GACA,MAAA0xC,IAAA5vF,KAAAk+C,EAAAnP,WAGAykD,OAAA,SAAAt1C,GACA,GAAAzmD,GAAAymD,EAAAnP,SAAArV,aACA,iBAAAjiC,GAAA,WAAAymD,EAAA13C,MAAA,WAAA/O,GAGAqG,KAAA,SAAAogD,GACA,GAAA5iD,EACA,iBAAA4iD,EAAAnP,SAAArV,eACA,SAAAwkB,EAAA13C,OAIA,OAAAlL,EAAA4iD,EAAA7X,aAAA,mBAAA/qC,EAAAo+B,gBAIA/wB,MAAAiiF,EAAA,WACA,YAGAloD,KAAAkoD,EAAA,SAAAE,EAAAnuF,GACA,OAAAA,EAAA,KAGAyiF,GAAAwL,EAAA,SAAAE,EAAAnuF,EAAAkuF,GACA,OAAAA,EAAA,EAAAA,EAAAluF,EAAAkuF,KAGA4I,KAAA7I,EAAA,SAAAE,EAAAnuF,GAEA,IADA,GAAAxF,GAAA,EACUA,EAAAwF,EAAYxF,GAAA,EACtB2zF,EAAAxoF,KAAAnL,EAEA,OAAA2zF,KAGA4I,IAAA9I,EAAA,SAAAE,EAAAnuF,GAEA,IADA,GAAAxF,GAAA,EACUA,EAAAwF,EAAYxF,GAAA,EACtB2zF,EAAAxoF,KAAAnL,EAEA,OAAA2zF,KAGA1c,GAAAwc,EAAA,SAAAE,EAAAnuF,EAAAkuF,GAEA,IADA,GAAA1zF,GAAA0zF,EAAA,EAAAA,EAAAluF,EAAAkuF,IACU1zF,GAAA,GACV2zF,EAAAxoF,KAAAnL,EAEA,OAAA2zF,KAGA6I,GAAA/I,EAAA,SAAAE,EAAAnuF,EAAAkuF,GAEA,IADA,GAAA1zF,GAAA0zF,EAAA,EAAAA,EAAAluF,EAAAkuF,IACU1zF,EAAAwF,GACVmuF,EAAAxoF,KAAAnL,EAEA,OAAA2zF,OAKAb,EAAA8E,QAAA,IAAA9E,EAAA8E,QAAA,EAGA,KAAA53F,KAAYy8F,OAAA,EAAAC,UAAA,EAAAC,MAAA,EAAAjhF,UAAA,EAAAD,OAAA,GACZq3E,EAAA8E,QAAA53F,GA3jCA,SAAAqP,GACA,gBAAA03C,GAEA,gBADAA,EAAAnP,SAAArV,eACAwkB,EAAA13C,WAwjCArP,EAEA,KAAAA,KAAYstC,QAAA,EAAAztB,OAAA,GACZizE,EAAA8E,QAAA53F,GAnjCA,SAAAqP,GACA,gBAAA03C,GACA,GAAAzmD,GAAAymD,EAAAnP,SAAArV,aACA,kBAAAjiC,GAAA,WAAAA,IAAAymD,EAAA13C,WAgjCArP,EA8mBA,OAzmBA4zF,GAAA1yF,UAAA4xF,EAAAlX,QAAAkX,EAAA8E,QACA9E,EAAAc,WAAA,GAAAA,GAEArB,EAAAf,EAAAe,SAAA,SAAApgE,EAAAyqE,GACA,GAAAb,GAAA7xE,EAAA2pE,EAAAxkF,EACAwtF,EAAA5e,EAAA6e,EACAC,EAAAxF,EAAAplE,EAAA,IAEA,IAAA4qE,EACA,MAAAH,GAAA,EAAAG,EAAAx0F,MAAA,EAOA,KAJAs0F,EAAA1qE,EACA8rD,KACA6e,EAAAhK,EAAAqC,UAEA0H,GAAA,CAGAd,KAAA7xE,EAAA4tE,GAAA51E,KAAA26E,MACA3yE,IAEA2yE,IAAAt0F,MAAA2hB,EAAA,GAAA1kB,SAAAq3F,GAEA5e,EAAA9yE,KAAA0oF,OAGAkI,GAAA,GAGA7xE,EAAA6tE,GAAA71E,KAAA26E,MACAd,EAAA7xE,EAAA1hB,QACAqrF,EAAA1oF,MACAnJ,MAAA+5F,EAEA1sF,KAAA6a,EAAA,GAAAvhB,QAAA6vE,GAAA,OAEAqkB,IAAAt0F,MAAAwzF,EAAAv2F,QAIA,KAAA6J,IAAAyjF,GAAAnmE,SACAzC,EAAAguE,GAAA7oF,GAAA6S,KAAA26E,KAAAC,EAAAztF,MACA6a,EAAA4yE,EAAAztF,GAAA6a,MACA6xE,EAAA7xE,EAAA1hB,QACAqrF,EAAA1oF,MACAnJ,MAAA+5F,EACA1sF,OACA4a,QAAAC,IAEA2yE,IAAAt0F,MAAAwzF,EAAAv2F,QAIA,KAAAu2F,EACA,MAOA,MAAAa,GACAC,EAAAr3F,OACAq3F,EACArL,EAAA/kF,MAAA0lB,GAEAolE,EAAAplE,EAAA8rD,GAAA11E,MAAA,IAyXAlF,EAAAmuF,EAAAnuF,QAAA,SAAA8uB,EAAAjI,GACA,GAAAlqB,GACAs2F,KACAD,KACA0G,EAAA3K,EAAAjgE,EAAA,IAEA,KAAA4qE,EAAA,CAMA,IAJA7yE,IACAA,EAAAqoE,EAAApgE,IAEAnyB,EAAAkqB,EAAA1kB,OACAxF,KACA+8F,EAAAnH,EAAA1rE,EAAAlqB,IACA+8F,EAAAva,GACA8T,EAAAnrF,KAAA4xF,GAEA1G,EAAAlrF,KAAA4xF,EAKAA,GAAA3K,EAAAjgE,EAAAikE,EAAAC,EAAAC,IAGAyG,EAAA5qE,WAEA,MAAA4qE,IAYA1oE,EAAAm9D,EAAAn9D,OAAA,SAAAlC,EAAAzvB,EAAAo0C,EAAA26C,GACA,GAAAzxF,GAAA6zF,EAAApjC,EAAAphD,EAAA0H,EACAimF,EAAA,kBAAA7qE,MACAjI,GAAAunE,GAAAc,EAAApgE,EAAA6qE,EAAA7qE,YAMA,IAJA2kB,QAIA,IAAA5sB,EAAA1kB,OAAA,CAIA,GADAquF,EAAA3pE,EAAA,GAAAA,EAAA,GAAA3hB,MAAA,GACAsrF,EAAAruF,OAAA,WAAAirD,EAAAojC,EAAA,IAAAxkF,MACA0zE,EAAAuW,SAAA,IAAA52F,EAAAs+E,UAAAgR,GACAc,EAAAiD,SAAAlC,EAAA,GAAAxkF,MAAA,CAGA,KADA3M,GAAAowF,EAAA/7E,KAAA,GAAA05C,EAAAxmC,QAAA,GAAAthB,QAAAiwF,GAAAC,IAAAn2F,QAAA,IAEA,MAAAo0C,EAGIkmD,KACJt6F,IAAA4kF,YAGAn1D,IAAA5pB,MAAAsrF,EAAArrF,QAAAxG,MAAAwD,QAKA,IADAxF,EAAAk4F,GAAA,aAAArvF,KAAAspB,GAAA,EAAA0hE,EAAAruF,OACAxF,MACAywD,EAAAojC,EAAA7zF,IAGA8yF,EAAAiD,SAAA1mF,EAAAohD,EAAAphD,QAGA,IAAA0H,EAAA+7E,EAAA/7E,KAAA1H,MAEAoiF,EAAA16E,EACA05C,EAAAxmC,QAAA,GAAAthB,QAAAiwF,GAAAC,IACAnG,GAAA7pF,KAAAgrF,EAAA,GAAAxkF,OAAAsjF,EAAAjwF,EAAA4kF,aAAA5kF,IACA,CAKA,GAFAmxF,EAAA3hE,OAAAlyB,EAAA,KACAmyB,EAAAs/D,EAAAjsF,QAAAitF,EAAAoB,IAGA,MADA1oF,GAAAnH,MAAA8yC,EAAA26C,GACA36C,CAGA,QAeA,OAPAkmD,GAAA35F,EAAA8uB,EAAAjI,IACAunE,EACA/uF,GACAsvF,EACAl7C,GACAp0C,GAAAgwF,GAAA7pF,KAAAspB,IAAAwgE,EAAAjwF,EAAA4kF,aAAA5kF,GAEAo0C,GAMAisC,EAAA4X,WAAAnY,EAAAt5E,MAAA,IAAA+kE,KAAA/P,GAAA90D,KAAA,MAAAo5E,EAIAO,EAAA2X,mBAAAvD,EAGApF,IAIAhP,EAAAqX,aAAA9tF,EAAA,SAAA2wF,GAEA,SAAAA,EAAAjD,wBAAApxD,EAAAkf,cAAA,UAMAx7C,EAAA,SAAAw3C,GAEA,MADAA,GAAAvL,UAAA,mBACA,MAAAuL,EAAA+hC,WAAA32C,aAAA,WAEA+jD,EAAA,kCAAAlsC,EAAAzmD,EAAA22F,GACA,IAAAA,EACA,MAAAlwC,GAAA7X,aAAA5uC,EAAA,SAAAA,EAAAiiC,cAAA,OAOAwgD,EAAAlwE,YAAAvG,EAAA,SAAAw3C,GAGA,MAFAA,GAAAvL,UAAA,WACAuL,EAAA+hC,WAAAh3B,aAAA,YACA,KAAA/K,EAAA+hC,WAAA32C,aAAA,YAEA+jD,EAAA,iBAAAlsC,EAAAzmD,EAAA22F,GACA,IAAAA,GAAA,UAAAlwC,EAAAnP,SAAArV,cACA,MAAAwkB,GAAApkD,eAOA2J,EAAA,SAAAw3C,GACA,aAAAA,EAAA5U,aAAA,eAEA+jD,EAAAwE,EAAA,SAAA1wC,EAAAzmD,EAAA22F,GACA,GAAA3nF,EACA,KAAA2nF,EACA,WAAAlwC,EAAAzmD,KAAAiiC,eACAjzB,EAAAy3C,EAAA0yC,iBAAAn5F,KAAAgP,EAAA43C,UACA53C,EAAAtN,MACA,OAKAwvF,GAECtqF,EAIDoxB,IAAAvhB,KAAAy6E,GACAl5D,GAAAkiE,KAAAhJ,GAAAqJ,UACAviE,GAAAkiE,KAAA,KAAAliE,GAAAkiE,KAAA5C,QACAt/D,GAAAy+D,WAAAz+D,GAAA/U,OAAAiuE,GAAAuF,WACAz+D,GAAA3xB,KAAA6qF,GAAAwF,QACA1+D,GAAA4kE,SAAA1L,GAAAyF,MACA3+D,GAAAlnB,SAAAogF,GAAApgF,QAIA,IAAAnF,IAAA,SAAA86C,EAAA96C,EAAAkxF,GAIA,IAHA,GAAApB,MACAqB,MAAAx0F,KAAAu0F,GAEAp2C,IAAA96C,KAAA,IAAA86C,EAAAi6B,UACA,OAAAj6B,EAAAi6B,SAAA,CACA,GAAAoc,GAAA9kE,GAAAyuB,GAAAvuB,GAAA2kE,GACA,KAEApB,GAAA5wF,KAAA47C,GAGA,MAAAg1C,IAIAtjE,GAAA,SAAA33B,EAAAimD,GAGA,IAFA,GAAAg1C,MAEQj7F,EAAGA,IAAA0yF,YACX,IAAA1yF,EAAAkgF,UAAAlgF,IAAAimD,GACAg1C,EAAA5wF,KAAArK,EAIA,OAAAi7F,IAIAsB,GAAA/kE,GAAAkiE,KAAAtwE,MAAAsuE,aAEA8E,GAAA,gCAIArc,GAAA,gBAgCA3oD,IAAA3L,OAAA,SAAA6tE,EAAAvW,EAAA5vC,GACA,GAAA0S,GAAAk9B,EAAA,EAMA,OAJA5vC,KACAmmD,EAAA,QAAAA,EAAA,KAGA,IAAAvW,EAAAz+E,QAAA,IAAAuhD,EAAAi6B,SACA1oD,GAAAvhB,KAAA2iF,gBAAA3yC,EAAAyzC,IAAAzzC,MACAzuB,GAAAvhB,KAAAkT,QAAAuwE,EAAAliE,GAAAyoD,KAAAkD,EAAA,SAAAl9B,GACA,WAAAA,EAAAi6B,aAIA1oD,GAAA1zB,GAAAoB,QACA+Q,KAAA,SAAAob,GACA,GAAAnyB,GACA28E,KACAj9E,EAAAC,KACAu2D,EAAAx2D,EAAA8F,MAEA,oBAAA2sB,GACA,MAAAxyB,MAAAgxF,UAAAr4D,GAAAnG,GAAAxF,OAAA,WACA,IAAA3sB,EAAA,EAAgBA,EAAAk2D,EAASl2D,IACzB,GAAAs4B,GAAAlnB,SAAA1R,EAAAM,GAAAL,MACA,WAMA,KAAAK,EAAA,EAAcA,EAAAk2D,EAASl2D,IACvBs4B,GAAAvhB,KAAAob,EAAAzyB,EAAAM,GAAA28E,EAMA,OAFAA,GAAAh9E,KAAAgxF,UAAAz6B,EAAA,EAAA59B,GAAA/U,OAAAo5D,MACAA,EAAAxqD,SAAAxyB,KAAAwyB,SAAAxyB,KAAAwyB,SAAA,IAAAA,IACAwqD,GAEAhwD,OAAA,SAAAwF,GACA,MAAAxyB,MAAAgxF,UAAA/P,EAAAjhF,KAAAwyB,OAAA,KAEAkiB,IAAA,SAAAliB,GACA,MAAAxyB,MAAAgxF,UAAA/P,EAAAjhF,KAAAwyB,OAAA,KAEAqG,GAAA,SAAArG,GACA,QAAAyuD,EACAjhF,KAIA,gBAAAwyB,IAAAkrE,GAAAx0F,KAAAspB,GACAmG,GAAAnG,GACAA,OACA,GACA3sB,SASA,IAAA+3F,IAKAtL,GAAA,uCAEA35D,GAAA1zB,GAAAwjC,KAAA,SAAAjW,EAAAzvB,EAAAtD,GACA,GAAA8qB,GAAA68B,CAGA,KAAA50B,EACA,MAAAxyB,KAQA,IAHAP,KAAAm+F,GAGA,gBAAAprE,GAAA,CAaA,KAPAjI,EALA,MAAAiI,EAAApI,OAAA,IACA,MAAAoI,EAAApI,OAAAoI,EAAA3sB,OAAA,IACA2sB,EAAA3sB,QAAA,GAGA,KAAA2sB,EAAA,MAGA8/D,GAAA/vE,KAAAiQ,MAIAjI,EAAA,IAAAxnB,EAwDI,OAAAA,KAAAguF,QACJhuF,GAAAtD,GAAA2X,KAAAob,GAKAxyB,KAAAoE,YAAArB,GAAAqU,KAAAob,EA3DA,IAAAjI,EAAA,IAYA,GAXAxnB,cAAA41B,IAAA51B,EAAA,GAAAA,EAIA41B,GAAA8rD,MAAAzkF,KAAA24B,GAAAklE,UACAtzE,EAAA,GACAxnB,KAAAs+E,SAAAt+E,EAAAujF,eAAAvjF,EAAAkmC,IACA,IAIA00D,GAAAz0F,KAAAqhB,EAAA,KAAAoO,GAAAxtB,cAAApI,GACA,IAAAwnB,IAAAxnB,GAGA41B,GAAAz1B,WAAAlD,KAAAuqB,IACAvqB,KAAAuqB,GAAAxnB,EAAAwnB,IAIAvqB,KAAAwE,KAAA+lB,EAAAxnB,EAAAwnB,GAKA,OAAAvqB,MAQA,IAJAonD,EAAAne,GAAAsnB,eAAAhmC,EAAA,MAIA68B,EAAAugC,WAAA,CAIA,GAAAvgC,EAAA3iD,KAAA8lB,EAAA,GACA,MAAAqzE,IAAAxmF,KAAAob,EAIAxyB,MAAA6F,OAAA,EACA7F,KAAA,GAAAonD,EAKA,MAFApnD,MAAA+C,QAAAkmC,GACAjpC,KAAAwyB,WACAxyB,KAcG,MAAAwyB,GAAA6uD,UACHrhF,KAAA+C,QAAA/C,KAAA,GAAAwyB,EACAxyB,KAAA6F,OAAA,EACA7F,MAIG24B,GAAAz1B,WAAAsvB,OACH,KAAA/yB,EAAAwiF,MACAxiF,EAAAwiF,MAAAzvD,GAGAA,EAAAmG,SAGA1vB,KAAAupB,aACAxyB,KAAAwyB,oBACAxyB,KAAA+C,QAAAyvB,EAAAzvB,SAGA41B,GAAA84D,UAAAj/D,EAAAxyB,SAIAuB,UAAAo3B,GAAA1zB,GAGA24F,GAAAjlE,GAAAsQ,GAGA,IAAA60D,IAAA,iCAGAC,IACAhoF,UAAA,EACAu5E,UAAA,EACAt5D,MAAA,EACAgyB,MAAA,EAGArvB,IAAA1zB,GAAAoB,QACAqmB,IAAA,SAAA9gB,GACA,GAAAvL,GACA29F,EAAArlE,GAAA/sB,EAAA5L,MACAu2D,EAAAynC,EAAAn4F,MAEA,OAAA7F,MAAAgtB,OAAA,WACA,IAAA3sB,EAAA,EAAeA,EAAAk2D,EAASl2D,IACxB,GAAAs4B,GAAAlnB,SAAAzR,KAAAg+F,EAAA39F,IACA,YAMA04B,QAAA,SAAAmiE,EAAAn4F,GASA,IARA,GAAA0+E,GACAphF,EAAA,EACAC,EAAAN,KAAA6F,OACAu2F,KACA55C,EAAAk7C,GAAAx0F,KAAAgyF,IAAA,gBAAAA,GACAviE,GAAAuiE,EAAAn4F,GAAA/C,KAAA+C,SACA,EAES1C,EAAAC,EAAOD,IAChB,IAAAohF,EAAAzhF,KAAAK,GAAyBohF,OAAA1+E,EAAwB0+E,IAAAkG,WAGjD,GAAAlG,EAAAJ,SAAA,KAAA7+B,EACAA,EAAAt4B,MAAAu3D,IAAA,EAGA,IAAAA,EAAAJ,UACA1oD,GAAAvhB,KAAA2iF,gBAAAtY,EAAAyZ,IAAA,CAEAkB,EAAA5wF,KAAAi2E,EACA,OAKA,MAAAzhF,MAAAgxF,UAAAoL,EAAAv2F,OAAA,EAAA8yB,GAAAy+D,WAAAgF,OAKAlyE,MAAA,SAAAk9B,GAGA,MAAAA,GAKA,gBAAAA,GACAzuB,GAAA4oD,QAAAvhF,KAAA,GAAA24B,GAAAyuB,IAIAzuB,GAAA4oD,QAGAn6B,EAAA2pC,OAAA3pC,EAAA,GAAAA,EAAApnD,MAZAA,KAAA,IAAAA,KAAA,GAAA2nF,WAAA3nF,KAAA6R,QAAAoyC,UAAAp+C,QAAA,GAeAiR,IAAA,SAAA0b,EAAAzvB,GACA,MAAA/C,MAAAgxF,UACAr4D,GAAAy+D,WACAz+D,GAAA8rD,MAAAzkF,KAAAkB,MAAAy3B,GAAAnG,EAAAzvB,OAKAk7F,QAAA,SAAAzrE,GACA,MAAAxyB,MAAA8W,IAAA,MAAA0b,EACAxyB,KAAAixF,WAAAjxF,KAAAixF,WAAAjkE,OAAAwF,OAaAmG,GAAA3nB,MACAkF,OAAA,SAAAkxC,GACA,GAAAlxC,GAAAkxC,EAAAugC,UACA,OAAAzxE,IAAA,KAAAA,EAAAmrE,SAAAnrE,EAAA,MAEAugB,QAAA,SAAA2wB,GACA,MAAA96C,IAAA86C,EAAA,eAEA82C,aAAA,SAAA92C,EAAA/mD,EAAAm9F,GACA,MAAAlxF,IAAA86C,EAAA,aAAAo2C,IAEAxnE,KAAA,SAAAoxB,GACA,MAAAo6B,GAAAp6B,EAAA,gBAEAY,KAAA,SAAAZ,GACA,MAAAo6B,GAAAp6B,EAAA,oBAEAtD,QAAA,SAAAsD,GACA,MAAA96C,IAAA86C,EAAA,gBAEAnD,QAAA,SAAAmD,GACA,MAAA96C,IAAA86C,EAAA,oBAEA+2C,UAAA,SAAA/2C,EAAA/mD,EAAAm9F,GACA,MAAAlxF,IAAA86C,EAAA,cAAAo2C,IAEAY,UAAA,SAAAh3C,EAAA/mD,EAAAm9F,GACA,MAAAlxF,IAAA86C,EAAA,kBAAAo2C,IAEA1kE,SAAA,SAAAsuB,GACA,MAAAtuB,KAAAsuB,EAAAugC,gBAA0CzB,WAAA9+B,IAE1CrxC,SAAA,SAAAqxC,GACA,MAAAtuB,IAAAsuB,EAAA8+B,aAEAoJ,SAAA,SAAAloC,GACA,MAAAzuB,IAAAsf,SAAAmP,EAAA,UACAA,EAAA6hC,iBAAA7hC,EAAAgwB,cAAAnuC,SACAtQ,GAAA8rD,SAAAr9B,EAAA1O,cAEC,SAAA/3C,EAAAsE,GACD0zB,GAAA1zB,GAAAtE,GAAA,SAAA68F,EAAAhrE,GACA,GAAAwqD,GAAArkD,GAAA/mB,IAAA5R,KAAAiF,EAAAu4F,EAuBA,OArBA,UAAA78F,EAAAiI,OAAA,KACA4pB,EAAAgrE,GAGAhrE,GAAA,gBAAAA,KACAwqD,EAAArkD,GAAA3L,OAAAwF,EAAAwqD,IAGAh9E,KAAA6F,OAAA,IAGAk4F,GAAAp9F,KACAq8E,EAAArkD,GAAAy+D,WAAApa,IAIA8gB,GAAA50F,KAAAvI,KACAq8E,IAAA5qC,YAIApyC,KAAAgxF,UAAAhU,KAGA,IAAA2E,IAAA,MAmCAhpD,IAAA0lE,UAAA,SAAA94F,GAIAA,EAAA,gBAAAA,GACAm8E,EAAAn8E,GACAozB,GAAAtyB,UAAmBd,EAEnB,IACA+4F,GAGAC,EAGAC,EAGAC,EAGA7uB,KAGA+b,KAGA+S,GAAA,EAGA5S,EAAA,WAQA,IALA2S,EAAAl5F,EAAAo5F,KAIAH,EAAAF,GAAA,EACU3S,EAAA9lF,OAAc64F,GAAA,EAExB,IADAH,EAAA5S,EAAA9iF,UACA61F,EAAA9uB,EAAA/pE,SAGA,IAAA+pE,EAAA8uB,GAAAr6F,MAAAk6F,EAAA,GAAAA,EAAA,KACAh5F,EAAAq5F,cAGAF,EAAA9uB,EAAA/pE,OACA04F,GAAA,EAMAh5F,GAAAg5F,SACAA,GAAA,GAGAD,GAAA,EAGAG,IAIA7uB,EADA2uB,KAKA,KAMAx+F,GAGA+W,IAAA,WA2BA,MA1BA84D,KAGA2uB,IAAAD,IACAI,EAAA9uB,EAAA/pE,OAAA,EACA8lF,EAAAngF,KAAA+yF,IAGA,QAAAznF,GAAApO,GACAiwB,GAAA3nB,KAAAtI,EAAA,SAAAhG,EAAAi2D,GACAhgC,GAAAz1B,WAAAy1D,GACApzD,EAAAqe,QAAA7jB,EAAA2sB,IAAAisC,IACAiX,EAAApkE,KAAAmtD,GAEQA,KAAA9yD,QAAA,WAAA8yB,GAAAjpB,KAAAipD,IAGR7hD,EAAA6hD,MAGMr0D,WAENi6F,IAAAD,GACAxS,KAGA9rF,MAIAqX,OAAA,WAYA,MAXAshB,IAAA3nB,KAAA1M,UAAA,SAAA5B,EAAAi2D,GAEA,IADA,GAAAzuC,IACAA,EAAAyO,GAAA4oD,QAAA5oB,EAAAiX,EAAA1lD,KAAA,GACA0lD,EAAAr9C,OAAArI,EAAA,GAGAA,GAAAw0E,GACAA,MAIA1+F,MAKA0sB,IAAA,SAAAznB,GACA,MAAAA,GACA0zB,GAAA4oD,QAAAt8E,EAAA2qE,IAAA,EACAA,EAAA/pE,OAAA,GAIAnB,MAAA,WAIA,MAHAkrE,KACAA,MAEA5vE,MAMAqP,QAAA,WAGA,MAFAovF,GAAA9S,KACA/b,EAAA2uB,EAAA,GACAv+F,MAEAiP,SAAA,WACA,OAAA2gE,GAMAivB,KAAA,WAKA,MAJAJ,IAAA,EACAF,GACAx+F,EAAAsP,UAEArP,MAEAy+F,OAAA,WACA,QAAAA,GAIAK,SAAA,SAAA/7F,EAAA2F,GASA,MARA+1F,KACA/1F,QACAA,GAAA3F,EAAA2F,EAAAE,MAAAF,EAAAE,QAAAF,GACAijF,EAAAngF,KAAA9C,GACA41F,GACAxS,KAGA9rF,MAIA8rF,KAAA,WAEA,MADA/rF,GAAA++F,SAAA9+F,KAAAsE,WACAtE,MAIAw+F,MAAA,WACA,QAAAA,GAIA,OAAAz+F,IAIA44B,GAAAtyB,QAEAymF,SAAA,SAAAl1E,GACA,GAAAmnF,KAGA,iBAAApmE,GAAA0lE,UAAA,4BACA,gBAAA1lE,GAAA0lE,UAAA,4BACA,oBAAA1lE,GAAA0lE,UAAA,YAEAhvE,EAAA,UACA0iC,GACA1iC,MAAA,WACA,MAAAA,IAEA08D,OAAA,WAEA,MADAt6B,GAAA55C,KAAAvT,WAAAwT,KAAAxT,WACAtE,MAEA2xD,KAAA,WACA,GAAAmtB,GAAAx6E,SACA,OAAAq0B,IAAAm0D,SAAA,SAAAkS,GACArmE,GAAA3nB,KAAA+tF,EAAA,SAAA1+F,EAAA4+F,GACA,GAAAh6F,GAAA0zB,GAAAz1B,WAAA47E,EAAAz+E,KAAAy+E,EAAAz+E,EAGAoxD,GAAAwtC,EAAA,eACA,GAAAC,GAAAj6F,KAAAZ,MAAArE,KAAAsE,UACA46F,IAAAvmE,GAAAz1B,WAAAg8F,EAAAntC,SACAmtC,EAAAntC,UACAmE,SAAA8oC,EAAA55F,QACAyS,KAAAmnF,EAAAptC,SACA95C,KAAAknF,EAAAltC,QAEAktC,EAAAC,EAAA,WACAj/F,OAAA+xD,EAAAitC,EAAAjtC,UAAA/xD,KACAiF,GAAAi6F,GAAA56F,eAKAw6E,EAAA,OACM/sB,WAKNA,QAAA,SAAAnwD,GACA,aAAAA,EAAA+2B,GAAAtyB,OAAAzE,EAAAmwD,OAGAN,IAyCA,OAtCAM,GAAAotC,KAAAptC,EAAAJ,KAGAh5B,GAAA3nB,KAAA+tF,EAAA,SAAA1+F,EAAA4+F,GACA,GAAArvB,GAAAqvB,EAAA,GACAG,EAAAH,EAAA,EAGAltC,GAAAktC,EAAA,IAAArvB,EAAA94D,IAGAsoF,GACAxvB,EAAA94D,IAAA,WAGAuY,EAAA+vE,GAGKL,EAAA,EAAA1+F,GAAA,GAAAgP,QAAA0vF,EAAA,MAAAF,MAILptC,EAAAwtC,EAAA,eAEA,MADAxtC,GAAAwtC,EAAA,WAAAj/F,OAAAyxD,EAAAM,EAAA/xD,KAAAsE,WACAtE,MAEAyxD,EAAAwtC,EAAA,WAAArvB,EAAAkvB,WAIA/sC,UAAAN,GAGA75C,GACAA,EAAArX,KAAAkxD,KAIAA,GAIAkF,KAAA,SAAA0oC,GACA,GA0BAC,GAAAC,EAAAC,EA1BAn/F,EAAA,EACAo/F,EAAA72F,GAAArI,KAAA+D,WACAuB,EAAA45F,EAAA55F,OAGAonF,EAAA,IAAApnF,GACAw5F,GAAA1mE,GAAAz1B,WAAAm8F,EAAAttC,SAAAlsD,EAAA,EAIA4rD,EAAA,IAAAw7B,EAAAoS,EAAA1mE,GAAAm0D,WAGA4S,EAAA,SAAAr/F,EAAA60F,EAAAj2E,GACA,gBAAA5c,GACA6yF,EAAA70F,GAAAL,KACAif,EAAA5e,GAAAiE,UAAAuB,OAAA,EAAA+C,GAAArI,KAAA+D,WAAAjC,EACA4c,IAAAqgF,EACA7tC,EAAA+7B,WAAA0H,EAAAj2E,KAEMguE,GACNx7B,EAAAg8B,YAAAyH,EAAAj2E,IAQA,IAAApZ,EAAA,EAIA,IAHAy5F,EAAA,GAAA32F,OAAA9C,GACA05F,EAAA,GAAA52F,OAAA9C,GACA25F,EAAA,GAAA72F,OAAA9C,GACUxF,EAAAwF,EAAYxF,IACtBo/F,EAAAp/F,IAAAs4B,GAAAz1B,WAAAu8F,EAAAp/F,GAAA0xD,SACA0tC,EAAAp/F,GAAA0xD,UACAmE,SAAAwpC,EAAAr/F,EAAAk/F,EAAAD,IACAznF,KAAA6nF,EAAAr/F,EAAAm/F,EAAAC,IACA3nF,KAAA25C,EAAAK,UAEAm7B,CAUA,OAJAA,IACAx7B,EAAAg8B,YAAA+R,EAAAC,GAGAhuC,EAAAM,YAMA,IAAA4tC,GAEAhnE,IAAA1zB,GAAAg9E,MAAA,SAAAh9E,GAKA,MAFA0zB,IAAAspD,MAAAlwB,UAAAl6C,KAAA5S,GAEAjF,MAGA24B,GAAAtyB,QAGA+qF,SAAA,EAIAwO,UAAA,EAGAC,UAAA,SAAAC,GACAA,EACAnnE,GAAAinE,YAEAjnE,GAAAspD,OAAA,IAKAA,MAAA,SAAA8d,KAGA,IAAAA,IAAApnE,GAAAinE,UAAAjnE,GAAAy4D,WAKAz4D,GAAAy4D,SAAA,GAGA,IAAA2O,KAAApnE,GAAAinE,UAAA,IAKAD,GAAAlS,YAAAxkD,IAAAtQ,KAGAA,GAAA1zB,GAAA+6F,iBACArnE,GAAAsQ,IAAA+2D,eAAA,SACArnE,GAAAsQ,IAAA/jC,IAAA,eAkCAyzB,GAAAspD,MAAAlwB,QAAA,SAAAnwD,GACA,IAAA+9F,GAQA,GANAA,GAAAhnE,GAAAm0D,WAMA,aAAA7jD,GAAA+4C,YACA,YAAA/4C,GAAA+4C,aAAA/4C,GAAA+/C,gBAAAiX,SAGA14F,EAAAyI,WAAA2oB,GAAAspD,WAGG,IAAAh5C,GAAAk9B,iBAGHl9B,GAAAk9B,iBAAA,mBAAA2b,GAGAv6E,EAAA4+D,iBAAA,OAAA2b,OAGG,CAGH74C,GAAAwwD,YAAA,qBAAA3X,GAGAv6E,EAAAkyF,YAAA,SAAA3X,EAIA,IAAA1sD,IAAA,CAEA,KACAA,EAAA,MAAA7tB,EAAA24F,cAAAj3D,GAAA+/C,gBACI,MAAAl/E,IAEJsrB,KAAA6qE,UACA,QAAAE,KACA,IAAAxnE,GAAAy4D,QAAA,CAEA,IAIAh8D,EAAA6qE,SAAA,QACO,MAAAn2F,GACP,MAAAvC,GAAAyI,WAAAmwF,EAAA,IAIAte,IAGAlpD,GAAAspD,YAMA,MAAA0d,IAAA5tC,QAAAnwD,IAIA+2B,GAAAspD,MAAAlwB,SAOA,IAAA1xD,GACA,KAAAA,KAAAs4B,IAAAyqD,IACA,KAEAA,IAAAmO,SAAA,MAAAlxF,GAIA+iF,GAAA+I,wBAAA,EAGAxzD,GAAA,WAGA,GAAAhpB,GAAAw0C,EAAA0kC,EAAA/3D,GAEA+3D,EAAA5/C,GAAAs7C,qBAAA,aACAsE,EAAA/uD,QAOAqqB,EAAAlb,GAAAkf,cAAA,OACAr3B,EAAAmY,GAAAkf,cAAA,OACAr3B,EAAAgJ,MAAAif,QAAA,iEACA8vC,EAAAx5B,YAAAv+B,GAAAu+B,YAAAlL,OAEA,KAAAA,EAAArqB,MAAAsyD,OAMAjoC,EAAArqB,MAAAif,QAAA,gEAEAqqC,GAAA+I,uBAAAx8E,EAAA,IAAAw0C,EAAAxG,YACAhuC,IAKAk5E,EAAA/uD,MAAAsyD,KAAA,IAIAvD,EAAA1C,YAAAr1D,MAIA,WACA,GAAAqzB,GAAAlb,GAAAkf,cAAA,MAGAi7B,IAAAC,eAAA,CACA,WACAl/B,GAAAj7C,KACE,MAAAY,GACFs5E,GAAAC,eAAA,EAIAl/B,EAAA,OAEA,IAAAu+B,IAAA,SAAAt7B,GACA,GAAAg5C,GAAAznE,GAAAynE,QAAAh5C,EAAAnP,SAAA,KAAArV,eACAy+C,GAAAj6B,EAAAi6B,UAAA,CAGA,YAAAA,GAAA,IAAAA,MAIA+e,IAAA,IAAAA,GAAAh5C,EAAA7X,aAAA,aAAA6wD,IAMAhe,GAAA,gCACAD,GAAA,UA2OAxpD,IAAAtyB,QACAw/B,SAIAu6D,QACAC,WAAA,EACAC,UAAA,EAGAC,UAAA,8CAGAnZ,QAAA,SAAAhgC,GAEA,SADAA,IAAAi6B,SAAA1oD,GAAAkN,MAAAuhB,EAAAzuB,GAAAkqD,UAAAz7B,EAAAzuB,GAAAkqD,YACAP,EAAAl7B,IAGA3jD,KAAA,SAAA2jD,EAAAzmD,EAAA8C,GACA,MAAA++E,GAAAp7B,EAAAzmD,EAAA8C,IAGA+8F,WAAA,SAAAp5C,EAAAzmD,GACA,MAAAuiF,GAAA97B,EAAAzmD,IAIAikF,MAAA,SAAAx9B,EAAAzmD,EAAA8C,GACA,MAAA++E,GAAAp7B,EAAAzmD,EAAA8C,GAAA,IAGA8oF,YAAA,SAAAnlC,EAAAzmD,GACA,MAAAuiF,GAAA97B,EAAAzmD,GAAA,MAIAg4B,GAAA1zB,GAAAoB,QACA5C,KAAA,SAAA0G,EAAA9H,GACA,GAAAhC,GAAAM,EAAA8C,EACA2jD,EAAApnD,KAAA,GACA2f,EAAAynC,KAAAl0C,UAMA,QAAAjK,KAAAkB,EAAA,CACA,GAAAnK,KAAA6F,SACApC,EAAAk1B,GAAAl1B,KAAA2jD,GAEA,IAAAA,EAAAi6B,WAAA1oD,GAAAisD,MAAAx9B,EAAA,iBAEA,IADA/mD,EAAAsf,EAAA9Z,OACAxF,KAIAsf,EAAAtf,KACAM,EAAAgf,EAAAtf,GAAAM,KACA,IAAAA,EAAAwmB,QAAA,WACAxmB,EAAAg4B,GAAAsqD,UAAAtiF,EAAAiI,MAAA,IACAs5E,EAAA96B,EAAAzmD,EAAA8C,EAAA9C,KAIAg4B,IAAAisD,MAAAx9B,EAAA,kBAIA,MAAA3jD,GAIA,sBAAA0G,GACAnK,KAAAgR,KAAA,WACA2nB,GAAAl1B,KAAAzD,KAAAmK,KAIA7F,UAAAuB,OAAA,EAGA7F,KAAAgR,KAAA,WACA2nB,GAAAl1B,KAAAzD,KAAAmK,EAAA9H,KAKA+kD,EAAA86B,EAAA96B,EAAAj9C,EAAAwuB,GAAAl1B,KAAA2jD,EAAAj9C,QAAAlB,IAGAu3F,WAAA,SAAAr2F,GACA,MAAAnK,MAAAgR,KAAA,WACA2nB,GAAA6nE,WAAAxgG,KAAAmK,QAMAwuB,GAAAtyB,QACAslF,MAAA,SAAAvkC,EAAA13C,EAAAjM,GACA,GAAAkoF,EAEA,IAAAvkC,EAYA,MAXA13C,OAAA,cACAi8E,EAAAhzD,GAAAisD,MAAAx9B,EAAA13C,GAGAjM,KACAkoF,GAAAhzD,GAAA9nB,QAAApN,GACAkoF,EAAAhzD,GAAAisD,MAAAx9B,EAAA13C,EAAAipB,GAAA84D,UAAAhuF,IAEAkoF,EAAAngF,KAAA/H,IAGAkoF,OAIA8U,QAAA,SAAAr5C,EAAA13C,GACAA,KAAA,IAEA,IAAAi8E,GAAAhzD,GAAAgzD,MAAAvkC,EAAA13C,GACAgxF,EAAA/U,EAAA9lF,OACAZ,EAAA0mF,EAAA9iF,QACAo/C,EAAAtvB,GAAAizD,YAAAxkC,EAAA13C,GACAsmB,EAAA,WACA2C,GAAA8nE,QAAAr5C,EAAA13C,GAIA,gBAAAzK,IACAA,EAAA0mF,EAAA9iF,QACA63F,KAGAz7F,IAIA,OAAAyK,GACAi8E,EAAAnhF,QAAA,oBAIAy9C,GAAAtY,KACA1qC,EAAA1E,KAAA6mD,EAAApxB,EAAAiyB,KAGAy4C,GAAAz4C,GACAA,EAAAvjD,MAAAonF,QAMAF,YAAA,SAAAxkC,EAAA13C,GACA,GAAAvF,GAAAuF,EAAA,YACA,OAAAipB,IAAAisD,MAAAx9B,EAAAj9C,IAAAwuB,GAAAisD,MAAAx9B,EAAAj9C,GACAzF,MAAAi0B,GAAA0lE,UAAA,eAAAvnF,IAAA,WACA6hB,GAAA4zD,YAAAnlC,EAAA13C,EAAA,SACAipB,GAAA4zD,YAAAnlC,EAAAj9C,UAMAwuB,GAAA1zB,GAAAoB,QACAslF,MAAA,SAAAj8E,EAAAjM,GACA,GAAAmvE,GAAA,CAQA,OANA,gBAAAljE,KACAjM,EAAAiM,EACAA,EAAA,KACAkjE,KAGAtuE,UAAAuB,OAAA+sE,EACAj6C,GAAAgzD,MAAA3rF,KAAA,GAAA0P,OAGAzG,KAAAxF,EACAzD,KACAA,KAAAgR,KAAA,WACA,GAAA26E,GAAAhzD,GAAAgzD,MAAA3rF,KAAA0P,EAAAjM,EAGAk1B,IAAAizD,YAAA5rF,KAAA0P,GAEA,OAAAA,GAAA,eAAAi8E,EAAA,IACAhzD,GAAA8nE,QAAAzgG,KAAA0P,MAIA+wF,QAAA,SAAA/wF,GACA,MAAA1P,MAAAgR,KAAA,WACA2nB,GAAA8nE,QAAAzgG,KAAA0P,MAGAixF,WAAA,SAAAjxF,GACA,MAAA1P,MAAA2rF,MAAAj8E,GAAA,UAKAqiD,QAAA,SAAAriD,EAAA9N,GACA,GAAAyjF,GACAub,EAAA,EACAvsE,EAAAsE,GAAAm0D,WACA5L,EAAAlhF,KACAK,EAAAL,KAAA6F,OACA+rD,EAAA,aACAgvC,GACAvsE,EAAAo5D,YAAAvM,OAUA,KANA,gBAAAxxE,KACA9N,EAAA8N,EACAA,MAAAzG,IAEAyG,KAAA,KAEArP,MACAglF,EAAA1sD,GAAAisD,MAAA1D,EAAA7gF,GAAAqP,EAAA,gBACA21E,EAAA3gF,QACAk8F,IACAvb,EAAA3gF,MAAAoS,IAAA86C,GAIA,OADAA,KACAv9B,EAAA09B,QAAAnwD,MAKA,WACA,GAAAi/F,EAEAzd,IAAAiJ,iBAAA,WACA,SAAAwU,EACA,MAAAA,EAIAA,IAAA,CAGA,IAAA18C,GAAA0kC,EAAA/3D,CAGA,QADA+3D,EAAA5/C,GAAAs7C,qBAAA,aACAsE,EAAA/uD,OAOAqqB,EAAAlb,GAAAkf,cAAA,OACAr3B,EAAAmY,GAAAkf,cAAA,OACAr3B,EAAAgJ,MAAAif,QAAA,iEACA8vC,EAAAx5B,YAAAv+B,GAAAu+B,YAAAlL,OAIA,KAAAA,EAAArqB,MAAAsyD,OAGAjoC,EAAArqB,MAAAif,QAIA,iJAGAoL,EAAAkL,YAAApmB,GAAAkf,cAAA,QAAAruB,MAAAnF,MAAA,MACAksE,EAAA,IAAA18C,EAAAxG,aAGAkrC,EAAA1C,YAAAr1D,GAEA+vE,OA9BA,MAkCA,IAAAC,IAAA,sCAAAt9F,OAEAwgF,GAAA,GAAA3/C,QAAA,iBAAAy8D,GAAA,mBAGA7W,IAAA,+BAEAP,GAAA,SAAAtiC,EAAApwC,GAKA,MADAowC,GAAApwC,GAAAowC,EACA,SAAAzuB,GAAAzD,IAAAkyB,EAAA,aACAzuB,GAAAlnB,SAAA21C,EAAAk/B,cAAAl/B,IAkEA25C,GAAA,SAAAzc,EAAAr/E,EAAAkF,EAAA9H,EAAA2+F,EAAAC,EAAAC,GACA,GAAA7gG,GAAA,EACAwF,EAAAy+E,EAAAz+E,OACAs7F,EAAA,MAAAh3F,CAGA,eAAAwuB,GAAAjpB,KAAAvF,GAAA,CACA62F,GAAA,CACA,KAAA3gG,IAAA8J,GACA42F,GAAAzc,EAAAr/E,EAAA5E,EAAA8J,EAAA9J,IAAA,EAAA4gG,EAAAC,OAIE,QAAAj4F,KAAA5G,IACF2+F,GAAA,EAEAroE,GAAAz1B,WAAAb,KACA6+F,GAAA,GAGAC,IAGAD,GACAj8F,EAAA1E,KAAA+jF,EAAAjiF,GACA4C,EAAA,OAIAk8F,EAAAl8F,EACAA,EAAA,SAAAmiD,EAAAj9C,EAAA9H,GACA,MAAA8+F,GAAA5gG,KAAAo4B,GAAAyuB,GAAA/kD,MAKA4C,GACA,KAAU5E,EAAAwF,EAAYxF,IACtB4E,EACAq/E,EAAAjkF,GACA8J,EACA+2F,EAAA7+F,IAAA9B,KAAA+jF,EAAAjkF,KAAA4E,EAAAq/E,EAAAjkF,GAAA8J,IAMA,OAAA62F,GACA1c,EAGA6c,EACAl8F,EAAA1E,KAAA+jF,GACAz+E,EAAAZ,EAAAq/E,EAAA,GAAAn6E,GAAA82F,GAEAnc,GAAA,wBAEAW,GAAA,aAEAc,GAAA,4BAEAR,GAAA,OAEA7B,GAAA,2LAqBA,WACA,GAAA//B,GAAAlb,GAAAkf,cAAA,OACA34B,EAAAyZ,GAAAm7C,yBACAxzE,EAAAq4B,GAAAkf,cAAA,QAGAhE,GAAAvL,UAAA,qEAGAwqC,GAAA0C,kBAAA,IAAA3hC,EAAA+hC,WAAA7E,SAIA+B,GAAAkC,OAAAnhC,EAAAogC,qBAAA,SAAA1+E,OAIAu9E,GAAAge,gBAAAj9C,EAAAogC,qBAAA,QAAA1+E,OAIAu9E,GAAAyE,WACA,kBAAA5+C,GAAAkf,cAAA,OAAAk5C,WAAA,GAAAzZ,UAIAh3E,EAAAlB,KAAA,WACAkB,EAAAo0E,SAAA,EACAx1D,EAAA6/B,YAAAz+C,GACAwyE,GAAAiD,cAAAz1E,EAAAo0E,QAIA7gC,EAAAvL,UAAA,yBACAwqC,GAAAke,iBAAAn9C,EAAAk9C,WAAA,GAAAxb,UAAA7iF,aAGAwsB,EAAA6/B,YAAAlL,GAIAvzC,EAAAq4B,GAAAkf,cAAA,SACAv3C,EAAAs+C,aAAA,gBACAt+C,EAAAs+C,aAAA,qBACAt+C,EAAAs+C,aAAA,YAEA/K,EAAAkL,YAAAz+C,GAIAwyE,GAAAgF,WAAAjkC,EAAAk9C,WAAA,GAAAA,WAAA,GAAAxb,UAAAb,QAIA5B,GAAAqE,eAAAtjC,EAAAgiB,iBAKAhiB,EAAAxrB,GAAAkqD,SAAA,EACAO,GAAAlwE,YAAAixC,EAAA5U,aAAA5W,GAAAkqD,WAKA,IAAA6C,KACA5uD,QAAA,8CACAyqE,QAAA,8BACAC,MAAA,oBAGAr3D,OAAA,0BACAs3D,OAAA,wBACAC,IAAA,uCACAC,KAAA,4DACAC,IAAA,gDAIAjc,SAAAvC,GAAAge,eAAA,+BAIA1b,IAAAmc,SAAAnc,GAAA5uD,OAEA4uD,GAAAJ,MAAAI,GAAAoc,MAAApc,GAAAqc,SAAArc,GAAAsc,QAAAtc,GAAA+b,MACA/b,GAAAuc,GAAAvc,GAAAkc,EA6CA,IAAApc,IAAA,YACAS,GAAA,WA6IA,WACA,GAAA5lF,GAAAkzB,EACA4wB,EAAAlb,GAAAkf,cAAA,MAGA,KAAA9nD,KAAastC,QAAA,EAAAu0D,QAAA,EAAAC,SAAA,GACb5uE,EAAA,KAAAlzB,GAEA+iF,GAAA/iF,GAAAkzB,IAAAhsB,MAGA48C,EAAA+K,aAAA37B,EAAA,KACA6vD,GAAA/iF,IAAA,IAAA8jD,EAAAjxC,WAAAqgB,GAAAsvD,QAKA1+B,GAAA,OAIA,IAAAi+C,IAAA,+BACAC,GAAA,OACAC,GAAA,iDACAC,GAAA,kCACAC,GAAA,qBAmFA7pE,IAAAhH,OAEAy3B,UAEAtyC,IAAA,SAAAswC,EAAAu/B,EAAA4M,EAAA9vF,EAAA+uB,GACA,GAAA6yD,GAAAv2E,EAAA2zF,EAAAC,EACAC,EAAAC,EAAAC,EACAC,EAAApzF,EAAAqzF,EAAAC,EACAC,EAAAtqE,GAAAisD,MAAAx9B,EAGA,IAAA67C,EAAA,CAuCA,IAlCA1P,YACAmP,EAAAnP,EACAA,EAAAmP,EAAAnP,QACA/gE,EAAAkwE,EAAAlwE,UAIA+gE,EAAAvQ,OACAuQ,EAAAvQ,KAAArqD,GAAAqqD,SAIAl0E,EAAAm0F,EAAAn0F,UACAA,EAAAm0F,EAAAn0F,YAEA8zF,EAAAK,EAAA1b,UACAqb,EAAAK,EAAA1b,OAAA,SAAAz9E,GAIA,gBAAA6uB,IACA7uB,GAAA6uB,GAAAhH,MAAAuxE,YAAAp5F,EAAA4F,SAEAzG,GADA0vB,GAAAhH,MAAA0mC,SAAAh0D,MAAAu+F,EAAAx7C,KAAA9iD,YAMAs+F,EAAAx7C,QAIAu/B,MAAA,IAAAp8D,MAAAo3D,MAAA,IACA8gB,EAAA9b,EAAA9gF,OACA48F,KACApd,EAAAmd,GAAAjgF,KAAAokE,EAAA8b,QACA/yF,EAAAszF,EAAA3d,EAAA,GACA0d,GAAA1d,EAAA,QAAA97E,MAAA,KAAA+kE,OAGA5+D,IAKAizF,EAAAhqE,GAAAhH,MAAAgxE,QAAAjzF,OAGAA,GAAA8iB,EAAAmwE,EAAAQ,aAAAR,EAAAS,WAAA1zF,EAGAizF,EAAAhqE,GAAAhH,MAAAgxE,QAAAjzF,OAGAmzF,EAAAlqE,GAAAtyB,QACAqJ,OACAszF,WACAv/F,OACA8vF,UACAvQ,KAAAuQ,EAAAvQ,KACAxwD,WACAqmE,aAAArmE,GAAAmG,GAAAkiE,KAAAtwE,MAAAsuE,aAAA3vF,KAAAspB,GACA6wE,UAAAN,EAAAt5F,KAAA,MACIi5F,IAGJI,EAAAh0F,EAAAY,MACAozF,EAAAh0F,EAAAY,MACAozF,EAAAQ,cAAA,EAGAX,EAAAlpD,QACA,IAAAkpD,EAAAlpD,MAAAl5C,KAAA6mD,EAAA3jD,EAAAs/F,EAAAH,KAGAx7C,EAAA+e,iBACA/e,EAAA+e,iBAAAz2D,EAAAkzF,GAAA,GAEMx7C,EAAAqyC,aACNryC,EAAAqyC,YAAA,KAAA/pF,EAAAkzF,KAKAD,EAAA7rF,MACA6rF,EAAA7rF,IAAAvW,KAAA6mD,EAAAy7C,GAEAA,EAAAtP,QAAAvQ,OACA6f,EAAAtP,QAAAvQ,KAAAuQ,EAAAvQ,OAKAxwD,EACAswE,EAAAvwE,OAAAuwE,EAAAQ,gBAAA,EAAAT,GAEAC,EAAAt3F,KAAAq3F,GAIAlqE,GAAAhH,MAAAy3B,OAAA15C,IAAA,EAIA03C,GAAA,OAIA/vC,OAAA,SAAA+vC,EAAAu/B,EAAA4M,EAAA/gE,EAAA+wE,GACA,GAAAhiE,GAAAshE,EAAAxd,EACAme,EAAAf,EAAA3zF,EACA6zF,EAAAG,EAAApzF,EACAqzF,EAAAC,EACAC,EAAAtqE,GAAAyuD,QAAAhgC,IAAAzuB,GAAAisD,MAAAx9B,EAEA,IAAA67C,IAAAn0F,EAAAm0F,EAAAn0F,QAAA,CAOA,IAFA63E,MAAA,IAAAp8D,MAAAo3D,MAAA,IACA8gB,EAAA9b,EAAA9gF,OACA48F,KAMA,GALApd,EAAAmd,GAAAjgF,KAAAokE,EAAA8b,QACA/yF,EAAAszF,EAAA3d,EAAA,GACA0d,GAAA1d,EAAA,QAAA97E,MAAA,KAAA+kE,OAGA5+D,EAAA,CAeA,IARAizF,EAAAhqE,GAAAhH,MAAAgxE,QAAAjzF,OACAA,GAAA8iB,EAAAmwE,EAAAQ,aAAAR,EAAAS,WAAA1zF,EACAozF,EAAAh0F,EAAAY,OACA21E,IAAA,IACA,GAAAhhD,QAAA,UAAA0+D,EAAAt5F,KAAA,4BAGA+5F,EAAAjiE,EAAAuhE,EAAAj9F,OACA07B,KACAshE,EAAAC,EAAAvhE,IAEAgiE,GAAAP,IAAAH,EAAAG,UACAzP,KAAAvQ,OAAA6f,EAAA7f,MACAqC,MAAAn8E,KAAA25F,EAAAQ,YACA7wE,OAAAqwE,EAAArwE,WACA,OAAAA,IAAAqwE,EAAArwE,YACAswE,EAAAvwE,OAAAgP,EAAA,GAEAshE,EAAArwE,UACAswE,EAAAQ,gBAEAX,EAAAtrF,QACAsrF,EAAAtrF,OAAA9W,KAAA6mD,EAAAy7C,GAOAW,KAAAV,EAAAj9F,SACA88F,EAAAc,WACA,IAAAd,EAAAc,SAAAljG,KAAA6mD,EAAA27C,EAAAE,EAAA1b,SAEA5uD,GAAA+uD,YAAAtgC,EAAA13C,EAAAuzF,EAAA1b,cAGAz4E,GAAAY,QA1CA,KAAAA,IAAAZ,GACA6pB,GAAAhH,MAAAta,OAAA+vC,EAAA13C,EAAAi3E,EAAA8b,GAAAlP,EAAA/gE,GAAA,EA8CAmG,IAAA4pD,cAAAzzE,WACAm0F,GAAA1b,OAIA5uD,GAAA4zD,YAAAnlC,EAAA,aAIAriD,QAAA,SAAA4sB,EAAAluB,EAAA2jD,EAAAs8C,GACA,GAAAnc,GAAAoc,EAAAliB,EACAmiB,EAAAjB,EAAAtd,EAAAhlF,EACAwjG,GAAAz8C,GAAAne,IACAv5B,EAAAihF,GAAApwF,KAAAoxB,EAAA,QAAAA,EAAAjiB,KAAAiiB,EACAoxE,EAAApS,GAAApwF,KAAAoxB,EAAA,aAAAA,EAAA0xE,UAAA95F,MAAA,OAKA,IAHAk4E,EAAA4D,EAAAj+B,KAAAne,GAGA,IAAAme,EAAAi6B,UAAA,IAAAj6B,EAAAi6B,WAKAkhB,GAAAr5F,KAAAwG,EAAAipB,GAAAhH,MAAAuxE,aAIAxzF,EAAAyX,QAAA,UAGA47E,EAAArzF,EAAAnG,MAAA,KACAmG,EAAAqzF,EAAAl6F,QACAk6F,EAAAz0B,QAEAq1B,EAAAj0F,EAAAyX,QAAA,aAAAzX,EAGAiiB,IAAAgH,GAAAkqD,SACAlxD,EACA,GAAAgH,IAAAmrE,MAAAp0F,EAAA,gBAAAiiB,OAGAA,EAAAoyE,UAAAL,EAAA,IACA/xE,EAAA0xE,UAAAN,EAAAt5F,KAAA,KACAkoB,EAAAqyE,WAAAryE,EAAA0xE,UACA,GAAAh/D,QAAA,UAAA0+D,EAAAt5F,KAAA,4BACA,KAGAkoB,EAAA7c,WAAA7L,GACA0oB,EAAA/lB,SACA+lB,EAAA/lB,OAAAw7C,GAIA3jD,EAAA,MAAAA,GACAkuB,GACAgH,GAAA84D,UAAAhuF,GAAAkuB,IAGAgxE,EAAAhqE,GAAAhH,MAAAgxE,QAAAjzF,OACAg0F,IAAAf,EAAA59F,UAAA,IAAA49F,EAAA59F,QAAAV,MAAA+iD,EAAA3jD,IAAA,CAMA,IAAAigG,IAAAf,EAAAsB,WAAAtrE,GAAAqoD,SAAA55B,GAAA,CAMA,IAJAw8C,EAAAjB,EAAAQ,cAAAzzF,EACA6yF,GAAAr5F,KAAA06F,EAAAl0F,KACA+xE,IAAAkG,YAEUlG,EAAKA,IAAAkG,WACfkc,EAAAr4F,KAAAi2E,GACA4D,EAAA5D,CAIA4D,MAAAj+B,EAAAk/B,eAAAr9C,KACA46D,EAAAr4F,KAAA65E,EAAAmL,aAAAnL,EAAAoL,cAAAlpF,GAMA,IADAlH,EAAA,GACAohF,EAAAoiB,EAAAxjG,QAAAsxB,EAAAuyE,wBAEAvyE,EAAAjiB,KAAArP,EAAA,EACAujG,EACAjB,EAAAS,UAAA1zF,EAGA63E,GAAA5uD,GAAAisD,MAAAnD,EAAA,eAAiD9vD,EAAAjiB,OACjDipB,GAAAisD,MAAAnD,EAAA,UAEA8F,GACAA,EAAAljF,MAAAo9E,EAAAh+E,IAIA8jF,EAAAoc,GAAAliB,EAAAkiB,KACApc,EAAAljF,OAAAq+E,GAAAjB,KACA9vD,EAAA7c,OAAAyyE,EAAAljF,MAAAo9E,EAAAh+E,IACA,IAAAkuB,EAAA7c,QACA6c,EAAAte,iBAOA,IAHAse,EAAAjiB,QAGAg0F,IAAA/xE,EAAAwyE,wBAGAxB,EAAAhd,WACA,IAAAgd,EAAAhd,SAAAthF,MAAAw/F,EAAAjjF,MAAAnd,KACAi/E,GAAAt7B,IAMAu8C,GAAAv8C,EAAA13C,KAAAipB,GAAAqoD,SAAA55B,GAAA,CAGAi+B,EAAAj+B,EAAAu8C,GAEAte,IACAj+B,EAAAu8C,GAAA,MAIAhrE,GAAAhH,MAAAuxE,UAAAxzF,CACA,KACA03C,EAAA13C,KACM,MAAA5F,IAKN6uB,GAAAhH,MAAAuxE,cAAAj6F,GAEAo8E,IACAj+B,EAAAu8C,GAAAte,GAMA,MAAA1zD,GAAA7c,SAGAujD,SAAA,SAAA1mC,GAGAA,EAAAgH,GAAAhH,MAAAyyE,IAAAzyE,EAEA,IAAAtxB,GAAAkhC,EAAAy7C,EAAAof,EAAAyG,EACAwB,KACA37F,EAAAE,GAAArI,KAAA+D,WACAw+F,GAAAnqE,GAAAisD,MAAA5kF,KAAA,eAAoD2xB,EAAAjiB,UACpDizF,EAAAhqE,GAAAhH,MAAAgxE,QAAAhxE,EAAAjiB,SAOA,IAJAhH,EAAA,GAAAipB,EACAA,EAAA2yE,eAAAtkG,MAGA2iG,EAAA4B,cAAA,IAAA5B,EAAA4B,YAAAhkG,KAAAP,KAAA2xB,GAAA,CASA,IAJA0yE,EAAA1rE,GAAAhH,MAAAmxE,SAAAviG,KAAAP,KAAA2xB,EAAAmxE,GAGAziG,EAAA,GACA+7F,EAAAiI,EAAAhkG,QAAAsxB,EAAAuyE,wBAIA,IAHAvyE,EAAA+a,cAAA0vD,EAAAh1C,KAEA7lB,EAAA,GACAshE,EAAAzG,EAAA0G,SAAAvhE,QACA5P,EAAA6yE,iCAIA7yE,EAAAqyE,aAAAryE,EAAAqyE,WAAA96F,KAAA25F,EAAAQ,aAEA1xE,EAAAkxE,YACAlxE,EAAAluB,KAAAo/F,EAAAp/F,SAKAwF,MAHA+zE,IAAArkD,GAAAhH,MAAAgxE,QAAAE,EAAAG,eAA+Dzb,QAC/Dsb,EAAAtP,SAAAlvF,MAAA+3F,EAAAh1C,KAAA1+C,MAGA,KAAAipB,EAAA7c,OAAAkoE,KACArrD,EAAAte,iBACAse,EAAA6B,mBAYA,OAJAmvE,GAAA8B,cACA9B,EAAA8B,aAAAlkG,KAAAP,KAAA2xB,GAGAA,EAAA7c,SAGAguF,SAAA,SAAAnxE,EAAAmxE,GACA,GAAAziG,GAAAiqB,EAAAo6E,EAAA7B,EACAwB,KACAf,EAAAR,EAAAQ,cACA7hB,EAAA9vD,EAAA/lB,MAQA,IAAA03F,GAAA7hB,EAAAJ,WACA,UAAA1vD,EAAAjiB,MAAA2Y,MAAAsJ,EAAA+qE,SAAA/qE,EAAA+qE,OAAA,GAGA,KAAUjb,GAAAzhF,KAAayhF,IAAAkG,YAAA3nF,KAKvB,OAAAyhF,EAAAJ,YAAA,IAAAI,EAAAxyE,UAAA,UAAA0iB,EAAAjiB,MAAA,CAEA,IADA4a,KACAjqB,EAAA,EAAiBA,EAAAijG,EAAmBjjG,IACpCwiG,EAAAC,EAAAziG,GAGAqkG,EAAA7B,EAAArwE,SAAA,QAEAvpB,KAAAqhB,EAAAo6E,KACAp6E,EAAAo6E,GAAA7B,EAAAhK,aACAlgE,GAAA+rE,EAAA1kG,MAAAkqB,MAAAu3D,IAAA,EACA9oD,GAAAvhB,KAAAstF,EAAA1kG,KAAA,MAAAyhF,IAAA57E,QAEAykB,EAAAo6E,IACAp6E,EAAA9e,KAAAq3F,EAGAv4E,GAAAzkB,QACAw+F,EAAA74F,MAA0B47C,KAAAq6B,EAAAqhB,SAAAx4E,IAW1B,MAJAg5E,GAAAR,EAAAj9F,QACAw+F,EAAA74F,MAAuB47C,KAAApnD,KAAA8iG,WAAAl6F,MAAA06F,KAGvBe,GAGAD,IAAA,SAAAzyE,GACA,GAAAA,EAAAgH,GAAAkqD,SACA,MAAAlxD,EAIA,IAAAtxB,GAAA+O,EAAA+hF,EACAzhF,EAAAiiB,EAAAjiB,KACA8wC,EAAA7uB,EACAgzE,EAAA3kG,KAAA4kG,SAAAl1F,EAaA,KAXAi1F,IACA3kG,KAAA4kG,SAAAl1F,GAAAi1F,EACArC,GAAAp5F,KAAAwG,GAAA1P,KAAA6kG,WACAxC,GAAAn5F,KAAAwG,GAAA1P,KAAA8kG,aAGA3T,EAAAwT,EAAAplF,MAAAvf,KAAAuf,MAAAmzB,OAAAiyD,EAAAplF,OAAAvf,KAAAuf,MAEAoS,EAAA,GAAAgH,IAAAmrE,MAAAtjD,GAEAngD,EAAA8wF,EAAAtrF,OACAxF,KACA+O,EAAA+hF,EAAA9wF,GACAsxB,EAAAviB,GAAAoxC,EAAApxC,EAmBA,OAdAuiB,GAAA/lB,SACA+lB,EAAA/lB,OAAA40C,EAAAukD,YAAA97D,IAKA,IAAAtX,EAAA/lB,OAAAy1E,WACA1vD,EAAA/lB,OAAA+lB,EAAA/lB,OAAA+7E,YAKAh2D,EAAAywB,UAAAzwB,EAAAywB,QAEAuiD,EAAA33E,OAAA23E,EAAA33E,OAAA2E,EAAA6uB,GAAA7uB,GAIApS,MAAA,+HACAhW,MAAA,KAEAq7F,YAEAE,UACAvlF,MAAA,4BAAAhW,MAAA,KACAyjB,OAAA,SAAA2E,EAAAk0C,GAOA,MAJA,OAAAl0C,EAAA/jB,QACA+jB,EAAA/jB,MAAA,MAAAi4D,EAAAm/B,SAAAn/B,EAAAm/B,SAAAn/B,EAAAh4D,SAGA8jB,IAIAkzE,YACAtlF,MAAA,mGACAhW,MAAA,KACAyjB,OAAA,SAAA2E,EAAAk0C,GACA,GAAAgjB,GAAAoc,EAAA/c,EACAwU,EAAA72B,EAAA62B,OACAwI,EAAAr/B,EAAAq/B,WA6BA,OA1BA,OAAAvzE,EAAAwzE,OAAA,MAAAt/B,EAAAh5B,UACAo4D,EAAAtzE,EAAA/lB,OAAA06E,eAAAr9C,GACAi/C,EAAA+c,EAAAjc,gBACAH,EAAAoc,EAAApc,KAEAl3D,EAAAwzE,MAAAt/B,EAAAh5B,SACAq7C,KAAAkd,YAAAvc,KAAAuc,YAAA,IACAld,KAAAmd,YAAAxc,KAAAwc,YAAA,GACA1zE,EAAA2zE,MAAAz/B,EAAA/4B,SACAo7C,KAAAzyD,WAAAozD,KAAApzD,WAAA,IACAyyD,KAAAqd,WAAA1c,KAAA0c,WAAA,KAIA5zE,EAAA6zE,eAAAN,IACAvzE,EAAA6zE,cAAAN,IAAAvzE,EAAA/lB,OACAi6D,EAAA4/B,UACAP,GAKAvzE,EAAA/jB,WAAA3E,KAAAyzF,IACA/qE,EAAA/jB,MAAA,EAAA8uF,EAAA,IAAAA,EAAA,IAAAA,EAAA,KAGA/qE,IAIAgxE,SACA+C,MAGAzB,UAAA,GAEAlvF,OAGAhQ,QAAA,WACA,GAAA/E,OAAA0mF,KAAA1mF,KAAA+U,MACA,IAEA,MADA/U,MAAA+U,SACA,EACM,MAAAjL,MAQNq5F,aAAA,WAEAjqE,MACAn0B,QAAA,WACA,GAAA/E,OAAA0mF,KAAA1mF,KAAAk5B,KAEA,MADAl5B,MAAAk5B,QACA,GAGAiqE,aAAA,YAEAp0F,OAGAhK,QAAA,WACA,GAAA4zB,GAAAsf,SAAAj4C,KAAA,uBAAAA,KAAA0P,MAAA1P,KAAA+O,MAEA,MADA/O,MAAA+O,SACA,GAKA42E,SAAA,SAAAh0D,GACA,MAAAgH,IAAAsf,SAAAtmB,EAAA/lB,OAAA,OAIA+5F,cACAlB,aAAA,SAAA9yE,OAIA1oB,KAAA0oB,EAAA7c,QAAA6c,EAAA6uB,gBACA7uB,EAAA6uB,cAAAolD,YAAAj0E,EAAA7c,WAOA+wF,SAAA,SAAAn2F,EAAA03C,EAAAz1B,GACA,GAAA7nB,GAAA6uB,GAAAtyB,OACA,GAAAsyB,IAAAmrE,MACAnyE,GAEAjiB,OACAo2F,aAAA,GAaAntE,IAAAhH,MAAA5sB,QAAA+E,EAAA,KAAAs9C,GAEAt9C,EAAAq6F,sBACAxyE,EAAAte,mBAKAslB,GAAA+uD,YAAAz+C,GAAAo9B,oBACA,SAAAjf,EAAA13C,EAAA63E,GAGAngC,EAAAif,qBACAjf,EAAAif,oBAAA32D,EAAA63E,IAGA,SAAAngC,EAAA13C,EAAA63E,GACA,GAAA5mF,GAAA,KAAA+O,CAEA03C,GAAA26B,kBAKA,KAAA36B,EAAAzmD,KACAymD,EAAAzmD,GAAA,MAGAymD,EAAA26B,YAAAphF,EAAA4mF,KAIA5uD,GAAAmrE,MAAA,SAAAt5D,EAAAjrB,GAGA,KAAAvf,eAAA24B,IAAAmrE,OACA,UAAAnrE,IAAAmrE,MAAAt5D,EAAAjrB,EAIAirB,MAAA96B,MACA1P,KAAAwgD,cAAAhW,EACAxqC,KAAA0P,KAAA86B,EAAA96B,KAIA1P,KAAAmkG,mBAAA35D,EAAAu7D,sBACA98F,KAAAuhC,EAAAu7D,mBAGA,IAAAv7D,EAAAo7D,YACApf,EACAC,GAIAzmF,KAAA0P,KAAA86B,EAIAjrB,GACAoZ,GAAAtyB,OAAArG,KAAAuf,GAIAvf,KAAAgmG,UAAAx7D,KAAAw7D,WAAArtE,GAAAmyD,MAGA9qF,KAAA24B,GAAAkqD,UAAA,GAKAlqD,GAAAmrE,MAAAviG,WACA6C,YAAAu0B,GAAAmrE,MACAK,mBAAA1d,EACAyd,qBAAAzd,EACA+d,8BAAA/d,EAEApzE,eAAA,WACA,GAAAvJ,GAAA9J,KAAAwgD,aAEAxgD,MAAAmkG,mBAAA3d,EACA18E,IAKAA,EAAAuJ,eACAvJ,EAAAuJ,iBAKAvJ,EAAA87F,aAAA,IAGApyE,gBAAA,WACA,GAAA1pB,GAAA9J,KAAAwgD,aAEAxgD,MAAAkkG,qBAAA1d,EAEA18E,IAAA9J,KAAA8lG,cAKAh8F,EAAA0pB,iBACA1pB,EAAA0pB,kBAKA1pB,EAAAm8F,cAAA,IAEAC,yBAAA,WACA,GAAAp8F,GAAA9J,KAAAwgD,aAEAxgD,MAAAwkG,8BAAAhe,EAEA18E,KAAAo8F,0BACAp8F,EAAAo8F,2BAGAlmG,KAAAwzB,oBAYAmF,GAAA3nB,MACAuuC,WAAA,YACAC,WAAA,WACA2mD,aAAA,cACAC,aAAA,cACC,SAAA3a,EAAA2Y,GACDzrE,GAAAhH,MAAAgxE,QAAAlX,IACA0X,aAAAiB,EACAhB,SAAAgB,EAEA7c,OAAA,SAAA51D,GACA,GAAAqrD,GACApxE,EAAA5L,KACAqmG,EAAA10E,EAAA6zE,cACA3C,EAAAlxE,EAAAkxE,SASA,OALAwD,SAAAz6F,GAAA+sB,GAAAlnB,SAAA7F,EAAAy6F,MACA10E,EAAAjiB,KAAAmzF,EAAAG,SACAhmB,EAAA6lB,EAAAtP,QAAAlvF,MAAArE,KAAAsE,WACAqtB,EAAAjiB,KAAA00F,GAEApnB,MAMAoG,GAAAz1C,SAEAhV,GAAAhH,MAAAgxE,QAAAh1D,QACA8L,MAAA,WAGA,GAAA9gB,GAAAsf,SAAAj4C,KAAA,QACA,QAIA24B,IAAAhH,MAAA7a,IAAA9W,KAAA,0CAAA8J,GAGA,GAAAs9C,GAAAt9C,EAAA8B,OACA2F,EAAAonB,GAAAsf,SAAAmP,EAAA,UAAAzuB,GAAAsf,SAAAmP,EAAA,UAMAzuB,GAAAvpB,KAAAg4C,EAAA,YACAn+C,EAEAsI,KAAAonB,GAAAisD,MAAArzE,EAAA,YACAonB,GAAAhH,MAAA7a,IAAAvF,EAAA,0BAAAogB,GACAA,EAAA20E,eAAA,IAEA3tE,GAAAisD,MAAArzE,EAAA,iBAOAkzF,aAAA,SAAA9yE,GAGAA,EAAA20E,sBACA30E,GAAA20E,cACAtmG,KAAA2nF,aAAAh2D,EAAAoyE,WACAprE,GAAAhH,MAAAk0E,SAAA,SAAA7lG,KAAA2nF,WAAAh2D,KAKA8xE,SAAA,WAGA,GAAA9qE,GAAAsf,SAAAj4C,KAAA,QACA,QAIA24B,IAAAhH,MAAAta,OAAArX,KAAA,eAMAojF,GAAA8e,SAEAvpE,GAAAhH,MAAAgxE,QAAAT,QAEAzoD,MAAA,WAEA,GAAA2oD,GAAAl5F,KAAAlJ,KAAAi4C,UAoBA,MAfA,aAAAj4C,KAAA0P,MAAA,UAAA1P,KAAA0P,OACAipB,GAAAhH,MAAA7a,IAAA9W,KAAA,kCAAA2xB,GACA,YAAAA,EAAA6uB,cAAA+lD,eACAvmG,KAAAwmG,cAAA,KAGA7tE,GAAAhH,MAAA7a,IAAA9W,KAAA,yBAAA2xB,GACA3xB,KAAAwmG,eAAA70E,EAAAoyE,YACA/jG,KAAAwmG,cAAA,GAIA7tE,GAAAhH,MAAAk0E,SAAA,SAAA7lG,KAAA2xB,OAGA,CAIAgH,IAAAhH,MAAA7a,IAAA9W,KAAA,kCAAA8J,GACA,GAAAs9C,GAAAt9C,EAAA8B,MAEAw2F,IAAAl5F,KAAAk+C,EAAAnP,YAAAtf,GAAAisD,MAAAx9B,EAAA,YACAzuB,GAAAhH,MAAA7a,IAAAswC,EAAA,0BAAAz1B,IACA3xB,KAAA2nF,YAAAh2D,EAAAm0E,aAAAn0E,EAAAoyE,WACAprE,GAAAhH,MAAAk0E,SAAA,SAAA7lG,KAAA2nF,WAAAh2D,KAGAgH,GAAAisD,MAAAx9B,EAAA,iBAKAmgC,OAAA,SAAA51D,GACA,GAAAy1B,GAAAz1B,EAAA/lB,MAGA,IAAA5L,OAAAonD,GAAAz1B,EAAAm0E,aAAAn0E,EAAAoyE,WACA,UAAA38C,EAAA13C,MAAA,aAAA03C,EAAA13C,KAEA,MAAAiiB,GAAAkxE,UAAAtP,QAAAlvF,MAAArE,KAAAsE,YAIAm/F,SAAA,WAGA,MAFA9qE,IAAAhH,MAAAta,OAAArX,KAAA,aAEAoiG,GAAAl5F,KAAAlJ,KAAAi4C,aAaAmrC,GAAA+e,SACAxpE,GAAA3nB,MAAe+D,MAAA,UAAAmkB,KAAA,YAAqC,SAAAuyD,EAAA2Y,GAGpD,GAAA7Q,GAAA,SAAA5hE,GACAgH,GAAAhH,MAAAk0E,SAAAzB,EAAAzyE,EAAA/lB,OAAA+sB,GAAAhH,MAAAyyE,IAAAzyE,IAGAgH,IAAAhH,MAAAgxE,QAAAyB,IACA3qD,MAAA,WACA,GAAAyuC,GAAAloF,KAAAsmF,eAAAtmF,KACAymG,EAAA9tE,GAAAisD,MAAAsD,EAAAkc,EAEAqC,IACAve,EAAA/hB,iBAAAslB,EAAA8H,GAAA,GAEA56D,GAAAisD,MAAAsD,EAAAkc,GAAAqC,GAAA,OAEAhD,SAAA,WACA,GAAAvb,GAAAloF,KAAAsmF,eAAAtmF,KACAymG,EAAA9tE,GAAAisD,MAAAsD,EAAAkc,GAAA,CAEAqC,GAIA9tE,GAAAisD,MAAAsD,EAAAkc,EAAAqC,IAHAve,EAAA7hB,oBAAAolB,EAAA8H,GAAA,GACA56D,GAAA4zD,YAAArE,EAAAkc,QASAzrE,GAAA1zB,GAAAoB,QAEAgP,GAAA,SAAAsxE,EAAAn0D,EAAA/uB,EAAAwB,GACA,MAAAoQ,GAAArV,KAAA2mF,EAAAn0D,EAAA/uB,EAAAwB,IAEA4Q,IAAA,SAAA8wE,EAAAn0D,EAAA/uB,EAAAwB,GACA,MAAAoQ,GAAArV,KAAA2mF,EAAAn0D,EAAA/uB,EAAAwB,EAAA,IAEAC,IAAA,SAAAyhF,EAAAn0D,EAAAvtB,GACA,GAAA49F,GAAAnzF,CACA,IAAAi3E,KAAAtzE,gBAAAszE,EAAAkc,UAWA,MARAA,GAAAlc,EAAAkc,UACAlqE,GAAAguD,EAAA2d,gBAAAp/F,IACA29F,EAAAQ,UACAR,EAAAG,SAAA,IAAAH,EAAAQ,UACAR,EAAAG,SACAH,EAAArwE,SACAqwE,EAAAtP,SAEAvzF,IAEA,oBAAA2mF,GAAA,CAGA,IAAAj3E,IAAAi3E,GACA3mF,KAAAkF,IAAAwK,EAAA8iB,EAAAm0D,EAAAj3E,GAEA,OAAA1P,MAWA,OATA,IAAAwyB,GAAA,kBAAAA,KAGAvtB,EAAAutB,EACAA,MAAAvpB,KAEA,IAAAhE,IACAA,EAAAwhF,GAEAzmF,KAAAgR,KAAA,WACA2nB,GAAAhH,MAAAta,OAAArX,KAAA2mF,EAAA1hF,EAAAutB,MAIAztB,QAAA,SAAA2K,EAAAjM,GACA,MAAAzD,MAAAgR,KAAA,WACA2nB,GAAAhH,MAAA5sB,QAAA2K,EAAAjM,EAAAzD,SAGAggG,eAAA,SAAAtwF,EAAAjM,GACA,GAAA2jD,GAAApnD,KAAA,EACA,IAAAonD,EACA,MAAAzuB,IAAAhH,MAAA5sB,QAAA2K,EAAAjM,EAAA2jD,GAAA,KAMA,IAAAE,IAAA,6BACAo/C,GAAA,GAAAriE,QAAA,OAAA6/C,GAAA,gBACAyiB,GAAA,2EAKAC,GAAA,wBAGAve,GAAA,oCACArB,GAAA,cACAyB,GAAA,2CACAoe,GAAA5iB,EAAAh7C,IACA69D,GAAAD,GAAAx3C,YAAApmB,GAAAkf,cAAA,OAkPAxvB,IAAAtyB,QACAu/E,cAAA,SAAAltE,GACA,MAAAA,GAAA1P,QAAA29F,GAAA,cAGA1iG,MAAA,SAAAmjD,EAAA2/C,EAAAC,GACA,GAAAC,GAAAjf,EAAA/jF,EAAA5D,EAAA6mG,EACAC,EAAAxuE,GAAAlnB,SAAA21C,EAAAk/B,cAAAl/B,EAaA,IAXAg8B,GAAAyE,YAAAlvD,GAAA4kE,SAAAn2C,KACAs/C,GAAAx9F,KAAA,IAAAk+C,EAAAnP,SAAA,KAEAh0C,EAAAmjD,EAAAi6C,WAAA,IAIAyF,GAAAluD,UAAAwO,EAAAwgC,UACAkf,GAAA3gB,YAAAliF,EAAA6iG,GAAA5gB,eAGA9C,GAAAqE,cAAArE,GAAAke,gBACA,IAAAl6C,EAAAi6B,UAAA,KAAAj6B,EAAAi6B,UAAA1oD,GAAA4kE,SAAAn2C,IAOA,IAJA6/C,EAAA5iB,EAAApgF,GACAijG,EAAA7iB,EAAAj9B,GAGA/mD,EAAA,EAAe,OAAA2nF,EAAAkf,EAAA7mG,MAAqCA,EAGpD4mG,EAAA5mG,IACAmnF,EAAAQ,EAAAif,EAAA5mG,GAMA,IAAA0mG,EACA,GAAAC,EAIA,IAHAE,KAAA7iB,EAAAj9B,GACA6/C,KAAA5iB,EAAApgF,GAEA5D,EAAA,EAAgB,OAAA2nF,EAAAkf,EAAA7mG,IAAqCA,IACrD6mF,EAAAc,EAAAif,EAAA5mG,QAGA6mF,GAAA9/B,EAAAnjD,EAaA,OARAgjG,GAAA5iB,EAAApgF,EAAA,UACAgjG,EAAAphG,OAAA,GACA6+E,EAAAuiB,GAAAE,GAAA9iB,EAAAj9B,EAAA,WAGA6/C,EAAAC,EAAAlf,EAAA,KAGA/jF,GAGAk/E,UAAA,SAAAmB,EAAA8iB,GAQA,IAPA,GAAAhgD,GAAA13C,EAAAjL,EAAAhB,EACApD,EAAA,EACAuiF,EAAAjqD,GAAAkqD,QACAh9C,EAAAlN,GAAAkN,MACA3yB,EAAAkwE,GAAAlwE,WACAyvF,EAAAhqE,GAAAhH,MAAAgxE,QAES,OAAAv7C,EAAAk9B,EAAAjkF,IAA+BA,IACxC,IAAA+mG,GAAA1kB,GAAAt7B,MAEA3iD,EAAA2iD,EAAAw7B,GACAn/E,EAAAgB,GAAAohC,EAAAphC,IAEA,CACA,GAAAhB,EAAAqL,OACA,IAAAY,IAAAjM,GAAAqL,OACA6zF,EAAAjzF,GACAipB,GAAAhH,MAAAta,OAAA+vC,EAAA13C,GAIAipB,GAAA+uD,YAAAtgC,EAAA13C,EAAAjM,EAAA8jF,OAMA1hD,GAAAphC,WAEAohC,GAAAphC,GAMAyO,OAAA,KAAAk0C,EAAA6/B,gBAOA7/B,EAAAw7B,OAAA35E,GANAm+C,EAAA6/B,gBAAArE,GASAG,GAAAv3E,KAAA/G,QAQAk0B,GAAA1zB,GAAAoB,QAGA0hF,WAEAlG,OAAA,SAAArvD,GACA,MAAAnb,GAAArX,KAAAwyB,GAAA,IAGAnb,OAAA,SAAAmb,GACA,MAAAnb,GAAArX,KAAAwyB,IAGAxrB,KAAA,SAAA3E,GACA,MAAA0+F,IAAA/gG,KAAA,SAAAqC,GACA,WAAA4G,KAAA5G,EACAs2B,GAAA3xB,KAAAhH,MACAA,KAAA0E,QAAAqS,QACA/W,KAAA,IAAAA,KAAA,GAAAsmF,eAAAr9C,IAAA+8C,eAAA3jF,KAEG,KAAAA,EAAAiC,UAAAuB,SAGHkR,OAAA,WACA,MAAAgxE,GAAA/nF,KAAAsE,UAAA,SAAA8iD,GACA,OAAApnD,KAAAqhF,UAAA,KAAArhF,KAAAqhF,UAAA,IAAArhF,KAAAqhF,SAAA,CACAwF,EAAA7mF,KAAAonD,GACAiI,YAAAjI,OAKAx4B,QAAA,WACA,MAAAm5D,GAAA/nF,KAAAsE,UAAA,SAAA8iD,GACA,OAAApnD,KAAAqhF,UAAA,KAAArhF,KAAAqhF,UAAA,IAAArhF,KAAAqhF,SAAA,CACA,GAAAz1E,GAAAi7E,EAAA7mF,KAAAonD,EACAx7C,GAAAy7F,aAAAjgD,EAAAx7C,EAAAs6E,gBAKAvxC,OAAA,WACA,MAAAozC,GAAA/nF,KAAAsE,UAAA,SAAA8iD,GACApnD,KAAA2nF,YACA3nF,KAAA2nF,WAAA0f,aAAAjgD,EAAApnD,SAKAu2B,MAAA,WACA,MAAAwxD,GAAA/nF,KAAAsE,UAAA,SAAA8iD,GACApnD,KAAA2nF,YACA3nF,KAAA2nF,WAAA0f,aAAAjgD,EAAApnD,KAAA6zF,gBAKAnvF,MAAA,WAIA,IAHA,GAAA0iD,GACA/mD,EAAA,EAES,OAAA+mD,EAAApnD,KAAAK,IAA8BA,IAAA,CAQvC,IALA,IAAA+mD,EAAAi6B,UACA1oD,GAAAwqD,UAAAkB,EAAAj9B,GAAA,IAIAA,EAAA8+B,YACA9+B,EAAA++B,YAAA/+B,EAAA8+B,WAKA9+B,GAAA7hD,SAAAozB,GAAAsf,SAAAmP,EAAA,YACAA,EAAA7hD,QAAAM,OAAA,GAIA,MAAA7F,OAGAiE,MAAA,SAAA8iG,EAAAC,GAIA,MAHAD,GAAA,MAAAA,KACAC,EAAA,MAAAA,EAAAD,EAAAC,EAEAhnG,KAAA4R,IAAA,WACA,MAAA+mB,IAAA10B,MAAAjE,KAAA+mG,EAAAC,MAIAtuF,KAAA,SAAArW,GACA,MAAA0+F,IAAA/gG,KAAA,SAAAqC,GACA,GAAA+kD,GAAApnD,KAAA,OACAK,EAAA,EACAC,EAAAN,KAAA6F,MAEA,QAAAoD,KAAA5G,EACA,WAAA+kD,EAAAi6B,SACAj6B,EAAAxO,UAAA5vC,QAAAs+C,GAAA,QACAr+C,EAIA,oBAAA5G,KAAAukG,GAAA19F,KAAA7G,KACA+gF,GAAAge,gBAAAsF,GAAAx9F,KAAA7G,MACA+gF,GAAA0C,oBAAAC,GAAA78E,KAAA7G,MACAqjF,IAAAD,GAAAljE,KAAAlgB,KAAA,WAAAugC,eAAA,CAEAvgC,EAAAs2B,GAAAitD,cAAAvjF,EAEA,KACA,KAAYhC,EAAAC,EAAOD,IAGnB+mD,EAAApnD,KAAAK,OACA,IAAA+mD,EAAAi6B,WACA1oD,GAAAwqD,UAAAkB,EAAAj9B,GAAA,IACAA,EAAAxO,UAAAv2C,EAIA+kD,GAAA,EAGK,MAAAt9C,KAGLs9C,GACApnD,KAAA0E,QAAAqS,OAAA1U,IAEG,KAAAA,EAAAiC,UAAAuB,SAGHyhG,YAAA,WACA,GAAAliB,KAGA,OAAA2C,GAAA/nF,KAAAsE,UAAA,SAAA8iD,GACA,GAAAlxC,GAAAlW,KAAA2nF,UAEAhvD,IAAA4oD,QAAAvhF,KAAAolF,GAAA,IACAzsD,GAAAwqD,UAAAkB,EAAArkF,OACAkW,GACAA,EAAAqxF,aAAAngD,EAAApnD,QAKGolF,MAIHzsD,GAAA3nB,MACA43E,SAAA,SACA4e,UAAA,UACAH,aAAA,SACAI,YAAA,QACAC,WAAA,eACC,SAAA/mG,EAAAklE,GACDltC,GAAA1zB,GAAAtE,GAAA,SAAA6xB,GAOA,IANA,GAAA8xD,GACAjkF,EAAA,EACA28E,KACA2qB,EAAAhvE,GAAAnG,GACAoZ,EAAA+7D,EAAA9hG,OAAA,EAESxF,GAAAurC,EAAWvrC,IACpBikF,EAAAjkF,IAAAurC,EAAA5rC,UAAAiE,OAAA,GACA00B,GAAAgvE,EAAAtnG,IAAAwlE,GAAAye,GAGA94E,GAAAnH,MAAA24E,EAAAsH,EAAApjF,MAGA,OAAAlB,MAAAgxF,UAAAhU,KAKA,IAAA9F,IACA6R,IAIA6e,KAAA,QACAC,KAAA,SAyDAC,GAAA,UAEAtd,GAAA,GAAAnmD,QAAA,KAAAy8D,GAAA,uBAEAiH,GAAA,SAAA3gD,EAAA7hD,EAAA+pB,EAAA5mB,GACA,GAAAs0E,GAAAr8E,EACAqnG,IAGA,KAAArnG,IAAA4E,GACAyiG,EAAArnG,GAAAymD,EAAAttB,MAAAn5B,GACAymD,EAAAttB,MAAAn5B,GAAA4E,EAAA5E,EAGAq8E,GAAA1tD,EAAAjrB,MAAA+iD,EAAA1+C,MAGA,KAAA/H,IAAA4E,GACA6hD,EAAAttB,MAAAn5B,GAAAqnG,EAAArnG,EAGA,OAAAq8E,IAIAgM,GAAA//C,GAAA+/C,iBAIA,WAyFA,QAAAif,KACA,GAAA3Y,GAAA4Y,EACAlf,EAAA//C,GAAA+/C,eAGAA,GAAA35B,YAAAv+B,GAEAqzB,EAAArqB,MAAAif,QAIA,0IAOAovD,EAAAC,EAAAC,GAAA,EACAC,EAAAC,GAAA,EAGAhhG,EAAAihG,mBACAN,EAAA3gG,EAAAihG,iBAAArkD,GACAgkD,EAAsC,QAAtCD,OAAsC9yE,IACtCizE,EAA2C,SAA3CH,OAA2CO,WAC3CL,EAAwD,SAAxDF,IAAyCvzE,MAAA,QAAeA,MAIxDwvB,EAAArqB,MAAA4uE,YAAA,MACAJ,EAA6D,SAA7DJ,IAAwCQ,YAAA,QAAqBA,YAM7DpZ,EAAAnrC,EAAAkL,YAAApmB,GAAAkf,cAAA,QAGAmnC,EAAAx1D,MAAAif,QAAAoL,EAAArqB,MAAAif,QAIA,8HAEAu2C,EAAAx1D,MAAA4uE,YAAApZ,EAAAx1D,MAAAnF,MAAA,IACAwvB,EAAArqB,MAAAnF,MAAA,MAEA4zE,GACA99F,YAAAlD,EAAAihG,iBAAAlZ,QAA4DoZ,aAE5DvkD,EAAAgiC,YAAAmJ,IAWAnrC,EAAArqB,MAAAq9C,QAAA,OACAwxB,EAAA,IAAAxkD,EAAAykD,iBAAA/iG,OACA8iG,IACAxkD,EAAArqB,MAAAq9C,QAAA,GACAhzB,EAAAvL,UAAA,8CACAuL,EAAAzL,WAAA,GAAA5e,MAAA+uE,eAAA,WACAvZ,EAAAnrC,EAAAogC,qBAAA,MACA+K,EAAA,GAAAx1D,MAAAif,QAAA,4CACA4vD,EAAA,IAAArZ,EAAA,GAAAlF,gBAEAkF,EAAA,GAAAx1D,MAAAq9C,QAAA,GACAmY,EAAA,GAAAx1D,MAAAq9C,QAAA,OACAwxB,EAAA,IAAArZ,EAAA,GAAAlF,eAKApB,EAAA7C,YAAAr1D,GAxKA,GAAAq3E,GAAAG,EAAAF,EACAO,EAAAJ,EAAAF,EACAv3E,EAAAmY,GAAAkf,cAAA,OACAhE,EAAAlb,GAAAkf,cAAA,MAGAhE,GAAArqB,QAIAqqB,EAAArqB,MAAAif,QAAA,wBAIAqqC,GAAA6H,QAAA,QAAA9mC,EAAArqB,MAAAmxD,QAIA7H,GAAA0lB,WAAA3kD,EAAArqB,MAAAgvE,SAEA3kD,EAAArqB,MAAAivE,eAAA,cACA5kD,EAAAk9C,WAAA,GAAAvnE,MAAAivE,eAAA,GACA3lB,GAAA4lB,gBAAA,gBAAA7kD,EAAArqB,MAAAivE,eAEAj4E,EAAAmY,GAAAkf,cAAA,OACAr3B,EAAAgJ,MAAAif,QAAA,4FAEAoL,EAAAvL,UAAA,GACA9nB,EAAAu+B,YAAAlL,GAIAi/B,GAAAkH,UAAA,KAAAnmC,EAAArqB,MAAAwwD,WAAA,KAAAnmC,EAAArqB,MAAAmvE,cACA,KAAA9kD,EAAArqB,MAAAovE,gBAEAvwE,GAAAtyB,OAAA+8E,IACA+lB,sBAAA,WAIA,MAHA,OAAAhB,GACAF,IAEAU,GAGAle,kBAAA,WAOA,MAHA,OAAA0d,GACAF,IAEAG,GAGAgB,iBAAA,WAMA,MAHA,OAAAjB,GACAF,IAEAK,GAGAe,cAAA,WAIA,MAHA,OAAAlB,GACAF,IAEAE,GAGAmB,oBAAA,WAMA,MAHA,OAAAnB,GACAF,IAEAM,GAGAgB,mBAAA,WAMA,MAHA,OAAApB,GACAF,IAEAI,QA0FA,IAAAhe,IAAAE,GACAif,GAAA,2BAEAjiG,GAAAihG,kBACAne,GAAA,SAAAjjC,GAKA,GAAA7zC,GAAA6zC,EAAAk/B,cAAAkK,WAMA,OAJAj9E,MAAAk2F,SACAl2F,EAAAhM,GAGAgM,EAAAi1F,iBAAAphD,IAGAmjC,GAAA,SAAAnjC,EAAAzmD,EAAA+oG,GACA,GAAA/0E,GAAAg1E,EAAAC,EAAA5sB,EACAljD,EAAAstB,EAAAttB,KA2CA,OAzCA4vE,MAAArf,GAAAjjC,GAGA41B,EAAA0sB,IAAAG,iBAAAlpG,IAAA+oG,EAAA/oG,OAAAsI,GAKA,KAAA+zE,OAAA/zE,KAAA+zE,GAAArkD,GAAAlnB,SAAA21C,EAAAk/B,cAAAl/B,KACA41B,EAAArkD,GAAAmB,MAAAstB,EAAAzmD,IAGA+oG,IASAtmB,GAAAgmB,oBAAA5e,GAAAthF,KAAA8zE,IAAA8qB,GAAA5+F,KAAAvI,KAGAg0B,EAAAmF,EAAAnF,MACAg1E,EAAA7vE,EAAA6vE,SACAC,EAAA9vE,EAAA8vE,SAGA9vE,EAAA6vE,SAAA7vE,EAAA8vE,SAAA9vE,EAAAnF,MAAAqoD,EACAA,EAAA0sB,EAAA/0E,MAGAmF,EAAAnF,QACAmF,EAAA6vE,WACA7vE,EAAA8vE,gBAMA3gG,KAAA+zE,EACAA,EACAA,EAAA,KAECgM,GAAA8gB,eACDzf,GAAA,SAAAjjC,GACA,MAAAA,GAAA0iD,cAGAvf,GAAA,SAAAnjC,EAAAzmD,EAAA+oG,GACA,GAAAv0E,GAAA40E,EAAAC,EAAAhtB,EACAljD,EAAAstB,EAAAttB,KA2CA,OAzCA4vE,MAAArf,GAAAjjC,GACA41B,EAAA0sB,IAAA/oG,OAAAsI,GAIA,MAAA+zE,GAAAljD,KAAAn5B,KACAq8E,EAAAljD,EAAAn5B,IAYA6pF,GAAAthF,KAAA8zE,KAAAwsB,GAAAtgG,KAAAvI,KAGAw0B,EAAA2E,EAAA3E,KACA40E,EAAA3iD,EAAA6iD,aACAD,EAAAD,KAAA50E,KAGA60E,IACAD,EAAA50E,KAAAiyB,EAAA0iD,aAAA30E,MAEA2E,EAAA3E,KAAA,aAAAx0B,EAAA,MAAAq8E,EACAA,EAAAljD,EAAAowE,UAAA,KAGApwE,EAAA3E,OACA60E,IACAD,EAAA50E,KAAA60E,QAMA/gG,KAAA+zE,EACAA,EACAA,EAAA,YA2BA,IAEAmtB,IAAA,kBACAC,GAAA,yBAMAC,GAAA,4BACAxgB,GAAA,GAAAxlD,QAAA,KAAAy8D,GAAA,cAEAwJ,IAAYn0E,SAAA,WAAAo0E,WAAA,SAAApzB,QAAA,SACZqzB,IACAC,cAAA,IACAC,WAAA,OAGAlhB,IAAA,yBACAF,GAAArgD,GAAAkf,cAAA,OAAAruB,KAmLAnB,IAAAtyB,QAIAqmF,UACAzB,SACA/pF,IAAA,SAAAkmD,EAAAsiD,GACA,GAAAA,EAAA,CAGA,GAAA1sB,GAAAuN,GAAAnjC,EAAA,UACA,YAAA41B,EAAA,IAAAA,MAOA8G,WACA6mB,yBAAA,EACAC,aAAA,EACAC,aAAA,EACAC,UAAA,EACAC,YAAA,EACAL,YAAA,EACAM,YAAA,EACA/f,SAAA,EACAggB,OAAA,EACAC,SAAA,EACAC,QAAA,EACAC,QAAA,EACAhf,MAAA,GAKAif,UAGAj1E,MAAAgtD,GAAA0lB,SAAA,yBAIAhvE,MAAA,SAAAstB,EAAAzmD,EAAA0B,EAAA0nF,GAGA,GAAA3iC,GAAA,IAAAA,EAAAi6B,UAAA,IAAAj6B,EAAAi6B,UAAAj6B,EAAAttB,MAAA,CAKA,GAAAkjD,GAAAttE,EAAAu4C,EACAqjD,EAAA3yE,GAAAsqD,UAAAtiF,GACAm5B,EAAAstB,EAAAttB,KAUA,IARAn5B,EAAAg4B,GAAA0yE,SAAAC,KACA3yE,GAAA0yE,SAAAC,GAAAjiB,EAAAiiB,OAIArjD,EAAAtvB,GAAA+zD,SAAA/rF,IAAAg4B,GAAA+zD,SAAA4e,OAGAriG,KAAA5G,EA0CA,MAAA4lD,IAAA,OAAAA,QACAh/C,MAAA+zE,EAAA/0B,EAAA/mD,IAAAkmD,GAAA,EAAA2iC,IAEA/M,EAIAljD,EAAAn5B,EArCA,IAXA+O,QAAArN,GAGA,WAAAqN,IAAAstE,EAAAgH,GAAAzhE,KAAAlgB,KAAA26E,EAAA,KACA36E,EAAAihF,EAAAl8B,EAAAzmD,EAAAq8E,GAGAttE,EAAA,UAIA,MAAArN,WAKA,WAAAqN,IACArN,GAAA26E,KAAA,KAAArkD,GAAAmrD,UAAAwnB,GAAA,UAMAloB,GAAA4lB,iBAAA,KAAA3mG,GAAA,IAAA1B,EAAAwmB,QAAA,gBACA2S,EAAAn5B,GAAA,aAIAsnD,GAAA,OAAAA,QACAh/C,MAAA5G,EAAA4lD,EAAAn4C,IAAAs3C,EAAA/kD,EAAA0nF,MAIA,IACAjwD,EAAAn5B,GAAA0B,EACK,MAAAyH,OAiBLorB,IAAA,SAAAkyB,EAAAzmD,EAAAopF,EAAA1lC,GACA,GAAAkC,GAAA52C,EAAAs4C,EACAqjD,EAAA3yE,GAAAsqD,UAAAtiF,EA0BA,OAvBAA,GAAAg4B,GAAA0yE,SAAAC,KACA3yE,GAAA0yE,SAAAC,GAAAjiB,EAAAiiB,OAIArjD,EAAAtvB,GAAA+zD,SAAA/rF,IAAAg4B,GAAA+zD,SAAA4e,GAGArjD,GAAA,OAAAA,KACAt4C,EAAAs4C,EAAA/mD,IAAAkmD,GAAA,EAAA2iC,QAIA9gF,KAAA0G,IACAA,EAAA46E,GAAAnjC,EAAAzmD,EAAA0jD,IAIA,WAAA10C,GAAAhP,IAAA6pG,MACA76F,EAAA66F,GAAA7pG,IAIA,KAAAopF,MACAxjC,EAAA97C,WAAAkF,IACA,IAAAo6E,GAAAv8D,SAAA+4B,MAAA,EAAA52C,GAEAA,KAIAgpB,GAAA3nB,MAAA,2BAAA3Q,EAAAM,GACAg4B,GAAA+zD,SAAA/rF,IACAO,IAAA,SAAAkmD,EAAAsiD,EAAA3f,GACA,GAAA2f,EAIA,MAAAW,IAAAnhG,KAAAyvB,GAAAzD,IAAAkyB,EAAA,aACA,IAAAA,EAAAzJ,YACAoqD,GAAA3gD,EAAAkjD,GAAA,WACA,MAAApgB,GAAA9iC,EAAAzmD,EAAAopF,KAEAG,EAAA9iC,EAAAzmD,EAAAopF,IAIAj6E,IAAA,SAAAs3C,EAAA/kD,EAAA0nF,GACA,GAAA1lC,GAAA0lC,GAAAM,GAAAjjC,EACA,OAAAuiC,GAAAviC,EAAA/kD,EAAA0nF,EACAD,EACA1iC,EACAzmD,EACAopF,EACA3G,GAAAkH,WACA,eAAA3xD,GAAAzD,IAAAkyB,EAAA,eAAA/C,GACAA,GACA,OAMA++B,GAAA6H,UACAtyD,GAAA+zD,SAAAzB,SACA/pF,IAAA,SAAAkmD,EAAAsiD,GAGA,MAAAU,IAAAlhG,MAAAwgG,GAAAtiD,EAAA0iD,aACA1iD,EAAA0iD,aAAA98E,OACAo6B,EAAAttB,MAAA9M,SAAA,IACA,IAAAviB,WAAA45B,OAAAknE,IAAA,GACA7B,EAAA,QAGA55F,IAAA,SAAAs3C,EAAA/kD,GACA,GAAAy3B,GAAAstB,EAAAttB,MACAgwE,EAAA1iD,EAAA0iD,aACA7e,EAAAtyD,GAAA04D,UAAAhvF,GAAA,qBAAAA,EAAA,OACA2qB,EAAA88E,KAAA98E,QAAA8M,EAAA9M,QAAA,EAIA8M,GAAAsyD,KAAA,GAKA/pF,GAAA,QAAAA,IACA,KAAAs2B,GAAA9sB,KAAAmhB,EAAAhkB,QAAAmhG,GAAA,MACArwE,EAAAmtD,kBAKAntD,EAAAmtD,gBAAA,UAIA,KAAA5kF,GAAAynG,MAAA98E,UAMA8M,EAAA9M,OAAAm9E,GAAAjhG,KAAA8jB,GACAA,EAAAhkB,QAAAmhG,GAAAlf,GACAj+D,EAAA,IAAAi+D,MAKAtyD,GAAA+zD,SAAAgc,YAAAxf,EAAA9F,GAAAkmB,oBACA,SAAAliD,EAAAsiD,GACA,GAAAA,EACA,MAAA3B,IAAA3gD,GAAuB+vB,QAAA,gBACvBoT,IAAAnjC,EAAA,kBAKAzuB,GAAA+zD,SAAA+b,WAAAvf,EAAA9F,GAAAmmB,mBACA,SAAAniD,EAAAsiD,GACA,GAAAA,EACA,OACAj/F,WAAA8/E,GAAAnjC,EAAA,iBAMAzuB,GAAAlnB,SAAA21C,EAAAk/B,cAAAl/B,GACAA,EAAAokD,wBAAAr2E,KACA4yE,GAAA3gD,GAAmBqhD,WAAA,GAAgB,WACnC,MAAArhD,GAAAokD,wBAAAr2E,OAEA,IAEA,OAMAwD,GAAA3nB,MACAy6F,OAAA,GACAC,QAAA,GACAC,OAAA,SACC,SAAAx1D,EAAAy1D,GACDjzE,GAAA+zD,SAAAv2C,EAAAy1D,IACAjf,OAAA,SAAAtqF,GAOA,IANA,GAAAhC,GAAA,EACAuuD,KAGA5tB,EAAA,gBAAA3+B,KAAAkH,MAAA,MAAAlH,GAEUhC,EAAA,EAAOA,IACjBuuD,EAAAzY,EAAA8zC,GAAA5pF,GAAAurG,GACA5qE,EAAA3gC,IAAA2gC,EAAA3gC,EAAA,IAAA2gC,EAAA,EAGA,OAAA4tB,KAIAk5C,GAAA5+F,KAAAitC,KACAxd,GAAA+zD,SAAAv2C,EAAAy1D,GAAA97F,IAAA65E,KAIAhxD,GAAA1zB,GAAAoB,QACA6uB,IAAA,SAAAv0B,EAAA0B,GACA,MAAA0+F,IAAA/gG,KAAA,SAAAonD,EAAAzmD,EAAA0B,GACA,GAAAgiD,GAAAkS,EACA3kD,KACAvR,EAAA,CAEA,IAAAs4B,GAAA9nB,QAAAlQ,GAAA,CAIA,IAHA0jD,EAAAgmC,GAAAjjC,GACAmP,EAAA51D,EAAAkF,OAEWxF,EAAAk2D,EAASl2D,IACpBuR,EAAAjR,EAAAN,IAAAs4B,GAAAzD,IAAAkyB,EAAAzmD,EAAAN,IAAA,EAAAgkD,EAGA,OAAAzyC,GAGA,WAAA3I,KAAA5G,EACAs2B,GAAAmB,MAAAstB,EAAAzmD,EAAA0B,GACAs2B,GAAAzD,IAAAkyB,EAAAzmD,IACGA,EAAA0B,EAAAiC,UAAAuB,OAAA,IAEH+uB,KAAA,WACA,MAAA60D,GAAAzpF,MAAA,IAEAy0B,KAAA,WACA,MAAAg1D,GAAAzpF,OAEA2T,OAAA,SAAA0b,GACA,uBAAAA,GACAA,EAAArvB,KAAA40B,OAAA50B,KAAAy0B,OAGAz0B,KAAAgR,KAAA,WACA04E,GAAA1pF,MACA24B,GAAA34B,MAAA40B,OAEA+D,GAAA34B,MAAAy0B,YAUAkE,GAAA+xD,QAEAA,EAAAnpF,WACA6C,YAAAsmF,EACAjiD,KAAA,SAAA2e,EAAA7hD,EAAA6J,EAAA+hE,EAAAwZ,EAAAvoB,GACApiE,KAAAonD,OACApnD,KAAAoP,OACApP,KAAA2qF,UAAAhyD,GAAAgyD,OAAAhF,SACA3lF,KAAAuF,UACAvF,KAAAgvB,MAAAhvB,KAAA8qF,IAAA9qF,KAAAyhF,MACAzhF,KAAAmxE,MACAnxE,KAAAoiE,SAAAzpC,GAAAmrD,UAAA10E,GAAA,UAEAqyE,IAAA,WACA,GAAAx5B,GAAAyiC,EAAAmhB,UAAA7rG,KAAAoP,KAEA,OAAA64C,MAAA/mD,IACA+mD,EAAA/mD,IAAAlB,MACA0qF,EAAAmhB,UAAAlmB,SAAAzkF,IAAAlB,OAEAutF,IAAA,SAAAF,GACA,GAAAye,GACA7jD,EAAAyiC,EAAAmhB,UAAA7rG,KAAAoP,KAoBA,OAlBApP,MAAAuF,QAAA4nF,SACAntF,KAAAwiD,IAAAspD,EAAAnzE,GAAAgyD,OAAA3qF,KAAA2qF,QACA0C,EAAArtF,KAAAuF,QAAA4nF,SAAAE,EAAA,IAAArtF,KAAAuF,QAAA4nF,UAGAntF,KAAAwiD,IAAAspD,EAAAze,EAEArtF,KAAA8qF,KAAA9qF,KAAAmxE,IAAAnxE,KAAAgvB,OAAA88E,EAAA9rG,KAAAgvB,MAEAhvB,KAAAuF,QAAAmpC,MACA1uC,KAAAuF,QAAAmpC,KAAAnuC,KAAAP,KAAAonD,KAAApnD,KAAA8qF,IAAA9qF,MAGAioD,KAAAn4C,IACAm4C,EAAAn4C,IAAA9P,MAEA0qF,EAAAmhB,UAAAlmB,SAAA71E,IAAA9P,MAEAA,OAIA0qF,EAAAnpF,UAAAknC,KAAAlnC,UAAAmpF,EAAAnpF,UAEAmpF,EAAAmhB,WACAlmB,UACAzkF,IAAA,SAAAsiF,GACA,GAAA1uE,EAIA,YAAA0uE,EAAAp8B,KAAAi6B,UACA,MAAAmC,EAAAp8B,KAAAo8B,EAAAp0E,OAAA,MAAAo0E,EAAAp8B,KAAAttB,MAAA0pD,EAAAp0E,MACAo0E,EAAAp8B,KAAAo8B,EAAAp0E,OAOA0F,EAAA6jB,GAAAzD,IAAAsuD,EAAAp8B,KAAAo8B,EAAAp0E,KAAA,IAGA0F,GAAA,SAAAA,IAAA,IAEAhF,IAAA,SAAA0zE,GAIA7qD,GAAAo1D,GAAAr/C,KAAA80C,EAAAp0E,MACAupB,GAAAo1D,GAAAr/C,KAAA80C,EAAAp0E,MAAAo0E,GACI,IAAAA,EAAAp8B,KAAAi6B,UACJ,MAAAmC,EAAAp8B,KAAAttB,MAAAnB,GAAA0yE,SAAA7nB,EAAAp0E,SACAupB,GAAA+zD,SAAAlJ,EAAAp0E,MAGAo0E,EAAAp8B,KAAAo8B,EAAAp0E,MAAAo0E,EAAAsH,IAFAnyD,GAAAmB,MAAA0pD,EAAAp8B,KAAAo8B,EAAAp0E,KAAAo0E,EAAAsH,IAAAtH,EAAAphB,SAWAsoB,EAAAmhB,UAAAp2E,UAAAi1D,EAAAmhB,UAAAzG,YACAt1F,IAAA,SAAA0zE,GACAA,EAAAp8B,KAAAi6B,UAAAmC,EAAAp8B,KAAAugC,aACAnE,EAAAp8B,KAAAo8B,EAAAp0E,MAAAo0E,EAAAsH,OAKAnyD,GAAAgyD,QACAohB,OAAA,SAAAtqG,GACA,MAAAA,IAEAuqG,MAAA,SAAAvqG,GACA,SAAAgsB,KAAAw+E,IAAAxqG,EAAAgsB,KAAAy+E,IAAA,GAEAvmB,SAAA,SAGAhtD,GAAAo1D,GAAArD,EAAAnpF,UAAAknC,KAGA9P,GAAAo1D,GAAAr/C,OAKA,IACAm8C,IAAAshB,GACA7f,GAAA,yBACA8f,GAAA,aAuVAzzE,IAAAyyD,UAAAzyD,GAAAtyB,OAAA+kF,GAEAC,UACAghB,KAAA,SAAAj9F,EAAA/M,GACA,GAAAmhF,GAAAxjF,KAAAkrF,YAAA97E,EAAA/M,EAEA,OADAihF,GAAAE,EAAAp8B,KAAAh4C,EAAA40E,GAAAzhE,KAAAlgB,GAAAmhF,GACAA,KAIA8oB,QAAA,SAAA/sF,EAAA+P,GACAqJ,GAAAz1B,WAAAqc,IACA+P,EAAA/P,EACAA,GAAA,MAEAA,IAAAgL,MAAAo3D,GAOA,KAJA,GAAAvyE,GACA8a,EAAA,EACArkB,EAAA0Z,EAAA1Z,OAESqkB,EAAArkB,EAAiBqkB,IAC1B9a,EAAAmQ,EAAA2K,GACAkhE,EAAAC,SAAAj8E,GAAAg8E,EAAAC,SAAAj8E,OACAg8E,EAAAC,SAAAj8E,GAAA5E,QAAA8kB,IAIAu9D,YAAAvB,GAEAihB,UAAA,SAAAj9E,EAAAV,GACAA,EACAw8D,EAAAyB,WAAAriF,QAAA8kB,GAEA87D,EAAAyB,WAAArhF,KAAA8jB,MAKAqJ,GAAA6zE,MAAA,SAAAA,EAAA7hB,EAAA1lF,GACA,GAAAwnG,GAAAD,GAAA,gBAAAA,GAAA7zE,GAAAtyB,UAAiEmmG,IACjEve,SAAAhpF,OAAA0lF,GACAhyD,GAAAz1B,WAAAspG,MACArf,SAAAqf,EACA7hB,OAAA1lF,GAAA0lF,OAAAhyD,GAAAz1B,WAAAynF,MAyBA,OAtBA8hB,GAAAtf,SAAAx0D,GAAAo1D,GAAA7oF,IAAA,kBAAAunG,GAAAtf,SAAAsf,EAAAtf,SACAsf,EAAAtf,WAAAx0D,IAAAo1D,GAAA2e,OACA/zE,GAAAo1D,GAAA2e,OAAAD,EAAAtf,UAAAx0D,GAAAo1D,GAAA2e,OAAA/mB,SAGA,MAAA8mB,EAAA9gB,QAAA,IAAA8gB,EAAA9gB,QACA8gB,EAAA9gB,MAAA,MAIA8gB,EAAAzE,IAAAyE,EAAAxe,SAEAwe,EAAAxe,SAAA,WACAt1D,GAAAz1B,WAAAupG,EAAAzE,MACAyE,EAAAzE,IAAAznG,KAAAP,MAGAysG,EAAA9gB,OACAhzD,GAAA8nE,QAAAzgG,KAAAysG,EAAA9gB,QAIA8gB,GAGA9zE,GAAA1zB,GAAAoB,QACAsmG,OAAA,SAAAH,EAAAh3F,EAAAm1E,EAAAr7D,GAGA,MAAAtvB,MAAAgtB,OAAA08D,IAAAx0D,IAAA,aAAAN,OAGAu8C,MAAAt9D,SAAoBo3E,QAAAz1E,GAAcg3F,EAAA7hB,EAAAr7D,IAElCzb,QAAA,SAAAzE,EAAAo9F,EAAA7hB,EAAAr7D,GACA,GAAA5qB,GAAAi0B,GAAA4pD,cAAAnzE,GACAw9F,EAAAj0E,GAAA6zE,QAAA7hB,EAAAr7D,GACAu9E,EAAA,WAGA,GAAArhB,GAAAJ,EAAAprF,KAAA24B,GAAAtyB,UAAiD+I,GAAAw9F,IAGjDloG,GAAAi0B,GAAAisD,MAAA5kF,KAAA,YACAwrF,EAAA77C,MAAA,GAKA,OAFAk9D,GAAA9mC,OAAA8mC,EAEAnoG,IAAA,IAAAkoG,EAAAjhB,MACA3rF,KAAAgR,KAAA67F,GACA7sG,KAAA2rF,MAAAihB,EAAAjhB,MAAAkhB,IAEAl9D,KAAA,SAAAjgC,EAAAixF,EAAA/S,GACA,GAAAkf,GAAA,SAAA7kD,GACA,GAAAtY,GAAAsY,EAAAtY,WACAsY,GAAAtY,KACAA,EAAAi+C,GAYA,OATA,gBAAAl+E,KACAk+E,EAAA+S,EACAA,EAAAjxF,EACAA,MAAAzG,IAEA03F,IAAA,IAAAjxF,GACA1P,KAAA2rF,MAAAj8E,GAAA,SAGA1P,KAAAgR,KAAA,WACA,GAAAyvF,IAAA,EACAv2E,EAAA,MAAAxa,KAAA,aACAq9F,EAAAp0E,GAAAo0E,OACAtpG,EAAAk1B,GAAAisD,MAAA5kF,KAEA,IAAAkqB,EACAzmB,EAAAymB,IAAAzmB,EAAAymB,GAAAylB,MACAm9D,EAAArpG,EAAAymB,QAGA,KAAAA,IAAAzmB,GACAA,EAAAymB,IAAAzmB,EAAAymB,GAAAylB,MAAAy8D,GAAAljG,KAAAghB,IACA4iF,EAAArpG,EAAAymB,GAKA,KAAAA,EAAA6iF,EAAAlnG,OAA+BqkB,KAC/B6iF,EAAA7iF,GAAAk9B,OAAApnD,MACA,MAAA0P,GAAAq9F,EAAA7iF,GAAAyhE,QAAAj8E,IAEAq9F,EAAA7iF,GAAAshE,KAAA77C,KAAAi+C,GACA6S,GAAA,EACAsM,EAAAx6E,OAAArI,EAAA,KAOAu2E,GAAA7S,GACAj1D,GAAA8nE,QAAAzgG,KAAA0P,MAIAq2D,OAAA,SAAAr2D,GAIA,OAHA,IAAAA,IACAA,KAAA,MAEA1P,KAAAgR,KAAA,WACA,GAAAkZ,GACAzmB,EAAAk1B,GAAAisD,MAAA5kF,MACA2rF,EAAAloF,EAAAiM,EAAA,SACAu4C,EAAAxkD,EAAAiM,EAAA,cACAq9F,EAAAp0E,GAAAo0E,OACAlnG,EAAA8lF,IAAA9lF,OAAA,CAaA,KAVApC,EAAAsiE,QAAA,EAGAptC,GAAAgzD,MAAA3rF,KAAA0P,MAEAu4C,KAAAtY,MACAsY,EAAAtY,KAAApvC,KAAAP,MAAA,GAIAkqB,EAAA6iF,EAAAlnG,OAA+BqkB,KAC/B6iF,EAAA7iF,GAAAk9B,OAAApnD,MAAA+sG,EAAA7iF,GAAAyhE,QAAAj8E,IACAq9F,EAAA7iF,GAAAshE,KAAA77C,MAAA,GACAo9D,EAAAx6E,OAAArI,EAAA,GAKA,KAAAA,EAAA,EAAmBA,EAAArkB,EAAgBqkB,IACnCyhE,EAAAzhE,IAAAyhE,EAAAzhE,GAAA67C,QACA4lB,EAAAzhE,GAAA67C,OAAAxlE,KAAAP,YAKAyD,GAAAsiE,YAKAptC,GAAA3nB,MAAA,iCAAA3Q,EAAAM,GACA,GAAAqsG,GAAAr0E,GAAA1zB,GAAAtE,EACAg4B,IAAA1zB,GAAAtE,GAAA,SAAA6rG,EAAA7hB,EAAAr7D,GACA,aAAAk9E,GAAA,iBAAAA,GACAQ,EAAA3oG,MAAArE,KAAAsE,WACAtE,KAAA6T,QAAAk3E,EAAApqF,GAAA,GAAA6rG,EAAA7hB,EAAAr7D,MAKAqJ,GAAA3nB,MACAo0C,UAAA2lC,EAAA,QACA9kC,QAAA8kC,EAAA,QACAkiB,YAAAliB,EAAA,UACAmiB,QAAUjiB,QAAA,QACV/zE,SAAW+zE,QAAA,QACXkiB,YAAcliB,QAAA,WACb,SAAAtqF,EAAA4e,GACDoZ,GAAA1zB,GAAAtE,GAAA,SAAA6rG,EAAA7hB,EAAAr7D,GACA,MAAAtvB,MAAA6T,QAAA0L,EAAAitF,EAAA7hB,EAAAr7D,MAIAqJ,GAAAo0E,UACAp0E,GAAAo1D,GAAAhB,KAAA,WACA,GAAAiB,GACA+e,EAAAp0E,GAAAo0E,OACA1sG,EAAA,CAIA,KAFAwqF,GAAAlyD,GAAAmyD,MAEQzqF,EAAA0sG,EAAAlnG,OAAmBxF,KAC3B2tF,EAAA+e,EAAA1sG,OAGA0sG,EAAA1sG,KAAA2tF,GACA+e,EAAAx6E,OAAAlyB,IAAA,EAIA0sG,GAAAlnG,QACA8yB,GAAAo1D,GAAAp+C,OAEAk7C,OAAA5hF,IAGA0vB,GAAAo1D,GAAAC,MAAA,SAAAA,GACAr1D,GAAAo0E,OAAAvhG,KAAAwiF,GACAA,IACAr1D,GAAAo1D,GAAA/+D,QAEA2J,GAAAo0E,OAAAnsF,OAIA+X,GAAAo1D,GAAAqf,SAAA,GAEAz0E,GAAAo1D,GAAA/+D,MAAA,WACAm9E,KACAA,GAAA5kG,EAAA6I,YAAAuoB,GAAAo1D,GAAAhB,KAAAp0D,GAAAo1D,GAAAqf,YAIAz0E,GAAAo1D,GAAAp+C,KAAA,WACApoC,EAAA4I,cAAAg8F,IACAA,GAAA,MAGAxzE,GAAAo1D,GAAA2e,QACAW,KAAA,IACAC,KAAA,IAGA3nB,SAAA,KAMAhtD,GAAA1zB,GAAAgS,MAAA,SAAA1K,EAAAmD,GAIA,MAHAnD,GAAAosB,GAAAo1D,GAAAp1D,GAAAo1D,GAAA2e,OAAAngG,QACAmD,KAAA,KAEA1P,KAAA2rF,MAAAj8E,EAAA,SAAAsmB,EAAAiyB,GACA,GAAAmV,GAAA71D,EAAAyI,WAAAgmB,EAAAzpB,EACA07C,GAAAtY,KAAA,WACApoC,EAAA2I,aAAAktD,OAMA,WACA,GAAAz6D,GACAiO,EAAAq4B,GAAAkf,cAAA,SACAhE,EAAAlb,GAAAkf,cAAA,OACAzzB,EAAAuU,GAAAkf,cAAA,UACAskD,EAAA/3E,EAAA26B,YAAApmB,GAAAkf,cAAA,UAGAhE,GAAAlb,GAAAkf,cAAA,OACAhE,EAAA+K,aAAA,iBACA/K,EAAAvL,UAAA,qEACAj2C,EAAAwhD,EAAAogC,qBAAA,QAIA3zE,EAAAs+C,aAAA,mBACA/K,EAAAkL,YAAAz+C,GAEAjO,EAAAwhD,EAAAogC,qBAAA,QAGA5hF,EAAAm3B,MAAAif,QAAA,UAIAqqC,GAAAmqB,gBAAA,MAAAppD,EAAAt1C,UAIAu0E,GAAAtpD,MAAA,MAAA5wB,KAAAvG,EAAA4sC,aAAA,UAIA6zC,GAAAoqB,eAAA,OAAA7qG,EAAA4sC,aAAA,QAGA6zC,GAAAqqB,UAAA78F,EAAAvO,MAIA+gF,GAAAsqB,YAAAjB,EAAA5zD,SAGAuqC,GAAAuqB,UAAA1kE,GAAAkf,cAAA,QAAAwlD,QAIAj5E,EAAAzlB,UAAA,EACAm0E,GAAAwqB,aAAAnB,EAAAx9F,SAIA2B,EAAAq4B,GAAAkf,cAAA,SACAv3C,EAAAs+C,aAAA,YACAk0B,GAAAxyE,MAAA,KAAAA,EAAA2+B,aAAA,SAGA3+B,EAAAvO,MAAA,IACAuO,EAAAs+C,aAAA,gBACAk0B,GAAAyqB,WAAA,MAAAj9F,EAAAvO,QAIA,IAAAyrG,IAAA,MACAC,GAAA,kBAEAp1E,IAAA1zB,GAAAoB,QACAsJ,IAAA,SAAAtN,GACA,GAAA4lD,GAAA+0B,EAAA95E,EACAkkD,EAAApnD,KAAA,EAEA,KAAAsE,UAAAuB,OA6BA,MAFA3C,GAAAy1B,GAAAz1B,WAAAb,GAEArC,KAAAgR,KAAA,SAAA3Q,GACA,GAAAsP,EAEA,KAAA3P,KAAAqhF,WAKA1xE,EADAzM,EACAb,EAAA9B,KAAAP,KAAAK,EAAAs4B,GAAA34B,MAAA2P,OAEAtN,EAIA,MAAAsN,EACAA,EAAA,GACI,gBAAAA,GACJA,GAAA,GACIgpB,GAAA9nB,QAAAlB,KACJA,EAAAgpB,GAAA/mB,IAAAjC,EAAA,SAAAtN,GACA,aAAAA,EAAA,GAAAA,EAAA,OAIA4lD,EAAAtvB,GAAA0vB,SAAAroD,KAAA0P,OAAAipB,GAAA0vB,SAAAroD,KAAAi4C,SAAArV,iBAGA,OAAAqlB,QAAAh/C,KAAAg/C,EAAAn4C,IAAA9P,KAAA2P,EAAA,WACA3P,KAAAqC,MAAAsN,KAxDA,IAAAy3C,EAIA,OAHAa,EAAAtvB,GAAA0vB,SAAAjB,EAAA13C,OACAipB,GAAA0vB,SAAAjB,EAAAnP,SAAArV,iBAIA,OAAAqlB,QACAh/C,MAAA+zE,EAAA/0B,EAAA/mD,IAAAkmD,EAAA,UAEA41B,GAGAA,EAAA51B,EAAA/kD,MAEA,gBAAA26E,GAGAA,EAAAh0E,QAAA8kG,GAAA,IAGA,MAAA9wB,EAAA,GAAAA,OA0CArkD,GAAAtyB,QACAgiD,UACAvxB,QACA51B,IAAA,SAAAkmD,GACA,GAAAz3C,GAAAgpB,GAAAvhB,KAAA5S,KAAA4iD,EAAA,QACA,cAAAz3C,EACAA,EAMAgpB,GAAA9sB,KAAA8sB,GAAA3xB,KAAAogD,IAAAp+C,QAAA+kG,GAAA,OAGAr5E,QACAxzB,IAAA,SAAAkmD,GAYA,IAXA,GAAA/kD,GAAAy0B,EACAvxB,EAAA6hD,EAAA7hD,QACA2kB,EAAAk9B,EAAA5I,cACA3oC,EAAA,eAAAuxC,EAAA13C,MAAAwa,EAAA,EACAjL,EAAApJ,EAAA,QACA6U,EAAA7U,EAAAqU,EAAA,EAAA3kB,EAAAM,OACAxF,EAAA6pB,EAAA,EACAQ,EACA7U,EAAAqU,EAAA,EAGW7pB,EAAAqqB,EAASrqB,IAIpB,GAHAy2B,EAAAvxB,EAAAlF,IAGAy2B,EAAA+hB,UAAAx4C,IAAA6pB,KAGAk5D,GAAAwqB,aACA92E,EAAA7nB,SACA,OAAA6nB,EAAAyY,aAAA,gBACAzY,EAAA6wD,WAAA14E,WACA0pB,GAAAsf,SAAAnhB,EAAA6wD,WAAA,cAMA,GAHAtlF,EAAAs2B,GAAA7B,GAAAnnB,MAGAkG,EACA,MAAAxT,EAIA4c,GAAAzT,KAAAnJ,GAIA,MAAA4c,IAGAnP,IAAA,SAAAs3C,EAAA/kD,GAMA,IALA,GAAA2rG,GAAAl3E,EACAvxB,EAAA6hD,EAAA7hD,QACA0Z,EAAA0Z,GAAA84D,UAAApvF,GACAhC,EAAAkF,EAAAM,OAEAxF,KAGA,GAFAy2B,EAAAvxB,EAAAlF,GAEAs4B,GAAA4oD,QAAA5oD,GAAA0vB,SAAAvxB,OAAA51B,IAAA41B,GAAA7X,IAAA,EAMA,IACA6X,EAAA+hB,SAAAm1D,GAAA,EAEO,MAAAtrG,GAGPo0B,EAAAm3E,iBAIAn3E,GAAA+hB,UAAA,CASA,OAJAm1D,KACA5mD,EAAA5I,eAAA,GAGAj5C,OAOAozB,GAAA3nB,MAAA,+BACA2nB,GAAA0vB,SAAAroD,OACA8P,IAAA,SAAAs3C,EAAA/kD,GACA,GAAAs2B,GAAA9nB,QAAAxO,GACA,MAAA+kD,GAAA49B,QAAArsD,GAAA4oD,QAAA5oD,GAAAyuB,GAAAz3C,MAAAtN,IAAA,IAIA+gF,GAAAqqB,UACA90E,GAAA0vB,SAAAroD,MAAAkB,IAAA,SAAAkmD,GACA,cAAAA,EAAA7X,aAAA,cAAA6X,EAAA/kD,SAQA,IAAA6rG,IAAAC,GACA3a,GAAA76D,GAAAkiE,KAAArH,WACA4a,GAAA,0BACAb,GAAAnqB,GAAAmqB,gBACAc,GAAAjrB,GAAAxyE,KAEA+nB,IAAA1zB,GAAAoB,QACA7B,KAAA,SAAA7D,EAAA0B,GACA,MAAA0+F,IAAA/gG,KAAA24B,GAAAn0B,KAAA7D,EAAA0B,EAAAiC,UAAAuB,OAAA,IAGAowB,WAAA,SAAAt1B,GACA,MAAAX,MAAAgR,KAAA,WACA2nB,GAAA1C,WAAAj2B,KAAAW,QAKAg4B,GAAAtyB,QACA7B,KAAA,SAAA4iD,EAAAzmD,EAAA0B,GACA,GAAA26E,GAAA/0B,EACAqmD,EAAAlnD,EAAAi6B,QAGA,QAAAitB,GAAA,IAAAA,GAAA,IAAAA,EAKA,gBAAAlnD,EAAA7X,aACA5W,GAAAvpB,KAAAg4C,EAAAzmD,EAAA0B,IAKA,IAAAisG,GAAA31E,GAAA4kE,SAAAn2C,KACAzmD,IAAAiiC,cACAqlB,EAAAtvB,GAAA41E,UAAA5tG,KACAg4B,GAAAkiE,KAAAtwE,MAAA7W,KAAAxK,KAAAvI,GAAAwtG,GAAAD,SAGAjlG,KAAA5G,EACA,OAAAA,MACAs2B,IAAA1C,WAAAmxB,EAAAzmD,GAIAsnD,GAAA,OAAAA,QACAh/C,MAAA+zE,EAAA/0B,EAAAn4C,IAAAs3C,EAAA/kD,EAAA1B,IACAq8E,GAGA51B,EAAA8H,aAAAvuD,EAAA0B,EAAA,IACAA,GAGA4lD,GAAA,OAAAA,IAAA,QAAA+0B,EAAA/0B,EAAA/mD,IAAAkmD,EAAAzmD,IACAq8E,GAGAA,EAAArkD,GAAAvhB,KAAA5S,KAAA4iD,EAAAzmD,GAGA,MAAAq8E,MAAA/zE,GAAA+zE,KAGAuxB,WACA7+F,MACAI,IAAA,SAAAs3C,EAAA/kD,GACA,IAAA+gF,GAAAyqB,YAAA,UAAAxrG,GACAs2B,GAAAsf,SAAAmP,EAAA,UAIA,GAAAz3C,GAAAy3C,EAAA/kD,KAKA,OAJA+kD,GAAA8H,aAAA,OAAA7sD,GACAsN,IACAy3C,EAAA/kD,MAAAsN,GAEAtN,MAMA4zB,WAAA,SAAAmxB,EAAA/kD,GACA,GAAA1B,GAAAglC,EACAtlC,EAAA,EACAmuG,EAAAnsG,KAAAkoB,MAAAo3D,GAEA,IAAA6sB,GAAA,IAAApnD,EAAAi6B,SACA,KAAA1gF,EAAA6tG,EAAAnuG,MACAslC,EAAAhN,GAAA81E,QAAA9tG,MAGAg4B,GAAAkiE,KAAAtwE,MAAA7W,KAAAxK,KAAAvI,GAGA0tG,IAAAd,KAAAa,GAAAllG,KAAAvI,GACAymD,EAAAzhB,IAAA,EAKAyhB,EAAAzuB,GAAAsqD,UAAA,WAAAtiF,IACAymD,EAAAzhB,IAAA,EAKAhN,GAAAn0B,KAAA4iD,EAAAzmD,EAAA,IAGAymD,EAAA6/B,gBAAAsmB,GAAA5sG,EAAAglC,MAOAwoE,IACAr+F,IAAA,SAAAs3C,EAAA/kD,EAAA1B,GAgBA,OAfA,IAAA0B,EAGAs2B,GAAA1C,WAAAmxB,EAAAzmD,GACG0tG,IAAAd,KAAAa,GAAAllG,KAAAvI,GAGHymD,EAAA8H,cAAAq+C,IAAA50E,GAAA81E,QAAA9tG,SAMAymD,EAAAzuB,GAAAsqD,UAAA,WAAAtiF,IAAAymD,EAAAzmD,IAAA,EAEAA,IAIAg4B,GAAA3nB,KAAA2nB,GAAAkiE,KAAAtwE,MAAA7W,KAAAlQ,OAAA+mB,MAAA,iBAAAlqB,EAAAM,GACA,GAAAC,GAAA4yF,GAAA7yF,IAAAg4B,GAAAvhB,KAAA5S,IAEA6pG,KAAAd,KAAAa,GAAAllG,KAAAvI,GACA6yF,GAAA7yF,GAAA,SAAAymD,EAAAzmD,EAAA22F,GACA,GAAAta,GAAAuK,CAWA,OAVA+P,KAGA/P,EAAAiM,GAAA7yF,GACA6yF,GAAA7yF,GAAAq8E,EACAA,EAAA,MAAAp8E,EAAAwmD,EAAAzmD,EAAA22F,GACA32F,EAAAiiC,cACA,KACA4wD,GAAA7yF,GAAA4mF,GAEAvK,GAGAwW,GAAA7yF,GAAA,SAAAymD,EAAAzmD,EAAA22F,GACA,IAAAA,EACA,MAAAlwC,GAAAzuB,GAAAsqD,UAAA,WAAAtiF,IACAA,EAAAiiC,cACA,QAOAyrE,IAAAd,KACA50E,GAAA41E,UAAAlsG,OACAyN,IAAA,SAAAs3C,EAAA/kD,EAAA1B,GACA,IAAAg4B,GAAAsf,SAAAmP,EAAA,SAOA,MAAA8mD,QAAAp+F,IAAAs3C,EAAA/kD,EAAA1B,EAJAymD,GAAApkD,aAAAX,KAWAkrG,KAIAW,IACAp+F,IAAA,SAAAs3C,EAAA/kD,EAAA1B,GAGA,GAAAq8E,GAAA51B,EAAA0yC,iBAAAn5F,EAUA,IATAq8E,GACA51B,EAAAsnD,iBACA1xB,EAAA51B,EAAAk/B,cAAAqoB,gBAAAhuG,IAIAq8E,EAAA36E,SAAA,GAGA,UAAA1B,GAAA0B,IAAA+kD,EAAA7X,aAAA5uC,GACA,MAAA0B,KAMAmxF,GAAA/uF,GAAA+uF,GAAA7yF,KAAA6yF,GAAAob,OACA,SAAAxnD,EAAAzmD,EAAA22F,GACA,GAAAta,EACA,KAAAsa,EACA,OAAAta,EAAA51B,EAAA0yC,iBAAAn5F,KAAA,KAAAq8E,EAAA36E,MACA26E,EAAA36E,MACA,MAKAs2B,GAAA0vB,SAAAq0C,QACAx7F,IAAA,SAAAkmD,EAAAzmD,GACA,GAAAq8E,GAAA51B,EAAA0yC,iBAAAn5F,EACA,IAAAq8E,KAAAz1B,UACA,MAAAy1B,GAAA36E,OAGAyN,IAAAo+F,GAAAp+F,KAKA6oB,GAAA41E,UAAAM,iBACA/+F,IAAA,SAAAs3C,EAAA/kD,EAAA1B,GACAutG,GAAAp+F,IAAAs3C,EAAA,KAAA/kD,KAAA1B,KAMAg4B,GAAA3nB,MAAA,2BAAA3Q,EAAAM,GACAg4B,GAAA41E,UAAA5tG,IACAmP,IAAA,SAAAs3C,EAAA/kD,GACA,QAAAA,EAEA,MADA+kD,GAAA8H,aAAAvuD,EAAA,QACA0B,OAOA+gF,GAAAtpD,QACAnB,GAAA41E,UAAAz0E,OACA54B,IAAA,SAAAkmD,GAKA,MAAAA,GAAAttB,MAAAif,aAAA9vC,IAEA6G,IAAA,SAAAs3C,EAAA/kD,GACA,MAAA+kD,GAAAttB,MAAAif,QAAA12C,EAAA,KAQA,IAAAysG,IAAA,6CACAC,GAAA,eAEAp2E,IAAA1zB,GAAAoB,QACA+I,KAAA,SAAAzO,EAAA0B,GACA,MAAA0+F,IAAA/gG,KAAA24B,GAAAvpB,KAAAzO,EAAA0B,EAAAiC,UAAAuB,OAAA,IAGAmpG,WAAA,SAAAruG,GAEA,MADAA,GAAAg4B,GAAA81E,QAAA9tG,MACAX,KAAAgR,KAAA,WAGA,IACAhR,KAAAW,OAAAsI,SACAjJ,MAAAW,GACI,MAAAmJ,UAKJ6uB,GAAAtyB,QACA+I,KAAA,SAAAg4C,EAAAzmD,EAAA0B,GACA,GAAA26E,GAAA/0B,EACAqmD,EAAAlnD,EAAAi6B,QAGA,QAAAitB,GAAA,IAAAA,GAAA,IAAAA,EAWA,MAPA,KAAAA,GAAA31E,GAAA4kE,SAAAn2C,KAGAzmD,EAAAg4B,GAAA81E,QAAA9tG,MACAsnD,EAAAtvB,GAAAkzE,UAAAlrG,QAGAsI,KAAA5G,EACA4lD,GAAA,OAAAA,QACAh/C,MAAA+zE,EAAA/0B,EAAAn4C,IAAAs3C,EAAA/kD,EAAA1B,IACAq8E,EAGA51B,EAAAzmD,GAAA0B,EAGA4lD,GAAA,OAAAA,IAAA,QAAA+0B,EAAA/0B,EAAA/mD,IAAAkmD,EAAAzmD,IACAq8E,EAGA51B,EAAAzmD,IAGAkrG,WACApP,UACAv7F,IAAA,SAAAkmD,GAMA,GAAA6nD,GAAAt2E,GAAAvhB,KAAA5S,KAAA4iD,EAAA,WAEA,OAAA6nD,GACAnkG,SAAAmkG,EAAA,IACAH,GAAA5lG,KAAAk+C,EAAAnP,WACA82D,GAAA7lG,KAAAk+C,EAAAnP,WAAAmP,EAAAz2C,KACA,GACA,KAKA89F,SACAS,IAAA,UACAtwD,MAAA,eAMAwkC,GAAAoqB,gBAGA70E,GAAA3nB,MAAA,uBAAA3Q,EAAAM,GACAg4B,GAAAkzE,UAAAlrG,IACAO,IAAA,SAAAkmD,GACA,MAAAA,GAAA7X,aAAA5uC,EAAA,OAYAyiF,GAAAsqB,cACA/0E,GAAAkzE,UAAAhzD,UACA33C,IAAA,SAAAkmD,GACA,GAAAlxC,GAAAkxC,EAAAugC,UAUA,OARAzxE,KACAA,EAAAsoC,cAGAtoC,EAAAyxE,YACAzxE,EAAAyxE,WAAAnpC,eAGA,MAEA1uC,IAAA,SAAAs3C,GACA,GAAAlxC,GAAAkxC,EAAAugC,UACAzxE,KACAA,EAAAsoC,cAEAtoC,EAAAyxE,YACAzxE,EAAAyxE,WAAAnpC,kBAOA7lB,GAAA3nB,MACA,WACA,WACA,YACA,cACA,cACA,UACA,UACA,SACA,cACA,mBACA,WACA2nB,GAAA81E,QAAAzuG,KAAA4iC,eAAA5iC,OAIAojF,GAAAuqB,UACAh1E,GAAA81E,QAAAd,QAAA,WAMA,IAAAwB,IAAA,aAMAx2E,IAAA1zB,GAAAoB,QACAiJ,SAAA,SAAAjN,GACA,GAAA03B,GAAAqtB,EAAAq6B,EAAA2tB,EAAAC,EAAA9tE,EAAA+tE,EACAjvG,EAAA,CAEA,IAAAs4B,GAAAz1B,WAAAb,GACA,MAAArC,MAAAgR,KAAA,SAAAuwB,GACA5I,GAAA34B,MAAAsP,SAAAjN,EAAA9B,KAAAP,KAAAuhC,EAAA2sD,EAAAluF,SAIA,oBAAAqC,MAGA,IAFA03B,EAAA13B,EAAAkoB,MAAAo3D,QAEAv6B,EAAApnD,KAAAK,MAKA,GAJA+uG,EAAAlhB,EAAA9mC,GACAq6B,EAAA,IAAAr6B,EAAAi6B,WACA,IAAA+tB,EAAA,KAAApmG,QAAAmmG,GAAA,KAEA,CAEA,IADA5tE,EAAA,EACA8tE,EAAAt1E,EAAAwH,MACAkgD,EAAAt6D,QAAA,IAAAkoF,EAAA,SACA5tB,GAAA4tB,EAAA,IAKAC,GAAA32E,GAAA9sB,KAAA41E,GACA2tB,IAAAE,GACA32E,GAAAn0B,KAAA4iD,EAAA,QAAAkoD,GAMA,MAAAtvG,OAGAwP,YAAA,SAAAnN,GACA,GAAA03B,GAAAqtB,EAAAq6B,EAAA2tB,EAAAC,EAAA9tE,EAAA+tE,EACAjvG,EAAA,CAEA,IAAAs4B,GAAAz1B,WAAAb,GACA,MAAArC,MAAAgR,KAAA,SAAAuwB,GACA5I,GAAA34B,MAAAwP,YAAAnN,EAAA9B,KAAAP,KAAAuhC,EAAA2sD,EAAAluF,SAIA,KAAAsE,UAAAuB,OACA,MAAA7F,MAAAwE,KAAA,WAGA,oBAAAnC,MAGA,IAFA03B,EAAA13B,EAAAkoB,MAAAo3D,QAEAv6B,EAAApnD,KAAAK,MAOA,GANA+uG,EAAAlhB,EAAA9mC,GAGAq6B,EAAA,IAAAr6B,EAAAi6B,WACA,IAAA+tB,EAAA,KAAApmG,QAAAmmG,GAAA,KAEA,CAEA,IADA5tE,EAAA,EACA8tE,EAAAt1E,EAAAwH,MAGA,KAAAkgD,EAAAt6D,QAAA,IAAAkoF,EAAA,SACA5tB,IAAAz4E,QAAA,IAAAqmG,EAAA,QAKAC,GAAA32E,GAAA9sB,KAAA41E,GACA2tB,IAAAE,GACA32E,GAAAn0B,KAAA4iD,EAAA,QAAAkoD,GAMA,MAAAtvG,OAGA8nC,YAAA,SAAAzlC,EAAAktG,GACA,GAAA7/F,SAAArN,EAEA,wBAAAktG,IAAA,WAAA7/F,EACA6/F,EAAAvvG,KAAAsP,SAAAjN,GAAArC,KAAAwP,YAAAnN,GAGAs2B,GAAAz1B,WAAAb,GACArC,KAAAgR,KAAA,SAAA3Q,GACAs4B,GAAA34B,MAAA8nC,YACAzlC,EAAA9B,KAAAP,KAAAK,EAAA6tF,EAAAluF,MAAAuvG,GACAA,KAKAvvG,KAAAgR,KAAA,WACA,GAAAnC,GAAAxO,EAAAN,EAAAyvG,CAEA,eAAA9/F,EAOA,IAJArP,EAAA,EACAN,EAAA44B,GAAA34B,MACAwvG,EAAAntG,EAAAkoB,MAAAo3D,QAEA9yE,EAAA2gG,EAAAnvG,MAGAN,EAAA0sC,SAAA59B,GACA9O,EAAAyP,YAAAX,GAEA9O,EAAAuP,SAAAT,YAKI5F,KAAA5G,GAAA,YAAAqN,IACJb,EAAAq/E,EAAAluF,MACA6O,GAGA8pB,GAAAisD,MAAA5kF,KAAA,gBAAA6O,GAOA8pB,GAAAn0B,KAAAxE,KAAA,QACA6O,IAAA,IAAAxM,EACA,GACAs2B,GAAAisD,MAAA5kF,KAAA,0BAMAysC,SAAA,SAAAja,GACA,GAAA3jB,GAAAu4C,EACA/mD,EAAA,CAGA,KADAwO,EAAA,IAAA2jB,EAAA,IACA40B,EAAApnD,KAAAK,MACA,OAAA+mD,EAAAi6B,WACA,IAAA6M,EAAA9mC,GAAA,KAAAp+C,QAAAmmG,GAAA,KACAhoF,QAAAtY,IAAA,EAEA,QAIA,aAUA8pB,GAAA3nB,KAAA,0MAEAzH,MAAA,KACA,SAAAlJ,EAAAM,GAGAg4B,GAAA1zB,GAAAtE,GAAA,SAAA8C,EAAAwB,GACA,MAAAX,WAAAuB,OAAA,EACA7F,KAAAqV,GAAA1U,EAAA,KAAA8C,EAAAwB,GACAjF,KAAA+E,QAAApE,MAIAg4B,GAAA1zB,GAAAoB,QACA4yB,MAAA,SAAAw2E,EAAAC,GACA,MAAA1vG,MAAAu/C,WAAAkwD,GAAAjwD,WAAAkwD,GAAAD,KAKA,IAAAzuF,IAAAzZ,EAAAyZ,SAEA2uF,GAAAh3E,GAAAmyD,MAEA8kB,GAAA,KAIAC,GAAA,kIAEAl3E,IAAA0pD,UAAA,SAAA5+E,GAGA,GAAA8D,EAAAF,MAAAE,EAAAF,KAAAC,MAIA,MAAAC,GAAAF,KAAAC,MAAA7D,EAAA,GAGA,IAAAqsG,GACAC,EAAA,KACA5oG,EAAAwxB,GAAA9sB,KAAApI,EAAA,GAIA,OAAA0D,KAAAwxB,GAAA9sB,KAAA1E,EAAA6B,QAAA6mG,GAAA,SAAA/+C,EAAAk/C,EAAA34B,EAAAE,GAQA,MALAu4B,IAAAE,IACAD,EAAA,GAIA,IAAAA,EACAj/C,GAIAg/C,EAAAz4B,GAAA24B,EAMAD,IAAAx4B,GAAAF,EAGA,OAEA/sB,SAAA,UAAAnjD,KACAwxB,GAAA7rB,MAAA,iBAAArJ,IAKAk1B,GAAAs3E,SAAA,SAAAxsG,GACA,GAAA+wF,GAAAnP,CACA,KAAA5hF,GAAA,gBAAAA,GACA,WAEA,KACA8D,EAAA2oG,WACA7qB,EAAA,GAAA99E,GAAA2oG,UACA1b,EAAAnP,EAAA8qB,gBAAA1sG,EAAA,cAEA+wF,EAAA,GAAAjtF,GAAA+oF,cAAA,oBACAkE,EAAAj8B,MAAA,QACAi8B,EAAA4b,QAAA3sG,IAEE,MAAAqG,GACF0qF,MAAAvrF,GAKA,MAHAurF,MAAAxL,kBAAAwL,EAAAjQ,qBAAA,eAAA1+E,QACA8yB,GAAA7rB,MAAA,gBAAArJ,GAEA+wF,EAIA,IACA6b,IAAA,OACAC,GAAA,gBAGAC,GAAA,gCAGAC,GAAA,4DACAC,GAAA,iBACAC,GAAA,QACAC,GAAA,4DAWA9jB,MAOA+B,MAGAgiB,GAAA,KAAAl+D,OAAA,KAGAm+D,GAAA7vF,GAAArQ,KAGAmgG,GAAAH,GAAApuF,KAAAsuF,GAAAjuE,kBA+OAjK,IAAAtyB,QAGA0qG,OAAA,EAGAC,gBACAC,QAEAjiB,cACAjuE,IAAA8vF,GACAnhG,KAAA,MACAwhG,QAAAV,GAAAtnG,KAAA4nG,GAAA,IACA1nD,QAAA,EACA+nD,aAAA,EACA54C,OAAA,EACA64C,YAAA,mDAaAC,SACAhF,IAAAuE,GACA5pG,KAAA,aACA0R,KAAA,YACA87E,IAAA,4BACAlrE,KAAA,qCAGAgmE,UACAkF,IAAA,UACA97E,KAAA,SACA4Q,KAAA,YAGAumE,gBACA2E,IAAA,cACAxtF,KAAA,eACAsiB,KAAA,gBAKAriB,YAGAqqG,SAAArnG,OAGAsnG,aAAA,EAGAC,YAAA74E,GAAA0pD,UAGAovB,WAAA94E,GAAAs3E,UAOAlhB,aACAhuE,KAAA,EACAhe,SAAA,IAOA6D,UAAA,SAAAgF,EAAA8X,GACA,MAAAA,GAGAmrE,IAAAjjF,EAAA+sB,GAAAq2D,cAAAtrE,GAGAmrE,EAAAl2D,GAAAq2D,aAAApjF,IAGA8lG,cAAAvjB,EAAAtB,IACA8kB,cAAAxjB,EAAAS,IAGAgjB,KAAA,SAAA7wF,EAAAxb,GAqTA,QAAAsS,GAAA8pB,EAAAkwE,EAAA3iB,EAAA4iB,GACA,GAAApiB,GAAAhuD,EAAA50B,EAAA2iF,EAAAsiB,EACAC,EAAAH,CAGA,KAAAxiF,IAKAA,EAAA,EAGA4iF,GACA1qG,EAAA2I,aAAA+hG,GAKAC,MAAAjpG,GAGAkpG,EAAAL,GAAA,GAGAtjB,EAAAxM,WAAArgD,EAAA,MAGA+tD,EAAA/tD,GAAA,KAAAA,EAAA,WAAAA,EAGAutD,IACAO,EAAAR,EAAAvtF,EAAA8sF,EAAAU,IAIAO,EAAAD,EAAA9tF,EAAA+tF,EAAAjB,EAAAkB,GAGAA,GAGAhuF,EAAA0wG,aACAL,EAAAvjB,EAAA9tD,kBAAA,iBACAqxE,IACAp5E,GAAAq4E,aAAAqB,GAAAN,IAEAA,EAAAvjB,EAAA9tD,kBAAA,WAEA/H,GAAAs4E,KAAAoB,GAAAN,IAKA,MAAApwE,GAAA,SAAAjgC,EAAAgO,KACAsiG,EAAA,YAGK,MAAArwE,EACLqwE,EAAA,eAIAA,EAAAviB,EAAApgE,MACAqS,EAAA+tD,EAAAhsF,KACAqJ,EAAA2iF,EAAA3iF,MACA4iF,GAAA5iF,KAMAA,EAAAklG,GACArwE,GAAAqwE,IACAA,EAAA,QACArwE,EAAA,IACAA,EAAA,KAMA6sD,EAAA7sD,SACA6sD,EAAAwjB,YAAAH,GAAAG,GAAA,GAGAtiB,EACAj+B,EAAAg8B,YAAA6kB,GAAA5wE,EAAAswE,EAAAxjB,IAEA/8B,EAAAo8B,WAAAykB,GAAA9jB,EAAAwjB,EAAAllG,IAIA0hF,EAAAt+B,cACAA,MAAAjnD,GAEAspG,GACAC,EAAAztG,QAAA2qF,EAAA,2BACAlB,EAAA9sF,EAAAguF,EAAAhuD,EAAA50B,IAIA2lG,EAAA3T,SAAAwT,GAAA9jB,EAAAwjB,IAEAO,IACAC,EAAAztG,QAAA,gBAAAypF,EAAA9sF,MAGAi3B,GAAAo4E,QACAp4E,GAAAhH,MAAA5sB,QAAA,cA/ZA,gBAAAgc,KACAxb,EAAAwb,EACAA,MAAA9X,IAIA1D,OAEA,IAGAy7B,GAGA3gC,EAGAgyG,EAGAF,EAGAF,EAGAM,EAEAL,EAGAQ,EAGAhxG,EAAAi3B,GAAA/xB,aAA2BrB,GAG3B+sG,EAAA5wG,EAAAqB,SAAArB,EAGA8wG,EAAA9wG,EAAAqB,UACAuvG,EAAAjxB,UAAAixB,EAAAvhB,QACAp4D,GAAA25E,GACA35E,GAAAhH,MAGA8/B,EAAA94B,GAAAm0D,WACA2lB,EAAA95E,GAAA0lE,UAAA,eAGAnuC,EAAAxuD,EAAAwuD,eAGAyiD,KACAC,KAGAvjF,EAAA,EAGAwjF,EAAA,WAGArkB,GACAxM,WAAA,EAGAthD,kBAAA,SAAAv2B,GACA,GAAAogB,EACA,QAAA8E,EAAA,CACA,IAAAqjF,EAEA,IADAA,KACAnoF,EAAAgmF,GAAAhuF,KAAA4vF,IACAO,EAAAnoF,EAAA,GAAAqY,eAAArY,EAAA,EAGAA,GAAAmoF,EAAAvoG,EAAAy4B,eAEA,aAAArY,EAAA,KAAAA,GAIAuoF,sBAAA,WACA,WAAAzjF,EAAA8iF,EAAA,MAIAprG,iBAAA,SAAApG,EAAA0B,GACA,GAAA0wG,GAAApyG,EAAAiiC,aAKA,OAJAvT,KACA1uB,EAAAiyG,EAAAG,GAAAH,EAAAG,IAAApyG,EACAgyG,EAAAhyG,GAAA0B,GAEArC,MAIAgzG,iBAAA,SAAAtjG,GAIA,MAHA2f,KACA3tB,EAAA6tF,SAAA7/E,GAEA1P,MAIAkwD,WAAA,SAAAt+C,GACA,GAAAs4B,EACA,IAAAt4B,EACA,GAAAyd,EAAA,EACA,IAAA6a,IAAAt4B,GAGAs+C,EAAAhmB,IAAAgmB,EAAAhmB,GAAAt4B,EAAAs4B,QAKAskD,GAAAzC,OAAAn6E,EAAA48E,EAAA7sD,QAGA,OAAA3hC,OAIA8hC,MAAA,SAAAkwE,GACA,GAAAiB,GAAAjB,GAAAa,CAKA,OAJAX,IACAA,EAAApwE,MAAAmxE,GAEAp7F,EAAA,EAAAo7F,GACAjzG,MA0CA,IArCAyxD,EAAAM,QAAAy8B,GAAAP,SAAAwkB,EAAA37F,IACA03E,EAAA9sD,QAAA8sD,EAAA32E,KACA22E,EAAA1hF,MAAA0hF,EAAA12E,KAMApW,EAAAqf,SAAArf,EAAAqf,KAAA8vF,IAAA,IACA7nG,QAAAqnG,GAAA,IACArnG,QAAA0nG,GAAAI,GAAA,SAGApvG,EAAAgO,KAAAnK,EAAAqP,QAAArP,EAAAmK,MAAAhO,EAAAkT,QAAAlT,EAAAgO,KAGAhO,EAAA4sF,UAAA31D,GAAA9sB,KAAAnK,EAAAkY,UAAA,KAAAgpB,cAAArY,MAAAo3D,MAAA,IAGA,MAAAjgF,EAAAwxG,cACAlyE,EAAA2vE,GAAApuF,KAAA7gB,EAAAqf,IAAA6hB,eACAlhC,EAAAwxG,eAAAlyE,GACAA,EAAA,KAAA8vE,GAAA,IAAA9vE,EAAA,KAAA8vE,GAAA,KACA9vE,EAAA,eAAAA,EAAA,mBACA8vE,GAAA,eAAAA,GAAA,kBAKApvG,EAAA+B,MAAA/B,EAAAyvG,aAAA,gBAAAzvG,GAAA+B,OACA/B,EAAA+B,KAAAk1B,GAAAwR,MAAAzoC,EAAA+B,KAAA/B,EAAAwuF,cAIA3B,EAAA1B,GAAAnrF,EAAA6D,EAAAipF,GAGA,IAAAn/D,EACA,MAAAm/D,EAKA+jB,GAAA55E,GAAAhH,OAAAjwB,EAAA0nD,OAGAmpD,GAAA,GAAA55E,GAAAo4E,UACAp4E,GAAAhH,MAAA5sB,QAAA,aAIArD,EAAAgO,KAAAhO,EAAAgO,KAAAozB,cAGAphC,EAAAyxG,YAAA1C,GAAAvnG,KAAAxH,EAAAgO,MAIA2iG,EAAA3wG,EAAAqf,IAGArf,EAAAyxG,aAGAzxG,EAAA+B,OACA4uG,EAAA3wG,EAAAqf,MAAA6uF,GAAA1mG,KAAAmpG,GAAA,SAAA3wG,EAAA+B,WAGA/B,GAAA+B,OAIA,IAAA/B,EAAAmkC,QACAnkC,EAAAqf,IAAAuvF,GAAApnG,KAAAmpG,GAGAA,EAAArpG,QAAAsnG,GAAA,OAAAX,MAGA0C,GAAAzC,GAAA1mG,KAAAmpG,GAAA,cAAA1C,OAKAjuG,EAAA0wG,aACAz5E,GAAAq4E,aAAAqB,IACA7jB,EAAAznF,iBAAA,oBAAA4xB,GAAAq4E,aAAAqB,IAEA15E,GAAAs4E,KAAAoB,IACA7jB,EAAAznF,iBAAA,gBAAA4xB,GAAAs4E,KAAAoB,MAKA3wG,EAAA+B,MAAA/B,EAAAyxG,aAAA,IAAAzxG,EAAA0vG,aAAA7rG,EAAA6rG,cACA5iB,EAAAznF,iBAAA,eAAArF,EAAA0vG,aAIA5iB,EAAAznF,iBACA,SACArF,EAAA4sF,UAAA,IAAA5sF,EAAA2vG,QAAA3vG,EAAA4sF,UAAA,IACA5sF,EAAA2vG,QAAA3vG,EAAA4sF,UAAA,KACA,MAAA5sF,EAAA4sF,UAAA,QAAAsiB,GAAA,WAAsD,IACtDlvG,EAAA2vG,QAAA,KAIA,KAAAhxG,IAAAqB,GAAAowG,QACAtjB,EAAAznF,iBAAA1G,EAAAqB,EAAAowG,QAAAzxG,GAIA,IAAAqB,EAAAmF,cACA,IAAAnF,EAAAmF,WAAAtG,KAAA+xG,EAAA9jB,EAAA9sF,IAAA,IAAA2tB,GAGA,MAAAm/D,GAAA1sD,OAIA+wE,GAAA,OAGA,KAAAxyG,KAAcqhC,QAAA,EAAA50B,MAAA,EAAAmhF,SAAA,GACdO,EAAAnuF,GAAAqB,EAAArB,GAOA,IAHA6xG,EAAA3jB,EAAAK,GAAAltF,EAAA6D,EAAAipF,GAKG,CASH,GARAA,EAAAxM,WAAA,EAGAuwB,GACAC,EAAAztG,QAAA,YAAAypF,EAAA9sF,IAIA,IAAA2tB,EACA,MAAAm/D,EAIA9sF,GAAA62D,OAAA72D,EAAA07D,QAAA,IACA60C,EAAA1qG,EAAAyI,WAAA,WACAw+E,EAAA1sD,MAAA,YACKpgC,EAAA07D,SAGL,KACA/tC,EAAA,EACA6iF,EAAAt1C,KAAA+1C,EAAA96F,GACI,MAAA/N,GAGJ,KAAAulB,EAAA,GAKA,KAAAvlB,EAJA+N,IAAA,EAAA/N,QA5BA+N,IAAA,iBAwJA,OAAA22E,IAGAjlD,QAAA,SAAAxoB,EAAAtd,EAAA6rB,GACA,MAAAqJ,IAAAz3B,IAAA6f,EAAAtd,EAAA6rB,EAAA,SAGA8jF,UAAA,SAAAryF,EAAAuO,GACA,MAAAqJ,IAAAz3B,IAAA6f,MAAA9X,GAAAqmB,EAAA,aAIAqJ,GAAA3nB,MAAA,uBAAA3Q,EAAAuU,GACA+jB,GAAA/jB,GAAA,SAAAmM,EAAAtd,EAAA6rB,EAAA5f,GAUA,MAPAipB,IAAAz1B,WAAAO,KACAiM,KAAA4f,EACAA,EAAA7rB,EACAA,MAAAwF,IAIA0vB,GAAAi5E,KAAAj5E,GAAAtyB,QACA0a,MACArR,KAAAkF,EACAgF,SAAAlK,EACAjM,OACAi+B,QAAApS,GACGqJ,GAAAxtB,cAAA4V,WAKH4X,GAAA4vD,SAAA,SAAAxnE,GACA,MAAA4X,IAAAi5E,MACA7wF,MAGArR,KAAA,MACAkK,SAAA,SACAisB,OAAA,EACA0yB,OAAA,EACAnP,QAAA,EACAiqD,QAAA,KAKA16E,GAAA1zB,GAAAoB,QACA2yB,QAAA,SAAAtgB,GACA,GAAAigB,GAAAz1B,WAAAwV,GACA,MAAA1Y,MAAAgR,KAAA,SAAA3Q,GACAs4B,GAAA34B,MAAAg5B,QAAAtgB,EAAAnY,KAAAP,KAAAK,KAIA,IAAAL,KAAA,IAGA,GAAA6U,GAAA8jB,GAAAjgB,EAAA1Y,KAAA,GAAAsmF,eAAAgC,GAAA,GAAArkF,OAAA,EAEAjE,MAAA,GAAA2nF,YACA9yE,EAAAwyF,aAAArnG,KAAA,IAGA6U,EAAAjD,IAAA,WAGA,IAFA,GAAAw1C,GAAApnD,KAEAonD,EAAA8+B,YAAA,IAAA9+B,EAAA8+B,WAAA7E,UACAj6B,IAAA8+B,UAGA,OAAA9+B,KACIrwC,OAAA/W,MAGJ,MAAAA,OAGAszG,UAAA,SAAA56F,GACA,MAAAigB,IAAAz1B,WAAAwV,GACA1Y,KAAAgR,KAAA,SAAA3Q,GACAs4B,GAAA34B,MAAAszG,UAAA56F,EAAAnY,KAAAP,KAAAK,MAIAL,KAAAgR,KAAA,WACA,GAAAjR,GAAA44B,GAAA34B,MACAsvF,EAAAvvF,EAAAuvF,UAEAA,GAAAzpF,OACAypF,EAAAt2D,QAAAtgB,GAGA3Y,EAAAgX,OAAA2B,MAKA7D,KAAA,SAAA6D,GACA,GAAAxV,GAAAy1B,GAAAz1B,WAAAwV,EAEA,OAAA1Y,MAAAgR,KAAA,SAAA3Q,GACAs4B,GAAA34B,MAAAg5B,QAAA91B,EAAAwV,EAAAnY,KAAAP,KAAAK,GAAAqY,MAIA66F,OAAA,WACA,MAAAvzG,MAAAkW,SAAAlF,KAAA,WACA2nB,GAAAsf,SAAAj4C,KAAA,SACA24B,GAAA34B,MAAAsnG,YAAAtnG,KAAA04C,cAEGy4B,SAwBHx4C,GAAAkiE,KAAA5e,QAAAl0C,OAAA,SAAAqf,GAIA,MAAAg8B,IAAA+lB,wBACA/hD,EAAAzJ,aAAA,GAAAyJ,EAAAgjC,cAAA,IACAhjC,EAAAwhD,iBAAA/iG,OACAmqF,GAAA5oC,IAGAzuB,GAAAkiE,KAAA5e,QAAAv0C,QAAA,SAAA0f,GACA,OAAAzuB,GAAAkiE,KAAA5e,QAAAl0C,OAAAqf,GAMA,IAAAosD,IAAA,OACArjB,GAAA,QACAsjB,GAAA,SACAC,GAAA,wCACAC,GAAA,oCA0CAh7E,IAAAwR,MAAA,SAAAxnC,EAAAutF,GACA,GAAA/5C,GACAz0C,KACAoV,EAAA,SAAA3M,EAAA9H,GAGAA,EAAAs2B,GAAAz1B,WAAAb,OAAA,MAAAA,EAAA,GAAAA,EACAX,IAAAmE,QAAA+D,mBAAAO,GAAA,IAAAP,mBAAAvH,GASA,QALA4G,KAAAinF,IACAA,EAAAv3D,GAAAq2D,cAAAr2D,GAAAq2D,aAAAkB,aAIAv3D,GAAA9nB,QAAAlO,MAAAouF,SAAAp4D,GAAAxtB,cAAAxI,GAGAg2B,GAAA3nB,KAAArO,EAAA,WACAmU,EAAA9W,KAAAW,KAAAX,KAAAqC,aAOA,KAAA8zC,IAAAxzC,GACAstF,GAAA95C,EAAAxzC,EAAAwzC,GAAA+5C,EAAAp5E,EAKA,OAAApV,GAAA+H,KAAA,KAAAT,QAAAwqG,GAAA,MAGA76E,GAAA1zB,GAAAoB,QACAutG,UAAA,WACA,MAAAj7E,IAAAwR,MAAAnqC,KAAA6zG,mBAEAA,eAAA,WACA,MAAA7zG,MAAA4R,IAAA,WAGA,GAAAsvE,GAAAvoD,GAAAvpB,KAAApP,KAAA,WACA,OAAAkhF,GAAAvoD,GAAA84D,UAAAvQ,GAAAlhF,OAEAgtB,OAAA,WACA,GAAAtd,GAAA1P,KAAA0P,IAGA,OAAA1P,MAAAW,OAAAg4B,GAAA34B,MAAA64B,GAAA,cACA86E,GAAAzqG,KAAAlJ,KAAAi4C,YAAAy7D,GAAAxqG,KAAAwG,KACA1P,KAAAglF,UAAAF,GAAA57E,KAAAwG,MAEAkC,IAAA,SAAAvR,EAAA+mD,GACA,GAAAz3C,GAAAgpB,GAAA34B,MAAA2P,KAEA,cAAAA,EACA,KACAgpB,GAAA9nB,QAAAlB,GACAgpB,GAAA/mB,IAAAjC,EAAA,SAAAA,GACA,OAAchP,KAAAymD,EAAAzmD,KAAA0B,MAAAsN,EAAA3G,QAAAyqG,GAAA,YAER9yG,KAAAymD,EAAAzmD,KAAA0B,MAAAsN,EAAA3G,QAAAyqG,GAAA,WACHvyG,SAOHy3B,GAAAq2D,aAAAloF,QAAAmC,KAAA1B,EAAA+oF,cAGA,WAGA,MAAAtwF,MAAAkxG,QACA7gB,KASApnD,GAAA4U,aAAA,EACAuyC,KASA,wCAAAlnF,KAAAlJ,KAAA0P,OACA0gF,MAAAC,MAIAD,EAEA,IAAA0jB,IAAA,EACAC,MACAC,GAAAr7E,GAAAq2D,aAAAloF,KAKAS,GAAAkyF,aACAlyF,EAAAkyF,YAAA,sBACA,OAAAtvF,KAAA4pG,IACAA,GAAA5pG,OAAAlB,IAAA,KAMAm6E,GAAA6wB,OAAAD,IAAA,mBAAAA,IACAA,GAAA5wB,GAAAwuB,OAAAoC,GAGAA,IAEAr7E,GAAAg5E,cAAA,SAAApsG,GAGA,IAAAA,EAAA2tG,aAAA9vB,GAAA6wB,KAAA,CAEA,GAAA3kF,EAEA,QACAstC,KAAA,SAAAk1C,EAAA7jB,GACA,GAAA5tF,GACAyG,EAAAvB,EAAAuB,MACArC,IAAAqvG,EAYA,IATAhtG,EAAAuwE,KACA9xE,EAAAmK,KACAnK,EAAAwb,IACAxb,EAAAgzD,MACAhzD,EAAAq3E,SACAr3E,EAAAwW,UAIAxW,EAAA2uG,UACA,IAAA7zG,IAAAkF,GAAA2uG,UACAptG,EAAAzG,GAAAkF,EAAA2uG,UAAA7zG,EAKAkF,GAAAgqF,UAAAzoF,EAAAksG,kBACAlsG,EAAAksG,iBAAAztG,EAAAgqF,UAQAhqF,EAAA2tG,aAAApB,EAAA,sBACAA,EAAA,qCAIA,KAAAzxG,IAAAyxG,OAQA7oG,KAAA6oG,EAAAzxG,IACAyG,EAAAC,iBAAA1G,EAAAyxG,EAAAzxG,GAAA,GAOAyG,GAAA81D,KAAAr3D,EAAA4tG,YAAA5tG,EAAA9B,MAAA,MAGA6rB,EAAA,SAAA5sB,EAAAyxG,GACA,GAAAxyE,GAAAqwE,EAAA9iB,CAGA,IAAA5/D,IAAA6kF,GAAA,IAAArtG,EAAAk7E,YAQA,SALA+xB,IAAAtvG,GACA6qB,MAAArmB,GACAnC,EAAAstG,mBAAAz7E,GAAA1H,KAGAkjF,EACA,IAAArtG,EAAAk7E,YACAl7E,EAAAg7B,YAEQ,CACRotD,KACAvtD,EAAA76B,EAAA66B,OAKA,gBAAA76B,GAAAqsC,eACA+7C,EAAAloF,KAAAF,EAAAqsC,aAKA,KACA6+D,EAAAlrG,EAAAkrG,WACS,MAAAloG,GAGTkoG,EAAA,GAQArwE,IAAAp8B,EAAA2rG,SAAA3rG,EAAA2tG,YAIS,OAAAvxE,IACTA,EAAA,KAJAA,EAAAutD,EAAAloF,KAAA,QAUAkoF,GACAjB,EAAAtsD,EAAAqwE,EAAA9iB,EAAApoF,EAAAgsG,0BAOAvtG,EAAAgzD,MAIM,IAAAzxD,EAAAk7E,WAINz6E,EAAAyI,WAAAsf,GAKAxoB,EAAAstG,mBAAAL,GAAAtvG,GAAA6qB,EAVAA,KAcAwS,MAAA,WACAxS,GACAA,MAAArmB,IAAA,QA0BA0vB,GAAA+4E,cAAA,SAAAhwG,GACAA,EAAAwxG,cACAxxG,EAAA4tF,SAAA+kB,QAAA,KAKA17E,GAAA/xB,WACAyqG,SACAgD,OAAA,6FAGA/kB,UACA+kB,OAAA,2BAEAptG,YACAqtG,cAAA,SAAAttG,GAEA,MADA2xB,IAAA6vD,WAAAxhF,GACAA,MAMA2xB,GAAA+4E,cAAA,kBAAAhwG,OACAuH,KAAAvH,EAAAmkC,QACAnkC,EAAAmkC,OAAA,GAEAnkC,EAAAwxG,cACAxxG,EAAAgO,KAAA,MACAhO,EAAA0nD,QAAA,KAKAzwB,GAAAg5E,cAAA,kBAAAjwG,GAGA,GAAAA,EAAAwxG,YAAA,CAEA,GAAAmB,GACAp6C,EAAAhxB,GAAAgxB,MAAAthC,GAAA,YAAAsQ,GAAA+/C,eAEA,QAEApsB,KAAA,SAAAl6D,EAAA4sB,GAEA+kF,EAAAprE,GAAAkf,cAAA,UAEAksD,EAAA97C,OAAA,EAEA72D,EAAA6yG,gBACAF,EAAAG,QAAA9yG,EAAA6yG,eAGAF,EAAA7pE,IAAA9oC,EAAAqf,IAGAszF,EAAAI,OAAAJ,EAAAD,mBAAA,SAAA1xG,EAAAyxG,IAEAA,IAAAE,EAAAryB,YAAA,kBAAA94E,KAAAmrG,EAAAryB,eAGAqyB,EAAAI,OAAAJ,EAAAD,mBAAA,KAGAC,EAAA1sB,YACA0sB,EAAA1sB,WAAAxB,YAAAkuB,GAIAA,EAAA,KAGAF,GACA7kF,EAAA,iBAOA2qC,EAAAotC,aAAAgN,EAAAp6C,EAAAisB,aAGApkD,MAAA,WACAuyE,GACAA,EAAAI,WAAAxrG,IAAA,OAUA,IAAAyrG,OACAC,GAAA,mBAGAh8E,IAAA/xB,WACAguG,MAAA,WACAC,cAAA,WACA,GAAAvlF,GAAAolF,GAAA9zF,OAAA+X,GAAAkqD,QAAA,IAAA8sB,IAEA,OADA3vG,MAAAsvB,IAAA,EACAA,KAKAqJ,GAAA+4E,cAAA,sBAAAhwG,EAAAozG,EAAAtmB,GAEA,GAAAumB,GAAAC,EAAAC,EACAC,GAAA,IAAAxzG,EAAAkzG,QAAAD,GAAAzrG,KAAAxH,EAAAqf,KACA,MACA,gBAAArf,GAAA+B,MAEA,KADA/B,EAAA0vG,aAAA,IACAjqF,QAAA,sCACAwtF,GAAAzrG,KAAAxH,EAAA+B,OAAA,OAIA,IAAAyxG,GAAA,UAAAxzG,EAAA4sF,UAAA,GA8DA,MA3DAymB,GAAArzG,EAAAmzG,cAAAl8E,GAAAz1B,WAAAxB,EAAAmzG,eACAnzG,EAAAmzG,gBACAnzG,EAAAmzG,cAGAK,EACAxzG,EAAAwzG,GAAAxzG,EAAAwzG,GAAAlsG,QAAA2rG,GAAA,KAAAI,IACG,IAAArzG,EAAAkzG,QACHlzG,EAAAqf,MAAA6uF,GAAA1mG,KAAAxH,EAAAqf,KAAA,SAAArf,EAAAkzG,MAAA,IAAAG,GAIArzG,EAAAuF,WAAA,0BAIA,MAHAguG,IACAt8E,GAAA7rB,MAAAioG,EAAA,mBAEAE,EAAA,IAIAvzG,EAAA4sF,UAAA,UAGA0mB,EAAAztG,EAAAwtG,GACAxtG,EAAAwtG,GAAA,WACAE,EAAA3wG,WAIAkqF,EAAAzC,OAAA,eAGA9iF,KAAA+rG,EACAr8E,GAAApxB,GAAAynG,WAAA+F,GAIAxtG,EAAAwtG,GAAAC,EAIAtzG,EAAAqzG,KAGArzG,EAAAmzG,cAAAC,EAAAD,cAGAH,GAAAlpG,KAAAupG,IAIAE,GAAAt8E,GAAAz1B,WAAA8xG,IACAA,EAAAC,EAAA,IAGAA,EAAAD,MAAA/rG,KAIA,WAWA0vB,GAAAklE,UAAA,SAAAp6F,EAAAV,EAAAoyG,GACA,IAAA1xG,GAAA,gBAAAA,GACA,WAEA,kBAAAV,KACAoyG,EAAApyG,EACAA,GAAA,GAEAA,KAAAkmC,EAEA,IAAA8O,GAAA4lD,GAAAp7E,KAAA9e,GACAyhF,GAAAiwB,KAGA,OAAAp9D,IACAh1C,EAAAolD,cAAApQ,EAAA,MAGAA,EAAAktC,GAAAxhF,GAAAV,EAAAmiF,GAEAA,KAAAr/E,QACA8yB,GAAAusD,GAAA7tE,SAGAshB,GAAA8rD,SAAA1sC,EAAAW,aAKA,IAAA08D,IAAAz8E,GAAA1zB,GAAAygG,IAKA/sE,IAAA1zB,GAAAygG,KAAA,SAAA3kF,EAAA5a,EAAAmpB,GACA,mBAAAvO,IAAAq0F,GACA,MAAAA,IAAA/wG,MAAArE,KAAAsE,UAGA,IAAAkuB,GAAA9iB,EAAA+/E,EACA1vF,EAAAC,KACAkF,EAAA6b,EAAAoG,QAAA,IAsDA,OApDAjiB,IAAA,IACAstB,EAAAmG,GAAA9sB,KAAAkV,EAAAnY,MAAA1D,EAAA6b,EAAAlb,SACAkb,IAAAnY,MAAA,EAAA1D,IAIAyzB,GAAAz1B,WAAAiD,IAGAmpB,EAAAnpB,EACAA,MAAA8C,IAGE9C,GAAA,gBAAAA,KACFuJ,EAAA,QAIA3P,EAAA8F,OAAA,GACA8yB,GAAAi5E,MACA7wF,MAKArR,QAAA,MACAkK,SAAA,OACAnW,KAAA0C,IACG0R,KAAA,SAAAs7B,GAGHs8C,EAAAnrF,UAEAvE,EAAA2Y,KAAA8Z,EAIAmG,GAAA,SAAA5hB,OAAA4hB,GAAAklE,UAAA1qD,IAAA/7B,KAAAob,GAGA2gB,KAKG44C,OAAAz8D,GAAA,SAAAk/D,EAAA7sD,GACH5hC,EAAAiR,KAAA,WACAse,EAAAjrB,MAAArE,KAAAyvF,IAAAjB,EAAAr7C,aAAAxR,EAAA6sD,QAKAxuF,MAOA24B,GAAA3nB,MACA,YACA,WACA,eACA,YACA,cACA,YACA,SAAA3Q,EAAAqP,GACAipB,GAAA1zB,GAAAyK,GAAA,SAAAzK,GACA,MAAAjF,MAAAqV,GAAA3F,EAAAzK,MAOA0zB,GAAAkiE,KAAA5e,QAAAo5B,SAAA,SAAAjuD,GACA,MAAAzuB,IAAAyoD,KAAAzoD,GAAAo0E,OAAA,SAAA9nG,GACA,MAAAmiD,KAAAniD,EAAAmiD,OACEvhD,QAkBF8yB,GAAA1D,QACAqgF,UAAA,SAAAluD,EAAA7hD,EAAAlF,GACA,GAAAk1G,GAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EACA1/E,EAAAwC,GAAAzD,IAAAkyB,EAAA,YACA0uD,EAAAn9E,GAAAyuB,GACA7nC,IAGA,YAAA4W,IACAixB,EAAAttB,MAAA3D,SAAA,YAGAw/E,EAAAG,EAAA7gF,SACAwgF,EAAA98E,GAAAzD,IAAAkyB,EAAA,OACAwuD,EAAAj9E,GAAAzD,IAAAkyB,EAAA,QACAyuD,GAAA,aAAA1/E,GAAA,UAAAA,IACAwC,GAAA4oD,QAAA,QAAAk0B,EAAAG,KAAA,EAIAC,GACAN,EAAAO,EAAA3/E,WACAu/E,EAAAH,EAAAngF,IACAogF,EAAAD,EAAApgF,OAEAugF,EAAAjrG,WAAAgrG,IAAA,EACAD,EAAA/qG,WAAAmrG,IAAA,GAGAj9E,GAAAz1B,WAAAqC,KAGAA,IAAAhF,KAAA6mD,EAAA/mD,EAAAs4B,GAAAtyB,UAAqDsvG,KAGrD,MAAApwG,EAAA6vB,MACA7V,EAAA6V,IAAA7vB,EAAA6vB,IAAAugF,EAAAvgF,IAAAsgF,GAEA,MAAAnwG,EAAA4vB,OACA5V,EAAA4V,KAAA5vB,EAAA4vB,KAAAwgF,EAAAxgF,KAAAqgF,GAGA,SAAAjwG,GACAA,EAAAwwG,MAAAx1G,KAAA6mD,EAAA7nC,GAEAu2F,EAAA5gF,IAAA3V,KAKAoZ,GAAA1zB,GAAAoB,QACA4uB,OAAA,SAAA1vB,GACA,GAAAjB,UAAAuB,OACA,WAAAoD,KAAA1D,EACAvF,KACAA,KAAAgR,KAAA,SAAA3Q,GACAs4B,GAAA1D,OAAAqgF,UAAAt1G,KAAAuF,EAAAlF,IAIA,IAAAo3F,GAAAtnC,EACA6lD,GAAU5gF,IAAA,EAAAD,KAAA,GACViyB,EAAApnD,KAAA,GACAkoF,EAAA9gC,KAAAk/B,aAEA,IAAA4B,EAOA,MAHAuP,GAAAvP,EAAAc,gBAGArwD,GAAAlnB,SAAAgmF,EAAArwC,QAMA,KAAAA,EAAAokD,wBACAwK,EAAA5uD,EAAAokD,yBAEAr7C,EAAAogC,GAAArI,IAEA9yD,IAAA4gF,EAAA5gF,KAAA+6B,EAAA8lD,aAAAxe,EAAAhiE,YAAAgiE,EAAA8N,WAAA,GACApwE,KAAA6gF,EAAA7gF,MAAAg7B,EAAA+lD,aAAAze,EAAA2N,aAAA3N,EAAA4N,YAAA,KAXA2Q,GAeA7/E,SAAA,WACA,GAAAn2B,KAAA,IAIA,GAAAm2G,GAAAlhF,EACAmhF,GAAmBhhF,IAAA,EAAAD,KAAA,GACnBiyB,EAAApnD,KAAA,EA2BA,OAvBA,UAAA24B,GAAAzD,IAAAkyB,EAAA,YAGAnyB,EAAAmyB,EAAAokD,yBAIA2K,EAAAn2G,KAAAm2G,eAGAlhF,EAAAj1B,KAAAi1B,SACA0D,GAAAsf,SAAAk+D,EAAA,aACAC,EAAAD,EAAAlhF,UAIAmhF,EAAAhhF,KAAAuD,GAAAzD,IAAAihF,EAAA,wBACAC,EAAAjhF,MAAAwD,GAAAzD,IAAAihF,EAAA,2BAOA/gF,IAAAH,EAAAG,IAAAghF,EAAAhhF,IAAAuD,GAAAzD,IAAAkyB,EAAA,gBACAjyB,KAAAF,EAAAE,KAAAihF,EAAAjhF,KAAAwD,GAAAzD,IAAAkyB,EAAA,oBAIA+uD,aAAA,WACA,MAAAn2G,MAAA4R,IAAA,WAGA,IAFA,GAAAukG,GAAAn2G,KAAAm2G,aAEAA,IAAAx9E,GAAAsf,SAAAk+D,EAAA,SACA,WAAAx9E,GAAAzD,IAAAihF,EAAA,aACAA,gBAEA,OAAAA,IAAAntB,QAMArwD,GAAA3nB,MAAco0F,WAAA,cAAA3vE,UAAA,eAAsD,SAAA7gB,EAAAxF,GACpE,GAAAgmB,GAAA,IAAAlsB,KAAAkG,EAEAupB,IAAA1zB,GAAA2P,GAAA,SAAAjF,GACA,MAAAoxF,IAAA/gG,KAAA,SAAAonD,EAAAxyC,EAAAjF,GACA,GAAAwgD,GAAAogC,GAAAnpC,EAEA,QAAAn+C,KAAA0G,EACA,MAAAwgD,GAAA/gD,IAAA+gD,KAAA/gD,GACA+gD,EAAAlnB,SAAA+/C,gBAAAp0E,GACAwyC,EAAAxyC,EAGAu7C,GACAA,EAAAkmD,SACAjhF,EAAAuD,GAAAw3B,GAAAi1C,aAAAz1F,EACAylB,EAAAzlB,EAAAgpB,GAAAw3B,GAAA16B,aAIA2xB,EAAAxyC,GAAAjF,GAEGiF,EAAAjF,EAAArL,UAAAuB,OAAA,SASH8yB,GAAA3nB,MAAA,uBAAA3Q,EAAA+O,GACAupB,GAAA+zD,SAAAt9E,GAAA85E,EAAA9F,GAAAimB,cACA,SAAAjiD,EAAAsiD,GACA,GAAAA,EAIA,MAHAA,GAAAnf,GAAAnjC,EAAAh4C,GAGAo7E,GAAAthF,KAAAwgG,GACA/wE,GAAAyuB,GAAAjxB,WAAA/mB,GAAA,KACAs6F,MAQA/wE,GAAA3nB,MAAcslG,OAAA,SAAAC,MAAA,SAAmC,SAAA51G,EAAA+O,GACjDipB,GAAA3nB,MAAe06F,QAAA,QAAA/qG,EAAAiW,QAAAlH,EAAA8mG,GAAA,QAAA71G,GACf,SAAA81G,EAAAC,GAGA/9E,GAAA1zB,GAAAyxG,GAAA,SAAAjL,EAAAppG,GACA,GAAA2+F,GAAA18F,UAAAuB,SAAA4wG,GAAA,iBAAAhL,IACA1hB,EAAA0sB,KAAA,IAAAhL,IAAA,IAAAppG,EAAA,kBAEA,OAAA0+F,IAAA/gG,KAAA,SAAAonD,EAAA13C,EAAArN,GACA,GAAA6lF,EAEA,OAAAvvD,IAAAqoD,SAAA55B,GAKAA,EAAAne,SAAA+/C,gBAAA,SAAAroF,GAIA,IAAAymD,EAAAi6B,UACA6G,EAAA9gC,EAAA4hC,gBAMAv7D,KAAA/C,IACA08B,EAAAyhC,KAAA,SAAAloF,GAAAunF,EAAA,SAAAvnF,GACAymD,EAAAyhC,KAAA,SAAAloF,GAAAunF,EAAA,SAAAvnF,GACAunF,EAAA,SAAAvnF,SAIAsI,KAAA5G,EAGAs2B,GAAAzD,IAAAkyB,EAAA13C,EAAAq6E,GAGApxD,GAAAmB,MAAAstB,EAAA13C,EAAArN,EAAA0nF,IACIr6E,EAAAsxF,EAAAyK,MAAAxiG,GAAA+3F,EAAA,WAMJroE,GAAA1zB,GAAAoB,QAEAJ,KAAA,SAAA0gF,EAAAljF,EAAAwB,GACA,MAAAjF,MAAAqV,GAAAsxE,EAAA,KAAAljF,EAAAwB,IAEAi7C,OAAA,SAAAymC,EAAA1hF,GACA,MAAAjF,MAAAkF,IAAAyhF,EAAA,KAAA1hF,IAGA0jD,SAAA,SAAAn2B,EAAAm0D,EAAAljF,EAAAwB,GACA,MAAAjF,MAAAqV,GAAAsxE,EAAAn0D,EAAA/uB,EAAAwB,IAEA0xG,WAAA,SAAAnkF,EAAAm0D,EAAA1hF,GAGA,WAAAX,UAAAuB,OACA7F,KAAAkF,IAAAstB,EAAA,MACAxyB,KAAAkF,IAAAyhF,EAAAn0D,GAAA,KAAAvtB,MAKA0zB,GAAA1zB,GAAAkM,KAAA,WACA,MAAAnR,MAAA6F,QAGA8yB,GAAA1zB,GAAA2xG,QAAAj+E,GAAA1zB,GAAAg5F,QAmBCvlE,SAECzvB,MAFmB2nB,EAAA,WACrB,MAAA+H,KACEt0B,MAAA1E,EAAA+4B,MAAA94B,EAAAD,QAAAixB,EAKF,IAGAimF,IAAAtvG,EAAAoxB,OAGAm+E,GAAAvvG,EAAA6N,CAwBA,OAtBAujB,IAAA/1B,WAAA,SAAAksF,GASA,MARAvnF,GAAA6N,IAAAujB,KACApxB,EAAA6N,EAAA0hG,IAGAhoB,GAAAvnF,EAAAoxB,cACApxB,EAAAoxB,OAAAk+E,IAGAl+E,IASAmoD,IAAAv5E,EAAAwvG,yBACAxvG,EAAAoxB,OAAApxB,EAAA6N,EAAAujB,IAGAA,M1HomjBM,SAAU/4B,EAAQD,EAASO,GAEjC,YACA,IAAIw4B,GAA8B9H,EAE9B9uB,EAAa5B,EAAoB,IAEjC6B,EAEJ,SAAgCH,GAAO,MAAOA,IAAOA,EAAIR,WAAaQ,GAAQC,QAASD,IAF9CE,E2H124BzCjC,IACEK,EAAA,KACAA,EAAA,KACAA,EAAA,KACAA,EAAA,IACAA,EAAA,KACAA,EAAA,KACAA,EAAA,IACAA,EAAA,KACAA,EAAA,SATF+I,MAAA2nB,EAAA,SAUaxb,EAAG1S,EAAGg8B,EAAY6vB,EAAGyoD,EAAOC,EAAS73E,EAAQzT,EAAQqmC,GAgChE,QAASklD,GAAgBn2C,GACvB,IAAKA,EACH,QAGF,IAAIo2C,KAMJ,OAJAz0G,GAAEsO,KAAKtO,EAAE4H,KAAKy2D,GAAO,SAAU52D,GAC7BgtG,EAAsBhtG,EAAIy4B,eAAiBm+B,EAAK52D,KAG3CzH,EAAE00G,UAAUD,EAAuB,SAAU53F,GAClD,GAAI+1E,IAAW0hB,SAAWC,WAC1B,KAAKv0G,EAAEO,SAASsc,GACd,KAAM,IAAI9W,OAAM,4BAWlB,OATA/F,GAAEsO,KAAKuO,EAAO,SAAU5P,EAAKxF,GAC3B,GAAIZ,GAAQY,EAAIZ,MAAM,aAClBA,GAAM1D,OAAS,EACjByvF,EAAO2hB,QAAQ1tG,EAAM,IAAMoG,EAG3B2lF,EAAO0hB,MAAMztG,EAAM,IAAMoG,IAGtB2lF,IAQX,QAAS+hB,KACP,GAAIC,GAAUjwG,KAAKC,MAAMquE,aAAa4hC,QAAQC,GAM9C,OALKF,IAAWA,EAAQtpD,UAAYriC,EAAOqiC,UACzCspD,GACEtpD,QAASriC,EAAOqiC,UAGbspD,EAGT,QAASG,GAAoB9oD,EAAU+oD,EAAWC,GAChD,GAAIr+C,GAAU+9C,GACd/9C,GAAQ3K,IACNqoD,MAAOU,EACPT,QAASU,GAEXhiC,aAAaC,QAAQ4hC,GAAa,EAAAz1G,EAAAF,SAAey3D,IAiCnD,QAASs+C,GAAYvtG,EAAQskD,EAAUkpD,GACrC,GAAIC,GAAczvE,CAWlB,OAPAyvE,GAAenpD,EAAS3lD,QAAQ,IAAK,KAErCq/B,EAAOwvE,EAAOE,QAAQC,GACpB3tG,OAAQA,EACRytG,aAAcA,KAGT1iG,EAAEw8F,MACP7wF,IAAK82F,EAAOzmD,QAAU/oB,EACtBzuB,SAAU,QACVisB,OAAO,EAGPu3B,QAAS,IACTy3C,cAAe,SAAWxqG,IAI9B,QAAS4tG,GAAYtpD,EAAUkpD,GAK7B,GAAiB,OAAblpD,IAAsBjsD,EAAE+O,SAASka,EAAOusF,mBAAoBvpD,GAC9D,MAAOJ,MAKT,IAAI4pD,IAA2BnmD,EAAgB0jB,4BAC/C,IAAIyiC,EAAyB,CAC3B,GAAI/a,GAASia,GACb,IAAIja,EAAOzuC,GACT,MAAOJ,GAAE6uC,EAAOzuC,IAIpB,MAAOJ,GAAEplC,KACPyuF,EAAW,QAASjpD,EAAUkpD,GAC9BD,EAAW,UAAWjpD,EAAUkpD,KAE/Bv/C,OAAO,SAAUo/C,EAAWC,GAI3B,MAHIQ,IACFV,EAAmB9oD,EAAU+oD,EAAWC,IAEjCX,MAAOU,EAAWT,QAASU,KAErC7/F,KAAK,WAIJ,WAxKN,GAAI0/F,GAAc,gBAEdQ,EAAgBt5E,EAAWh7B,QAAQ,kDA0KvC,QACEszG,MAAOA,EACPC,QAASA,EAITmB,QAASpB,EAETqB,gBAAiB,KAEjBC,SAAU,SAAU3pD,GAClB,MAAO3uD,MAAKq4G,kBAAoB1pD,GAGlCt3C,OAAQ,WACNrX,KAAKq4G,gBAAkB,MAGzBE,aAAc,SAAU5pD,EAAU6pD,EAAWX,GAC3C,GAAIY,GAAkBvB,EAAesB,GACjCE,EAAoB/pD,EAAS/rB,aACjC,OAAOq1E,GAAWtpD,EAAUkpD,GACzBlmD,KAAKjvD,EAAEuD,KAAK,SAAU0yG,GAGrB34G,KAAKg3G,MAAQt0G,EAAE2D,UAAW2wG,EAAO2B,EAAQ3B,OACzCh3G,KAAKi3G,QAAUv0G,EAAE2D,UAAW4wG,EAAS0B,EAAQ1B,SAC7Cj3G,KAAKo4G,QAAU11G,EAAE2D,UAAW2wG,EAAO2B,EAAQ3B,OACvCyB,EAAgBC,KAClBh2G,EAAE2D,OAAOrG,KAAKg3G,MAAOyB,EAAgBC,GAAhB,OACrBh2G,EAAE2D,OAAOrG,KAAKi3G,QAASwB,EAAgBC,GAAhB,SACvBh2G,EAAE2D,OAAOrG,KAAKo4G,QAASK,EAAgBC,GAAhB,QAEzB14G,KAAKq4G,gBAAkB1pD,GACtB3uD,UA1NXqE,MAAA1E,EAAA+4B,MAAA94B,EAAAD,QAAAixB,I3H4k5BM,SAAUhxB,EAAQD,EAASO,GAEjC,YACA,IAAIw4B,GAA8B9H,C4H/k5BlC/wB,IACEK,EAAA,GACAA,EAAA,IACAA,EAAA,IACAA,EAAA,IACAA,EAAA,IACAA,EAAA,SANF+I,MAAA2nB,EAAA,SAQU4N,EAAM+vB,EAAGqqD,EAAY15E,EAAMkkC,EAAQxY,GAC3C,GAAIloD,GAAI87B,EAAK97B,EAMTm2G,EAASjuD,EAAevkD,QAC1B2pB,iBAAiB,EACjBvQ,MAAM,EAENF,OACE9a,GAAI,SACJo7D,YACEnwD,KAAM,SACNuP,QACE,MACA,OACA,QACA,QACA,sBACA,aACA,iBACA,WACA,OACA,MACA,WACA,kBACA,iBACA,kBACA,aAGJ2gD,UACElwD,KAAM,SACNuP,QACE,OACA,MACA,WACA,WACA,SACA,SACA,OACA,SACA,eACA,iBAGJ65F,YACEppG,KAAM,SACNuP,QACE,WACA,aAGJ0iB,QACEjyB,KAAM,SACNuP,QACE,YACA,WAGJ03B,SAAU,UACVoiE,WAAY,SACZn4C,QAAS,UACTo4C,UAAW,WAGbt/F,OACEu/F,OAAU,SACVl9F,SAAY,SACZm9F,aAAgB,SAChBC,WAAc,UACdC,eAAkB,UAClBC,UAAa,WAAW,GAAM,IAGhCn0E,SACEo0E,cACE3hG,MAAO,YACP1S,GAAI,SAAU26D,GACZ,MAAoB,SAAbA,IAGX25C,YACE5hG,MAAO,WAAY,cACnB1S,GAAI2zG,EAAWj5C,eAEjB65C,aACE7hG,MAAO,WAAY,aAAc,cACjC1S,GAAI,SAAU26D,EAAUC,EAAYk5C,GAClC,MAAIr2G,GAAE+O,UAAU,WAAY,eAAgB,eAAgB,UAAWmuD,GAC9Dm5C,EAEFH,EAAW54C,eAAe37D,MAAMrE,MAAO4/D,EAAUC,MAG5D45C,mBACE9hG,MAAO,WAAY,cACnB1S,GAAI2zG,EAAW34C,sBAEjB1B,WACE5mD,MAAO,WAAY,cACnB1S,GAAI2zG,EAAWx4C,oBAEjB9B,eACE3mD,MAAO,WAAY,cACnB1S,GAAI2zG,EAAWz4C,wBAEjBu5C,kBACE/hG,MAAO,UAAW,cAClB1S,GAAI,SAAU0xC,EAASkpB,GACrB,MAAmB,aAAfA,EACK,KAEFlpB,GAAWiiE,EAAWt4C,yBAAyB3pB,KAG1DgjE,aACEhiG,MAAO,UAAW,cAClB1S,GAAI,SAAU0xC,EAASkpB,GACrB,MAAIn9D,GAAE+O,UAAU,MAAO,QAASouD,GACvBlpB,GAAWA,EAAQgjE,YAErB,OAGXl/F,OACE9C,MAAO,UAAW,cAClB1S,GAAI,SAAU0xC,EAASkpB,GACrB,MAAmB,UAAfA,EACKlpB,GAAWA,EAAQl8B,MAErB,OAGXm/F,YACEjiG,MAAO,UAAW,cAClB1S,GAAI,SAAU0xC,EAASkpB,GACrB,MAAmB,SAAfA,EACK,KAEFlpB,GAAWA,EAAQh2C,OAG9B2hE,UACE3qD,MAAO,UACP1S,GAAI,SAAU08B,GACZ,MAAkB,WAAXA,IAGX4gC,aACE5qD,MAAO,SAAU,YACjB1S,GAAI,SAAU27D,EAAQo4C,GACpB,GAAIA,GAAYA,EAASnzG,OAAS,EAAG,CAEnC,GAAI8wC,GAAUqiE,EAAS,GACnB12C,EAAW3rB,EAAQ6uB,UAAUq0C,gBAAgBh0G,OAC7Ci0G,EAAWp3G,EAAEigE,UAAUhsB,EAAQ6uB,UAAUv1C,UAAWvgB,KAAM,YAC9D,UAAIoqG,IAAYA,EAASv3C,eAErBD,SAAUA,EACV95C,QAASsxF,EAASv3C,YAAY93C,IAC9BhC,QAASqxF,EAASv3C,YAAY73C,KAK/B,SAAIk2C,IAAUA,EAAOk4C,aACjBl4C,EAAOk4C,aAOpBiB,sBACEpiG,MAAO,eACP1S,GAAI,SAAUs9D,GACZ,QAAIA,IAC8B,IAAzBA,EAAYD,UAAkBC,EAAYD,SAAWC,EAAY95C,WAO9EjF,UACE7L,MAAO,cACP1S,GAAI,SAAU6zG,GACZ,MAAsB,aAAfA,IAGXkB,cACEriG,MAAO,WAAY,cACnB1S,GAAI,SAAU26D,EAAUC,GAEtB,MAAqB,SAAbD,GAAuBl9D,EAAE+O,UAAU,OAAQ,MAAO,OAAQ,SAAUouD,KAGhFo6C,kBACEtiG,MAAO,cACP1S,GAAI,SAAU46D,GACZ,MAAOn9D,GAAE+O,UAAU,MAAO,OAAQ,QAAS,QAAS,sBAAuB,YAAaouD,KAG5Fq6C,0BACEviG,MAAO,WAAY,MACnB1S,GAAI,SAAU26D,EAAUn7D,GACtB,WAAoBwE,KAAb22D,OAAiC32D,KAAPxE,KAKvC6C,MAAO,SAAU4L,GAQf,MAPAlT,MAAK0jB,SAAWxQ,EAAWwQ,SAC3B1jB,KAAKqrD,SAAWn4C,EAAWm4C,SAE3Bn4C,EAAWkmG,eAAiBR,EAAWv4C,uBAAuBrgE,KAAKqrD,UAGnErrD,KAAKm6G,wBAAwBjnG,GACtBxQ,EAAEoP,KAAKoB,GAAa,WAAY,cAGzCoC,SAAU,WACR,MAAItV,MAAKkB,IAAI,sBAAwBlB,KAAKkB,IAAI,WACpC+3G,OAAUz6E,EAAKzkB,IAAI,iCAEM,aAA3B/Z,KAAKkB,IAAI,eAAiClB,KAAKkB,IAAI,gBAAtD,IACK6a,SAAYyiB,EAAKzkB,IAAI,6BAGjCqgG,cAAe,WAEb,QAASp6G,KAAKuF,QAAQ8lD,SAASnqD,IAAI,oBAAiD,UAA3BlB,KAAKkB,IAAI,gBAEpEm5G,OAAQ,WAEN,MADAr6G,MAAK+E,QAAQ,qBACN/E,KAAK46E,kBAAkB,SAAU9X,GACtC,GAAIw3C,GAAYx3C,EAAYr/D,KAAKmiE,OAAOy0C,OAAO,EAC/C,OAAOv3C,GAAYu3C,OAAOC,EAAU35G,SAIxC8lC,KAAM,WACJ,GAAI2yE,KAAmBp5G,KAAKkB,IAAI,kBAE5BnB,EAAOC,IAEX,OAAOA,MAAK46E,kBAAkB,SAAU9X,EAAa+X,GACnD,GAAIp3E,IACF21G,eAAgBA,EAEa,cAA3Bp5G,KAAKkB,IAAI,cACXuC,EAAKw1G,OAASj5G,KAAKkB,IAAI,UAEW,aAA3BlB,KAAKkB,IAAI,cAChBuC,EAAKsY,SAAW/b,KAAKkB,IAAI,YAElBlB,KAAKo6G,kBACZ32G,EAAK82G,SAAWv6G,KAAKkB,IAAI,WAGvBlB,KAAKw6G,0BACP/2G,EAAK41G,SAAWr5G,KAAKkB,IAAI,YAG3B,IAAI6wD,EAEJ,IAA2B,iBAAvB+Q,EAAYnhC,QACS,oBAAvBmhC,EAAYnhC,QACZ3hC,KAAKqrD,SAASnqD,IAAI,oCAAqC,CAEvD6wD,EADa/xD,KAAKy6G,YAAY33C,GACb43C,OAAOj3G,OAIrB,IAAIzD,KAAKkB,IAAI,kBAAoBlB,KAAKkB,IAAI,WAAa4hE,EAAYu3C,OAAQ,CAC9E,GAAIC,GAAYx3C,EAAYr/D,KAAKmiE,OAAOy0C,OAAO,EAC/CtoD,GAAU+Q,EAAYu3C,OAAOC,EAAU35G,UAEvCoxD,GAAU+Q,EAAY43C,OAAOj3G,EAM/B,OAFAzD,MAAK+E,QAAQ,QAENgtD,EACJJ,KAAK,SAAUR,GACd,GAAI5rD,IACF0R,MA9RQ,IA+RR0jG,oBAAuB,SAAC73C,GACtB/iE,EAAKwF,QAAQ8lD,SAASv7C,IAAI,mBAAoBgzD,IAKlD,IAFA+X,EAAe1pB,GAEO,kBAAjBA,EAAMxvB,QAA8BwvB,EAAMypD,MAC3B,qBAAjBzpD,EAAMxvB,QAAiCwvB,EAAMypD,KAAO,CACrD,GAAMnpD,GAAWlD,EAAEl6B,QACbwmF,EAAqB37E,EAAK4wB,iBAAiB2B,EAASG,QAxSlD,IA6SR,OAJA7xD,GAAK+6G,aAAa/6G,EAAKwF,QAAQ8lD,SAAU,iBAAkB,WACzDn7C,aAAa2qG,GACbppD,EAASK,OAAO,GAAIsR,GAAOmG,+BAEtB9X,EAASM,QAAQJ,KAAK,WAW3B,MATA5xD,GAAKqvB,cAAcrvB,EAAKwF,QAAQ8lD,SAAU,kBACtCtrD,EAAKy6G,0BACPj1G,EAAQ8zG,SAAW,WACjB,MAAOt5G,GAAKmB,IAAI,aAElBqE,EAAQ6zG,eAAiB,WACvB,MAAOr5G,GAAKmB,IAAI,oBAGbiwD,EAAMypD,KAAKr1G,GAASosD,KAAK,SAAUR,GACxCpxD,EAAKwF,QAAQ8lD,SAASv7C,IAAI,mBAAoBqhD,EAAM1tD,MACpDo3E,EAAe1pB,aAQ7BspD,YAAa,SAAU33C,GACrB,GAAIJ,EAWJ,OAVII,GAAYi4C,cACdr4C,EAAShgE,EAAEigE,UAAUG,EAAYi4C,aAC/Bl7C,WAAY7/D,KAAKkB,IAAI,iBAGpBwhE,IACHA,EAAShgE,EAAEigE,UAAUG,EAAYL,SAC/Bh+D,GAAIzE,KAAKkB,IAAI,SAGVwhE,GAGT83C,sBAAuB,WACrB,MAAOx6G,MAAK0jB,SAASxiB,IAAI,sBAAmD,SAA3BlB,KAAKkB,IAAI,eAG5Di5G,wBAAyB,SAAUjnG,GAIjC,GAA8B,eAA1BA,EAAW2sD,YAA+B3sD,EAAW8lG,SACvD,GAA0B,cAAtB9lG,EAAWyuB,OACbzuB,EAAW6lG,WAAa7lG,EAAW8lG,SAAS,GAAGr4G,SAC1C,IAA0B,WAAtBuS,EAAWyuB,OAAoB,CACxC,GAAMq5E,GAAmB9nG,EAAW8lG,SAAShsF,OAAO,SAAC2pB,GACnD,MAAOA,GAAQ6uB,UAAUq0C,gBAAgBh0G,OAAS,GAEpDqN,GAAW6lG,WAAaiC,EAAiB,GAAGr6G,KAGhD,MAAOuS,MAIP+nG,EAAUz8E,EAAK/S,WAAWplB,QAE5BwJ,MAAOgpG,EACPqC,WAAY,YAOZ5zG,MAAO,SAAUm7D,GAGfziE,KAAKwmE,eAAiB/D,EAAQ,EAE9B,IACI04C,GADAC,EAAiB14G,EAAEigE,UAAUF,GAAW7C,SAAU,OAAQC,WAAY,QAO1E,IAJEs7C,EADEz4G,EAAEy/B,MAAMsgC,GAAW5C,WAAY,SAAUh6D,OAAS,EACvCnD,EAAEigE,UAAUF,GAAW5C,WAAY,wBAEnCn9D,EAAEigE,UAAUF,GAAW7C,SAAU,OAAQC,WAAY,yBAE/Du7C,IAAmBD,EACtB,MAAO14C,EAGT,IAAI44C,GAAeF,IAAe14C,EAAQ,GAEtC64C,EAAgB54G,EAAE4oB,OAAOm3C,EAAS,SAAU38B,EAAM48B,GACpD,GAAI64C,GAA6B,SAApB74C,EAAO9C,SAChB47C,EAAaD,GAAgC,wBAAtB74C,EAAO7C,WAC9B47C,EAAaF,GAAgC,SAAtB74C,EAAO7C,WAC9B67C,EAAgC,WAAlBh5C,EAAO/gC,OAErBg6E,EAAeH,IAAeE,GAAyC,WAA1BN,EAAez5E,QAC5Di6E,EAAeH,GAAcC,GAAqC,WAAtBP,EAAWx5E,MAE3D,OAAIg6E,IAAgBC,EACX91E,GAGL21E,IACF/4C,EAAOw2C,aAAe,GAAIL,GAAOsC,GAAc7zG,OAAO,KAExDw+B,EAAKt6B,KAAKk3D,GACH58B,OAST,OAJIu1E,KACFr7G,KAAKwmE,eAAiB40C,GAGjBE,GAQT70C,iBAAkB,WAChB,GAAI/D,GAAShgE,EAAE6L,KAAKvO,KAAKwmE,eAAgB,aAAc,WACvD,OAAOxmE,MAAK2iE,UAAUD,IAGxBm5C,iCAAkC,WAChC,MAAO77G,MAAK2iE,WAAYn/C,UAAU,EAAM8+C,UAAU,KAGpDw5C,kBAAmB,SAAUj8C,GAC3B,MAAO7/D,MAAKmiC,OAAQ09B,WAAYA,KAGlCk8C,eAAgB,SAAUl8C,EAAYm8C,GACpC,MAAOh8G,MAAK87G,kBAAkBj8C,GAAY3yC,UAAU,SAAUw1C,GAC5D,MAAOA,GAAOxhE,IAAI,QAAU86G,KAIhCC,6BAA8B,SAAUp8C,GACtC,MAAO7/D,MAAK87G,kBAAkBj8C,GAAYh6D,OAAS,GAGrDq2G,wBAAyB,SAAUr8C,EAAYsE,GAC7C,MAAOnkE,MAAK87G,kBAAkBj8C,GAAYsE,KAK9C,QACE34C,MAAOqtF,EACPptF,WAAYwvF,IAjdhB52G,MAAA1E,EAAA+4B,MAAA94B,EAAAD,QAAAixB,I5Hkg6BM,SAAUhxB,EAAQD,EAASO,GAEjC,YACA,IAAIw4B,GAA8B9H,C6Hng6BlC/wB,IAAQK,EAAA,IAAKA,EAAA,QAAb+I,MAAA2nB,EAAA,SAAmC29B,EAAGC,GAMpC,QAAS49B,GAAM7nF,EAAKyqB,EAAO+2C,GACzB,GAAItU,GAAWlD,EAAEl6B,OAejB,OAdA9vB,GAAIsP,SACFsoG,cAAe,IAEfhvB,SAAU,IACVxC,OAAQ,QACRj8C,KAAM,SAAUo8C,EAAKiD,GACnBA,EAAG/+D,MAAQA,EACX++D,EAAG5c,IAAMpL,EACTxhE,EAAI2wB,IAAI,YAAa,SAAW41D,EAAM,KAAOA,EAAM,MAErDiB,OAAQ,WACNt6B,EAASG,QAAQrtD,MAGdktD,EAASM,QAGlB,QAASqqD,GAAQ73G,EAAKyqB,EAAO+2C,GAC3B,GAAItU,GAAWlD,EAAEl6B,OAejB,OAdA9vB,GAAIsP,SACFsoG,cAAe,IAEfhvB,SAAU,IACVxC,OAAQ,QACRj8C,KAAM,SAAUo8C,EAAKiD,GACnBA,EAAG/+D,MAAQA,EACX++D,EAAG5c,IAAMpL,EACTxhE,EAAI2wB,IAAI,YAAa,UAAY41D,EAAM,SAEzCiB,OAAQ,WACNt6B,EAASG,QAAQrtD,MAGdktD,EAASM,QAvClB,GAEI9sD,KA6HJ,OAlFAA,GAAGo3G,UAAY,SAAU92G,GACvB,GAAIksD,GAAWlD,EAAEl6B,QACbioF,EAAU/2G,EAAQ+2G,QAClBC,EAAWh3G,EAAQg3G,SACnBC,EAAWj3G,EAAQi3G,SACnB96E,EAAUn8B,EAAQm8B,QAClB4T,EAAM/vC,EAAQ+vC,IACdmnE,EAAqB,uBA2BzB,OAzBIl3G,GAAQ+G,KAAO/G,EAAQ+G,MAAQkiD,EAAMtC,iBACvCuwD,EAAqB,wBAGvBD,EAASltG,SAASmtG,GAClBH,EAAQvlG,OAAOylG,GAEfF,EAAQhtG,SAAS,gCACjBktG,EAAS3oG,SACLshB,KAAM,MAAOC,IAAK,MAAO61D,QAAS,GA/DnB,IAiEjB,WACEqxB,EAAQ9sG,YAAY,gCACpBgtG,EAAShtG,YAAYitG,GACrBD,EAASvmF,WAAW,SACpByL,EAAQnhC,KAAK+0C,GACbmc,EAASG,YAIb2qD,EAAS1oG,SACL8hB,OAAQ6mF,EAAS7mF,SAAUs1D,QAAS,GACtCyxB,KAGKjrD,EAASM,SAGlB9sD,EAAG03G,YAAc,SAAUp3G,GACzB,GAAIhB,GAAMgB,EAAQhB,IACdwjG,EAAOxiG,EAAQwiG,KACfzyD,EAAM/vC,EAAQ+vC,GAElB,OAAOt1C,MAAK48G,QAAQr4G,GACjBotD,KAAK,WAEJ,MADAo2C,GAAKxnG,KAAK+0C,GACH/wC,IAERotD,KAAK3xD,KAAK68G,UAGf53G,EAAG43G,QAAU,SAAUt4G,GACrB,MAAO6nF,GAAK7nF,EAAK,EAAG,IAGtBU,EAAG23G,QAAU,SAAUr4G,GACrB,MAAO6nF,GAAK7nF,EAAK,EAAG,IAGtBU,EAAG63G,kBAAoB,SAAUv3G,GAC/B,GAAIu3G,GAAoBv3G,EAAQhB,IAC5BwjG,EAAOxiG,EAAQwiG,KACfgV,EAAUD,EAAkB/mG,UAEhC,OAAOqmG,GAAOW,EAAS,EAAG,KACvBprD,KAAK,WACJmrD,EAAkB5nF,KAAK8nF,KAAQ,WAEhCrrD,KAAK,WACJ,GAAIsrD,GAAWF,EAAQz0B,GAAG,EAE1B,OADAyf,KACOqU,EAAOa,EAAU,IAAK,OAE9BtrD,KAAK,WAEJmrD,EAAkB5nF,KAAK8nF,KAAQ,gCAC/BD,EAAQ7nF,KACNgoF,UAAa,eACbf,cAAe,WAKhBl3G,GAjITZ,MAAA1E,EAAA+4B,MAAA94B,EAAAD,QAAAixB,I7H8o6BM,SAAUhxB,EAAQD,EAASO,G8H5p6BjC,GAAA+C,GAAe/C,EAAQ,GACvB+oC,EAAe/oC,EAAQ,GAAW+oC,SAElCpQ,EAAA51B,EAAAgmC,IAAAhmC,EAAAgmC,EAAAkf,cACAvoD,GAAAD,QAAA,SAAAgsD,GACA,MAAA9yB,GAAAoQ,EAAAkf,cAAAwD,Q9Hoq6BM,SAAU/rD,EAAQD,EAASO,G+Hzq6BjC,GAAAkpD,GAAalpD,EAAQ,GACrBmpD,EAAWnpD,EAAQ,IACnBmrE,EAAcnrE,EAAQ,IACtBi9G,EAAaj9G,EAAQ,KACrBa,EAAqBb,EAAQ,IAAcqyD,CAC3C3yD,GAAAD,QAAA,SAAAgB,GACA,GAAAy8G,GAAA/zD,EAAA+E,SAAA/E,EAAA+E,OAAAid,KAA0DjiB,EAAAgF,WAC1D,MAAAztD,EAAAypB,OAAA,IAAAzpB,IAAAy8G,IAAAr8G,EAAAq8G,EAAAz8G,GAAkF0B,MAAA86G,EAAA5qD,EAAA5xD,O/Hir6B5E,SAAUf,EAAQD,EAASO,GgIxr6BjC,GAAAszE,GAAatzE,EAAQ,IAAW,QAChCiuD,EAAUjuD,EAAQ,GAClBN,GAAAD,QAAA,SAAAwK,GACA,MAAAqpE,GAAArpE,KAAAqpE,EAAArpE,GAAAgkD,EAAAhkD,MhIgs6BM,SAAUvK,EAAQD,GiIls6BxBC,EAAAD,QAAA,gGAEA4J,MAAA,MjI0s6BM,SAAU3J,EAAQD,EAASO,GkI7s6BjC,GAAA+oC,GAAe/oC,EAAQ,GAAW+oC,QAClCrpC,GAAAD,QAAAspC,KAAA+/C,iBlIot6BM,SAAUppF,EAAQD,EAASO,GmInt6BjC,GAAA+C,GAAe/C,EAAQ,GACvBiyD,EAAejyD,EAAQ,GACvB07F,EAAA,SAAAppC,EAAAruD,GAEA,GADAguD,EAAAK,IACAvvD,EAAAkB,IAAA,OAAAA,EAAA,KAAAg/B,WAAAh/B,EAAA,6BAEAvE,GAAAD,SACAmQ,IAAAhP,OAAAu8G,iBAAA,gBACA,SAAAn0G,EAAAo0G,EAAAxtG,GACA,IACAA,EAAc5P,EAAQ,IAAQoqD,SAAA/pD,KAAiBL,EAAQ,IAAgBqyD,EAAAzxD,OAAAS,UAAA,aAAAuO,IAAA,GACvEA,EAAA5G,MACAo0G,IAAAp0G,YAAAP,QACO,MAAAmB,GAAYwzG,GAAA,EACnB,gBAAA9qD,EAAAruD,GAIA,MAHAy3F,GAAAppC,EAAAruD,GACAm5G,EAAA9qD,EAAA+qD,UAAAp5G,EACA2L,EAAA0iD,EAAAruD,GACAquD,QAEQ,OAAAvpD,IACR2yF,UnI6t6BM,SAAUh8F,EAAQD,GoIpv6BxBC,EAAAD,QAAA,kDpI4v6BM,SAAUC,EAAQD,EAASO,GqI5v6BjC,GAAA+C,GAAe/C,EAAQ,GACvBm9G,EAAqBn9G,EAAQ,KAAc4P,GAC3ClQ,GAAAD,QAAA,SAAAg8D,EAAA/vD,EAAAo3D,GACA,GACA9Y,GADAF,EAAAp+C,EAAAxH,WAIG,OAFH4lD,KAAAgZ,GAAA,kBAAAhZ,KAAAE,EAAAF,EAAAzoD,aAAAyhE,EAAAzhE,WAAA0B,EAAAinD,IAAAmzD,GACAA,EAAA1hD,EAAAzR,GACGyR,IrIow6BG,SAAU/7D,EAAQD,EAASO,GAEjC,YsI5w6BA,IAAAouD,GAAgBpuD,EAAQ,IACxBwyD,EAAcxyD,EAAQ,GAEtBN,GAAAD,QAAA,SAAAihG,GACA,GAAAz5F,GAAA8C,OAAAyoD,EAAA1yD,OACA+f,EAAA,GACA5e,EAAAmtD,EAAAsyC,EACA,IAAAz/F,EAAA,GAAAA,GAAA05C,IAAA,KAAAgyB,YAAA,0BACA,MAAQ1rE,EAAA,GAAMA,KAAA,KAAAgG,MAAA,EAAAhG,IAAA4e,GAAA5Y,EACd,OAAA4Y,KtIox6BM,SAAUngB,EAAQD,GuI7x6BxBC,EAAAD,QAAA8tB,KAAA+vF,MAAA,SAAAn6G,GAEA,WAAAA,gBAAA,SvIsy6BM,SAAUzD,EAAQD,GwIxy6BxB,GAAA89G,GAAAhwF,KAAAiwF,KACA99G,GAAAD,SAAA89G,GAEAA,EAAA,wBAAAA,EAAA,yBAEA,OAAAA,GAAA,OACA,SAAAp6G,GACA,WAAAA,WAAA,MAAAA,EAAA,KAAAA,MAAA,EAAAoqB,KAAAi8B,IAAArmD,GAAA,GACCo6G,GxIgz6BK,SAAU79G,EAAQD,EAASO,GAEjC,YyI1z6BA,IAAAmrE,GAAcnrE,EAAQ,IACtBqpD,EAAcrpD,EAAQ,GACtBopD,EAAeppD,EAAQ,IACvBu0B,EAAWv0B,EAAQ,IACnBosE,EAAgBpsE,EAAQ,IACxBy9G,EAAkBz9G,EAAQ,KAC1Bo/E,EAAqBp/E,EAAQ,IAC7BipE,EAAqBjpE,EAAQ,IAC7ByuE,EAAezuE,EAAQ,IAAQ,YAC/B09G,OAAAtzG,MAAA,WAAAA,QAKAuzG,EAAA,WAA8B,MAAA79G,MAE9BJ,GAAAD,QAAA,SAAA2yE,EAAAxlD,EAAA+qD,EAAA7hD,EAAA8nF,EAAAC,EAAAvrC,GACAmrC,EAAA9lC,EAAA/qD,EAAAkJ,EACA,IAeA3C,GAAAlpB,EAAA6zG,EAfAC,EAAA,SAAAC,GACA,IAAAN,GAAAM,IAAA/5G,GAAA,MAAAA,GAAA+5G,EACA,QAAAA,GACA,IAVA,OAWA,IAVA,SAUA,kBAA6C,UAAArmC,GAAA73E,KAAAk+G,IACxC,kBAA4B,UAAArmC,GAAA73E,KAAAk+G,KAEjCtvC,EAAA9hD,EAAA,YACAqxF,EAdA,UAcAL,EACAM,GAAA,EACAj6G,EAAAmuE,EAAA/wE,UACA88G,EAAAl6G,EAAAwqE,IAAAxqE,EAnBA,eAmBA25G,GAAA35G,EAAA25G,GACAQ,EAAAD,GAAAJ,EAAAH,GACAS,EAAAT,EAAAK,EAAAF,EAAA,WAAAK,MAAAr1G,GACAu1G,EAAA,SAAA1xF,EAAA3oB,EAAA4pE,SAAAswC,GAwBA,IArBAG,IACAR,EAAA70C,EAAAq1C,EAAAj+G,KAAA,GAAA+xE,QACAxxE,OAAAS,WAAAy8G,EAAAhoF,OAEAspD,EAAA0+B,EAAApvC,GAAA,GAEAvD,GAAA,kBAAA2yC,GAAArvC,IAAAl6C,EAAAupF,EAAArvC,EAAAkvC,IAIAM,GAAAE,GAjCA,WAiCAA,EAAA19G,OACAy9G,GAAA,EACAE,EAAA,WAAkC,MAAAD,GAAA99G,KAAAP,QAGlCqrE,IAAAmH,IAAAorC,IAAAQ,GAAAj6G,EAAAwqE,IACAl6C,EAAAtwB,EAAAwqE,EAAA2vC,GAGAhyC,EAAAx/C,GAAAwxF,EACAhyC,EAAAsC,GAAAivC,EACAC,EAMA,GALAzqF,GACApU,OAAAk/F,EAAAG,EAAAL,EA9CA,UA+CA3zG,KAAAyzG,EAAAO,EAAAL,EAhDA,QAiDAlwC,QAAAwwC,GAEA/rC,EAAA,IAAAroE,IAAAkpB,GACAlpB,IAAAhG,IAAAmlD,EAAAnlD,EAAAgG,EAAAkpB,EAAAlpB,QACKo/C,KAAAW,EAAAX,EAAAK,GAAAg0D,GAAAQ,GAAAtxF,EAAAuG,EAEL,OAAAA,KzIk06BM,SAAUzzB,EAAQD,EAASO,GAEjC,Y0It46BA,IAAAwR,GAAaxR,EAAQ,IACrBs2D,EAAiBt2D,EAAQ,IACzBo/E,EAAqBp/E,EAAQ,IAC7B89G,IAGA99G,GAAQ,IAAS89G,EAAqB99G,EAAQ,IAAQ,uBAA4B,MAAAF,QAElFJ,EAAAD,QAAA,SAAAk4E,EAAA/qD,EAAAkJ,GACA6hD,EAAAt2E,UAAAmQ,EAAAssG,GAAqDhoF,KAAAwgC,EAAA,EAAAxgC,KACrDspD,EAAAzH,EAAA/qD,EAAA,e1I846BM,SAAUltB,EAAQD,EAASO,G2Ix56BjC,GAAA69E,GAAe79E,EAAQ,KACvBwyD,EAAcxyD,EAAQ,GAEtBN,GAAAD,QAAA,SAAAg8D,EAAA8iD,EAAA3xF,GACA,GAAAixD,EAAA0gC,GAAA,KAAAt7E,WAAA,UAAArW,EAAA,yBACA,OAAA7iB,QAAAyoD,EAAAiJ,M3Ii66BM,SAAU/7D,EAAQD,EAASO,G4Iv66BjC,GAAA49E,GAAY59E,EAAQ,IAAQ,QAC5BN,GAAAD,QAAA,SAAA8qE,GACA,GAAApgD,GAAA,GACA,KACA,MAAAogD,GAAApgD,GACG,MAAAvgB,GACH,IAEA,MADAugB,GAAAyzD,IAAA,GACA,MAAArT,GAAApgD,GACK,MAAAkoC,KACF,W5I+66BG,SAAU3yD,EAAQD,EAASO,G6Ix76BjC,GAAAosE,GAAgBpsE,EAAQ,IACxByuE,EAAezuE,EAAQ,IAAQ,YAC/B6sE,EAAApkE,MAAApH,SAEA3B,GAAAD,QAAA,SAAAgsD,GACA,WAAA1iD,KAAA0iD,IAAA2gB,EAAA3jE,QAAAgjD,GAAAohB,EAAA4B,KAAAhjB,K7Ii86BM,SAAU/rD,EAAQD,EAASO,GAEjC,Y8Ix86BA,IAAAw+G,GAAsBx+G,EAAQ,IAC9BgnE,EAAiBhnE,EAAQ,GAEzBN,GAAAD,QAAA,SAAA0B,EAAA6oB,EAAA7nB,GACA6nB,IAAA7oB,GAAAq9G,EAAAnsD,EAAAlxD,EAAA6oB,EAAAg9C,EAAA,EAAA7kE,IACAhB,EAAA6oB,GAAA7nB,I9Ig96BM,SAAUzC,EAAQD,EAASO,G+It96BjC,GAAA2rE,GAAc3rE,EAAQ,IACtByuE,EAAezuE,EAAQ,IAAQ,YAC/BosE,EAAgBpsE,EAAQ,GACxBN,GAAAD,QAAiBO,EAAQ,IAASy+G,kBAAA,SAAAhzD,GAClC,OAAA1iD,IAAA0iD,EAAA,MAAAA,GAAAgjB,IACAhjB,EAAA,eACA2gB,EAAAT,EAAAlgB,M/I896BM,SAAU/rD,EAAQD,EAASO,GgJn+6BjC,GAAAksE,GAAyBlsE,EAAQ,IAEjCN,GAAAD,QAAA,SAAAkmE,EAAAhgE,GACA,WAAAumE,EAAAvG,IAAAhgE,KhJ4+6BM,SAAUjG,EAAQD,EAASO,GAEjC,YiJh/6BA,IAAA8oE,GAAe9oE,EAAQ,IACvB0rE,EAAsB1rE,EAAQ,IAC9BwqE,EAAexqE,EAAQ,GACvBN,GAAAD,QAAA,SAAA0C,GAOA,IANA,GAAAmwD,GAAAwW,EAAAhpE,MACA6F,EAAA6kE,EAAAlY,EAAA3sD,QACAqqE,EAAA5rE,UAAAuB,OACAqkB,EAAA0hD,EAAAsE,EAAA,EAAA5rE,UAAA,OAAA2E,GAAApD,GACAsrE,EAAAjB,EAAA,EAAA5rE,UAAA,OAAA2E,GACA21G,MAAA31G,KAAAkoE,EAAAtrE,EAAA+lE,EAAAuF,EAAAtrE,GACA+4G,EAAA10F,GAAAsoC,EAAAtoC,KAAA7nB,CACA,OAAAmwD,KjJy/6BM,SAAU5yD,EAAQD,EAASO,GAEjC,YkJvg7BA,IAAA2+G,GAAuB3+G,EAAQ,IAC/BwuC,EAAWxuC,EAAQ,KACnBosE,EAAgBpsE,EAAQ,IACxB2oE,EAAgB3oE,EAAQ,GAMxBN,GAAAD,QAAiBO,EAAQ,KAAgByI,MAAA,iBAAA6xE,EAAA0jC,GACzCl+G,KAAAi4E,GAAApP,EAAA2R,GACAx6E,KAAAq4C,GAAA,EACAr4C,KAAA8+G,GAAAZ,GAEC,WACD,GAAA1rD,GAAAxyD,KAAAi4E,GACAimC,EAAAl+G,KAAA8+G,GACA50F,EAAAlqB,KAAAq4C,IACA,QAAAma,GAAAtoC,GAAAsoC,EAAA3sD,QACA7F,KAAAi4E,OAAAhvE,GACAylC,EAAA,IAEA,QAAAwvE,EAAAxvE,EAAA,EAAAxkB,GACA,UAAAg0F,EAAAxvE,EAAA,EAAA8jB,EAAAtoC,IACAwkB,EAAA,GAAAxkB,EAAAsoC,EAAAtoC,MACC,UAGDoiD,EAAAyyC,UAAAzyC,EAAA3jE,MAEAk2G,EAAA,QACAA,EAAA,UACAA,EAAA,YlJ8g7BM,SAAUj/G,EAAQD,EAASO,GAEjC,YmJ/i7BA,IAAA8+G,GAAkB9+G,EAAQ,IAE1B++G,EAAA56E,OAAA9iC,UAAAghB,KAIA28F,EAAAj1G,OAAA1I,UAAAyH,QAEAm2G,EAAAF,EAIAG,EAAA,WACA,GAAAC,GAAA,IACAC,EAAA,KAGA,OAFAL,GAAA1+G,KAAA8+G,EAAA,KACAJ,EAAA1+G,KAAA++G,EAAA,KACA,IAAAD,EAAA,eAAAC,EAAA,aAIAC,MAAAt2G,KAAA,OAAAsZ,KAAA,QAEA68F,GAAAG,KAGAJ,EAAA,SAAAh4G,GACA,GACAq4G,GAAAC,EAAAl1F,EAAAlqB,EADAgqB,EAAArqB,IAwBA,OArBAu/G,KACAE,EAAA,GAAAp7E,QAAA,IAAAha,EAAA7mB,OAAA,WAAAw7G,EAAAz+G,KAAA8pB,KAEA+0F,IAAAI,EAAAn1F,EAAA,WAEAE,EAAA00F,EAAA1+G,KAAA8pB,EAAAljB,GAEAi4G,GAAA70F,IACAF,EAAA,UAAAA,EAAA++B,OAAA7+B,EAAAL,MAAAK,EAAA,GAAA1kB,OAAA25G,GAEAD,GAAAh1F,KAAA1kB,OAAA,GAIAq5G,EAAA3+G,KAAAgqB,EAAA,GAAAk1F,EAAA,WACA,IAAAp/G,EAAA,EAAmBA,EAAAiE,UAAAuB,OAAA,EAA0BxF,QAC7C4I,KAAA3E,UAAAjE,KAAAkqB,EAAAlqB,OAAA4I,MAKAshB,IAIA3qB,EAAAD,QAAAw/G,GnJuj7BM,SAAUv/G,EAAQD,EAASO,GAEjC,YoJjn7BA,IAAA+yB,GAAS/yB,EAAQ,MAAc,EAI/BN,GAAAD,QAAA,SAAAqqD,EAAA9/B,EAAA6vD,GACA,MAAA7vD,IAAA6vD,EAAA9mD,EAAA+2B,EAAA9/B,GAAArkB,OAAA,KpJyn7BM,SAAUjG,EAAQD,EAASO,GqJ/n7BjC,GAaAm0B,GAAAumC,EAAA8kD,EAbApqE,EAAUp1C,EAAQ,IAClBgzB,EAAahzB,EAAQ,KACrBwY,EAAWxY,EAAQ,KACnBy/G,EAAUz/G,EAAQ,KAClBkpD,EAAalpD,EAAQ,GACrBo3D,EAAAlO,EAAAkO,QACAsoD,EAAAx2D,EAAAsR,aACAmlD,EAAAz2D,EAAA02D,eACAnlD,EAAAvR,EAAAuR,eACAolD,EAAA32D,EAAA22D,SACAC,EAAA,EACAr0B,KAGA4B,EAAA,WACA,GAAA9oF,IAAAzE,IAEA,IAAA2rF,EAAAnqF,eAAAiD,GAAA,CACA,GAAAQ,GAAA0mF,EAAAlnF,SACAknF,GAAAlnF,GACAQ,MAGAg7G,EAAA,SAAAtuF,GACA47D,EAAAhtF,KAAAoxB,EAAAluB,MAGAm8G,IAAAC,IACAD,EAAA,SAAA36G,GAGA,IAFA,GAAAyD,MACArI,EAAA,EACAiE,UAAAuB,OAAAxF,GAAAqI,EAAA8C,KAAAlH,UAAAjE,KAMA,OALAsrF,KAAAq0B,GAAA,WAEA9sF,EAAA,kBAAAjuB,KAAAqlD,SAAArlD,GAAAyD,IAEA2rB,EAAA2rF,GACAA,GAEAH,EAAA,SAAAp7G,SACAknF,GAAAlnF,IAGsB,WAAhBvE,EAAQ,IAAQo3D,GACtBjjC,EAAA,SAAA5vB,GACA6yD,EAAAjC,SAAA/f,EAAAi4C,EAAA9oF,EAAA,KAGGs7G,KAAAj1B,IACHz2D,EAAA,SAAA5vB,GACAs7G,EAAAj1B,IAAAx1C,EAAAi4C,EAAA9oF,EAAA,KAGGk2D,GACHC,EAAA,GAAAD,GACA+kD,EAAA9kD,EAAAI,MACAJ,EAAAC,MAAAC,UAAAmlD,EACA5rF,EAAAihB,EAAAoqE,EAAAzkD,YAAAykD,EAAA,IAGGt2D,EAAA+c,kBAAA,kBAAAlL,eAAA7R,EAAA82D,eACH7rF,EAAA,SAAA5vB,GACA2kD,EAAA6R,YAAAx2D,EAAA,SAEA2kD,EAAA+c,iBAAA,UAAA85C,GAAA,IAGA5rF,EAvDA,sBAsDGsrF,GAAA,UACH,SAAAl7G,GACAiU,EAAA22C,YAAAswD,EAAA,yCACAjnG,EAAAytE,YAAAnmF,MACAutF,EAAAhtF,KAAAkE,KAKA,SAAAA,GACAuL,WAAAslC,EAAAi4C,EAAA9oF,EAAA,QAIA7E,EAAAD,SACAmQ,IAAA8vG,EACAz/F,MAAA0/F,IrJuo7BM,SAAUjgH,EAAQD,EAASO,GsJzt7BjC,GAAAkpD,GAAalpD,EAAQ,GACrBigH,EAAgBjgH,EAAQ,KAAS4P,IACjCswG,EAAAh3D,EAAAi3D,kBAAAj3D,EAAAk3D,uBACAhpD,EAAAlO,EAAAkO,QACAzC,EAAAzL,EAAAyL,QACAiuB,EAA6B,WAAhB5iF,EAAQ,IAAQo3D,EAE7B13D,GAAAD,QAAA,WACA,GAAAs6D,GAAAruB,EAAAxmC,EAEA20D,EAAA,WACA,GAAA7jD,GAAAjR,CAEA,KADA69E,IAAA5sE,EAAAohD,EAAAluB,SAAAlzB,EAAAqkD,OACAN,GAAA,CACAh1D,EAAAg1D,EAAAh1D,GACAg1D,IAAAjkC,IACA,KACA/wB,IACO,MAAA6E,GAGP,KAFAmwD,GAAA70D,IACAwmC,MAAA3iC,GACAa,GAEK8hC,MAAA3iC,GACLiN,KAAAgkD,QAIA,IAAA4oB,EACA19E,EAAA,WACAkyD,EAAAjC,SAAA0E,QAGG,KAAAqmD,GAAAh3D,EAAAxL,WAAAwL,EAAAxL,UAAA2iE,WAQA,GAAA1rD,KAAAjD,QAAA,CAEH,GAAAG,GAAA8C,EAAAjD,YAAA3oD,GACA7D,GAAA,WACA2sD,EAAAJ,KAAAoI,QASA30D,GAAA,WAEA+6G,EAAA5/G,KAAA6oD,EAAA2Q,QAvBG,CACH,GAAApmD,IAAA,EACAq0E,EAAA/+C,SAAA+8C,eAAA,GACA,IAAAo6B,GAAArmD,GAAAymD,QAAAx4B,GAAuCy4B,eAAA,IACvCr7G,EAAA,WACA4iF,EAAAvkF,KAAAkQ,MAsBA,gBAAA1O,GACA,GAAA+0D,IAAgB/0D,KAAA+wB,SAAA/sB,GAChB2iC,OAAA5V,KAAAgkC,GACAC,IACAA,EAAAD,EACA50D,KACKwmC,EAAAouB,KtJku7BC,SAAUp6D,EAAQD,EAASO,GAEjC,YuJly7BA,SAAAwgH,GAAA19C,GACA,GAAApR,GAAAE,CACA9xD,MAAA+xD,QAAA,GAAAiR,GAAA,SAAA29C,EAAAC,GACA,OAAA33G,KAAA2oD,OAAA3oD,KAAA6oD,EAAA,KAAA3uB,WAAA,0BACAyuB,GAAA+uD,EACA7uD,EAAA8uD,IAEA5gH,KAAA4xD,QAAA+X,EAAA/X,GACA5xD,KAAA8xD,OAAA6X,EAAA7X;;AAVA,GAAA6X,GAAgBzpE,EAAQ,GAaxBN,GAAAD,QAAA4yD,EAAA,SAAAyQ,GACA,UAAA09C,GAAA19C,KvJ6y7BM,SAAUpjE,EAAQD,EAASO,GAEjC,YwJtx7BA,SAAA2gH,GAAAx+G,EAAAy+G,EAAAC,GACA,GAOAj3G,GAAAtJ,EAAAC,EAPA8uE,EAAA,GAAA5mE,OAAAo4G,GACAC,EAAA,EAAAD,EAAAD,EAAA,EACAG,GAAA,GAAAD,GAAA,EACAE,EAAAD,GAAA,EACAE,EAAA,KAAAL,EAAAM,EAAA,OAAAA,EAAA,SACA/gH,EAAA,EACAqB,EAAAW,EAAA,OAAAA,GAAA,EAAAA,EAAA,KAkCA,KAhCAA,EAAAg/G,EAAAh/G,GAEAA,UAAAw4C,GAEAr6C,EAAA6B,KAAA,IACAyH,EAAAm3G,IAEAn3G,EAAA4jB,EAAAzhB,EAAA5J,GAAAi/G,GACAj/G,GAAA5B,EAAA2gH,EAAA,GAAAt3G,IAAA,IACAA,IACArJ,GAAA,GAGA4B,GADAyH,EAAAo3G,GAAA,EACAC,EAAA1gH,EAEA0gH,EAAAC,EAAA,IAAAF,GAEA7+G,EAAA5B,GAAA,IACAqJ,IACArJ,GAAA,GAEAqJ,EAAAo3G,GAAAD,GACAzgH,EAAA,EACAsJ,EAAAm3G,GACKn3G,EAAAo3G,GAAA,GACL1gH,GAAA6B,EAAA5B,EAAA,GAAA2gH,EAAA,EAAAN,GACAh3G,GAAAo3G,IAEA1gH,EAAA6B,EAAA++G,EAAA,EAAAF,EAAA,GAAAE,EAAA,EAAAN,GACAh3G,EAAA,IAGQg3G,GAAA,EAAWvxC,EAAAlvE,KAAA,IAAAG,KAAA,IAAAsgH,GAAA,GAGnB,IAFAh3G,KAAAg3G,EAAAtgH,EACAwgH,GAAAF,EACQE,EAAA,EAAUzxC,EAAAlvE,KAAA,IAAAyJ,KAAA,IAAAk3G,GAAA,GAElB,MADAzxC,KAAAlvE,IAAA,IAAAqB,EACA6tE,EAEA,QAAAgyC,GAAAhyC,EAAAuxC,EAAAC,GACA,GAOAvgH,GAPAwgH,EAAA,EAAAD,EAAAD,EAAA,EACAG,GAAA,GAAAD,GAAA,EACAE,EAAAD,GAAA,EACAO,EAAAR,EAAA,EACA3gH,EAAA0gH,EAAA,EACAr/G,EAAA6tE,EAAAlvE,KACAyJ,EAAA,IAAApI,CAGA,KADAA,IAAA,EACQ8/G,EAAA,EAAW13G,EAAA,IAAAA,EAAAylE,EAAAlvE,OAAAmhH,GAAA,GAInB,IAHAhhH,EAAAsJ,GAAA,IAAA03G,GAAA,EACA13G,KAAA03G,EACAA,GAAAV,EACQU,EAAA,EAAWhhH,EAAA,IAAAA,EAAA+uE,EAAAlvE,OAAAmhH,GAAA,GACnB,OAAA13G,EACAA,EAAA,EAAAo3G,MACG,IAAAp3G,IAAAm3G,EACH,MAAAzgH,GAAAihH,IAAA//G,GAAAm5C,GAEAr6C,IAAA4gH,EAAA,EAAAN,GACAh3G,GAAAo3G,EACG,OAAAx/G,GAAA,KAAAlB,EAAA4gH,EAAA,EAAAt3G,EAAAg3G,GAGH,QAAAY,GAAAC,GACA,MAAAA,GAAA,OAAAA,EAAA,OAAAA,EAAA,MAAAA,EAAA,GAEA,QAAAC,GAAAj2D,GACA,WAAAA,GAEA,QAAAk2D,GAAAl2D,GACA,WAAAA,KAAA,OAEA,QAAAm2D,GAAAn2D,GACA,WAAAA,KAAA,MAAAA,GAAA,OAAAA,GAAA,QAEA,QAAAo2D,GAAAp2D,GACA,MAAAk1D,GAAAl1D,EAAA,MAEA,QAAAq2D,GAAAr2D,GACA,MAAAk1D,GAAAl1D,EAAA,MAGA,QAAAmkB,GAAA9M,EAAA74D,EAAA60B,GACAszB,EAAA0Q,EAAAi/C,GAAA93G,GAAyBjJ,IAAA,WAAmB,MAAAlB,MAAAg/B,MAG5C,QAAA99B,GAAAqS,EAAAouG,EAAAz3F,EAAAg4F,GACA,GAAAC,IAAAj4F,EACAk4F,EAAAz2C,EAAAw2C,EACA,IAAAC,EAAAT,EAAApuG,EAAA8uG,GAAA,KAAAx1C,GAAAy1C,EACA,IAAAp0D,GAAA36C,EAAAgvG,GAAAC,GACAxzF,EAAAozF,EAAA7uG,EAAAkvG,GACAC,EAAAx0D,EAAAtlD,MAAAomB,IAAA2yF,EACA,OAAAO,GAAAQ,IAAAtwE,UAEA,QAAAtiC,GAAAyD,EAAAouG,EAAAz3F,EAAAy4F,EAAAtgH,EAAA6/G,GACA,GAAAC,IAAAj4F,EACAk4F,EAAAz2C,EAAAw2C,EACA,IAAAC,EAAAT,EAAApuG,EAAA8uG,GAAA,KAAAx1C,GAAAy1C,EAIA,QAHAp0D,GAAA36C,EAAAgvG,GAAAC,GACAxzF,EAAAozF,EAAA7uG,EAAAkvG,GACAC,EAAAC,GAAAtgH,GACAhC,EAAA,EAAiBA,EAAAshH,EAAWthH,IAAA6tD,EAAAl/B,EAAA3uB,GAAAqiH,EAAAR,EAAA7hH,EAAAshH,EAAAthH,EAAA,GAxJ5B,GAAA+oD,GAAalpD,EAAQ,GACrBy3E,EAAkBz3E,EAAQ,IAC1BmrE,EAAcnrE,EAAQ,IACtBorE,EAAaprE,EAAQ,KACrBu0B,EAAWv0B,EAAQ,IACnBwrE,EAAkBxrE,EAAQ,IAC1BsnE,EAAYtnE,EAAQ,GACpBsrE,EAAiBtrE,EAAQ,IACzBouD,EAAgBpuD,EAAQ,IACxBwqE,EAAexqE,EAAQ,IACvByrE,EAAczrE,EAAQ,KACtB6rE,EAAW7rE,EAAQ,IAAgBqyD,EACnCD,EAASpyD,EAAQ,IAAcqyD,EAC/Bka,EAAgBvsE,EAAQ,KACxBo/E,EAAqBp/E,EAAQ,IAG7B+hH,EAAA,YAEAK,EAAA,eACAt1C,EAAA5jB,EAAA,YACA8jB,EAAA9jB,EAAA,SACA37B,EAAA27B,EAAA37B,KACAo/C,EAAAzjB,EAAAyjB,WAEAhyB,EAAAuO,EAAAvO,SACA+nE,EAAA51C,EACAq0C,EAAA5zF,EAAA4zF,IACAD,EAAA3zF,EAAA2zF,IACA1zF,EAAAD,EAAAC,MACAzhB,EAAAwhB,EAAAxhB,IACAq1G,EAAA7zF,EAAA6zF,IAIAiB,EAAA5qC,EAAA,KAHA,SAIA0qC,EAAA1qC,EAAA,KAHA,aAIA8qC,EAAA9qC,EAAA,KAHA,YAyHA,IAAArM,EAAAmH,IAgFC,CACD,IAAAjL,EAAA,WACAwF,EAAA,OACGxF,EAAA,WACH,GAAAwF,IAAA,MACGxF,EAAA,WAIH,MAHA,IAAAwF,GACA,GAAAA,GAAA,KACA,GAAAA,GAAAy0C,KApOA,eAqOAz0C,EAAArsE,OACG,CACHqsE,EAAA,SAAAnnE,GAEA,MADA2lE,GAAAxrE,KAAAgtE,GACA,GAAA41C,GAAAj3C,EAAA9lE,IAGA,QAAAsE,GADA04G,EAAA71C,EAAAi1C,GAAAW,EAAAX,GACA33G,EAAAyhE,EAAA62C,GAAArhF,EAAA,EAAiDj3B,EAAAzE,OAAA07B,IACjDp3B,EAAAG,EAAAi3B,OAAAyrC,IAAAv4C,EAAAu4C,EAAA7iE,EAAAy4G,EAAAz4G,GAEAkhE,KAAAw3C,EAAAz+G,YAAA4oE,GAGA,GAAAz5D,GAAA,GAAA25D,GAAA,GAAAF,GAAA,IACA81C,EAAA51C,EAAA+0C,GAAAc,OACAxvG,GAAAwvG,QAAA,cACAxvG,EAAAwvG,QAAA,eACAxvG,EAAAyvG,QAAA,IAAAzvG,EAAAyvG,QAAA,IAAAt3C,EAAAwB,EAAA+0C,IACAc,QAAA,SAAA1xC,EAAAhvE,GACAygH,EAAAviH,KAAAP,KAAAqxE,EAAAhvE,GAAA,SAEA4gH,SAAA,SAAA5xC,EAAAhvE,GACAygH,EAAAviH,KAAAP,KAAAqxE,EAAAhvE,GAAA,WAEG,OAhHH2qE,GAAA,SAAAnnE,GACA2lE,EAAAxrE,KAAAgtE,EA9IA,cA+IA,IAAAgG,GAAArH,EAAA9lE,EACA7F,MAAAwiH,GAAA/1C,EAAAlsE,KAAA,GAAAoI,OAAAqqE,GAAA,GACAhzE,KAAAqiH,GAAArvC,GAGA9F,EAAA,SAAAqC,EAAA8B,EAAA2B,GACAxH,EAAAxrE,KAAAktE,EApJA,YAqJA1B,EAAA+D,EAAAvC,EArJA,WAsJA,IAAAk2C,GAAA3zC,EAAA8yC,GACAptF,EAAAq5B,EAAA+iB,EACA,IAAAp8C,EAAA,GAAAA,EAAAiuF,EAAA,KAAAr2C,GAAA,gBAEA,IADAmG,MAAA/pE,KAAA+pE,EAAAkwC,EAAAjuF,EAAAy1C,EAAAsI,GACA/9C,EAAA+9C,EAAAkwC,EAAA,KAAAr2C,GAxJA,gBAyJA7sE,MAAAuiH,GAAAhzC,EACAvvE,KAAAyiH,GAAAxtF,EACAj1B,KAAAqiH,GAAArvC,GAGA2E,IACA7H,EAAA9C,EAhJA,aAgJA,MACA8C,EAAA5C,EAlJA,SAkJA,MACA4C,EAAA5C,EAlJA,aAkJA,MACA4C,EAAA5C,EAlJA,aAkJA,OAGAxB,EAAAwB,EAAA+0C,IACAe,QAAA,SAAA3xC,GACA,MAAAnwE,GAAAlB,KAAA,EAAAqxE,GAAA,YAEA8xC,SAAA,SAAA9xC,GACA,MAAAnwE,GAAAlB,KAAA,EAAAqxE,GAAA,IAEA+xC,SAAA,SAAA/xC,GACA,GAAAswC,GAAAzgH,EAAAlB,KAAA,EAAAqxE,EAAA/sE,UAAA,GACA,QAAAq9G,EAAA,MAAAA,EAAA,aAEA0B,UAAA,SAAAhyC,GACA,GAAAswC,GAAAzgH,EAAAlB,KAAA,EAAAqxE,EAAA/sE,UAAA,GACA,OAAAq9G,GAAA,MAAAA,EAAA,IAEA2B,SAAA,SAAAjyC,GACA,MAAAqwC,GAAAxgH,EAAAlB,KAAA,EAAAqxE,EAAA/sE,UAAA,MAEAi/G,UAAA,SAAAlyC,GACA,MAAAqwC,GAAAxgH,EAAAlB,KAAA,EAAAqxE,EAAA/sE,UAAA,UAEAk/G,WAAA,SAAAnyC,GACA,MAAAkwC,GAAArgH,EAAAlB,KAAA,EAAAqxE,EAAA/sE,UAAA,WAEAm/G,WAAA,SAAApyC,GACA,MAAAkwC,GAAArgH,EAAAlB,KAAA,EAAAqxE,EAAA/sE,UAAA,WAEAy+G,QAAA,SAAA1xC,EAAAhvE,GACAyN,EAAA9P,KAAA,EAAAqxE,EAAAuwC,EAAAv/G,IAEA4gH,SAAA,SAAA5xC,EAAAhvE,GACAyN,EAAA9P,KAAA,EAAAqxE,EAAAuwC,EAAAv/G,IAEAqhH,SAAA,SAAAryC,EAAAhvE,GACAyN,EAAA9P,KAAA,EAAAqxE,EAAAwwC,EAAAx/G,EAAAiC,UAAA,KAEAq/G,UAAA,SAAAtyC,EAAAhvE,GACAyN,EAAA9P,KAAA,EAAAqxE,EAAAwwC,EAAAx/G,EAAAiC,UAAA,KAEAs/G,SAAA,SAAAvyC,EAAAhvE,GACAyN,EAAA9P,KAAA,EAAAqxE,EAAAywC,EAAAz/G,EAAAiC,UAAA,KAEAu/G,UAAA,SAAAxyC,EAAAhvE,GACAyN,EAAA9P,KAAA,EAAAqxE,EAAAywC,EAAAz/G,EAAAiC,UAAA,KAEAw/G,WAAA,SAAAzyC,EAAAhvE,GACAyN,EAAA9P,KAAA,EAAAqxE,EAAA2wC,EAAA3/G,EAAAiC,UAAA,KAEAy/G,WAAA,SAAA1yC,EAAAhvE,GACAyN,EAAA9P,KAAA,EAAAqxE,EAAA0wC,EAAA1/G,EAAAiC,UAAA,MAsCAg7E,GAAAtS,EA/PA,eAgQAsS,EAAApS,EA/PA,YAgQAz4C,EAAAy4C,EAAA+0C,GAAA32C,EAAAlgB,MAAA,GACAzrD,EAAA,YAAAqtE,EACArtE,EAAA,SAAAutE,GxJq07BM,SAAUttE,EAAQD,EAASO,GyJxl8BjC,GAAAw4B,GAAA9H;;;CAKA,WA4KA,QAAAozF,GAAA13G,GAGA,QAAA2jE,GAAAruE,EAAAqiH,EAAAn+E,EAAAx7B,EAAA4f,EAAArkB,GACA,KAAYqkB,GAAA,GAAAA,EAAArkB,EAA8BqkB,GAAA5d,EAAA,CAC1C,GAAA43G,GAAA55G,IAAA4f,IACA4b,GAAAm+E,EAAAn+E,EAAAlkC,EAAAsiH,KAAAtiH,GAEA,MAAAkkC,GAGA,gBAAAlkC,EAAAqiH,EAAAn+E,EAAA/iC,GACAkhH,EAAAE,EAAAF,EAAAlhH,EAAA,EACA,IAAAuH,IAAAy2E,EAAAn/E,IAAAc,EAAA4H,KAAA1I,GACAiE,GAAAyE,GAAA1I,GAAAiE,OACAqkB,EAAA5d,EAAA,IAAAzG,EAAA,CAMA,OAJAvB,WAAAuB,OAAA,IACAigC,EAAAlkC,EAAA0I,IAAA4f,MACAA,GAAA5d,GAEA2jE,EAAAruE,EAAAqiH,EAAAn+E,EAAAx7B,EAAA4f,EAAArkB,IA+ZA,QAAAu+G,GAAA93G,GACA,gBAAA+4C,EAAAsrB,EAAA5tE,GACA4tE,EAAA7+C,EAAA6+C,EAAA5tE,EAGA,KAFA,GAAA8C,GAAAw+G,EAAAh/D,GACAn7B,EAAA5d,EAAA,IAAAzG,EAAA,EACYqkB,GAAA,GAAAA,EAAArkB,EAA8BqkB,GAAA5d,EAC1C,GAAAqkE,EAAAtrB,EAAAn7B,KAAAm7B,GAAA,MAAAn7B,EAEA,WAsBA,QAAAo6F,GAAAh4G,EAAAi4G,EAAAC,GACA,gBAAAn/D,EAAAjhB,EAAAqqB,GACA,GAAApuD,GAAA,EAAAwF,EAAAw+G,EAAAh/D,EACA,oBAAAoJ,GACAniD,EAAA,EACAjM,EAAAouD,GAAA,EAAAA,EAAAhhC,KAAA/C,IAAA+jC,EAAA5oD,EAAAxF,GAEAwF,EAAA4oD,GAAA,EAAAhhC,KAAAhD,IAAAgkC,EAAA,EAAA5oD,GAAA4oD,EAAA5oD,EAAA,MAEO,IAAA2+G,GAAA/1D,GAAA5oD,EAEP,MADA4oD,GAAA+1D,EAAAn/D,EAAAjhB,GACAihB,EAAAoJ,KAAArqB,EAAAqqB,GAAA,CAEA,IAAArqB,MAEA,MADAqqB,GAAA81D,EAAA37G,EAAArI,KAAA8kD,EAAAhlD,EAAAwF,GAAAnD,EAAA2lB,OACAomC,GAAA,EAAAA,EAAApuD,GAAA,CAEA,KAAAouD,EAAAniD,EAAA,EAAAjM,EAAAwF,EAAA,EAA0C4oD,GAAA,GAAAA,EAAA5oD,EAA0B4oD,GAAAniD,EACpE,GAAA+4C,EAAAoJ,KAAArqB,EAAA,MAAAqqB,EAEA,WAqPA,QAAAg2D,GAAA7iH,EAAA0I,GACA,GAAAo6G,GAAAC,EAAA9+G,OACAzB,EAAAxC,EAAAwC,YACAD,EAAAzB,EAAAQ,WAAAkB,MAAA7C,WAAAqjH,EAGAx1G,EAAA,aAGA,KAFA1M,EAAAgqB,IAAA9qB,EAAAwN,KAAA1M,EAAA+O,SAAAnH,EAAA8E,IAAA9E,EAAAkB,KAAA4D,GAEAs1G,MACAt1G,EAAAu1G,EAAAD,KACA9iH,MAAAwN,KAAAjL,EAAAiL,KAAA1M,EAAA+O,SAAAnH,EAAA8E,IACA9E,EAAAkB,KAAA4D,GA74BA,GAAA3P,GAAAO,KAGA6kH,EAAAplH,EAAAiD,EAGAqqE,EAAApkE,MAAApH,UAAAqjH,EAAA9jH,OAAAS,UAAAujH,EAAAx6D,SAAA/oD,UAIAiK,EAAAuhE,EAAAvhE,KACA5C,EAAAmkE,EAAAnkE,MACAgC,EAAAg6G,EAAAh6G,SACApJ,EAAAojH,EAAApjH,eAKAujH,EAAAp8G,MAAAkI,QACAm0G,EAAAlkH,OAAAwJ,KACA26G,EAAAH,EAAA7+G,KACAi/G,EAAApkH,OAAA4Q,OAGAyzG,EAAA,aAGAziH,EAAA,SAAAd,GACA,MAAAA,aAAAc,GAAAd,EACA5B,eAAA0C,QACA1C,KAAAolH,SAAAxjH,GADA,GAAAc,GAAAd,QAQA,KAAAhC,KAAAD,UACAA,EAAAC,EAAAD,QAAA+C,GAEA/C,EAAA+C,IAMAA,EAAA2iH,QAAA,OAKA,IAAAlB,GAAA,SAAAvsG,EAAA7U,EAAAuiH,GACA,YAAAviH,EAAA,MAAA6U,EACA,cAAA0tG,EAAA,EAAAA,GACA,uBAAAjjH,GACA,MAAAuV,GAAArX,KAAAwC,EAAAV,GAEA,wBAAAA,EAAAkjH,GACA,MAAA3tG,GAAArX,KAAAwC,EAAAV,EAAAkjH,GAEA,wBAAAljH,EAAA6nB,EAAA9K,GACA,MAAAxH,GAAArX,KAAAwC,EAAAV,EAAA6nB,EAAA9K,GAEA,wBAAAomG,EAAAnjH,EAAA6nB,EAAA9K,GACA,MAAAxH,GAAArX,KAAAwC,EAAAyiH,EAAAnjH,EAAA6nB,EAAA9K,IAGA,kBACA,MAAAxH,GAAAvT,MAAAtB,EAAAuB,aAOAwtB,EAAA,SAAAzvB,EAAAU,EAAAuiH,GACA,aAAAjjH,EAAAK,EAAA4uC,SACA5uC,EAAAQ,WAAAb,GAAA8hH,EAAA9hH,EAAAU,EAAAuiH,GACA5iH,EAAAO,SAAAZ,GAAAK,EAAA4f,QAAAjgB,GACAK,EAAApB,SAAAe,GAEAK,GAAAuhH,SAAA,SAAA5hH,EAAAU,GACA,MAAA+uB,GAAAzvB,EAAAU,EAAA83C,KAIA,IAAA4qE,GAAA,SAAAC,EAAAC,GACA,gBAAA/jH,GACA,GAAAiE,GAAAvB,UAAAuB,MACA,IAAAA,EAAA,SAAAjE,EAAA,MAAAA,EACA,QAAAsoB,GAAA,EAAyBA,EAAArkB,EAAgBqkB,IAIzC,OAHA1mB,GAAAc,UAAA4lB,GACA5f,EAAAo7G,EAAAliH,GACAlD,EAAAgK,EAAAzE,OACAxF,EAAA,EAAuBA,EAAAC,EAAOD,IAAA,CAC9B,GAAA8J,GAAAG,EAAAjK,EACAslH,QAAA,KAAA/jH,EAAAuI,KAAAvI,EAAAuI,GAAA3G,EAAA2G,IAGA,MAAAvI,KAKAgkH,EAAA,SAAArkH,GACA,IAAAmB,EAAAO,SAAA1B,GAAA,QACA,IAAA2jH,EAAA,MAAAA,GAAA3jH,EACA4jH,GAAA5jH,WACA,IAAAuT,GAAA,GAAAqwG,EAEA,OADAA,GAAA5jH,UAAA,KACAuT,GAGAxT,EAAA,SAAA6I,GACA,gBAAAvI,GACA,aAAAA,MAAA,GAAAA,EAAAuI,KAQA07G,EAAAp4F,KAAA2zF,IAAA,QACAiD,EAAA/iH,EAAA,UACAy/E,EAAA,SAAA3hE,GACA,GAAAvZ,GAAAw+G,EAAAjlG,EACA,uBAAAvZ,OAAA,GAAAA,GAAAggH,EASAnjH,GAAAsO,KAAAtO,EAAAyhC,QAAA,SAAAviC,EAAAqiH,EAAAlhH,GACAkhH,EAAAE,EAAAF,EAAAlhH,EACA,IAAA1C,GAAAwF,CACA,IAAAk7E,EAAAn/E,GACA,IAAAvB,EAAA,EAAAwF,EAAAjE,EAAAiE,OAAsCxF,EAAAwF,EAAYxF,IAClD4jH,EAAAriH,EAAAvB,KAAAuB,OAEK,CACL,GAAA0I,GAAA5H,EAAA4H,KAAA1I,EACA,KAAAvB,EAAA,EAAAwF,EAAAyE,EAAAzE,OAAuCxF,EAAAwF,EAAYxF,IACnD4jH,EAAAriH,EAAA0I,EAAAjK,IAAAiK,EAAAjK,GAAAuB,GAGA,MAAAA,IAIAc,EAAAkP,IAAAlP,EAAAy4D,QAAA,SAAAv5D,EAAAqiH,EAAAlhH,GACAkhH,EAAAnyF,EAAAmyF,EAAAlhH,EAIA,QAHAuH,IAAAy2E,EAAAn/E,IAAAc,EAAA4H,KAAA1I,GACAiE,GAAAyE,GAAA1I,GAAAiE,OACAsxC,EAAAxuC,MAAA9C,GACAqkB,EAAA,EAAuBA,EAAArkB,EAAgBqkB,IAAA,CACvC,GAAAg6F,GAAA55G,IAAA4f,IACAitB,GAAAjtB,GAAA+5F,EAAAriH,EAAAsiH,KAAAtiH,GAEA,MAAAu1C,IA+BAz0C,EAAA4oB,OAAA5oB,EAAAojH,MAAApjH,EAAAqjH,OAAA/B,EAAA,GAGAthH,EAAAyrE,YAAAzrE,EAAAsjH,MAAAhC,GAAA,GAGAthH,EAAA0U,KAAA1U,EAAAujH,OAAA,SAAArkH,EAAA+uE,EAAA5tE,GACA,GAAAoH,EAMA,cAJAA,EADA42E,EAAAn/E,GACAc,EAAAwqB,UAAAtrB,EAAA+uE,EAAA5tE,GAEAL,EAAAkqB,QAAAhrB,EAAA+uE,EAAA5tE,MAEA,IAAAoH,EAAA,MAAAvI,GAAAuI,IAKAzH,EAAAsqB,OAAAtqB,EAAAgyB,OAAA,SAAA9yB,EAAA+uE,EAAA5tE,GACA,GAAAo0C,KAKA,OAJAw5B,GAAA7+C,EAAA6+C,EAAA5tE,GACAL,EAAAsO,KAAApP,EAAA,SAAAS,EAAA6nB,EAAA0lD,GACAe,EAAAtuE,EAAA6nB,EAAA0lD,IAAAz4B,EAAA3rC,KAAAnJ,KAEA80C,GAIAz0C,EAAAovD,OAAA,SAAAlwD,EAAA+uE,EAAA5tE,GACA,MAAAL,GAAAsqB,OAAAprB,EAAAc,EAAAwjH,OAAAp0F,EAAA6+C,IAAA5tE,IAKAL,EAAAmxB,MAAAnxB,EAAAymB,IAAA,SAAAvnB,EAAA+uE,EAAA5tE,GACA4tE,EAAA7+C,EAAA6+C,EAAA5tE,EAGA,QAFAuH,IAAAy2E,EAAAn/E,IAAAc,EAAA4H,KAAA1I,GACAiE,GAAAyE,GAAA1I,GAAAiE,OACAqkB,EAAA,EAAuBA,EAAArkB,EAAgBqkB,IAAA,CACvC,GAAAg6F,GAAA55G,IAAA4f,IACA,KAAAymD,EAAA/uE,EAAAsiH,KAAAtiH,GAAA,SAEA,UAKAc,EAAA+tB,KAAA/tB,EAAA22D,IAAA,SAAAz3D,EAAA+uE,EAAA5tE,GACA4tE,EAAA7+C,EAAA6+C,EAAA5tE,EAGA,QAFAuH,IAAAy2E,EAAAn/E,IAAAc,EAAA4H,KAAA1I,GACAiE,GAAAyE,GAAA1I,GAAAiE,OACAqkB,EAAA,EAAuBA,EAAArkB,EAAgBqkB,IAAA,CACvC,GAAAg6F,GAAA55G,IAAA4f,IACA,IAAAymD,EAAA/uE,EAAAsiH,KAAAtiH,GAAA,SAEA,UAKAc,EAAA+O,SAAA/O,EAAAmuE,SAAAnuE,EAAAyjH,QAAA,SAAAvkH,EAAAwiC,EAAAs5C,EAAA0oC,GAGA,MAFArlC,GAAAn/E,OAAAc,EAAAuc,OAAArd,KACA,gBAAA87E,IAAA0oC,KAAA1oC,EAAA,GACAh7E,EAAAykB,QAAAvlB,EAAAwiC,EAAAs5C,IAAA,GAIAh7E,EAAAwwB,OAAA,SAAAtxB,EAAAgT,GACA,GAAAlM,GAAAE,EAAArI,KAAA+D,UAAA,GACA+hH,EAAA3jH,EAAAQ,WAAA0R,EACA,OAAAlS,GAAAkP,IAAAhQ,EAAA,SAAAS,GACA,GAAAuV,GAAAyuG,EAAAzxG,EAAAvS,EAAAuS,EACA,cAAAgD,MAAAvT,MAAAhC,EAAAqG,MAKAhG,EAAA0oB,MAAA,SAAAxpB,EAAAuI,GACA,MAAAzH,GAAAkP,IAAAhQ,EAAAc,EAAApB,SAAA6I,KAKAzH,EAAAy/B,MAAA,SAAAvgC,EAAA+d,GACA,MAAAjd,GAAAsqB,OAAAprB,EAAAc,EAAA4f,QAAA3C,KAKAjd,EAAAigE,UAAA,SAAA/gE,EAAA+d,GACA,MAAAjd,GAAA0U,KAAAxV,EAAAc,EAAA4f,QAAA3C,KAIAjd,EAAAgoB,IAAA,SAAA9oB,EAAAqiH,EAAAlhH,GACA,GACAV,GAAAqnG,EADA50F,GAAA+lC,IAAAyrE,GAAAzrE,GAEA,UAAAopE,GAAA,MAAAriH,EAAA,CACAA,EAAAm/E,EAAAn/E,KAAAc,EAAAuc,OAAArd,EACA,QAAAvB,GAAA,EAAAwF,EAAAjE,EAAAiE,OAA0CxF,EAAAwF,EAAYxF,KACtDgC,EAAAT,EAAAvB,IACAyU,IACAA,EAAAzS,OAIA4hH,GAAAnyF,EAAAmyF,EAAAlhH,GACAL,EAAAsO,KAAApP,EAAA,SAAAS,EAAA6nB,EAAA0lD,KACA85B,EAAAua,EAAA5hH,EAAA6nB,EAAA0lD,IACA02C,GAAA5c,KAAA7uD,KAAA/lC,KAAA+lC,OACA/lC,EAAAzS,EACAikH,EAAA5c,IAIA,OAAA50F,IAIApS,EAAA+nB,IAAA,SAAA7oB,EAAAqiH,EAAAlhH,GACA,GACAV,GAAAqnG,EADA50F,EAAA+lC,IAAAyrE,EAAAzrE,GAEA,UAAAopE,GAAA,MAAAriH,EAAA,CACAA,EAAAm/E,EAAAn/E,KAAAc,EAAAuc,OAAArd,EACA,QAAAvB,GAAA,EAAAwF,EAAAjE,EAAAiE,OAA0CxF,EAAAwF,EAAYxF,KACtDgC,EAAAT,EAAAvB,IACAyU,IACAA,EAAAzS,OAIA4hH,GAAAnyF,EAAAmyF,EAAAlhH,GACAL,EAAAsO,KAAApP,EAAA,SAAAS,EAAA6nB,EAAA0lD,KACA85B,EAAAua,EAAA5hH,EAAA6nB,EAAA0lD,IACA02C,GAAA5c,IAAA7uD,KAAA/lC,IAAA+lC,OACA/lC,EAAAzS,EACAikH,EAAA5c,IAIA,OAAA50F,IAKApS,EAAA6jH,QAAA,SAAA3kH,GAIA,OAAA67C,GAHA3tC,EAAAixE,EAAAn/E,KAAAc,EAAAuc,OAAArd,GACAiE,EAAAiK,EAAAjK,OACA2gH,EAAA79G,MAAA9C,GACAqkB,EAAA,EAA6BA,EAAArkB,EAAgBqkB,IAC7CuzB,EAAA/6C,EAAA4I,OAAA,EAAA4e,GACAuzB,IAAAvzB,IAAAs8F,EAAAt8F,GAAAs8F,EAAA/oE,IACA+oE,EAAA/oE,GAAA3tC,EAAAoa,EAEA,OAAAs8F,IAMA9jH,EAAA+jH,OAAA,SAAA7kH,EAAAT,EAAAilH,GACA,aAAAjlH,GAAAilH,GACArlC,EAAAn/E,OAAAc,EAAAuc,OAAArd,IACAA,EAAAc,EAAA4I,OAAA1J,EAAAiE,OAAA,KAEAnD,EAAA6jH,QAAA3kH,GAAAgH,MAAA,EAAA6kB,KAAA/C,IAAA,EAAAvpB,KAIAuB,EAAAgkH,OAAA,SAAA9kH,EAAAqiH,EAAAlhH,GAEA,MADAkhH,GAAAnyF,EAAAmyF,EAAAlhH,GACAL,EAAA0oB,MAAA1oB,EAAAkP,IAAAhQ,EAAA,SAAAS,EAAA6nB,EAAA0lD,GACA,OACAvtE,QACA6nB,QACAy8F,SAAA1C,EAAA5hH,EAAA6nB,EAAA0lD,MAEKtB,KAAA,SAAAn5C,EAAAyxF,GACL,GAAAjkH,GAAAwyB,EAAAwxF,SACA1jD,EAAA2jD,EAAAD,QACA,IAAAhkH,IAAAsgE,EAAA,CACA,GAAAtgE,EAAAsgE,OAAA,KAAAtgE,EAAA,QACA,IAAAA,EAAAsgE,OAAA,KAAAA,EAAA,SAEA,MAAA9tC,GAAAjL,MAAA08F,EAAA18F,QACK,SAIL,IAAAzd,GAAA,SAAAo6G,GACA,gBAAAjlH,EAAAqiH,EAAAlhH,GACA,GAAA+R,KAMA,OALAmvG,GAAAnyF,EAAAmyF,EAAAlhH,GACAL,EAAAsO,KAAApP,EAAA,SAAAS,EAAA6nB,GACA,GAAA/f,GAAA85G,EAAA5hH,EAAA6nB,EAAAtoB,EACAilH,GAAA/xG,EAAAzS,EAAA8H,KAEA2K,GAMApS,GAAAokH,QAAAr6G,EAAA,SAAAqI,EAAAzS,EAAA8H,GACAzH,EAAAgqB,IAAA5X,EAAA3K,GAAA2K,EAAA3K,GAAAqB,KAAAnJ,GAAoDyS,EAAA3K,IAAA9H,KAKpDK,EAAAqkH,QAAAt6G,EAAA,SAAAqI,EAAAzS,EAAA8H,GACA2K,EAAA3K,GAAA9H,IAMAK,EAAAskH,QAAAv6G,EAAA,SAAAqI,EAAAzS,EAAA8H,GACAzH,EAAAgqB,IAAA5X,EAAA3K,GAAA2K,EAAA3K,KAA0C2K,EAAA3K,GAAA,IAI1CzH,EAAAie,QAAA,SAAA/e,GACA,MAAAA,GACAc,EAAAmO,QAAAjP,GAAAgH,EAAArI,KAAAqB,GACAm/E,EAAAn/E,GAAAc,EAAAkP,IAAAhQ,EAAAc,EAAA4uC,UACA5uC,EAAAuc,OAAArd,OAIAc,EAAAyO,KAAA,SAAAvP,GACA,aAAAA,EAAA,EACAm/E,EAAAn/E,KAAAiE,OAAAnD,EAAA4H,KAAA1I,GAAAiE,QAKAnD,EAAAukH,UAAA,SAAArlH,EAAA+uE,EAAA5tE,GACA4tE,EAAA7+C,EAAA6+C,EAAA5tE,EACA,IAAAmkH,MAAApvG,IAIA,OAHApV,GAAAsO,KAAApP,EAAA,SAAAS,EAAA8H,EAAAvI,IACA+uE,EAAAtuE,EAAA8H,EAAAvI,GAAAslH,EAAApvG,GAAAtM,KAAAnJ,MAEA6kH,EAAApvG,IASApV,EAAAmP,MAAAnP,EAAAu3D,KAAAv3D,EAAAykH,KAAA,SAAA9hE,EAAAlkD,EAAAilH,GACA,SAAA/gE,EACA,aAAAlkD,GAAAilH,EAAA/gE,EAAA,GACA3iD,EAAAmhF,QAAAx+B,IAAAx/C,OAAA1E,IAMAuB,EAAAmhF,QAAA,SAAAx+B,EAAAlkD,EAAAilH,GACA,MAAAx9G,GAAArI,KAAA8kD,EAAA,EAAA53B,KAAA/C,IAAA,EAAA26B,EAAAx/C,QAAA,MAAA1E,GAAAilH,EAAA,EAAAjlH,MAKAuB,EAAAkpC,KAAA,SAAAyZ,EAAAlkD,EAAAilH,GACA,SAAA/gE,EACA,aAAAlkD,GAAAilH,EAAA/gE,IAAAx/C,OAAA,GACAnD,EAAA4iC,KAAA+f,EAAA53B,KAAA/C,IAAA,EAAA26B,EAAAx/C,OAAA1E,KAMAuB,EAAA4iC,KAAA5iC,EAAA83D,KAAA93D,EAAA0kH,KAAA,SAAA/hE,EAAAlkD,EAAAilH,GACA,MAAAx9G,GAAArI,KAAA8kD,EAAA,MAAAlkD,GAAAilH,EAAA,EAAAjlH,IAIAuB,EAAAuxC,QAAA,SAAAoR,GACA,MAAA3iD,GAAAsqB,OAAAq4B,EAAA3iD,EAAA4uC,UAIA,IAAAlP,GAAA,SAAAxxB,EAAAy2G,EAAAC,EAAAC,GAEA,OADAtjF,MAAAwqB,EAAA,EACApuD,EAAAknH,GAAA,EAAA1hH,EAAAw+G,EAAAzzG,GAA4DvQ,EAAAwF,EAAYxF,IAAA,CACxE,GAAAgC,GAAAuO,EAAAvQ,EACA,IAAA0gF,EAAA1+E,KAAAK,EAAAmO,QAAAxO,IAAAK,EAAA8kH,YAAAnlH,IAAA,CAEAglH,IAAAhlH,EAAA+/B,EAAA//B,EAAAglH,EAAAC,GACA,IAAA/lF,GAAA,EAAAg1B,EAAAl0D,EAAAwD,MAEA,KADAo+B,EAAAp+B,QAAA0wD,EACAh1B,EAAAg1B,GACAtyB,EAAAwqB,KAAApsD,EAAAk/B,SAEO+lF,KACPrjF,EAAAwqB,KAAApsD,GAGA,MAAA4hC,GAIAvhC,GAAA0/B,QAAA,SAAAijB,EAAAgiE,GACA,MAAAjlF,GAAAijB,EAAAgiE,GAAA,IAIA3kH,EAAA2O,QAAA,SAAAg0C,GACA,MAAA3iD,GAAA+kH,WAAApiE,EAAAz8C,EAAArI,KAAA+D,UAAA,KAMA5B,EAAAiQ,KAAAjQ,EAAAkhB,OAAA,SAAAyhC,EAAAqiE,EAAAzD,EAAAlhH,GACAL,EAAAilH,UAAAD,KACA3kH,EAAAkhH,EACAA,EAAAyD,EACAA,GAAA,GAEA,MAAAzD,MAAAnyF,EAAAmyF,EAAAlhH,GAGA,QAFA+R,MACA8yG,KACAvnH,EAAA,EAAAwF,EAAAw+G,EAAAh/D,GAA8ChlD,EAAAwF,EAAYxF,IAAA,CAC1D,GAAAgC,GAAAgjD,EAAAhlD,GACAqpG,EAAAua,IAAA5hH,EAAAhC,EAAAglD,GAAAhjD,CACAqlH,IACArnH,GAAAunH,IAAAle,GAAA50F,EAAAtJ,KAAAnJ,GACAulH,EAAAle,GACOua,EACPvhH,EAAA+O,SAAAm2G,EAAAle,KACAke,EAAAp8G,KAAAk+F,GACA50F,EAAAtJ,KAAAnJ,IAEOK,EAAA+O,SAAAqD,EAAAzS,IACPyS,EAAAtJ,KAAAnJ,GAGA,MAAAyS,IAKApS,EAAAkQ,MAAA,WACA,MAAAlQ,GAAAiQ,KAAAyvB,EAAA99B,WAAA,QAKA5B,EAAAuO,aAAA,SAAAo0C,GAGA,OAFAvwC,MACA+yG,EAAAvjH,UAAAuB,OACAxF,EAAA,EAAAwF,EAAAw+G,EAAAh/D,GAA8ChlD,EAAAwF,EAAYxF,IAAA,CAC1D,GAAA+jC,GAAAihB,EAAAhlD,EACA,KAAAqC,EAAA+O,SAAAqD,EAAAsvB,GAAA,CACA,OAAA7C,GAAA,EAAqBA,EAAAsmF,GACrBnlH,EAAA+O,SAAAnN,UAAAi9B,GAAA6C,GADqC7C,KAGrCA,IAAAsmF,GAAA/yG,EAAAtJ,KAAA44B,IAEA,MAAAtvB,IAKApS,EAAA+kH,WAAA,SAAApiE,GACA,GAAA/f,GAAAlD,EAAA99B,WAAA,OACA,OAAA5B,GAAAsqB,OAAAq4B,EAAA,SAAAhjD,GACA,OAAAK,EAAA+O,SAAA6zB,EAAAjjC,MAMAK,EAAAolH,IAAA,WACA,MAAAplH,GAAAqlH,MAAAzjH,YAKA5B,EAAAqlH,MAAA,SAAA1iE,GAIA,OAHAx/C,GAAAw/C,GAAA3iD,EAAAgoB,IAAA26B,EAAAg/D,GAAAx+G,QAAA,EACAiP,EAAAnM,MAAA9C,GAEAqkB,EAAA,EAAuBA,EAAArkB,EAAgBqkB,IACvCpV,EAAAoV,GAAAxnB,EAAA0oB,MAAAi6B,EAAAn7B,EAEA,OAAApV,IAMApS,EAAArB,OAAA,SAAAuuE,EAAA3wD,GAEA,OADAnK,MACAzU,EAAA,EAAAwF,EAAAw+G,EAAAz0C,GAA6CvvE,EAAAwF,EAAYxF,IACzD4e,EACAnK,EAAA86D,EAAAvvE,IAAA4e,EAAA5e,GAEAyU,EAAA86D,EAAAvvE,GAAA,IAAAuvE,EAAAvvE,GAAA,EAGA,OAAAyU,IAiBApS,EAAAwqB,UAAAk3F,EAAA,GACA1hH,EAAAslH,cAAA5D,GAAA,GAIA1hH,EAAA8hH,YAAA,SAAAn/D,EAAAzjD,EAAAqiH,EAAAlhH,GACAkhH,EAAAnyF,EAAAmyF,EAAAlhH,EAAA,EAGA,KAFA,GAAAV,GAAA4hH,EAAAriH,GACAqmH,EAAA,EAAAjmE,EAAAqiE,EAAAh/D,GACA4iE,EAAAjmE,GAAA,CACA,GAAAkmE,GAAAz6F,KAAAC,OAAAu6F,EAAAjmE,GAAA,EACAiiE,GAAA5+D,EAAA6iE,IAAA7lH,EAAA4lH,EAAAC,EAAA,EAAsDlmE,EAAAkmE,EAEtD,MAAAD,IAgCAvlH,EAAAykB,QAAAm9F,EAAA,EAAA5hH,EAAAwqB,UAAAxqB,EAAA8hH,aACA9hH,EAAAy/C,YAAAmiE,GAAA,EAAA5hH,EAAAslH,eAKAtlH,EAAAylH,MAAA,SAAAn5F,EAAA2gB,EAAAjB,GACA,MAAAiB,IACAA,EAAA3gB,GAAA,EACAA,EAAA,GAEA0f,KAAA,CAKA,QAHA7oC,GAAA4nB,KAAA/C,IAAA+C,KAAAm8C,MAAAj6B,EAAA3gB,GAAA0f,GAAA,GACAy5E,EAAAx/G,MAAA9C,GAEA4oD,EAAA,EAAqBA,EAAA5oD,EAAc4oD,IAAAz/B,GAAA0f,EACnCy5E,EAAA15D,GAAAz/B,CAGA,OAAAm5F,GAQA,IAAAC,GAAA,SAAAC,EAAAC,EAAAvlH,EAAAwlH,EAAA7/G,GACA,KAAA6/G,YAAAD,IAAA,MAAAD,GAAAhkH,MAAAtB,EAAA2F,EACA,IAAA3I,GAAA6lH,EAAAyC,EAAA9mH,WACAuT,EAAAuzG,EAAAhkH,MAAAtE,EAAA2I,EACA,OAAAhG,GAAAO,SAAA6R,KACA/U,EAMA2C,GAAAuD,KAAA,SAAA2R,EAAA7U,GACA,GAAAkiH,GAAArtG,EAAA3R,OAAAg/G,EAAA,MAAAA,GAAA5gH,MAAAuT,EAAAhP,EAAArI,KAAA+D,UAAA,GACA,KAAA5B,EAAAQ,WAAA0U,GAAA,SAAAurB,WAAA,oCACA,IAAAz6B,GAAAE,EAAArI,KAAA+D,UAAA,GACAu5D,EAAA,WACA,MAAAuqD,GAAAxwG,EAAAimD,EAAA96D,EAAA/C,KAAA0I,EAAAgqC,OAAA9pC,EAAArI,KAAA+D,aAEA,OAAAu5D,IAMAn7D,EAAAmqB,QAAA,SAAAjV,GACA,GAAA4wG,GAAA5/G,EAAArI,KAAA+D,UAAA,GACAu5D,EAAA,WAGA,OAFA1nC,GAAA,EAAAtwB,EAAA2iH,EAAA3iH,OACA6C,EAAAC,MAAA9C,GACAxF,EAAA,EAAqBA,EAAAwF,EAAYxF,IACjCqI,EAAArI,GAAAmoH,EAAAnoH,KAAAqC,EAAA4B,UAAA6xB,KAAAqyF,EAAAnoH,EAEA,MAAA81B,EAAA7xB,UAAAuB,QAAA6C,EAAA8C,KAAAlH,UAAA6xB,KACA,OAAAiyF,GAAAxwG,EAAAimD,EAAA79D,UAAA0I,GAEA,OAAAm1D,IAMAn7D,EAAA+lH,QAAA,SAAA7mH,GACA,GAAAvB,GAAA8J,EAAAtE,EAAAvB,UAAAuB,MACA,IAAAA,GAAA,WAAA4C,OAAA,wCACA,KAAApI,EAAA,EAAeA,EAAAwF,EAAYxF,IAC3B8J,EAAA7F,UAAAjE,GACAuB,EAAAuI,GAAAzH,EAAAuD,KAAArE,EAAAuI,GAAAvI,EAEA,OAAAA,IAIAc,EAAAqJ,QAAA,SAAA6L,EAAA8wG,GACA,GAAA38G,GAAA,SAAA5B,GACA,GAAA07B,GAAA95B,EAAA85B,MACA8iF,EAAA,IAAAD,IAAArkH,MAAArE,KAAAsE,WAAA6F,EAEA,OADAzH,GAAAgqB,IAAAmZ,EAAA8iF,KAAA9iF,EAAA8iF,GAAA/wG,EAAAvT,MAAArE,KAAAsE,YACAuhC,EAAA8iF,GAGA,OADA58G,GAAA85B,SACA95B,GAKArJ,EAAAuU,MAAA,SAAAW,EAAAmoF,GACA,GAAAr3F,GAAAE,EAAArI,KAAA+D,UAAA,EACA,OAAA0L,YAAA,WACA,MAAA4H,GAAAvT,MAAA,KAAAqE,IACKq3F,IAKLr9F,EAAA2xB,MAAA3xB,EAAAmqB,QAAAnqB,EAAAuU,MAAAvU,EAAA,GAOAA,EAAAssC,SAAA,SAAAp3B,EAAAmoF,EAAAx6F,GACA,GAAAxC,GAAA2F,EAAAoM,EACAsoD,EAAA,KACAwrD,EAAA,CACArjH,UACA,IAAAsjH,GAAA,WACAD,GAAA,IAAArjH,EAAAujH,QAAA,EAAApmH,EAAAooF,MACA1tB,EAAA,KACAtoD,EAAA8C,EAAAvT,MAAAtB,EAAA2F,GACA00D,IAAAr6D,EAAA2F,EAAA,MAEA,mBACA,GAAAoiF,GAAApoF,EAAAooF,KACA89B,KAAA,IAAArjH,EAAAujH,UAAAF,EAAA99B,EACA,IAAAmC,GAAA8S,GAAAjV,EAAA89B,EAcA,OAbA7lH,GAAA/C,KACA0I,EAAApE,UACA2oF,GAAA,GAAAA,EAAA8S,GACA3iC,IACAltD,aAAAktD,GACAA,EAAA,MAEAwrD,EAAA99B,EACAh2E,EAAA8C,EAAAvT,MAAAtB,EAAA2F,GACA00D,IAAAr6D,EAAA2F,EAAA,OACO00D,IAAA,IAAA73D,EAAA4pC,WACPiuB,EAAAptD,WAAA64G,EAAA57B,IAEAn4E,IAQApS,EAAAsS,SAAA,SAAA4C,EAAAmoF,EAAAgpB,GACA,GAAA3rD,GAAA10D,EAAA3F,EAAAimH,EAAAl0G,EAEA+zG,EAAA,WACA,GAAAj9E,GAAAlpC,EAAAooF,MAAAk+B,CAEAp9E,GAAAm0D,GAAAn0D,GAAA,EACAwxB,EAAAptD,WAAA64G,EAAA9oB,EAAAn0D,IAEAwxB,EAAA,KACA2rD,IACAj0G,EAAA8C,EAAAvT,MAAAtB,EAAA2F,GACA00D,IAAAr6D,EAAA2F,EAAA,QAKA,mBACA3F,EAAA/C,KACA0I,EAAApE,UACA0kH,EAAAtmH,EAAAooF,KACA,IAAAm+B,GAAAF,IAAA3rD,CAOA,OANAA,OAAAptD,WAAA64G,EAAA9oB,IACAkpB,IACAn0G,EAAA8C,EAAAvT,MAAAtB,EAAA2F,GACA3F,EAAA2F,EAAA,MAGAoM,IAOApS,EAAAmS,KAAA,SAAA+C,EAAAq6D,GACA,MAAAvvE,GAAAmqB,QAAAolD,EAAAr6D,IAIAlV,EAAAwjH,OAAA,SAAAv1C,GACA,kBACA,OAAAA,EAAAtsE,MAAArE,KAAAsE,aAMA5B,EAAAwmH,QAAA,WACA,GAAAxgH,GAAApE,UACA0qB,EAAAtmB,EAAA7C,OAAA,CACA,mBAGA,IAFA,GAAAxF,GAAA2uB,EACAla,EAAApM,EAAAsmB,GAAA3qB,MAAArE,KAAAsE,WACAjE,KAAAyU,EAAApM,EAAArI,GAAAE,KAAAP,KAAA8U,EACA,OAAAA,KAKApS,EAAA6zB,MAAA,SAAA+uB,EAAA1tC,GACA,kBACA,KAAA0tC,EAAA,EACA,MAAA1tC,GAAAvT,MAAArE,KAAAsE,aAMA5B,EAAAiyC,OAAA,SAAA2Q,EAAA1tC,GACA,GAAAkuB,EACA,mBAKA,QAJAwf,EAAA,IACAxf,EAAAluB,EAAAvT,MAAArE,KAAAsE,YAEAghD,GAAA,IAAA1tC,EAAA,MACAkuB,IAMApjC,EAAAi8F,KAAAj8F,EAAAmqB,QAAAnqB,EAAAiyC,OAAA,EAMA,IAAAw0E,KAAqBv+G,SAAA,MAAegvE,qBAAA,YACpC+qC,GAAA,qCACA,yDAqBAjiH,GAAA4H,KAAA,SAAA1I,GACA,IAAAc,EAAAO,SAAArB,GAAA,QACA,IAAAojH,EAAA,MAAAA,GAAApjH,EACA,IAAA0I,KACA,QAAAH,KAAAvI,GAAAc,EAAAgqB,IAAA9qB,EAAAuI,IAAAG,EAAAkB,KAAArB,EAGA,OADAg/G,IAAA1E,EAAA7iH,EAAA0I,GACAA,GAIA5H,EAAA8uB,QAAA,SAAA5vB,GACA,IAAAc,EAAAO,SAAArB,GAAA,QACA,IAAA0I,KACA,QAAAH,KAAAvI,GAAA0I,EAAAkB,KAAArB,EAGA,OADAg/G,IAAA1E,EAAA7iH,EAAA0I,GACAA,GAIA5H,EAAAuc,OAAA,SAAArd,GAIA,OAHA0I,GAAA5H,EAAA4H,KAAA1I,GACAiE,EAAAyE,EAAAzE,OACAoZ,EAAAtW,MAAA9C,GACAxF,EAAA,EAAmBA,EAAAwF,EAAYxF,IAC/B4e,EAAA5e,GAAAuB,EAAA0I,EAAAjK,GAEA,OAAA4e,IAKAvc,EAAA00G,UAAA,SAAAx1G,EAAAqiH,EAAAlhH,GACAkhH,EAAAnyF,EAAAmyF,EAAAlhH,EAKA,QADAmhH,GAHA55G,EAAA5H,EAAA4H,KAAA1I,GACAiE,EAAAyE,EAAAzE,OACAsxC,KAEAjtB,EAAA,EAAyBA,EAAArkB,EAAgBqkB,IACzCg6F,EAAA55G,EAAA4f,GACAitB,EAAA+sE,GAAAD,EAAAriH,EAAAsiH,KAAAtiH,EAEA,OAAAu1C,IAIAz0C,EAAA2G,MAAA,SAAAzH,GAIA,OAHA0I,GAAA5H,EAAA4H,KAAA1I,GACAiE,EAAAyE,EAAAzE,OACAwD,EAAAV,MAAA9C,GACAxF,EAAA,EAAmBA,EAAAwF,EAAYxF,IAC/BgJ,EAAAhJ,IAAAiK,EAAAjK,GAAAuB,EAAA0I,EAAAjK,IAEA,OAAAgJ,IAIA3G,EAAAivF,OAAA,SAAA/vF,GAGA,OAFAkT,MACAxK,EAAA5H,EAAA4H,KAAA1I,GACAvB,EAAA,EAAAwF,EAAAyE,EAAAzE,OAAyCxF,EAAAwF,EAAYxF,IACrDyU,EAAAlT,EAAA0I,EAAAjK,KAAAiK,EAAAjK,EAEA,OAAAyU,IAKApS,EAAA0mH,UAAA1mH,EAAA2wB,QAAA,SAAAzxB,GACA,GAAAmP,KACA,QAAA5G,KAAAvI,GACAc,EAAAQ,WAAAtB,EAAAuI,KAAA4G,EAAAvF,KAAArB,EAEA,OAAA4G,GAAAu9D,QAIA5rE,EAAA2D,OAAAo/G,EAAA/iH,EAAA8uB,SAIA9uB,EAAA2mH,UAAA3mH,EAAA4mH,OAAA7D,EAAA/iH,EAAA4H,MAGA5H,EAAAkqB,QAAA,SAAAhrB,EAAA+uE,EAAA5tE,GACA4tE,EAAA7+C,EAAA6+C,EAAA5tE,EAEA,QADAoH,GAAAG,EAAA5H,EAAA4H,KAAA1I,GACAvB,EAAA,EAAAwF,EAAAyE,EAAAzE,OAAyCxF,EAAAwF,EAAYxF,IAErD,GADA8J,EAAAG,EAAAjK,GACAswE,EAAA/uE,EAAAuI,KAAAvI,GAAA,MAAAuI,IAKAzH,EAAA6L,KAAA,SAAAlN,EAAAkoH,EAAAxmH,GACA,GAAmBkhH,GAAA35G,EAAnBwK,KAAmBlT,EAAAP,CACnB,UAAAO,EAAA,MAAAkT,EACApS,GAAAQ,WAAAqmH,IACAj/G,EAAA5H,EAAA8uB,QAAA5vB,GACAqiH,EAAAE,EAAAoF,EAAAxmH,KAEAuH,EAAA83B,EAAA99B,WAAA,QACA2/G,EAAA,SAAA5hH,EAAA8H,EAAAvI,GAA4C,MAAAuI,KAAAvI,IAC5CA,EAAAd,OAAAc,GAEA,QAAAvB,GAAA,EAAAwF,EAAAyE,EAAAzE,OAAyCxF,EAAAwF,EAAYxF,IAAA,CACrD,GAAA8J,GAAAG,EAAAjK,GACAgC,EAAAT,EAAAuI,EACA85G,GAAA5hH,EAAA8H,EAAAvI,KAAAkT,EAAA3K,GAAA9H,GAEA,MAAAyS,IAIApS,EAAAoP,KAAA,SAAAlQ,EAAAqiH,EAAAlhH,GACA,GAAAL,EAAAQ,WAAA+gH,GACAA,EAAAvhH,EAAAwjH,OAAAjC,OACK,CACL,GAAA35G,GAAA5H,EAAAkP,IAAAwwB,EAAA99B,WAAA,QAAA2F,OACAg6G,GAAA,SAAA5hH,EAAA8H,GACA,OAAAzH,EAAA+O,SAAAnH,EAAAH,IAGA,MAAAzH,GAAA6L,KAAA3M,EAAAqiH,EAAAlhH,IAIAL,EAAA8C,SAAAigH,EAAA/iH,EAAA8uB,SAAA,GAKA9uB,EAAAgP,OAAA,SAAAnQ,EAAAge,GACA,GAAAzK,GAAA8wG,EAAArkH,EAEA,OADAge,IAAA7c,EAAA2mH,UAAAv0G,EAAAyK,GACAzK,GAIApS,EAAAuB,MAAA,SAAArC,GACA,MAAAc,GAAAO,SAAArB,GACAc,EAAAmO,QAAAjP,KAAAgH,QAAAlG,EAAA2D,UAAqDzE,GADrDA,GAOAc,EAAA05D,IAAA,SAAAx6D,EAAA4nH,GAEA,MADAA,GAAA5nH,GACAA,GAIAc,EAAA+mH,QAAA,SAAApoH,EAAAse,GACA,GAAArV,GAAA5H,EAAA4H,KAAAqV,GAAA9Z,EAAAyE,EAAAzE,MACA,UAAAxE,EAAA,OAAAwE,CAEA,QADAjE,GAAAd,OAAAO,GACAhB,EAAA,EAAmBA,EAAAwF,EAAYxF,IAAA,CAC/B,GAAA8J,GAAAG,EAAAjK,EACA,IAAAsf,EAAAxV,KAAAvI,EAAAuI,UAAAvI,IAAA,SAEA,SAKA,IAAA0mF,GAAA,SAAA3lF,EAAAsgE,EAAAymD,EAAAC,GAGA,GAAAhnH,IAAAsgE,EAAA,WAAAtgE,GAAA,EAAAA,GAAA,EAAAsgE,CAEA,UAAAtgE,GAAA,MAAAsgE,EAAA,MAAAtgE,KAAAsgE,CAEAtgE,aAAAD,KAAAC,IAAAyiH,UACAniD,YAAAvgE,KAAAugE,IAAAmiD,SAEA,IAAAv2G,GAAAjE,EAAArK,KAAAoC,EACA,IAAAkM,IAAAjE,EAAArK,KAAA0iE,GAAA,QACA,QAAAp0D,GAEA,sBAEA,sBAGA,SAAAlM,GAAA,GAAAsgE,CACA,uBAGA,OAAAtgE,OAAAsgE,MAEA,IAAAtgE,EAAA,GAAAA,GAAA,EAAAsgE,GAAAtgE,IAAAsgE,CACA,qBACA,uBAIA,OAAAtgE,IAAAsgE,EAGA,GAAA2mD,GAAA,mBAAA/6G,CACA,KAAA+6G,EAAA,CACA,mBAAAjnH,IAAA,gBAAAsgE,GAAA,QAIA,IAAA4mD,GAAAlnH,EAAAyB,YAAA0lH,EAAA7mD,EAAA7+D,WACA,IAAAylH,IAAAC,KAAApnH,EAAAQ,WAAA2mH,oBACAnnH,EAAAQ,WAAA4mH,qBACA,eAAAnnH,IAAA,eAAAsgE,GACA,SAQAymD,QACAC,OAEA,KADA,GAAA9jH,GAAA6jH,EAAA7jH,OACAA,KAGA,GAAA6jH,EAAA7jH,KAAAlD,EAAA,MAAAgnH,GAAA9jH,KAAAo9D,CAQA,IAJAymD,EAAAl+G,KAAA7I,GACAgnH,EAAAn+G,KAAAy3D,GAGA2mD,EAAA,CAGA,IADA/jH,EAAAlD,EAAAkD,UACAo9D,EAAAp9D,OAAA,QAEA,MAAAA,KACA,IAAAyiF,EAAA3lF,EAAAkD,GAAAo9D,EAAAp9D,GAAA6jH,EAAAC,GAAA,aAEK,CAEL,GAAAx/G,GAAAG,EAAA5H,EAAA4H,KAAA3H,EAGA,IAFAkD,EAAAyE,EAAAzE,OAEAnD,EAAA4H,KAAA24D,GAAAp9D,WAAA,QACA,MAAAA,KAGA,GADAsE,EAAAG,EAAAzE,IACAnD,EAAAgqB,IAAAu2C,EAAA94D,KAAAm+E,EAAA3lF,EAAAwH,GAAA84D,EAAA94D,GAAAu/G,EAAAC,GAAA,SAMA,MAFAD,GAAA9oG,MACA+oG,EAAA/oG,OACA,EAIAle,GAAA+d,QAAA,SAAA9d,EAAAsgE,GACA,MAAAqlB,GAAA3lF,EAAAsgE,IAKAvgE,EAAAoJ,QAAA,SAAAlK,GACA,aAAAA,IACAm/E,EAAAn/E,KAAAc,EAAAmO,QAAAjP,IAAAc,EAAA0D,SAAAxE,IAAAc,EAAA8kH,YAAA5lH,IAAA,IAAAA,EAAAiE,OACA,IAAAnD,EAAA4H,KAAA1I,GAAAiE,SAIAnD,EAAAqnH,UAAA,SAAAnoH,GACA,SAAAA,GAAA,IAAAA,EAAAy/E,WAKA3+E,EAAAmO,QAAAk0G,GAAA,SAAAnjH,GACA,yBAAAgJ,EAAArK,KAAAqB,IAIAc,EAAAO,SAAA,SAAArB,GACA,GAAA8N,SAAA9N,EACA,oBAAA8N,GAAA,WAAAA,KAAA9N,GAIAc,EAAAsO,MAAA,2EAAArQ,GACA+B,EAAA,KAAA/B,GAAA,SAAAiB,GACA,MAAAgJ,GAAArK,KAAAqB,KAAA,WAAAjB,EAAA,OAMA+B,EAAA8kH,YAAAljH,aACA5B,EAAA8kH,YAAA,SAAA5lH,GACA,MAAAc,GAAAgqB,IAAA9qB,EAAA,YAMA,uCAAAooH,aACAtnH,EAAAQ,WAAA,SAAAtB,GACA,wBAAAA,KAAA,IAKAc,EAAA8qB,SAAA,SAAA5rB,GACA,MAAA4rB,UAAA5rB,KAAAymB,MAAA5d,WAAA7I,KAIAc,EAAA2lB,MAAA,SAAAzmB,GACA,MAAAc,GAAAY,SAAA1B,YAIAc,EAAAilH,UAAA,SAAA/lH,GACA,WAAAA,IAAA,IAAAA,GAAA,qBAAAgJ,EAAArK,KAAAqB,IAIAc,EAAAihC,OAAA,SAAA/hC,GACA,cAAAA,GAIAc,EAAAS,YAAA,SAAAvB,GACA,gBAAAA,GAKAc,EAAAgqB,IAAA,SAAA9qB,EAAAuI,GACA,aAAAvI,GAAAJ,EAAAjB,KAAAqB,EAAAuI,IAQAzH,EAAAE,WAAA,WAEA,MADAnD,GAAAiD,EAAAmiH,EACA7kH,MAIA0C,EAAA4uC,SAAA,SAAAjvC,GACA,MAAAA,IAIAK,EAAA2L,SAAA,SAAAhM,GACA,kBACA,MAAAA,KAIAK,EAAAuuB,KAAA,aAEAvuB,EAAApB,WAGAoB,EAAAunH,WAAA,SAAAroH,GACA,aAAAA,EAAA,aAAqC,SAAAuI,GACrC,MAAAvI,GAAAuI,KAMAzH,EAAA4f,QAAA5f,EAAA4nB,QAAA,SAAA3K,GAEA,MADAA,GAAAjd,EAAA2mH,aAA0B1pG,GAC1B,SAAA/d,GACA,MAAAc,GAAA+mH,QAAA7nH,EAAA+d,KAKAjd,EAAA4iD,MAAA,SAAAnkD,EAAA8iH,EAAAlhH,GACA,GAAAmnH,GAAAvhH,MAAA8kB,KAAA/C,IAAA,EAAAvpB,GACA8iH,GAAAE,EAAAF,EAAAlhH,EAAA,EACA,QAAA1C,GAAA,EAAmBA,EAAAc,EAAOd,IAAA6pH,EAAA7pH,GAAA4jH,EAAA5jH,EAC1B,OAAA6pH,IAIAxnH,EAAA4I,OAAA,SAAAmf,EAAAC,GAKA,MAJA,OAAAA,IACAA,EAAAD,EACAA,EAAA,GAEAA,EAAAgD,KAAAC,MAAAD,KAAAniB,UAAAof,EAAAD,EAAA,KAIA/nB,EAAAooF,IAAAjiD,KAAAiiD,KAAA,WACA,UAAAjiD,OAAAshF,UAIA,IAAAC,IACAC,IAAA,QACAC,IAAA,OACAlvB,IAAA,OACAmvB,IAAA,SACAC,IAAA,SACAC,IAAA,UAEAC,EAAAhoH,EAAAivF,OAAAy4B,GAGAO,EAAA,SAAA/4G,GACA,GAAAg5G,GAAA,SAAArgG,GACA,MAAA3Y,GAAA2Y,IAGA/mB,EAAA,MAAAd,EAAA4H,KAAAsH,GAAAnI,KAAA,SACAohH,EAAAxmF,OAAA7gC,GACAsnH,EAAAzmF,OAAA7gC,EAAA,IACA,iBAAAwG,GAEA,MADAA,GAAA,MAAAA,EAAA,MAAAA,EACA6gH,EAAA3hH,KAAAc,KAAAhB,QAAA8hH,EAAAF,GAAA5gH,GAGAtH,GAAA0Q,OAAAu3G,EAAAP,GACA1nH,EAAAqoH,SAAAJ,EAAAD,GAIAhoH,EAAAoS,OAAA,SAAAzT,EAAAC,EAAAm1D,GACA,GAAAp0D,GAAA,MAAAhB,MAAA,GAAAA,EAAAC,EAIA,YAHA,KAAAe,IACAA,EAAAo0D,GAEA/zD,EAAAQ,WAAAb,KAAA9B,KAAAc,GAAAgB,EAKA,IAAA2oH,GAAA,CACAtoH,GAAAqP,SAAA,SAAAokC,GACA,GAAA1xC,KAAAumH,EAAA,EACA,OAAA70E,KAAA1xC,KAKA/B,EAAAuoH,kBACAC,SAAA,kBACAC,YAAA,mBACA/3G,OAAA,mBAMA,IAAAg4G,GAAA,OAIAC,GACAb,IAAA,IACAc,KAAA,KACAC,KAAA,IACAC,KAAA,IACAC,SAAA,QACAC,SAAA,SAGAd,EAAA,4BAEAe,EAAA,SAAAphG,GACA,WAAA8gG,EAAA9gG,GAOA7nB,GAAAa,SAAA,SAAAyD,EAAA0c,EAAAkoG,IACAloG,GAAAkoG,IAAAloG,EAAAkoG,GACAloG,EAAAhhB,EAAA8C,YAA4Bke,EAAAhhB,EAAAuoH,iBAG5B,IAAA3oG,GAAA+hB,SACA3gB,EAAAtQ,QAAAg4G,GAAA5nH,QACAkgB,EAAAynG,aAAAC,GAAA5nH,QACAkgB,EAAAwnG,UAAAE,GAAA5nH,QACAiG,KAAA,eAGAygB,EAAA,EACA1mB,EAAA,QACAwD,GAAAgC,QAAAsZ,EAAA,SAAAiI,EAAAnX,EAAA+3G,EAAAD,EAAAj2F,GAaA,MAZAzxB,IAAAwD,EAAA4B,MAAAshB,EAAA+K,GAAAjsB,QAAA4hH,EAAAe,GACAzhG,EAAA+K,EAAA1K,EAAA1kB,OAEAuN,EACA5P,GAAA,cAAA4P,EAAA,iCACO+3G,EACP3nH,GAAA,cAAA2nH,EAAA,uBACOD,IACP1nH,GAAA,OAAqB0nH,EAAA,YAIrB3gG,IAEA/mB,GAAA,OAGAkgB,EAAAmoG,WAAAroH,EAAA,mBAAoDA,EAAA,OAEpDA,EAAA,4FAEAA,EAAA,eAEA,KACA,GAAAwQ,GAAA,GAAAs2C,UAAA5mC,EAAAmoG,UAAA,UAAAroH,GACK,MAAAsG,GAEL,KADAA,GAAAtG,SACAsG,EAGA,GAAAvG,GAAA,SAAAE,GACA,MAAAuQ,GAAAzT,KAAAP,KAAAyD,EAAAf,GAOA,OAFAa,GAAAC,OAAA,aADAkgB,EAAAmoG,UAAA,OACA,OAAkDroH,EAAA,IAElDD,GAIAb,EAAAqqB,MAAA,SAAAnrB,GACA,GAAAg+E,GAAAl9E,EAAAd,EAEA,OADAg+E,GAAAksC,QAAA,EACAlsC,EAUA,IAAA9qE,GAAA,SAAA8qE,EAAAh+E,GACA,MAAAg+E,GAAAksC,OAAAppH,EAAAd,GAAAmrB,QAAAnrB,EAIAc,GAAAG,MAAA,SAAAjB,GACAc,EAAAsO,KAAAtO,EAAA0mH,UAAAxnH,GAAA,SAAAjB,GACA,GAAAiX,GAAAlV,EAAA/B,GAAAiB,EAAAjB,EACA+B,GAAAnB,UAAAZ,GAAA,WACA,GAAA+H,IAAA1I,KAAAolH,SAEA,OADA55G,GAAAnH,MAAAqE,EAAApE,WACAwQ,EAAA9U,KAAA4X,EAAAvT,MAAA3B,EAAAgG,QAMAhG,EAAAG,MAAAH,GAGAA,EAAAsO,MAAA,mEAAArQ,GACA,GAAAiU,GAAAm4D,EAAApsE,EACA+B,GAAAnB,UAAAZ,GAAA,WACA,GAAAiB,GAAA5B,KAAAolH,QAGA,OAFAxwG,GAAAvQ,MAAAzC,EAAA0C,WACA,UAAA3D,GAAA,WAAAA,GAAA,IAAAiB,EAAAiE,cAAAjE,GAAA,GACAkT,EAAA9U,KAAA4B,MAKAc,EAAAsO,MAAA,kCAAArQ,GACA,GAAAiU,GAAAm4D,EAAApsE,EACA+B,GAAAnB,UAAAZ,GAAA,WACA,MAAAmU,GAAA9U,KAAA4U,EAAAvQ,MAAArE,KAAAolH,SAAA9gH,eAKA5B,EAAAnB,UAAAc,MAAA,WACA,MAAArC,MAAAolH,UAKA1iH,EAAAnB,UAAAq0D,QAAAlzD,EAAAnB,UAAAue,OAAApd,EAAAnB,UAAAc,MAEAK,EAAAnB,UAAAqJ,SAAA,WACA,SAAA5K,KAAAolH,UAWI1sF,SAECzvB,MAFsB2nB,EAAA,WAC3B,MAAAluB,IACK2B,MAAA1E,EAAA+4B,MAAA94B,EAAAD,QAAAixB,KAEJrwB,KAAAP,OzJgm8BK,SAAUJ,EAAQD,G0J3m/BxBC,EAAAD,SAAkBquD,QAAA,QAAAkqD,oBAAA,2J1Jin/BZ,SAAUt4G,EAAQD,EAASO,GAEjC,YACA,IAAIw4B,GAA8B9H,C2Jxm/BlC/wB,IAAQK,EAAA,GAAQA,EAAA,GAAWA,EAAA,IAAYA,EAAA,SAAvC+I,MAAA2nB,EAAA,SAA4D4N,EAAMgwB,EAAO4U,EAAQlkC,GAK/E,QAAS6sF,GAAiB5lH,EAAQuJ,GAChC,MAAIhN,GAAEmO,QAAQ1K,EAAO6lH,cACZtpH,EAAE+O,SAAStL,EAAO6lH,aAAct8G,GAGhCA,IAASvJ,EAAO6lH,aAR3B,GAAI/sF,MACAv8B,EAAI87B,EAAK97B,CAoJb,OAlIAu8B,GAAKmmC,UAAY,SAAU1hD,EAAUvd,EAAQ4oB,GAE3C,QAAS2S,GAAS5sB,GAChB4O,EAAS4iD,kBAAkB9X,EAAMhC,QAAS13C,GAG5C,QAAShI,GAAOA,GAEU,kBAApBA,EAAM2iD,YACR1gC,EAAWlf,MAAM9K,QAAQ,QAASgqB,EAAWlf,OAAQu+B,aAAgBthC,IACrEiiB,EAAWlf,MAAMw7C,SAAStmD,QAAQ,kBAEpCm6B,EAAK8wB,kBAAkBjhC,EAAY,GAAIq0C,GAAOiG,WAAWv8D,EAAMxH,SAAUoe,GAG3E,GAAIutC,GAAavtC,EAASq3D,gBACtBx1E,EAAUme,EAAS5D,QAASE,SAAS,IACrCisG,KACAv5F,IAEJhwB,GAAE2D,OACA4lH,EACAvpH,EAAE6L,KAAKhJ,EAAS,WAAY,eAC5B7C,EAAE6L,KAAKhJ,EAAQ2mH,WACb,OACA,YACA,eAAgB,eAChB,UAAW,SAAU,QAAS,SAChC/lH,GAIFusB,EAAay5F,WAAa3tF,EAAKzkB,IAAI,yBAA0B,SAC7D2Y,EAAa0qC,QAAU73D,EAAQ6mH,aAE/B1pH,EAAE2D,OACAqsB,EACAhwB,EAAE6L,KAAKhJ,EAAQ2mH,WAAY,SAAU,iBAMX,SAAxBD,EAAY90C,SAAsB40C,EAAgBE,EAAa,QACjEh7D,EAAWH,MAAMu7D,gBAAgBJ,EAAav5F,GAC3C5a,KAAKhL,GAMDm/G,EAAY5mD,aACnBpU,EAAWH,MAAMw7D,iBAAiBL,EAAav5F,GAC5Ci/B,KAAKjwB,GACL5pB,KAAKhL,GACL+K,OAMHo5C,EAAWH,MAAMy7D,aAAaN,EAAav5F,GACxCi/B,KAAKjwB,GACL5pB,KAAKhL,GACL+K,QAMPonB,EAAKutF,uBAAyB,SAAUN,GACtC,GAAKA,EAAWF,aAAhB,CAKA,GAAI9mG,GAAQvc,MAAMkI,QAAQq7G,EAAWO,QAAUP,EAAWO,OAASP,EAAWO,OAAOljH,MAAM,IAY3F,OATI2b,GAAM2rD,SAAS,WACjB3rD,EAAMqN,OAAOrN,EAAMiC,QAAQ,UAAW,GAIpC+kG,EAAWF,aAAan7C,SAAS,aACnC3rD,EAAM1Z,KAAK,UAGN0Z,IAIT+Z,EAAKytF,gBAAkB,SAAUnnH,GAC/B,GAAIymH,KASJ,QAR2B,IAAvBzmH,EAAQonH,YACVX,EAAaxgH,KAAK,YAGhBjG,EAAQqnH,gBACVZ,EAAaxgH,KAAK,SAGbwgH,GAGT/sF,EAAK4tF,sCAAwC,SAAUtnH,GAAsB,GAAbomB,GAAarnB,UAAAuB,OAAA,OAAAoD,KAAA3E,UAAA,GAAAA,UAAA,KAE3E,KAAKiB,EAAQunH,WAAanhG,EAAOmhG,SAC/B,KAAM,IAAI1pD,GAAOgG,YAAY,0DAG/B,IAAI2jD,IACFD,SAAUvnH,EAAQunH,SAClBE,YAAaznH,EAAQynH,YACrBd,YACEe,OAAQ1nH,EAAQ2nH,uBAAyB,UACzC/1C,QAAS,OACTg2C,aAAc,WACdnB,aAAc/sF,EAAKytF,gBAAgBnnH,GACnCknH,OAAQlnH,EAAQ2f,OAAUyG,EAAOugG,YAAcvgG,EAAOugG,WAAWO,SAAY,WAQjF,OAFAM,GAAcb,WAAWO,OAASxtF,EAAKutF,uBAAuBO,EAAcb,YAErEa,GAGF9tF,GAvJT56B,MAAA1E,EAAA+4B,MAAA94B,EAAAD,QAAAixB,I3Jkw/BM,SAAUhxB,EAAQD,G4J7w/BxB,GAAAiqE,GAAAn8C,KAAAm8C,KACAl8C,EAAAD,KAAAC,KACA9tB,GAAAD,QAAA,SAAAgsD,GACA,MAAAtjC,OAAAsjC,MAAA,GAAAA,EAAA,EAAAj+B,EAAAk8C,GAAAje,K5Jsx/BM,SAAU/rD,EAAQD,G6Jzx/BxBC,EAAAD,QAAA,SAAAgsD,GACA,OAAA1iD,IAAA0iD,EAAA,KAAAxoB,WAAA,yBAAAwoB,EACA,OAAAA,K7Jky/BM,SAAU/rD,EAAQD,EAASO,G8Jry/BjC,GAAA+C,GAAe/C,EAAQ,IACvB+oC,EAAe/oC,EAAQ,IAAW+oC,SAElCpQ,EAAA51B,EAAAgmC,IAAAhmC,EAAAgmC,EAAAkf,cACAvoD,GAAAD,QAAA,SAAAgsD,GACA,MAAA9yB,GAAAoQ,EAAAkf,cAAAwD,Q9J6y/BM,SAAU/rD,EAAQD,EAASO,G+Jjz/BjC,GAAA+C,GAAe/C,EAAQ,GAGvBN,GAAAD,QAAA,SAAAgsD,EAAA3B,GACA,IAAA/mD,EAAA0oD,GAAA,MAAAA,EACA,IAAA1mD,GAAA0K,CACA,IAAAq6C,GAAA,mBAAA/kD,EAAA0mD,EAAA/gD,YAAA3H,EAAA0M,EAAA1K,EAAA1E,KAAAorD,IAAA,MAAAh8C,EACA,uBAAA1K,EAAA0mD,EAAAiK,WAAA3yD,EAAA0M,EAAA1K,EAAA1E,KAAAorD,IAAA,MAAAh8C,EACA,KAAAq6C,GAAA,mBAAA/kD,EAAA0mD,EAAA/gD,YAAA3H,EAAA0M,EAAA1K,EAAA1E,KAAAorD,IAAA,MAAAh8C,EACA,MAAAwzB,WAAA,6C/J0z/BM,SAAUvjC,EAAQD,EAASO,GgKn0/BjC,GAAAiyD,GAAejyD,EAAQ,IACvB42E,EAAU52E,EAAQ,KAClB22E,EAAkB32E,EAAQ,KAC1B+oE,EAAe/oE,EAAQ,KAAe,YACtC62E,EAAA,aAIAC,EAAA,WAEA,GAIAC,GAJAC,EAAeh3E,EAAQ,KAAe,UACtCG,EAAAw2E,EAAAhxE,MAcA,KAVAqxE,EAAAp9C,MAAAq9C,QAAA,OACEj3E,EAAQ,KAASmvD,YAAA6nB,GACnBA,EAAA1sC,IAAA,cAGAysC,EAAAC,EAAAE,cAAAnuC,SACAguC,EAAAI,OACAJ,EAAAjuC,MAAAsuC,uCACAL,EAAAM,QACAP,EAAAC,EAAArtB,EACAvpD,WAAA22E,GAAA,UAAAH,EAAAx2E,GACA,OAAA22E,KAGAp3E,GAAAD,QAAAmB,OAAA4Q,QAAA,SAAA8gD,EAAAglB,GACA,GAAA1iE,EAQA,OAPA,QAAA09C,GACAukB,EAAA,UAAA5kB,EAAAK,GACA19C,EAAA,GAAAiiE,GACAA,EAAA,eAEAjiE,EAAAm0D,GAAAzW,GACG19C,EAAAkiE,QACH/tE,KAAAuuE,EAAA1iE,EAAAgiE,EAAAhiE,EAAA0iE,KhK40/BM,SAAU53E,EAAQD,EAASO,GiKl3/BjC,GAAAouD,GAAgBpuD,EAAQ,KACxBuqB,EAAAgD,KAAAhD,GACA7qB,GAAAD,QAAA,SAAAgsD,GACA,MAAAA,GAAA,EAAAlhC,EAAA6jC,EAAA3C,GAAA,sBjK23/BM,SAAU/rD,EAAQD,EAASO,GkK/3/BjC,GAAAszE,GAAatzE,EAAQ,KAAW,QAChCiuD,EAAUjuD,EAAQ,IAClBN,GAAAD,QAAA,SAAAwK,GACA,MAAAqpE,GAAArpE,KAAAqpE,EAAArpE,GAAAgkD,EAAAhkD,MlKu4/BM,SAAUvK,EAAQD,EAASO,GmK14/BjC,GAAAmpD,GAAWnpD,EAAQ,GACnBkpD,EAAalpD,EAAQ,IAErBguD,EAAA9E,EADA,wBACAA,EADA,2BAGAxpD,EAAAD,QAAA,SAAAwK,EAAA9H,GACA,MAAA6rD,GAAA/jD,KAAA+jD,EAAA/jD,OAAAlB,KAAA5G,UACC,eAAAmJ,MACDwiD,QAAA3E,EAAA2E,QACA0rB,KAAQx5E,EAAQ,IAAY,gBAC5By5E,UAAA,0CnKk5/BM,SAAU/5E,EAAQD,GoK35/BxBC,EAAAD,QAAA,gGAEA4J,MAAA,MpKm6/BM,SAAU3J,EAAQD,EAASO,GqKt6/BjC,GAAAkpD,GAAalpD,EAAQ,IACrBmpD,EAAWnpD,EAAQ,GACnBmrE,EAAcnrE,EAAQ,IACtBi9G,EAAaj9G,EAAQ,KACrBa,EAAqBb,EAAQ,IAAcqyD,CAC3C3yD,GAAAD,QAAA,SAAAgB,GACA,GAAAy8G,GAAA/zD,EAAA+E,SAAA/E,EAAA+E,OAAAid,KAA0DjiB,EAAAgF,WAC1D,MAAAztD,EAAAypB,OAAA,IAAAzpB,IAAAy8G,IAAAr8G,EAAAq8G,EAAAz8G,GAAkF0B,MAAA86G,EAAA5qD,EAAA5xD,OrK86/B5E,SAAUf,EAAQD,GsKr7/BxBA,EAAA4yD,EAAAzxD,OAAA68E,uBtK47/BM,SAAU/9E,EAAQD,EAASO,GuK57/BjC,GAAA0oE,GAAU1oE,EAAQ,IAClBgnE,EAAiBhnE,EAAQ,IACzB2oE,EAAgB3oE,EAAQ,IACxBmyD,EAAkBnyD,EAAQ,KAC1BwsB,EAAUxsB,EAAQ,IAClBkyD,EAAqBlyD,EAAQ,KAC7B4oE,EAAAhoE,OAAAioE,wBAEAppE,GAAA4yD,EAAYryD,EAAQ,IAAgB4oE,EAAA,SAAAtW,EAAAtI,GAGpC,GAFAsI,EAAAqW,EAAArW,GACAtI,EAAAmI,EAAAnI,GAAA,GACAkI,EAAA,IACA,MAAA0W,GAAAtW,EAAAtI,GACG,MAAApgD,IACH,GAAA4iB,EAAA8lC,EAAAtI,GAAA,MAAAgd,IAAA0B,EAAArW,EAAAhyD,KAAAiyD,EAAAtI,GAAAsI,EAAAtI,MvKo8/BM,SAAUtqD,EAAQD,KAMlB,SAAUC,EAAQD,EAASO,GwKx9/BjCN,EAAAD,SAAkBkC,QAAY3B,EAAQ,KAA2CkB,YAAA,IxK89/B3E,SAAUxB,EAAQD,EAASO,GyK99/BjC,GAAAsoC,GAAA9P,EAAA9H;CAEA,SAAAjuB,EAAAsgE,EAAAxiE,IAAiB,SAAAkC,GAAa,YAAmD+1B,IAAQx4B,EAAA,MAASsoC,EAAA,MAAEv/B,MAAA2nB,EAAA,kBAAA4X,KAAAnkC,MAAA1E,EAAA+4B,GAAA8P,KAAA5oC,EAAAD,QAAAixB,IAAqC,SAAAlwB,GAAa,YAAa,SAAAoJ,GAAAnH,EAAAsgE,EAAAxiE,EAAAqJ,GAAoB9J,KAAAyE,GAAAhE,EAAAT,KAAA4L,OAAAjJ,EAAA3C,KAAAk1C,QAAA0U,EAAA5pD,KAAAkhF,UAAsDt1E,OAAAjJ,GAAS3C,KAAAotH,IAAApjE,EAAA,IAAAvpD,EAAAT,KAAA+sG,QAA+BsgB,QAAOrtH,KAAAuF,QAAA09D,EAAAjjE,KAAAstH,WAA+BttH,KAAA6lC,OAAalU,SAAQ/lB,OAAAlL,IAAAuO,SAAAs+G,EAAA/oH,KAAAsF,EAAA0jH,UAAAD,EAAAE,UAAA,IAAuDztH,KAAA8yB,SAAA9yB,KAAA0tH,UAAA1tH,KAAAiP,SAAAjP,KAAA2tH,QAAA3tH,KAAA4tH,iBAAA5tH,KAAA6tH,YAAA7tH,KAAA8tH,WAAAP,EAAkH,QAAAh7D,GAAA5vD,GAAc,MAAAA,KAAAinD,GAAA,WAAAlpD,EAAAgP,KAAA/M,GAAmC,QAAA46E,GAAA56E,GAAc,QAAAjC,EAAAwC,WAAAP,SAAA6B,MAAA7B,EAAAkD,QAAA,WAAAnF,EAAAgP,KAAA/M,OAAAouF,QAAApuF,EAAAgvD,OAAwF,QAAAo8D,GAAAprH,GAAc,GAAAsgE,GAAAxiE,EAAAqJ,EAAAikH,CAAY,OAAAx7D,GAAA5vD,GAAA4qH,GAAAh7D,EAAA5vD,EAAA4hB,YAAA5hB,EAAA4hB,UAA2C7U,KAAA/M,EAAA4hB,WAAgB,WAAA5hB,KAAAsgE,EAAAtgE,EAAAiU,QAAA27C,EAAA0Q,MAAA8tB,QAAA9tB,EAAAprD,MAAApX,EAAA88E,EAAAta,GAAAsqD,EAAAtqD,IAAAtgE,EAAAiU,SAA8E5P,KAAAvG,IAAOA,EAAAwiE,EAAAj8D,KAAA,QAAAi8D,KAAAn5D,EAAAm5D,EAAA2uC,KAAAmc,EAAAjkH,KAAA60F,OAAA4uB,QAAAtqD,GAAA2uC,KAAA3uC,EAAAj8D,KAAA,SAAArE,EAAAsgE,GAAoF,GAAA1Q,GAAA9xD,GAAAC,EAAAV,MAAAwE,KAAAy+D,EAAA19D,QAAAqR,QAAApS,OAAA,aAAA+4E,EAAA78E,EAAAkxG,KAAAlxG,EAAA2F,UAAgFyD,GAAI/G,QAAAkgE,KAAUtR,KAAA7nD,EAAA43B,QAAAkoB,EAAA9/C,EAAAgD,OAAA6kD,KAAA,SAAAhvD,GAA8C,MAAAA,IAAAorH,GAAA9qD,EAAAnzD,IAAA,eAAAnN,MAAuC,SAAAA,EAAAlC,EAAAC,GAAiBuiE,EAAAyqD,WAAA,IAAA/qH,EAAAg/B,QAAAshC,EAAAnzD,IAAA,eAAArP,EAAA,KAAAC,IAA4D,OAAAqtH,GAAAx7D,GAAA0Q,EAAAnzD,IAAA,eAAAyiD,GAAAgrB,KAAuC,SAAAta,KAAAviE,EAAAyK,cAAA83D,EAAAv9D,SAAAu9D,EAAAy5B,OAAAz5B,EAAAv9D,MAAAg3F,OAAAz5B,EAAAv9D,MAAAu9D,EAAAv9D,MAAAsB,MAAAu2E,EAAAta,EAAAv9D,OAAA6nH,KAAAtqD,EAAAv9D,MAAA6nH,KAAA,YAAA5qH,IAAA4vD,EAAA5vD,EAAAwzB,YAAAxzB,EAAAwzB,UAAkK6D,GAAAr3B,EAAAwzB,SAAAlD,GAAAtwB,EAAAwzB,WAA4B,QAAAxzB,IAAA4vD,EAAA5vD,EAAAiyB,QAAAjyB,EAAAiyB,KAAAjyB,EAAAiyB,KAAAm8D,QAAgDnlF,OAAAjJ,EAAAiyB,MAAcjyB,EAAAiyB,OAAAqlD,GAAagI,MAAAhI,IAAUtoD,MAAAhvB,EAAAiyB,OAAa,QAAAjyB,IAAA4vD,EAAA5vD,EAAA8xB,QAAA9xB,EAAA8xB,KAAA9xB,EAAA8xB,KAAAs8D,QAAgDnlF,OAAAjJ,EAAA8xB,OAAgB9C,MAAAhvB,EAAA8xB,OAAa,SAAA9xB,IAAA4vD,EAAA5vD,EAAAm3B,SAAAn3B,EAAAm3B,OAAqCC,QAAAp3B,EAAAm3B,QAAgBp5B,EAAAsQ,KAAAy5C,EAAA,WAAsBzqD,KAAAguH,UAAAhuH,KAAAguH,SAAArrH,KAAgCA,GAAK,QAAAtC,GAAAsC,EAAAsgE,GAAgB,OAAAxiE,GAAAC,EAAA,EAAAoJ,EAAAnH,EAAA4vD,EAAA0Q,EAAA15D,MAAA,KAAiCO,IAAAyoD,EAAA7xD,OAAYA,EAAA6xD,EAAA1sD,SAAApF,EAAAqJ,EAAmB,QAAArJ,GAAAkC,EAAA4vD,EAAA3xC,OAAqB,QAAA2gB,GAAA5+B,EAAAsgE,GAAgB,GAAAxiE,GAAAC,EAAAoJ,CAAU,KAAArJ,IAAAT,MAAAiuH,OAAA,GAAAjuH,KAAAiuH,OAAAzsH,eAAAf,GAAA,IAAAC,IAAAV,MAAAiuH,OAAAxtH,GAAAT,KAAAiuH,OAAAxtH,GAAAe,eAAAd,KAAAoJ,EAAA,GAAAu6B,QAAA3jC,EAAA,KAAA6hB,KAAA5f,MAAAsgE,EAAAz3D,KAAA1B,IAAA,YAAArJ,GAAAT,KAAAstH,QAAA7sH,KAAAT,KAAAiuH,OAAAxtH,GAAAC,GAAA2D,MAAArE,KAAAstH,QAAA7sH,IAAAT,KAAAijE,IAA8O,QAAAirD,GAAAvrH,GAAc,MAAAwrH,GAAAz7E,OAAA,IAAAjpC,KAAA9G,EAAA,IAAAA,EAAA,SAA0C,QAAArC,GAAAqC,EAAAsgE,GAAgB,MAAAA,GAAA,EAAAjzD,WAAAtP,EAAAotF,MAAAnrF,EAAA3C,MAAAijE,OAAAtgE,GAAApC,KAAAP,MAA2D,QAAAQ,GAAAmC,GAAc3C,KAAAk1C,QAAAzI,SAAA2hF,MAAAl+G,aAAAlQ,KAAA+sG,OAAAn4E,MAAA1kB,aAAAlQ,KAAA+sG,OAAAt4E,MAAAz0B,KAAA+sG,OAAAn4E,KAAAt0B,EAAAC,KAAAP,KAAA,WAAkIA,KAAA2T,OAAAsmE,EAAAt3E,IAAiB3C,KAAAuF,QAAAqvB,KAAA3d,QAA2B,QAAA9V,GAAAwB,GAAc,IAAA3C,KAAAk1C,QAAAzI,SAAA2hF,MAAApuH,KAAA0tH,UAAA,CAAgD,GAAAzqD,GAAAviE,EAAAiC,EAAA6iG,eAAA/kG,EAAAwiE,EAAAlqC,QAAAyxB,GAAA,KAAAxqD,KAAAk1C,QAAA,GAAAprC,EAAAm5D,EAAA,KAAAjjE,KAAAuF,QAAAqvB,KAAAhpB,OAAA,EAAkG,IAAAsE,aAAAlQ,KAAA+sG,OAAAn4E,MAAA1kB,aAAAlQ,KAAA+sG,OAAAt4E,MAAAz0B,OAAAijE,EAAA,cAAAjjE,KAAAuF,QAAA4wB,SAAAvqB,QAAAnL,GAAAT,KAAAuF,QAAAkvB,KAAA0gB,OAAA,wBAAAjsC,KAAAvG,EAAA+M,QAAAjP,GAAAqJ,GAAA,IAAmMnH,EAAA0Q,iBAAA1Q,EAAAujG,2BAAgD,MAAA3zC,QAAUvyD,MAAA+sG,OAAAt4E,KAAAn0B,EAAAC,KAAAP,KAAA,WAA6CA,KAAA2T,OAAA45G,EAAA5qH,IAAiB3C,KAAAuF,QAAAkvB,KAAAxd,MAAAjX,OAAgC,QAAAa,GAAA8B,IAAc3C,KAAAk1C,QAAAzI,SAAA2hF,KAAApuH,KAAAuF,QAAAkvB,KAAA45F,WAAAn+G,aAAAlQ,KAAA+sG,OAAAshB,UAAAruH,KAAA+sG,OAAAshB,SAAA/tH,EAAAC,KAAAP,KAAA,WAAwIA,KAAAy0B,KAAA9xB,IAAa3C,KAAAuF,QAAAkvB,KAAA45F,WAA8B,QAAA5sH,GAAAkB,GAAc3C,KAAA8yB,UAAA9yB,KAAAk1C,QAAA,GAAAyI,YAAA,GAAA39C,KAAAsuH,WAAA3rH,GAAiE,QAAA4rH,GAAA5rH,EAAAlC,EAAAqJ,GAAkBpJ,EAAAuiE,EAAA4lB,MAAAlgC,SAAAhmD,GAAAlC,EAAA8I,MAAA9I,IAAAgJ,KAAA,IAAAugD,EAAA,UAAAA,EAAA,WAAoE,GAAArnD,GAAAw3B,EAAAwO,IAAAjoC,EAAA8D,KAAAxE,KAAAuqD,GAA4B5nD,OAAAsM,UAAAnF,EAAAzF,MAAA1B,EAAA2B,aAAuC,QAAAkqH,GAAA7rH,EAAAlC,EAAA8xD,GAAkB,GAAAgrB,GAAAl9E,EAAAkhC,EAAA2sF,EAAA5tH,EAAAE,EAAAE,EAAAuiE,EAAA4lB,MAAA1nF,EAAAwB,EAAA,KAAAsgE,EAAAziE,EAAAmC,EAAA9B,EAAA8B,EAAA4hB,SAAA5hB,EAAA4hB,SAAAguC,EAAAhuC,UAAAqlC,EAAAnoD,EAAA,UAAA8wD,EAAAhuC,SAAA7U,MAAA7O,IAAA0xD,EAAAhuC,SAAA5jB,MAAAipD,EAAA2kE,EAAA5rH,EAAAc,KAAA8uD,EAAAhuC,SAAA5jB,MAAA,WAAyK,KAAI4tH,EAAA,gBAAAA,GAAA7tH,EAAA2hF,UAAAksC,KAAsC,MAAAC,IAAU,GAAAN,EAAAxtH,EAAA2F,OAAA4zE,KAAkB9/C,EAAA30B,SAAA+sD,EAAA,gBAAAg8D,GAAAR,EAAAQ,GAAA3kE,EAAAmkE,EAAAtsH,GAAAZ,IAAAR,EAAA6tH,EAAA/3F,SAAA+3F,EAAAzpH,GAAAhE,EAAA,iBAAAytH,GAAAt3G,QAAA5P,KAAA,CAAuG,GAAAu6B,EAAA5+B,EAAA6B,KAAA0pH,EAAAt3G,QAAApS,MAAA0pH,EAAAt3G,QAAApS,OAAA+oH,IAAAhsF,EAAA,MAAAgsF,EAA4DW,GAAAt3G,QAAA5P,KAAAu6B,EAAiB,GAAAlhC,EAAAywB,UAAAjrB,SAAAxF,EAAAywB,UAAAtwB,GAAAH,EAAAuL,SAAA2hH,IAAAltH,EAAAuL,OAAAzK,GAAA+sH,EAAAt5F,KAAAhpB,SAAA2hH,IAAAW,EAAAt5F,KAAAhpB,OAAAzK,GAAA+sH,EAAAt5F,KAAA65F,OAAAx0C,IAAAi0C,EAAAt5F,KAAA65F,KAAApuH,EAAAywB,UAAAiI,QAAA,SAAAm1F,EAAAz5F,KAAA7oB,SAAA2hH,IAAAW,EAAAz5F,KAAA7oB,OAAAzK,GAAA+sH,EAAA/3F,SAAAiE,WAAA6/C,IAAAi0C,EAAA/3F,SAAAiE,SAAA/5B,EAAAywB,WAAAzwB,EAAAywB,UAAAzwB,EAAAywB,UAAAw3D,GAAA,GAAAjoF,EAAA4yB,GAAA,GAAAwtD,GAAApgF,EAAA4yB,GAAAgnD,GAAA55E,EAAA25B,GAAA,GAAAymD,GAAApgF,EAAA25B,IAAAr3B,EAAAc,KAAAumD,GAAA,GAAAkkE,EAAAQ,UAAA/rH,EAAAk3B,KAAA,kBAAkX,IAAAq0F,EAAAQ,YAAAnB,EAAA,MAAAA,EAAiC,OAAA5qH,GAAA6B,KAAA+zE,EAAA93E,GAAAytH,EAAAS,WAAAruH,EAAAqC,EAAA6B,KAAA,WAAA7B,EAAAszB,WAAA,SAAAzxB,KAAAoqH,GAAAtuH,GAAAkE,KAAA,YAAA+4E,EAAA,GAAAzzE,GAAAnH,EAAAurH,EAAAztH,IAAA8gC,GAAA5+B,EAAAc,KAAAumD,EAAAuzB,KAAyI,QAAA77E,GAAAiB,GAAc,MAAAA,GAAAynB,OAAA,GAAA0Y,cAAAngC,EAAAiG,MAAA,GAA4C,QAAA65F,GAAA9/F,EAAAsgE,GAAgB,GAAAviE,GAAAoJ,EAAAyoD,EAAA0Q,EAAA74C,OAAA,GAAA0Y,cAAAmgC,EAAAr6D,MAAA,GAAA20E,GAAAta,EAAA,IAAA4rD,GAAAplH,KAAA8oD,EAAA,KAAAA,GAAAhpD,MAAA,KAAAwkH,EAAA,CAAyF,IAAAe,GAAA7rD,GAAA,MAAAtgE,GAAAuyB,IAAA45F,GAAA7rD,GAA6B,MAAKviE,EAAA68E,EAAAwwC,MAAS,IAAAjkH,EAAAnH,EAAAuyB,IAAAx0B,MAAAD,EAAA,MAAAquH,IAAA7rD,GAAAviE,EAAAoJ,EAAsC,QAAAilH,GAAApsH,EAAAsgE,GAAgB,MAAAx1C,MAAAm8C,KAAAn/D,WAAAg4F,EAAA9/F,EAAAsgE,KAAqC,QAAA0P,GAAAhwE,EAAAsgE,GAAgBjjE,KAAAgvH,IAAA,MAAAhvH,KAAAuF,QAAA09D,EAAAjjE,KAAAi1B,OAAAguC,EAAAhuC,OAAAj1B,KAAAmR,MAAA8xD,EAAAtuC,MAAAsuC,EAAAttC,QAAA31B,KAAA65B,KAAAl3B,EAAA3C,KAAAyoC,KAAA9lC,GAAyG,QAAA2hD,GAAA3hD,EAAAsgE,GAAgBjjE,KAAAuF,QAAA09D,EAAAjjE,KAAAgvH,IAAA,SAAAhvH,KAAA65B,KAAAl3B,EAAA3C,KAAAyoC,KAAA9lC,GAA0D,QAAAU,GAAAV,GAAc3C,KAAAgvH,IAAA,MAAAhvH,KAAA65B,KAAAl3B,EAAA3C,KAAAyoC,KAAA9lC,GAAwC,GAAAw3B,GAAA80F,EAAAxuC,EAAAr2B,EAAA4Y,EAAAiX,GAAA,EAAAszC,GAAA,EAAA3jE,EAAA,KAAAE,EAAA,IAAAolE,EAAA,IAAAC,EAAA,QAAAC,EAAA,SAAA9uC,EAAA,MAAA+uC,EAAA,OAAAC,EAAA,SAAAC,EAAA,QAAA/8D,EAAA,SAAAtI,EAAA,aAAAqE,EAAA,QAAA9D,KAA8IT,EAAA,OAAAuuB,EAAA,eAAAhuB,EAAA,eAAA4jE,GAAA,0BAAA3jE,EAAA,IAAAR,EAAAwlE,EAAA,mEAAAjmH,MAAA,KAAAkmH,EAAAzlE,EAAA,SAAA0lE,EAAA1lE,EAAA,WAAA50C,EAAA40C,EAAA,SAAAtnD,EAAAsnD,EAAA,SAAAokE,GAAApkE,EAAA,YAAA2lE,GAAA,kBAAAf,GAAA,WAAAgB,IAA+QC,GAAA,WAAc,GAAAltH,GAAAlC,CAAQ,KAAAkC,EAAA,EAAAlC,EAAAwiE,EAAA9a,cAAA,QAAiC1nD,EAAAm4C,UAAA,oBAAAj2C,EAAA,6BAAAlC,EAAA8jF,qBAAA,QAAyF5hF,GAAA,GAAM,MAAAA,GAAA,EAAAA,EAAA8+G,OAAiBqO,IAAArlH,YAAA,6DAA4C8X,KAAAq7B,UAAAmmB,aAAA,WAAA/6D,QAAA,mBAAAA,QAAA,SAAAA,QAAA,UAAAukH,EAA4I0B,GAAAnlH,EAAAvI,UAAA0tH,EAAAc,MAAA,SAAAptH,GAAkC,MAAAjC,GAAAi2D,KAAAtyD,MAAA3D,EAAAiC,IAAyBssH,EAAAj7G,OAAA,SAAArR,GAAsB,GAAA3C,KAAA8yB,UAAA9yB,KAAA0tH,UAAA,MAAA1tH,KAA6C,IAAAijE,GAAAjjE,KAAAS,EAAAT,KAAAuF,QAAAuE,EAAA9J,KAAA6lC,MAAA0sB,EAAAvyD,KAAAkhF,SAAA3D,EAAA98E,EAAAmW,QAAA5P,KAAA+mH,EAAAttH,EAAAmW,QAAAlR,MAAArF,EAAAI,EAAAmW,QAAA8lF,OAAAn7D,EAAA9gC,EAAA01B,SAAA+3F,IAA+H,OAAAxtH,GAAA8D,KAAAxE,KAAA4L,OAAA,sBAAA5L,KAAAotH,KAAAtjH,EAAAkmH,SAAAhwH,KAAAiwH,iBAAAjwH,KAAAm2B,UAA0G6D,GAAAuH,EAAAvH,GAAA/G,GAAAsO,EAAAtO,KAAgB+G,IAAAh6B,KAAAk1C,QAAAqd,EAAArd,QAAAx0C,EAAA,UAAyC+D,GAAAzE,KAAAotH,IAAAxuE,OAAAoL,EAAA0lE,EAAAjvH,EAAAq5B,MAAAC,QAAAjwB,EAAAkmH,UAAAvmH,KAAA,KAAAkrB,MAAAl0B,EAAAq5B,MAAAnF,OAAA,GAAAgB,OAAAl1B,EAAAq5B,MAAAnE,QAAA,GAAAu6F,SAAA,UAAA3uF,EAAA31B,QAAA21B,EAAAtH,OAAAC,MAAAi2F,KAAA,QAAAC,YAAA,SAAAC,cAAA9C,EAAA+C,mBAAAtwH,KAAAotH,IAAA,WAAAmD,cAAAt2C,IAAsQnyC,YAAAsmF,GAAApuH,KAAAiP,UAAAzK,KAAA+lD,EAAAvqD,KAAAyE,IAAAhB,KAAAumD,EAAAhqD,MAAA4oF,SAAArnD,EAAAzQ,WAAA/Z,OAAAw7C,EAAA37C,QAAAlW,EAAA,WAAiHk+C,MAAAoL,EAAA,WAAAvlD,GAAAzE,KAAAotH,IAAA,WAAAiD,cAAAp2C,KAA4Dj6E,KAAA8yB,UAAA,EAAA9yB,KAAA6tH,YAAA5zC,EAAA8zC,IAAA/tH,KAAAwwH,eAAA9vH,EAAAwC,WAAA6qH,IAAAG,EAAA1iH,KAAAxL,KAAAywH,aAAA1C,EAAAR,KAAAltH,GAAAL,KAAA0wH,gBAAAhwH,EAAAwC,WAAAq6E,IAAA2wC,EAAA1iH,KAAAxL,KAAA2wH,eAAApzC,EAAAgwC,IAAAvtH,KAAA8yB,SAAAmnD,EAAAj6E,KAAA4wH,aAAAlwH,EAAAsQ,KAAAy5C,EAAA,SAAA9nD,GAAiP,GAAAlC,EAAM,YAAAT,KAAAyP,aAAAhP,EAAAT,KAAAijE,QAAAqqD,QAAA3qH,GAAAlC,KAA0DT,KAAA6wH,kBAAA7wH,KAAA8wH,gBAAA9wH,KAAA+vH,MAAA7B,GAAAv8D,KAAA,WAA4EsR,EAAA8tD,SAAA,UAAA9tD,EAAA4qD,YAAAN,EAAAtqD,EAAA2qD,mBAAAntH,EAAAm0B,KAAAqtD,QAAAt/E,GAAAsgE,EAAAtvD,OAAAsmE,EAAAnwE,EAAA6nB,MAAA47F,GAAAtqD,EAAA2qD,iBAAAL,IAAuHpzF,EAAAwO,IAAA3oC,KAAAyE,IAAAzE,WAA2BivH,EAAA+B,QAAA,SAAAruH,GAAuB,QAAAsgE,KAAa,IAAAjjE,KAAA0tH,UAAA,CAAoB1tH,KAAA0tH,UAAAzzC,CAAiB,IAAAt3E,GAAAsgE,EAAAjjE,KAAA4L,OAAAnL,EAAAwiE,EAAAz+D,KAAAoqH,GAAiC5uH,MAAA8yB,UAAA9yB,KAAAk1C,QAAAvF,KAAA,KAAAv4B,KAAA,KAAAC,SAAA85D,MAAA95D,SAAA3W,EAAAsQ,KAAAhR,KAAAstH,QAAA,WAAuGttH,KAAAgxH,SAAAhxH,KAAAgxH,WAA+B,KAAAruH,IAAA3C,MAAA+sG,OAAA/sG,KAAA+sG,OAAAvrG,eAAAmB,IAAAuN,aAAAlQ,KAAA+sG,OAAApqG,GAAiFsgE,GAAAu9B,WAAAx2C,GAAA/zB,WAAAs0B,GAAAt0B,WAAAsiD,GAAAtiD,WAAA,oBAAAj2B,KAAAuF,QAAAopH,UAAAluH,GAAAwiE,EAAAz+D,KAAA,QAAA/D,GAAAw1B,WAAA24F,IAAA5uH,KAAA6wH,kBAAA7wH,KAAAuF,QAAAvF,KAAAkhF,SAAAlhF,KAAA6lC,MAAA7lC,KAAA+sG,OAAA/sG,KAAAstH,QAAAttH,KAAAk6B,MAAA0vB,QAAAzvB,GAAAwO,IAAA3oC,KAAAyE,KAAgQ,MAAAzE,MAAA0tH,UAAA1tH,KAAA4L,QAAAjJ,IAAAs3E,GAAA,SAAAj6E,KAAA8tH,aAAA9tH,KAAA8yB,SAAAmwC,EAAA1iE,KAAAP,YAAAk1C,QAAAr/B,IAAA,gBAAAnV,EAAAotF,MAAA7qB,EAAAjjE,aAAA8tH,YAAA9tH,KAAAy0B,QAAAz0B,KAAA4L,SAA+Lw+C,EAAA6kE,EAAAhB,QAAagD,SAASC,OAAA,SAAAvuH,EAAAsgE,EAAAxiE,EAAAqJ,GAAyB,GAAAyoD,GAAA9xD,IAAAw5E,EAAA9/C,EAAAg3F,OAAA1wH,EAAA88E,EAAAvzB,EAAA,IAAAuI,CAAiCA,KAAAg7D,GAAAh7D,EAAA1sD,OAAA,IAAAnF,EAAA,IAAA68E,GAAA13E,QAAA7F,KAAAotH,IAAA7vC,EAAAv9E,KAAA8yB,WAAA9yB,KAAAk1C,QAAA,GAAAzwC,GAAAzE,KAAAotH,IAAAptH,KAAAkhF,SAAAtqE,QAAA,GAAAnS,GAAAzE,KAAAotH,IAAA,WAAAptH,KAAAkhF,SAAAx7E,MAAA,GAAAjB,GAAAzE,KAAAotH,IAAA,WAAAzqH,EAAAsgE,GAAAn5D,GAAiMsnH,aAAA,SAAAzuH,EAAAsgE,EAAAxiE,GAA8BA,IAAAT,KAAA8yB,UAAA9yB,KAAAgU,OAAAhU,KAAAuF,QAAAqvB,KAAAqtD,QAAwDovC,iBAAA,SAAA1uH,EAAAsgE,EAAAxiE,GAAkCT,KAAA2wH,eAAAlwH,IAAuB6wH,iBAAA,SAAA3uH,EAAAsgE,EAAAxiE,EAAAC,GAAoCV,KAAAuF,QAAAqR,QAAA5P,OAAAhH,KAAA4L,OAAApH,KAAA9D,IAAAV,KAAA2wH,eAAA3wH,KAAA4L,OAAApH,KAAA/D,KAA0F8wH,kBAAA,SAAA5uH,EAAAsgE,EAAAxiE,GAAmC,MAAAA,QAAAT,KAAAkhF,SAAAx7E,OAAA1F,KAAAwwH,mBAAAxwH,MAAAywH,aAAAhwH,IAAAT,KAAAwxH,gBAAsGC,mBAAA,SAAA9uH,EAAAsgE,EAAAxiE,GAAoCT,KAAA0xH,cAAAjxH,IAAsBkxH,gCAAA,SAAAhvH,EAAAsgE,EAAAxiE,GAAiDT,KAAA8P,IAAA,WAAAmzD,EAAAxiE,IAAyBmxH,qBAAA,SAAAjvH,EAAAsgE,EAAAxiE,GAAsC,gBAAAA,KAAAT,KAAAm2B,SAAA8sC,GAAAtgE,EAAAsgE,GAAA,GAAAwd,GAAAhgF,EAAA,OAAAwiE,KAA8D4uD,uBAAA,SAAAlvH,EAAAsgE,EAAAxiE,GAAwCT,KAAA8yB,UAAA9yB,KAAAk1C,QAAA0zC,SAAAnoF,IAAwCqxH,eAAA,SAAAnvH,EAAAsgE,EAAAxiE,GAAgCA,KAAAT,KAAA8yB,UAAA9yB,KAAAgU,OAAAimE,IAAAj6E,KAAA2T,OAAAsmE,KAAoD83C,kBAAA,SAAApvH,EAAAsgE,EAAAxiE,EAAAC,GAAqCV,KAAA8yB,UAAA9yB,KAAAk1C,QAAA1lC,YAAA9O,GAAA4O,SAAA7O,IAAuDuxH,wBAAA,SAAArvH,EAAAsgE,EAAAxiE,GAAyCT,KAAA8yB,UAAA9yB,KAAAk1C,QAAAhgB,IAAA+tC,EAAAxiE,IAAqCwxH,8BAAA,WAA0CjyH,KAAA8yB,UAAA9yB,KAAA4wH,cAAiCsB,aAAA,SAAAvvH,EAAAsgE,EAAAxiE,GAA8BT,KAAA8yB,UAAA9yB,KAAAk1C,QAAApN,YAAA4nF,IAAAjvH,IAA+C0xH,8CAAA,SAAAxvH,EAAAsgE,EAAAxiE,GAA+DT,KAAA8yB,UAAA9yB,KAAAk1C,SAAAx0C,EAAAwC,WAAAzC,GAAA,2BAAAwiE,EAAAxiE,IAA6E2xH,qFAAA,WAAiG,GAAApyH,KAAA8yB,SAAA,CAAkB,GAAAnwB,GAAA3C,KAAAuF,QAAA4wB,QAA4Bn2B,MAAAk1C,QAAA1wC,KAAA,qBAAA7B,EAAAiJ,QAAAjJ,EAAAs3B,OAAAC,OAAAl6B,KAAA6wH,kBAAA7wH,KAAA8wH,oBAAgH7B,EAAA/tH,IAAA,SAAAyB,GAAmB,GAAA3C,KAAA0tH,UAAA,MAAA1tH,KAA8B,IAAAijE,GAAA5iE,EAAAL,KAAAuF,QAAA5C,EAAAigC,eAAAniC,EAAAwiE,EAAA,GAAAA,EAAA,GAAmD,OAAAxiE,GAAA4xH,WAAA5xH,EAAAuJ,SAAAvJ,EAAkC,IAAA6xH,IAAA,iFAAAC,GAAA,yBAAqHtD,GAAAn/G,IAAA,SAAAnN,EAAAsgE,GAAoB,GAAAjjE,KAAA0tH,UAAA,MAAA1tH,KAA8B,IAAAS,GAAAqJ,EAAA9J,KAAA8yB,SAAAy/B,EAAAg7D,EAAAhwC,EAAAv9E,KAAAuF,OAAyC,uBAAA5C,IAAAlC,EAAAkC,OAAkCA,EAAAlC,GAAAwiE,GAAAtgE,EAAAjC,EAAA2F,UAAsB1D,GAAAjC,EAAAsQ,KAAArO,EAAA,SAAAsgE,EAAAxiE,GAA2B,GAAAqJ,GAAAyoH,GAAArpH,KAAA+5D,GAAA,kBAAAtgE,GAAAsgE,EAAyC,IAAA8qD,GAAAxsF,EAAAlhC,EAAAk9E,EAAAta,EAAArgC,cAA6BmrF,GAAAxsF,EAAA,GAAAA,EAAA,IAAAA,EAAA,GAAAA,EAAA,IAAA9gC,KAAA4gF,SAAA3gF,EAAAD,KAAA8xD,EAAA+/D,GAAAppH,KAAA+5D,IAAA1Q,EAAA5vD,EAAAsgE,IAAA1hC,EAAA,GAAAA,EAAA,GAAA9gC,EAAAstH,KAAkFA,EAAAxwC,GAAAv9E,KAAA6tH,YAAA5zC,EAAAv5E,EAAAsQ,KAAArO,EAAAjC,EAAAotF,MAAAvsD,EAAAvhC,YAAA6tH,YAAAN,EAAAvtH,KAAA8yB,UAAA9yB,KAAAk1C,QAAA,GAAAyI,YAAA,GAAA4U,GAAAvyD,KAAAsuH,WAAA,UAAA/wC,EAAApnD,SAAAvqB,OAAAg+C,EAAA5pD,KAAA6lC,MAAAlU,OAAA3xB,MAA6LivH,EAAAuD,QAAA,SAAA7vH,EAAAsgE,GAAyB,GAAAxiE,GAAAT,KAAA8J,EAAA9J,KAAA6lC,KAAwB,OAAA7lC,MAAA8yB,UAAAnwB,GAAAjC,EAAAwC,WAAAP,SAAApC,KAAAP,KAAAkhF,SAAAt1E,OAAA9B,EAAA6nB,MAAA3xB,OAAA,IAAAU,EAAAwC,WAAAP,EAAAgvD,OAAA7nD,EAAA6jH,QAAA1zC,EAAAt3E,EAAAgvD,KAAA,SAAAhvD,GAAiJ,MAAAmH,GAAA6jH,QAAAJ,EAAA9sH,EAAA+xH,QAAA7vH,EAAAsgE,IAAkCrZ,EAAA,SAAAjnD,GAAe,MAAAlC,GAAA+xH,QAAA7vH,EAAAsgE,MAAsBtgE,IAAA4qH,IAAA5qH,GAAA,KAAAA,EAAA4qH,GAAA5qH,EAAAouF,QAAApuF,EAAAkD,OAAA,EAAAo9D,EAAAv+D,QAAAqS,OAAApU,EAAAuyB,KAAqEiiD,QAAA,QAAAozB,WAAA,aAAqCtnC,EAAAvqD,KAAA/V,GAAA3C,KAAAyyH,gBAAAxvD,GAAAtR,KAAA,SAAAhvD,GAAsDlC,EAAAqyB,UAAAryB,EAAAy0C,QAAA,GAAAyI,YAAA,GAAAl9C,EAAA6tH,WAAAxkH,EAAA6nB,OAAAhvB,EAAAkD,YAAwE0nH,GAAM0B,EAAAwD,gBAAA,SAAA9vH,GAA+B,GAAAsgE,GAAAjjE,KAAA6lC,KAAiB,OAAAo9B,GAAA0qD,QAAA1zC,GAAAv5E,EAAAuE,GAAAytH,aAAA/vH,EAAA+vH,gBAAA,GAAAhyH,GAAAosF,UAAAl7B,aAAA/5C,KAAA,WAAqGorD,EAAA0qD,QAAAJ,IAAYx7D,WAAYk9D,EAAA0B,eAAA,SAAAhuH,EAAAsgE,GAAgCjjE,KAAAwyH,QAAA7vH,EAAA3C,KAAAkhF,SAAAtqE,QAAAqsD,IAAwCgsD,EAAAwB,aAAA,SAAA9tH,EAAAsgE,GAA8BjjE,KAAAwyH,QAAA7vH,EAAA3C,KAAAkhF,SAAAx7E,MAAAu9D,KAAAsqD,GAAAvtH,KAAAwxH,aAAAjE,IAAgE0B,EAAAuB,aAAA,WAA2B,GAAA7tH,GAAA3C,KAAAkhF,SAAAje,EAAAjjE,KAAAotH,IAAA,QAAwCzqH,GAAAgwH,UAAA3yH,KAAAwxH,eAAA7uH,EAAAgwH,SAAAjyH,EAAA,WAAwDk+C,MAAAoL,EAAA,cAAAhqD,KAAAuF,QAAAu0B,MAAA84F,OAAA1E,EAAA,gBAAkEn3G,OAAApU,EAAA+C,MAAAhF,EAAA,WAA8B+D,GAAAw+D,EAAArkB,MAAAoL,EAAA,SAAAqmE,cAAAp2C,KAAwCotB,aAAA1kG,EAAAiU,SAAA+xC,SAAA,kEAAAhmD,GAAyGjC,EAAAV,MAAA8nC,YAAA,0CAAAnlC,EAAA+M,KAAAwyC,QAAA,MAAiFyG,SAAA,4CAAAhmD,GAA0DjC,EAAAV,MAAA8nC,YAAA,+BAAAnlC,EAAA+M,QAA2D1P,KAAAuF,QAAAqR,QAAA8lF,QAAA18F,KAAA0wH,iBAAoDzB,EAAAuC,aAAA,SAAA7uH,GAA4B,GAAAsgE,GAAAjjE,KAAAkhF,QAAoBje,GAAAv9D,QAAAu9D,EAAA0vD,SAAAt7G,SAAA4rD,EAAA0vD,SAAA1vD,EAAAv9D,MAAAu9D,EAAAy5B,OAAA9yC,EAAAjnD,IAAA4qH,GAAAvtH,KAAAsuH,eAAsFW,EAAAgB,gBAAA,SAAAttH,GAA+B,MAAAqnD,GAAA,SAAArnD,GAAA3C,KAAAuF,QAAA4wB,SAAA6D,IAAA64F,UAAwD5D,EAAAX,WAAA,SAAA7tH,EAAAqJ,GAA4B,IAAA9J,KAAA8yB,UAAA9yB,KAAA6tH,aAAA7tH,KAAA0tH,UAAA,MAAA1tH,KAAgEA,MAAA6tH,YAAA5zC,CAAmB,IAAA1nB,GAAAgrB,EAAAwwC,EAAA1tH,EAAAkhC,EAAAvhC,KAAA6lC,MAAAqoF,EAAAluH,KAAAk1C,QAAA50C,EAAAN,KAAAuF,QAAA4wB,SAAA31B,EAAAF,EAAAsL,OAAAzK,EAAAb,EAAA05B,GAAAn5B,EAAAP,EAAA2yB,GAAAxxB,EAAAnB,EAAA85B,SAAAm0F,EAAAjuH,EAAAwwB,UAAA09F,EAAAluH,EAAA25B,OAAAv4B,EAAA8sH,EAAA55G,OAAArL,MAAA,KAAAk5F,EAAAyrB,EAAA1pE,WAAA+oE,GAAAwB,EAAAb,EAAA34F,YAAAg4F,GAAA56C,EAAA,EAAAruB,EAAA,EAAAjhD,EAAA6qH,EAAAh5F,IAAA,YAAAiF,GAAyNhF,KAAA,EAAAC,IAAA,GAAa65F,EAAAf,EAAA,GAAAvwE,YAAA,EAAA8iC,EAAAhgF,GAAA,WAAAA,EAAAiP,KAAA06C,EAAA1pD,EAAAiC,GAAAqgE,EAAAurD,EAAA,GAAAjoC,cAAA18B,EAAA5pD,KAAAk6B,KAAsF,IAAAx5B,EAAAmQ,QAAArQ,IAAA,IAAAA,EAAAqF,OAAAhF,GAAiCwC,EAAAgsH,EAAAl1F,EAAAmmD,GAAQnmD,GAAIhF,KAAA30B,EAAA,GAAA40B,IAAA50B,EAAA,QAAoB,cAAAA,EAAAK,GAAuBwC,EAAAgsH,EAAAl1F,EAAAmmD,KAAQkuC,EAAAt0F,OAAAl6B,KAAAuF,QAAAkvB,KAAAq+F,WAAAvxF,EAAAwxF,QAAAxxF,EAAAwxF,OAAA5tB,MAAA1kG,EAAA8gC,EAAAwxF,QAAAtyH,OAAA,WAAAA,EAAAiP,MAAA,WAAAjP,EAAAiP,MAAAjP,EAAA8gC,EAAA5P,MAAAi4B,KAAAu7C,QAAA1kG,EAAAmpD,GAAA,WAAAvmD,IAAA82B,EAAAo0F,EAAAt5F,UAAA+tC,EAAA6lB,KAAAlrC,eAAAh7C,EAAAqwH,YAAAhwD,EAAAgmB,gBAAAiqC,eAAA11C,EAAA78E,EAAAuiE,EAAA4lB,MAAA5zD,UAAAkF,GAAkRhF,KAAA10B,EAAA0kG,MAAAhrE,EAAAhF,MAAAooD,KAAApoD,MAAA,GAAAC,IAAA30B,EAAA6kG,MAAAnrE,EAAA/E,KAAAmoD,KAAAnoD,KAAA,IAAmEo5F,EAAAt0F,OAAAumD,GAAA72B,IAAAzvB,EAAAhF,OAAAy0B,EAAAspE,SAAA,GAAA9oE,EAAAg7C,aAAAjrE,EAAA/E,MAAAw0B,EAAAupE,SAAA,GAAA/oE,EAAA30B,iBAA4F,CAAK,aAAAj1B,EAAAC,KAAAmL,QAAA,WAAAnL,EAAAiP,MAAA,WAAAjP,EAAAiP,KAAA6xB,EAAA31B,OAAAlL,EAAAD,EAAAmL,QAAAnL,EAAAmL,SAAA21B,EAAA31B,OAAA5L,KAAAkhF,SAAAt1E,QAAA,UAAApL,IAAA+gC,EAAA31B,OAAAlL,EAAAF,EAAAuwF,OAAAvwF,EAAAR,KAAAkhF,SAAAt1E,SAAApL,EAAA+gC,EAAA31B,OAAApL,EAAAE,EAAAF,GAAA8nF,GAAA,OAAA9nF,EAAAqF,OAAA,MAAA7F,KAA4OQ,GAAA,KAAAyiE,GAAAziE,EAAA,KAAAmC,GAAAgwE,EAAAi9C,GAAAE,IAAAntH,EAAAqwH,WAAAxyH,EAAAm0B,QAAA2vB,EAAAsrE,GAAAE,IAAAntH,EAAAywH,YAAA5yH,EAAAm1B,SAAAn1B,EAAA,KAAAmC,IAAAw3B,GAAoG/E,KAAA3zB,GAAAjB,GAAAi1B,YAAAN,MAAA1zB,GAAAjB,GAAA4kG,gBAAgD36C,EAAA4oE,UAAA7yH,EAAAq4B,GAAA,QAAA05B,EAAA9H,EAAA4oE,SAAArzH,KAAAQ,EAAAK,EAAA4pD,EAAArwB,SAAA14B,EAAA6rH,GAAA9iE,EAAA6oE,KAAA9yH,KAAA,GAAA+yH,gBAAAhhE,EAAA9H,EAAA6oE,IAAAtzH,KAAAQ,EAAAK,EAAA4pD,EAAArwB,SAAA14B,EAAA6rH,IAAA56C,EAAAnyE,EAAAgkD,WAAA+oE,GAAAjpE,EAAA9jD,EAAA+0B,YAAAg4F,GAAApzF,EAAA35B,EAAAy0B,UAAAs9B,IAAAogB,EAAApgB,EAAA59B,MAAA2vB,EAAAiO,EAAA58B,OAAA4nD,EAAAhrB,EAAAt9B,OAAAkF,EAAAo4B,EAAAp8B,UAAAgE,EAAAn6B,KAAAsuH,WAAAr5F,OAAAz0B,EAAA25B,EAAAo0F,IAAAqB,GAAAE,IAAA,KAAAF,GAAAE,IAAA,KAAAF,GAAAE,KAAA,KAAAF,GAAAE,IAAA,OAAAF,GAAAE,KAAA,UAAAzsH,KAAA82B,EAAAhF,MAAAi1B,EAAAg7C,aAAAjrE,EAAA/E,KAAAg1B,EAAA30B,eAAA88B,QAAAihE,aAAAjG,KAAApzF,EAAAhF,MAAAt0B,EAAAwC,IAAAksH,EAAA58C,EAAA9xE,EAAAwC,IAAAmvD,EAAAmgB,EAAA,IAAAx4C,EAAA/E,KAAAv0B,EAAAs5B,IAAAm1F,EAAAhrE,EAAAzjD,EAAAs5B,IAAAq4B,EAAAlO,EAAA,KAA4d,MAAAnqB,GAAAhF,MAAAq5F,EAAAnrH,GAAAlC,EAAAkC,IAAAksH,GAAA9sB,EAAAthG,EAAAkC,IAAAmvD,GAAAiwC,EAAA,KAAAtoE,EAAA/E,KAAAo5F,EAAAr0F,GAAAh5B,EAAAg5B,IAAAm1F,GAAAP,EAAA5tH,EAAAg5B,IAAAq4B,GAAAu8D,EAAA,KAAAtkE,EAAArwB,UAAA2zF,EAAA5zF,EAAAspD,SAAAh5B,EAAArwB,SAAAp6B,KAAAm6B,EAAA75B,EAAAqyE,EAAAruB,EAAAm+C,EAAAssB,GAAAxxC,GAAAwwC,EAAA54F,OAAAgF,EAAAhF,MAAAooD,EAAApoD,MAAAooD,GAAAwwC,EAAA34F,MAAA+E,EAAA/E,KAAAmoD,EAAAnoD,KAAA24F,EAAA/zF,KAAAh6B,KAAAm2B,SAAA6D,GAAA+zF,EAAA/zF,KAAAG,EAAAspD,UAA4OtuD,KAAA,EAAAC,IAAA,GAAamM,EAAAyuF,YAAA3vH,EAAAL,KAAAiwH,gBAAAjwH,KAAAm2B,SAAA6D,OAAAuH,EAAAyuF,SAAA3vH,EAAA6tH,EAAA1+G,YAAA+xB,EAAAyuF,UAAA1gH,SAAAjP,IAAAL,KAAA+wH,SAAA,QAAA52F,EAAA14B,EAAA2lD,MAAA3lD,GAAAhB,UAAA05B,GAAAspD,SAAA35E,IAAAyjH,IAAA0B,GAAA5mG,MAAA8R,EAAAhF,OAAA9M,MAAA8R,EAAA/E,MAAA,UAAA50B,IAAAE,EAAAwC,WAAA5C,EAAAmzH,QAAAvF,EAAAh5F,IAAAiF,GAAAz5B,EAAAwC,WAAA5C,EAAAmzH,UAAAnzH,EAAAmzH,OAAAlzH,KAAA2tH,EAAAluH,KAAAU,EAAA2F,UAAuT8zB,IAAA+zF,EAAAviC,MAAA,SAAAhpF,GAAyBjC,EAAAV,MAAAk1B,KAAa+1D,QAAA,GAAAt1D,OAAA,KAAqBi6F,GAAAC,IAAA7vH,KAAA85B,MAAAmtD,gBAAA,UAAAtkF,OAAkD3C,KAAA6tH,YAAAN,EAAAvtH,YAAiCivH,EAAAX,WAAAr5F,OAAA,SAAAtyB,EAAAlC,EAAAqJ,GAAqC,QAAAyoD,GAAA5vD,EAAAsgE,GAAgBxiE,EAAA00B,MAAA8tC,EAAAtgE,EAAAyiG,aAAA3kG,EAAA20B,KAAA6tC,EAAAtgE,EAAA8yB,YAAgD,IAAA3rB,EAAA,SAAArJ,EAAkB,IAAA88E,GAAAwwC,EAAA1tH,EAAAkhC,EAAA2sF,EAAAxtH,EAAAiC,EAAA,GAAA2jF,eAAAhmF,IAAAsvH,GAAAC,IAAA,eAAA5sD,EAAAywD,WAAAlzH,EAAAsJ,EAAA,EAAkF,gBAAAikH,EAAArtH,EAAAw0B,IAAA10B,EAAA,yBAAAutH,GAAA1tH,EAAAG,EAAAgrG,wBAAAj5C,EAAA27D,GAAA,KAAA7tH,EAAAK,EAAAF,GAAA21B,WAAA91B,EAAA80B,MAAA1qB,WAAA/J,EAAAw0B,IAAA10B,EAAA,uBAAAH,EAAA+0B,KAAA3qB,WAAA/J,EAAAw0B,IAAA10B,EAAA,uBAAAC,EAAA00B,MAAA90B,EAAA80B,MAAA1qB,WAAA/J,EAAAw0B,IAAA10B,EAAA,mBAAAC,EAAA20B,KAAA/0B,EAAA+0B,KAAA3qB,WAAA/J,EAAAw0B,IAAA10B,EAAA,kBAAA+8E,GAAA,YAAAh8C,EAAA7gC,EAAAw0B,IAAA10B,EAAA,0BAAA+gC,GAAA,SAAA7gC,EAAA0O,KAAA5O,EAAA,aAAA+8E,EAAA78E,EAAAF,WAAsZA,IAAA21G,aAAwB,OAAA54B,OAAA,KAAA2wC,EAAA,IAAA5tH,IAAAiyD,EAAAgrB,EAAA,GAAA98E,EAAsC,IAAAkzH,KAAAlzC,EAAAwuC,EAAAX,WAAAsF,OAAA,SAAAjxH,EAAAsgE,GAA4CtgE,GAAA,GAAAA,GAAAqG,QAAA,iBAAAA,QAAA,WAAAwpD,GAAA5vB,cAAA5iC,KAAAqD,GAAAV,EAAA4nB,MAAA,gBAAA5nB,EAAA4nB,MAAA,2BAAAqY,cAAA5iC,KAAAm6B,GAAAx3B,EAAA4nB,MAAA,uCAAAqY,cAAA5iC,KAAA6zH,SAAA5wD,CAA4O,IAAAxiE,GAAAkC,EAAAynB,OAAA,EAAkBpqB,MAAAqyH,WAAA,MAAA5xH,GAAA,MAAAA,EAAAyuH,EAAAplE,IAAqCvoD,SAAYoyH,IAAAhiC,OAAA,SAAAhvF,EAAAsgE,GAAwBjjE,KAAA2C,GAAA3C,KAAA2C,KAAA0sH,EAAAE,EAAAvvH,KAAA2C,KAAA4sH,EAAAF,EAAApsD,GAAAjjE,KAAA2C,IAA+CgxH,GAAA3pH,OAAA,SAAArH,GAAuB,GAAAsgE,GAAAjjE,KAAAqD,EAAA5C,EAAAT,KAAAm6B,EAAAz5B,EAAAuiE,IAAAxiE,EAAA,WAAAwiE,GAAA,WAAAxiE,IAAAT,KAAAqyH,aAAAnD,GAAAlvH,KAAA6zH,SAAApzH,EAAAwiE,MAAAxiE,IAAAwiE,EAA6G,YAAAtgE,EAAAjC,EAAA+I,KAAA,KAAA/I,GAA4BizH,GAAAd,OAAA,WAAsB,GAAAlwH,GAAA3C,KAAAgK,QAAA,EAAsB,OAAArH,GAAA,GAAAynB,OAAA,IAAAznB,EAAA,IAAAA,EAAA,GAAAynB,OAAA,SAAiDupG,GAAA1vH,MAAA,WAAqB,UAAAw8E,GAAAzgF,KAAAgK,SAAAhK,KAAA6zH,SAAwC5E,EAAAt7G,OAAA,SAAAhR,EAAAlC,GAAwB,GAAAqJ,GAAA9J,KAAA6lC,MAAA0sB,EAAAvyD,KAAAuF,QAAAg4E,EAAAv9E,KAAAk1C,OAA+C,IAAAz0C,EAAA,CAAM,gBAAAyI,KAAAzI,EAAAiP,OAAA5F,EAAA6nB,OAAA,YAAAzoB,KAAAY,EAAA6nB,MAAAjiB,OAAA6iD,EAAA39B,KAAAhpB,OAAAkL,IAAArW,EAAAmL,QAAA/F,SAAA0sD,EAAA39B,KAAAhpB,OAAA/F,QAAA03E,EAAA7wD,IAAAjsB,EAAA+kG,eAAA3/F,OAAA,MAAA7F,KAA4K8J,GAAA6nB,MAAAjxB,EAAAixB,MAAAyyE,IAAA3jG,GAAuB,GAAAT,KAAA2tH,UAAAhrH,IAAA3C,KAAA4tH,iBAAA3zC,IAAAj6E,KAAA8yB,SAAA,MAAAnwB,GAAA3C,KAAAgU,OAAA,GAAAhU,IAA2F,IAAAA,KAAA0tH,WAAA1tH,KAAAiP,SAAA,MAAAjP,KAA6C,IAAA+tH,GAAA1tH,EAAAkhC,EAAA2sF,EAAAvrH,EAAA,cAAArC,EAAAN,KAAAuF,QAAA2oH,GAAA1tH,EAAAR,KAAAuF,QAAA4wB,SAAAh1B,EAAAnB,KAAAuF,QAAAqR,QAAA/V,EAAAb,KAAAk1C,QAAAhgB,IAAA,SAAAzzB,EAAAzB,KAAAk1C,QAAArc,GAAA,YAAA01F,EAAA5rH,GAAA,IAAArC,EAAAsL,OAAA/F,OAAA2oH,GAAA/tH,GAAAH,EAAAsL,OAAA/F,OAAA,GAAAiE,EAAA8B,OAAA,KAAAnL,EAAAmL,MAAgO,cAAAjJ,IAAA0gD,OAAA,oBAAA1gD,GAAAlB,GAAAssH,GAAAxwC,EAAA1kD,GAAA,cAAAp3B,IAAAkB,GAAA6rH,EAAAnuH,EAAA0tH,EAAAnkE,IAAA5pD,KAAA+wH,SAAA7C,GAAA,KAAAluH,KAAA0tH,UAAA1tH,MAAAK,IAAAktH,GAAA5qH,GAAA3C,KAAA+U,MAAAtU,IAAAJ,GAAA0tH,EAAA/tH,MAAAU,EAAA8D,KAAA+4E,EAAA,kBAAA56E,MAAA3C,KAAAk6B,QAAApwB,EAAAipH,OAAAryH,EAAAixB,MAAAyyE,IAAApkG,KAAAk6B,QAAAx5B,EAAAwC,WAAA/B,EAAA6F,OAAAhH,KAAA2wH,eAAAxvH,EAAA6F,KAAAumH,GAAA7sH,EAAAwC,WAAA/B,EAAAuE,QAAA1F,KAAAywH,aAAAtvH,EAAAuE,MAAA6nH,IAAAvqD,GAAA,UAAAxiE,EAAAoL,QAAApL,EAAAy5B,OAAAC,QAAAx5B,EAAAuiE,GAAAh9D,KAAA,aAAA+jD,EAAAhqD,KAAA8zH,aAAA9wD,EAAAiX,GAAAp5E,GAAA08E,EAAAroD,IAAA,QAAAqoD,EAAA/4B,WAAA+oE,IAAAvtH,KAAAsuH,WAAA7tH,EAAA6D,UAAA,IAAAzD,GAAA08E,EAAAroD,IAAA,YAAA50B,EAAAmuH,OAAA,gBAAAnuH,GAAAmuH,KAAA/tH,EAAAJ,EAAAmuH,MAAA/tH,EAAA8pD,EAAAlqD,EAAAmuH,OAAA/5E,IAAA6oC,GAAA7oC,IAAAp0C,EAAAsL,QAAAiuB,KAAA,UAAAn5B,GAAAojG,MAAA,kBAAA5zF,aAAAlQ,KAAA+sG,OAAAn4E,YAAA9qB,GAAAipH,OAAA/vD,IAAAtiE,EAAA8pD,EAAA,4BAAAlqD,EAAAmuH,MAAA/5E,IAAA6oC,GAAA13E,SAAAnF,EAAAuiE,GAAA/iB,OAAA,aAAA8J,GAAAgZ,EAAAuqD,GAAAvtH,KAAAk5B,KAAAz4B,IAAA8gC,EAAA7gC,EAAAotF,MAAA,WAAszBnrF,GAAAitH,GAAAC,IAAAtyC,EAAA,GAAAzjD,MAAAmtD,gBAAA,UAAA1J,EAAAroD,IAAA,+BAAA50B,GAAAyzH,WAAArzH,EAAAV,KAAAuF,QAAAqvB,KAAAm/F,UAAAx2C,GAAAxoE,QAAA/U,KAAAuF,QAAAqvB,KAAAhpB,OAAA7G,QAAA,QAAA/E,KAAAyE,GAAA,cAAA84E,EAAAroD,KAAiNiiD,QAAA,GAAAozB,WAAA,GAAAtf,QAAA,GAAA91D,KAAA,GAAAC,IAAA,KAAmDp1B,KAAA+wH,SAAApuH,EAAA,qBAAsC3C,MAAAM,EAAAmzH,SAAAlG,GAAAgB,IAAAhB,GAAAhwC,EAAA2wC,KAAA3sF,KAAA7gC,EAAAwC,WAAA5C,EAAAmzH,SAAAl2C,EAAA5tC,KAAA,KAAArvC,EAAAmzH,OAAAlzH,KAAAg9E,EAAAv9E,MAAAu9E,EAAAoO,MAAA,cAAAhpF,GAA2H4+B,IAAA5+B,OAAQ46E,EAAAovB,OAAA,GAAAhqG,EAAA,IAAA4+B,GAAA5+B,GAAArC,EAAAsL,OAAA7G,QAAA,QAAA/E,KAAAyE,GAAA,aAAAzE,QAAgFivH,EAAAr6F,KAAA,SAAAjyB,GAAoB,MAAA3C,MAAA2T,OAAAsmE,EAAAt3E,IAAwBssH,EAAAx6F,KAAA,SAAA9xB,GAAoB,MAAA3C,MAAA2T,OAAA45G,EAAA5qH,IAAwBssH,EAAAl6G,MAAA,SAAApS,GAAqB,IAAA3C,KAAA8yB,UAAA9yB,KAAA0tH,UAAA,MAAA1tH,KAA8C,IAAAijE,GAAAviE,EAAA8pD,GAAA/pD,EAAAT,KAAAk1C,QAAAprC,EAAAgB,SAAArK,EAAA,GAAAq5B,MAAAsxE,OAAA,IAAA74C,EAAAp4B,EAAA65F,OAAA/wD,EAAAp9D,MAA+E,OAAApF,GAAAgsC,SAAAr3B,IAAApV,KAAA+wH,SAAA,SAAAx+D,GAAA5vD,KAAAmH,IAAAyoD,IAAA0Q,EAAAjyD,KAAA,WAA+EhR,KAAA85B,MAAAsxE,OAAAthG,IAAA9J,KAAA85B,MAAAsxE,OAAAprG,KAAA85B,MAAAsxE,OAAA,KAA6DnoC,EAAAj2C,OAAA,IAAA5X,GAAAykB,KAAA,OAAAl3B,IAAAlC,EAAA6O,SAAA8F,GAAA,GAAA0kB,MAAAsxE,OAAA74C,GAAAvyD,MAAwEivH,EAAA/1F,KAAA,SAAAv2B,GAAoB,OAAA3C,KAAA8yB,UAAA9yB,KAAA0tH,UAAA1tH,WAAAk1C,QAAA1lC,YAAA4F,GAAApV,KAAA+wH,SAAA,QAAA/wH,KAAAk1C,QAAAhgB,IAAA,WAAAvyB,GAAA3C,OAAkIivH,EAAA5/G,QAAA,SAAA1M,GAAuB,MAAA3C,MAAA0tH,UAAA1tH,MAAA,WAAA2C,MAAA3C,KAAA8yB,SAAA9yB,KAAAk1C,QAAAzI,SAAA2hF,IAAApuH,KAAAiP,UAAA,iBAAAtM,OAAAs3E,GAAAj6E,KAAA8yB,UAAA9yB,KAAAk1C,QAAApN,YAAAsmF,GAAAzrH,GAAA6B,KAAA,gBAAA7B,GAAA3C,KAAAiP,WAAAtM,EAAA3C,OAA6NivH,EAAA1/G,OAAA,WAAqB,MAAAvP,MAAAqP,QAAAk+G,IAAuB0B,EAAAyB,cAAA,WAA4B,GAAA/tH,GAAA3C,KAAAijE,EAAAjjE,KAAAkhF,SAAAzgF,EAAAwiE,EAAA/tB,QAAAprC,EAAA9J,KAAAuF,QAAAqR,QAAA8lF,OAAAnqC,EAAA,gBAAAzoD,GAAAyzE,EAAAhrB,EAAAzoD,EAAA,eAAgHm5D,GAAAy5B,QAAAz5B,EAAAy5B,OAAArlF,SAAAvN,EAAAinF,OAAA9tB,EAAAy5B,OAAA5yF,EAAAm5D,EAAAy5B,OAAAh8F,EAAA,SAAoEk+C,MAAA,eAAA5+C,KAAAuF,QAAAu0B,MAAA84F,OAAA,GAAA5oE,EAAA,SAAAtkD,MAAA63E,EAAApqE,aAAAoqE,IAAsF3uD,QAAAluB,EAAA,YAAwBk+C,MAAA,wBAAAlmC,KAAA,aAA+CuqD,EAAAy5B,OAAA9T,SAAA3lB,EAAA0vD,UAAAlyH,GAAA+D,KAAA,iBAAAuK,MAAA,SAAAk0D,GAA4E,MAAAxiE,GAAAgsC,SAAA2hF,KAAAzrH,EAAA8xB,KAAAwuC,GAAAsqD,KAAqC0B,EAAAyC,cAAA,SAAA/uH,GAA6B,IAAA3C,KAAA8yB,SAAA,MAAAy6F,EAA2B,IAAAtqD,GAAAjjE,KAAAkhF,SAAAwb,MAA2B/5F,GAAA3C,KAAA0wH,gBAAAztD,EAAA5rD,UAAkC43G,EAAA2B,WAAA,WAAyB,GAAAjuH,GAAA3C,KAAAuF,QAAAu0B,MAAA84F,OAAA3vD,EAAAjjE,KAAAkhF,SAAAzgF,EAAAwiE,EAAA/tB,QAAAx0C,EAAAD,EAAAgsC,SAAA2hF,GAA6E3tH,GAAA+O,YAAA4+G,OAAAzrH,EAAA,oCAAAlC,EAAAqnC,YAAAsmF,GAAA1tH,GAAAD,EAAAqnC,YAAA,mBAAAomF,IAAAvrH,GAAAmlC,YAAA4nF,EAAA1vH,KAAAuF,QAAAu0B,MAAAo+C,MAAAv1E,GAAAsgE,EAAArsD,SAAAqsD,EAAArsD,QAAAkxB,YAAAomF,EAAA,WAAAvrH,GAAAsgE,EAAA0vD,UAAA1vD,EAAA0vD,SAAA7qF,YAAAomF,EAAA,UAAAvrH,GAAAsgE,EAAAy5B,QAAAz5B,EAAAy5B,OAAA50D,YAAAkiB,EAAA,SAAArnD,IAAiTssH,EAAA6E,YAAA,SAAAnxH,GAA2B,OAAA3C,KAAAk6B,MAAAx5B,EAAAixB,MAAAyyE,IAAAzhG,IAAA+M,KAAA,YAAA1P,MAAwDivH,EAAAgF,MAAA,SAAAtxH,EAAAsgE,EAAAxiE,EAAAqJ,EAAAyoD,GAA6B,GAAA5vD,GAAAlC,GAAAwiE,EAAAp9D,OAAA,CAAmB,GAAA03E,GAAA,IAAAv9E,KAAAotH,KAAAtjH,EAAA,IAAAA,EAAA,GAAgC,OAAApJ,GAAAiC,GAAAsD,MAAAg9D,EAAA15D,MAAA05D,IAAAx5D,KAAA8zE,EAAA,MAAAA,EAAA78E,EAAAotF,MAAArtF,EAAA8xD,GAAAvyD,cAAuEivH,EAAAiF,QAAA,SAAAvxH,EAAAsgE,GAAyB,MAAAtgE,IAAAjC,EAAAiC,GAAAu9C,OAAA,IAAAlgD,KAAAotH,KAAAnqD,EAAA,IAAAA,EAAA,KAAAjjE,MAAsDivH,EAAA8B,SAAA,SAAApuH,EAAAsgE,EAAAxiE,GAA4B,GAAAqJ,GAAA,GAAApJ,GAAAojG,MAAA,UAAAnhG,EAA+B,OAAAmH,GAAA02C,cAAA//C,GAAAC,EAAA2F,UAAqC5F,IAAAT,KAAA6lC,MAAAlU,OAAAi4B,EAAA5pD,KAAA8tH,WAAAnrH,EAAA3C,KAAAk1C,QAAAnwC,QAAA+E,GAAA9J,MAAA0yC,OAAAuwB,QAAAjjE,KAAA8tH,WAAAP,GAAAzjH,EAAAq6F,sBAAkI8qB,EAAAkF,YAAA,SAAAxxH,EAAAsgE,EAAAxiE,EAAAqJ,EAAAyoD,EAAAgrB,GAAqC,GAAAwwC,GAAAttH,EAAAusB,OAAAljB,GAAAgN,IAAAhN,EAAAkjB,OAAAvsB,IAAAJ,IAAwC0tH,GAAAloH,SAAAnF,EAAAsQ,KAAAiyD,EAAA,SAAAA,EAAAxiE,GAAkC,GAAAqJ,GAAApJ,EAAA6gF,QAAA9gF,EAAAkC,EAAqBmH,IAAA,GAAAzJ,EAAAmL,KAAA7I,EAAA4vB,OAAAzoB,EAAA,SAA+BzJ,EAAAwF,SAAA7F,KAAAi0H,MAAAlG,EAAA1tH,EAAA,SAAAsC,MAAwC3C,KAAA8yB,UAAA9yB,KAAAk1C,QAAA,GAAAyI,YAAA,EAAqD4/B,EAAAhrB,GAAAhyD,KAAAP,KAAA2C,KAAqBlC,IAAAi0C,IAAAq5E,GAAAjkH,IAAA4qC,IAAAq5E,KAAA/tH,KAAAi0H,MAAAxzH,EAAAkC,EAAA4vD,GAAAvyD,KAAAi0H,MAAAnqH,EAAAm5D,EAAAsa,IAA8D0xC,EAAAmF,qBAAA,SAAAzxH,GAAoC,QAAAsgE,GAAAtgE,GAAc,MAAA3C,MAAAiP,UAAAjP,KAAA0tH,UAAAH,GAAAvtH,KAAA6lC,MAAAlU,MAAAhvB,GAAAjC,EAAAixB,MAAAyyE,IAAAzhG,GAAA3C,KAAA6lC,MAAAj6B,OAAAjJ,GAAAjC,EAAAiC,EAAAiJ,QAAAsE,aAAAlQ,KAAA+sG,OAAAn4E,WAAA50B,KAAA+sG,OAAAn4E,KAAAt0B,EAAAC,KAAAP,KAAA,WAAwLA,KAAAgU,OAAA,gBAAArR,IAAAlC,EAAAm0B,KAAAqtD,QAA8CxhF,EAAA4zH,UAAA,EAAA5zH,EAAAm0B,KAAA3d,SAA+B,GAAAxW,GAAAT,KAAAuF,QAAAuE,EAAArJ,EAAAm0B,KAAAhpB,OAAA2mD,EAAA9xD,EAAAg0B,KAAA7oB,OAAA2xE,EAAA98E,EAAAm0B,KAAAjD,MAAAjxB,EAAAmL,KAAA,GAAApL,EAAAm0B,KAAAjD,OAAApoB,MAAA,QAAAwkH,EAAAttH,EAAAg0B,KAAA9C,MAAAjxB,EAAAmL,KAAA,GAAApL,EAAAg0B,KAAA9C,OAAApoB,MAAA,OAA6JvJ,MAAAi0H,MAAAj0H,KAAAkhF,SAAAt1E,QAAA,kCAAmE5L,KAAAgxH,SAAA,IAAiB,gCAAA9nH,KAAAzI,EAAAm0B,KAAAjD,SAAA,oBAAAzoB,KAAAzI,EAAAg0B,KAAA9C,QAAAo8F,EAAAviH,KAAA,cAAAxL,KAAAi0H,MAAAnqH,EAAA,qBAAAnH,GAAwJ3C,KAAA8zH,YAAAnxH,GAAA3C,KAAA6lC,MAAAyuF,SAAAr6C,IAA0Cj6E,KAAAm0H,YAAA52C,EAAAwwC,EAAAjkH,EAAAyoD,EAAA0Q,EAAA,WAAwC,MAAAjjE,MAAA+sG,WAAA78F,cAAAlQ,KAAA+sG,OAAAn4E,MAAA24F,KAAyD9sH,EAAAm0B,KAAAqtD,OAAAxhF,EAAA4zH,YAAApxD,EAAA1iE,KAAAP,KAAA2C,IAA8CssH,EAAA6B,cAAA,WAA4B,GAAArwH,GAAAT,KAAA8J,EAAA9J,KAAAuF,QAAAgtD,EAAAzoD,EAAAqsB,SAAAonD,EAAAv9E,KAAAk1C,QAAA64E,EAAAjkH,EAAA8qB,KAAAhpB,OAAAvL,EAAAyJ,EAAA2qB,KAAA7oB,OAAA21B,EAAAgxB,EAAAzhC,UAAAo9F,EAAA37D,EAAAn4B,SAAA95B,EAAAI,EAAAuiE,GAAAsrD,EAAA7tH,EAAAiC,GAAA6rH,EAAA1kH,EAAA8qB,KAAAjD,MAAAjxB,EAAAmL,KAAA,GAAA/B,EAAA8qB,KAAAjD,OAAApoB,MAAA,QAAA7H,EAAAoI,EAAA2qB,KAAA9C,MAAAjxB,EAAAmL,KAAA,GAAA/B,EAAA2qB,KAAA9C,OAAApoB,MAAA,OAAyO7I,GAAAsQ,KAAAlH,EAAAgF,OAAA,SAAAnM,EAAAsgE,GAA8BxiE,EAAAwzH,MAAA12C,EAAA,WAAA56E,GAAA,wCAAAA,GAAAsgE,EAAA,KAAAsa,KAA6E,oBAAAr0E,KAAAY,EAAA2qB,KAAA9C,QAAA,WAAA7nB,EAAA2qB,KAAA8/F,OAAAv0H,KAAAi0H,MAAA3zH,GAAA,4BAAAqC,GAAgH,gBAAAuG,KAAAvG,EAAAiJ,OAAAqsC,WAAAt1C,EAAA6iG,eAAAxlG,KAAAy0B,KAAA9xB,KAAuEmH,EAAA2qB,KAAA0gB,MAAA90C,IAAAyW,IAAAymE,EAAAjuE,SAAAmgH,IAAA,qBAAAvmH,KAAAY,EAAA8qB,KAAAjD,QAAA3xB,KAAAi0H,MAAA5zH,EAAA,wBAAoH6P,aAAAlQ,KAAA+sG,OAAAn4E,SAA+B,GAAA9qB,EAAA2qB,KAAA9C,OAAAxK,QAAA,eAAAnnB,KAAAi0H,MAAA1yF,EAAAxI,QAAA,4CAAAp2B,GAA+G,GAAAsgE,GAAAviE,EAAAiC,EAAAiJ,QAAAnL,EAAAT,KAAA8yB,WAAA9yB,KAAAk1C,QAAAzI,SAAA2hF,KAAApuH,KAAAk1C,QAAA,GAAAyI,YAAA,EAAA7zC,EAAAm5D,EAAAxsC,QAAA+zB,GAAAx9B,OAAAhtB,KAAAk1C,QAAA,IAAArvC,OAAA,CAA6Io9D,GAAA,KAAAjjE,KAAA4L,OAAA,IAAAq3D,EAAA,KAAAjjE,KAAAk1C,QAAA,IAAAprC,GAAA9J,KAAA4L,OAAA8gB,IAAAu2C,EAAA,IAAAp9D,SAAApF,GAAAT,KAAAy0B,KAAA9xB,KAAiG,gBAAAmH,GAAA2qB,KAAA45F,WAAAruH,KAAAi0H,MAAAlG,EAAA,QAAA/tH,KAAAyE,GAAA,YAAA5D,EAAA,YAAAb,KAAAi0H,MAAA5zH,EAAAyW,IAAAymE,GAAApjD,EAAAq6F,eAAA3zH,IAAAb,KAAAm0H,YAAA3F,EAAA9sH,EAAAqsH,EAAA1tH,EAAAG,EAAAW,GAAAnB,KAAAi0H,MAAAlG,EAAAj3G,IAAAymE,GAAA,qBAAA56E,GAA+M,mBAAAmH,GAAA2qB,KAAAq+F,SAAA,CAAqC,GAAA7vD,GAAAjjE,KAAA6lC,MAAAktF,WAA2BtyH,EAAAT,KAAAuF,QAAAkvB,KAAAq+F,SAAApyH,EAAA+sB,KAAA4zF,KAAyC3gH,EAAAiC,EAAAwiG,MAAAliC,EAAAkiC,QAAA1kG,GAAAC,EAAAiC,EAAA2iG,MAAAriC,EAAAqiC,QAAA7kG,IAAAT,KAAAy0B,KAAA9xB,GAA6D3C,KAAA8zH,YAAAnxH,KAAoB,UAAA4vD,EAAA3mD,QAAA2mD,EAAAt4B,OAAAC,QAAApwB,EAAA2qB,KAAA9C,OAAA3xB,KAAAi0H,MAAAlG,GAAA,oCAAAprH,GAA0G,MAAA3C,MAAA6lC,WAAA7lC,KAAA6lC,MAAAyuF,SAAA,eAAA3xH,EAAA+M,MAAA69G,IAAoEvtH,KAAAi0H,MAAA3zH,EAAA,qBAAAqC,GAAuC3C,KAAA8yB,UAAA9yB,KAAA6lC,MAAAyuF,WAAAt0H,KAAAk1C,QAAAzI,SAAA2hF,KAAApuH,KAAAk1C,QAAA,GAAAyI,YAAA,GAAA39C,KAAAsuH,WAAA3rH,OAAkH4vD,EAAAt4B,OAAAjhB,QAAAk1G,EAAAroH,SAAA7F,KAAAi0H,MAAAvzH,EAAAixB,MAAAgxE,QAAA3pF,OAAAk1G,EAAAK,EAAA,SAAA9sH,GAAA8wD,EAAAt4B,OAAAvD,QAAA12B,KAAAi0H,MAAA1F,EAAAz3G,IAAAy7C,EAAAzhC,WAAA,SAAArvB,IAA6IwtH,EAAA4B,gBAAA,WAA8B,GAAApwH,GAAAT,KAAAuF,QAAAuE,EAAArJ,EAAAm0B,KAAAhpB,OAAA2mD,EAAA9xD,EAAAg0B,KAAA7oB,OAAA2xE,EAAA78E,EAAA0gF,MAAAphF,KAAAkhF,SAAAt1E,OAAA,GAAA5L,KAAA8yB,UAAA9yB,KAAAk1C,QAAA,GAAAz0C,EAAA01B,SAAArF,UAAA,GAAArwB,EAAA01B,SAAAiE,SAAA,GAAA35B,EAAA01B,SAAArF,UAAAiI,QAAA,WAAAp2B,EAAAsgE,GAAA,SAAAtgE,GAA4N,sBAAAA,IAA2BmH,MAAA6W,UAAA48D,IAAA7qC,OAAA5oC,EAAA6W,YAAA4xC,KAAA5xC,UAAA48D,IAAA7qC,OAAA6f,EAAA5xC,YAAA3gB,KAAAk0H,QAAA32C,GAAA22C,QAAA32C,EAAA,WAAA22C,QAAA32C,EAAA,aAA2I78E,EAAA,WAAc6tH,EAAA/jE,GAAA,oCAAA7nD,GAA4C,GAAAsgE,GAAA,eAAAtgE,EAAA+M,KAAAjP,EAAAC,EAAAiC,EAAA+pC,eAAA5iC,EAAApJ,EAAAiC,EAAA6iG,eAAA7iG,EAAAiJ,QAAA2mD,EAAAvyD,KAAAuF,OAA+F09D,IAAAjjE,KAAA+U,MAAApS,GAAAlC,EAAAgsC,SAAAgjF,KAAAhvH,EAAAgsC,SAAA2hF,KAAAl+G,aAAAlQ,KAAA+sG,OAAAt4E,OAAA,UAAA89B,EAAAp8B,SAAAvqB,QAAA2mD,EAAAp8B,SAAA8D,OAAAC,OAAAq4B,EAAA99B,KAAA9C,OAAA4gC,EAAA39B,KAAAhpB,SAAA9B,EAAAivB,QAAAw5B,EAAA39B,KAAAhpB,OAAA,IAAA/F,QAAA7F,KAAAy0B,KAAA9xB,GAAAlC,EAAAqnC,YAAAplC,EAAAugE,KAAyOsrD,EAAA,IAAAhkE,EAAA,IAAAilE,EAAA3uH,KAAmBs5B,EAAAz5B,EAAAuE,GAAA40B,KAAA,SAAAl3B,EAAAsgE,EAAAn5D,GAA8B,GAAAyoD,IAAA,GAAA5vD,GAAAigC,cAAA26C,EAAA3zB,EAAAvpD,EAAAK,EAAA+wF,UAAAntF,WAAAsE,MAAA,GAAA24B,EAAAlhC,IAAAwF,OAAA,GAAAqoH,EAAAluH,KAAA,GAAAU,EAAA+C,KAAAzD,KAAA,GAAAgqD,GAAAJ,CAA+G,QAAAtlD,UAAAuB,QAAAqoH,GAAA,QAAA37D,EAAA27D,EAAA,gBAAAvrH,IAAA3C,KAAAgR,KAAA,WAAiF,GAAArO,GAAAjC,EAAA+C,KAAAzD,KAAAgqD,EAAqB,KAAArnD,EAAA,MAAAs3E,EAAe,IAAA14C,KAAAykE,YAAArjG,EAAAkjC,MAAAlU,MAAA4P,IAAA0hC,GAAA,WAAA1Q,GAAA,YAAAA,EAAA5vD,EAAA4vD,IAAA5vD,EAAA4vD,GAAAluD,MAAA1B,EAAAtC,OAA2F,CAAK,GAAAyJ,IAAArJ,IAAAC,EAAAyK,cAAA83D,GAAA,MAAAsa,GAAA56E,EAAAzB,IAAA+hE,GAAAsqD,CAAkD5qH,GAAAmN,IAAAmzD,EAAAn5D,MAAYyzE,IAAA3zB,EAAA2zB,EAAAv9E,MAAA,gBAAA2C,IAAA2B,UAAAuB,WAAA,IAAAqoH,EAAAH,EAAArtH,EAAA2F,OAAA4zE,KAA8Et3E,IAAA3C,KAAAgR,KAAA,SAAArO,GAA2B,GAAAsgE,GAAAxiE,CAAQ,OAAAA,GAAAC,EAAAmQ,QAAAq9G,EAAAzpH,IAAAypH,EAAAzpH,GAAA9B,GAAAurH,EAAAzpH,GAAAhE,UAAA8sH,GAAA9sH,EAAAoF,OAAA,GAAAs0B,EAAAwO,IAAAloC,GAAA05B,EAAAg3F,SAAA1wH,EAAAwiE,EAAAurD,EAAA9tH,EAAAV,MAAAS,EAAAytH,GAAAjrD,IAAAsqD,EAAAtzC,GAAA9/C,EAAAwO,IAAAloC,GAAAwiE,EAAAviE,EAAAsQ,KAAAy5C,EAAA,WAA8I,eAAAzqD,KAAAyP,YAAAzP,KAAAijE,SAAwCA,GAAAmxD,qBAAA7yF,QAAqC7gC,EAAAm5B,KAAA/vB,EAAAqwB,EAAAwO,OAAkBjoC,EAAAsQ,MAASxM,KAAA,SAAA7B,EAAAsgE,GAAmB,GAAAjjE,KAAA6F,OAAA,CAAgB,GAAApF,GAAAT,KAAA,GAAA8J,EAAA,QAAAyoD,EAAA7xD,EAAA+C,KAAAhD,EAAA,OAA2C,IAAAkC,IAAAmH,GAAAyoD,KAAAhtD,SAAA,gBAAAgtD,IAAA,gBAAAA,GAAAhtD,SAAAgtD,EAAAhtD,QAAAopH,SAAA,MAAArqH,WAAAuB,OAAA,EAAAnF,EAAA8D,KAAA/D,EAAAmuH,KAAAr8D,KAAAhtD,QAAAqR,QAAApS,OAAAsF,GAAAyoD,EAAA1sB,MAAArhC,MAAA+tD,EAAAziD,IAAA,eAAAmzD,GAAAjjE,KAAAwE,KAAAoqH,GAAA3rD,IAAyN,MAAAviE,GAAAuE,GAAA,OAAA0qH,IAAAtrH,MAAArE,KAAAsE,YAA6CL,MAAA,SAAAtB,GAAmB,GAAAsgE,GAAAviE,EAAAuE,GAAA,QAAA0qH,IAAAtrH,MAAArE,KAAAsE,UAA6C,OAAA3B,IAAAsgE,EAAAj2C,OAAA,IAAA4hG,GAAA,KAAApqH,KAAA,mBAAuD,MAAA9D,GAAA8D,KAAAxE,KAAA4uH,MAAuB34F,WAAA24F,IAAA3rD,IAAoB,SAAAtgE,EAAAsgE,GAAe,IAAAA,GAAAviE,EAAAuE,GAAAtC,EAAAgtH,IAAA,MAAA11C,EAA2B,IAAAx5E,GAAAC,EAAAuE,GAAAtC,EAAAgtH,IAAAjvH,EAAAuE,GAAAtC,EAAyBjC,GAAAuE,GAAAtC,GAAA,WAAmB,MAAAsgE,GAAA5+D,MAAArE,KAAAsE,YAAA7D,EAAA4D,MAAArE,KAAAsE,cAAyD5D,EAAA+zH,KAAA/zH,EAAA,YAAAivH,IAAAjvH,EAAAyiF,UAAAziF,EAAAyiF,UAAA,SAAAxgF,GAA+D,OAAAsgE,GAAAxiE,EAAA,GAAcwiE,EAAAviE,EAAAiC,EAAAlC,KAAAoF,OAAmBpF,IAAA,GAAAwiE,EAAAz+D,KAAA+zE,GAAA,IAAqBtV,EAAA+8B,eAAA,cAA+B,MAAAl2F,IAAUpJ,EAAA,YAAAivH,IAAAtrH,MAAArE,KAAAsE,aAAwC61B,EAAA6zB,QAAA,YAAA7zB,EAAAg3F,OAAA,EAAAh3F,EAAAq6F,eAAAhF,EAAAr1F,EAAA65F,OAAA,KAAA75F,EAAA30B,UAAgF6uH,UAAA9G,EAAA9oH,GAAA8oH,EAAAmB,UAAAz0C,EAAA00C,SAAA10C,EAAArjE,SAAiD5P,KAAAizE,EAAAz1E,KAAA,QAAAkB,MAAA6nH,EAAA7wB,OAAA6wB,GAAqCp3F,UAAW6D,GAAA,WAAA/G,GAAA,eAAArnB,OAAA2hH,EAAAz8F,UAAAy8F,EAAAnzF,SAAAmzF,EAAAtzF,QAAwE52B,EAAA,EAAA82B,EAAA,EAAAD,MAAA+/C,EAAAvjD,OAAAujD,EAAAjhE,OAAAihE,EAAArlE,OAAA,yBAAiE6+G,OAAA,SAAA9wH,EAAAsgE,GAAsBviE,EAAAV,MAAA6T,QAAAovD,GAAmBkqB,SAAA,IAAAxB,MAAA4hC,MAAwB34F,MAAOhpB,OAAA2hH,EAAA57F,MAAA,aAAA8hG,OAAAx5C,EAAAhjE,MAAA,GAAAw3G,KAAAlB,EAAAtrC,MAAAsrC,EAAAwG,UAAAxG,GAAyE94F,MAAO7oB,OAAA2hH,EAAA57F,MAAA,aAAA8hG,OAAAx5C,EAAAhjE,MAAA,EAAAk+B,MAAAo4E,EAAAc,SAAAd,EAAAgH,MAAA,SAAAzB,SAAAvF,GAA0FzzF,OAAQC,QAAA,GAAA64F,OAAArF,EAAA54F,MAAA44F,EAAA53F,OAAA43F,EAAAr1C,IAAA+B,GAA2CnrE,QAASkF,OAAA41C,EAAA8qE,KAAA9qE,EAAAh1B,KAAAg1B,EAAAn1B,KAAAm1B,EAAAj2C,OAAAi2C,EAAAliB,QAAAkiB,EAAA7hB,OAAA6hB,EAAA70C,MAAA60C,EAAA1wB,KAAA0wB,GAA2E,IAAA+qE,IAAAC,GAAAC,GAAAC,GAAAC,GAAAC,GAAA,SAAAC,GAAA,SAAAC,GAAA,QAAAC,GAAA,mBAAAC,GAAA,cAAAC,GAAA,cAAAC,KAAAryD,EAAA9a,cAAA,UAAAotE,WAAAC,GAAA,8CAAA1G,MAA8MD,IAAA,wBAA8ByG,KAAAR,GAAAnyH,EAAA8yH,kBAAA,EAAAV,GAAA,WAA2C,GAAApyH,GAAAsgE,EAAA9a,cAAA,UAAAotE,WAAA,KAAiD,OAAA5yH,GAAA+yH,wBAAA/yH,EAAAgzH,8BAAAhzH,EAAAizH,2BAAAjzH,EAAAkzH,0BAAAlzH,EAAAmzH,yBAAA,KAAuJjB,GAAAC,GAAAC,IAAAH,GAAA,SAAAjyH,EAAAsgE,EAAAxiE,GAAgC,kBAAAkC,EAAA,4DAAAsgE,GAAA,6CAA4HxiE,GAAA,YAAkBC,EAAA2F,OAAAssE,EAAApxE,WAAuBknC,KAAA,SAAA9lC,GAAiB,GAAAsgE,GAAAxiE,CAAQA,GAAAT,KAAAyoD,QAAA9lD,EAAAu+E,SAAA60C,IAAAr1H,EAAA,WAA2Ck+C,MAAAoL,EAAA,SAAiBw9C,UAAA7kG,EAAAuyC,SAAAogF,IAAAryD,EAAAviE,EAAA,cAAAkoF,SAAA5oF,KAAAyoD,SAAA,GAAA8sE,WAAA,MAAAtyD,EAAA+yD,SAAA,QAAA/yD,EAAAgzD,WAAA,IAAAhzD,EAAAx8B,SAAAw8B,EAAA2xD,GAAA,kDAA2L50H,KAAAyoD,QAAA/vC,KAAAuqD,KAAAtgE,EAAAsxH,MAAAvzH,EAAA,IAAAD,GAAAqW,IAAArW,IAAA,8BAAAkC,GAAoFA,EAAA6wB,mBAAoBxzB,KAAAgvH,MAAArsH,EAAAsxH,MAAAtxH,EAAAuyC,QAAA,cAAAl1C,KAAAsuH,WAAAtuH,KAAAgvH,IAAAhvH,WAAA0R,UAAyFwkH,gBAAA,WAA4Bl2H,KAAAmR,KAAA,GAAAnR,KAAAuF,QAAAowB,OAAA31B,KAAAmR,KAAA,GAAAnR,KAAAuF,QAAAovB,OAAiEwhG,iBAAA,WAA6Bn2H,KAAAmR,KAAA,GAAAnR,KAAAuF,QAAAovB,MAAA30B,KAAAmR,KAAA,GAAAnR,KAAAuF,QAAAowB,QAAiEygG,UAAA,SAAAzzH,GAAuB,GAAAsgE,GAAAjjE,KAAA65B,KAAAqnD,SAAAyxC,QAAkC,OAAA1vD,KAAAtgE,EAAAw3B,IAAAmmD,GAAA39E,EAAAw3B,IAAAq4B,GAAAxyD,KAAAyoD,QAAAtyB,WAAAf,IAAAp1B,KAAAmR,KAAA,KAAAnR,KAAAuF,QAAA0vB,OAAAguC,EAAA1tC,YAAA0kD,KAA8Go8C,aAAA,SAAA1zH,GAA0B,GAAAsgE,GAAAjjE,KAAA65B,KAAAt0B,QAAA4wB,SAAA6D,EAAoC,OAAAr3B,KAAA4qH,GAAAtqD,IAAAsqD,EAAA5qH,EAAA4qH,EAAA5qH,IAAAs3E,EAAAt3E,EAAA,GAAA89E,GAAAxd,EAAAj5D,UAAArH,EAAAqH,SAAArH,EAAA,GAAA89E,GAAA99E,KAAAwyC,MAAA8kC,GAAAt3E,GAAqF2zH,YAAA,SAAA3zH,EAAAsgE,EAAAxiE,GAA6B,GAAAC,GAAAV,KAAA65B,KAAAqnD,SAAAp3E,EAAAmrH,GAAAvzH,EAAAuhE,GAAA,OAA2C,QAAAxiE,EAAAsuH,EAAAtuH,EAAAqJ,GAAAilH,EAAAruH,EAAAkW,QAAA9M,IAAAilH,EAAA/uH,KAAAo2H,UAAAzzH,IAAAjC,EAAAiyH,UAAAjyH,EAAAkW,QAAA9M,IAAAilH,EAAAruH,EAAAw0C,QAAAprC,KAAA,GAAkGysH,aAAA,SAAA5zH,GAA0B,GAAAsgE,GAAAjjE,KAAA65B,KAAAqnD,SAAAzgF,EAAAw0H,GAAAvzH,EAAAiB,EAAAw3B,GAAAz4B,EAAAiB,EAAAU,GAAA,QAAqD,OAAAusH,IAAAC,GAAA,IAAAd,EAAA/uH,KAAAo2H,UAAAzzH,IAAAsgE,EAAA0vD,UAAA1vD,EAAArsD,QAAAnW,IAAAsuH,EAAA9rD,EAAA/tB,QAAAz0C,IAAA,GAAkF+1H,eAAA,SAAA7zH,EAAAsgE,EAAAxiE,GAAgC,GAAAC,GAAAiC,EAAAuyB,IAAA+tC,EAAe,QAAAviE,GAAAD,GAAAC,IAAAiC,EAAAuyB,IAAAz0B,IAAA+0H,GAAAtsH,KAAAxI,GAAA6sH,EAAA7sH,GAA0C+1H,cAAA,SAAA9zH,GAA2B,GAAAsgE,GAAAjjE,KAAA65B,KAAAqnD,SAAAzgF,EAAAT,KAAAyoD,QAAAvzB,IAAA,cAAAprB,EAAAmrH,GAAAvzH,EAAAiB,IAAA0vH,aAAA3wH,EAAAwzH,IAAA3iE,EAAAvyD,KAAAo2H,UAAAzzH,IAAAsgE,EAAA0vD,UAAA1vD,EAAArsD,QAAA2mE,EAAAv9E,KAAAw2H,eAAAzI,IAA8J,OAAAA,GAAA,GAAAxwC,EAAA98E,EAAA00H,KAAA53C,EAAAhrB,EAAA4iE,KAAA53C,EAAAta,EAAArsD,QAAAu+G,KAAA53C,EAAAta,EAAA/tB,QAAAigF,KAAA10H,EAAAy0B,IAAAigG,IAAApH,EAAA,GAAAxwC,EAAA98E,EAAAqJ,EAAAorH,KAAA33C,EAAAhrB,EAAAzoD,EAAAorH,KAAA33C,EAAAta,EAAArsD,QAAA9M,EAAAorH,KAAA33C,EAAAta,EAAA/tB,QAAAprC,EAAAorH,KAAAjyD,EAAA/tB,QAAAhgB,IAAAprB,GAAApJ,EAAA,IAAAD,GAAAqW,IAAArW,GAAAy0B,IAAA,UAAAigG,GAAA,IAAAC,GAAAC,GAAA,IAAyMJ,GAAA,KAAAI,GAAA,KAAetH,GAAK2I,eAAA,SAAA/zH,GAA4B,GAAAsgE,GAAAxiE,EAAAC,EAAAoJ,EAAAnH,EAAA0vH,aAAAnD,EAAA38D,EAAAvyD,KAAAuF,QAAAovB,MAAA4oD,EAAAv9E,KAAAuF,QAAAowB,OAAAo4F,EAAA,MAAAprH,EAAAkwH,SAAAxyH,GAAAyJ,EAAAyoD,EAAAgrB,IAAAwwC,EAAA,MAAAxsF,EAAA9T,KAAA2zF,IAAA8M,EAAAzgG,KAAA2Z,MAAA9mC,EAAAmtB,KAAAkpG,KAAAp1F,EAAAlhC,EAAA,GAAAkhC,EAAAg8C,EAAA,IAAA/8E,GAAAR,KAAA2rG,OAAAtrG,EAAAC,EAAAN,KAAA2rG,OAAApuB,EAAAj9E,EAAqM,OAAAE,GAAA,GAAAitB,KAAAkpG,KAAAp1F,EAAA/gC,EAAA,MAAA+gC,EAAAvhC,KAAA2rG,OAAA,IAAAnrG,EAAA,GAAAitB,KAAAkpG,KAAAp1F,EAAA/gC,EAAA,MAAA+gC,EAAAvhC,KAAA2rG,OAAA,IAAA1oC,EAAA3iE,EAAAE,EAAA,GAAAA,EAAA,IAAAutH,EAAA,EAAAvtH,EAAA,IAAAC,EAAAwiE,EAAA3iE,EAAAI,GAAAwtH,EAAAztH,EAAA8xD,GAAA27D,EAAAztH,EAAA88E,IAAAzzE,EAAApJ,IAAA0xC,WAA8JwkF,cAAA,SAAAj0H,EAAAsgE,EAAAxiE,GAA+BA,KAAA,EAAAwiE,KAAAjjE,KAAAmR,IAAsB,IAAAzQ,GAAAuiE,EAAA,GAAAxiE,EAAAqJ,EAAAm5D,EAAA,GAAAxiE,EAAA8xD,EAAA9kC,KAAAm8C,KAAAlpE,EAAA,GAAA68E,EAAA9vD,KAAAm8C,KAAA9/D,EAAA,GAAAikH,GAA2D8I,IAAA,IAAAn2H,EAAAoJ,EAAApJ,EAAA,GAAAo2H,IAAA,IAAAp2H,EAAA,IAAAoJ,GAAA43F,IAAA,EAAA53F,EAAApJ,EAAA,EAAAA,EAAAoJ,GAAAitH,IAAA,MAAAjtH,EAAApJ,EAAAoJ,GAAAktH,IAAA,EAAAltH,EAAAyoD,EAAA,EAAA7xD,EAAAoJ,GAAAmtH,IAAA,IAAAv2H,EAAA,EAAA6xD,EAAAzoD,GAAAotH,IAAA,IAAAx2H,EAAA68E,EAAA,EAAAzzE,GAAAqtH,IAAAz2H,EAAA,EAAAA,EAAAoJ,EAAA,EAAAyzE,GAAyI,OAAAwwC,GAAAz2C,GAAAy2C,EAAA8I,GAAA9I,EAAA5M,GAAA4M,EAAA+I,GAAA/I,EAAAqJ,GAAArJ,EAAArsB,GAAAqsB,EAAAsJ,GAAAtJ,EAAAgJ,GAAAhJ,EAAAprH,EAAAkwH,WAA6DyE,YAAA,SAAA30H,EAAAsgE,GAA2BtgE,EAAA40H,YAAA50H,EAAA60H,OAAAv0D,EAAA,GAAAA,EAAA,IAAAtgE,EAAA80H,OAAAx0D,EAAA,GAAAA,EAAA,IAAAtgE,EAAA80H,OAAAx0D,EAAA,GAAAA,EAAA,IAAAtgE,EAAA+0H,aAAwFhmH,OAAA,WAAmB,GAAA/O,GAAA3C,KAAA23H,QAAArC,IAAA1F,GAAAC,KAAA7vH,KAAAq2H,aAAAr2H,KAAAuF,QAAAoyH,OAAsE,OAAA33H,MAAA2nC,UAAA3nC,KAAA23H,QAAA,MAAA33H,KAAA23H,OAAA9E,SAAA7yH,KAAA2nC,UAAA3nC,KAAA65B,KAAAgM,MAAA8xF,OAAAh1H,EAAAsB,QAAAjE,KAAAgY,UAAAhY,KAAAyoD,QAAA90C,OAAA3T,KAAA2nC,SAAA3nC,KAAA23H,QAA2K3/G,OAAA,SAAAirD,EAAAxiE,GAAsB,IAAAT,KAAA2nC,QAAA,MAAA3nC,KAA6B,IAAA8J,GAAAyoD,EAAAgrB,EAAAwwC,EAAA1tH,EAAAkhC,EAAA2sF,EAAA5tH,EAAAE,EAAAR,KAAA65B,KAAAqnD,SAAA//E,EAAAnB,KAAAyoD,QAAA5nD,EAAAM,EAAA4U,WAAAtU,EAAAzB,KAAAuF,QAAAgpH,EAAAvuH,KAAAmR,KAAAq9G,EAAA/sH,EAAAm2H,MAAAl2H,EAAA+rB,KAAA2Z,KAAyH67B,OAAAjjE,KAAA65B,KAAAgM,MAAA8xF,QAAA33H,KAAA23H,QAAAnJ,IAAAjB,EAAAiB,EAAAvrD,GAAAurD,EAAA,GAAA/tC,GAAA+tC,KAAA6D,WAAApvD,EAAAovD,WAAA,YAAA7D,EAAAnrH,EAAAmrH,EAAAnrH,EAAA4/D,EAAA5/D,EAAA,YAAAmrH,EAAAr0F,EAAAq0F,EAAAr0F,EAAA8oC,EAAA9oC,EAAAq0F,EAAAnrH,IAAAmrH,EAAAr0F,IAAAq0F,EAAAvrD,EAAAovD,YAAApvD,IAAAovD,cAAA9/D,EAAAi8D,EAAA6D,WAAApvD,EAAAovD,aAAAvoE,EAAA9pD,KAAAk2H,kBAAAl2H,KAAAm2H,mBAAArsH,EAAA9J,KAAA63H,MAAA73H,KAAAy2H,cAAAxzD,GAAAn5D,EAAA,KAAAsrH,IAAA90H,EAAAN,KAAA2rG,OAAA3rG,KAAAs2H,YAAArzD,MAAAovD,aAAA5wH,EAAAkqG,QAAArrG,EAAA,IAAAk1H,GAAAtsH,KAAAY,EAAA,MAAAA,EAAA,GAAAA,EAAA,IAAA9J,KAAA2rG,OAAArrG,EAAAmB,EAAAkqG,SAAA1xB,EAAAx4E,EAAAkqG,OAAArrG,GAAAN,KAAA2rG,OAAArrG,EAAA,EAAA4tH,EAAAluH,KAAAmR,KAAAnR,KAAA02H,eAAAzzD,GAAA9hE,EAAA+zB,KAAofP,MAAAu5F,EAAA,GAAAv4F,OAAAu4F,EAAA,GAAAljB,WAAAkjB,EAAA,UAA4C3sF,EAAA0hC,EAAAovD,aAAAnD,GAAAxtH,EAAA8sH,EAAAnrH,IAAAgsH,EAAA/uH,EAAAkuH,EAAAnrH,IAAAksH,EAAArB,EAAA,GAAAK,EAAA,GAAAjuH,GAAA4tH,EAAA,GAAAK,EAAA,OAAA7sH,EAAA8sH,EAAAr0F,IAAAmmD,EAAA4tC,EAAA,GAAAK,EAAA,QAAA7sH,EAAA8sH,EAAAnrH,IAAAgsH,EAAAnB,EAAA,GAAAK,EAAA,MAAA7sH,EAAA8sH,EAAAr0F,IAAAmmD,EAAAhgF,EAAAkuH,EAAAr0F,IAAAm1F,EAAApB,EAAA,GAAAK,EAAA,GAAAjuH,GAAA4tH,EAAA,GAAAK,EAAA,QAAA+G,IAAA/3C,EAAA18E,EAAA,GAAA00H,WAAA,MAAAh4C,EAAAu6C,UAAAv6C,EAAA92C,OAAA82C,EAAAw6C,UAAA,aAAAhK,EAAA/tH,KAAA42H,cAAApI,EAAAD,EAAAsG,IAAAx0H,EAAAL,KAAA42H,cAAApI,EAAAxuH,KAAAmR,KAAA0jH,IAAAh0H,EAAA2D,KAAA2qH,EAAAjB,EAAA,GAAA2G,IAAArwH,KAAA4qH,EAAAlB,EAAA,GAAA2G,IAAAh0H,EAAAq0B,IAAAi6F,EAAAjB,EAAA,IAAAh5F,IAAAk6F,EAAAlB,EAAA,IAAAluH,KAAAs3H,YAAA/5C,EAAAl9E,GAAAk9E,EAAAy6C,UAAAluH,EAAA,GAAAyzE,EAAA7M,OAAA6M,EAAA06C,UAAA12F,EAAA,GAAAszF,GAAAtzF,EAAA,GAAAszF,IAAA70H,KAAAs3H,YAAA/5C,EAAAwwC,GAAAxwC,EAAAy6C,UAAAluH,EAAA,GAAAyzE,EAAA7M,SAAAq9C,EAAA/tH,KAAA42H,cAAApI,GAAAT,EAAA,IAAAA,EAAA,OAAAA,EAAA,QAAAA,EAAA,OAAAA,EAAA,OAAAA,EAAA,OAAAA,EAAA,SAAAxsF,EAAA,GAAAjhC,GAAA,UAAA4I,KAAA+5D,EAAAj5D,UAAA,IAAA4lH,GAAAC,GAAA,MAAAhvH,EAAAq0B,KAA6nBgjG,UAAAhK,EAAA,GAAA5tH,EAAA,IAAA4tH,EAAA,GAAA5tH,EAAA63H,UAAA,IAAA3J,EAAAxkH,SAAAmd,QAAAqrC,IAAA,GAAAr9B,KAAAoM,EAAA,GAAAA,EAAA,GAAA2yB,OAAA3B,IAAAzI,GAAA10B,IAAAmM,EAAA,GAAAA,EAAA,GAAA2yB,OAAA3B,IAAA28D,GAAAv6F,MAAAu5F,EAAA,GAAA5tH,EAAAq1B,OAAAu4F,EAAA,GAAA5tH,IAAwJ0Q,KAAA,SAAArO,GAAmB,GAAAsgE,GAAAviE,EAAAV,KAAcijE,KAAA7zD,KAAA,gBAAyB8oH,UAAAhK,EAAA,GAAA5tH,EAAA,IAAA4tH,EAAA,GAAA5tH,EAAA+nC,KAAA0lF,EAAAqK,UAAAtuH,EAAA,GAAAuuH,SAAA11H,EAAA21H,SAAA31H,IAAwEgR,UAAArT,IAAAqC,QAAAsgE,EAAAvqD,KAAAk8G,GAAA,sBAAAt0H,EAAA,cAAAwJ,EAAA,gDAAuHnH,EAAA41H,OAAAvoH,WAAA,WAAkCxP,EAAAu1H,IAAA7gG,KAAWiiD,QAAA,eAAAozB,WAAA,aAA8C,GAAA9pG,IAAA8sH,GAAAvtH,KAAAw4H,UAAAv1D,EAAAirD,IAA+BsK,UAAA,SAAA71H,EAAAsgE,GAAyB,IAAAjjE,KAAA2nC,QAAA,MAAA4lF,EAC7u+B,IAAA9sH,GAAAqJ,EAAAyoD,EAAAvyD,KAAAu9E,EAAAv9E,KAAA65B,KAAAqnD,SAAA6sC,EAAA/tH,KAAAyoD,QAAApoD,EAAAL,KAAAuF,QAAA0vB,OAAAsM,IAA8E,OAAA5+B,MAAA3C,KAAA23H,OAAAl3H,EAAAkC,EAAA0vH,WAAApvD,KAAAjjE,KAAA02H,eAAA/zH,GAAAmH,GAAAnH,EAAAU,EAAAV,EAAAw3B,GAAA15B,IAAAqpD,GAAAhgD,EAAAsoC,UAAA1xC,EAAAsQ,KAAAlH,EAAA,SAAApJ,EAAAoJ,GAAyH,GAAAikH,GAAAG,EAAA5tH,CAAUwJ,KAAA0oD,GAAAu7D,EAAAttH,IAAAyuH,EAAAG,EAAA/uC,EAAA/+C,EAAAwsF,GAAA,MAAAxsF,EAAAyzF,GAAA,IAAAjH,IAAAtgG,KAAA2Z,MAAA67B,EAAAxiE,IAAAyuH,EAAA,QAAA7uH,IAAA0tH,EAAAx7D,EAAA+jE,YAAA3zH,EAAAmH,EAAAyzE,EAAAroC,SAAAg5E,EAAA37D,EAAA+jE,YAAA3zH,EAAAmH,EAAAyzE,EAAA3mE,SAAAtW,EAAAiyD,EAAAgkE,aAAA5zH,GAAA4+B,EAAAz3B,GAAA2jB,KAAA/C,KAAA6nC,EAAAo5C,OAAAjrG,EAAAwtH,EAAA7tH,GAAAC,EAAAytH,EAAAztH,GAAAytH,OAAuMxsF,EAAA5+B,EAAAlC,KAAAwiE,EAAAxiE,IAAAqpD,EAAA,KAAAikE,EAAA74F,KAA+Bu2E,OAAA,GAAAr2E,IAAA,GAAAqjG,OAAA,GAAAtjG,KAAA,GAAAyxF,MAAA,KAA4C1xF,IAAAqM,MAAW+sF,WAAA,SAAA3rH,EAAAsgE,EAAAviE,GAA4B,QAAAoJ,GAAAnH,EAAAsgE,EAAAxiE,EAAAC,EAAAoJ,GAAsBnH,IAAA4rD,GAAAhtB,EAAA8wF,aAAApvD,GAAAirD,EAAAxtH,IAAA6gC,EAAA9gC,KAAA+xD,EAAAjxB,EAAA8wF,WAAA9wF,EAAA8wF,aAAAvoE,EAAAolE,EAAAplE,EAAAnnD,IAAA4rD,GAAA2/D,EAAAxtH,KAAA6gC,EAAA0hC,GAAA1hC,EAAA0hC,KAAAzQ,EAAA07D,EAAAxtH,GAAA,EAAAA,EAAAoJ,EAAAy3B,EAAA0hC,KAAAviE,EAAAoJ,EAAApJ,GAA+H,QAAA6xD,GAAA5vD,EAAAsgE,EAAAn5D,GAAkBy3B,EAAA5+B,KAAA6vD,EAAA/wD,EAAAuzH,GAAA,IAAA/xD,GAAApiE,EAAA8B,GAAA46E,EAAAy3C,GAAA,IAAA/xD,GAAAirD,EAAAjrD,IAAA8qD,EAAAxwC,EAAAzzE,KAAArJ,GAAAytH,EAAAjrD,IAAAsa,EAAAta,MAAAirD,EAAAjrD,GAAAsa,EAAAta,KAAApiE,EAAA8B,GAAA8qB,KAAA/C,IAAAqjG,EAAA,GAAAA,EAAA,KAAAA,EAAA,KAAArtH,EAAAuiE,IAAAirD,EAAAjrD,GAAApiE,EAAAoiE,GAAAsqD,GAAA9rH,EAAA87E,EAAAzzE,KAAArJ,EAAAqJ,EAAAm5D,GAAApiE,EAAA8B,IAA4J,GAAA3C,KAAA2nC,QAAA,CAAiB,GAAA41C,GAAAwwC,EAAA1tH,EAAA4iE,EAAAp9B,MAAAtE,EAAAvhC,KAAA23H,OAAA1zH,QAAAiqH,EAAAxtH,EAAA+iF,SAAAnjF,EAAA2iE,EAAA19D,QAAA4wB,SAAA8D,OAAArlB,OAAArL,MAAA,KAAA/I,EAAAF,EAAA,GAAAa,EAAAb,EAAA,IAAAA,EAAA,GAAAO,GAA0Hs0B,KAAAo4F,EAAAn4F,IAAAm4F,EAAAlqH,EAAA,EAAA82B,EAAA,GAAqB14B,IAAMzB,MAAA23H,OAAAxiF,QAAA8kC,IAAAnwE,EAAAtJ,EAAAspD,EAAAolE,EAAAG,EAAAE,GAAAzlH,EAAA3I,EAAA+tH,EAAAplE,EAAAw2B,EAAAgvC,GAAA/tF,EAAAv3B,WAAA3J,EAAAs3H,OAAA3tH,UAAA3J,EAAAq4H,YAAAxK,EAAA94F,KAAA/0B,EAAAs4H,aAAAzK,EAAA/4F,MAAAn1B,KAAAgY,OAAAupB,EAAAgsF,IAAAhwC,EAAAv9E,KAAAw4H,UAAAj3F,GAAAg8C,EAAAqpC,QAAAnmH,IAAA88E,EAAApoD,MAAAooD,EAAAqpC,OAAArpC,EAAAk7C,SAAAh4H,IAAA88E,EAAAnoD,KAAAmoD,EAAAk7C,QAAAl7C,EAAAhY,KAAAvlE,KAAAi1B,OAAAp0B,EAAAs0B,KAAA30B,IAAA+tD,KAAA2/D,EAAA/4F,KAAAt0B,EAAAs0B,MAAAo9B,EAAAzI,EAAAulE,EAAAE,GAAA1uH,EAAAu0B,IAAAj0B,IAAAotD,KAAA2/D,EAAA94F,IAAAv0B,EAAAu0B,KAAAm9B,EAAA28D,EAAA5uC,EAAAgvC,GAAAtvH,KAAAyoD,QAAAvzB,IAAAzzB,GAAAkS,SAAA9S,EAAAwC,GAAAxC,EAAAs5B,GAAAoH,EAAAl+B,IAAAmvD,GAAA3xD,EAAAs5B,GAAAoH,EAAApH,IAAAq4B,GAAA3xD,EAAAwC,IAAA3C,EAAAy0B,MAAAooD,EAAApoD,KAAA/K,OAAAmzD,EAAAhY,KAAA/kE,IAAA+tD,GAAA1tD,EAAAu0B,MAAAv0B,EAAAs0B,OAAAt0B,EAAAu0B,IAAAmoD,EAAApoD,KAAAn1B,KAAA2rG,OAAA,EAAAjrG,EAAA00B,KAAAmoD,EAAAnoD,IAAAhL,OAAAmzD,EAAAhY,KAAApkE,IAAAotD,GAAA1tD,EAAAs0B,OAAAt0B,EAAAs0B,OAAAt0B,EAAAu0B,IAAAmoD,EAAAnoD,IAAAp1B,KAAA2rG,OAAA,EAAAtrG,EAAAs4H,WAAAzK,EAAA/4F,KAAA90B,EAAAq4H,UAAAxK,EAAA94F,IAAA/0B,EAAAs3H,OAAAp2F,EAAAt9B,UAA+lB+sH,QAAA,WAAoBhxH,KAAA65B,KAAAq6F,QAAAl0H,KAAA65B,KAAAqb,QAAAl1C,KAAAgvH,KAAAhvH,KAAA65B,KAAAqnD,SAAA60C,KAAA/1H,KAAA65B,KAAAqnD,SAAA60C,IAAA3+G,KAAA,KAAAC,SAAA85D,MAAA95D,YAAgIs9G,GAAAlqE,EAAAsrE,IAAA,SAAApzH,GAAuB,UAAAgwE,GAAAhwE,IAAA4C,QAAAu0B,MAAAi8F,MAAoCpB,GAAAllH,WAAA,SAAAklH,GAAA3G,SAAA,SAAArrH,GAAgD,GAAAA,EAAAm3B,OAAA,OAAAn3B,GAAAm3B,MAAA,CAA6B,GAAAmpC,GAAAtgE,EAAAm3B,MAAAi8F,GAAkB,iBAAA9yD,OAAAtgE,EAAAm3B,MAAAi8F,KAAoC4B,OAAA10D,IAAS,kBAAA/5D,WAAA+5D,GAAA00D,UAAA10D,EAAA00D,OAAA19C,KAAyD7vB,EAAA2rE,KAAQ6C,gDAAA,WAA2D54H,KAAA0R,SAAA1R,KAAA65B,KAAAy0F,cAAqCuK,6BAAA,SAAAl2H,GAA0C3C,KAAAmR,MAAAxO,EAAAgyB,MAAAhyB,EAAAgzB,QAAA31B,KAAAgY,SAAAhY,KAAA65B,KAAAy0F,cAAkEwK,yCAAA,WAAqD94H,KAAAgY,WAAetX,EAAA2F,OAAA4zE,EAAA9/C,EAAA30B,UAAwBs0B,OAAOi8F,KAAK4B,OAAA19C,EAAA29C,MAAArK,EAAA54F,MAAA,EAAAgB,OAAA,EAAAg2E,OAAA1xB,EAAAhlD,OAAA,KAAwD,IAAA8jG,IAAAC,GAAAC,GAAA,aAAAC,GAAA,IAAAD,EAAoCD,IAAA,WAAc,QAAAr2H,MAAc,GAAAjC,EAAAm6F,KAAA,KAAAs+B,UAAA,MAAAz4H,GAAAm6F,KAAA,KAAAs+B,SAAsD,IAAAl2D,GAAAxiE,EAAAqJ,EAAAyoD,GAAAlqC,MAAA3nB,EAAA8D,KAAA7B,EAAA,aAAA46E,EAAA56E,EAAAs1C,UAAAt1C,EAAAs1C,SAAArV,aAAgF,gBAAA26C,GAAAta,EAAAtgE,EAAAglF,WAAAlnF,EAAAwiE,EAAAtiE,QAAAgC,EAAAgO,OAAAlQ,GAAA,QAAAwiE,EAAAhrB,SAAArV,mBAAA94B,EAAApJ,EAAA,eAAAD,EAAA,UAAAqJ,EAAA+uB,GAAA,mDAAA3vB,KAAAq0E,IAAA56E,EAAAsM,SAAA,MAAAsuE,EAAA56E,EAAAgO,MAAA4hD,IAAgO,QAAA9xD,GAAAkC,GAAc4+B,EAAA17B,OAAA,GAAAlD,EAAAkD,OAAAlD,EAAA+xC,IAAA,QAAAxb,OAAAqI,EAAA1vB,QAAAkD,QAA4D,QAAAjL,GAAAnH,GAAc,GAAAorH,EAAAl1F,GAAA,aAAqB,GAAA/uB,GAAApJ,EAAAiC,EAAAiJ,QAAA2xE,EAAAhrB,EAAArd,QAAA70C,EAAAyJ,EAAAivB,QAAAyxB,IAA+CnqD,EAAAwF,OAAA,EAAA0nH,EAAAziH,SAAAzK,EAAA,GAAAy5B,MAAAsxE,OAAA,IAAAtgG,SAAAyyE,EAAA,GAAAzjD,MAAAsxE,OAAA,MAAAthG,EAAAivB,QAAAyxB,GAAA,KAAA+yB,EAAA,IAAA98E,EAAAqJ,IAA8G,GAAAyoD,GAAAgrB,EAAAwwC,EAAA1tH,EAAAL,KAAAuhC,IAAsB7gC,GAAA2F,OAAAhG,GAAYooC,KAAA,WAAgB,MAAAslF,GAAA1tH,EAAA+mD,KAAA1mD,EAAA,WAA6B+D,GAAA,eAAAiU,KAAA,cAAA9I,UAAA,WAA0D,MAAA29G,MAAU94F,OAAA/zB,EAAAuiE,EAAA4lB,MAAA5iF,KAAA,UAAAizH,GAAApvH,GAAApJ,EAAAuiE,GAAAh9D,KAAA,UAAAizH,GAAA,SAAAv2H,GAA2E4vD,KAAAhtD,QAAAqvB,KAAAwkG,MAAAhmH,QAAA,KAAAzQ,EAAAkL,SAAA0kD,EAAA99B,KAAA9xB,KAA0DorH,EAAA9nH,KAAA,QAAAizH,GAAA,SAAAv2H,GAAgC4vD,KAAAhtD,QAAAqvB,KAAAwkG,MAAAlgG,MAAAq5B,EAAA99B,KAAA9xB,KAAwCtC,GAAI2X,OAAA,SAAAirD,GAAoB1Q,EAAA0Q,EAAA1hC,EAAA0hC,EAAA19D,QAAAqvB,KAAAwkG,MAAAC,aAAA9L,EAAAtqD,EAAA/tB,QAAA99B,KAAA,KAAA4V,OAAA,WAAgF,MAAArqB,GAAA3C,YAAoB2T,OAAA,SAAAhR,EAAAmH,EAAAy3B,GAAwB,GAAA2sF,GAAAvrH,EAAAuyC,QAAA50C,EAAAqC,EAAA4C,QAAAqvB,KAAAwkG,MAAA54H,EAAAF,EAAAmzH,OAAAtyH,EAAA2I,EAAA,cAAAjJ,EAAAktH,EAAAl1F,GAAA,YAAAp3B,EAAAf,EAAAw4H,IAAAlsG,OAAA,2BAAA0nB,IAAAw5E,EAAwI,OAAA7tH,GAAA2X,OAAArV,GAAAmH,GAAAxJ,EAAA+4H,aAAA9L,GAAA9sH,EAAAC,EAAA,WAAAqtH,EAAAjmF,YAAA,QAAAxnC,EAAA44B,MAAApvB,GAAAikH,EAAAnlC,SAAA3lB,EAAA4lB,MAAAklC,EAAAl1F,GAAA,cAAAh4B,IAAAiJ,GAAAyzE,IAAAgwC,IAAAzjH,GAAArI,EAAAoE,OAAAxF,GAAA0tH,EAAAp+E,KAAAsqC,EAAAszC,GAAA7sH,EAAAwC,WAAA1C,KAAAD,KAAAwtH,EAAAjkH,GAAAtJ,IAAA+sH,EAAAQ,EAAA5sH,KAAA4sH,EAAAphB,OAAA7hG,SAAAy2B,EAAA,QAAAz3B,EAAA,eAA8PA,GAAAikH,EAAAt5F,SAAY3qB,GAAAikH,EAAApiC,MAAA,SAAAhpF,GAAyBorH,EAAA74F,KAAOC,KAAA,GAAAC,IAAA,KAAe10B,EAAAw4H,IAAArzH,QAAAkoH,EAAAlsC,SAAAl/E,MAA+B46E,EAAAzzE,EAAAyoD,EAAAm7D,YAAAn7D,EAAA3I,GAAAvpD,MAA6BA,EAAAooC,QAAWuwF,GAAA,GAAAA,IAAAt4H,EAAA2F,OAAAi+C,EAAA/iD,WAAiCknC,KAAA,SAAA9lC,GAAiB,GAAAsgE,GAAAtgE,EAAAuyC,OAAgB,OAAAl1C,MAAAuF,QAAA8P,IAAA1S,EAAAu+E,SAAAo4C,QAAAN,GAAA5xE,KAAA6b,EAAA3zD,SAAA2pH,IAAA/jG,IAAA,UAAAiF,EAAAo/F,aAAA74H,EAAAw4H,IAAArzH,QAAAlD,EAAAsxH,MAAAhxD,GAAA,sCAAAtgE,EAAAlC,EAAAqJ,GAAqK,GAAAyoD,GAAA5vD,EAAA69C,aAAsB,IAAA79C,EAAAiJ,SAAAq3D,EAAA,MAAA1Q,GAAA,gBAAA5vD,EAAA+M,MAAA,qBAAAxG,KAAAqpD,EAAA7iD,OAAAhP,EAAA6xD,EAAAizC,eAAAzsE,QAAAigG,GAAA5xE,KAAA,IAAAvhD,OAAA,IAAsIlD,EAAA0Q,iBAAmB,MAAAkqE,UAAUhrB,MAAA,gBAAAA,EAAA7iD,OAAA1P,KAAA2T,OAAAhR,EAAA,gBAAAA,EAAA+M,KAAA5F,IAA6E9J,KAAAgvH,IAAAhvH,MAAA2C,EAAAsxH,MAAAhxD,EAAA,wBAAAtgE,EAAAlC,GAAuD,IAAAkC,EAAAwhG,sBAAAxhG,EAAAiJ,SAAAq3D,EAAA,IAA6C,GAAAn5D,GAAApJ,EAAAw4H,IAAA3mE,EAAAp4B,EAAAo/F,aAAAzvH,EAAAjE,OAAA03E,EAAAzyE,SAAAm4D,EAAA,GAAAnpC,MAAAsxE,OAAA,GAAuE4tB,IAAA5xE,KAAA,GAAAttB,MAAAsxE,OAAA74C,EAAA,EAAAzoD,EAAAkH,KAAA,WAA8ChR,KAAA85B,MAAAsxE,OAAA7tB,IAAAv9E,KAAA85B,MAAAsxE,QAAA,KAA4CthG,EAAAkjB,OAAA,IAAA5X,GAAAykB,KAAA,OAAAl3B,EAAA69C,eAAAyiB,EAAA3zD,SAAA8F,GAAA,GAAA0kB,MAAAsxE,OAAA74C,EAAAymE,GAAAhhH,OAAAvX,EAA4F,KAAIkC,EAAA0Q,iBAAmB,MAAA06G,OAAY/tH,KAAAgvH,IAAAhvH,UAAA2C,GAAAsxH,MAAAhxD,EAAA,uBAAAtgE,GAAyDA,EAAAiJ,SAAAq3D,EAAA,IAAAviE,EAAAw4H,IAAAlsG,OAAA,YAAA0nB,IAAAuuB,GAAAr3B,OAAA/R,KAAA,QAAAl3B,IAAwE3C,KAAAgvH,IAAAhvH,aAAsB2T,OAAA,SAAAhR,EAAAsgE,EAAAxiE,GAAwB,MAAAkC,MAAAwhG,qBAAAnkG,SAAAg5H,IAAArlH,OAAA3T,KAAA65B,OAAAopC,EAAAxiE,IAAsEuwH,QAAA,WAAoBhxH,KAAA65B,KAAAqb,QAAA1lC,YAAAypH,IAAAj5H,KAAA65B,KAAAq6F,QAAAl0H,KAAA65B,KAAAqb,QAAAl1C,KAAAgvH,KAAAgK,GAAArlH,OAAA3T,KAAA65B,KAAA0zF,SAAAvtH,MAAA65B,KAAAqnD,SAAAo4C,WAA0IP,GAAAtuE,EAAA2uE,MAAA,SAAAz2H,GAAyB,UAAA2hD,GAAA3hD,IAAA4C,QAAAqvB,KAAAwkG,QAAqCL,GAAA/K,SAAA,SAAArrH,GAAyBA,EAAAiyB,OAAA,gBAAAjyB,GAAAiyB,KAAAwkG,MAAAz2H,EAAAiyB,KAAAwkG,OAAqD/jH,KAAA1S,EAAAiyB,KAAAwkG,WAAkB,KAAAz2H,EAAAiyB,KAAAwkG,MAAA/jH,KAAA1S,EAAAiyB,KAAAwkG,MAAA/jH,GAAA4kE,KAA2D9/C,EAAAo/F,aAAAp/F,EAAA65F,OAAA,IAAA+E,GAAAtpH,WAAA,SAAA26C,EAAAgvE,OAA6DI,yBAAA,WAAoCx5H,KAAAgxH,UAAAhxH,KAAAyoC,OAAAzoC,KAAA65B,KAAAyqD,MAAAg1C,QAAA3lH,OAAA3T,KAAA65B,KAAAqb,QAAA,GAAAyI,YAAA,KAA+Fj9C,EAAA2F,OAAA4zE,EAAA9/C,EAAA30B,UAAwBovB,MAAMwkG,OAAO/jH,GAAAk4G,EAAAkG,OAAAx5C,EAAA/gD,KAAA+gD,EAAAo/C,WAAAp/C,EAAA7mE,OAAA6mE,MAA6CxvB,EAAArwB,SAAA,SAAA35B,EAAAC,EAAAoJ,EAAAyoD,EAAAgrB,EAAAwwC,EAAA1tH,GAAqC,QAAAkhC,GAAA5+B,EAAAsgE,EAAAxiE,EAAAqJ,EAAAyoD,EAAAgrB,EAAAwwC,EAAA1tH,EAAAkhC,GAA8B,GAAA2sF,GAAAxtH,EAAA6xD,GAAA7wD,EAAAqtH,EAAApsH,GAAA8/F,EAAA9vB,EAAAhwE,GAAA2hD,EAAA7jD,IAAA8tD,EAAAlrD,EAAA3B,IAAA6wD,EAAAhxB,EAAA7/B,IAAA67E,GAAAh8C,KAAA,EAAApH,EAAAsoE,IAAAlwC,EAAAlyD,EAAAoiG,IAAAllB,GAAAl9E,KAAA,EAAA4uH,EAAAV,EAAAh8D,GAAAi8D,EAAAj8D,IAAApxD,EAAA,EAAAX,EAAA+xD,IAAAkuB,EAAAwuC,EAAAf,EAAA9jE,EAAA8jE,EAAA3sF,GAAAwsF,IAAAoB,EAAAtuH,EAAAY,GAAAwtH,EAAAjsD,EAAA3/D,GAAA0rH,EAAAsD,aAAA1vH,GAAAjB,IAAAqtH,EAAA9rD,GAAA9oC,EAAA,IAAAsoE,IAAAjwC,EAAAnyD,EAAA,IAAqL,OAAAikD,IAAA0e,GAAAthE,IAAA6wD,EAAA,MAAAlvD,EAAA3C,EAAA6xD,IAAAkuB,EAAA,EAAAA,EAAAr2B,EAAA,GAAAA,EAAA,EAAA1pD,EAAA6xD,GAAA9kC,KAAA/C,KAAAlqB,EAAA+xD,GAAAi8D,EAAAj8D,GAAA27D,EAAAlrD,EAAAv1C,KAAAhD,IAAAgD,KAAA/C,KAAAlqB,EAAA+xD,GAAAi8D,EAAAj8D,IAAAw7D,IAAAoB,EAAAtuH,EAAAY,GAAAysH,EAAAlrD,GAAAtiE,EAAA6xD,GAAA,WAAA7wD,EAAAwsH,EAAA7qH,EAAA,QAAAyG,GAAArJ,IAAAypD,EAAA,IAAAu2B,EAAA,IAAA/+E,IAAA6wD,GAAAnI,EAAA,IAAA1pD,EAAA6xD,IAAAyQ,EAAAl5D,EAAAxJ,EAAAqxF,OAAAhvF,EAAA4vD,IAAAnI,EAAA,IAAA1oD,IAAA67E,GAAAkD,EAAA,KAAA//E,EAAA6xD,KAAA7wD,IAAA8wD,GAAAwQ,KAAAl5D,EAAAxJ,EAAAqxF,OAAAhvF,EAAA46E,IAAA78E,EAAA6xD,GAAAg8D,EAAAh8D,KAAA7xD,EAAA6xD,GAAAnI,IAAA1pD,EAAA6xD,GAAA27D,EAAA5tH,EAAAyuH,EAAA9qH,UAAAvD,EAAA6xD,GAAA27D,EAA2T,GAAAA,GAAA5tH,EAAAE,EAAAW,EAAAN,EAAAY,EAAA8sH,EAAAC,EAAA9sH,EAAAoI,EAAA8B,OAAA62F,EAAAhiG,EAAAygF,SAAAhsC,QAAA65E,EAAAjlH,EAAAkwB,GAAA24C,EAAA7oE,EAAAmpB,GAAAqxB,EAAAx6C,EAAAmwB,OAAA52B,EAAAihD,EAAA1vC,OAAArL,MAAA,KAAA4wB,EAAA92B,EAAA,GAAA4rH,EAAA5rH,EAAA,IAAAA,EAAA,GAAAo9E,EAAA32E,EAAAswB,SAAAgwB,EAAAtgD,EAAAgnB,UAAAkyC,GAAqJ7tC,KAAA,EAAAC,IAAA,EAAc,OAAAqrD,GAAAsQ,QAAArvF,EAAA,KAAAiB,GAAAjB,EAAA,KAAAuhE,EAAA4lB,MAAA,SAAAvkC,EAAA1vC,QAAApU,EAAA4pD,EAAAn1B,UAAA+tC,EAAA7hE,EAAA,WAAAipD,EAAAl1B,IAAA,YAAAg5F,EAAA,UAAAzrB,EAAAvtE,IAAA,YAAAr0B,EAAA4/E,EAAA,KAAA99E,EAAA89E,EAAA9rD,QAAA8rD,EAAAj8B,WAAA+oE,GAAA9rH,EAAAg/E,EAAA,KAAA99E,EAAA89E,EAAA9qD,SAAA8qD,EAAAlrD,YAAAg4F,GAAAgB,GAAyNp5F,KAAA+4F,EAAA,EAAAztC,EAAA2kB,aAAAhwE,IAAA84F,EAAA,EAAAztC,EAAAhrD,aAA8C+4F,EAAA/tC,EAAAxrD,UAAA+tC,EAAA,UAAA7oC,GAAA,UAAA80F,IAAA3uH,EAAAyuH,EAAA9qH,SAAA++D,GAA4D7tC,KAAA,SAAAgF,EAAAoH,EAAAuoB,EAAAolE,EAAA/0F,EAAAmqB,EAAAjhD,EAAAgsH,EAAAE,EAAAJ,EAAA58D,EAAAw7D,GAAA,EAAA34F,IAAA,SAAA65F,EAAA1tF,EAAA2tF,EAAAplE,EAAAmlE,EAAA3qE,EAAAnqB,EAAAmmD,EAAAgvC,EAAAF,EAAA7xC,EAAAl9E,GAAA,EAAA25B,GAAA15B,IAAsF0iE,GAAIvY,EAAAgvE,OAAUC,QAAA,SAAA/2H,EAAAsgE,GAAsB,GAAAxiE,GAAAC,EAAAoJ,EAAAyoD,GAAa59B,MAAA,EAAAgB,OAAA,EAAAQ,UAA2Bf,IAAA,KAAAwxF,MAAA,EAAA6R,OAAA,EAAAtjG,KAAA,MAAoCq+F,WAAAjG,GAAchwC,EAAA,EAAAwwC,KAAA1tH,EAAA,EAAAkhC,EAAA,EAAA2sF,EAAA,EAAA5tH,EAAA,CAA0B,KAAAi9E,EAAA56E,EAAAkD,OAAe03E,KAAI98E,GAAAqK,SAAAnI,IAAA46E,GAAA,IAAAzyE,SAAAnI,EAAA46E,EAAA,QAAA98E,EAAA,GAAA8xD,EAAAp8B,SAAAywF,QAAAr0D,EAAAp8B,SAAAywF,MAAAnmH,EAAA,IAAAA,EAAA,GAAA8xD,EAAAp8B,SAAAhB,OAAAo9B,EAAAp8B,SAAAhB,KAAA10B,EAAA,IAAAA,EAAA,GAAA8xD,EAAAp8B,SAAAsiG,SAAAlmE,EAAAp8B,SAAAsiG,OAAAh4H,EAAA,IAAAA,EAAA,GAAA8xD,EAAAp8B,SAAAf,MAAAm9B,EAAAp8B,SAAAf,IAAA30B,EAAA,IAAAstH,EAAAviH,KAAA/K,EAA+O,IAAAC,EAAA6xD,EAAA59B,MAAAlH,KAAA4zF,IAAA9uD,EAAAp8B,SAAAywF,MAAAr0D,EAAAp8B,SAAAhB,MAAArrB,EAAAyoD,EAAA58B,OAAAlI,KAAA4zF,IAAA9uD,EAAAp8B,SAAAsiG,OAAAlmE,EAAAp8B,SAAAf,KAAA,MAAA6tC,EAAA4vD,SAAAtgE,EAAAp8B,UAA2IhB,KAAAo9B,EAAAp8B,SAAAhB,KAAAo9B,EAAA59B,MAAA,EAAAS,IAAAm9B,EAAAp8B,SAAAf,IAAAm9B,EAAA58B,OAAA,OAA8D,CAAK,KAAKj1B,EAAA,GAAAoJ,EAAA,GAAAzJ,EAAA,GAAAkhC,EAAA,GAAmB,IAAA7gC,EAAA+sB,KAAAC,MAAAhtB,EAAA,GAAAoJ,EAAA2jB,KAAAC,MAAA5jB,EAAA,GAAAm5D,EAAA5/D,IAAAgsH,EAAAhvH,EAAAK,EAAAuiE,EAAA5/D,IAAAksH,EAAAlvH,EAAAkyD,EAAA59B,MAAAj0B,EAAAL,GAAAotB,KAAAC,MAAAhtB,EAAA,GAAAuiE,EAAA9oC,IAAAmmD,EAAA/+C,EAAAz3B,EAAAm5D,EAAA9oC,IAAAm1F,EAAA/tF,EAAAgxB,EAAA58B,OAAA7rB,EAAAy3B,GAAA9T,KAAAC,MAAA5jB,EAAA,GAAAyzE,EAAAwwC,EAAAloH,OAA2J03E,OAAAwwC,EAAAloH,OAAA,IAAmBqoH,EAAAH,EAAAxwC,GAAA,GAAAhrB,EAAAp8B,SAAAhB,KAAA70B,EAAAytH,EAAAxwC,GAAA,GAAAhrB,EAAAp8B,SAAAf,KAAA6tC,EAAA5/D,IAAAgsH,GAAAnB,GAAA7tH,GAAA4iE,EAAA5/D,IAAAksH,GAAArB,GAAA7tH,GAAA4iE,EAAA5/D,IAAAmvD,IAAA07D,EAAA7tH,GAAA6tH,EAAA37D,EAAA59B,MAAAt0B,IAAA4iE,EAAA9oC,IAAAmmD,GAAAhgF,GAAAihC,GAAA0hC,EAAA9oC,IAAAm1F,GAAAhvH,GAAAihC,GAAA0hC,EAAA9oC,IAAAq4B,IAAAlyD,EAAAihC,GAAAjhC,EAAAiyD,EAAA58B,OAAA4L,KAAAwsF,EAAAx7F,OAAAgrD,EAAA,EAA2LhrB,GAAAp8B,UAAYhB,KAAA44F,EAAA,MAAA34F,IAAA24F,EAAA,OAA0B,MAAAx7D,IAASonE,KAAA,SAAAh3H,EAAAsgE,EAAAxiE,EAAAC,GAAwB,OAAOi0B,MAAAlH,KAAA4zF,IAAA5gH,EAAAkC,GAAAgzB,OAAAlI,KAAA4zF,IAAA3gH,EAAAuiE,GAAA9sC,UAAmDhB,KAAA1H,KAAAhD,IAAA9nB,EAAAlC,GAAA20B,IAAA3H,KAAAhD,IAAAw4C,EAAAviE,MAAuCk5H,SAAU5C,GAAA,IAAAt1B,GAAA,IAAAq1B,GAAA,IAAAE,GAAA,GAAAJ,GAAA,IAAAC,GAAA,IAAAI,GAAA,EAAAC,GAAA,EAAA12H,EAAA,GAAuDo5H,QAAA,SAAAl3H,EAAAsgE,EAAAxiE,EAAAC,EAAAoJ,GAA6B,GAAAyoD,GAAA9H,EAAAgvE,MAAAG,QAAA9vH,EAAA+oH,UAAAt1C,EAAA,IAAAhrB,EAAA,EAAA9xD,EAAAgtB,KAAAw+E,IAAA15C,EAAA9kC,KAAAy+E,IAAA6hB,EAAArtH,EAAA+sB,KAAAqsG,IAAAvnE,EAAA9kC,KAAAy+E,GAA0F,QAAOv3E,MAAA,EAAAl0B,EAAAgtB,KAAA4zF,IAAA9jC,GAAA5nD,OAAA,EAAAj1B,EAAA+sB,KAAA4zF,IAAA0M,GAAA53F,UAAuDhB,KAAAxyB,EAAA46E,EAAAnoD,IAAA6tC,EAAA8qD,GAAiByF,WAAAjG,IAAewM,OAAA,SAAAp3H,EAAAsgE,EAAAxiE,EAAAC,GAA0B,MAAA+pD,GAAAgvE,MAAAI,QAAAl3H,EAAAsgE,EAAAxiE,IAAAC,KAAmC+pD,EAAA6oE,IAAA,SAAA3wH,EAAAlC,EAAAqJ,GAAuB,OAAAyoD,GAAAgrB,EAAAwwC,EAAA1tH,EAAAkhC,EAAA2sF,EAAA5tH,EAAAE,EAAAW,EAAAN,EAAAJ,EAAA,GAAAgB,EAAAf,EAAAG,EAAA0yH,iBAAAhF,EAAA1tH,EAAAylF,cAAAkoC,GAAA1jH,SAAArK,EAAAy0B,IAAA,2BAAsHr0B,EAAAm5H,SAAWn5H,IAAA8mF,UAAgB,KAAA9mF,EAAAm5H,UAAAn5H,EAAA8mF,WAAA,MAAA4lC,EAAsC,QAAA1sH,EAAAo3C,UAAmB,2BAAAz3C,EAAAiqD,EAAAgvE,MAAAI,QAAAh5H,EAAAo5H,GAAAC,QAAA73H,MAAAxB,EAAAs5H,GAAAD,QAAA73H,OAAAxB,EAAAu5H,IAAAv5H,EAAA2tH,GAAA0L,QAAA73H,MAAAmsH,GAAA3tH,EAAAw5H,IAAAx5H,EAAA2tH,GAAA0L,QAAA73H,MAAAmsH,EAAA1kH,EAA8I,MAAM,6CAAAxJ,EAAAO,EAAAy5H,UAA0Dj3H,EAAAxC,EAAA05H,GAAAL,QAAA73H,MAAA83B,EAAAt5B,EAAA25H,GAAAN,QAAA73H,QAA4CgB,EAAAxC,EAAA45H,GAAAP,QAAA73H,MAAA83B,EAAAt5B,EAAA65H,GAAAR,QAAA73H,QAA0C7B,KAAA0tH,GAAA,EAAA7tH,EAAAC,EAAAq6H,eAAAr6H,EAAAuF,SAAwCqoH,EAAA7tH,GAAMkhC,EAAAjhC,EAAAi3G,QAAAj3G,EAAAi3G,QAAA2W,GAAA5tH,EAAA4tH,GAAA1tH,EAAAgL,KAAAnH,MAAA7D,GAAA+gC,EAAAl+B,EAAAk+B,EAAApH,GAAyD35B,GAAAiqD,EAAAgvE,MAAAC,QAAAl5H,EAAAsJ,EAAuB,MAAM,SAAAtJ,EAAAK,EAAAm5H,UAAAx5H,GAAyBm0B,MAAAn0B,EAAAm0B,MAAAgB,OAAAn1B,EAAAm1B,OAAAQ,UAAwChB,KAAA30B,EAAA6C,EAAA+xB,IAAA50B,EAAA25B,IAAmB,MAAAh5B,GAAAX,EAAA21B,SAAA10B,IAAA,GAAAA,EAAAm5H,iBAAAr9C,EAAA18E,EAAAg6H,eAAAv6H,EAAAmB,EAAAm5H,iBAAAt6H,EAAA+C,EAAAlC,EAAAg0B,KAAA70B,EAAA65B,EAAAh5B,EAAAi0B,IAAA24F,EAAAztH,EAAAw6H,gBAAAv9C,GAAAp8E,EAAAg0B,KAAA44F,EAAA1qH,EAAAlC,EAAAi0B,IAAA24F,EAAA5zF,GAAAo0F,IAAAtrD,GAAA,UAAAtgE,EAAAwzB,SAAAvqB,SAAA2mD,EAAA7xD,GAAA6tH,EAAA/9B,aAAA+9B,EAAA99B,cAAAyP,cAAAjrE,YAAA9zB,EAAAg0B,MAAAo9B,EAAAp9B,KAAAh0B,EAAAi0B,KAAAm9B,EAAAn9B,KAAAm5F,EAAA7tH,EAAA6tH,GAAAptH,EAAAg0B,MAAAo5F,EAAAnpB,aAAAjkG,EAAAi0B,KAAAm5F,EAAA94F,YAAAj1B,GAA+UiqD,EAAA4oE,SAAA,SAAA1wH,EAAAsgE,EAAAxiE,GAA4BwiE,EAAA8tB,SAAA9tB,EAAAviE,EAAAuiE,GAAmB,IAAAn5D,GAAAyoD,EAAAgrB,EAAAwwC,EAAA1tH,EAAAkhC,GAAA0hC,EAAAz+D,KAAA,kBAAAo+B,cAAA55B,QAAA,kBAAAklH,EAAAxtH,EAAA,gBAAAuiE,EAAA/sD,OAAA,OAAA1R,KAAA,cAAAlE,EAAAI,EAAAmL,KAAAo3D,EAAAz+D,KAAA,WAAAhE,EAAAF,EAAA0I,QAAA,SAAAO,MAAA,IAAoM,KAAA2kH,EAAAroH,OAAA,MAAA0nH,EAAsB,gBAAAhsF,EAAAwsF,EAAAtjE,EAAAgvE,MAAAC,QAAAl5H,EAAAC,OAAwC,CAAK,IAAAgqD,EAAAgvE,MAAAl4F,GAAA,MAAAgsF,EAAwB,KAAAhwC,GAAA,EAAAl9E,EAAAG,EAAAqF,OAAA0sD,OAAyBgrB,EAAAl9E,GAAMkyD,EAAA/mD,KAAAV,SAAAtK,EAAA+8E,GAAA,IAA2BwwC,GAAAtjE,EAAAgvE,MAAAl4F,GAAAl9B,MAAArE,KAAAuyD,EAAA7f,OAAAjyC,IAAqC,MAAAqJ,GAAAokH,EAAAj5F,SAAAnrB,EAAAqrB,MAAA1H,KAAAm8C,MAAAskD,EAAA1pE,WAAA+oE,GAAAW,EAAAv5F,SAAA,GAAA7qB,EAAAsrB,KAAA3H,KAAAm8C,MAAAskD,EAAA34F,YAAAg4F,GAAAW,EAAAv4F,UAAA,GAAAo4F,EAAA53F,SAAAhB,MAAArrB,EAAAqrB,KAAA44F,EAAA53F,SAAAf,KAAAtrB,EAAAsrB,IAAA24F,EAAwK,IAAAgN,GAA0Pr6H,GAAA2F,OAAAhD,EAAA9B,WAAsBy5H,QAAA,WAAmB,GAAA/3D,GAAAjjE,KAAA65B,KAAAqnD,SAAAo4C,OAAiCr2D,OAAA,GAAAnpC,MAAA1E,IAAA10B,EAAAiC,GAAA8yB,YAAA,OAA0CgT,KAAA,SAAAhoC,GAAkB,GAAAqJ,GAAArJ,EAAAy0C,OAAgBx0C,GAAA,kBAAAmF,OAAA,IAAA7F,KAAAi7H,SAAAx6H,EAAAygF,SAAA+5C,SAAAv6H,EAAhZ,iPAAgZkoF,SAAA9+E,GAAArJ,EAAAwzH,MAAAnqH,EAAA,cAAA9J,KAAAk7H,eAAAl7H,KAAAgvH,IAAAhvH,YAAAm7H,gBAAAz6H,EAAA,UAAgL+D,GAAAulD,EAAA,gBAAmB4+B,SAAA3lB,EAAA4lB,MAAApoF,EAAAygF,SAAAo4C,SAAA74H,EAAAygF,SAAAo4C,QAAAhqH,SAAA,sBAAA7O,EAAAwzH,MAAAtxH,GAAA,mBAAA3C,KAAAg7H,QAAAh7H,KAAAgvH,IAAAhvH,MAAAS,EAAAwzH,MAAAnqH,GAAA,eAAA9J,KAAAg7H,QAAAh7H,KAAAgvH,IAAAhvH,YAAAo7H,UAAwNF,eAAA,WAA2B,GAAAv4H,GAAAsgE,EAAAxiE,EAAAT,KAAA65B,KAAAqb,QAAAx0C,GAA+Bi1B,OAAAl1B,EAAA80B,YAAAg4F,GAAA54F,MAAAl0B,EAAA+jD,WAAA+oE,IAA8CzjH,EAAA9J,KAAA65B,KAAAyzF,QAAAyI,IAAAxjE,EAAAvyD,KAAA65B,KAAAqnD,SAAA60C,GAAkD9yD,GAAAn4D,SAAArK,EAAAy0B,IAAA,0BAAA+tC,GAA8C9tC,MAAA8tC,EAAA7tC,KAAA6tC,GAAen5D,GAAAyoD,IAAA5vD,EAAA,MAAAmH,EAAA6tH,OAAAtF,YAAAlD,EAAAE,IAAAD,EAAA9uC,GAAArd,EAAAtgE,EAAA,KAAA4vD,EAAA5vD,EAAA,OAAA3C,KAAAi7H,SAAA/lG,IAAA+tC,GAAA/tC,IAAAx0B,IAAgG06H,OAAA,WAAmB,GAAAp7H,KAAA65B,KAAA/G,SAAA,GAAA9yB,KAAAq7H,QAAA,MAAAr7H,KAAkD,IAAA2C,GAAAsgE,EAAAxiE,EAAAC,EAAAoJ,EAAA9J,KAAA65B,KAAAqb,QAAAqd,EAAAvyD,KAAA65B,KAAAt0B,QAAAu0B,MAAAyjD,EAAAv9E,KAAA65B,KAAAt0B,QAAA4wB,SAAArF,SAAiG,OAAA9wB,MAAA65B,KAAAwhG,QAAA,EAAA9oE,EAAA58B,QAAA7rB,EAAAorB,IAAAk6F,EAAA78D,EAAA58B,QAAA48B,EAAA59B,MAAA7qB,EAAAorB,IAAAi6F,EAAA58D,EAAA59B,QAAA7qB,EAAAorB,IAAAi6F,EAAA,IAAAvmC,SAAA5oF,KAAAm7H,iBAAAl4D,EAAAn5D,EAAA6qB,QAAAsuC,EAAA,MAAAA,GAAA,GAAAxiE,EAAAqJ,EAAAorB,IAAA,gBAAAx0B,EAAAoJ,EAAAorB,IAAA,gBAAAvyB,GAAAlC,EAAAC,GAAAymB,QAAA,QAAAo2D,EAAA5oD,QAAA,MAAAl0B,KAAA0mB,QAAA,QAAAxkB,EAAA,EAAAmI,SAAArK,EAAA,MAAAwiE,EAAAviE,KAAAymB,QAAA,QAAAxkB,EAAA,EAAAmI,SAAApK,EAAA,QAAAuiE,EAAAxiE,EAAAC,EAAA+sB,KAAAhD,IAAAgD,KAAA/C,IAAAu4C,EAAAviE,GAAAD,GAAAwiE,EAAAn5D,EAAAorB,IAAAi6F,EAAA1hG,KAAA2Z,MAAA67B,IAAA2lB,SAAArL,IAAAv9E,KAAAq7H,QAAA,EAAAr7H,MAAgagxH,QAAA,WAAoBhxH,KAAAi7H,UAAAj7H,KAAAi7H,SAAA5jH,SAAArX,KAAA65B,KAAAq6F,SAAAvxH,EAAA3C,KAAA65B,KAAAqb,SAAAl1C,KAAAgvH,QAAyF+L,GAAAtwE,EAAA6wE,IAAA,SAAA34H,GAAuB,WAAAitH,GAAAC,GAAA,GAAAxsH,GAAAV,GAAA4qH,GAA4BwN,GAAAtrH,WAAA,SAAA26C,EAAAkxE,KAA+BC,kBAAA,WAA6Bv7H,KAAAo7H,cAAkB7zH,OAAA0hC,WzKw+/Bz1X,SAAUrpC,EAAQD,EAASO,G0K3+/BjC,GAAA2rE,GAAc3rE,EAAQ,KACtByuE,EAAezuE,EAAQ,IAAQ,YAC/BosE,EAAgBpsE,EAAQ,GACxBN,GAAAD,QAAiBO,EAAQ,GAASy+G,kBAAA,SAAAhzD,GAClC,OAAA1iD,IAAA0iD,EAAA,MAAAA,GAAAgjB,IACAhjB,EAAA,eACA2gB,EAAAT,EAAAlgB,M1Km//BM,SAAU/rD,EAAQD,EAASO,G2Kx//BjC,GAAAk4E,GAAUl4E,EAAQ,IAClB0uE,EAAU1uE,EAAQ,IAAQ,eAE1Bm4E,EAA+C,aAA/CD,EAAA,WAA2B,MAAA9zE,eAG3Bg0E,EAAA,SAAA3sB,EAAAxhD,GACA,IACA,MAAAwhD,GAAAxhD,GACG,MAAAL,KAGHlK,GAAAD,QAAA,SAAAgsD,GACA,GAAA6G,GAAA+lB,EAAAnuB,CACA,YAAAnhD,KAAA0iD,EAAA,mBAAAA,EAAA,OAEA,iBAAA4sB,EAAAD,EAAA9lB,EAAA1xD,OAAA6qD,GAAAijB,IAAA2J,EAEAF,EAAAD,EAAA5lB,GAEA,WAAApI,EAAAguB,EAAA5lB,KAAA,kBAAAA,GAAAgmB,OAAA,YAAApuB,I3KiggCM,SAAUxqD,EAAQD,EAASO,G4KthgCjCN,EAAAD,SAAkBkC,QAAY3B,EAAQ,KAAgCkB,YAAA,I5K4hgChE,SAAUxB,EAAQD,EAASO,G6K5hgCjCN,EAAAD,SAAkBkC,QAAY3B,EAAQ,KAA4BkB,YAAA,I7KkigC5D,SAAUxB,EAAQD,EAASO,GAEjC,Y8KhigCA,SAAAwgH,GAAA19C,GACA,GAAApR,GAAAE,CACA9xD,MAAA+xD,QAAA,GAAAiR,GAAA,SAAA29C,EAAAC,GACA,OAAA33G,KAAA2oD,OAAA3oD,KAAA6oD,EAAA,KAAA3uB,WAAA,0BACAyuB,GAAA+uD,EACA7uD,EAAA8uD,IAEA5gH,KAAA4xD,QAAA+X,EAAA/X,GACA5xD,KAAA8xD,OAAA6X,EAAA7X;;AAVA,GAAA6X,GAAgBzpE,EAAQ,IAaxBN,GAAAD,QAAA4yD,EAAA,SAAAyQ,GACA,UAAA09C,GAAA19C,K9K2igCM,SAAUpjE,EAAQD,EAASO,GAEjC,YACA,IAAIw4B,GAA8B9H,EAE9B9uB,EAAa5B,EAAoB,IAEjC6B,EAEJ,SAAgCH,GAAO,MAAOA,IAAOA,EAAIR,WAAaQ,GAAQC,QAASD,IAF9CE,E+KtjgCzCjC,IAAQK,EAAA,IAAKA,EAAA,QAAb+I,MAAA2nB,EAAA,SAAgC29B,EAAG/vB,GAEjC,GAAIppB,GAAIopB,EAAKppB,CACb,QACEomH,aAAc,WACZ,MAAO59E,WAAUmmB,WAEnB03D,UAAW,WACT,MAAO,WAAWvyH,KAAKlJ,KAAKw7H,iBAE9BE,2BAA4B,SAAUC,EAAShqG,GAC7C,MAAOA,GAAMnuB,SAAWm4H,EAAQ,GAAGvkD,eAErCwkD,0BAA2B,SAAUC,EAAepzE,GAgBlD,QAASqzE,KACPH,EAAQz2H,MACRy2H,EAAQtkH,SACR9P,OAAO8+D,oBAAoB,UAAW01D,GAA2B,GAGnE,QAASC,GAAaxoF,GACpBsoF,IACArqE,EAASK,OAAOte,GAGlB,QAASuoF,GAA2BpqG,GAClC,GAAK5xB,EAAK27H,2BAA2BC,EAAShqG,GAA9C,CAGA,IAAKA,IAAUA,EAAMluB,MAAQkuB,EAAMohG,SAAW8I,EAE5C,WADAG,GAAY,UAGd,KACE,GAAI12H,GAAU+B,KAAKC,MAAMqqB,EAAMluB,KAC3B6B,IAA4B,4BAAjBA,EAAQoK,KACrBusH,GAAmBvsH,KAAM,mBAChBpK,GAA4B,yBAAjBA,EAAQoK,MAC5BosH,IACArqE,EAASG,QAAQtsD,EAAQ42H,cAEzBF,EAAY,WAEd,MAAOlvH,MAKX,QAASmvH,GAAmB32H,GAC1B,GAAI6qD,GAAMwrE,EAAQ,GAAGvkD,aACjBjnB,IACFA,EAAI8K,aAAY,EAAAl5D,EAAAF,SAAeyD,GAAUu2H,GApD7C,GAAI93D,GAAY/jE,KAAKw7H,cACrB,KAAKz3D,EACH,MAAOxV,GAAEuD,OAAO,4BACX,IAQP,SAAyBiS,GACvB,MAAOA,GAAUx5C,MAAM,sCATCw5C,GACxB,MAAOxV,GAAEuD,OAAO,wDAGlB,IAEI6pE,GAFAlqE,EAAWlD,EAAEl6B,QACbt0B,EAAOC,IAyDX,OARAuH,QAAO4+D,iBAAiB,UAAW41D,GAA2B,GAE9DJ,EAAUvmH,EAAE,YACV0kB,MAAO,iBACP0Q,IAAKqxF,EAAgB,qCAEvBpzE,EAAQ1xC,OAAO4kH,GAERlqE,EAASM,WA/EtB1tD,MAAA1E,EAAA+4B,MAAA94B,EAAAD,QAAAixB,I/K8pgCM,SAAUhxB,EAAQD,EAASO,GAEjC,YACA,IAAIw4B,GAA8B9H,CgLjqgClC/wB,IACEK,EAAA,GACAA,EAAA,IACAA,EAAA,KACAA,EAAA,QAJF+I,MAAA2nB,EAAA,SAMU4N,EAAMosB,EAAgBuxE,EAAY3tE,GAE1C,GAAI9rD,GAAI87B,EAAK97B,CAEb,OAAOkoD,GAAevkD,QAEpBkZ,MAAO,WACL,GAAI68G,GAAiBD,EAAWE,oBAC5Bl2F,EAAanmC,KAAKs8H,uBAAuBF,GAEzC78G,GACFq9D,UACEltE,KAAM,SACN4F,SAAU,SAAUjT,GAClB,GAAGK,EAAEoJ,QAAQzJ,GACX,MAAOm8B,GAAKzkB,IAAI,0BAA2B,UAG/C1X,MAAO8jC,EAAWy2C,UAEpB2/C,cAAe,UAAU,EAAOH,GAChCr5H,SAAU,UAAU,GACpBy5H,UAAW,WAAW,EAAMr2F,EAAWq2F,UACvCC,2BAA4B,WAAW,GAYzC,OAVMz8H,MAAK0jB,UAAY1jB,KAAK0jB,SAASxiB,IAAI,+BACvCqe,EAAMxD,UACJrM,KAAM,SACN4F,SAAU,SAAUjT,GAClB,GAAGK,EAAEoJ,QAAQzJ,GACX,MAAOm8B,GAAKzkB,IAAI,0BAA2B,YAK5CwF,GAGT+8G,uBAAwB,SAAUF,GAChC,GAGIx/C,GAHA8/C,EAAmB18H,KAAK0jB,UAAY1jB,KAAK0jB,SAASxiB,IAAI,YACtDy7H,EAAoB38H,KAAK0jB,UAAY1jB,KAAK0jB,SAASxiB,IAAI,uBACvDs7H,GAAW,CAcf,OAXIE,IACF9/C,EAAW8/C,EACXF,EAAWG,GAAqB//C,IAAaw/C,GAEtCO,GAAqBP,IAG5Bx/C,EAAWw/C,EACXI,GAAW,IAIX5/C,SAAUA,EACV4/C,SAASA,IAIbp4H,YAAa,SAAUmB,GACrBvF,KAAK0jB,SAAWne,GAAWA,EAAQme,SACnC1jB,KAAKqrD,SAAW9lD,GAAWA,EAAQ8lD,SACnC7sB,EAAKhT,MAAMnnB,MAAMrE,KAAMsE,WACvBtE,KAAKmF,SAASnF,KAAM,kBAAmB,SAAU6P,EAAO+sE,GACtD58E,KAAK8P,KAAK0sH,SAAU5/C,IAAa58E,KAAKkB,IAAI,qBAG9CoG,MAAO,SAAU/B,GACf,MAAO7C,GAAEoP,KAAKvM,GAAU,WAAY,cAGtCkhC,KAAM,WACJ,GAAIm2C,GAAW58E,KAAK0jB,SAASk5G,kBAAkB58H,KAAKkB,IAAI,YAAastD,EAAMjB,cACvEivE,EAAWx8H,KAAKkB,IAAI,YACpBq7H,EAAev8H,KAAKkB,IAAI,eAE5BlB,MAAK68H,kBAAkBjgD,EAAU4/C,EAAUD,GAI3Cv8H,KAAK+E,QAAQ,QAEb/E,KAAKqrD,SAAStmD,QAAQ,WAAW,EAEjC,IAEI+3H,GAFAC,EAAa/8H,KAAKg9H,cAAcpgD,EAIpC,IAAI58E,KAAKqrD,SAASnqD,IAAI,qBAAsB,CAC1C,GAAI+vD,GAAajxD,KAAKqrD,SAAS3nC,SAASutC,UAItC6rE,GAFE98H,KAAKqrD,SAASnqD,IAAI,mBAEClB,KAAK6iE,cAAc,SAAUC,GAChD,MAAO9iE,MAAKi9H,cAAchsE,EAAY8rE,EAAYj6D,EAAYk0C,SAG3Ch3G,KAAK6iE,cAAc,SAAUC,GAChD,MAAO9iE,MAAKi9H,cAAchsE,EAAY8rE,EAAYj6D,EAAYo6D,oBAKlEJ,GAAqB98H,KAAK86E,iBAAiB,SAAU7pB,GACnD,MAAOjxD,MAAKi9H,cAAchsE,EAAY8rE,EAAYr6H,EAAEuD,KAAKgrD,EAAWksE,OAAQlsE,KAIhF,OAAO6rE,GACJhlH,KAAKpV,EAAEuD,KAAK,WAGXjG,KAAKqrD,SAAStmD,QAAQ,iBACtBo3H,EAAWiB,wBACVp9H,OACFk9D,IAAIx6D,EAAEuD,KAAK,WACVjG,KAAKqrD,SAAStmD,QAAQ,WAAW,IAChC/E,QAGPg9H,cAAe,SAAUpgD,GACvB,GAAI6/C,GAA4Bz8H,KAAKkB,IAAI,6BACrC67H,IAiBJ,OAfK/8H,MAAK0jB,SAASxiB,IAAI,+BACrB67H,EAAWhhH,SAAW/b,KAAKkB,IAAI,aAI7BlB,KAAKqrD,SAASnqD,IAAI,mBACpB67H,EAAW/kC,WAAapb,GAGxBmgD,EAAWngD,SAAYA,EACvBmgD,EAAWx3H,SACT83H,2BAA2B,EAC3BZ,0BAA2BA,IAGxBM,GAGTF,kBAAmB,SAAUjgD,EAAU4/C,EAAUD,GAE3Cv8H,KAAK0jB,SAASxiB,IAAI,yBAGfs7H,GAAYD,IAAiB3/C,EAGzB4/C,GACPL,EAAWU,kBAAkBjgD,GAH7Bu/C,EAAWiB,yBAQjBH,cAAe,SAAUhsE,EAAY8rE,EAAYnlH,GAC/C,GAAI0lH,GAA2Bt9H,KAAK0jB,SAASxiB,IAAI,iCAC7Cq8H,EAAuBv9H,KAAK0jB,SAASxiB,IAAI,8BAIzCo8H,KACFrsE,EAAW1rD,QAAQusG,QAAQ,wBAA0B9xG,KAAKqrD,SAASnqD,IAAI,sBAErEq8H,IACFtsE,EAAW1rD,QAAQusG,QAAQ,oBAAsB9xG,KAAKqrD,SAASnqD,IAAI,iBAErE,IAAInB,GAAOC,IACX,OAAO4X,GAAKmlH,GACT7/D,IAAI,WACCogE,UACKrsE,GAAW1rD,QAAQusG,QAAQ,wBAClC/xG,EAAKsrD,SAASjrC,MAAM,sBAElBm9G,UACKtsE,GAAW1rD,QAAQusG,QAAQ,oBAClC/xG,EAAKsrD,SAASjrC,MAAM,wBAzLhC/b,MAAA1E,EAAA+4B,MAAA94B,EAAAD,QAAAixB,IhLu2gCM,SAAUhxB,EAAQD,EAASO,GAEjC,YACA,IAAIw4B,GAA8B9H,CiL12gClC/wB,IAAQK,EAAA,QAAR+I,MAAA2nB,EAAA,SAA2B4N,GACzB,GAAIW,GAASX,EAAKQ,SAASC,KAAKE,OAI5Bl6B,IAiBJ,OAfAA,GAAGo3H,kBAAoB,WACrB,MAAOl9F,GAAOmJ,UANgB,OAShCrjC,EAAG43H,kBAAoB,SAAUjgD,GAC/Bz9C,EAAOgJ,UAVuB,KAUcy0C,GAC1Ch0C,QAVqB,IAWrBP,KAAM,OAIVpjC,EAAGm4H,qBAAuB,WACxBj+F,EAAOoJ,aAjBuB,MAiBmBF,KAAM,OAGlDpjC,GAtBTZ,MAAA1E,EAAA+4B,MAAA94B,EAAAD,QAAAixB,IjLo5gCM,SAAUhxB,EAAQD,EAASO,GAEjC,YkLh6gCAP,GAAAyB,YAAA,CAEA,IAAAc,GAAsBhC,EAAQ,KAE9BiC,EAEA,SAAAP,GAAsC,MAAAA,MAAAR,WAAAQ,GAAuCC,QAAAD,IAF7EM,EAIAvC,GAAAkC,QAAA,SAAAD,EAAAuI,EAAA9H,GAYA,MAXA8H,KAAAvI,IACA,EAAAO,EAAAN,SAAAD,EAAAuI,GACA9H,QACApB,YAAA,EACAD,cAAA,EACA+wE,UAAA,IAGAnwE,EAAAuI,GAAA9H,EAGAT,IlLw6gCM,SAAUhC,EAAQD,EAASO,GAEjC,YACA,IAAIw4B,GAA8B9H,CmLr7gClC/wB,IAAQK,EAAA,GAAQA,EAAA,QAAhB+I,MAAA2nB,EAAA,SAAyC4N,EAAMgwB,GAC7C,MAAOhwB,GAAKtM,KAAK7rB,QACf9C,SAAU,sHAKVsL,UAAW,cACXC,QACE0uH,cAAe,SAAU1zH,GACvBA,EAAEuJ,iBACFrT,KAAK0rD,SAGTA,KAAM,WACJ1rD,KAAKqvB,MAAMvf,IAAI,cAAe0+C,EAAMtC,gBACpClsD,KAAKuF,QAAQ8lD,SAAStmD,QAAQ,WAAY,QAhBhDV,MAAA1E,EAAA+4B,MAAA94B,EAAAD,QAAAixB,InL29gCM,SAAUhxB,EAAQD,EAASO,GAEjC,YACA,IAAIw4B,GAA8B9H,CoL59gClC/wB,IACEK,EAAA,QADF+I,MAAA2nB,EAAA,SAEa4N,GACX,GAAIv5B,KA+CJ,OA7CAA,GAAGw4H,kCAAoC,SAAUhuE,GAC/C,OAAQA,GACR,QACA,IAAK,GACH,MAAO,iBACT,KAAK,GACL,IAAK,GACH,MAAO,sBACT,KAAK,GACH,MAAO,uBACT,KAAK,GACH,MAAO,sBAIXxqD,EAAGy4H,kCAAoC,SAAUjuE,EAAWkuE,GAC1D,OAAQluE,GACR,IAAK,GACH,MAAOkuE,GAAc,4BAA8B,iBACrD,KAAK,GACL,IAAK,GACH,MAAOA,GAAc,iCAAmC,sBAC1D,KAAK,GACH,MAAOA,GAAc,kCAAoC,uBAC3D,KAAK,GACH,MAAO,sBAIX14H,EAAG24H,+BAAiC,SAAUnuE,GAC5C,MAAOjxB,GAAKzkB,IAAI9U,EAAGw4H,kCAAkChuE,GAAY,UAGnExqD,EAAG44H,+BAAiC,SAAUpuE,EAAWkuE,GACvD,MAAOn/F,GAAKzkB,IAAI9U,EAAGy4H,kCAAkCjuE,EAAWkuE,GAAc,UAGhF14H,EAAG64H,cAAgB,WACjB,MAAO,UAGT74H,EAAGy3E,eAAiB,WAClB,MAAOn1E,QAAO/F,eAAe,QAGxByD,GAlDTZ,MAAA1E,EAAA+4B,MAAA94B,EAAAD,QAAAixB,IpLsihCM,SAAUhxB,EAAQD,EAASO,GAEjC,YACA,IAAI0wB,OqLzihCJ3nB,MAAApJ,aACE,GAAIoF,KAgDJ,OAtCAA,GAAG84H,cAAgB,SAAU52H,GAG3B,IAFA,GAAI8iC,GAAO,KACP5pC,EAAI8G,EAAItB,OACNxF,GACJ4pC,EAAe,GAAPA,EAAa9iC,EAAI02E,aAAax9E,EAExC,OAAO4pC,KAAS,GAQlBhlC,EAAG+4H,sBAAwB,SAAU72H,GACnC,MAAOA,GAAI6B,QAAQ,GAAIq7B,QAAO,IAAK,KAAM,KAAKr7B,QAAQ,GAAIq7B,QAAO,IAAK,KAAM,MAQ9Ep/B,EAAGg5H,SAAW,SAAUC,GACtB,MAAOC,MAAK,GAAIrxD,YAAWoxD,GAAK5yG,OAC9B,SAAC5pB,EAAG08H,GAAJ,MAAa18H,GAAIuI,OAAOovF,aAAa+kC,IAAO,MAShDn5H,EAAGo5H,SAAW,SAAUl3H,GACtB,MAAO2lE,YAAW/zD,KAAKulH,KAAKt+H,KAAKg+H,sBAAsB72H,IAAO,SAAA1G,GAAA,MAAKA,GAAEo9E,WAAW,MAG3E54E,GAjDT1E,KAAAZ,EAAAO,EAAAP,EAAAC,QAAAD,QAAAixB,IrLknhCM,SAAUhxB,EAAQD,EAASO,GAEjC,YACA,IAAIw4B,GAA8B9H,CsLvnhClC/wB,IACEK,EAAA,GACAA,EAAA,KACAA,EAAA,UAHF+I,MAAA2nB,EAAA,SAKU4N,EAAMm6E,EAAS4lB,GACvB,GAAI77H,GAAI87B,EAAK97B,EACTuC,IA2BJ,OAxBAA,GAAGu5H,aAAe,WAIhB,GAAIC,GAAY/7H,EAAEoP,KAAK6mG,EAAQ1B,QAAS,KAAM,KAAM,MAIhD73F,EAAa1c,EAAEkP,IAAI6sH,EAAW,SAAU99H,EAAMupC,GAChD,OAASvpC,KAAMA,EAAMupC,KAAMA,IAE7B9qB,GAAa1c,EAAEgkH,OAAOtnG,EAAY,OAClC,IAAIs/G,KAKJ,OAJAh8H,GAAEsO,KAAKoO,EAAY,SAAU63F,GAC3BynB,EAAOznB,EAAQ/sE,MAAQ+sE,EAAQt2G,OAG1B+9H,GAGTz5H,EAAG05H,yBAA2B,SAAUC,GACtC,MAAOL,GAAoBK,IAGtB35H,GAlCTZ,MAAA1E,EAAA+4B,MAAA94B,EAAAD,QAAAixB,ItLwqhCM,SAAUhxB,EAAQD,EAASO,GAEjC,YACA,IAAIw4B,GAA8B9H,CuL3qhClC/wB,IACEK,EAAA,GACAA,EAAA,IACAA,EAAA,SAHF+I,MAAA2nB,EAAA,SAIa4N,EAAMqgG,EAAYC,GAE7B,GAAIp8H,GAAI87B,EAAK97B,CAEb,OAAO87B,GAAKtM,KAAK7rB,QACfwI,UAAW,6BACXtL,SAAU,i2BAqBVuL,QACEiwH,mCAAoC,SAAUj1H,GAAG,GAAA+vC,GAAA75C,IAC/C8J,GAAEuJ,gBACF,IAAM0N,GAAM+9G,EAAWz6D,wBAAwBrkE,KAAK6P,MAAM3O,IAAI,gBAC5DlB,KAAK6P,MAAM3O,IAAI,kBAAmB,SACK,UAArClB,KAAK6P,MAAM3O,IAAI,kBAEjBlB,KAAK6P,MAAMgzD,cAAc,SAAUC,GACjC,MAAOA,GAAY9a,OAChB2J,KAAK,SAAUR,GAKd,MAJazuD,GAAEigE,UAAUxR,EAAMsR,SAC7B5C,WAAY,OACZD,SAAU,SAEEo/D,aAEjBrtE,KAAK,WACN9X,EAAKt0C,QAAQ8lD,SAAStmD,QAAQ,WAAYgc,KAG5C/gB,KAAKuF,QAAQ8lD,SAAStmD,QAAQ,WAAYgc,IAG9Ck+G,qCAAsC,SAAUn1H,GAC9CA,EAAEuJ,iBACFrT,KAAK6P,MAAM9K,QAAQ,eAEnB,IAAIhF,GAAOC,IACXA,MAAK6P,MAAMgzD,cAAc,SAAUC,GACjC,MAAI9iE,MAAKqrD,SAASnqD,IAAI,0BACb4hE,EAAY83C,OAEZ93C,EAAYo8D,aAGpBvtE,KAAK,SAAUR,GACd,GAAIpxC,GAAMoxC,EAAM1tD,IACI,yBAAfsc,EAAI4hB,QAAmD,2BAAf5hB,EAAI4hB,QACvB,YAArB5hB,EAAIo/G,cAGPz8H,EAAE2xB,MAAM3xB,EAAEuD,KAAKlG,EAAKiU,OAAQjU,QAMtC0P,WAAY,WACVzP,KAAKmF,SAASnF,KAAKuF,QAAQ8lD,SAAU,0BAA2B,WAC1DrrD,KAAKuF,QAAQ8lD,SAASnqD,IAAI,uBAC5BlB,KAAKuE,IAAIujC,YAAY,kBAAmB9nC,KAAKuF,QAAQ8lD,SAASnqD,IAAI,2BACzDlB,KAAKuF,QAAQ8lD,SAASnqD,IAAI,sBACnClB,KAAKuE,IAAI+K,SAAS,oBAGtBtP,KAAKmF,SAASnF,KAAK6P,MAAO,QAAS,WAC7B7P,KAAKuF,QAAQ8lD,SAASnqD,IAAI,wBAC5BlB,KAAKuE,IAAIujC,YAAY,kBAAkB,MAK7CzxB,gBAAiB,WACf,GACI+oH,GADA7lB,EAAaslB,EAAW7+D,eAAehgE,KAAK6P,MAAM3O,IAAI,gBAAiBlB,KAAK6P,MAAM3O,IAAI,kBAO1F,OAJEk+H,GADqC,WAAnCp/H,KAAK6P,MAAM3O,IAAI,gBACFs9B,EAAKzkB,IAAI,iCAAkC,SAAUw/F,IAErD/6E,EAAKzkB,IAAI,uBAAwB,SAAUw/F,KAG1D6lB,aAAcA,EACdC,OAAQr/H,KAAKuF,QAAQ8lD,SAASnqD,IAAI,eAvG1CmD,MAAA1E,EAAA+4B,MAAA94B,EAAAD,QAAAixB,IvLmyhCM,SAAUhxB,EAAQD,EAASO,GwL/yhCjCN,EAAAD,SAAkBO,EAAQ,MAAsBA,EAAQ,GAAU,WAClE,MAAuG,IAAvGY,OAAAC,eAA+Bb,EAAQ,KAAe,YAAgBgB,IAAA,WAAmB,YAAcyB,KxLuzhCjG,SAAU/C,EAAQD,EAASO,GyLxzhCjCP,EAAA4yD,EAAYryD,EAAQ,KzL+zhCd,SAAUN,EAAQD,EAASO,G0L/zhCjC,GAAAwsB,GAAUxsB,EAAQ,IAClB2oE,EAAgB3oE,EAAQ,IACxBytE,EAAmBztE,EAAQ,MAAmB,GAC9C+oE,EAAe/oE,EAAQ,KAAe,WAEtCN,GAAAD,QAAA,SAAA0B,EAAA0P,GACA,GAGA5G,GAHAqoD,EAAAqW,EAAAxnE,GACAhB,EAAA,EACAyU,IAEA,KAAA3K,IAAAqoD,GAAAroD,GAAA8+D,GAAAv8C,EAAA8lC,EAAAroD,IAAA2K,EAAAtJ,KAAArB,EAEA,MAAA4G,EAAAlL,OAAAxF,GAAAqsB,EAAA8lC,EAAAroD,EAAA4G,EAAA1Q,SACAstE,EAAA74D,EAAA3K,IAAA2K,EAAAtJ,KAAArB,GAEA,OAAA2K,K1Lu0hCM,SAAUlV,EAAQD,EAASO,G2Lt1hCjC,GAAAoyD,GAASpyD,EAAQ,IACjBiyD,EAAejyD,EAAQ,GACvBo/H,EAAcp/H,EAAQ,GAEtBN,GAAAD,QAAiBO,EAAQ,IAAgBY,OAAAy+H,iBAAA,SAAA/sE,EAAAglB,GACzCrlB,EAAAK,EAKA,KAJA,GAGAtI,GAHA5/C,EAAAg1H,EAAA9nD,GACA3xE,EAAAyE,EAAAzE,OACAxF,EAAA,EAEAwF,EAAAxF,GAAAiyD,EAAAC,EAAAC,EAAAtI,EAAA5/C,EAAAjK,KAAAm3E,EAAAttB,GACA,OAAAsI,K3L81hCM,SAAU5yD,EAAQD,EAASO,G4Lx2hCjC,GAAA2oE,GAAgB3oE,EAAQ,IACxB6rE,EAAW7rE,EAAQ,IAAgBqyD,EACnC3nD,KAAiBA,SAEjB40H,EAAA,gBAAAj4H,iBAAAzG,OAAA42E,oBACA52E,OAAA42E,oBAAAnwE,WAEAk4H,EAAA,SAAA9zE,GACA,IACA,MAAAogB,GAAApgB,GACG,MAAA7hD,GACH,MAAA01H,GAAA52H,SAIAhJ,GAAAD,QAAA4yD,EAAA,SAAA5G,GACA,MAAA6zE,IAAA,mBAAA50H,EAAArK,KAAAorD,GAAA8zE,EAAA9zE,GAAAogB,EAAAlD,EAAAld,M5Li3hCM,SAAU/rD,EAAQD,EAASO,GAEjC,Y6Ll4hCA,IAAAy3E,GAAkBz3E,EAAQ,IAC1Bo/H,EAAcp/H,EAAQ,IACtBw/H,EAAWx/H,EAAQ,KACnB0oE,EAAU1oE,EAAQ,IAClB8oE,EAAe9oE,EAAQ,IACvByoE,EAAczoE,EAAQ,IACtBy/H,EAAA7+H,OAAAwoH,MAGA1pH,GAAAD,SAAAggI,GAA6Bz/H,EAAQ,GAAU,WAC/C,GAAAugF,MACAr2B,KAEAJ,EAAAoE,SACAkyB,EAAA,sBAGA,OAFAG,GAAAz2B,GAAA,EACAs2B,EAAA/2E,MAAA,IAAA46B,QAAA,SAAA+pF,GAAoC9jE,EAAA8jE,OACjB,GAAnByR,KAAmBl/C,GAAAz2B,IAAAlpD,OAAAwJ,KAAAq1H,KAAsCv1E,IAAA3gD,KAAA,KAAA62E,IACxD,SAAA10E,EAAApI,GAMD,IALA,GAAA+0E,GAAAvP,EAAAp9D,GACAskE,EAAA5rE,UAAAuB,OACAqkB,EAAA,EACA01G,EAAAF,EAAAntE,EACAstE,EAAAj3D,EAAArW,EACA2d,EAAAhmD,GAMA,IALA,GAIA/f,GAJA6/C,EAAA2e,EAAArkE,UAAA4lB,MACA5f,EAAAs1H,EAAAN,EAAAt1E,GAAAtX,OAAAktF,EAAA51E,IAAAs1E,EAAAt1E,GACAnkD,EAAAyE,EAAAzE,OACA07B,EAAA,EAEA17B,EAAA07B,GACAp3B,EAAAG,EAAAi3B,KACAo2C,IAAAkoD,EAAAt/H,KAAAypD,EAAA7/C,KAAAouE,EAAApuE,GAAA6/C,EAAA7/C,GAEG,OAAAouE,IACFonD,G7L04hCK,SAAU//H,EAAQD,G8L96hCxBC,EAAAD,QAAAmB,OAAA+3B,IAAA,SAAAx1B,EAAA82B,GAEA,MAAA92B,KAAA82B,EAAA,IAAA92B,GAAA,EAAAA,GAAA,EAAA82B,EAAA92B,MAAA82B,O9Lu7hCM,SAAUv6B,EAAQD,EAASO,GAEjC,Y+L37hCA,IAAAypE,GAAgBzpE,EAAQ,IACxB+C,EAAe/C,EAAQ,GACvBgzB,EAAahzB,EAAQ,KACrBquE,KAAA3lE,MACAk3H,KAEAC,EAAA,SAAAn2E,EAAA2M,EAAA7tD,GACA,KAAA6tD,IAAAupE,IAAA,CACA,OAAA3+H,MAAAd,EAAA,EAA2BA,EAAAk2D,EAASl2D,IAAAc,EAAAd,GAAA,KAAAA,EAAA,GAEpCy/H,GAAAvpE,GAAAjM,SAAA,sBAAAnpD,EAAAsI,KAAA,UACG,MAAAq2H,GAAAvpE,GAAA3M,EAAAlhD,GAGH9I,GAAAD,QAAA2qD,SAAArkD,MAAA,SAAA01D,GACA,GAAA12D,GAAA0kE,EAAA3pE,MACAggI,EAAAzxD,EAAAhuE,KAAA+D,UAAA,GACAu5D,EAAA,WACA,GAAAn1D,GAAAs3H,EAAAttF,OAAA67B,EAAAhuE,KAAA+D,WACA,OAAAtE,gBAAA69D,GAAAkiE,EAAA96H,EAAAyD,EAAA7C,OAAA6C,GAAAwqB,EAAAjuB,EAAAyD,EAAAizD,GAGA,OADA14D,GAAAgC,EAAA1D,aAAAs8D,EAAAt8D,UAAA0D,EAAA1D,WACAs8D,I/Lm8hCM,SAAUj+D,EAAQD,GgMz9hCxBC,EAAAD,QAAA,SAAAsF,EAAAyD,EAAAizD,GACA,GAAAskE,OAAAh3H,KAAA0yD,CACA,QAAAjzD,EAAA7C,QACA,aAAAo6H,GAAAh7H,IACAA,EAAA1E,KAAAo7D,EACA,cAAAskE,GAAAh7H,EAAAyD,EAAA,IACAzD,EAAA1E,KAAAo7D,EAAAjzD,EAAA,GACA,cAAAu3H,GAAAh7H,EAAAyD,EAAA,GAAAA,EAAA,IACAzD,EAAA1E,KAAAo7D,EAAAjzD,EAAA,GAAAA,EAAA,GACA,cAAAu3H,GAAAh7H,EAAAyD,EAAA,GAAAA,EAAA,GAAAA,EAAA,IACAzD,EAAA1E,KAAAo7D,EAAAjzD,EAAA,GAAAA,EAAA,GAAAA,EAAA,GACA,cAAAu3H,GAAAh7H,EAAAyD,EAAA,GAAAA,EAAA,GAAAA,EAAA,GAAAA,EAAA,IACAzD,EAAA1E,KAAAo7D,EAAAjzD,EAAA,GAAAA,EAAA,GAAAA,EAAA,GAAAA,EAAA,IACG,MAAAzD,GAAAZ,MAAAs3D,EAAAjzD,KhMk+hCG,SAAU9I,EAAQD,EAASO,GiMh/hCjC,GAAAggI,GAAgBhgI,EAAQ,GAAW4K,SACnCq1H,EAAYjgI,EAAQ,IAAgB2L,KACpCu0H,EAASlgI,EAAQ,KACjBmgI,EAAA,aAEAzgI,GAAAD,QAAA,IAAAugI,EAAAE,EAAA,YAAAF,EAAAE,EAAA,iBAAAj5H,EAAAm5H,GACA,GAAAt2H,GAAAm2H,EAAAl2H,OAAA9C,GAAA,EACA,OAAA+4H,GAAAl2H,EAAAs2H,IAAA,IAAAD,EAAAn3H,KAAAc,GAAA,SACCk2H,GjMu/hCK,SAAUtgI,EAAQD,EAASO,GkM//hCjC,GAAAqgI,GAAkBrgI,EAAQ,GAAWuK,WACrC01H,EAAYjgI,EAAQ,IAAgB2L,IAEpCjM,GAAAD,QAAA,EAAA4gI,EAAiCrgI,EAAQ,KAAc,QAAA26C,IAAA,SAAA1zC,GACvD,GAAA6C,GAAAm2H,EAAAl2H,OAAA9C,GAAA,GACA2N,EAAAyrH,EAAAv2H,EACA,YAAA8K,GAAA,KAAA9K,EAAAogB,OAAA,MAAAtV,GACCyrH,GlMsgiCK,SAAU3gI,EAAQD,EAASO,GmM7giCjC,GAAAk4E,GAAUl4E,EAAQ,GAClBN,GAAAD,QAAA,SAAAgsD,EAAAr1C,GACA,mBAAAq1C,IAAA,UAAAysB,EAAAzsB,GAAA,KAAAxoB,WAAA7sB,EACA,QAAAq1C,InMqhiCM,SAAU/rD,EAAQD,EAASO,GoMvhiCjC,GAAA+C,GAAe/C,EAAQ,GACvBwtB,EAAAD,KAAAC,KACA9tB,GAAAD,QAAA,SAAAgsD,GACA,OAAA1oD,EAAA0oD,IAAAn+B,SAAAm+B,IAAAj+B,EAAAi+B,SpMgiiCM,SAAU/rD,EAAQD,GqMniiCxBC,EAAAD,QAAA8tB,KAAA+yG,OAAA,SAAAn9H,GACA,OAAAA,OAAA,MAAAA,EAAA,KAAAA,MAAA,EAAAoqB,KAAAxhB,IAAA,EAAA5I,KrM4iiCM,SAAUzD,EAAQD,EAASO,GsM7iiCjC,GAAAs9G,GAAWt9G,EAAQ,KACnBkhH,EAAA3zF,KAAA2zF,IACAqf,EAAArf,EAAA,OACAsf,EAAAtf,EAAA,OACAuf,EAAAvf,EAAA,UAAAsf,GACAE,EAAAxf,EAAA,QAEAyf,EAAA,SAAA1/H,GACA,MAAAA,GAAA,EAAAs/H,EAAA,EAAAA,EAGA7gI,GAAAD,QAAA8tB,KAAAqzG,QAAA,SAAAz9H,GACA,GAEAV,GAAAmS,EAFAisH,EAAAtzG,KAAA4zF,IAAAh+G,GACA29H,EAAAxjB,EAAAn6G,EAEA,OAAA09H,GAAAH,EAAAI,EAAAH,EAAAE,EAAAH,EAAAF,GAAAE,EAAAF,GACA/9H,GAAA,EAAA+9H,EAAAD,GAAAM,EACAjsH,EAAAnS,KAAAo+H,GAEAjsH,EAAA6rH,GAAA7rH,KAAAksH,GAAAnmF,KACAmmF,EAAAlsH,KtMsjiCM,SAAUlV,EAAQD,EAASO,GuM1kiCjC,GAAAiyD,GAAejyD,EAAQ,EACvBN,GAAAD,QAAA,SAAAswE,EAAAhrE,EAAA5C,EAAA0rE,GACA,IACA,MAAAA,GAAA9oE,EAAAktD,EAAA9vD,GAAA,GAAAA,EAAA,IAAA4C,EAAA5C,GAEG,MAAAyH,GACH,GAAAkzE,GAAA/M,EAAA,MAEA,WADAhnE,KAAA+zE,GAAA7qB,EAAA6qB,EAAAz8E,KAAA0vE,IACAnmE,KvMoliCM,SAAUlK,EAAQD,EAASO,GwM7liCjC,GAAAypE,GAAgBzpE,EAAQ,IACxB8oE,EAAe9oE,EAAQ,IACvByoE,EAAczoE,EAAQ,IACtBwqE,EAAexqE,EAAQ,GAEvBN,GAAAD,QAAA,SAAAg8D,EAAAyP,EAAA8E,EAAApqC,EAAAm7F,GACAt3D,EAAAyB,EACA,IAAA5Y,GAAAwW,EAAArN,GACA57D,EAAA4oE,EAAAnW,GACA3sD,EAAA6kE,EAAAlY,EAAA3sD,QACAqkB,EAAA+2G,EAAAp7H,EAAA,IACAxF,EAAA4gI,GAAA,GACA,IAAA/wD,EAAA,SAAuB,CACvB,GAAAhmD,IAAAnqB,GAAA,CACA+lC,EAAA/lC,EAAAmqB,GACAA,GAAA7pB,CACA,OAGA,GADA6pB,GAAA7pB,EACA4gI,EAAA/2G,EAAA,EAAArkB,GAAAqkB,EACA,KAAAiZ,WAAA,+CAGA,KAAQ89F,EAAA/2G,GAAA,EAAArkB,EAAAqkB,EAAsCA,GAAA7pB,EAAA6pB,IAAAnqB,KAC9C+lC,EAAAslC,EAAAtlC,EAAA/lC,EAAAmqB,KAAAsoC,GAEA,OAAA1sB,KxMqmiCM,SAAUlmC,EAAQD,EAASO,GAEjC,YyM/niCA,IAAA8oE,GAAe9oE,EAAQ,IACvB0rE,EAAsB1rE,EAAQ,IAC9BwqE,EAAexqE,EAAQ,GAEvBN,GAAAD,WAAA8wE,YAAA,SAAA7kE,EAAAojB,GACA,GAAAwjC,GAAAwW,EAAAhpE,MACAu2D,EAAAmU,EAAAlY,EAAA3sD,QACA2P,EAAAo2D,EAAAhgE,EAAA2qD,GACAx9C,EAAA6yD,EAAA58C,EAAAunC,GACA4a,EAAA7sE,UAAAuB,OAAA,EAAAvB,UAAA,OAAA2E,GACA23F,EAAAnzE,KAAAhD,SAAAxhB,KAAAkoE,EAAA5a,EAAAqV,EAAAuF,EAAA5a,IAAAx9C,EAAAw9C,EAAA/gD,GACA0rH,EAAA,CAMA,KALAnoH,EAAAvD,KAAAuD,EAAA6nF,IACAsgC,GAAA,EACAnoH,GAAA6nF,EAAA,EACAprF,GAAAorF,EAAA,GAEAA,KAAA,GACA7nF,IAAAy5C,KAAAh9C,GAAAg9C,EAAAz5C,SACAy5C,GAAAh9C,GACAA,GAAA0rH,EACAnoH,GAAAmoH,CACG,OAAA1uE,KzMwoiCG,SAAU5yD,EAAQD,G0MhqiCxBC,EAAAD,QAAA,SAAAkY,EAAAxV,GACA,OAAUA,QAAAwV,Y1MwqiCJ,SAAUjY,EAAQD,EAASO,GAEjC,Y2M1qiCA,IAAAk+E,GAAiBl+E,EAAQ,IACzBA,GAAQ,IACR0L,OAAA,SACAzH,OAAA,EACAg9H,OAAA/iD,IAAA,IAAA77D,OAEAA,KAAA67D,K3MkriCM,SAAUx+E,EAAQD,EAASO,G4MxriC7BA,EAAQ,KAAgB,UAAAokC,OAAwBpkC,EAAQ,IAAcqyD,EAAAluB,OAAA9iC,UAAA,SAC1EP,cAAA,EACAE,IAAOhB,EAAQ,O5MisiCT,SAAUN,EAAQD,G6MpsiCxBC,EAAAD,QAAA,SAAA4iB,GACA,IACA,OAAYzY,GAAA,EAAA6oE,EAAApwD,KACT,MAAAzY,GACH,OAAYA,GAAA,EAAA6oE,EAAA7oE,M7M6siCN,SAAUlK,EAAQD,EAASO,G8MjtiCjC,GAAAiyD,GAAejyD,EAAQ,GACvB+C,EAAe/C,EAAQ,GACvBkhI,EAA2BlhI,EAAQ,IAEnCN,GAAAD,QAAA,SAAAqjE,EAAA3/D,GAEA,GADA8uD,EAAA6Q,GACA//D,EAAAI,MAAAe,cAAA4+D,EAAA,MAAA3/D,EACA,IAAAg+H,GAAAD,EAAA7uE,EAAAyQ,EAGA,QADApR,EADAyvE,EAAAzvE,SACAvuD,GACAg+H,EAAAtvE,U9MytiCM,SAAUnyD,EAAQD,EAASO,GAEjC,Y+MpuiCA,IAAAohI,GAAaphI,EAAQ,KACrBoV,EAAepV,EAAQ,GAIvBN,GAAAD,QAAiBO,EAAQ,KAHzB,MAGwC,SAAAgB,GACxC,kBAAyB,MAAAA,GAAAlB,KAAAsE,UAAAuB,OAAA,EAAAvB,UAAA,OAAA2E,OAGzB/H,IAAA,SAAAiJ,GACA,GAAAo3H,GAAAD,EAAAE,SAAAlsH,EAAAtV,KARA,OAQAmK,EACA,OAAAo3H,MAAA5uD,GAGA7iE,IAAA,SAAA3F,EAAA9H,GACA,MAAAi/H,GAAAppD,IAAA5iE,EAAAtV,KAbA,OAaA,IAAAmK,EAAA,EAAAA,EAAA9H,KAECi/H,GAAA,I/M2uiCK,SAAU1hI,EAAQD,EAASO,GAEjC,YgN9viCA,IAAAoyD,GAASpyD,EAAQ,IAAcqyD,EAC/B7gD,EAAaxR,EAAQ,IACrBwrE,EAAkBxrE,EAAQ,IAC1Bo1C,EAAUp1C,EAAQ,IAClBsrE,EAAiBtrE,EAAQ,IACzBm/E,EAAYn/E,EAAQ,IACpBuhI,EAAkBvhI,EAAQ,KAC1BwuC,EAAWxuC,EAAQ,KACnBssE,EAAiBtsE,EAAQ,IACzBy3E,EAAkBz3E,EAAQ,IAC1B20E,EAAc30E,EAAQ,IAAS20E,QAC/Bv/D,EAAepV,EAAQ,IACvBwhI,EAAA/pD,EAAA,YAEA6pD,EAAA,SAAA7lE,EAAAxxD,GAEA,GACAo3H,GADAr3G,EAAA2qD,EAAA1qE,EAEA,UAAA+f,EAAA,MAAAyxC,GAAAtjB,GAAAnuB,EAEA,KAAAq3G,EAAA5lE,EAAAgmE,GAAuBJ,EAAOA,IAAApgI,EAC9B,GAAAogI,EAAArT,GAAA/jH,EAAA,MAAAo3H,GAIA3hI,GAAAD,SACAugF,eAAA,SAAAjO,EAAAnlD,EAAAg+C,EAAA4U,GACA,GAAA1c,GAAAiP,EAAA,SAAAtW,EAAAqc,GACAxM,EAAA7P,EAAAqH,EAAAl2C,EAAA,MACA6uC,EAAAsc,GAAAnrD,EACA6uC,EAAAtjB,GAAA3mC,EAAA,MACAiqD,EAAAgmE,OAAA14H,GACA0yD,EAAAimE,OAAA34H,GACA0yD,EAAA+lE,GAAA,MACAz4H,IAAA+uE,GAAAqH,EAAArH,EAAAlN,EAAAnP,EAAA+jB,GAAA/jB,IAsDA,OApDA+P,GAAA1I,EAAAzhE,WAGA4e,MAAA,WACA,OAAAw7C,GAAArmD,EAAAtV,KAAA8sB,GAAArpB,EAAAk4D,EAAAtjB,GAAAkpF,EAAA5lE,EAAAgmE,GAA8EJ,EAAOA,IAAApgI,EACrFogI,EAAA/S,GAAA,EACA+S,EAAA9/H,IAAA8/H,EAAA9/H,EAAA8/H,EAAA9/H,EAAAN,MAAA8H,UACAxF,GAAA89H,EAAAlhI,EAEAs7D,GAAAgmE,GAAAhmE,EAAAimE,OAAA34H,GACA0yD,EAAA+lE,GAAA,GAIA3pE,OAAA,SAAA5tD,GACA,GAAAwxD,GAAArmD,EAAAtV,KAAA8sB,GACAy0G,EAAAC,EAAA7lE,EAAAxxD,EACA,IAAAo3H,EAAA,CACA,GAAAvrG,GAAAurG,EAAApgI,EACA6mD,EAAAu5E,EAAA9/H,QACAk6D,GAAAtjB,GAAAkpF,EAAAlhI,GACAkhI,EAAA/S,GAAA,EACAxmE,MAAA7mD,EAAA60B,GACAA,MAAAv0B,EAAAumD,GACA2T,EAAAgmE,IAAAJ,IAAA5lE,EAAAgmE,GAAA3rG,GACA2lC,EAAAimE,IAAAL,IAAA5lE,EAAAimE,GAAA55E,GACA2T,EAAA+lE,KACS,QAAAH,GAITp9F,QAAA,SAAAinC,GACA91D,EAAAtV,KAAA8sB,EAGA,KAFA,GACAy0G,GADAhvE,EAAAjd,EAAA81B,EAAA9mE,UAAAuB,OAAA,EAAAvB,UAAA,OAAA2E,GAAA,GAEAs4H,MAAApgI,EAAAnB,KAAA2hI,IAGA,IAFApvE,EAAAgvE,EAAA5uD,EAAA4uD,EAAArT,EAAAluH,MAEAuhI,KAAA/S,GAAA+S,IAAA9/H,GAKAirB,IAAA,SAAAviB,GACA,QAAAq3H,EAAAlsH,EAAAtV,KAAA8sB,GAAA3iB,MAGAwtE,GAAArlB,EAAA0Q,EAAAzhE,UAAA,QACAL,IAAA,WACA,MAAAoU,GAAAtV,KAAA8sB,GAAA40G,MAGA1+D,GAEAkV,IAAA,SAAAvc,EAAAxxD,EAAA9H,GACA,GACA2lD,GAAA99B,EADAq3G,EAAAC,EAAA7lE,EAAAxxD,EAoBK,OAjBLo3H,GACAA,EAAA5uD,EAAAtwE,GAGAs5D,EAAAimE,GAAAL,GACAlhI,EAAA6pB,EAAA2qD,EAAA1qE,GAAA,GACA+jH,EAAA/jH,EACAwoE,EAAAtwE,EACAZ,EAAAumD,EAAA2T,EAAAimE,GACAzgI,MAAA8H,GACAulH,GAAA,GAEA7yD,EAAAgmE,KAAAhmE,EAAAgmE,GAAAJ,GACAv5E,MAAA7mD,EAAAogI,GACA5lE,EAAA+lE,KAEA,MAAAx3G,IAAAyxC,EAAAtjB,GAAAnuB,GAAAq3G,IACK5lE,GAEL6lE,WACArhD,UAAA,SAAAnd,EAAAl2C,EAAAg+C,GAGA22D,EAAAz+D,EAAAl2C,EAAA,SAAA0tD,EAAA0jC,GACAl+G,KAAAi4E,GAAA3iE,EAAAklE,EAAA1tD,GACA9sB,KAAA8+G,GAAAZ,EACAl+G,KAAA4hI,OAAA34H,IACK,WAKL,IAJA,GAAA0yD,GAAA37D,KACAk+G,EAAAviD,EAAAmjD,GACAyiB,EAAA5lE,EAAAimE,GAEAL,KAAA/S,GAAA+S,IAAA9/H,CAEA,OAAAk6D,GAAAsc,KAAAtc,EAAAimE,GAAAL,MAAApgI,EAAAw6D,EAAAsc,GAAA0pD,IAMA,QAAAzjB,EAAAxvE,EAAA,EAAA6yF,EAAArT,GACA,UAAAhQ,EAAAxvE,EAAA,EAAA6yF,EAAA5uD,GACAjkC,EAAA,GAAA6yF,EAAArT,EAAAqT,EAAA5uD,KANAhX,EAAAsc,OAAAhvE,GACAylC,EAAA,KAMKo8B,EAAA,oBAAAA,GAAA,GAGL0B,EAAA1/C,MhNuwiCM,SAAUltB,EAAQD,EAASO,GAEjC,YiNr5iCA,IAAAohI,GAAaphI,EAAQ,KACrBoV,EAAepV,EAAQ,GAIvBN,GAAAD,QAAiBO,EAAQ,KAHzB,MAGwC,SAAAgB,GACxC,kBAAyB,MAAAA,GAAAlB,KAAAsE,UAAAuB,OAAA,EAAAvB,UAAA,OAAA2E,OAGzB6N,IAAA,SAAAzU,GACA,MAAAi/H,GAAAppD,IAAA5iE,EAAAtV,KARA,OAQAqC,EAAA,IAAAA,EAAA,EAAAA,OAECi/H,IjN45iCK,SAAU1hI,EAAQD,EAASO,GAEjC,YkN16iCA,IAcA2hI,GAdAz4E,EAAalpD,EAAQ,GACrB8Q,EAAW9Q,EAAQ,IAAkB,GACrCopD,EAAeppD,EAAQ,IACvB80E,EAAW90E,EAAQ,IACnBopH,EAAappH,EAAQ,KACrB4hI,EAAW5hI,EAAQ,KACnB+C,EAAe/C,EAAQ,GACvBoV,EAAepV,EAAQ,IACvB6hI,EAAsB7hI,EAAQ,IAC9B8hI,GAAA54E,EAAAknC,eAAA,iBAAAlnC,GAEA0rB,EAAAE,EAAAF,QACAL,EAAA3zE,OAAA2zE,aACAwtD,EAAAH,EAAAI,QAGAjwD,EAAA,SAAA/wE,GACA,kBACA,MAAAA,GAAAlB,KAAAsE,UAAAuB,OAAA,EAAAvB,UAAA,OAAA2E,MAIAoqB,GAEAnyB,IAAA,SAAAiJ,GACA,GAAAlH,EAAAkH,GAAA,CACA,GAAA1G,GAAAqxE,EAAA3qE,EACA,YAAA1G,EAAAw+H,EAAA3sH,EAAAtV,KAjBA,YAiBAkB,IAAAiJ,GACA1G,IAAAzD,KAAAq4C,QAAApvC,KAIA6G,IAAA,SAAA3F,EAAA9H,GACA,MAAAy/H,GAAA5pD,IAAA5iE,EAAAtV,KAvBA,WAuBAmK,EAAA9H,KAKA8/H,EAAAviI,EAAAD,QAAgCO,EAAQ,KA5BxC,UA4BuD+xE,EAAA5+C,EAAAyuG,GAAA,KAGvDC,IAAAC,IACAH,EAAAC,EAAA5hD,eAAAjO,EAhCA,WAiCAq3C,EAAAuY,EAAAtgI,UAAA8xB,GACA2hD,EAAAC,MAAA,EACAjkE,GAAA,qCAAA7G,GACA,GAAAhG,GAAAg+H,EAAA5gI,UACAqT,EAAAzQ,EAAAgG,EACAm/C,GAAAnlD,EAAAgG,EAAA,SAAAxH,EAAAsgE,GAEA,GAAAhgE,EAAAN,KAAA8xE,EAAA9xE,GAAA,CACA3C,KAAA2hI,KAAA3hI,KAAA2hI,GAAA,GAAAE,GACA,IAAA/sH,GAAA9U,KAAA2hI,GAAAx3H,GAAAxH,EAAAsgE,EACA,cAAA94D,EAAAnK,KAAA8U,EAEO,MAAAF,GAAArU,KAAAP,KAAA2C,EAAAsgE,SlNo7iCD,SAAUrjE,EAAQD,EAASO,GAEjC,YmN7+iCA,IAAAwrE,GAAkBxrE,EAAQ,IAC1B40E,EAAc50E,EAAQ,IAAS40E,QAC/B3iB,EAAejyD,EAAQ,GACvB+C,EAAe/C,EAAQ,GACvBsrE,EAAiBtrE,EAAQ,IACzBm/E,EAAYn/E,EAAQ,IACpBgsE,EAAwBhsE,EAAQ,IAChCkiI,EAAWliI,EAAQ,IACnBoV,EAAepV,EAAQ,IACvBstE,EAAAtB,EAAA,GACAuB,EAAAvB,EAAA,GACAznE,EAAA,EAGAw9H,EAAA,SAAAtmE,GACA,MAAAA,GAAAimE,KAAAjmE,EAAAimE,GAAA,GAAAS,KAEAA,EAAA,WACAriI,KAAA2C,MAEA2/H,EAAA,SAAAp0E,EAAA/jD,GACA,MAAAqjE,GAAAtf,EAAAvrD,EAAA,SAAAgpD,GACA,MAAAA,GAAA,KAAAxhD,IAGAk4H,GAAA9gI,WACAL,IAAA,SAAAiJ,GACA,GAAAo3H,GAAAe,EAAAtiI,KAAAmK,EACA,IAAAo3H,EAAA,MAAAA,GAAA,IAEA70G,IAAA,SAAAviB,GACA,QAAAm4H,EAAAtiI,KAAAmK,IAEA2F,IAAA,SAAA3F,EAAA9H,GACA,GAAAk/H,GAAAe,EAAAtiI,KAAAmK,EACAo3H,KAAA,GAAAl/H,EACArC,KAAA2C,EAAA6I,MAAArB,EAAA9H,KAEA01D,OAAA,SAAA5tD,GACA,GAAA+f,GAAAujD,EAAAztE,KAAA2C,EAAA,SAAAgpD,GACA,MAAAA,GAAA,KAAAxhD,GAGA,QADA+f,GAAAlqB,KAAA2C,EAAA4vB,OAAArI,EAAA,MACAA,IAIAtqB,EAAAD,SACAugF,eAAA,SAAAjO,EAAAnlD,EAAAg+C,EAAA4U,GACA,GAAA1c,GAAAiP,EAAA,SAAAtW,EAAAqc,GACAxM,EAAA7P,EAAAqH,EAAAl2C,EAAA,MACA6uC,EAAAsc,GAAAnrD,EACA6uC,EAAAtjB,GAAA5zC,IACAk3D,EAAAimE,OAAA34H,OACAA,IAAA+uE,GAAAqH,EAAArH,EAAAlN,EAAAnP,EAAA+jB,GAAA/jB,IAoBA,OAlBA+P,GAAA1I,EAAAzhE,WAGAw2D,OAAA,SAAA5tD,GACA,IAAAlH,EAAAkH,GAAA,QACA,IAAA1G,GAAAqxE,EAAA3qE,EACA,YAAA1G,EAAAw+H,EAAA3sH,EAAAtV,KAAA8sB,IAAA,OAAA3iB,GACA1G,GAAA2+H,EAAA3+H,EAAAzD,KAAAq4C,WAAA50C,GAAAzD,KAAAq4C,KAIA3rB,IAAA,SAAAviB,GACA,IAAAlH,EAAAkH,GAAA,QACA,IAAA1G,GAAAqxE,EAAA3qE,EACA,YAAA1G,EAAAw+H,EAAA3sH,EAAAtV,KAAA8sB,IAAAJ,IAAAviB,GACA1G,GAAA2+H,EAAA3+H,EAAAzD,KAAAq4C,OAGA2qB,GAEAkV,IAAA,SAAAvc,EAAAxxD,EAAA9H,GACA,GAAAoB,GAAAqxE,EAAA3iB,EAAAhoD,IAAA,EAGA,QAFA,IAAA1G,EAAAw+H,EAAAtmE,GAAA7rD,IAAA3F,EAAA9H,GACAoB,EAAAk4D,EAAAtjB,IAAAh2C,EACAs5D,GAEAumE,QAAAD,InNq/iCM,SAAUriI,EAAQD,EAASO,GoNvkjCjC,GAAAouD,GAAgBpuD,EAAQ,IACxBwqE,EAAexqE,EAAQ,GACvBN,GAAAD,QAAA,SAAAgsD,GACA,OAAA1iD,KAAA0iD,EAAA,QACA,IAAA9gD,GAAAyjD,EAAA3C,GACA9lD,EAAA6kE,EAAA7/D,EACA,IAAAA,IAAAhF,EAAA,KAAAgnE,YAAA,gBACA,OAAAhnE,KpNgljCM,SAAUjG,EAAQD,EAASO,GqNvljCjC,GAAA6rE,GAAW7rE,EAAQ,IACnBw/H,EAAWx/H,EAAQ,KACnBiyD,EAAejyD,EAAQ,GACvBqiI,EAAcriI,EAAQ,GAAWqiI,OACjC3iI,GAAAD,QAAA4iI,KAAAC,SAAA,SAAA72E,GACA,GAAArhD,GAAAyhE,EAAAxZ,EAAAJ,EAAAxG,IACAi0E,EAAAF,EAAAntE,CACA,OAAAqtE,GAAAt1H,EAAAooC,OAAAktF,EAAAj0E,IAAArhD,IrNgmjCM,SAAU1K,EAAQD,EAASO,GAEjC,YsNlmjCA,SAAAuiI,GAAA72H,EAAAi6D,EAAAriE,EAAAk/H,EAAA1zG,EAAA+gF,EAAA4yB,EAAAC,GAMA,IALA,GAGAn6E,GAAAo6E,EAHAC,EAAA9zG,EACA2kE,EAAA,EACAjT,IAAAiiD,GAAArtF,EAAAqtF,EAAAC,EAAA,GAGAjvC,EAAA+uC,GAAA,CACA,GAAA/uC,IAAAnwF,GAAA,CASA,GARAilD,EAAAi4B,IAAAl9E,EAAAmwF,KAAA9tB,GAAAriE,EAAAmwF,GAEAkvC,GAAA,EACA5/H,EAAAwlD,KACAo6E,EAAAp6E,EAAAs6E,GACAF,MAAA55H,KAAA45H,MAAAhyH,EAAA43C,IAGAo6E,GAAA9yB,EAAA,EACA+yB,EAAAL,EAAA72H,EAAAi6D,EAAApd,EAAAiiB,EAAAjiB,EAAA5iD,QAAAi9H,EAAA/yB,EAAA,SACO,CACP,GAAA+yB,GAAA,sBAAA3/F,YACAv3B,GAAAk3H,GAAAr6E,EAGAq6E,IAEAnvC,IAEA,MAAAmvC,GAjCA,GAAAjyH,GAAc3Q,EAAQ,KACtB+C,EAAe/C,EAAQ,GACvBwqE,EAAexqE,EAAQ,IACvBo1C,EAAUp1C,EAAQ,IAClB6iI,EAA2B7iI,EAAQ,IAAQ,qBAgC3CN,GAAAD,QAAA8iI,GtNgnjCM,SAAU7iI,EAAQD,EAASO,GuNrpjCjC,GAAAwqE,GAAexqE,EAAQ,IACvB8iI,EAAa9iI,EAAQ,KACrBwyD,EAAcxyD,EAAQ,GAEtBN,GAAAD,QAAA,SAAAg8D,EAAAv5C,EAAA6gH,EAAA9tG,GACA,GAAA60B,GAAA//C,OAAAyoD,EAAAiJ,IACAunE,EAAAl5E,EAAAnkD,OACAs9H,MAAAl6H,KAAAg6H,EAAA,IAAAh5H,OAAAg5H,GACAG,EAAA14D,EAAAtoD,EACA,IAAAghH,GAAAF,GAAA,IAAAC,EAAA,MAAAn5E,EACA,IAAAq5E,GAAAD,EAAAF,EACAI,EAAAN,EAAAziI,KAAA4iI,EAAA11G,KAAAm8C,KAAAy5D,EAAAF,EAAAt9H,QAEA,OADAy9H,GAAAz9H,OAAAw9H,IAAAC,IAAA16H,MAAA,EAAAy6H,IACAluG,EAAAmuG,EAAAt5E,IAAAs5E,IvN8pjCM,SAAU1jI,EAAQD,EAASO,GwN5qjCjC,GAAAy3E,GAAkBz3E,EAAQ,IAC1Bo/H,EAAcp/H,EAAQ,IACtB2oE,EAAgB3oE,EAAQ,IACxB2/H,EAAa3/H,EAAQ,IAAeqyD,CACpC3yD,GAAAD,QAAA,SAAA4jI,GACA,gBAAA53E,GAOA,IANA,GAKAxhD,GALAqoD,EAAAqW,EAAAld,GACArhD,EAAAg1H,EAAA9sE,GACA3sD,EAAAyE,EAAAzE,OACAxF,EAAA,EACAyU,KAEAjP,EAAAxF,GACA8J,EAAAG,EAAAjK,KACAs3E,IAAAkoD,EAAAt/H,KAAAiyD,EAAAroD,IACA2K,EAAAtJ,KAAA+3H,GAAAp5H,EAAAqoD,EAAAroD,IAAAqoD,EAAAroD,GAGA,OAAA2K,MxNqrjCM,SAAUlV,EAAQD,EAASO,GyNtsjCjC,GAAA2rE,GAAc3rE,EAAQ,IACtB6Y,EAAW7Y,EAAQ,IACnBN,GAAAD,QAAA,SAAAmtB,GACA,kBACA,GAAA++C,EAAA7rE,OAAA8sB,EAAA,KAAAqW,WAAArW,EAAA,wBACA,OAAA/T,GAAA/Y,SzNgtjCM,SAAUJ,EAAQD,EAASO,G0NttjCjC,GAAAm/E,GAAYn/E,EAAQ,GAEpBN,GAAAD,QAAA,SAAAuzE,EAAAvE,GACA,GAAA75D,KAEA,OADAuqE,GAAAnM,GAAA,EAAAp+D,EAAAtJ,KAAAsJ,EAAA65D,GACA75D,I1N8tjCM,SAAUlV,EAAQD,G2NlujCxBC,EAAAD,QAAA8tB,KAAAi2D,OAAA,SAAArgF,EAAAmgI,EAAAC,EAAAC,EAAAC,GACA,MACA,KAAAr/H,UAAAuB,QAEAxC,MAEAmgI,MAEAC,MAEAC,MAEAC,KACAliB,IACAp+G,IAAAw3C,KAAAx3C,KAAAw3C,IAAAx3C,GACAA,EAAAmgI,IAAAG,EAAAD,IAAAD,EAAAD,GAAAE,I3N2ujCM,SAAU9jI,EAAQD,EAASO,G4N3vjCjCN,EAAAD,SAAkBkC,QAAY3B,EAAQ,KAAoCkB,YAAA,I5NiwjCpE,SAAUxB,EAAQD,EAASO,GAEjC,Y6NlwjCA,IAAAmrE,GAAcnrE,EAAQ,IACtBqpD,EAAcrpD,EAAQ,IACtBopD,EAAeppD,EAAQ,KACvBu0B,EAAWv0B,EAAQ,IACnBosE,EAAgBpsE,EAAQ,IACxBy9G,EAAkBz9G,EAAQ,KAC1Bo/E,EAAqBp/E,EAAQ,KAC7BipE,EAAqBjpE,EAAQ,KAC7ByuE,EAAezuE,EAAQ,IAAQ,YAC/B09G,OAAAtzG,MAAA,WAAAA,QAKAuzG,EAAA,WAA8B,MAAA79G,MAE9BJ,GAAAD,QAAA,SAAA2yE,EAAAxlD,EAAA+qD,EAAA7hD,EAAA8nF,EAAAC,EAAAvrC,GACAmrC,EAAA9lC,EAAA/qD,EAAAkJ,EACA,IAeA3C,GAAAlpB,EAAA6zG,EAfAC,EAAA,SAAAC,GACA,IAAAN,GAAAM,IAAA/5G,GAAA,MAAAA,GAAA+5G,EACA,QAAAA,GACA,IAVA,OAWA,IAVA,SAUA,kBAA6C,UAAArmC,GAAA73E,KAAAk+G,IACxC,kBAA4B,UAAArmC,GAAA73E,KAAAk+G,KAEjCtvC,EAAA9hD,EAAA,YACAqxF,EAdA,UAcAL,EACAM,GAAA,EACAj6G,EAAAmuE,EAAA/wE,UACA88G,EAAAl6G,EAAAwqE,IAAAxqE,EAnBA,eAmBA25G,GAAA35G,EAAA25G,GACAQ,EAAAD,GAAAJ,EAAAH,GACAS,EAAAT,EAAAK,EAAAF,EAAA,WAAAK,MAAAr1G,GACAu1G,EAAA,SAAA1xF,EAAA3oB,EAAA4pE,SAAAswC,GAwBA,IArBAG,IACAR,EAAA70C,EAAAq1C,EAAAj+G,KAAA,GAAA+xE,QACAxxE,OAAAS,WAAAy8G,EAAAhoF,OAEAspD,EAAA0+B,EAAApvC,GAAA,GAEAvD,GAAA,kBAAA2yC,GAAArvC,IAAAl6C,EAAAupF,EAAArvC,EAAAkvC,IAIAM,GAAAE,GAjCA,WAiCAA,EAAA19G,OACAy9G,GAAA,EACAE,EAAA,WAAkC,MAAAD,GAAA99G,KAAAP,QAGlCqrE,IAAAmH,IAAAorC,IAAAQ,GAAAj6G,EAAAwqE,IACAl6C,EAAAtwB,EAAAwqE,EAAA2vC,GAGAhyC,EAAAx/C,GAAAwxF,EACAhyC,EAAAsC,GAAAivC,EACAC,EAMA,GALAzqF,GACApU,OAAAk/F,EAAAG,EAAAL,EA9CA,UA+CA3zG,KAAAyzG,EAAAO,EAAAL,EAhDA,QAiDAlwC,QAAAwwC,GAEA/rC,EAAA,IAAAroE,IAAAkpB,GACAlpB,IAAAhG,IAAAmlD,EAAAnlD,EAAAgG,EAAAkpB,EAAAlpB,QACKo/C,KAAAW,EAAAX,EAAAK,GAAAg0D,GAAAQ,GAAAtxF,EAAAuG,EAEL,OAAAA,K7N0wjCM,SAAUzzB,EAAQD,EAASO,G8N70jCjCN,EAAAD,SAAkBO,EAAQ,MAAsBA,EAAQ,IAAU,WAClE,MAAuG,IAAvGY,OAAAC,eAA+Bb,EAAQ,KAAe,YAAgBgB,IAAA,WAAmB,YAAcyB,K9Nq1jCjG,SAAU/C,EAAQD,EAASO,G+Nt1jCjCN,EAAAD,QAAiBO,EAAQ,K/N61jCnB,SAAUN,EAAQD,EAASO,GgO71jCjC,GAAAoyD,GAASpyD,EAAQ,IACjBiyD,EAAejyD,EAAQ,IACvBo/H,EAAcp/H,EAAQ,GAEtBN,GAAAD,QAAiBO,EAAQ,IAAgBY,OAAAy+H,iBAAA,SAAA/sE,EAAAglB,GACzCrlB,EAAAK,EAKA,KAJA,GAGAtI,GAHA5/C,EAAAg1H,EAAA9nD,GACA3xE,EAAAyE,EAAAzE,OACAxF,EAAA,EAEAwF,EAAAxF,GAAAiyD,EAAAC,EAAAC,EAAAtI,EAAA5/C,EAAAjK,KAAAm3E,EAAAttB,GACA,OAAAsI,KhOq2jCM,SAAU5yD,EAAQD,EAASO,GiOh3jCjC,GAAAwsB,GAAUxsB,EAAQ,IAClB2oE,EAAgB3oE,EAAQ,IACxBytE,EAAmBztE,EAAQ,MAAmB,GAC9C+oE,EAAe/oE,EAAQ,KAAe,WAEtCN,GAAAD,QAAA,SAAA0B,EAAA0P,GACA,GAGA5G,GAHAqoD,EAAAqW,EAAAxnE,GACAhB,EAAA,EACAyU,IAEA,KAAA3K,IAAAqoD,GAAAroD,GAAA8+D,GAAAv8C,EAAA8lC,EAAAroD,IAAA2K,EAAAtJ,KAAArB,EAEA,MAAA4G,EAAAlL,OAAAxF,GAAAqsB,EAAA8lC,EAAAroD,EAAA4G,EAAA1Q,SACAstE,EAAA74D,EAAA3K,IAAA2K,EAAAtJ,KAAArB,GAEA,OAAA2K,KjOw3jCM,SAAUlV,EAAQD,EAASO,GkOt4jCjC,GAAAk4E,GAAUl4E,EAAQ,GAElBN,GAAAD,QAAAmB,OAAA,KAAA84E,qBAAA,GAAA94E,OAAA,SAAA6qD,GACA,gBAAAysB,EAAAzsB,KAAApiD,MAAA,IAAAzI,OAAA6qD,KlO+4jCM,SAAU/rD,EAAQD,EAASO,GmOn5jCjC,GAAA+oC,GAAe/oC,EAAQ,IAAW+oC,QAClCrpC,GAAAD,QAAAspC,KAAA+/C,iBnO05jCM,SAAUppF,EAAQD,EAASO,GoO15jCjC,GAAAwsB,GAAUxsB,EAAQ,IAClB8oE,EAAe9oE,EAAQ,IACvB+oE,EAAe/oE,EAAQ,KAAe,YACtCgpE,EAAApoE,OAAAS,SAEA3B,GAAAD,QAAAmB,OAAAqoE,gBAAA,SAAA3W,GAEA,MADAA,GAAAwW,EAAAxW,GACA9lC,EAAA8lC,EAAAyW,GAAAzW,EAAAyW,GACA,kBAAAzW,GAAApuD,aAAAouD,eAAApuD,YACAouD,EAAApuD,YAAA7C,UACGixD,YAAA1xD,QAAAooE,EAAA,OpOm6jCG,SAAUtpE,EAAQD,EAASO,GqO96jCjCN,EAAAD,SAAkBkC,QAAY3B,EAAQ,KAA2BkB,YAAA,IrOo7jC3D,SAAUxB,EAAQD,EAASO,GAEjC,YsOp7jCA,IAAAkpD,GAAalpD,EAAQ,IACrBwsB,EAAUxsB,EAAQ,IAClBy3E,EAAkBz3E,EAAQ,IAC1BqpD,EAAcrpD,EAAQ,IACtBopD,EAAeppD,EAAQ,KACvBq0E,EAAWr0E,EAAQ,KAASuqE,IAC5Bm5D,EAAa1jI,EAAQ,IACrBszE,EAAatzE,EAAQ,KACrBo/E,EAAqBp/E,EAAQ,KAC7BiuD,EAAUjuD,EAAQ,KAClB+rE,EAAU/rE,EAAQ,IAClBi9G,EAAaj9G,EAAQ,KACrB2jI,EAAgB3jI,EAAQ,KACxB4jI,EAAe5jI,EAAQ,KACvB2Q,EAAc3Q,EAAQ,KACtBiyD,EAAejyD,EAAQ,IACvB+C,EAAe/C,EAAQ,IACvB8oE,EAAe9oE,EAAQ,IACvB2oE,EAAgB3oE,EAAQ,IACxBmyD,EAAkBnyD,EAAQ,KAC1BgnE,EAAiBhnE,EAAQ,IACzB6jI,EAAc7jI,EAAQ,KACtB8jI,EAAc9jI,EAAQ,KACtB0sE,EAAY1sE,EAAQ,KACpB+jI,EAAY/jI,EAAQ,KACpBysE,EAAUzsE,EAAQ,IAClB02E,EAAY12E,EAAQ,IACpB4oE,EAAA8D,EAAAra,EACAD,EAAAqa,EAAApa,EACAwZ,EAAAi4D,EAAAzxE,EACA6qD,EAAAh0D,EAAAgF,OACA81E,EAAA96E,EAAA/hD,KACAvF,EAAAoiI,KAAAC,UAEAC,EAAAn4D,EAAA,WACAo4D,EAAAp4D,EAAA,eACA4zD,KAAejmD,qBACf0qD,EAAA9wD,EAAA,mBACA+wD,EAAA/wD,EAAA,WACAgxD,EAAAhxD,EAAA,cACAtK,EAAApoE,OAAA,UACA2jI,EAAA,kBAAArnB,MAAA6mB,EAAA1xE,EACAmyE,EAAAt7E,EAAAs7E,QAEA9xD,GAAA8xD,MAAA,YAAAA,EAAA,UAAAC,UAGAC,EAAAjtD,GAAAisD,EAAA,WACA,MAEG,IAFHG,EAAAzxE,KAAsB,KACtBpxD,IAAA,WAAsB,MAAAoxD,GAAAtyD,KAAA,KAAuBqC,MAAA,IAAWM,MACrDA,IACF,SAAAgpD,EAAAxhD,EAAA8vE,GACD,GAAA4qD,GAAA/7D,EAAAI,EAAA/+D,EACA06H,UAAA37D,GAAA/+D,GACAmoD,EAAA3G,EAAAxhD,EAAA8vE,GACA4qD,GAAAl5E,IAAAud,GAAA5W,EAAA4W,EAAA/+D,EAAA06H,IACCvyE,EAEDz9C,EAAA,SAAA8yD,GACA,GAAAm9D,GAAAP,EAAA58D,GAAAo8D,EAAA3mB,EAAA,UAEA,OADA0nB,GAAAhmB,GAAAn3C,EACAm9D,GAGAC,EAAAN,GAAA,gBAAArnB,GAAAntC,SAAA,SAAAtkB,GACA,sBAAAA,IACC,SAAAA,GACD,MAAAA,aAAAyxD,IAGAsB,EAAA,SAAA/yD,EAAAxhD,EAAA8vE,GAKA,MAJAtuB,KAAAud,GAAAw1C,EAAA8lB,EAAAr6H,EAAA8vE,GACA9nB,EAAAxG,GACAxhD,EAAAkoD,EAAAloD,GAAA,GACAgoD,EAAA8nB,GACAvtD,EAAA63G,EAAAp6H,IACA8vE,EAAAh5E,YAIAyrB,EAAAi/B,EAAAy4E,IAAAz4E,EAAAy4E,GAAAj6H,KAAAwhD,EAAAy4E,GAAAj6H,IAAA,GACA8vE,EAAA8pD,EAAA9pD,GAAsBh5E,WAAAimE,EAAA,UAJtBx6C,EAAAi/B,EAAAy4E,IAAA9xE,EAAA3G,EAAAy4E,EAAAl9D,EAAA,OACAvb,EAAAy4E,GAAAj6H,IAAA,GAIKy6H,EAAAj5E,EAAAxhD,EAAA8vE,IACF3nB,EAAA3G,EAAAxhD,EAAA8vE,IAEH+qD,EAAA,SAAAr5E,EAAAzB,GACAiI,EAAAxG,EAKA,KAJA,GAGAxhD,GAHAG,EAAAw5H,EAAA55E,EAAA2e,EAAA3e,IACA7pD,EAAA,EACAC,EAAAgK,EAAAzE,OAEAvF,EAAAD,GAAAq+G,EAAA/yD,EAAAxhD,EAAAG,EAAAjK,KAAA6pD,EAAA//C,GACA,OAAAwhD,IAEAkf,EAAA,SAAAlf,EAAAzB,GACA,WAAAjhD,KAAAihD,EAAA65E,EAAAp4E,GAAAq5E,EAAAjB,EAAAp4E,GAAAzB,IAEA+6E,EAAA,SAAA96H,GACA,GAAAojH,GAAAsS,EAAAt/H,KAAAP,KAAAmK,EAAAkoD,EAAAloD,GAAA,GACA,SAAAnK,OAAAkpE,GAAAx8C,EAAA63G,EAAAp6H,KAAAuiB,EAAA83G,EAAAr6H,QACAojH,IAAA7gG,EAAA1sB,KAAAmK,KAAAuiB,EAAA63G,EAAAp6H,IAAAuiB,EAAA1sB,KAAAokI,IAAApkI,KAAAokI,GAAAj6H,KAAAojH,IAEA2X,EAAA,SAAAv5E,EAAAxhD,GAGA,GAFAwhD,EAAAkd,EAAAld,GACAxhD,EAAAkoD,EAAAloD,GAAA,GACAwhD,IAAAud,IAAAx8C,EAAA63G,EAAAp6H,IAAAuiB,EAAA83G,EAAAr6H,GAAA,CACA,GAAA8vE,GAAAnR,EAAAnd,EAAAxhD,EAEA,QADA8vE,IAAAvtD,EAAA63G,EAAAp6H,IAAAuiB,EAAAi/B,EAAAy4E,IAAAz4E,EAAAy4E,GAAAj6H,KAAA8vE,EAAAh5E,YAAA,GACAg5E,IAEAkrD,GAAA,SAAAx5E,GAKA,IAJA,GAGAxhD,GAHA4G,EAAAg7D,EAAAlD,EAAAld,IACA72C,KACAzU,EAAA,EAEA0Q,EAAAlL,OAAAxF,GACAqsB,EAAA63G,EAAAp6H,EAAA4G,EAAA1Q,OAAA8J,GAAAi6H,GAAAj6H,GAAAoqE,GAAAz/D,EAAAtJ,KAAArB,EACG,OAAA2K,IAEHswH,GAAA,SAAAz5E,GAMA,IALA,GAIAxhD,GAJAk7H,EAAA15E,IAAAud,EACAn4D,EAAAg7D,EAAAs5D,EAAAb,EAAA37D,EAAAld,IACA72C,KACAzU,EAAA,EAEA0Q,EAAAlL,OAAAxF,IACAqsB,EAAA63G,EAAAp6H,EAAA4G,EAAA1Q,OAAAglI,IAAA34G,EAAAw8C,EAAA/+D,IAAA2K,EAAAtJ,KAAA+4H,EAAAp6H,GACG,OAAA2K,GAIH2vH,KACArnB,EAAA,WACA,GAAAp9G,eAAAo9G,GAAA,KAAAj6E,WAAA,+BACA,IAAAwkC,GAAAxZ,EAAA7pD,UAAAuB,OAAA,EAAAvB,UAAA,OAAA2E,IACAuoE,EAAA,SAAAnvE,GACArC,OAAAkpE,GAAAsI,EAAAjxE,KAAAikI,EAAAniI,GACAqqB,EAAA1sB,KAAAokI,IAAA13G,EAAA1sB,KAAAokI,GAAAz8D,KAAA3nE,KAAAokI,GAAAz8D,IAAA,GACAi9D,EAAA5kI,KAAA2nE,EAAAT,EAAA,EAAA7kE,IAGA,OADAs1E,IAAA/E,GAAAgyD,EAAA17D,EAAAvB,GAAgE3mE,cAAA,EAAA8O,IAAA0hE,IAChE38D,EAAA8yD,IAEAre,EAAA8zD,EAAA,gCACA,MAAAp9G,MAAA8+G,KAGAlyC,EAAAra,EAAA2yE,EACAv4D,EAAApa,EAAAmsD,EACEx+G,EAAQ,KAAgBqyD,EAAAyxE,EAAAzxE,EAAA4yE,GACxBjlI,EAAQ,IAAeqyD,EAAA0yE,EACzBhB,EAAA1xE,EAAA6yE,GAEAztD,IAAsBz3E,EAAQ,KAC9BopD,EAAA4f,EAAA,uBAAA+7D,GAAA,GAGA9nB,EAAA5qD,EAAA,SAAA5xD,GACA,MAAAkU,GAAAo3D,EAAAtrE,MAIA4oD,IAAAO,EAAAP,EAAAiB,EAAAjB,EAAAK,GAAA66E,GAA0Dr2E,OAAAgvD,GAE1D,QAAAkoB,IAAA,iHAGA/7H,MAAA,KAAAg4B,GAAA,EAAoB+jG,GAAAz/H,OAAA07B,IAAuB0qC,EAAAq5D,GAAA/jG,MAE3C,QAAAgkG,IAAA3uD,EAAA3K,EAAA/d,OAAAggE,GAAA,EAAoDqX,GAAA1/H,OAAAqoH,IAA6B2V,EAAA0B,GAAArX,MAEjF3kE,KAAAS,EAAAT,EAAAK,GAAA66E,EAAA,UAEAv1B,IAAA,SAAA/kG,GACA,MAAAuiB,GAAA43G,EAAAn6H,GAAA,IACAm6H,EAAAn6H,GACAm6H,EAAAn6H,GAAAizG,EAAAjzG,IAGAq7H,OAAA,SAAAV,GACA,IAAAC,EAAAD,GAAA,KAAA3hG,WAAA2hG,EAAA,oBACA,QAAA36H,KAAAm6H,GAAA,GAAAA,EAAAn6H,KAAA26H,EAAA,MAAA36H,IAEAs7H,UAAA,WAA0B7yD,GAAA,GAC1B8yD,UAAA,WAA0B9yD,GAAA,KAG1BrpB,IAAAS,EAAAT,EAAAK,GAAA66E,EAAA,UAEA/yH,OAAAm5D,EAEA9pE,eAAA29G,EAEA6gB,iBAAAyF,EAEAj8D,yBAAAm8D,EAEAxtD,oBAAAytD,GAEAxnD,sBAAAynD,IAKA,IAAAO,IAAA/B,EAAA,WAA8CK,EAAA1xE,EAAA,IAE9ChJ,KAAAS,EAAAT,EAAAK,EAAA+7E,GAAA,UACAhoD,sBAAA,SAAAhyB,GACA,MAAAs4E,GAAA1xE,EAAAyW,EAAArd,OAKAu4E,GAAA36E,IAAAS,EAAAT,EAAAK,IAAA66E,GAAAb,EAAA,WACA,GAAA55E,GAAAozD,GAIA,iBAAAt7G,GAAAkoD,KAA2D,MAA3DloD,GAAoDa,EAAAqnD,KAAe,MAAAloD,EAAAhB,OAAAkpD,OAClE,QACDm6E,UAAA,SAAAx4E,GAIA,IAHA,GAEAi6E,GAAAC,EAFAn9H,GAAAijD,GACAtrD,EAAA,EAEAiE,UAAAuB,OAAAxF,GAAAqI,EAAA8C,KAAAlH,UAAAjE,KAEA,IADAwlI,EAAAD,EAAAl9H,EAAA,IACAzF,EAAA2iI,QAAA38H,KAAA0iD,KAAAo5E,EAAAp5E,GAMA,MALA96C,GAAA+0H,OAAA,SAAAz7H,EAAA9H,GAEA,GADA,kBAAAwjI,KAAAxjI,EAAAwjI,EAAAtlI,KAAAP,KAAAmK,EAAA9H,KACA0iI,EAAA1iI,GAAA,MAAAA,KAEAqG,EAAA,GAAAk9H,EACA9jI,EAAAuC,MAAA6/H,EAAAx7H,MAKA00G,EAAA,UAAAinB,IAAoCnkI,EAAQ,IAASk9G,EAAA,UAAAinB,EAAAjnB,EAAA,UAAAxnD,SAErD0pB,EAAA89B,EAAA,UAEA99B,EAAA7xD,KAAA,WAEA6xD,EAAAl2B,EAAA/hD,KAAA,YtO47jCM,SAAUzH,EAAQD,EAASO,GuOjrkCjC,GAAAq0E,GAAWr0E,EAAQ,KAAQ,QAC3B+C,EAAe/C,EAAQ,IACvBwsB,EAAUxsB,EAAQ,IAClBs0E,EAAct0E,EAAQ,IAAcqyD,EACpC9tD,EAAA,EACAgwE,EAAA3zE,OAAA2zE,cAAA,WACA,UAEAC,GAAcx0E,EAAQ,IAAU,WAChC,MAAAu0E,GAAA3zE,OAAA6zE,yBAEAC,EAAA,SAAAjpB,GACA6oB,EAAA7oB,EAAA4oB,GAAqBlyE,OACrBhC,EAAA,OAAAoE,EACA6/C,SAGAuwB,EAAA,SAAAlpB,EAAAj6C,GAEA,IAAAzO,EAAA0oD,GAAA,sBAAAA,MAAA,gBAAAA,GAAA,SAAAA,CACA,KAAAj/B,EAAAi/B,EAAA4oB,GAAA,CAEA,IAAAE,EAAA9oB,GAAA,SAEA,KAAAj6C,EAAA,SAEAkjE,GAAAjpB,GAEG,MAAAA,GAAA4oB,GAAAl0E,GAEHy0E,EAAA,SAAAnpB,EAAAj6C,GACA,IAAAgb,EAAAi/B,EAAA4oB,GAAA,CAEA,IAAAE,EAAA9oB,GAAA,QAEA,KAAAj6C,EAAA,QAEAkjE,GAAAjpB,GAEG,MAAAA,GAAA4oB,GAAAjwB,GAGHywB,EAAA,SAAAppB,GAEA,MADA+oB,IAAAM,EAAAC,MAAAR,EAAA9oB,KAAAj/B,EAAAi/B,EAAA4oB,IAAAK,EAAAjpB,GACAA,GAEAqpB,EAAAp1E,EAAAD,SACA8qE,IAAA8J,EACAU,MAAA,EACAJ,UACAC,UACAC,avOyrkCM,SAAUn1E,EAAQD,EAASO,GwO3ukCjC,GAAA2oE,GAAgB3oE,EAAQ,IACxB6rE,EAAW7rE,EAAQ,KAAgBqyD,EACnC3nD,KAAiBA,SAEjB40H,EAAA,gBAAAj4H,iBAAAzG,OAAA42E,oBACA52E,OAAA42E,oBAAAnwE,WAEAk4H,EAAA,SAAA9zE,GACA,IACA,MAAAogB,GAAApgB,GACG,MAAA7hD,GACH,MAAA01H,GAAA52H,SAIAhJ,GAAAD,QAAA4yD,EAAA,SAAA5G,GACA,MAAA6zE,IAAA,mBAAA50H,EAAArK,KAAAorD,GAAA8zE,EAAA9zE,GAAAogB,EAAAlD,EAAAld,MxOovkCM,SAAU/rD,EAAQD,EAASO,GyOpwkCjC,GAAA02E,GAAY12E,EAAQ,KACpBu3E,EAAiBv3E,EAAQ,KAAkBwyC,OAAA,qBAE3C/yC,GAAA4yD,EAAAzxD,OAAA42E,qBAAA,SAAAllB,GACA,MAAAokB,GAAApkB,EAAAilB,KzO6wkCM,SAAU73E,EAAQD,EAASO;;;;;;;;;;;;;;;;;;;;;;;;;;C0OxvkCjC,SAAAT,EAAAC,GAEAE,EAAAD,QAAAD,KAOCM,EAAA,WACD,gBAAAC,GAKA,QAAAC,GAAAC,GAGA,GAAAC,EAAAD,GACA,MAAAC,GAAAD,GAAAR,OAGA,IAAAC,GAAAQ,EAAAD,IACAR,WACA8E,GAAAtE,EACA2lI,QAAA,EAUA,OANA7lI,GAAAE,GAAAI,KAAAX,EAAAD,QAAAC,IAAAD,QAAAO,GAGAN,EAAAkmI,QAAA,EAGAlmI,EAAAD,QAvBA,GAAAS,KAqCA,OATAF,GAAAM,EAAAP,EAGAC,EAAAO,EAAAL,EAGAF,EAAAuB,EAAA,GAGAvB,EAAA,KAKA,SAAAN,EAAAD,EAAAO,GAEA,YAiCA,SAAAwR,KACA,GAAAq0H,GAAAhC,GAgBA,OAdAgC,GAAAriI,QAAA,SAAAkN,EAAArL,GACA,MAAAygI,GAAAtiI,QAAAkN,EAAArL,EAAAwgI,IAEAA,EAAAE,WAAA,SAAAr1H,EAAArL,GACA,MAAAygI,GAAAC,WAAAr1H,EAAArL,EAAAwgI,IAGAA,EAAAG,IAAAC,EAAA,QACAJ,EAAAK,SAAAJ,EAAAI,SACAL,EAAAM,mBAAAC,EAAA,QACAP,EAAAQ,OAAAC,EAAAvtF,OACA8sF,EAAAz+H,MAAAk/H,EAAAl/H,MACAy+H,EAAAU,uBAAAD,EAAAC,uBAEAV,EAhDA,GAAA1rG,GAAAn6B,EAAA,UAEAP,GAAAyB,YAAA,CAEA,IAAAslI,GAAAxmI,EAAA,GAEAymI,EAAAtsG,EAAAqsG,GAIAE,EAAA1mI,EAAA,IAEAimI,EAAA9rG,EAAAusG,GAEAJ,EAAAtmI,EAAA,IAEA8lI,EAAA9lI,EAAA,IAEA2mI,EAAA3mI,EAAA,IAEAomI,EAAAjsG,EAAAwsG,GAEAC,EAAA5mI,EAAA,IAEA6mI,EAAA1sG,EAAAysG,GAEAE,EAAA9mI,EAAA,IAEA+mI,EAAA5sG,EAAA2sG,GAEAjD,EAAA4C,EAAA,QAAAj1H,OAqBAw1H,EAAAx1H,GACAw1H,GAAAx1H,SAEAu1H,EAAA,QAAAC,GAEAA,EAAAC,QAAAJ,EAAA,QAEAG,EAAA,QAAAA,EAEAvnI,EAAA,QAAAunI,EACAtnI,EAAAD,UAAA,SAIA,SAAAC,EAAAD,GAEA,YAEAA,GAAA,iBAAAiC,GACA,MAAAA,MAAAR,WAAAQ,GACAC,QAAAD,IAIAjC,EAAAyB,YAAA,GAIA,SAAAxB,EAAAD,EAAAO,GAEA,YAoCA,SAAAwR,KACA,GAAAq0H,GAAA,GAAA1xC,GAAA+yC,qBAaA,OAXA38F,GAAApkC,OAAA0/H,EAAA1xC,GACA0xC,EAAAp7F,WAAA08F,EAAA,QACAtB,EAAAuB,UAAAC,EAAA,QACAxB,EAAAt7F,QACAs7F,EAAAr7F,iBAAAD,EAAAC,iBAEAq7F,EAAAyB,GAAAC,EACA1B,EAAAxiI,SAAA,SAAAmkI,GACA,MAAAD,GAAAlkI,SAAAmkI,EAAA3B,IAGAA,EAhDA,GAAA4B,GAAAznI,EAAA,WAEAm6B,EAAAn6B,EAAA,UAEAP,GAAAyB,YAAA,CAEA,IAAAwmI,GAAA1nI,EAAA,GAEAm0F,EAAAszC,EAAAC,GAKAC,EAAA3nI,EAAA,IAEAmnI,EAAAhtG,EAAAwtG,GAEAC,EAAA5nI,EAAA,GAEAqnI,EAAAltG,EAAAytG,GAEAC,EAAA7nI,EAAA,GAEAuqC,EAAAk9F,EAAAI,GAEArB,EAAAxmI,EAAA,IAEAunI,EAAAE,EAAAjB,GAEAM,EAAA9mI,EAAA,IAEA+mI,EAAA5sG,EAAA2sG,GAoBAE,EAAAx1H,GACAw1H,GAAAx1H,SAEAu1H,EAAA,QAAAC,GAEAA,EAAA,QAAAA,EAEAvnI,EAAA,QAAAunI,EACAtnI,EAAAD,UAAA,SAIA,SAAAC,EAAAD,GAEA,YAEAA,GAAA,iBAAAiC,GACA,GAAAA,KAAAR,WACA,MAAAQ,EAEA,IAAAomI,KAEA,UAAApmI,EACA,OAAAuI,KAAAvI,GACAd,OAAAS,UAAAC,eAAAjB,KAAAqB,EAAAuI,KAAA69H,EAAA79H,GAAAvI,EAAAuI,GAKA,OADA69H,GAAA,QAAApmI,EACAomI,GAIAroI,EAAAyB,YAAA,GAIA,SAAAxB,EAAAD,EAAAO,GAEA,YA4CA,SAAAknI,GAAAznG,EAAAsoG,EAAAC,GACAloI,KAAA2/B,cACA3/B,KAAAioI,eACAjoI,KAAAkoI,iBAEAC,EAAAC,uBAAApoI,MACAqoI,EAAAC,0BAAAtoI,MAhDA,GAAAq6B,GAAAn6B,EAAA,UAEAP,GAAAyB,YAAA,EACAzB,EAAAynI,uBAEA,IAAAmB,GAAAroI,EAAA,GAEAsoI,EAAAtoI,EAAA,GAEAuoI,EAAApuG,EAAAmuG,GAEAL,EAAAjoI,EAAA,IAEAmoI,EAAAnoI,EAAA,IAEAwoI,EAAAxoI,EAAA,IAEAyoI,EAAAtuG,EAAAquG,GAEAE,EAAA1oI,EAAA,GAGAP,GAAA0lH,QADA,OAGA1lH,GAAAkpI,kBADA,CAIAlpI,GAAAmpI,kCAFA,CAGA,IAAAC,IACAC,EAAA,cACAC,EAAA,gBACAC,EAAA,gBACAC,EAAA,WACAC,EAAA,mBACAC,EAAA,kBACAC,EAAA,kBACAC,EAAA,WAGA5pI,GAAAopI,kBAYA3B,GAAA7lI,WACA6C,YAAAgjI,EAEAoC,OAAAb,EAAA,QACA18H,IAAA08H,EAAA,QAAA18H,IAEA89B,eAAA,SAAAppC,EAAAsE,GACA,GAlBA,oBAkBAsjI,EAAA39H,SAAArK,KAAAI,GAAA,CACA,GAAAsE,EACA,SAAAwjI,GAAA,kDAEAF,GAAAliI,OAAArG,KAAA2/B,QAAAh/B,OAEAX,MAAA2/B,QAAAh/B,GAAAsE,GAGAwkI,iBAAA,SAAA9oI,SACAX,MAAA2/B,QAAAh/B,IAGA+oI,gBAAA,SAAA/oI,EAAAksB,GACA,GAhCA,oBAgCA07G,EAAA39H,SAAArK,KAAAI,GACA4nI,EAAAliI,OAAArG,KAAAioI,SAAAtnI,OACM,CACN,YAAAksB,EACA,SAAA47G,GAAA,oDAAA9nI,EAAA,iBAEAX,MAAAioI,SAAAtnI,GAAAksB,IAGA88G,kBAAA,SAAAhpI,SACAX,MAAAioI,SAAAtnI,IAGAipI,kBAAA,SAAAjpI,EAAAsE,GACA,GA9CA,oBA8CAsjI,EAAA39H,SAAArK,KAAAI,GAAA,CACA,GAAAsE,EACA,SAAAwjI,GAAA,qDAEAF,GAAAliI,OAAArG,KAAAkoI,WAAAvnI,OAEAX,MAAAkoI,WAAAvnI,GAAAsE,GAGA4kI,oBAAA,SAAAlpI,SACAX,MAAAkoI,WAAAvnI,IAMAmpI,4BAAA,WACAlB,EAAAmB,yBAIA,IAAA99H,GAAA08H,EAAA,QAAA18H,GAEAtM,GAAAsM,MACAtM,EAAAqqI,YAAAzB,EAAAyB,YACArqI,EAAA6pI,OAAAb,EAAA,SAIA,SAAA/oI,EAAAD,GAEA,YAuBA,SAAAgsH,GAAAse,GACA,MAAA72H,GAAA62H,GAGA,QAAA5jI,GAAAzE,GACA,OAAAvB,GAAA,EAAkBA,EAAAiE,UAAAuB,OAAsBxF,IACxC,OAAA8J,KAAA7F,WAAAjE,GACAS,OAAAS,UAAAC,eAAAjB,KAAA+D,UAAAjE,GAAA8J,KACAvI,EAAAuI,GAAA7F,UAAAjE,GAAA8J,GAKA,OAAAvI,GA+BA,QAAAulB,GAAAk+B,EAAAhjD,GACA,OAAAhC,GAAA,EAAAk2D,EAAAlR,EAAAx/C,OAAsCxF,EAAAk2D,EAASl2D,IAC/C,GAAAglD,EAAAhlD,KAAAgC,EACA,MAAAhC,EAGA,UAGA,QAAAqqC,GAAA1gC,GACA,mBAAAA,GAAA,CAEA,GAAAA,KAAAkgI,OACA,MAAAlgI,GAAAkgI,QACM,UAAAlgI,EACN,QACM,KAAAA,EACN,MAAAA,GAAA,EAMAA,GAAA,GAAAA,EAGA,MAAAmgI,GAAAjhI,KAAAc,GAGAA,EAAAhB,QAAAohI,EAAAze,GAFA3hH,EAKA,QAAA8B,GAAAzJ,GACA,OAAAA,GAAA,IAAAA,MAEIwO,EAAAxO,IAAA,IAAAA,EAAAwD,QAOJ,QAAAmkI,GAAA3oI,GACA,GAAAgpI,GAAAhkI,KAAwBhF,EAExB,OADAgpI,GAAAC,QAAAjpI,EACAgpI,EAGA,QAAAE,GAAApkI,EAAAqkI,GAEA,MADArkI,GAAAkiC,KAAAmiG,EACArkI,EAGA,QAAAskI,GAAAC,EAAAjmI,GACA,OAAAimI,IAAA,QAAAjmI,EAvHA9E,EAAAyB,YAAA,EACAzB,EAAA0G,SACA1G,EAAAwnB,UACAxnB,EAAA+qC,mBACA/qC,EAAAmM,UACAnM,EAAAqqI,cACArqI,EAAA4qI,cACA5qI,EAAA8qI,mBACA,IAAAr3H,IACAi3G,IAAA,QACAC,IAAA,OACAlvB,IAAA,OACAmvB,IAAA,SACAC,IAAA,SACAC,IAAA,SACAkgB,IAAA,UAGAP,EAAA,aACAD,EAAA,YAkBAv/H,EAAA9J,OAAAS,UAAAqJ,QAEAjL,GAAAiL,UAIA,IAAA1H,GAAA,SAAAb,GACA,wBAAAA,GAIAa,GAAA,OACAvD,EAAAuD,aAAA,SAAAb,GACA,wBAAAA,IAAA,sBAAAuI,EAAArK,KAAA8B,KAGA1C,EAAAuD,YAKA,IAAA2N,GAAAlI,MAAAkI,SAAA,SAAAxO,GACA,SAAAA,GAAA,gBAAAA,KAAA,mBAAAuI,EAAArK,KAAA8B,GAGA1C,GAAAkR,WA8DA,SAAAjR,EAAAD,EAAAO,GAEA,YAOA,SAAAonI,GAAAhiI,EAAA0iF,GACA,GAAAjuE,GAAAiuE,KAAAjuE,IACA65C,MAAA3qD,GACA2hI,MAAA3hI,GACA4hI,MAAA5hI,GACA6hI,MAAA7hI,EAEA8Q,KACA65C,EAAA75C,EAAAiV,MAAA4kC,KACAg3E,EAAA7wH,EAAAo3D,IAAAvd,KACAi3E,EAAA9wH,EAAAiV,MAAA67G,OACAC,EAAA/wH,EAAAo3D,IAAA05D,OAEAvlI,GAAA,MAAAsuD,EAAA,IAAAi3E,EAMA,QAHAxlD,GAAA58E,MAAAlH,UAAA6C,YAAA7D,KAAAP,KAAAsF,GAGAmpD,EAAA,EAAoBA,EAAAs8E,EAAAllI,OAAyB4oD,IAC7CzuD,KAAA+qI,EAAAt8E,IAAA42B,EAAA0lD,EAAAt8E,GAIAhmD,OAAAuiI,mBACAviI,MAAAuiI,kBAAAhrI,KAAAsnI,EAGA,KACAvtH,IACA/Z,KAAAu0D,WAAAX,EACA5zD,KAAA4qI,gBAIAK,GACAnqI,OAAAC,eAAAf,KAAA,UACAqC,MAAAwoI,EACA5pI,YAAA,IAEAH,OAAAC,eAAAf,KAAA,aACAqC,MAAAyoI,EACA7pI,YAAA,MAGAjB,KAAA6qI,SACA7qI,KAAA8qI,cAGI,MAAAI,KAtDJ,GAAAD,GAAA/qI,EAAA,UAEAP,GAAAyB,YAAA,CACA,IAAA2pI,IAAA,wFAwDAzD,GAAA/lI,UAAA,GAAAkH,OAEA9I,EAAA,QAAA2nI,EACA1nI,EAAAD,UAAA,SAIA,SAAAC,EAAAD,EAAAO,GAEAN,EAAAD,SAAmBkC,QAAA3B,EAAA,GAAAkB,YAAA,IAInB,SAAAxB,EAAAD,EAAAO,GAEA,GAAAkV,GAAAlV,EAAA,EACAN,GAAAD,QAAA,SAAAgsD,EAAAxhD,EAAA2nE,GACA,MAAA18D,GAAAo/D,QAAA7oB,EAAAxhD,EAAA2nE,KAKA,SAAAlyE,EAAAD,GAEA,GAAAwrI,GAAArqI,MACAlB,GAAAD,SACA+R,OAAAy5H,EAAAz5H,OACA05H,SAAAD,EAAAhiE,eACA02D,UAAiBjmD,qBACjByxD,QAAAF,EAAApiE,yBACAyL,QAAA22D,EAAApqI,eACAuqI,SAAAH,EAAA5L,iBACAD,QAAA6L,EAAA7gI,KACAihI,SAAAJ,EAAAzzD,oBACAkoD,WAAAuL,EAAAxtD,sBACA3sE,QAAAmzB,UAKA,SAAAvkC,EAAAD,EAAAO,GAEA,YAoCA,SAAAkoI,GAAAxoD,GACA4rD,EAAA,QAAA5rD,GACA6rD,EAAA,QAAA7rD,GACA8rD,EAAA,QAAA9rD,GACA+rD,EAAA,QAAA/rD,GACAgsD,EAAA,QAAAhsD,GACAisD,EAAA,QAAAjsD,GACAksD,EAAA,QAAAlsD,GAGA,QAAAmsD,GAAAnsD,EAAAosD,EAAAC,GACArsD,EAAAjgD,QAAAqsG,KACApsD,EAAA33B,MAAA+jF,GAAApsD,EAAAjgD,QAAAqsG,GACAC,SACArsD,GAAAjgD,QAAAqsG,IAhDA,GAAA3xG,GAAAn6B,EAAA,UAEAP,GAAAyB,YAAA,EACAzB,EAAAyoI,yBACAzoI,EAAAosI,mBAEA,IAAAG,GAAAhsI,EAAA,IAEAsrI,EAAAnxG,EAAA6xG,GAEAC,EAAAjsI,EAAA,IAEAurI,EAAApxG,EAAA8xG,GAEAC,EAAAlsI,EAAA,IAEAwrI,EAAArxG,EAAA+xG,GAEAC,EAAAnsI,EAAA,IAEAyrI,EAAAtxG,EAAAgyG,GAEAC,EAAApsI,EAAA,IAEA0rI,EAAAvxG,EAAAiyG,GAEAC,EAAArsI,EAAA,IAEA2rI,EAAAxxG,EAAAkyG,GAEAC,EAAAtsI,EAAA,IAEA4rI,EAAAzxG,EAAAmyG,IAuBA,SAAA5sI,EAAAD,EAAAO,GAEA,YAEAP,GAAAyB,YAAA,CAEA,IAAAmnI,GAAAroI,EAAA,EAEAP,GAAA,iBAAAigF,GACAA,EAAA71C,eAAA,8BAAAhnC,EAAAwC,GACA,GAAAknI,GAAAlnI,EAAAknI,QACAxnI,EAAAM,EAAAN,EAEA,SAAAlC,EACA,MAAAkC,GAAAjF,KACM,SAAA+C,GAAA,MAAAA,EACN,MAAA0pI,GAAAzsI,KACM,IAAAuoI,EAAA13H,QAAA9N,GACN,MAAAA,GAAA8C,OAAA,GACAN,EAAAilI,MACAjlI,EAAAilI,KAAAjlI,EAAA5E,OAGAi/E,EAAAjgD,QAAA3uB,KAAAjO,EAAAwC,IAEAknI,EAAAzsI,KAGA,IAAAuF,EAAA9B,MAAA8B,EAAAilI,IAAA,CACA,GAAA/mI,GAAA8kI,EAAAyB,YAAAzkI,EAAA9B,KACAA,GAAAinI,YAAAnC,EAAAkC,kBAAAllI,EAAA9B,KAAAinI,YAAAnlI,EAAA5E,MACA4E,GAAoB9B,QAGpB,MAAAwB,GAAAlC,EAAAwC,MAKA3F,EAAAD,UAAA,SAIA,SAAAC,EAAAD,EAAAO,IAEA,SAAAkpD,GAA+C,YAE/C,IAAAsjF,GAAAxsI,EAAA,YAEAm6B,EAAAn6B,EAAA,UAEAP,GAAAyB,YAAA,CAEA,IAAAmnI,GAAAroI,EAAA,GAEAsoI,EAAAtoI,EAAA,GAEAuoI,EAAApuG,EAAAmuG,EAEA7oI,GAAA,iBAAAigF,GACAA,EAAA71C,eAAA,gBAAAhnC,EAAAwC,GAwBA,QAAAonI,GAAAvkH,EAAA8B,EAAA0hB,GACAnoC,IACAA,EAAA0G,IAAAie,EACA3kB,EAAAymB,QACAzmB,EAAAoO,MAAA,IAAAqY,EACAzmB,EAAAmoC,SAEA8+F,IACAjnI,EAAAinI,cAAAtiH,IAIA40D,GAAA/3E,EAAAlC,EAAAqlB,IACA3kB,OACA8mI,YAAAhC,EAAAgC,aAAAxnI,EAAAqlB,OAAAsiH,EAAAtiH,EAAA,SArCA,IAAA7iB,EACA,SAAAkjI,GAAA,sCAGA,IAAAxjI,GAAAM,EAAAN,GACAwnI,EAAAlnI,EAAAknI,QACApsI,EAAA,EACA28E,EAAA,GACAv5E,MAAAwF,GACAyhI,MAAAzhI,EAgCA,IA9BA1D,EAAA9B,MAAA8B,EAAAilI,MACAE,EAAAnC,EAAAkC,kBAAAllI,EAAA9B,KAAAinI,YAAAnlI,EAAAilI,IAAA,SAGAjC,EAAArlI,WAAAH,KACAA,IAAAxC,KAAAP,OAGAuF,EAAA9B,OACAA,EAAA8kI,EAAAyB,YAAAzkI,EAAA9B,OAqBAV,GAAA,gBAAAA,GACA,GAAAwlI,EAAA13H,QAAA9N,GACA,OAAAw+B,GAAAx+B,EAAA8C,OAAqCxF,EAAAkhC,EAAOlhC,IAC5CA,IAAA0C,IACA4pI,EAAAtsI,QAAA0C,EAAA8C,OAAA,OAGQ,IAAAujD,EAAAgF,QAAArrD,EAAAqmD,EAAAgF,OAAA6hB,UAAA,CAGR,OAFAiiB,MACAjiB,EAAAltE,EAAAqmD,EAAAgF,OAAA6hB,YACAtkB,EAAAskB,EAAAj6C,QAAuC21B,EAAA9zC,KAAU8zC,EAAAskB,EAAAj6C,OACjDk8D,EAAA1mF,KAAAmgD,EAAAtpD,MAEAU,GAAAmvF,CACA,QAAA3wD,GAAAx+B,EAAA8C,OAAqCxF,EAAAkhC,EAAOlhC,IAC5CssI,EAAAtsI,QAAA0C,EAAA8C,OAAA,QAGA,WACA,GAAA+mI,OAAA3jI,EAEAyjI,GAAA3pI,GAAAohC,QAAA,SAAAh6B,OAIAlB,KAAA2jI,GACAD,EAAAC,EAAAvsI,EAAA,GAEAusI,EAAAziI,EACA9J,UAEA4I,KAAA2jI,GACAD,EAAAC,EAAAvsI,EAAA,QAUA,OAJA,KAAAA,IACA28E,EAAAyvD,EAAAzsI,OAGAg9E,KAIAp9E,EAAAD,UAAA,UAC6BY,KAAAZ,EAAA,WAA4B,MAAAK,WAIzD,SAAAJ,EAAAD,EAAAO,GAEAN,EAAAD,SAAmBkC,QAAA3B,EAAA,IAAAkB,YAAA,IAInB,SAAAxB,EAAAD,EAAAO,GAEAA,EAAA,IACAN,EAAAD,QAAAO,EAAA,IAAAY,OAAAwJ,MAIA,SAAA1K,EAAAD,EAAAO,GAGA,GAAA8oE,GAAA9oE,EAAA,GAEAA,GAAA,oBAAA02E,GACA,gBAAAjrB,GACA,MAAAirB,GAAA5N,EAAArd,QAMA,SAAA/rD,EAAAD,EAAAO,GAGA,GAAAwyD,GAAAxyD,EAAA,GACAN,GAAAD,QAAA,SAAAgsD,GACA,MAAA7qD,QAAA4xD,EAAA/G,MAKA,SAAA/rD,EAAAD,GAGAC,EAAAD,QAAA,SAAAgsD,GACA,OAAA1iD,IAAA0iD,EAAA,KAAAxoB,WAAA,yBAAAwoB,EACA,OAAAA,KAKA,SAAA/rD,EAAAD,EAAAO,GAGA,GAAAqpD,GAAArpD,EAAA,IACAmpD,EAAAnpD,EAAA,IACAsnE,EAAAtnE,EAAA,GACAN,GAAAD,QAAA,SAAA8qE,EAAAloD,GACA,GAAAtd,IAAAokD,EAAAvoD,YAA+B2pE,IAAA3pE,OAAA2pE,GAC/B/gB,IACAA,GAAA+gB,GAAAloD,EAAAtd,GACAskD,IAAAS,EAAAT,EAAAK,EAAA4d,EAAA,WAAoDviE,EAAA,KAAS,SAAAykD,KAK7D,SAAA9pD,EAAAD,EAAAO,GAEA,GAAAkpD,GAAAlpD,EAAA,IACAmpD,EAAAnpD,EAAA,IACAo1C,EAAAp1C,EAAA,IAGAqpD,EAAA,SAAA75C,EAAA/O,EAAA6C,GACA,GAQA2G,GAAAq/C,EAAAC,EARAE,EAAAj6C,EAAA65C,EAAAK,EACAC,EAAAn6C,EAAA65C,EAAAO,EACAC,EAAAr6C,EAAA65C,EAAAS,EACAC,EAAAv6C,EAAA65C,EAAAW,EACAC,EAAAz6C,EAAA65C,EAAAa,EACA2Y,EAAArzD,EAAA65C,EAAAiB,EACA7qD,EAAAkqD,EAAAR,IAAA1oD,KAAA0oD,EAAA1oD,OACAiL,EAAAi+C,EAAAT,EAAAW,EAAAX,EAAAzoD,IAAAyoD,EAAAzoD,QAAsF,SAEtFkpD,KAAArmD,EAAA7C,EACA,KAAAwJ,IAAA3G,IAEAgmD,GAAAG,GAAA/9C,GAAAzB,IAAAyB,KACAzB,IAAAxK,KAEA8pD,EAAAD,EAAA59C,EAAAzB,GAAA3G,EAAA2G,GAEAxK,EAAAwK,GAAA0/C,GAAA,kBAAAj+C,GAAAzB,GAAA3G,EAAA2G,GAEAggD,GAAAX,EAAAlU,EAAAmU,EAAAL,GAEA2Z,GAAAn3D,EAAAzB,IAAAs/C,EAAA,SAAAuZ,GACA,GAAApZ,GAAA,SAAAzf,GACA,MAAAnqC,gBAAAgjE,GAAA,GAAAA,GAAA74B,GAAA64B,EAAA74B,GAGA,OADAyf,GAAA,UAAAoZ,EAAA,UACApZ,GAEMH,GAAAQ,GAAA,kBAAAR,GAAAnU,EAAAgV,SAAA/pD,KAAAkpD,KACNQ,KAAAtqD,EAAA,YAAAA,EAAA,eAAgEwK,GAAAs/C,IAIhEF,GAAAK,EAAA,EACAL,EAAAO,EAAA,EACAP,EAAAS,EAAA,EACAT,EAAAW,EAAA,EACAX,EAAAa,EAAA,GACAb,EAAAiB,EAAA,GACA5qD,EAAAD,QAAA4pD,GAIA,SAAA3pD,EAAAD,GAGA,GAAAypD,GAAAxpD,EAAAD,QAAA,mBAAA4H,gBAAAkmB,WACAlmB,OAAA,mBAAAxH,YAAA0tB,WAAA1tB,KAAAuqD,SAAA,gBACA,iBAAAwB,WAAA1C,IAIA,SAAAxpD,EAAAD,GAEA,GAAA0pD,GAAAzpD,EAAAD,SAA8BquD,QAAA,QAC9B,iBAAAC,WAAA5E,IAIA,SAAAzpD,EAAAD,EAAAO,GAGA,GAAAypE,GAAAzpE,EAAA,GACAN,GAAAD,QAAA,SAAAsF,EAAA02D,EAAA91D,GAEA,GADA8jE,EAAA1kE,OACAgE,KAAA0yD,EAAA,MAAA12D,EACA,QAAAY,GACA,uBAAAlD,GACA,MAAAsC,GAAA1E,KAAAo7D,EAAAh5D,GAEA,wBAAAA,EAAAsgE,GACA,MAAAh+D,GAAA1E,KAAAo7D,EAAAh5D,EAAAsgE,GAEA,wBAAAtgE,EAAAsgE,EAAAxiE,GACA,MAAAwE,GAAA1E,KAAAo7D,EAAAh5D,EAAAsgE,EAAAxiE,IAGA,kBACA,MAAAwE,GAAAZ,MAAAs3D,EAAAr3D,cAMA,SAAA1E,EAAAD,GAEAC,EAAAD,QAAA,SAAAgsD,GACA,qBAAAA,GAAA,KAAAxoB,WAAAwoB,EAAA,sBACA,OAAAA,KAKA,SAAA/rD,EAAAD,GAEAC,EAAAD,QAAA,SAAA4iB,GACA,IACA,QAAAA,IACI,MAAAzY,GACJ,YAMA,SAAAlK,EAAAD,EAAAO,GAEA,YAEA,IAAAm6B,GAAAn6B,EAAA,UAEAP,GAAAyB,YAAA,CAEA,IAAAonI,GAAAtoI,EAAA,GAEAuoI,EAAApuG,EAAAmuG,EAEA7oI,GAAA,iBAAAigF,GACAA,EAAA71C,eAAA,2BACA,OAAAzlC,UAAAuB,OAKA,SAAA4iI,GAAA,4BAAAnkI,oBAAAuB,OAAA,GAAAlF,KAAA,QAKAf,EAAAD,UAAA,SAIA,SAAAC,EAAAD,EAAAO,GAEA,YAEA,IAAAm6B,GAAAn6B,EAAA,UAEAP,GAAAyB,YAAA,CAEA,IAAAmnI,GAAAroI,EAAA,GAEAsoI,EAAAtoI,EAAA,GAEAuoI,EAAApuG,EAAAmuG,EAEA7oI,GAAA,iBAAAigF,GACAA,EAAA71C,eAAA,cAAA8iG,EAAAtnI,GACA,MAAAjB,UAAAuB,OACA,SAAA4iI,GAAA,4CASA,OAPAF,GAAArlI,WAAA2pI,KACAA,IAAAtsI,KAAAP,QAMAuF,EAAA0kC,KAAA6iG,cAAAD,GAAAtE,EAAAz8H,QAAA+gI,GACAtnI,EAAAknI,QAAAzsI,MAEAuF,EAAAN,GAAAjF,QAIA4/E,EAAA71C,eAAA,kBAAA8iG,EAAAtnI,GACA,MAAAjB,UAAAuB,OACA,SAAA4iI,GAAA,gDAEA,OAAA7oD,GAAAjgD,QAAA,GAAAp/B,KAAAP,KAAA6sI,GACA5nI,GAAAM,EAAAknI,QACAA,QAAAlnI,EAAAN,GACAglC,KAAA1kC,EAAA0kC,UAKArqC,EAAAD,UAAA,SAIA,SAAAC,EAAAD,GAEA,YAEAA,GAAAyB,YAAA,EAEAzB,EAAA,iBAAAigF,GACAA,EAAA71C,eAAA,iBAGA,OAFArhC,QAAAO,IACA1D,EAAAjB,oBAAAuB,OAAA,GACAxF,EAAA,EAAoBA,EAAAiE,UAAAuB,OAAA,EAA0BxF,IAC9CqI,EAAA8C,KAAAlH,UAAAjE,GAGA,IAAAgF,GAAA,CACA,OAAAE,EAAA0kC,KAAA5kC,MACAA,EAAAE,EAAA0kC,KAAA5kC,MACME,EAAA9B,MAAA,MAAA8B,EAAA9B,KAAA4B,QACNA,EAAAE,EAAA9B,KAAA4B,OAEAqD,EAAA,GAAArD,EAEAu6E,EAAA3zE,IAAA5H,MAAAu7E,EAAAl3E,MAIA9I,EAAAD,UAAA,SAIA,SAAAC,EAAAD,GAEA,YAEAA,GAAAyB,YAAA,EAEAzB,EAAA,iBAAAigF,GACAA,EAAA71C,eAAA,kBAAAnoC,EAAAwmB,EAAA7iB,GACA,MAAA3D,GAIA2D,EAAAwnI,eAAAnrI,EAAAwmB,GAFAxmB,KAMAhC,EAAAD,UAAA,SAIA,SAAAC,EAAAD,EAAAO,GAEA,YAEA,IAAAm6B,GAAAn6B,EAAA,UAEAP,GAAAyB,YAAA,CAEA,IAAAmnI,GAAAroI,EAAA,GAEAsoI,EAAAtoI,EAAA,GAEAuoI,EAAApuG,EAAAmuG,EAEA7oI,GAAA,iBAAAigF,GACAA,EAAA71C,eAAA,gBAAAhnC,EAAAwC,GACA,MAAAjB,UAAAuB,OACA,SAAA4iI,GAAA,8CAEAF,GAAArlI,WAAAH,KACAA,IAAAxC,KAAAP,MAGA,IAAAiF,GAAAM,EAAAN,EAEA,IAAAsjI,EAAAz8H,QAAA/I,GAYA,MAAAwC,GAAAknI,QAAAzsI,KAXA,IAAAyD,GAAA8B,EAAA9B,IAMA,OALA8B,GAAA9B,MAAA8B,EAAAilI,MACA/mI,EAAA8kI,EAAAyB,YAAAzkI,EAAA9B,MACAA,EAAAinI,YAAAnC,EAAAkC,kBAAAllI,EAAA9B,KAAAinI,YAAAnlI,EAAAilI,IAAA,KAGAvlI,EAAAlC,GACAU,OACA8mI,YAAAhC,EAAAgC,aAAAxnI,IAAAU,KAAAinI,mBAQA9qI,EAAAD,UAAA,SAIA,SAAAC,EAAAD,EAAAO,GAEA,YAWA,SAAAooI,GAAA1oD,GACAotD,EAAA,QAAAptD,GAVA,GAAAvlD,GAAAn6B,EAAA,UAEAP,GAAAyB,YAAA,EACAzB,EAAA2oI,2BAEA,IAAA2E,GAAA/sI,EAAA,IAEA8sI,EAAA3yG,EAAA4yG,IAQA,SAAArtI,EAAAD,EAAAO,GAEA,YAEAP,GAAAyB,YAAA,CAEA,IAAAmnI,GAAAroI,EAAA,EAEAP,GAAA,iBAAAigF,GACAA,EAAAgqD,kBAAA,kBAAA3kI,EAAAsa,EAAAuR,EAAAvrB,GACA,GAAAy3E,GAAA/3E,CAeA,OAdAsa,GAAA0oH,WACA1oH,EAAA0oH,YACAjrD,EAAA,SAAAj6E,EAAAwC,GAEA,GAAAsgE,GAAA/0C,EAAAm3G,QACAn3G,GAAAm3G,SAAAM,EAAAliI,UAA8Cw/D,EAAAtmD,EAAA0oH,SAC9C,IAAAjrD,GAAA/3E,EAAAlC,EAAAwC,EAEA,OADAurB,GAAAm3G,SAAApiE,EACAmX,IAIAz9D,EAAA0oH,SAAA1iI,EAAAmD,KAAA,IAAAnD,EAAAN,GAEA+3E,KAIAp9E,EAAAD,UAAA,SAIA,SAAAC,EAAAD,EAAAO,GAEA,YAEAP,GAAAyB,YAAA,CAEA,IAAAmnI,GAAAroI,EAAA,GAEAspI,GACA0D,WAAA,+BACA7nI,MAAA,OAGA8nI,YAAA,SAAA9nI,GACA,mBAAAA,GAAA,CACA,GAAA+nI,GAAA7E,EAAAphH,QAAAqiH,EAAA0D,UAAA7nI,EAAAu9B,cAEAv9B,GADA+nI,GAAA,EACAA,EAEAtiI,SAAAzF,EAAA,IAIA,MAAAA,IAIA4G,IAAA,SAAA5G,GAGA,GAFAA,EAAAmkI,EAAA2D,YAAA9nI,GAEA,mBAAA6G,UAAAs9H,EAAA2D,YAAA3D,EAAAnkI,UAAA,CACA,GAAAuP,GAAA40H,EAAA0D,UAAA7nI,EAEA6G,SAAA0I,KACAA,EAAA,MAGA,QAAA0jC,GAAAh0C,UAAAuB,OAAAP,EAAAqD,MAAA2vC,EAAA,EAAAA,EAAA,KAAA+0F,EAAA,EAA4FA,EAAA/0F,EAAa+0F,IACzG/nI,EAAA+nI,EAAA,GAAA/oI,UAAA+oI,KAQA1tI,GAAA,QAAA6pI,EACA5pI,EAAAD,UAAA,SAIA,SAAAC,EAAAD,EAAAO,GAEA,YAqBA,SAAAotI,GAAAC,GACA,GAAAC,GAAAC,EAAA,KACAD,GAAA,eACAA,EAAA,oBACAA,EAAA,oBACAA,EAAA,mBAEA,IAAAE,GAAAD,EAAA,KAIA,OAFAC,GAAA,cAGAvnG,YACAwnG,UAAAC,EAAAC,sBAAAH,EAAAH,EAAAO,wBACA9qI,aAAAuqI,EAAAQ,+BAEA16G,SACAs6G,UAAAC,EAAAC,sBAAAL,EAAAD,EAAAS,qBACAhrI,aAAAuqI,EAAAU,6BAKA,QAAAC,GAAAp5H,EAAAq5H,EAAA5nC,GACA,wBAAAzxF,GACAs5H,EAAAD,EAAA96G,QAAAkzE,GAEA6nC,EAAAD,EAAAhoG,WAAAogE,GAIA,QAAA6nC,GAAAC,EAAA9nC,GACA,WAAAt9F,KAAAolI,EAAAV,UAAApnC,IACA,IAAA8nC,EAAAV,UAAApnC,OAEAt9F,KAAAolI,EAAArrI,aACAqrI,EAAArrI,cAEAsrI,EAAA/nC,IACA,GAGA,QAAA+nC,GAAA/nC,IACA,IAAAgoC,EAAAhoC,KACAgoC,EAAAhoC,IAAA,EACAijC,EAAAv9H,IAAA,uEAAAs6F,EAAA,8OAIA,QAAAwjC,KACA2C,EAAA6B,GAAApqG,QAAA,SAAAoiE,SACAgoC,GAAAhoC,KAtEA,GAAAknC,GAAAvtI,EAAA,YAEAwsI,EAAAxsI,EAAA,YAEAynI,EAAAznI,EAAA,UAEAP,GAAAyB,YAAA,EACAzB,EAAA2tI,2BACA3tI,EAAAuuI,kBACAvuI,EAAAoqI,uBAEA,IAAA6D,GAAA1tI,EAAA,IAEAwoI,EAAAxoI,EAAA,IAEAspI,EAAA7B,EAAAe,GAEA6F,EAAAd,EAAA,OA2DA,SAAA7tI,EAAAD,EAAAO,GAEAN,EAAAD,SAAmBkC,QAAA3B,EAAA,IAAAkB,YAAA,IAInB,SAAAxB,EAAAD,EAAAO,GAEA,GAAAkV,GAAAlV,EAAA,EACAN,GAAAD,QAAA,SAAAuqD,EAAA+vB,GACA,MAAA7kE,GAAA1D,OAAAw4C,EAAA+vB,KAKA,SAAAr6E,EAAAD,EAAAO,GAEA,YAgBA,SAAA2tI,KACA,OAAAv1F,GAAAh0C,UAAAuB,OAAA2oI,EAAA7lI,MAAA2vC,GAAA+0F,EAAA,EAAqEA,EAAA/0F,EAAa+0F,IAClFmB,EAAAnB,GAAA/oI,UAAA+oI,EAGA,OAAA9E,GAAAliI,OAAAhC,UAAA4E,IAAAwkI,EAAA,OAAA/6F,OAAA87F,IAnBA,GAAAf,GAAAvtI,EAAA,WAEAP,GAAAyB,YAAA,EACAzB,EAAAkuI,uBAEA,IAAAtF,GAAAroI,EAAA,IAmBA,SAAAN,EAAAD,GAGA,YAGA,SAAAgrC,GAAA3gC,GACAhK,KAAAgK,SAFArK,EAAAyB,YAAA,EAKAupC,EAAAppC,UAAAqJ,SAAA+/B,EAAAppC,UAAA2oI,OAAA,WACA,SAAAlqI,KAAAgK,QAGArK,EAAA,QAAAgrC,EACA/qC,EAAAD,UAAA,SAIA,SAAAC,EAAAD,EAAAO,GAEA,YAkCA,SAAAuuI,GAAAC,GACA,GAAAC,GAAAD,KAAA,MACAE,EAAAC,EAAAhG,iBAEA,MAAA8F,GAAAE,EAAA/F,mCAAA6F,GAAAE,EAAAhG,mBAAA,CAIA,GAAA8F,EAAAE,EAAA/F,kCAAA,CACA,GAAAgG,GAAAD,EAAA9F,iBAAA6F,GACAG,EAAAF,EAAA9F,iBAAA4F,EACA,UAAAlG,GAAA,qJAAAqG,EAAA,oDAAAC,EAAA,MAGA,SAAAtG,GAAA,gJAAAiG,EAAA,UAIA,QAAAnrI,GAAAyrI,EAAAzzE,GAkBA,QAAA0zE,GAAApiH,EAAA9pB,EAAAwC,GACAA,EAAA0kC,OACAlnC,EAAA0nC,EAAApkC,UAAgCtD,EAAAwC,EAAA0kC,MAChC1kC,EAAAilI,MACAjlI,EAAAilI,IAAA,QAGA39G,EAAA0uC,EAAAisE,GAAA0H,eAAA3uI,KAAAP,KAAA6sB,EAAA9pB,EAAAwC,EAEA,IAAA4pI,GAAA1kG,EAAApkC,UAA0Cd,GAC1C0iD,MAAAjoD,KAAAioD,MACAkmF,mBAAAnuI,KAAAmuI,qBAGAr5H,EAAAymD,EAAAisE,GAAA4H,cAAA7uI,KAAAP,KAAA6sB,EAAA9pB,EAAAosI,EAMA,IAJA,MAAAr6H,GAAAymD,EAAA73D,UACA6B,EAAA0iI,SAAA1iI,EAAA5E,MAAA46D,EAAA73D,QAAAmpB,EAAAmiH,EAAAK,gBAAA9zE,GACAzmD,EAAAvP,EAAA0iI,SAAA1iI,EAAA5E,MAAAoC,EAAAosI,IAEA,MAAAr6H,EAAA,CACA,GAAAvP,EAAA+pI,OAAA,CAEA,OADA57E,GAAA5+C,EAAAvL,MAAA,MACAlJ,EAAA,EAAAC,EAAAozD,EAAA7tD,OAA0CxF,EAAAC,IAC1CozD,EAAArzD,MAAA,IAAAC,GADiDD,IAKjDqzD,EAAArzD,GAAAkF,EAAA+pI,OAAA57E,EAAArzD,EAEAyU,GAAA4+C,EAAAjqD,KAAA,MAEA,MAAAqL,GAEA,SAAA2zH,GAAA,uBAAAljI,EAAA5E,KAAA,4DAoFA,QAAAq8E,GAAAj6E,GAmBA,QAAAwsI,GAAAxsI,GACA,SAAAisI,EAAAO,KAAAz+G,EAAA/tB,EAAA+tB,EAAA6O,QAAA7O,EAAAm3G,SAAAxkI,EAAA8mI,EAAAiF,GAnBA,GAAAjqI,GAAAjB,UAAAuB,QAAA,OAAAoD,KAAA3E,UAAA,MAA2EA,UAAA,GAE3Eb,EAAA8B,EAAA9B,IAEAu5E,GAAAyyD,OAAAlqI,IACAA,EAAAsnB,SAAAmiH,EAAAU,UACAjsI,EAAAksI,EAAA5sI,EAAAU,GAEA,IAAA+rI,OAAAvmI,GACAshI,EAAAyE,EAAAY,sBAAA3mI,EAcA,OAbA+lI,GAAAa,YAEAL,EADAjqI,EAAAiqI,OACAzsI,GAAAwC,EAAAiqI,OAAA,IAAAzsI,GAAA2vC,OAAAntC,EAAAiqI,QAAAjqI,EAAAiqI,QAEAzsI,KAQAwsI,EAAAO,EAAAd,EAAAO,OAAAz+G,EAAAvrB,EAAAiqI,WAAA/rI,EAAA8mI,IACAxnI,EAAAwC,GA9JA,IAAAg2D,EACA,SAAAktE,GAAA,4CAEA,KAAAuG,MAAAO,KACA,SAAA9G,GAAA,0CAAAuG,GAGAA,GAAAO,KAAAQ,UAAAf,EAAAgB,OAIAz0E,EAAAisE,GAAAiH,cAAAO,EAAAiB,SAGA,IAAAC,GAAAlB,EAAAiB,UAAA,IAAAjB,EAAAiB,SAAA,GAyCAn/G,GACAw2F,OAAA,SAAA1lH,EAAAjB,EAAAoZ,GACA,KAAAnY,GAAAjB,IAAAiB,IACA,SAAA6mI,GAAA,YAAA9nI,EAAA,oBAAAiB,GACAmY,OAGA,OAAAnY,GAAAjB,IAEAosI,eAAA,SAAA72H,EAAAqwF,GACA,GAAAzxF,GAAAoB,EAAAqwF,EACA,cAAAzxF,EACAA,EAEAhU,OAAAS,UAAAC,eAAAjB,KAAA2V,EAAAqwF,GACAzxF,EAGA8zH,EAAAsF,gBAAAp5H,EAAAgc,EAAAq9G,mBAAA5nC,GACAzxF,MADA,IAKAq7H,OAAA,SAAAX,EAAA7uI,GAEA,OADA41D,GAAAi5E,EAAA3pI,OACAxF,EAAA,EAAsBA,EAAAk2D,EAASl2D,IAAA,CAE/B,UADAmvI,EAAAnvI,IAAAywB,EAAAi8G,eAAAyC,EAAAnvI,GAAAM,IAEA,MAAA6uI,GAAAnvI,GAAAM,KAIAyvI,OAAA,SAAA92E,EAAAv2D,GACA,wBAAAu2D,KAAA/4D,KAAAwC,GAAAu2D,GAGA5uB,iBAAAD,EAAAC,iBACA0kG,cAAAH,EAEAhqI,GAAA,SAAA5E,GACA,GAAA28E,GAAAgyD,EAAA3uI,EAEA,OADA28E,GAAA+yD,UAAAf,EAAA3uI,EAAA,MACA28E,GAGAqzD,YACAC,QAAA,SAAAjwI,EAAAoD,EAAA8sI,EAAAhG,EAAAiF,GACA,GAAAgB,GAAAxwI,KAAAqwI,SAAAhwI,GACA4E,EAAAjF,KAAAiF,GAAA5E,EAMA,OALAoD,IAAA+rI,GAAAjF,GAAAgG,EACAC,EAAAC,EAAAzwI,KAAAK,EAAA4E,EAAAxB,EAAA8sI,EAAAhG,EAAAiF,GACQgB,IACRA,EAAAxwI,KAAAqwI,SAAAhwI,GAAAowI,EAAAzwI,KAAAK,EAAA4E,IAEAurI,GAGA/sI,KAAA,SAAApB,EAAA0tG,GACA,KAAA1tG,GAAA0tG,KACA1tG,IAAAioI,OAEA,OAAAjoI,IAEAquI,cAAA,SAAAvmG,EAAAq1C,GACA,GAAA59E,GAAAuoC,GAAAq1C,CAMA,OAJAr1C,IAAAq1C,GAAAr1C,IAAAq1C,IACA59E,EAAA6oC,EAAApkC,UAA8Bm5E,EAAAr1C,IAG9BvoC,GAGA+uI,YAAAC,MAEA3/G,KAAAsqC,EAAAisE,GAAAv2G,KACAy9G,aAAAM,EAAAiB,SAuEA,OAzCAjzD,GAAA6zD,OAAA,EAEA7zD,EAAAyyD,OAAA,SAAAlqI,GACA,GAAAA,EAAAsnB,QAoBAiE,EAAAq9G,mBAAA5oI,EAAA4oI,mBACAr9G,EAAA6O,QAAAp6B,EAAAo6B,QACA7O,EAAAm3G,SAAA1iI,EAAA0iI,SACAn3G,EAAAo3G,WAAA3iI,EAAA2iI,WACAp3G,EAAAm3B,MAAA1iD,EAAA0iD,UAxBA,CACA,GAAA6oF,GAAArmG,EAAApkC,UAA0Ck1D,EAAA57B,QAAAp6B,EAAAo6B,QAC1CoxG,GAAAD,EAAAhgH,GACAA,EAAA6O,QAAAmxG,EAEA9B,EAAAgC,aAEAlgH,EAAAm3G,SAAAn3G,EAAA4/G,cAAAnrI,EAAA0iI,SAAA1sE,EAAA0sE,YAEA+G,EAAAgC,YAAAhC,EAAAiC,iBACAngH,EAAAo3G,WAAAz9F,EAAApkC,UAA+Ck1D,EAAA2sE,WAAA3iI,EAAA2iI,aAG/Cp3G,EAAAm3B,SACAn3B,EAAAq9G,mBAAAvF,EAAA0E,yBAAA/nI,EAEA,IAAA2rI,GAAA3rI,EAAA4rI,2BAAAjB,CACA/H,GAAA4D,kBAAAj7G,EAAA,gBAAAogH,GACA/I,EAAA4D,kBAAAj7G,EAAA,qBAAAogH,KAUAl0D,EAAAo0D,OAAA,SAAA/wI,EAAAoD,EAAA8mI,EAAAiF,GACA,GAAAR,EAAAY,iBAAArF,EACA,SAAA9B,GAAA,iCAEA,IAAAuG,EAAAa,YAAAL,EACA,SAAA/G,GAAA,kCAGA,OAAAgI,GAAA3/G,EAAAzwB,EAAA2uI,EAAA3uI,GAAAoD,EAAA,EAAA8mI,EAAAiF,IAEAxyD,EAGA,QAAAyzD,GAAA3/G,EAAAzwB,EAAA4E,EAAAxB,EAAA8sI,EAAAhG,EAAAiF,GACA,QAAA6B,GAAAtuI,GACA,GAAAwC,GAAAjB,UAAAuB,QAAA,OAAAoD,KAAA3E,UAAA,MAA2EA,UAAA,GAE3EgtI,EAAA9B,CAKA,QAJAA,GAAAzsI,GAAAysI,EAAA,IAAAzsI,IAAA+tB,EAAA6/G,aAAA,OAAAnB,EAAA,KACA8B,GAAAvuI,GAAA2vC,OAAA88F,IAGAvqI,EAAA6rB,EAAA/tB,EAAA+tB,EAAA6O,QAAA7O,EAAAm3G,SAAA1iI,EAAA9B,QAAA8mI,IAAAhlI,EAAAglI,aAAA73F,OAAA63F,GAAA+G,GAQA,MALAD,GAAAvB,EAAA7qI,EAAAosI,EAAAvgH,EAAA0+G,EAAA/rI,EAAA8mI,GAEA8G,EAAAf,QAAAjwI,EACAgxI,EAAAthC,MAAAy/B,IAAA3pI,OAAA,EACAwrI,EAAA9G,YAAAgG,GAAA,EACAc,EAOA,QAAAnC,GAAAriH,EAAA9pB,EAAAwC,GAYA,MAXAsnB,GAMIA,EAAAtsB,MAAAgF,EAAA5E,OAEJ4E,EAAA5E,KAAAksB,EACAA,EAAAtnB,EAAA0iI,SAAAp7G,IAPAA,EADA,mBAAAtnB,EAAA5E,KACA4E,EAAA9B,KAAA,iBAEA8B,EAAA0iI,SAAA1iI,EAAA5E,MAOAksB,EAGA,QAAAuiH,GAAAviH,EAAA9pB,EAAAwC,GAEA,GAAAgsI,GAAAhsI,EAAA9B,MAAA8B,EAAA9B,KAAA,gBACA8B,GAAAsnB,SAAA,EACAtnB,EAAAilI,MACAjlI,EAAA9B,KAAAinI,YAAAnlI,EAAAilI,IAAA,IAAAjlI,EAAA9B,KAAAinI,YAGA,IAAA8G,OAAAvoI,EAyBA,IAxBA1D,EAAAN,IAAAM,EAAAN,KAAAgsB,GACA,WACA1rB,EAAA9B,KAAAorI,EAAA7E,YAAAzkI,EAAA9B,KAEA,IAAAwB,GAAAM,EAAAN,EACAusI,GAAAjsI,EAAA9B,KAAA,0BAAAV,GACA,GAAAwC,GAAAjB,UAAAuB,QAAA,OAAAoD,KAAA3E,UAAA,MAA+EA,UAAA,EAM/E,OAFAiB,GAAA9B,KAAAorI,EAAA7E,YAAAzkI,EAAA9B,MACA8B,EAAA9B,KAAA,iBAAA8tI,EACAtsI,EAAAlC,EAAAwC,IAEAN,EAAAgjI,WACA1iI,EAAA0iI,SAAAx9F,EAAApkC,UAA2Cd,EAAA0iI,SAAAhjI,EAAAgjI,kBAK3Ch/H,KAAA4jB,GAAA2kH,IACA3kH,EAAA2kH,OAGAvoI,KAAA4jB,EACA,SAAA47G,GAAA,uBAAAljI,EAAA5E,KAAA,sBACI,IAAAksB,YAAAy9B,UACJ,MAAAz9B,GAAA9pB,EAAAwC,GAIA,QAAA0rB,KACA,SAGA,QAAA0+G,GAAA5sI,EAAAU,GAKA,MAJAA,IAAA,QAAAA,KACAA,IAAAorI,EAAA7E,YAAAvmI,MACAA,EAAAhE,KAAAsD,GAEAU,EAGA,QAAAqsI,GAAA7qI,EAAAosI,EAAAvgH,EAAA0+G,EAAA/rI,EAAA8mI,GACA,GAAAtlI,EAAA8qI,UAAA,CACA,GAAAxwH,KACA8xH,GAAApsI,EAAA8qI,UAAAsB,EAAA9xH,EAAAuR,EAAA0+G,KAAA,GAAA/rI,EAAA8mI,EAAAiF,GACA/kG,EAAApkC,OAAAgrI,EAAA9xH,GAEA,MAAA8xH,GAGA,QAAAN,GAAAD,EAAAhgH,GACA47G,EAAAoE,GAAA3sG,QAAA,SAAA6nG,GACA,GAAAyF,GAAAX,EAAA9E,EACA8E,GAAA9E,GAAA0F,EAAAD,EAAA3gH,KAIA,QAAA4gH,GAAAD,EAAA3gH,GACA,GAAAi8G,GAAAj8G,EAAAi8G,cACA,OAAA4E,GAAAC,WAAAH,EAAA,SAAAlsI,GACA,MAAAklC,GAAApkC,QAA0B0mI,kBAAiCxnI,KA/W3D,GAAAqrI,GAAA1wI,EAAA,YAEAwsI,EAAAxsI,EAAA,YAEAynI,EAAAznI,EAAA,WAEAm6B,EAAAn6B,EAAA,UAEAP,GAAAyB,YAAA,EACAzB,EAAA8uI,gBACA9uI,EAAA4D,WACA5D,EAAA8wI,cACA9wI,EAAAuvI,iBACAvvI,EAAAyvI,gBACAzvI,EAAAsxB,MAEA,IAAAs3G,GAAAroI,EAAA,GAEAuqC,EAAAk9F,EAAAY,GAEAC,EAAAtoI,EAAA,GAEAuoI,EAAApuG,EAAAmuG,GAEAqG,EAAA3uI,EAAA,GAEAioI,EAAAjoI,EAAA,IAEAyxI,EAAAzxI,EAAA,IAEA0oI,EAAA1oI,EAAA,KAuVA,SAAAN,EAAAD,EAAAO,GAEAN,EAAAD,SAAmBkC,QAAA3B,EAAA,IAAAkB,YAAA,IAInB,SAAAxB,EAAAD,EAAAO,GAEAA,EAAA,IACAN,EAAAD,QAAAO,EAAA,IAAAY,OAAA+wI,MAIA,SAAAjyI,EAAAD,EAAAO,GAGA,GAAA+C,GAAA/C,EAAA,GAEAA,GAAA,oBAAA4xI,GACA,gBAAAnmF,GACA,MAAAmmF,IAAA7uI,EAAA0oD,GAAAmmF,EAAAnmF,SAMA,SAAA/rD,EAAAD,GAEAC,EAAAD,QAAA,SAAAgsD,GACA,sBAAAA,GAAA,OAAAA,EAAA,kBAAAA,KAKA,SAAA/rD,EAAAD,GAEA,YAKA,SAAAiyI,GAAAH,EAAAM,GACA,wBAAAN,GAGAA,EAEA,WACA,GAAAlsI,GAAAjB,oBAAAuB,OAAA,EAEA,OADAvB,qBAAAuB,OAAA,GAAAksI,EAAAxsI,GACAksI,EAAAptI,MAAArE,KAAAsE,YAZA3E,EAAAyB,YAAA,EACAzB,EAAAiyI,cAkBA,SAAAhyI,EAAAD,IAEA,SAAAypD,GAA+C,YAE/CzpD,GAAAyB,YAAA,EAEAzB,EAAA,iBAAA++B,GAEA,GAAAj/B,OAAA,KAAA2pD,IAAA7hD,OACAyqI,EAAAvyI,EAAAi/B,UAEAA,GAAA97B,WAAA,WAIA,MAHAnD,GAAAi/B,iBACAj/B,EAAAi/B,WAAAszG,GAEAtzG,IAIA9+B,EAAAD,UAAA,UAC6BY,KAAAZ,EAAA,WAA4B,MAAAK,WAIzD,SAAAJ,EAAAD,GAEA,YAEAA,GAAAyB,YAAA,CACA,IAAA8kI,IAEAvmG,SAIAsyG,iBAAA,SAAAjqD,GACA,wBAAAA,EAAAt4E,OAAA,sBAAAs4E,EAAAt4E,MAAA,mBAAAs4E,EAAAt4E,UAAAs4E,EAAA7hF,QAAA6hF,EAAA7hF,OAAAN,QAAAmiF,EAAA/9C,OAGAioG,SAAA,SAAA7pG,GACA,mBAAAn/B,KAAAm/B,EAAAw9B,WAMAssE,SAAA,SAAA9pG,GACA,WAAAA,EAAArH,MAAAn7B,SAAAqgI,EAAAvmG,QAAAuyG,SAAA7pG,OAAA0nE,QAOApwG,GAAA,QAAAumI,EACAtmI,EAAAD,UAAA,SAIA,SAAAC,EAAAD,EAAAO,GAEA,YA6BA,SAAAumI,GAAA71H,EAAArL,GAEA,kBAAAqL,EAAAlB,KACAkB,GAGAwhI,EAAA,QAAAC,KAGAA,EAAAC,QAAA,SAAAA,GACA,UAAAD,GAAAE,eAAAhtI,KAAAitI,QAAAF,IAGAF,EAAA,QAAA9qI,MAAAsJ,IAKA,QAAAtJ,GAAAsJ,EAAArL,GACA,GAAAktI,GAAAhM,EAAA71H,EAAArL,EAGA,OAFA,IAAAmtI,GAAA,QAAAntI,GAEAy2E,OAAAy2D,GAjDA,GAAAp4G,GAAAn6B,EAAA,WAEAynI,EAAAznI,EAAA,UAEAP,GAAAyB,YAAA,EACAzB,EAAA8mI,yBACA9mI,EAAA2H,OAEA,IAAAqrI,GAAAzyI,EAAA,IAEAkyI,EAAA/3G,EAAAs4G,GAEAC,EAAA1yI,EAAA,IAEAwyI,EAAAr4G,EAAAu4G,GAEAzK,EAAAjoI,EAAA,IAEA2yI,EAAAlL,EAAAQ,GAEAI,EAAAroI,EAAA,EAEAP,GAAAs5C,OAAAm5F,EAAA,OAEA,IAAAC,KACA9J,GAAAliI,OAAAgsI,EAAAQ,IA6BA,SAAAjzI,EAAAD,GAIA,YAEAA,GAAAyB,YAAA,CACA,IAAA0xI,GAAA,WAqtBA,QAAAvM,KACAvmI,KAAAqyI,MArtBA,GAAAp5F,IAAmB5sC,MAAA,aACnBgmI,MACAU,UAAoBjmI,MAAA,EAAArN,KAAA,EAAA6wI,QAAA,EAAA0C,IAAA,EAAAC,oBAAA,EAAAC,UAAA,EAAAC,SAAA,EAAAC,MAAA,EAAAC,SAAA,GAAAxmH,QAAA,GAAA2kH,aAAA,GAAA56H,QAAA,GAAA08H,QAAA,GAAAC,QAAA,GAAAC,aAAA,GAAAC,qBAAA,GAAAC,cAAA,GAAAC,eAAA,GAAA3H,WAAA,GAAA4H,yBAAA,GAAAC,qBAAA,GAAAC,gBAAA,GAAAC,UAAA,GAAAC,cAAA,GAAAC,WAAA,GAAAC,YAAA,GAAAC,cAAA,GAAAC,WAAA,GAAAC,sBAAA,GAAAC,kBAAA,GAAAC,kBAAA,GAAAC,MAAA,GAAAC,aAAA,GAAAC,wBAAA,GAAAC,oBAAA,GAAAC,oBAAA,GAAAC,iBAAA,GAAAC,mBAAA,GAAAC,6BAAA,GAAAC,yBAAA,GAAAC,yBAAA,GAAAC,kBAAA,GAAAC,QAAA,GAAAC,aAAA,GAAAC,qBAAA,GAAAC,cAAA,GAAAC,KAAA,GAAAC,qBAAA,GAAAC,iBAAA,GAAAC,eAAA,GAAAC,qBAAA,GAAAC,iBAAA,GAAAC,gBAAA,GAAAC,aAAA,GAAAC,YAAA,GAAAC,oBAAA,GAAAC,gBAAA,GAAAC,iBAAA,GAAAC,mBAAA,GAAAC,6BAAA,GAAAC,yBAAA,GAAAlsG,MAAA,GAAAmsG,MAAA,GAAAC,WAAA,GAAAC,kBAAA,GAAAC,cAAA,GAAAC,YAAA,GAAAzsG,KAAA,GAAA0sG,sBAAA,GAAAC,YAAA,GAAAp+C,GAAA,GAAAq+C,OAAA,GAAAtM,YAAA,GAAAuM,kBAAA,GAAAC,6BAAA,GAAAC,mBAAA,GAAA3uG,KAAA,GAAA4uG,SAAA,GAAAh9H,OAAA,GAAAC,OAAA,GAAAE,QAAA,GAAA88H,UAAA,GAAAC,KAAA,GAAAC,KAAA,GAAAC,aAAA,GAAAC,IAAA,GAAAC,QAAA,EAAAC,KAAA,GACpBC,YAAsBxO,EAAA,QAAAG,EAAA,MAAAsO,GAAA,UAAAC,GAAA,UAAAC,GAAA,gBAAAC,GAAA,iBAAAC,GAAA,kBAAAC,GAAA,aAAAC,GAAA,QAAAC,GAAA,eAAAC,GAAA,qBAAAC,GAAA,UAAAC,GAAA,gBAAAC,GAAA,OAAAC,GAAA,iBAAAC,GAAA,kBAAAC,GAAA,eAAAC,GAAA,qBAAAC,GAAA,aAAAC,GAAA,cAAAC,GAAA,KAAAC,GAAA,SAAAC,GAAA,oBAAAC,GAAA,qBAAAC,GAAA,SAAAC,GAAA,SAAAC,GAAA,UAAAC,GAAA,YAAAC,GAAA,OAAAC,GAAA,OAAAC,GAAA,OACtBC,cAAA,urBACAC,cAAA,SAAAC,EAAAC,EAAAC,EAAAtH,EAAAuH,EAAAC,EAAA/iC,GAEA,GAAAgjC,GAAAD,EAAAh0I,OAAA,CACA,QAAA+zI,GACA,OACA,MAAAC,GAAAC,EAAA,EAEA,QACA95I,KAAAoV,EAAAi9H,EAAA0H,eAAAF,EAAAC,GACA,MACA,QAGA,OAGA,OAGA,OAGA,OAGA,OACA95I,KAAAoV,EAAAykI,EAAAC,EACA,MACA,QACA95I,KAAAoV,GACA1F,KAAA,mBACArN,MAAAgwI,EAAA2H,aAAAH,EAAAC,IACAG,MAAA5H,EAAA6H,WAAAL,EAAAC,GAAAD,EAAAC,IACA//H,IAAAs4H,EAAAC,QAAAtyI,KAAA82G,IAGA,MACA,SACA92G,KAAAoV,GACA1F,KAAA,mBACAm2D,SAAAg0E,EAAAC,GACAz3I,MAAAw3I,EAAAC,GACA//H,IAAAs4H,EAAAC,QAAAtyI,KAAA82G,IAGA,MACA,SACA92G,KAAAoV,EAAAi9H,EAAA8H,gBAAAN,EAAAC,EAAA,GAAAD,EAAAC,EAAA,GAAAD,EAAAC,GAAA95I,KAAA82G,GACA,MACA,SACA92G,KAAAoV,GAA+BizB,KAAAwxG,EAAAC,EAAA,GAAA3zI,OAAA0zI,EAAAC,EAAA,GAAA7vG,KAAA4vG,EAAAC,EAAA,GAC/B,MACA,SACA95I,KAAAoV,EAAAi9H,EAAA+H,aAAAP,EAAAC,EAAA,GAAAD,EAAAC,EAAA,GAAAD,EAAAC,EAAA,GAAAD,EAAAC,IAAA,EAAA95I,KAAA82G,GACA,MACA,SACA92G,KAAAoV,EAAAi9H,EAAA+H,aAAAP,EAAAC,EAAA,GAAAD,EAAAC,EAAA,GAAAD,EAAAC,EAAA,GAAAD,EAAAC,IAAA,EAAA95I,KAAA82G,GACA,MACA,SACA92G,KAAAoV,GAA+BiiE,KAAAwiE,EAAAC,EAAA,GAAAzxG,KAAAwxG,EAAAC,EAAA,GAAA3zI,OAAA0zI,EAAAC,EAAA,GAAA7vG,KAAA4vG,EAAAC,EAAA,GAAAvP,YAAAsP,EAAAC,EAAA,GAAAG,MAAA5H,EAAA6H,WAAAL,EAAAC,EAAA,GAAAD,EAAAC,IAC/B,MACA,SAGA,QACA95I,KAAAoV,GAA+BizB,KAAAwxG,EAAAC,EAAA,GAAA3zI,OAAA0zI,EAAAC,EAAA,GAAA7vG,KAAA4vG,EAAAC,EAAA,GAAAvP,YAAAsP,EAAAC,EAAA,GAAAG,MAAA5H,EAAA6H,WAAAL,EAAAC,EAAA,GAAAD,EAAAC,IAC/B,MACA,SACA95I,KAAAoV,GAA+B6kI,MAAA5H,EAAA6H,WAAAL,EAAAC,EAAA,GAAAD,EAAAC,EAAA,IAAAxJ,QAAAuJ,EAAAC,GAC/B,MACA,SACA,GAAArN,GAAA4F,EAAA+H,aAAAP,EAAAC,EAAA,GAAAD,EAAAC,EAAA,GAAAD,EAAAC,GAAAD,EAAAC,IAAA,EAAA95I,KAAA82G,IACAw5B,EAAA+B,EAAA0H,gBAAAtN,GAAAoN,EAAAC,EAAA,GAAA//H,IACAu2H,GAAA+J,SAAA,EAEAr6I,KAAAoV,GAA+B6kI,MAAAJ,EAAAC,EAAA,GAAAG,MAAA3J,UAAAvjH,OAAA,EAE/B,MACA,SACA/sB,KAAAoV,EAAAykI,EAAAC,EACA,MACA,SACA95I,KAAAoV,GAA+BizB,KAAAwxG,EAAAC,EAAA,GAAAG,MAAA5H,EAAA6H,WAAAL,EAAAC,EAAA,GAAAD,EAAAC,IAC/B,MACA,SAGA,QACA95I,KAAAoV,EAAAi9H,EAAAiI,gBAAAT,EAAAC,EAAA,GAAAD,EAAAC,EAAA,GAAAD,EAAAC,EAAA,GAAAD,EAAAC,EAAA,GAAAzH,EAAA6H,WAAAL,EAAAC,EAAA,GAAAD,EAAAC,IAAA95I,KAAA82G,GACA,MACA,SACA92G,KAAAoV,GACA1F,KAAA,mBACA/O,KAAAk5I,EAAAC,EAAA,GACA3zI,OAAA0zI,EAAAC,EAAA,GACA7vG,KAAA4vG,EAAAC,EAAA,GACAxK,OAAA,GACA2K,MAAA5H,EAAA6H,WAAAL,EAAAC,EAAA,GAAAD,EAAAC,IACA//H,IAAAs4H,EAAAC,QAAAtyI,KAAA82G,IAGA,MACA,SACA92G,KAAAoV,EAAAi9H,EAAAkI,oBAAAV,EAAAC,EAAA,GAAAD,EAAAC,EAAA,GAAAD,EAAAC,GAAA95I,KAAA82G,GACA,MACA,SACA92G,KAAAoV,GAA+BizB,KAAAwxG,EAAAC,EAAA,GAAA3zI,OAAA0zI,EAAAC,EAAA,GAAA7vG,KAAA4vG,EAAAC,EAAA,GAAAG,MAAA5H,EAAA6H,WAAAL,EAAAC,EAAA,GAAAD,EAAAC,IAC/B,MACA,SAGA,QACA95I,KAAAoV,EAAAykI,EAAAC,EACA,MACA,SACA95I,KAAAoV,GACA1F,KAAA,gBACA24B,KAAAwxG,EAAAC,EAAA,GACA3zI,OAAA0zI,EAAAC,EAAA,GACA7vG,KAAA4vG,EAAAC,EAAA,GACA//H,IAAAs4H,EAAAC,QAAAtyI,KAAA82G,IAGA,MACA,SACA92G,KAAAoV,GAA+B1F,KAAA,OAAArG,MAAAwwI,EAAAC,GAAA//H,IAAAs4H,EAAAC,QAAAtyI,KAAA82G,IAC/B,MACA,SACA92G,KAAAoV,GAA+B1F,KAAA,WAAAvF,IAAAkoI,EAAA5tI,GAAAo1I,EAAAC,EAAA,IAAAz3I,MAAAw3I,EAAAC,GAAA//H,IAAAs4H,EAAAC,QAAAtyI,KAAA82G,IAC/B,MACA,SACA92G,KAAAoV,EAAAi9H,EAAA5tI,GAAAo1I,EAAAC,EAAA,GACA,MACA,SAGA,QACA95I,KAAAoV,EAAAykI,EAAAC,EACA,MACA,SACA95I,KAAAoV,GAA+B1F,KAAA,gBAAArN,MAAAw3I,EAAAC,GAAAj0E,SAAAg0E,EAAAC,GAAA//H,IAAAs4H,EAAAC,QAAAtyI,KAAA82G,IAC/B,MACA,SACA92G,KAAAoV,GAA+B1F,KAAA,gBAAArN,MAAA6xD,OAAA2lF,EAAAC,IAAAj0E,SAAA3R,OAAA2lF,EAAAC,IAAA//H,IAAAs4H,EAAAC,QAAAtyI,KAAA82G,IAC/B,MACA,SACA92G,KAAAoV,GAA+B1F,KAAA,iBAAArN,MAAA,SAAAw3I,EAAAC,GAAAj0E,SAAA,SAAAg0E,EAAAC,GAAA//H,IAAAs4H,EAAAC,QAAAtyI,KAAA82G,IAC/B,MACA,SACA92G,KAAAoV,GAA+B1F,KAAA,mBAAAm2D,aAAA58D,GAAA5G,UAAA4G,GAAA8Q,IAAAs4H,EAAAC,QAAAtyI,KAAA82G,IAC/B,MACA,SACA92G,KAAAoV,GAA+B1F,KAAA,cAAAm2D,SAAA,KAAAxjE,MAAA,KAAA0X,IAAAs4H,EAAAC,QAAAtyI,KAAA82G,IAC/B,MACA,SAGA,QACA92G,KAAAoV,EAAAykI,EAAAC,EACA,MACA,SACA95I,KAAAoV,EAAAi9H,EAAAmI,aAAA,EAAAX,EAAAC,GAAA95I,KAAA82G,GACA,MACA,SACA92G,KAAAoV,EAAAi9H,EAAAmI,aAAA,EAAAX,EAAAC,GAAA95I,KAAA82G,GACA,MACA,SACA+iC,EAAAC,EAAA,GAAAtuI,MAAsC+2B,KAAA8vG,EAAA5tI,GAAAo1I,EAAAC,IAAAj0E,SAAAg0E,EAAAC,GAAAhpE,UAAA+oE,EAAAC,EAAA,KAAiE95I,KAAAoV,EAAAykI,EAAAC,EAAA,EACvG,MACA,SACA95I,KAAAoV,IAAgCmtB,KAAA8vG,EAAA5tI,GAAAo1I,EAAAC,IAAAj0E,SAAAg0E,EAAAC,IAChC,MACA,SACA95I,KAAAoV,IACA,MACA,SACAykI,EAAAC,EAAA,GAAAtuI,KAAAquI,EAAAC,GACA,MACA,SACA95I,KAAAoV,IACA,MACA,SACAykI,EAAAC,EAAA,GAAAtuI,KAAAquI,EAAAC,GACA,MACA,SACA95I,KAAAoV,IACA,MACA,SACAykI,EAAAC,EAAA,GAAAtuI,KAAAquI,EAAAC,GACA,MACA,SACA95I,KAAAoV,IACA,MACA,SACAykI,EAAAC,EAAA,GAAAtuI,KAAAquI,EAAAC,GACA,MACA,SACA95I,KAAAoV,IACA,MACA,SACAykI,EAAAC,EAAA,GAAAtuI,KAAAquI,EAAAC,GACA,MACA,SACA95I,KAAAoV,IACA,MACA,SACAykI,EAAAC,EAAA,GAAAtuI,KAAAquI,EAAAC,GACA,MACA,SACA95I,KAAAoV,IACA,MACA,SACAykI,EAAAC,EAAA,GAAAtuI,KAAAquI,EAAAC,GACA,MACA,SACA95I,KAAAoV,IACA,MACA,SACAykI,EAAAC,EAAA,GAAAtuI,KAAAquI,EAAAC,GACA,MACA,SACA95I,KAAAoV,IACA,MACA,SACAykI,EAAAC,EAAA,GAAAtuI,KAAAquI,EAAAC,GACA,MACA,SACA95I,KAAAoV,IACA,MACA,SACAykI,EAAAC,EAAA,GAAAtuI,KAAAquI,EAAAC,GACA,MACA,SACA95I,KAAAoV,IACA,MACA,SACAykI,EAAAC,EAAA,GAAAtuI,KAAAquI,EAAAC,GACA,MACA,SACA95I,KAAAoV,GAAAykI,EAAAC,GACA,MACA,SACAD,EAAAC,EAAA,GAAAtuI,KAAAquI,EAAAC,GACA,MACA,UACA95I,KAAAoV,GAAAykI,EAAAC,GACA,MACA,UACAD,EAAA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,KAAKZ,EAASO,EAAoB,OAIzD,SAAUN,EAAQD,EAASO,GkR5h3CjCA,EAAQ,KACRA,EAAQ,KACRA,EAAQ,KACRA,EAAQ,KACRA,EAAQ,KACRA,EAAQ,KACRA,EAAQ,KACRA,EAAQ,KACRA,EAAQ,KACRA,EAAQ,KACRA,EAAQ,KACRA,EAAQ,KACRA,EAAQ,KACRA,EAAQ,KACRA,EAAQ,KACRA,EAAQ,KACRA,EAAQ,KACRA,EAAQ,KACRA,EAAQ,KACRA,EAAQ,KACRA,EAAQ,KACRA,EAAQ,KACRA,EAAQ,KACRA,EAAQ,KACRA,EAAQ,KACRA,EAAQ,KACRA,EAAQ,KACRA,EAAQ,KACRA,EAAQ,KACRA,EAAQ,KACRA,EAAQ,KACRA,EAAQ,KACRA,EAAQ,KACRA,EAAQ,KACRA,EAAQ,KACRA,EAAQ,KACRA,EAAQ,KACRA,EAAQ,KACRA,EAAQ,KACRA,EAAQ,KACRA,EAAQ,KACRA,EAAQ,KACRA,EAAQ,KACRA,EAAQ,KACRA,EAAQ,KACRA,EAAQ,KACRA,EAAQ,KACRA,EAAQ,KACRA,EAAQ,KACRA,EAAQ,KACRA,EAAQ,KACRA,EAAQ,KACRA,EAAQ,KACRA,EAAQ,KACRA,EAAQ,KACRA,EAAQ,KACRA,EAAQ,KACRA,EAAQ,KACRA,EAAQ,KACRA,EAAQ,KACRA,EAAQ,KACRA,EAAQ,KACRA,EAAQ,KACRA,EAAQ,KACRA,EAAQ,KACRA,EAAQ,KACRA,EAAQ,KACRA,EAAQ,KACRA,EAAQ,KACRA,EAAQ,KACRA,EAAQ,KACRA,EAAQ,KACRA,EAAQ,KACRA,EAAQ,KACRA,EAAQ,KACRA,EAAQ,KACRA,EAAQ,KACRA,EAAQ,KACRA,EAAQ,KACRA,EAAQ,KACRA,EAAQ,KACRA,EAAQ,KACRA,EAAQ,KACRA,EAAQ,KACRA,EAAQ,KACRA,EAAQ,KACRA,EAAQ,KACRA,EAAQ,KACRA,EAAQ,KACRA,EAAQ,KACRA,EAAQ,KACRA,EAAQ,KACRA,EAAQ,KACRA,EAAQ,KACRA,EAAQ,KACRA,EAAQ,KACRA,EAAQ,KACRA,EAAQ,KACRA,EAAQ,KACRA,EAAQ,KACRA,EAAQ,KACRA,EAAQ,KACRA,EAAQ,KACRA,EAAQ,KACRA,EA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","file":"okta-sign-in.min.js","sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"OktaSignIn\"] = factory();\n\telse\n\t\troot[\"OktaSignIn\"] = factory();\n})(typeof self !== 'undefined' ? self : this, function() {\nreturn \n\n\n// WEBPACK FOOTER //\n// webpack/universalModuleDefinition","(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"OktaSignIn\"] = factory();\n\telse\n\t\troot[\"OktaSignIn\"] = factory();\n})(typeof self !== 'undefined' ? self : this, function() {\nreturn /******/ (function(modules) { // webpackBootstrap\n/******/ \t// The module cache\n/******/ \tvar installedModules = {};\n/******/\n/******/ \t// The require function\n/******/ \tfunction __webpack_require__(moduleId) {\n/******/\n/******/ \t\t// Check if module is in cache\n/******/ \t\tif(installedModules[moduleId]) {\n/******/ \t\t\treturn installedModules[moduleId].exports;\n/******/ \t\t}\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = installedModules[moduleId] = {\n/******/ \t\t\ti: moduleId,\n/******/ \t\t\tl: false,\n/******/ \t\t\texports: {}\n/******/ \t\t};\n/******/\n/******/ \t\t// Execute the module function\n/******/ \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n/******/\n/******/ \t\t// Flag the module as loaded\n/******/ \t\tmodule.l = true;\n/******/\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n/******/\n/******/\n/******/ \t// expose the modules object (__webpack_modules__)\n/******/ \t__webpack_require__.m = modules;\n/******/\n/******/ \t// expose the module cache\n/******/ \t__webpack_require__.c = installedModules;\n/******/\n/******/ \t// define getter function for harmony exports\n/******/ \t__webpack_require__.d = function(exports, name, getter) {\n/******/ \t\tif(!__webpack_require__.o(exports, name)) {\n/******/ \t\t\tObject.defineProperty(exports, name, {\n/******/ \t\t\t\tconfigurable: false,\n/******/ \t\t\t\tenumerable: true,\n/******/ \t\t\t\tget: getter\n/******/ \t\t\t});\n/******/ \t\t}\n/******/ \t};\n/******/\n/******/ \t// getDefaultExport function for compatibility with non-harmony modules\n/******/ \t__webpack_require__.n = function(module) {\n/******/ \t\tvar getter = module && module.__esModule ?\n/******/ \t\t\tfunction getDefault() { return module['default']; } :\n/******/ \t\t\tfunction getModuleExports() { return module; };\n/******/ \t\t__webpack_require__.d(getter, 'a', getter);\n/******/ \t\treturn getter;\n/******/ \t};\n/******/\n/******/ \t// Object.prototype.hasOwnProperty.call\n/******/ \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n/******/\n/******/ \t// __webpack_public_path__\n/******/ \t__webpack_require__.p = \"\";\n/******/\n/******/ \t// Load entry module and return exports\n/******/ \treturn __webpack_require__(__webpack_require__.s = 272);\n/******/ })\n/************************************************************************/\n/******/ ([\n/* 0 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _stringify = __webpack_require__(77);\n\nvar _stringify2 = _interopRequireDefault2(_stringify);\n\nvar _typeof2 = __webpack_require__(89);\n\nvar _typeof3 = _interopRequireDefault2(_typeof2);\n\nvar _defineProperty = __webpack_require__(167);\n\nvar _defineProperty2 = _interopRequireDefault2(_defineProperty);\n\nfunction _interopRequireDefault2(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/*! THIS FILE IS GENERATED FROM PACKAGE @okta/courage@4.6.0-beta.3298.g75d547c */\nmodule.exports =\n/******/function (modules) {\n // webpackBootstrap\n /******/ // The module cache\n /******/var installedModules = {};\n /******/\n /******/ // The require function\n /******/function __webpack_require__(moduleId) {\n /******/\n /******/ // Check if module is in cache\n /******/if (installedModules[moduleId]) {\n /******/return installedModules[moduleId].exports;\n /******/\n }\n /******/ // Create a new module (and put it into the cache)\n /******/var module = installedModules[moduleId] = {\n /******/i: moduleId,\n /******/l: false,\n /******/exports: {}\n /******/ };\n /******/\n /******/ // Execute the module function\n /******/modules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n /******/\n /******/ // Flag the module as loaded\n /******/module.l = true;\n /******/\n /******/ // Return the exports of the module\n /******/return module.exports;\n /******/\n }\n /******/\n /******/\n /******/ // expose the modules object (__webpack_modules__)\n /******/__webpack_require__.m = modules;\n /******/\n /******/ // expose the module cache\n /******/__webpack_require__.c = installedModules;\n /******/\n /******/ // define getter function for harmony exports\n /******/__webpack_require__.d = function (exports, name, getter) {\n /******/if (!__webpack_require__.o(exports, name)) {\n /******/(0, _defineProperty2.default)(exports, name, {\n /******/configurable: false,\n /******/enumerable: true,\n /******/get: getter\n /******/ });\n /******/\n }\n /******/\n };\n /******/\n /******/ // getDefaultExport function for compatibility with non-harmony modules\n /******/__webpack_require__.n = function (module) {\n /******/var getter = module && module.__esModule ?\n /******/function getDefault() {\n return module['default'];\n } :\n /******/function getModuleExports() {\n return module;\n };\n /******/__webpack_require__.d(getter, 'a', getter);\n /******/return getter;\n /******/\n };\n /******/\n /******/ // Object.prototype.hasOwnProperty.call\n /******/__webpack_require__.o = function (object, property) {\n return Object.prototype.hasOwnProperty.call(object, property);\n };\n /******/\n /******/ // __webpack_public_path__\n /******/__webpack_require__.p = \"\";\n /******/\n /******/ // Load entry module and return exports\n /******/return __webpack_require__(__webpack_require__.s = 33);\n /******/\n}(\n/************************************************************************/\n/******/[\n/* 0 */\n/***/function (module, __webpack_exports__, __webpack_require__) {\n\n \"use strict\";\n\n Object.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n /* harmony import */var __WEBPACK_IMPORTED_MODULE_0_handlebars__ = __webpack_require__(5);\n /* harmony import */var __WEBPACK_IMPORTED_MODULE_0_handlebars___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_handlebars__);\n /* harmony import */var __WEBPACK_IMPORTED_MODULE_1_underscore__ = __webpack_require__(35);\n /* harmony import */var __WEBPACK_IMPORTED_MODULE_1_underscore___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_underscore__);\n /* eslint @okta/okta/enforce-requirejs-names: 0, @okta/okta/no-specific-methods: 0, @okta/okta/no-specific-modules: 0 */\n\n var _ = __WEBPACK_IMPORTED_MODULE_1_underscore___default.a.noConflict();\n\n _.mixin({\n resultCtx: function resultCtx(object, property, context, defaultValue) {\n var value = _.isObject(object) ? object[property] : void 0;\n\n if (_.isFunction(value)) {\n value = value.call(context || object);\n }\n if (value) {\n return value;\n } else {\n return !_.isUndefined(defaultValue) ? defaultValue : value;\n }\n },\n\n isInteger: function isInteger(x) {\n return _.isNumber(x) && x % 1 === 0;\n },\n\n template: function template(source, data) {\n var template = __WEBPACK_IMPORTED_MODULE_0_handlebars___default.a.compile(source);\n\n return data ? template(data) : function (data) {\n return template(data);\n };\n }\n });\n\n /* harmony default export */__webpack_exports__[\"default\"] = _;\n\n /***/\n},\n/* 1 */\n/***/function (module, __webpack_exports__, __webpack_require__) {\n\n \"use strict\";\n\n Object.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n /* harmony import */var __WEBPACK_IMPORTED_MODULE_0_backbone__ = __webpack_require__(6);\n /* harmony import */var __WEBPACK_IMPORTED_MODULE_0_backbone___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_backbone__);\n /* harmony import */var __WEBPACK_IMPORTED_MODULE_1__util_underscore_wrapper__ = __webpack_require__(0);\n /* harmony import */var __WEBPACK_IMPORTED_MODULE_2__framework_View__ = __webpack_require__(22);\n /* harmony import */var __WEBPACK_IMPORTED_MODULE_3__util_TemplateUtil__ = __webpack_require__(4);\n\n var eventBus = __WEBPACK_IMPORTED_MODULE_1__util_underscore_wrapper__[\"default\"].clone(__WEBPACK_IMPORTED_MODULE_0_backbone___default.a.Events);\n\n // add `broadcast` and `listen` functionality to all views\n // We use one event emitter per all views\n // This means we need to be very careful with event names\n\n var proto = {\n constructor: function constructor() {\n __WEBPACK_IMPORTED_MODULE_2__framework_View__[\"a\" /* default */].apply(this, arguments);\n this.module && this.$el.attr('data-view', this.module.id);\n },\n\n /**\n * @deprecated Use {@link #removeChildren}\n */\n empty: function empty() {\n return this.removeChildren();\n },\n\n compileTemplate: __WEBPACK_IMPORTED_MODULE_3__util_TemplateUtil__[\"default\"].tpl,\n\n /**\n *\n * Broadcasts a global event that all views and controllers can subscribe to\n * for framework use only - prefer using a shared model\n *\n * @param {String} eventName A unique identifier for the event\n * @param {...String} param Parameter to pass with the event (can pass more than one parameter)\n * @deprecated For internal use only\n * @private\n */\n broadcast: function broadcast() {\n eventBus.trigger.apply(eventBus, arguments);\n return this;\n },\n\n /**\n * Subscribe to broadcast events\n * for framework use only - prefer using a shared model\n *\n * @param {String} eventName The event identifier to subscribe\n * @param {Function} fn The callback function to invoke\n * @deprecated For internal use only\n * @private\n */\n listen: function listen(name, fn) {\n eventBus.off(name, fn);\n this.listenTo(eventBus, name, fn);\n return this;\n },\n\n /**\n * Shows a notification box\n * @param {String} level success / warning / error\n * @param {String} message The message to display\n * @param {Object} [options]\n * @param {Number} [options.width] Set a custom width\n * @param {String} [options.title] Set a custom title\n * @param {Boolean} [options.hide=true] Do we want to auto-hide this notification?\n * @param {Boolean} [options.dismissable] Show a dismiss button\n * @example\n * view.notify('success', 'Group created successfully');\n */\n notify: function notify(level, message, options) {\n this.broadcast('notification', __WEBPACK_IMPORTED_MODULE_1__util_underscore_wrapper__[\"default\"].defaults({ message: message, level: level }, options));\n return this;\n },\n\n /**\n * Shows a confirmation dialog\n *\n * The main difference between this and the native javascript `confirm` method\n * Is this method is non blocking (note the callback pattern).\n *\n * The callback function will run in the context (`this`) of the invoking view.\n *\n * @param {String} [title] The title of the confirmation dialog\n * @param {String} [message] The message of the confirmation dialog\n * @param {Function} [okfn] The callback to run when the user hits \"OK\" (runs in the context of the invoking view)\n * @param {Function} [cancelfn] The callback to run when the user hits \"Cancel\"\n * (runs in the context of the invoking view)\n * @example\n * view.confirm('Delete Group', 'Are you sure you want to delete the selected group?', function () {\n * model.destroy();\n * });\n *\n * // title will be auto-set to \"Okta\"\n * view.confirm('Are you sure you want to delete the selected group?', function () {\n * model.destroy();\n * });\n *\n * view.confirm({\n * title: 'Delete Group', //=> Modal title\n * subtitle: 'Are you sure you want to delete the selected group?', //=> Modal subtitle\n * content: '<h3 color=\"red\">THIS WILL DELETE THE GROUP!</h3>', //=> A template or a view to add to the modal\n * save: 'Delete Group', //=> Button label\n * ok: _.bind(model.save, model) // Callback function on hitting \"ok\" button\n * cancel: 'Cancel', //=> Button label\n * cancelFn: _.bind(model.destroy, model) // Callback function on hitting \"cancel\" button\n * });\n */\n confirm: function confirm(title, message, okfn, cancelfn) {\n var options = void 0;\n /* eslint max-statements: [2, 12] */\n\n if ((typeof title === 'undefined' ? 'undefined' : (0, _typeof3.default)(title)) === 'object') {\n options = title;\n } else {\n if (arguments.length === 2 && __WEBPACK_IMPORTED_MODULE_1__util_underscore_wrapper__[\"default\"].isFunction(message)) {\n options = {\n title: 'Okta',\n subtitle: title,\n ok: message\n };\n } else {\n options = {\n title: title,\n subtitle: message,\n ok: okfn,\n cancelFn: cancelfn\n };\n }\n }\n if (__WEBPACK_IMPORTED_MODULE_1__util_underscore_wrapper__[\"default\"].isFunction(options.ok)) {\n options.ok = __WEBPACK_IMPORTED_MODULE_1__util_underscore_wrapper__[\"default\"].bind(options.ok, this);\n }\n if (__WEBPACK_IMPORTED_MODULE_1__util_underscore_wrapper__[\"default\"].isFunction(options.cancelFn)) {\n options.cancelFn = __WEBPACK_IMPORTED_MODULE_1__util_underscore_wrapper__[\"default\"].bind(options.cancelFn, this);\n }\n this.broadcast('confirmation', options);\n return this;\n },\n\n /**\n * Shows an alert box\n *\n * The main difference between this and the native javascript `alert` method\n * Is this method is non blocking.\n *\n * @param {String} message The message\n * @example\n * view.alert('Mission complete');\n */\n alert: function alert(params) {\n if (__WEBPACK_IMPORTED_MODULE_1__util_underscore_wrapper__[\"default\"].isString(params)) {\n params = {\n subtitle: params\n };\n }\n this.confirm(__WEBPACK_IMPORTED_MODULE_1__util_underscore_wrapper__[\"default\"].extend({}, params, {\n noCancelButton: true\n }));\n return this;\n }\n };\n\n /**\n * See {@link src/framework/View} for more detail and examples from the base class.\n * @class module:Okta.View\n * @extends src/framework/View\n */\n\n /** @lends module:Okta.View.prototype */\n\n /* harmony default export */__webpack_exports__[\"default\"] = __WEBPACK_IMPORTED_MODULE_2__framework_View__[\"a\" /* default */].extend(proto,\n /** @lends View.prototype */{\n /** @method */\n decorate: function decorate(TargetView) {\n var BaseViewView = TargetView.extend({});\n\n __WEBPACK_IMPORTED_MODULE_1__util_underscore_wrapper__[\"default\"].defaults(BaseViewView.prototype, proto);\n return BaseViewView;\n }\n });\n\n /***/\n},\n/* 2 */\n/***/function (module, __webpack_exports__, __webpack_require__) {\n\n \"use strict\";\n\n Object.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n /* harmony import */var __WEBPACK_IMPORTED_MODULE_0_jquery__ = __webpack_require__(12);\n /* harmony import */var __WEBPACK_IMPORTED_MODULE_0_jquery___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_jquery__);\n /* eslint-disable @okta/okta/enforce-requirejs-names, @okta/okta/no-specific-modules */\n\n __WEBPACK_IMPORTED_MODULE_0_jquery___default.a.ajaxSetup({\n beforeSend: function beforeSend(xhr) {\n xhr.setRequestHeader('X-Okta-XsrfToken', __WEBPACK_IMPORTED_MODULE_0_jquery___default()('#_xsrfToken').text());\n },\n converters: {\n 'text secureJSON': function textSecureJSON(str) {\n if (str.substring(0, 11) === 'while(1){};') {\n str = str.substring(11);\n }\n return JSON.parse(str);\n }\n }\n });\n\n // Selenium Hook\n // Widget such as autocomplete and autosuggest needs to be triggered from the running version of jQuery.\n // We have 2 versions of jQuery running in parallel and they don't share the same events bus\n window.jQueryCourage = __WEBPACK_IMPORTED_MODULE_0_jquery___default.a;\n /* harmony default export */__webpack_exports__[\"default\"] = __WEBPACK_IMPORTED_MODULE_0_jquery___default.a;\n\n /***/\n},\n/* 3 */\n/***/function (module, __webpack_exports__, __webpack_require__) {\n\n \"use strict\";\n\n Object.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n /* harmony import */var __WEBPACK_IMPORTED_MODULE_0__jquery_wrapper__ = __webpack_require__(2);\n /* harmony import */var __WEBPACK_IMPORTED_MODULE_1__underscore_wrapper__ = __webpack_require__(0);\n /* harmony import */var __WEBPACK_IMPORTED_MODULE_2_okta_i18n_bundles__ = __webpack_require__(39);\n /* harmony import */var __WEBPACK_IMPORTED_MODULE_2_okta_i18n_bundles___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_2_okta_i18n_bundles__);\n\n var entityMap = {\n '&': '&',\n '<': '<',\n '>': '>',\n '"': '\"',\n ''': '\\'',\n ''': '\\'',\n '/': '/'\n };\n var emailValidator = /^(([^<>()[\\]\\\\.,;:\\s@\"]+(\\.[^<>()[\\]\\\\.,;:\\s@\"]+)*)|(\".+\"))@(?!-)((\\[?[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\]?)|(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]{2,}))$/;\n\n /* eslint max-len: 0*/\n\n var StringUtil = /** @lends module:Okta.internal.util.StringUtil */{\n /** @static */\n sprintf: function sprintf() {\n var args = Array.prototype.slice.apply(arguments);\n var value = args.shift();\n var oldValue = value;\n /* eslint max-statements: [2, 13] */\n\n function triggerError() {\n throw new Error('Mismatch number of variables: ' + arguments[0] + ', ' + (0, _stringify2.default)(args));\n }\n\n for (var i = 0, l = args.length; i < l; i++) {\n var entity = args[i];\n\n value = value.replace('{' + i + '}', entity);\n if (entity === undefined || entity === null || value === oldValue) {\n triggerError();\n }\n oldValue = value;\n }\n\n if (/\\{[\\d+]\\}/.test(value)) {\n triggerError();\n }\n\n return value;\n },\n\n /**\n * Converts a URI encoded query string into a hash map\n * @param {String} query The query string\n * @return {Object} The map\n * @static\n * @example\n * StringUtil.parseQuery('foo=bar&baz=qux') // {foo: 'bar', baz: 'qux'}\n */\n parseQuery: function parseQuery(query) {\n var params = {};\n var pairs = decodeURIComponent(query.replace(/\\+/g, ' ')).split('&');\n\n for (var i = 0; i < pairs.length; i++) {\n var pair = pairs[i];\n var data = pair.split('=');\n\n params[data.shift()] = data.join('=');\n }\n return params;\n },\n\n /** @static */\n encodeJSObject: function encodeJSObject(jsObj) {\n return encodeURIComponent((0, _stringify2.default)(jsObj));\n },\n\n /** @static */\n decodeJSObject: function decodeJSObject(jsObj) {\n try {\n return JSON.parse(decodeURIComponent(jsObj));\n } catch (e) {\n return null;\n }\n },\n\n /** @static */\n unescapeHtml: function unescapeHtml(string) {\n return String(string).replace(/&[\\w#\\d]{2,};/g, function (s) {\n return entityMap[s] || s;\n });\n },\n\n /**\n * Get the original i18n template directly without string format with parameters\n * @param {String} key The key\n * @param {String} bundle=\"messages\"] The name of the i18n bundle. Defaults to the first bundle in the list.\n */\n getTemplate: function getTemplate(key, bundleName) {\n var bundle = bundleName ? __WEBPACK_IMPORTED_MODULE_2_okta_i18n_bundles___default.a[bundleName] : __WEBPACK_IMPORTED_MODULE_2_okta_i18n_bundles___default.a[__WEBPACK_IMPORTED_MODULE_1__underscore_wrapper__[\"default\"].keys(__WEBPACK_IMPORTED_MODULE_2_okta_i18n_bundles___default.a)[0]];\n if (!bundle) {\n return 'L10N_ERROR[' + bundleName + ']';\n }\n return bundle[key] || 'L10N_ERROR[' + key + ']';\n },\n\n /**\n * Translate a key to the localized value\n * @static\n * @param {String} key The key\n * @param {String} [bundle=\"messages\"] The name of the i18n bundle. Defaults to the first bundle in the list.\n * @param {Array} [params] A list of parameters to apply as tokens to the i18n value\n * @return {String} The localized value\n */\n localize: function localize(key, bundleName, params) {\n var bundle = bundleName ? __WEBPACK_IMPORTED_MODULE_2_okta_i18n_bundles___default.a[bundleName] : __WEBPACK_IMPORTED_MODULE_2_okta_i18n_bundles___default.a[__WEBPACK_IMPORTED_MODULE_1__underscore_wrapper__[\"default\"].keys(__WEBPACK_IMPORTED_MODULE_2_okta_i18n_bundles___default.a)[0]];\n /* eslint complexity: [2, 7] */\n\n if (!bundle) {\n return 'L10N_ERROR[' + bundleName + ']';\n }\n\n var value = bundle[key];\n\n try {\n params = params && params.slice ? params.slice(0) : [];\n params.unshift(value);\n value = StringUtil.sprintf.apply(null, params);\n } catch (e) {\n value = null;\n }\n\n return value || 'L10N_ERROR[' + key + ']';\n },\n\n /**\n * Convert a string to a float if valid, otherwise return the string.\n * Valid numbers may contain a negative sign and a decimal point.\n * @static\n * @param {String} string The string to convert to a number\n * @return {String|Number} Returns a number if the string can be casted, otherwise returns the original string\n */\n parseFloat: function (_parseFloat) {\n function parseFloat(_x) {\n return _parseFloat.apply(this, arguments);\n }\n\n parseFloat.toString = function () {\n return _parseFloat.toString();\n };\n\n return parseFloat;\n }(function (string) {\n var number = +string;\n\n return typeof string === 'string' && number === parseFloat(string) ? number : string;\n }),\n\n /**\n * Convert a string to an integer if valid, otherwise return the string\n * @static\n * @param {String} string The string to convert to an integer\n * @return {String|integer} Returns an integer if the string can be casted, otherwise, returns the original string\n */\n parseInt: function (_parseInt) {\n function parseInt(_x2) {\n return _parseInt.apply(this, arguments);\n }\n\n parseInt.toString = function () {\n return _parseInt.toString();\n };\n\n return parseInt;\n }(function (string) {\n var int = +string;\n\n return __WEBPACK_IMPORTED_MODULE_1__underscore_wrapper__[\"default\"].isString(string) && int === parseInt(string, 10) ? int : string;\n }),\n\n /**\n * Convert a string to an object if valid, otherwise return the string\n * @static\n * @param {String} string The string to convert to an object\n * @return {String|object} Returns an object if the string can be casted, otherwise, returns the original string\n */\n parseObject: function parseObject(string) {\n if (!__WEBPACK_IMPORTED_MODULE_1__underscore_wrapper__[\"default\"].isString(string)) {\n return string;\n }\n\n try {\n var object = JSON.parse(string);\n\n return __WEBPACK_IMPORTED_MODULE_0__jquery_wrapper__[\"default\"].isPlainObject(object) ? object : string;\n } catch (e) {\n return string;\n }\n },\n\n /**\n * Returns a random string from [a-z][A-Z][0-9] of a given length\n * @static\n * @param {Number} length The length of the random string.\n * @return {String} Returns a random string from [a-z][A-Z][0-9] of a given length\n */\n randomString: function randomString(length) {\n var characters = '0123456789ABCDEFGHIJKLMNOPQRSTUVWXTZabcdefghiklmnopqrstuvwxyz';\n\n if (length === undefined) {\n length = __WEBPACK_IMPORTED_MODULE_1__underscore_wrapper__[\"default\"].random(characters.length);\n } else if (length === 0) {\n return '';\n }\n\n var stringArray = [];\n\n while (length--) {\n stringArray.push(characters[__WEBPACK_IMPORTED_MODULE_1__underscore_wrapper__[\"default\"].random(characters.length - 1)]);\n }\n return stringArray.join('');\n },\n\n /**\n * Returns if a str ends with another string\n * @static\n * @param {String} str The string to search\n * @param {String} ends The string it should end with\n *\n * @return {Boolean} Returns if the str ends with ends\n */\n endsWith: function endsWith(str, ends) {\n str += '';\n ends += '';\n return str.length >= ends.length && str.substring(str.length - ends.length) === ends;\n },\n\n /** @static */\n isEmail: function isEmail(str) {\n var target = __WEBPACK_IMPORTED_MODULE_0__jquery_wrapper__[\"default\"].trim(str);\n\n return !__WEBPACK_IMPORTED_MODULE_1__underscore_wrapper__[\"default\"].isEmpty(target) && emailValidator.test(target);\n }\n };\n\n /**\n * Handy utility functions to handle strings.\n *\n * @class module:Okta.internal.util.StringUtil\n * @hideconstructor\n */\n\n /* harmony default export */__webpack_exports__[\"default\"] = StringUtil;\n\n /***/\n},\n/* 4 */\n/***/function (module, __webpack_exports__, __webpack_require__) {\n\n \"use strict\";\n\n Object.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n /* harmony import */var __WEBPACK_IMPORTED_MODULE_0_handlebars__ = __webpack_require__(5);\n /* harmony import */var __WEBPACK_IMPORTED_MODULE_0_handlebars___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_handlebars__);\n /* harmony import */var __WEBPACK_IMPORTED_MODULE_1__underscore_wrapper__ = __webpack_require__(0);\n /* eslint @okta/okta/no-specific-methods: 0 */\n\n /**\n * @class module:Okta.internal.util.TemplateUtil\n * @hideconstructor\n */\n /* harmony default export */__webpack_exports__[\"default\"] = {\n /**\n * Compiles a Handlebars template\n * @static\n * @method\n */\n tpl: __WEBPACK_IMPORTED_MODULE_1__underscore_wrapper__[\"default\"].memoize(function (tpl) {\n /* eslint okta/no-specific-methods: 0 */\n return __WEBPACK_IMPORTED_MODULE_0_handlebars___default.a.compile(tpl);\n })\n };\n\n /***/\n},\n/* 5 */\n/***/function (module, exports) {\n\n module.exports = __webpack_require__(233);\n\n /***/\n},\n/* 6 */\n/***/function (module, exports) {\n\n module.exports = __webpack_require__(492);\n\n /***/\n},\n/* 7 */\n/***/function (module, __webpack_exports__, __webpack_require__) {\n\n \"use strict\";\n\n Object.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n function _log(level, args) {\n if (window.console && window.okta && window.okta.debug) {\n window.console[level].apply(window.console, args);\n }\n }\n\n /**\n * Utility library of logging functions.\n * @class module:Okta.Logger\n */\n /* harmony default export */__webpack_exports__[\"default\"] = {\n /**\n * See [console.trace](https://developer.mozilla.org/en-US/docs/Web/API/Console.trace)\n * @static\n */\n trace: function trace() {\n return _log('trace', arguments);\n },\n /**\n * See [console.dir](https://developer.mozilla.org/en-US/docs/Web/API/Console.dir)\n * @static\n */\n dir: function dir() {\n return _log('dir', arguments);\n },\n /**\n * See [console.time](https://developer.mozilla.org/en-US/docs/Web/API/Console.time)\n * @static\n */\n time: function time() {\n return _log('time', arguments);\n },\n /**\n * See [console.timeEnd](https://developer.mozilla.org/en-US/docs/Web/API/Console.timeEnd)\n * @static\n */\n timeEnd: function timeEnd() {\n return _log('timeEnd', arguments);\n },\n /**\n * See [console.group](https://developer.mozilla.org/en-US/docs/Web/API/Console.group)\n * @static\n */\n group: function group() {\n return _log('group', arguments);\n },\n /**\n * See [console.groupEnd](https://developer.mozilla.org/en-US/docs/Web/API/Console.groupEnd)\n * @static\n */\n groupEnd: function groupEnd() {\n return _log('groupEnd', arguments);\n },\n /**\n * See [console.assert](https://developer.mozilla.org/en-US/docs/Web/API/Console.assert)\n * @static\n */\n assert: function assert() {\n return _log('assert', arguments);\n },\n /**\n * See [console.log](https://developer.mozilla.org/en-US/docs/Web/API/Console.log)\n * @static\n */\n log: function log() {\n return _log('log', arguments);\n },\n /**\n * See [console.info](https://developer.mozilla.org/en-US/docs/Web/API/Console.info)\n * @static\n */\n info: function info() {\n return _log('info', arguments);\n },\n /**\n * See [console.warn](https://developer.mozilla.org/en-US/docs/Web/API/Console.warn)\n * @static\n */\n warn: function warn() {\n return _log('warn', arguments);\n },\n /**\n * See [console.error](https://developer.mozilla.org/en-US/docs/Web/API/Console.error)\n * @static\n */\n error: function error() {\n return _log('error', arguments);\n }\n };\n\n /***/\n},\n/* 8 */\n/***/function (module, __webpack_exports__, __webpack_require__) {\n\n \"use strict\";\n\n Object.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n /* harmony default export */__webpack_exports__[\"default\"] = {\n UP: 38,\n DOWN: 40,\n DEL: 46,\n TAB: 9,\n RETURN: 13,\n ENTER: 13,\n ESC: 27,\n COMMA: 188,\n PAGEUP: 33,\n PAGEDOWN: 34,\n SPACE: 32,\n BACKSPACE: 8,\n __isKey: function __isKey(e, key) {\n return (e.which || e.keyCode) === this[key];\n },\n isEnter: function isEnter(e) {\n return this.__isKey(e, 'ENTER');\n },\n isEsc: function isEsc(e) {\n return this.__isKey(e, 'ESC');\n },\n isSpaceBar: function isSpaceBar(e) {\n return this.__isKey(e, 'SPACE');\n }\n };\n\n /***/\n},\n/* 9 */\n/***/function (module, __webpack_exports__, __webpack_require__) {\n\n \"use strict\";\n\n Object.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n /* harmony import */var __WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__ = __webpack_require__(0);\n /* harmony import */var __WEBPACK_IMPORTED_MODULE_1__util_Keys__ = __webpack_require__(8);\n /* harmony import */var __WEBPACK_IMPORTED_MODULE_2__util_Logger__ = __webpack_require__(7);\n /* harmony import */var __WEBPACK_IMPORTED_MODULE_3__util_StringUtil__ = __webpack_require__(3);\n /* harmony import */var __WEBPACK_IMPORTED_MODULE_4__util_ViewUtil__ = __webpack_require__(24);\n /* harmony import */var __WEBPACK_IMPORTED_MODULE_5__BaseView__ = __webpack_require__(1);\n /* eslint max-params: [2, 6] */\n\n var LABEL_OPTIONS = ['model', 'id', 'inputId', 'type', 'label', 'sublabel', 'tooltip', 'name'];\n var CONTAINER_OPTIONS = ['wide', 'multi', 'input', 'label-top', 'explain', 'explain-top', 'customExplain', 'model', 'name', 'type', 'autoRender'];\n var WRAPPER_OPTIONS = ['model', 'name', 'label-top', 'readOnly', 'events', 'initialize', 'showWhen', 'bindings', 'render', 'className', 'data-se', 'toggleWhen'];\n var INPUT_OPTIONS = ['model', 'name', 'inputId', 'type', // base options\n 'input', // custom input\n 'placeholder', 'label', // labels\n 'readOnly', 'read', 'disabled', 'readModeString', // modes\n 'options', // select/radio\n 'deps', // used to specify inputs that have dependencies and show a callout to user on select\n 'from', 'to', // model transformers,\n 'autoRender', // model attributes change event to trigger rerendering of the input\n 'inlineValidation', // control inline validating against the model on focus lost\n 'validateOnlyIfDirty', // check if field has been interacted with and then validate\n 'ariaLabel', // 508 compliance for inputs that do not have label associated with them\n 'params'];\n var // widgets params - for input specific widgets\n\n OTHER_OPTIONS = ['errorField'];\n\n var ALL_OPTIONS = __WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].uniq(__WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].union(LABEL_OPTIONS, CONTAINER_OPTIONS, WRAPPER_OPTIONS, INPUT_OPTIONS, OTHER_OPTIONS));\n\n var SAVE_BUTTON_PHASES = ['• ', '• • ', '• • • ', '• • • •', ' • • •', ' • •', ' •', ' ', ' ', ' '];\n\n function decorateDoWhen(doWhen) {\n if (doWhen && !doWhen['__edit__']) {\n return __WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].extend({ __edit__: __WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].constant(true) }, doWhen);\n }\n }\n\n function _createButton(options) {\n options = __WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].pick(options || {}, 'action', 'id', 'className', 'text', 'type');\n\n var timeoutId = void 0;\n var intervalId = void 0;\n var phaseCount = void 0;\n\n return __WEBPACK_IMPORTED_MODULE_5__BaseView__[\"default\"].extend({\n tagName: 'input',\n className: 'button',\n events: {\n click: function click() {\n if (options.action && !this.disabled()) {\n options.action.call(this);\n }\n },\n keyup: function keyup(e) {\n if (__WEBPACK_IMPORTED_MODULE_1__util_Keys__[\"default\"].isEnter(e) && options.action && !this.disabled()) {\n options.action.call(this);\n }\n }\n },\n\n disabled: function disabled() {\n return this.$el.prop('disabled') === true;\n },\n\n disable: function disable() {\n this.$el.prop('disabled', true);\n this.$el.addClass('btn-disabled');\n },\n\n enable: function enable() {\n this.$el.prop('disabled', false);\n this.$el.removeClass('btn-disabled');\n },\n\n initialize: function initialize() {\n var self = this;\n\n this.$el.attr('type', options.type === 'save' ? 'submit' : 'button');\n this.$el.val(options.text);\n if (options.id) {\n this.$el.attr('id', options.id);\n }\n if (options.className) {\n this.$el.addClass(options.className);\n }\n if (options.type) {\n this.$el.attr('data-type', options.type);\n }\n\n this.$el.mousedown(function () {\n self.model.set('__pending__', true);\n });\n\n this.$el.mouseup(function () {\n self.model.set('__pending__', false);\n });\n\n this.listenTo(this.model, 'form:set-saving-state', function () {\n this.disable();\n if (options.type === 'save') {\n timeoutId = setTimeout(__WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].bind(this.__changeSaveText, this), 1000);\n }\n });\n this.listenTo(this.model, 'form:clear-saving-state', function () {\n this.enable();\n if (options.type === 'save') {\n clearTimeout(timeoutId);\n clearInterval(intervalId);\n this.$el.val(options.text);\n }\n });\n },\n\n __changeSaveText: function __changeSaveText() {\n phaseCount = 0;\n intervalId = setInterval(__WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].bind(this.__showLoadingText, this), 200);\n },\n\n __showLoadingText: function __showLoadingText() {\n this.$el.val(SAVE_BUTTON_PHASES[phaseCount++ % SAVE_BUTTON_PHASES.length]);\n }\n });\n }\n\n function validateInput(options, model) {\n /* eslint max-statements: 0, complexity: 0 */\n\n options || (options = {});\n\n if (options.type === 'label') {\n if (!options.label) {\n __WEBPACK_IMPORTED_MODULE_2__util_Logger__[\"default\"].warn('A label input must have a \"label\" parameter', options);\n }\n return;\n }\n\n if (options.type === 'button') {\n if (!options.title && !options.icon) {\n __WEBPACK_IMPORTED_MODULE_2__util_Logger__[\"default\"].warn('A button input must have a \"title\" and/or an \"icon\" parameter', options);\n }\n if (!options.click && !options.href) {\n __WEBPACK_IMPORTED_MODULE_2__util_Logger__[\"default\"].warn('A button input must have a \"click\" and/or an \"href\" parameter', options);\n }\n return;\n }\n\n if (!options.name && !options.input) {\n __WEBPACK_IMPORTED_MODULE_2__util_Logger__[\"default\"].warn('Missing \"name\" or \"input\" parameters', options);\n }\n\n if (__WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].isArray(options.name) && __WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].isArray(options.input)) {\n throw new Error('Not allowed to have both \"name\" and \"input\" defined as array.');\n }\n\n if (options.type !== 'list' && options.name && model && model.allows) {\n var names = [];\n\n if (__WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].isArray(options.name)) {\n names = options.name;\n } else {\n names.push(options.name);\n }\n __WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].each(names, function (name) {\n if (!model.allows(name)) {\n throw new Error('field not allowed: ' + options.name);\n }\n });\n }\n\n if (__WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].isArray(options.input) && options.type !== 'list') {\n __WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].each(options.input, function (input) {\n validateInput(input, model);\n });\n }\n\n var keys = __WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].keys(options);\n\n var intersection = __WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].intersection(keys, ALL_OPTIONS);\n\n if (__WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].size(intersection) !== __WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].size(options)) {\n var fields = __WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].clone(ALL_OPTIONS);\n\n fields.unshift(keys);\n __WEBPACK_IMPORTED_MODULE_2__util_Logger__[\"default\"].warn('Invalid input parameters', __WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].without.apply(null, fields), options);\n }\n }\n\n function generateInputOptions(options, form, createFn) {\n options = __WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].clone(options);\n\n if (__WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].contains(['list', 'group'], options.type)) {\n options.params = __WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].defaults({\n create: createFn,\n inputs: __WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].map(__WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].isArray(options.input) ? options.input : [options.input], function (input) {\n return __WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].first(generateInputOptions(input, form, createFn));\n })\n }, options.params || {});\n delete options.input;\n }\n\n var inputs = __WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].isArray(options.input) ? __WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].clone(options.input) : [options];\n\n return __WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].map(inputs, function (input) {\n var target = __WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].defaults({ model: form.model }, input, __WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].omit(options, 'input', 'inputs'), form.options, {\n id: __WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].uniqueId('input'),\n readOnly: form.isReadOnly(),\n read: form.hasReadMode()\n });\n\n if (form.isReadOnly()) {\n target.read = target.readOnly = true;\n }\n return target;\n });\n }\n\n /* harmony default export */__webpack_exports__[\"default\"] = {\n LABEL_OPTIONS: LABEL_OPTIONS,\n CONTAINER_OPTIONS: CONTAINER_OPTIONS,\n WRAPPER_OPTIONS: WRAPPER_OPTIONS,\n INPUT_OPTIONS: INPUT_OPTIONS,\n\n generateInputOptions: generateInputOptions,\n\n changeEventString: function changeEventString(fieldNames) {\n return 'change:' + fieldNames.join(' change:');\n },\n\n createReadFormButton: function createReadFormButton(options) {\n var action = void 0;\n var text = void 0;\n var ariaLabel = void 0;\n\n if (options.type === 'cancel') {\n text = ariaLabel = __WEBPACK_IMPORTED_MODULE_3__util_StringUtil__[\"default\"].localize('oform.cancel', 'courage');\n action = function action() {\n this.model.trigger('form:cancel');\n };\n } else {\n text = __WEBPACK_IMPORTED_MODULE_3__util_StringUtil__[\"default\"].localize('oform.edit', 'courage');\n ariaLabel = text + ' ' + options.formTitle;\n action = function action() {\n this.model.set('__edit__', true);\n };\n }\n\n return __WEBPACK_IMPORTED_MODULE_5__BaseView__[\"default\"].extend({\n tagName: 'a',\n attributes: {\n href: '#',\n 'aria-label': ariaLabel\n },\n template: function template() {\n return __WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].escape(text);\n },\n events: {\n click: function click(e) {\n e.preventDefault();\n action.call(this);\n }\n }\n });\n },\n\n createButton: function createButton(options) {\n options = __WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].clone(options);\n switch (options.type) {\n case 'save':\n __WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].defaults(options, { className: 'button-primary' });\n break;\n case 'cancel':\n __WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].defaults(options, {\n text: __WEBPACK_IMPORTED_MODULE_3__util_StringUtil__[\"default\"].localize('oform.cancel', 'courage'),\n action: function action() {\n this.model.trigger('form:cancel');\n }\n });\n break;\n case 'previous':\n __WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].defaults(options, {\n text: __WEBPACK_IMPORTED_MODULE_3__util_StringUtil__[\"default\"].localize('oform.previous', 'courage'),\n action: function action() {\n this.model.trigger('form:previous');\n }\n });\n break;\n }\n return _createButton(options);\n },\n\n validateInput: validateInput,\n\n /**\n * Applies a show-when logic on a view instance.\n * The show-when is a map of a model field name -> a boolean or a function that returns a boolean.\n * The view will toggle based on the field value.\n *\n * @param {Okta.View} view a view instance that has a this.model attached to it\n * @param {Object} showWhen\n */\n applyShowWhen: function applyShowWhen(view, showWhen) {\n var toggleAndResize = function toggleAndResize(bool) {\n return function () {\n // The `toggle` is here since an event may be triggered before the el is in the DOM\n // and in that case slide events may not function as expected.\n view.$el.toggle(bool);\n view.model.trigger('form:resize');\n };\n };\n\n __WEBPACK_IMPORTED_MODULE_4__util_ViewUtil__[\"a\" /* default */].applyDoWhen(view, decorateDoWhen(showWhen), function (bool, options) {\n if (!options.animate) {\n view.$el.toggle(bool);\n } else {\n view.$el['slide' + (bool ? 'Down' : 'Up')](200, toggleAndResize(bool));\n }\n });\n },\n\n applyToggleWhen: function applyToggleWhen(view, toggleWhen) {\n __WEBPACK_IMPORTED_MODULE_4__util_ViewUtil__[\"a\" /* default */].applyDoWhen(view, decorateDoWhen(toggleWhen), function (bool, options) {\n view.$el.toggle(bool);\n view.model.trigger('form:resize');\n if (options.animate) {\n view.render();\n }\n });\n }\n };\n\n /***/\n},\n/* 10 */\n/***/function (module, __webpack_exports__, __webpack_require__) {\n\n \"use strict\";\n /* harmony import */\n var __WEBPACK_IMPORTED_MODULE_0__util_jquery_wrapper__ = __webpack_require__(2);\n /* harmony import */var __WEBPACK_IMPORTED_MODULE_1__util_underscore_wrapper__ = __webpack_require__(0);\n /* harmony import */var __WEBPACK_IMPORTED_MODULE_2__util_ButtonFactory__ = __webpack_require__(23);\n /* harmony import */var __WEBPACK_IMPORTED_MODULE_3__util_StringUtil__ = __webpack_require__(3);\n /* harmony import */var __WEBPACK_IMPORTED_MODULE_4__BaseView__ = __webpack_require__(1);\n /* harmony import */var __WEBPACK_IMPORTED_MODULE_5__components_Callout__ = __webpack_require__(29);\n /* eslint-env es6 */\n /* eslint max-statements: [2, 17], max-len: [2, 160], max-params: [2, 6] */\n\n /**\n * @class BaseInput\n * @private\n * An abstract object that defines an input for {@link Okta.Form}\n *\n * BaseInputs are typically not created directly, but being passed to {@link Okta.Form#addInput}\n * @extends Okta.View\n */\n\n /* harmony default export */__webpack_exports__[\"a\"] = __WEBPACK_IMPORTED_MODULE_4__BaseView__[\"default\"].extend({\n tagName: 'span',\n\n attributes: function attributes() {\n return {\n 'data-se': 'o-form-input-' + this.getNameString()\n };\n },\n\n /**\n * default placeholder text when options.placeholder is not defined\n */\n defaultPlaceholder: '',\n\n constructor: function constructor(options) {\n /* eslint complexity: [2, 7] */\n options = __WEBPACK_IMPORTED_MODULE_1__util_underscore_wrapper__[\"default\"].defaults(options || {}, {\n inputId: options.id || __WEBPACK_IMPORTED_MODULE_1__util_underscore_wrapper__[\"default\"].uniqueId('input'),\n placeholder: this.defaultPlaceholder,\n inlineValidation: true,\n validateOnlyIfDirty: false\n });\n\n delete options.id;\n\n // decorate the `enable` and `disable` and toggle the `o-form-disabled` class.\n // so we wont need to worry about this when overriding the methods\n var self = this;\n\n __WEBPACK_IMPORTED_MODULE_1__util_underscore_wrapper__[\"default\"].each({ enable: 'removeClass', disable: 'addClass' }, function (method, action) {\n self[action] = __WEBPACK_IMPORTED_MODULE_1__util_underscore_wrapper__[\"default\"].wrap(self[action], function (fn) {\n fn.apply(self, arguments);\n self.$el[method]('o-form-disabled');\n });\n });\n\n __WEBPACK_IMPORTED_MODULE_4__BaseView__[\"default\"].call(this, options);\n\n if (__WEBPACK_IMPORTED_MODULE_1__util_underscore_wrapper__[\"default\"].result(options, 'readOnly') !== true && __WEBPACK_IMPORTED_MODULE_1__util_underscore_wrapper__[\"default\"].result(options, 'read') === true) {\n this.listenTo(this.model, 'change:__edit__', this.render);\n }\n\n if (__WEBPACK_IMPORTED_MODULE_1__util_underscore_wrapper__[\"default\"].isFunction(this.focus)) {\n this.focus = __WEBPACK_IMPORTED_MODULE_1__util_underscore_wrapper__[\"default\"].debounce(__WEBPACK_IMPORTED_MODULE_1__util_underscore_wrapper__[\"default\"].bind(this.focus, this), 50);\n }\n\n // Enable inline validation if this is not the first field in the form.\n if (!__WEBPACK_IMPORTED_MODULE_1__util_underscore_wrapper__[\"default\"].result(options, 'validateOnlyIfDirty')) {\n this.addInlineValidation();\n }\n\n this.addModelListeners();\n this.$el.addClass('o-form-input-name-' + this.getNameString());\n },\n\n addAriaLabel: function addAriaLabel() {\n var ariaLabel = this.options.ariaLabel;\n\n if (ariaLabel) {\n this.$(':input').attr('aria-label', ariaLabel);\n }\n },\n\n addInlineValidation: function addInlineValidation() {\n if (__WEBPACK_IMPORTED_MODULE_1__util_underscore_wrapper__[\"default\"].result(this.options, 'inlineValidation')) {\n this.$el.on('focusout', ':input', __WEBPACK_IMPORTED_MODULE_1__util_underscore_wrapper__[\"default\"].bind(this.validate, this));\n }\n },\n\n toModelValue: function toModelValue() {\n var value = this.val();\n\n if (__WEBPACK_IMPORTED_MODULE_1__util_underscore_wrapper__[\"default\"].isFunction(this.to)) {\n value = this.to.call(this, value);\n }\n if (__WEBPACK_IMPORTED_MODULE_1__util_underscore_wrapper__[\"default\"].isFunction(this.options.to)) {\n value = this.options.to.call(this, value);\n }\n return value;\n },\n\n __getDependencyCalloutBtn: function __getDependencyCalloutBtn(btnConfig) {\n var self = this;\n\n var btnOptions = __WEBPACK_IMPORTED_MODULE_1__util_underscore_wrapper__[\"default\"].clone(btnConfig);\n\n var originalClick = btnOptions.click || function () {};\n // add onfocus listener to re-evaluate depedency when callout button is clicked\n\n btnOptions.click = function () {\n Object(__WEBPACK_IMPORTED_MODULE_0__util_jquery_wrapper__[\"default\"])(window).one('focus.dependency', function () {\n self.__showInputDependencies();\n });\n originalClick.call(self);\n };\n var BaseInputCalloutBtn = __WEBPACK_IMPORTED_MODULE_4__BaseView__[\"default\"].extend({\n children: [__WEBPACK_IMPORTED_MODULE_2__util_ButtonFactory__[\"default\"].create(btnOptions)]\n });\n\n return new BaseInputCalloutBtn();\n },\n\n getCalloutParent: function getCalloutParent() {\n return this.$('input[value=\"' + this.getModelValue() + '\"]').parent();\n },\n\n __getCalloutMsgContainer: function __getCalloutMsgContainer(calloutMsg) {\n return __WEBPACK_IMPORTED_MODULE_4__BaseView__[\"default\"].extend({\n template: '\\\n <span class=\"o-form-explain\">\\\n {{msg}}\\\n </span>\\\n ',\n getTemplateData: function getTemplateData() {\n return {\n msg: calloutMsg\n };\n }\n });\n },\n\n showCallout: function showCallout(calloutConfig, dependencyResolved) {\n var callout = __WEBPACK_IMPORTED_MODULE_1__util_underscore_wrapper__[\"default\"].clone(calloutConfig);\n\n callout.className = 'dependency-callout';\n if (callout.btn) {\n callout.content = this.__getDependencyCalloutBtn(callout.btn);\n delete callout.btn;\n }\n var dependencyCallout = __WEBPACK_IMPORTED_MODULE_5__components_Callout__[\"default\"].create(callout);\n\n if (!dependencyResolved) {\n dependencyCallout.add(this.__getCalloutMsgContainer(__WEBPACK_IMPORTED_MODULE_3__util_StringUtil__[\"default\"].localize('dependency.callout.msg', 'courage')));\n }\n var calloutParent = this.getCalloutParent();\n\n calloutParent.append(dependencyCallout.render().el);\n if (callout.type === 'success') {\n __WEBPACK_IMPORTED_MODULE_1__util_underscore_wrapper__[\"default\"].delay(function () {\n // fade out success callout\n dependencyCallout.$el.fadeOut(800);\n }, 1000);\n }\n },\n\n removeCallout: function removeCallout() {\n this.$el.find('.dependency-callout').remove();\n },\n\n __evaluateCalloutObject: function __evaluateCalloutObject(dependencyResolved, calloutTitle) {\n var defaultCallout = void 0;\n\n if (dependencyResolved) {\n defaultCallout = {\n title: __WEBPACK_IMPORTED_MODULE_3__util_StringUtil__[\"default\"].localize('dependency.action.completed', 'courage'),\n size: 'large',\n type: 'success'\n };\n } else {\n defaultCallout = {\n title: __WEBPACK_IMPORTED_MODULE_3__util_StringUtil__[\"default\"].localize('dependency.action.required', 'courage', [calloutTitle]),\n size: 'large',\n type: 'warning'\n };\n }\n return defaultCallout;\n },\n\n __handleDependency: function __handleDependency(result, callout) {\n var self = this;\n var calloutConfig = __WEBPACK_IMPORTED_MODULE_1__util_underscore_wrapper__[\"default\"].isFunction(callout) ? callout(result) : __WEBPACK_IMPORTED_MODULE_1__util_underscore_wrapper__[\"default\"].extend({}, callout, self.__evaluateCalloutObject(result.resolved, callout.title));\n\n // remove existing callouts if any\n self.removeCallout();\n self.showCallout(calloutConfig, result.resolved);\n },\n\n __showInputDependencies: function __showInputDependencies() {\n var self = this;\n var fieldDependency = self.options.deps[self.getModelValue()];\n\n if (fieldDependency && __WEBPACK_IMPORTED_MODULE_1__util_underscore_wrapper__[\"default\"].isFunction(fieldDependency.func)) {\n fieldDependency.func().done(function (data) {\n self.__handleDependency({ resolved: true, data: data }, fieldDependency.callout);\n }).fail(function (data) {\n self.__handleDependency({ resolved: false, data: data }, fieldDependency.callout);\n });\n } else {\n self.removeCallout();\n }\n },\n\n _isEdited: false,\n /**\n * updates the model with the input's value\n */\n update: function update() {\n if (!this._isEdited && __WEBPACK_IMPORTED_MODULE_1__util_underscore_wrapper__[\"default\"].result(this.options, 'validateOnlyIfDirty')) {\n this._isEdited = true;\n this.addInlineValidation();\n }\n this.model.set(this.options.name, this.toModelValue());\n if (this.options.deps) {\n // check for dependencies\n this.__showInputDependencies();\n }\n },\n\n /**\n * Is the input in edit mode\n * @return {Boolean}\n */\n isEditMode: function isEditMode() {\n var ret = !__WEBPACK_IMPORTED_MODULE_1__util_underscore_wrapper__[\"default\"].result(this.options, 'readOnly') && (__WEBPACK_IMPORTED_MODULE_1__util_underscore_wrapper__[\"default\"].result(this.options, 'read') !== true || this.model.get('__edit__') === true);\n\n return ret;\n },\n\n /**\n * Renders the input\n * @readonly\n */\n render: function render() {\n this.preRender();\n var params = this.options.params;\n\n this.options.params = __WEBPACK_IMPORTED_MODULE_1__util_underscore_wrapper__[\"default\"].resultCtx(this.options, 'params', this);\n\n if (this.isEditMode()) {\n this.editMode();\n if (__WEBPACK_IMPORTED_MODULE_1__util_underscore_wrapper__[\"default\"].resultCtx(this.options, 'disabled', this)) {\n this.disable();\n } else {\n this.enable();\n }\n } else {\n this.readMode();\n }\n\n this.options.params = params;\n this.addAriaLabel();\n this.postRender();\n\n return this;\n },\n\n /**\n * checks if the current value in the model is valid for this field\n */\n validate: function validate() {\n if (!this.model.get('__pending__') && this.isEditMode() && __WEBPACK_IMPORTED_MODULE_1__util_underscore_wrapper__[\"default\"].isFunction(this.model.validateField)) {\n var validationError = this.model.validateField(this.options.name);\n\n if (validationError) {\n __WEBPACK_IMPORTED_MODULE_1__util_underscore_wrapper__[\"default\"].delay(function () {\n this.model.trigger('form:clear-error:' + this.options.name);\n this.model.trigger('invalid', this.model, validationError, false);\n }.bind(this), 100);\n }\n }\n },\n\n /**\n * Add model event listeners\n */\n addModelListeners: function addModelListeners() {\n this.listenTo(this.model, 'form:field-error', function (name) {\n if (this.options.name === name) {\n this.__markError();\n }\n });\n this.listenTo(this.model, 'form:clear-errors change:' + this.options.name, this.__clearError);\n this.listenTo(this.model, 'form:clear-error:' + this.options.name, this.__clearError);\n },\n\n /**\n * The value of the input\n * @return {Mixed}\n */\n val: function val() {\n throw new Error('val() is an abstract method');\n },\n\n /**\n * Set focus on the input\n */\n focus: function focus() {\n throw new Error('focus() is an abstract method');\n },\n\n /**\n * Default value in read mode\n * When model has no value for the field\n */\n defaultValue: function defaultValue() {\n return '';\n },\n\n /**\n * Renders the input in edit mode\n */\n editMode: function editMode() {\n var options = __WEBPACK_IMPORTED_MODULE_1__util_underscore_wrapper__[\"default\"].extend({}, this.options, {\n value: this.getModelValue()\n });\n\n this.$el.html(this.template(options));\n this.options.multi && this.$el.removeClass('margin-r');\n return this;\n },\n\n /**\n * Renders the readable value of the input in read mode\n */\n readMode: function readMode() {\n this.$el.text(this.getReadModeString());\n this.$el.removeClass('error-field');\n this.options.multi && this.$el.addClass('margin-r');\n return this;\n },\n\n getReadModeString: function getReadModeString() {\n var readModeStr = __WEBPACK_IMPORTED_MODULE_1__util_underscore_wrapper__[\"default\"].resultCtx(this.options, 'readModeString', this);\n\n if (readModeStr) {\n return readModeStr;\n }\n return this.toStringValue();\n },\n\n /**\n * The model value off the field associated with the input\n * @return {Mixed}\n */\n getModelValue: function getModelValue() {\n var value = this.model.get(this.options.name);\n\n if (__WEBPACK_IMPORTED_MODULE_1__util_underscore_wrapper__[\"default\"].isFunction(this.from)) {\n value = this.from.call(this, value);\n }\n if (__WEBPACK_IMPORTED_MODULE_1__util_underscore_wrapper__[\"default\"].isFunction(this.options.from)) {\n value = this.options.from.call(this, value);\n }\n return value;\n },\n\n /*\n * convenience method to get the textual value from the model\n * will return the textual label rather than value in case of select/radio\n * @return {String}\n */\n toStringValue: function toStringValue() {\n var value = this.getModelValue();\n\n if (this.options.options) {\n // dropdown or radio\n value = this.options.options[value];\n }\n return value || this.defaultValue();\n },\n\n /**\n * Triggers a form:resize event in order to tell dialogs content size has changed\n */\n resize: function resize() {\n this.model.trigger('form:resize');\n },\n\n /**\n * Disable the input\n */\n disable: function disable() {\n this.$(':input').prop('disabled', true);\n },\n\n /**\n * Enable the input\n */\n enable: function enable() {\n this.$(':input').prop('disabled', false);\n },\n\n /**\n * Change the type of the input field. (e.g., text <--> password)\n * @param type\n */\n changeType: function changeType(type) {\n this.$(':input').prop('type', type);\n // Update the options so that it keeps the uptodate state\n this.options.type = type;\n },\n\n getNameString: function getNameString() {\n if (__WEBPACK_IMPORTED_MODULE_1__util_underscore_wrapper__[\"default\"].isArray(this.options.name)) {\n return this.options.name.join('-');\n }\n return this.options.name;\n },\n\n /**\n * Get parameters, computing _.result\n * @param {[type]} options alternative options\n * @return {Object} the params\n */\n getParams: function getParams(options) {\n var opts = options || this.options || {};\n\n return __WEBPACK_IMPORTED_MODULE_1__util_underscore_wrapper__[\"default\"].clone(__WEBPACK_IMPORTED_MODULE_1__util_underscore_wrapper__[\"default\"].resultCtx(opts, 'params', this) || {});\n },\n\n /**\n * get a parameter from options.params, compute _.result when needed.\n * @param {String} key\n * @param {Object} defaultValue\n * @return {Object} the params\n */\n getParam: function getParam(key, defaultValue) {\n var result = __WEBPACK_IMPORTED_MODULE_1__util_underscore_wrapper__[\"default\"].resultCtx(this.getParams(), key, this);\n\n return !__WEBPACK_IMPORTED_MODULE_1__util_underscore_wrapper__[\"default\"].isUndefined(result) ? result : defaultValue;\n },\n\n /**\n * Get a parameter from options.params or if empty, object attribute.\n *\n * @param {String} key\n * @return {Object} the param or attribute\n */\n getParamOrAttribute: function getParamOrAttribute(key) {\n return this.getParam(key) || __WEBPACK_IMPORTED_MODULE_1__util_underscore_wrapper__[\"default\"].result(this, key);\n },\n\n __markError: function __markError() {\n this.$el.addClass('o-form-has-errors');\n },\n\n __clearError: function __clearError() {\n this.$el.removeClass('o-form-has-errors');\n }\n });\n\n /***/\n},\n/* 11 */\n/***/function (module, __webpack_exports__, __webpack_require__) {\n\n \"use strict\";\n\n Object.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n /* harmony import */var __WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__ = __webpack_require__(0);\n /* harmony import */var __WEBPACK_IMPORTED_MODULE_1__framework_Model__ = __webpack_require__(37);\n\n /**\n * Wrapper around the more generic {@link src/framework/Model} that\n * contains Okta-specific logic.\n * @class module:Okta.Model\n * @extends src/framework/Model\n */\n /* harmony default export */__webpack_exports__[\"default\"] = __WEBPACK_IMPORTED_MODULE_1__framework_Model__[\"a\" /* default */].extend(\n /** @lends module:Okta.Model.prototype */{\n /**\n * Is the end point using the legacy \"secureJSON\" format\n * @type {Function|Boolean}\n */\n secureJSON: false,\n\n _builtInLocalProps: {\n __edit__: 'boolean',\n __pending__: 'boolean'\n },\n\n constructor: function constructor() {\n this.local = __WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].defaults({}, __WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].result(this, 'local'), this._builtInLocalProps);\n\n if (__WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].result(this, 'secureJSON')) {\n this.sync = __WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].wrap(this.sync, function (sync, method, model, options) {\n return sync.call(this, method, model, __WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].extend({ dataType: 'secureJSON' }, options));\n });\n }\n\n __WEBPACK_IMPORTED_MODULE_1__framework_Model__[\"a\" /* default */].apply(this, arguments);\n }\n });\n\n /***/\n},\n/* 12 */\n/***/function (module, exports) {\n\n module.exports = __webpack_require__(120);\n\n /***/\n},\n/* 13 */\n/***/function (module, __webpack_exports__, __webpack_require__) {\n\n \"use strict\";\n /* harmony import */\n var __WEBPACK_IMPORTED_MODULE_0__underscore_wrapper__ = __webpack_require__(0);\n /* harmony import */var __WEBPACK_IMPORTED_MODULE_1__StringUtil__ = __webpack_require__(3);\n\n var loc = __WEBPACK_IMPORTED_MODULE_1__StringUtil__[\"default\"].localize;\n var SchemaUtils = {\n STRING: 'string',\n NUMBER: 'number',\n INTEGER: 'integer',\n BOOLEAN: 'boolean',\n OBJECT: 'object',\n FORMATDISPLAYTYPE: {\n 'date-time': 'date',\n uri: 'uri',\n email: 'email',\n // TODO: settle on using EITHER underscores OR hyphens --- not both (OKTA-202818)\n 'country-code': 'country-code',\n 'language-code': 'language-code',\n 'country_code': 'country_code',\n 'language_code': 'language_code',\n locale: 'locale',\n timezone: 'timezone',\n 'ref-id': 'reference'\n },\n ARRAYDISPLAYTYPE: {\n arrayofobject: 'arrayofobject',\n arrayofstring: 'arrayofstring',\n arrayofnumber: 'arrayofnumber',\n arrayofinteger: 'arrayofinteger',\n 'arrayofref-id': 'arrayofref-id'\n },\n DISPLAYTYPES: {\n date: { type: 'string', format: 'date-time' },\n uri: { type: 'string', format: 'uri' },\n email: { type: 'string', format: 'email' },\n // TODO: Resolve inconsistencies in hyphens vs. underscores for these properties (OKTA-202818)\n 'country-code': { type: 'string', format: 'country-code' },\n 'language-code': { type: 'string', format: 'language-code' },\n 'country_code': { type: 'string' },\n 'language_code': { type: 'string' },\n locale: { type: 'string', format: 'locale' },\n timezone: { type: 'string', format: 'timezone' },\n string: { type: 'string' },\n number: { type: 'number' },\n boolean: { type: 'boolean' },\n integer: { type: 'integer' },\n reference: { type: 'string', format: 'ref-id' },\n arrayofobject: { type: 'array', items: { type: 'object' } },\n arrayofstring: { type: 'array', items: { type: 'string' } },\n arrayofnumber: { type: 'array', items: { type: 'number' } },\n arrayofinteger: { type: 'array', items: { type: 'integer' } },\n 'arrayofref-id': { type: 'array', items: { type: 'string', format: 'ref-id' } },\n image: { type: 'image' },\n password: { type: 'string' }\n },\n SUPPORTSMINMAX: ['string', 'number', 'integer', 'password'],\n SUPPORTENUM: ['string', 'number', 'integer', 'object', 'arrayofstring', 'arrayofnumber', 'arrayofinteger', 'arrayofobject'],\n DATATYPE: {\n string: 'string',\n number: 'number',\n boolean: 'boolean',\n integer: 'integer',\n date: 'datetime',\n object: 'object',\n arrayofobject: 'object array',\n arrayofstring: 'string array',\n arrayofnumber: 'number array',\n arrayofinteger: 'integer array',\n 'arrayofref-id': 'reference array',\n // TODO: settle on using EITHER underscores OR hyphens --- not both (OKTA-202818)\n 'country-code': 'country code',\n 'language-code': 'language code',\n 'country_code': 'country code',\n 'language_code': 'language code',\n reference: 'reference',\n timezone: 'timezone',\n image: 'image'\n },\n MUTABILITY: {\n READONLY: 'READ_ONLY',\n WRITEONLY: 'WRITE_ONLY',\n READWRITE: 'READ_WRITE',\n IMMUTABLE: 'IMMUTABLE'\n },\n SCOPE: {\n NONE: 'NONE',\n SELF: 'SELF',\n SYSTEM: 'SYSTEM'\n },\n DISPLAYSCOPE: {\n SELF: 'User personal',\n SYSTEM: 'System',\n NA: 'None'\n },\n UNION: {\n DISABLE: 'DISABLE',\n ENABLE: 'ENABLE'\n },\n UNION_OPTIONS: {\n DISABLE: loc('universal-directory.profiles.attribute.form.union.enable.display', 'courage'),\n ENABLE: loc('universal-directory.profiles.attribute.form.union.disable.display', 'courage')\n },\n PERMISSION: {\n HIDE: 'HIDE',\n READ_ONLY: 'READ_ONLY',\n WRITE_ONLY: 'WRITE_ONLY',\n READ_WRITE: 'READ_WRITE'\n },\n ENDUSER_ATTRIBUTE_PERMISSION_OPTIONS: {\n HIDE: loc('universal-directory.profiles.attribute.enduser.permission.hide', 'courage'),\n READ_ONLY: loc('universal-directory.profiles.attribute.enduser.permission.readonly', 'courage'),\n READ_WRITE: loc('universal-directory.profiles.attribute.enduser.permission.readwrite', 'courage')\n },\n ATTRIBUTE_LEVEL_MASTERING_OPTIONS: {\n INHERIT: loc('universal-directory.profiles.attribute.master.inherit', 'courage'),\n OKTA_MASTERED: loc('universal-directory.profiles.attribute.master.oktamastered', 'courage'),\n OVERRIDE: loc('universal-directory.profiles.attribute.master.override', 'courage')\n },\n USERNAMETYPE: {\n NONE: 'non-username',\n OKTA_TO_APP: 'okta-to-app-username',\n OKTA_TO_AD: 'okta-to-ad-username',\n APP_TO_OKTA: 'app-to-okta-username',\n IDP_TO_OKTA: 'idp-to-okta-username'\n },\n LOGINPATTERNFORMAT: {\n EMAIL: 'EMAIL',\n CUSTOM: 'CUSTOM',\n NONE: 'NONE'\n },\n UNIQUENESS: {\n NOT_UNIQUE: 'NOT_UNIQUE',\n PENDING_UNIQUENESS: 'PENDING_UNIQUENESS',\n UNIQUE_VALIDATED: 'UNIQUE_VALIDATED'\n },\n\n /*\n * Get a display string for a schema attribute type.\n * @param {String} type Type of an attribute\n * @param {String} format Format of an attribute\n * @param {String} itemType Item type of an attribute if an array\n * @param {String} defaultValue The default value if an attribute type is undefined\n * @return {String} the display value\n */\n getDisplayType: function getDisplayType(type, format, itemType, defaultValue) {\n var displayType = void 0;\n\n // type is undefined for\n // - an un-mapped source attribute from mapping\n // - an source attribute which is mapped to username target attribute\n if (type) {\n // format is only defined for complicated types (ex. reference, date time, array)\n // not for simple types (ex. string, integer, boolean)\n if (format) {\n displayType = this.FORMATDISPLAYTYPE[format];\n } else {\n // itemType is only defined for array type\n // to specify an array element type (ex. string, integer, number)\n displayType = itemType ? this.ARRAYDISPLAYTYPE[type + 'of' + itemType] : type;\n }\n }\n if (!displayType) {\n displayType = typeof defaultValue === 'undefined' ? '' : defaultValue;\n }\n return displayType;\n },\n\n /*\n * Get attribute mapping source attribute username type\n * @param {String} mappingDirection\n * @param {String} targetName The mapping target attribute name\n * @param {String} appName The app name that's mapped to/from Okta\n * @return {String} the source attribute username type value\n */\n getSourceUsernameType: function getSourceUsernameType(mappingDirection, targetName, appName) {\n var sourceUsernameType = this.USERNAMETYPE.NONE;\n /* eslint complexity: [2, 7] */\n\n if (mappingDirection === 'oktaToApp') {\n if (targetName === 'userName') {\n sourceUsernameType = this.USERNAMETYPE.OKTA_TO_APP;\n } else if (targetName === 'cn') {\n sourceUsernameType = this.USERNAMETYPE.OKTA_TO_AD;\n }\n } else if (mappingDirection === 'appToOkta' && targetName === 'login') {\n if (appName === 'saml_idp') {\n sourceUsernameType = this.USERNAMETYPE.IDP_TO_OKTA;\n } else {\n sourceUsernameType = this.USERNAMETYPE.APP_TO_OKTA;\n }\n }\n return sourceUsernameType;\n },\n\n isArrayDataType: function isArrayDataType(type) {\n return __WEBPACK_IMPORTED_MODULE_0__underscore_wrapper__[\"default\"].contains(__WEBPACK_IMPORTED_MODULE_0__underscore_wrapper__[\"default\"].values(this.ARRAYDISPLAYTYPE), type);\n },\n\n isObjectDataType: function isObjectDataType(type) {\n return this.DATATYPE.object === type;\n }\n };\n /* harmony default export */__webpack_exports__[\"a\"] = SchemaUtils;\n\n /***/\n},\n/* 14 */\n/***/function (module, __webpack_exports__, __webpack_require__) {\n\n \"use strict\";\n\n Object.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n /* harmony import */var __WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__ = __webpack_require__(0);\n /* harmony import */var __WEBPACK_IMPORTED_MODULE_1__framework_Collection__ = __webpack_require__(36);\n\n /**\n * Wrapper around the more generic {@link src/framework/Collection} that\n * contains Okta-specific logic.\n * @class module:Okta.Collection\n * @extends src/framework/Collection\n */\n /* harmony default export */__webpack_exports__[\"default\"] = __WEBPACK_IMPORTED_MODULE_1__framework_Collection__[\"a\" /* default */].extend(\n /** @lends module:Okta.Collection.prototype */{\n /**\n * Is the end point using the legacy \"secureJSON\" format\n * @type {Function|Boolean}\n */\n secureJSON: false,\n\n constructor: function constructor() {\n if (__WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].result(this, 'secureJSON')) {\n this.sync = __WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].wrap(this.sync, function (sync, method, collection, options) {\n return sync.call(this, method, collection, __WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].extend({ dataType: 'secureJSON' }, options));\n });\n }\n __WEBPACK_IMPORTED_MODULE_1__framework_Collection__[\"a\" /* default */].apply(this, arguments);\n }\n });\n\n /***/\n},\n/* 15 */\n/***/function (module, __webpack_exports__, __webpack_require__) {\n\n \"use strict\";\n\n Object.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n /* harmony import */var __WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__ = __webpack_require__(0);\n /* harmony import */var __WEBPACK_IMPORTED_MODULE_1__Model__ = __webpack_require__(11);\n\n var hasProps = function hasProps(model) {\n var local = __WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].omit(model.local, __WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].keys(model._builtInLocalProps));\n\n return __WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].size(model.props) + __WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].size(local) > 0;\n };\n\n /**\n * @class module:Okta.BaseModel\n * @extends module:Okta.Model\n * @deprecated Use {@link module:Okta.Model|Okta.Model} instead\n * @example\n * var Model = BaseModel.extend({\n * defaults: {\n * name: BaseModel.ComputedProperty(['fname', 'lname'], function (fname, lname) {\n * return fname + ' ' + lname;\n * })\n * }\n * });\n * var model = new Model({fname: 'Joe', lname: 'Doe'});\n * model.get('name'); //=> \"Joe Doe\"\n * model.toJSON(); //=> {fname: 'Joe', lname: 'Doe'}\n *\n * model.set('__private__', 'private property');\n * model.get('__private__'); //=> \"private property\"\n * model.toJSON(); //=> {fname: 'Joe', lname: 'Doe'}\n */\n\n var BaseModelBaseModel = __WEBPACK_IMPORTED_MODULE_1__Model__[\"default\"].extend(\n /** @lends module:Okta.BaseModel.prototype */{\n /**\n * @type {Boolean}\n */\n flat: false,\n\n constructor: function constructor() {\n __WEBPACK_IMPORTED_MODULE_1__Model__[\"default\"].apply(this, arguments);\n this.on('sync', this._setSynced);\n },\n\n allows: function allows() {\n if (hasProps(this)) {\n return __WEBPACK_IMPORTED_MODULE_1__Model__[\"default\"].prototype.allows.apply(this, arguments);\n } else {\n return true;\n }\n },\n\n // bw compatibility support for old computed properties\n set: function set(key, val) {\n var attrs = void 0;\n\n if ((typeof key === 'undefined' ? 'undefined' : (0, _typeof3.default)(key)) === 'object') {\n attrs = key;\n } else {\n (attrs = {})[key] = val;\n }\n\n // computed properties\n Object(__WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"])(attrs).each(function (fn, attr) {\n if (!fn || !__WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].isArray(fn.__attributes)) {\n return;\n }\n this.on('change:' + fn.__attributes.join(' change:'), function () {\n var val = this.get(attr);\n\n if (val !== this['__schema__'].computedProperties[attr]) {\n this['__schema__'].computedProperties[attr] = val;\n this.trigger('change:' + attr, val);\n }\n }, this);\n }, this);\n\n return __WEBPACK_IMPORTED_MODULE_1__Model__[\"default\"].prototype.set.apply(this, arguments);\n },\n\n /**\n * Get the current value of an attribute from the model. For example: `note.get(\"title\")`\n *\n * See [Model.get](http://backbonejs.org/#Model-get)\n * @param {String} attribute\n * @return {Mixed} The value of the model attribute\n */\n get: function get() {\n var value = __WEBPACK_IMPORTED_MODULE_1__Model__[\"default\"].prototype.get.apply(this, arguments);\n\n if (__WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].isFunction(value)) {\n return value.apply(this, __WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].map(value.__attributes || [], this.get, this));\n }\n return value;\n },\n\n /**\n * Return a shallow copy of the model's attributes for JSON stringification.\n * This can be used for persistence, serialization, or for augmentation before being sent to the server.\n * The name of this method is a bit confusing, as it doesn't actually return a JSON string —\n * but I'm afraid that it's the way that the JavaScript API for JSON.stringify works.\n *\n * ```javascript\n * var artist = new Model({\n * firstName: \"Wassily\",\n * lastName: \"Kandinsky\"\n * });\n *\n * artist.set({birthday: \"December 16, 1866\"});\n * alert(JSON.stringify(artist)); // {\"firstName\":\"Wassily\",\"lastName\":\"Kandinsky\",\"birthday\":\"December 16, 1866\"}\n * ```\n * See [Model.toJSON](http://backbonejs.org/#Model-toJSON)\n * @param {Object} options\n * @return {Object}\n */\n toJSON: function toJSON(options) {\n options || (options = {});\n var res = __WEBPACK_IMPORTED_MODULE_1__Model__[\"default\"].prototype.toJSON.apply(this, arguments);\n\n // cleanup computed properties\n Object(__WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"])(res).each(function (value, key) {\n if (typeof value === 'function') {\n if (options.verbose) {\n res[key] = this.get(key);\n } else {\n delete res[key];\n }\n }\n }, this);\n\n // cleanup private properties\n if (!options.verbose) {\n Object(__WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"])(res).each(function (value, key) {\n if (/^__\\w+__$/.test(key)) {\n delete res[key];\n }\n });\n }\n\n return res;\n },\n\n sanitizeAttributes: function sanitizeAttributes(attributes) {\n var attrs = {};\n\n __WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].each(attributes, function (value, key) {\n if (!__WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].isFunction(value)) {\n attrs[key] = value;\n }\n });\n return attrs;\n },\n\n reset: function reset(options) {\n this.clear(options);\n this.set(this.sanitizeAttributes(this.defaults), options);\n },\n\n clear: function clear(options) {\n var attrs = {};\n\n __WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].each(this.sanitizeAttributes(this.attributes), function (value, key) {\n attrs[key] = void 0;\n });\n return this.set(attrs, __WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].extend({}, options, { unset: true }));\n },\n\n /**\n * @private\n */\n _setSynced: function _setSynced(newModel) {\n this._syncedData = newModel && __WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].isFunction(newModel.toJSON) ? newModel.toJSON() : {};\n },\n\n /**\n * @private\n */\n _getSynced: function _getSynced() {\n return this._syncedData;\n },\n\n isSynced: function isSynced() {\n return __WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].isEqual(this._getSynced(), this.toJSON());\n }\n },\n /** @lends module:Okta.BaseModel.prototype */{\n /**\n * @static\n *\n * Example:\n *\n * ```javascript\n * var Model = BaseModel.extend({\n * defaults: {\n * name: BaseModel.ComputedProperty(['fname', 'lname'], function (fname, lname) {\n * return fname + ' ' + lname;\n * })\n * }\n * });\n * var model = new Model({fname: 'Joe', lname: 'Doe'});\n * model.get('name'); // Joe Doe\n * model.toJSON(); // {fname: 'Joe', lname: 'Doe'}\n * ```\n *\n * @param {Array} attributes - an array of the attribute names this method depends on\n * @param {Function} callback the function that computes the value of the property\n *\n * @deprecated Use {@link #derived} instead\n */\n ComputedProperty: function ComputedProperty() {\n var args = __WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].toArray(arguments);\n\n var fn = args.pop();\n\n fn.__attributes = args.pop();\n return fn;\n }\n });\n /* harmony default export */__webpack_exports__[\"default\"] = BaseModelBaseModel;\n\n /***/\n},\n/* 16 */\n/***/function (module, __webpack_exports__, __webpack_require__) {\n\n \"use strict\";\n\n Object.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n /* harmony import */var __WEBPACK_IMPORTED_MODULE_0__underscore_wrapper__ = __webpack_require__(0);\n /* harmony import */var __WEBPACK_IMPORTED_MODULE_1__views_BaseView__ = __webpack_require__(1);\n\n /* harmony default export */__webpack_exports__[\"default\"] = {\n redirect: function redirect(url) {\n window.location = url;\n },\n\n reloadPage: function reloadPage() {\n window.location.reload();\n },\n\n constantError: function constantError(errorMessage) {\n return function () {\n throw new Error(errorMessage);\n };\n },\n\n /**\n * Simply convert an URL query key value pair object into an URL query string.\n * Remember NOT to escape the query string when using this util.\n * example:\n * input: {userId: 123, instanceId: undefined, expand: 'schema,app'}\n * output: '?userId=123&expand=schema,app'\n */\n getUrlQueryString: function getUrlQueryString(queries) {\n __WEBPACK_IMPORTED_MODULE_0__underscore_wrapper__[\"default\"].isObject(queries) || (queries = {});\n\n var queriesString = __WEBPACK_IMPORTED_MODULE_0__underscore_wrapper__[\"default\"].without(__WEBPACK_IMPORTED_MODULE_0__underscore_wrapper__[\"default\"].map(queries, function (value, key) {\n if (value !== undefined && value !== null) {\n return key + '=' + encodeURIComponent(value);\n }\n }), undefined).join('&');\n\n return __WEBPACK_IMPORTED_MODULE_0__underscore_wrapper__[\"default\"].isEmpty(queriesString) ? '' : '?' + queriesString;\n },\n\n isABaseView: function isABaseView(obj) {\n return obj instanceof __WEBPACK_IMPORTED_MODULE_1__views_BaseView__[\"default\"] || obj.prototype instanceof __WEBPACK_IMPORTED_MODULE_1__views_BaseView__[\"default\"] || obj === __WEBPACK_IMPORTED_MODULE_1__views_BaseView__[\"default\"];\n }\n };\n\n /***/\n},\n/* 17 */\n/***/function (module, __webpack_exports__, __webpack_require__) {\n\n \"use strict\";\n\n Object.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n /* harmony import */var __WEBPACK_IMPORTED_MODULE_0__util_jquery_wrapper__ = __webpack_require__(2);\n /* harmony import */var __WEBPACK_IMPORTED_MODULE_1__util_underscore_wrapper__ = __webpack_require__(0);\n /* harmony import */var __WEBPACK_IMPORTED_MODULE_2__BaseCollection__ = __webpack_require__(14);\n /* harmony import */var __WEBPACK_IMPORTED_MODULE_3__BaseModel__ = __webpack_require__(15);\n /* harmony import */var __WEBPACK_IMPORTED_MODULE_4__util_Logger__ = __webpack_require__(7);\n /* harmony import */var __WEBPACK_IMPORTED_MODULE_5__util_SchemaUtil__ = __webpack_require__(13);\n /* harmony import */var __WEBPACK_IMPORTED_MODULE_6__util_StringUtil__ = __webpack_require__(3);\n /* harmony import */var __WEBPACK_IMPORTED_MODULE_7__views_forms_helpers_EnumTypeHelper__ = __webpack_require__(18);\n /* eslint max-statements: [2, 16], complexity: [2, 8], max-params: [2, 8] */\n\n var loc = __WEBPACK_IMPORTED_MODULE_6__util_StringUtil__[\"default\"].localize;\n var STRING = __WEBPACK_IMPORTED_MODULE_5__util_SchemaUtil__[\"a\" /* default */].STRING;\n var NUMBER = __WEBPACK_IMPORTED_MODULE_5__util_SchemaUtil__[\"a\" /* default */].NUMBER;\n var INTEGER = __WEBPACK_IMPORTED_MODULE_5__util_SchemaUtil__[\"a\" /* default */].INTEGER;\n var OBJECT = __WEBPACK_IMPORTED_MODULE_5__util_SchemaUtil__[\"a\" /* default */].OBJECT;\n\n var getArrayTypeName = function getArrayTypeName(type, elementType) {\n return type + 'of' + elementType;\n };\n\n var SchemaPropertySubSchema = __WEBPACK_IMPORTED_MODULE_3__BaseModel__[\"default\"].extend({\n defaults: {\n description: undefined,\n minLength: undefined,\n maxLength: undefined,\n format: undefined\n },\n parse: function parse(resp) {\n if (__WEBPACK_IMPORTED_MODULE_1__util_underscore_wrapper__[\"default\"].isString(resp.format)) {\n var matcher = /^\\/(.+)\\/$/.exec(resp.format);\n\n if (matcher) {\n resp.format = matcher[1];\n }\n }\n return resp;\n }\n });\n var SchemaPropertySubSchemaCollection = __WEBPACK_IMPORTED_MODULE_2__BaseCollection__[\"default\"].extend({\n model: SchemaPropertySubSchema\n });\n var SchemaPropertySubSchemaAllOfCollection = SchemaPropertySubSchemaCollection.extend({\n _type: 'allOf'\n });\n var SchemaPropertySubSchemaOneOfCollection = SchemaPropertySubSchemaCollection.extend({\n _type: 'oneOf'\n });\n var SchemaPropertySubSchemaNoneOfCollection = SchemaPropertySubSchemaCollection.extend({\n _type: 'noneOf'\n });\n var constraintTypeErrorMessages = {\n string: loc('schema.validation.field.value.must.string', 'courage'),\n number: loc('schema.validation.field.value.must.number', 'courage'),\n integer: loc('schema.validation.field.value.must.integer', 'courage'),\n object: loc('schema.validation.field.value.must.object', 'courage')\n };\n var loginFormatNonePattern = '.+';\n var escapedLoginCharsRe = /[^a-zA-Z0-9-]/;\n var SchemaPropertySchemaProperty = __WEBPACK_IMPORTED_MODULE_3__BaseModel__[\"default\"].extend({\n constraintHandlers: {\n between: '_checkBetweenConstraints',\n greaterThan: '_checkGreaterThanConstraint',\n lessThan: '_checkLessThanConstraint',\n equals: '_checkEqualsConstraint'\n },\n\n idAttribute: 'name',\n\n local: {\n __oneOf__: {\n type: 'array',\n minItems: 1\n }\n },\n\n defaults: {\n // OKTA-28445, set empty string by default as the key for each property when syncing with server\n // so that server can respond with error when a name is not provided\n name: '',\n title: undefined,\n type: undefined,\n description: undefined,\n required: false,\n format: undefined,\n // choose disable option be default.\n union: undefined,\n subSchemas: undefined,\n settings: { permissions: { SELF: __WEBPACK_IMPORTED_MODULE_5__util_SchemaUtil__[\"a\" /* default */].PERMISSION.READ_ONLY } },\n unique: undefined,\n __metadata__: undefined,\n __isSensitive__: __WEBPACK_IMPORTED_MODULE_3__BaseModel__[\"default\"].ComputedProperty(['settings'], function (settings) {\n return !!(settings && settings.sensitive);\n }),\n __unique__: false,\n __isUniqueValidated__: __WEBPACK_IMPORTED_MODULE_3__BaseModel__[\"default\"].ComputedProperty(['unique'], function (unique) {\n return unique === __WEBPACK_IMPORTED_MODULE_5__util_SchemaUtil__[\"a\" /* default */].UNIQUENESS.UNIQUE_VALIDATED;\n }),\n __isPendingUniqueness__: __WEBPACK_IMPORTED_MODULE_3__BaseModel__[\"default\"].ComputedProperty(['unique'], function (unique) {\n return unique === __WEBPACK_IMPORTED_MODULE_5__util_SchemaUtil__[\"a\" /* default */].UNIQUENESS.PENDING_UNIQUENESS;\n }),\n __isUniqueness__: __WEBPACK_IMPORTED_MODULE_3__BaseModel__[\"default\"].ComputedProperty(['__isUniqueValidated__', '__isPendingUniqueness__'], function (isValidated, isPending) {\n return isValidated || isPending;\n }),\n __canBeSensitive__: __WEBPACK_IMPORTED_MODULE_3__BaseModel__[\"default\"].ComputedProperty(['__metadata__'], function (metadata) {\n return !!(metadata && metadata.sensitivizable);\n }),\n __userPermission__: __WEBPACK_IMPORTED_MODULE_5__util_SchemaUtil__[\"a\" /* default */].PERMISSION.READ_ONLY,\n __displayType__: undefined,\n __displayTypeLabel__: __WEBPACK_IMPORTED_MODULE_3__BaseModel__[\"default\"].ComputedProperty(['__displayType__'], function (displayType) {\n return __WEBPACK_IMPORTED_MODULE_5__util_SchemaUtil__[\"a\" /* default */].DATATYPE[displayType] || displayType;\n }),\n __supportsMinMax__: false,\n // use the private naming convention for these computed properties,\n // to deal with the complexity in cloning schema with properties (toJSON({verbose: true})),\n // to make sure these attributes are being excluded from api request\n __isReadOnly__: __WEBPACK_IMPORTED_MODULE_3__BaseModel__[\"default\"].ComputedProperty(['mutability'], function (mutability) {\n return mutability === __WEBPACK_IMPORTED_MODULE_5__util_SchemaUtil__[\"a\" /* default */].MUTABILITY.READONLY;\n }),\n __isWriteOnly__: __WEBPACK_IMPORTED_MODULE_3__BaseModel__[\"default\"].ComputedProperty(['mutability'], function (mutability) {\n return mutability === __WEBPACK_IMPORTED_MODULE_5__util_SchemaUtil__[\"a\" /* default */].MUTABILITY.WRITEONLY;\n }),\n __displayScope__: undefined,\n __isScopeSelf__: __WEBPACK_IMPORTED_MODULE_3__BaseModel__[\"default\"].ComputedProperty(['scope'], function (scope) {\n return scope === __WEBPACK_IMPORTED_MODULE_5__util_SchemaUtil__[\"a\" /* default */].SCOPE.SELF;\n }),\n __isNoneScopeArrayType__: __WEBPACK_IMPORTED_MODULE_3__BaseModel__[\"default\"].ComputedProperty(['__isScopeSelf__', '__displayType__'], function (isScopeSelf, displayType) {\n return !isScopeSelf && __WEBPACK_IMPORTED_MODULE_5__util_SchemaUtil__[\"a\" /* default */].isArrayDataType(displayType);\n }),\n __isImported__: __WEBPACK_IMPORTED_MODULE_3__BaseModel__[\"default\"].ComputedProperty(['externalName'], function (externalName) {\n return !!externalName;\n }),\n __isFromBaseSchema__: __WEBPACK_IMPORTED_MODULE_3__BaseModel__[\"default\"].ComputedProperty(['__schemaMeta__'], function (schemaMeta) {\n return schemaMeta && schemaMeta.name === 'base';\n }),\n // Only UI can turn on __enumDefined__ and reprocess the enum/oneOf value; otherwise,\n // it should leave existing value untouch\n __enumDefined__: false,\n __supportEnum__: __WEBPACK_IMPORTED_MODULE_3__BaseModel__[\"default\"].ComputedProperty(['__displayType__'], function (displayType) {\n return __WEBPACK_IMPORTED_MODULE_1__util_underscore_wrapper__[\"default\"].contains(__WEBPACK_IMPORTED_MODULE_5__util_SchemaUtil__[\"a\" /* default */].SUPPORTENUM, displayType);\n }),\n __isNumberTypeEnum__: __WEBPACK_IMPORTED_MODULE_3__BaseModel__[\"default\"].ComputedProperty(['__displayType__'], function (displayType) {\n return __WEBPACK_IMPORTED_MODULE_1__util_underscore_wrapper__[\"default\"].contains([__WEBPACK_IMPORTED_MODULE_5__util_SchemaUtil__[\"a\" /* default */].NUMBER, __WEBPACK_IMPORTED_MODULE_5__util_SchemaUtil__[\"a\" /* default */].ARRAYDISPLAYTYPE.arrayofnumber], displayType);\n }),\n __isIntegerTypeEnum__: __WEBPACK_IMPORTED_MODULE_3__BaseModel__[\"default\"].ComputedProperty(['__displayType__'], function (displayType) {\n return __WEBPACK_IMPORTED_MODULE_1__util_underscore_wrapper__[\"default\"].contains([__WEBPACK_IMPORTED_MODULE_5__util_SchemaUtil__[\"a\" /* default */].INTEGER, __WEBPACK_IMPORTED_MODULE_5__util_SchemaUtil__[\"a\" /* default */].ARRAYDISPLAYTYPE.arrayofinteger], displayType);\n }),\n __isObjectTypeEnum__: __WEBPACK_IMPORTED_MODULE_3__BaseModel__[\"default\"].ComputedProperty(['__displayType__'], function (displayType) {\n return __WEBPACK_IMPORTED_MODULE_1__util_underscore_wrapper__[\"default\"].contains([__WEBPACK_IMPORTED_MODULE_5__util_SchemaUtil__[\"a\" /* default */].OBJECT, __WEBPACK_IMPORTED_MODULE_5__util_SchemaUtil__[\"a\" /* default */].ARRAYDISPLAYTYPE.arrayofobject], displayType);\n }),\n __isStringTypeEnum__: __WEBPACK_IMPORTED_MODULE_3__BaseModel__[\"default\"].ComputedProperty(['__displayType__'], function (displayType) {\n return __WEBPACK_IMPORTED_MODULE_1__util_underscore_wrapper__[\"default\"].contains([__WEBPACK_IMPORTED_MODULE_5__util_SchemaUtil__[\"a\" /* default */].STRING, __WEBPACK_IMPORTED_MODULE_5__util_SchemaUtil__[\"a\" /* default */].ARRAYDISPLAYTYPE.arrayofstring], displayType);\n }),\n __enumConstraintType__: __WEBPACK_IMPORTED_MODULE_3__BaseModel__[\"default\"].ComputedProperty(['__isStringTypeEnum__', '__isNumberTypeEnum__', '__isIntegerTypeEnum__', '__isObjectTypeEnum__'], function (isStringType, isNumberType, isIntegerType, isObjectType) {\n if (isStringType) {\n return STRING;\n }\n if (isNumberType) {\n return NUMBER;\n }\n if (isIntegerType) {\n return INTEGER;\n }\n if (isObjectType) {\n return OBJECT;\n }\n }),\n __isEnumDefinedAndSupported__: __WEBPACK_IMPORTED_MODULE_3__BaseModel__[\"default\"].ComputedProperty(['__enumDefined__', '__supportEnum__'], function (enumDefined, supportEnum) {\n return enumDefined && supportEnum;\n }),\n __isLoginOfBaseSchema__: __WEBPACK_IMPORTED_MODULE_3__BaseModel__[\"default\"].ComputedProperty(['__isFromBaseSchema__', 'name'], function (isFromBaseSchema, name) {\n return isFromBaseSchema && name === 'login';\n }),\n __isLoginFormatRestrictionToEmail__: __WEBPACK_IMPORTED_MODULE_3__BaseModel__[\"default\"].ComputedProperty(['__loginFormatRestriction__'], function (loginFormatRestriction) {\n return loginFormatRestriction === __WEBPACK_IMPORTED_MODULE_5__util_SchemaUtil__[\"a\" /* default */].LOGINPATTERNFORMAT.EMAIL;\n })\n },\n\n initialize: function initialize() {\n __WEBPACK_IMPORTED_MODULE_3__BaseModel__[\"default\"].prototype.initialize.apply(this, arguments);\n this.listenTo(this, 'change:__displayType__', this._updateTypeFormatConstraints);\n this.listenTo(this, 'change:type change:format change:items', this._updateDisplayType);\n this.listenTo(this, 'change:__minVal__ change:__maxVal__', this._updateMinMax);\n this.listenTo(this, 'change:__equals__', this._convertEqualsToMinMax);\n this.listenTo(this, 'change:__constraint__', this._setConstraintText);\n this._setConstraintText();\n this._setLoginPattern();\n },\n\n parse: function parse(resp) {\n /* eslint complexity: [2, 9] */\n resp = __WEBPACK_IMPORTED_MODULE_1__util_underscore_wrapper__[\"default\"].clone(resp);\n\n if (resp.type === 'object' && resp.extendedType === 'image') {\n resp.type = 'image';\n }\n resp['__displayType__'] = __WEBPACK_IMPORTED_MODULE_5__util_SchemaUtil__[\"a\" /* default */].getDisplayType(resp.type, resp.format, resp.items ? resp.items.format ? resp.items.format : resp.items.type : undefined);\n this._setRangeConstraints(resp);\n resp['__supportsMinMax__'] = __WEBPACK_IMPORTED_MODULE_5__util_SchemaUtil__[\"a\" /* default */].SUPPORTSMINMAX.indexOf(resp['__displayType__']) !== -1;\n resp['__displayScope__'] = __WEBPACK_IMPORTED_MODULE_5__util_SchemaUtil__[\"a\" /* default */].DISPLAYSCOPE[resp.scope] || __WEBPACK_IMPORTED_MODULE_5__util_SchemaUtil__[\"a\" /* default */].DISPLAYSCOPE.NA;\n if (resp.settings && resp.settings.permissions && resp.settings.permissions.SELF) {\n resp['__userPermission__'] = resp.settings.permissions.SELF;\n }\n this._setMasterOverride(resp);\n this._setSubSchemas(resp);\n this._setUniqueness(resp);\n return resp;\n },\n\n validate: function validate() {\n var enumValidationError = this._validateEnumOneOf();\n\n if (enumValidationError) {\n return enumValidationError;\n }\n\n if (!this.get('__supportsMinMax__') || !this.get('__constraint__')) {\n return undefined;\n }\n\n var constraitType = this.get('__constraint__');\n var constraitHandler = this[this.constraintHandlers[constraitType]];\n\n if (__WEBPACK_IMPORTED_MODULE_1__util_underscore_wrapper__[\"default\"].isFunction(constraitHandler)) {\n return constraitHandler.call(this);\n } else {\n __WEBPACK_IMPORTED_MODULE_4__util_Logger__[\"default\"].warn('No constraint handler found for: ' + constraitType);\n return undefined;\n }\n },\n\n _checkBetweenConstraints: function _checkBetweenConstraints() {\n var minVal = this.get('__minVal__');\n var maxVal = this.get('__maxVal__');\n\n if (!minVal && !maxVal) {\n return;\n }\n if (!minVal) {\n return { __minVal__: 'Min value is required' };\n }\n if (!maxVal) {\n return { __maxVal__: 'Max value is required' };\n }\n\n var val = this._checkIntegerConstraints('__minVal__', 'Min value');\n\n if (val) {\n return val;\n }\n val = this._checkIntegerConstraints('__maxVal__', 'Max value');\n if (val) {\n return val;\n }\n if (+minVal >= +maxVal) {\n return { __maxVal__: 'Max val must be greater than min val' };\n }\n },\n\n _checkGreaterThanConstraint: function _checkGreaterThanConstraint() {\n var minVal = this.get('__minVal__');\n\n if (!minVal) {\n return;\n }\n\n var val = this._checkIntegerConstraints('__minVal__', 'Min value');\n\n if (val) {\n return val;\n }\n },\n\n _checkLessThanConstraint: function _checkLessThanConstraint() {\n var maxVal = this.get('__maxVal__');\n\n if (!maxVal) {\n return;\n }\n\n var val = this._checkIntegerConstraints('__maxVal__', 'Max value');\n\n if (val) {\n return val;\n }\n },\n\n _checkEqualsConstraint: function _checkEqualsConstraint() {\n var equals = this.get('__equals__');\n\n if (!equals) {\n return;\n }\n\n var val = this._checkIntegerConstraints('__equals__', 'Constraint');\n\n if (val) {\n return val;\n }\n },\n\n _checkIntegerConstraints: function _checkIntegerConstraints(field, name) {\n var val = this.get(field);\n var error = {};\n\n if (isNaN(val)) {\n error[field] = name + ' must be a number';\n return error;\n }\n if (+val < 0) {\n error[field] = name + ' must be greater than 0';\n return error;\n }\n },\n\n _setMasterOverride: function _setMasterOverride(resp) {\n if (resp.settings && resp.settings.masterOverride && resp.settings.masterOverride) {\n var masterOverrideValue = resp.settings.masterOverride.value;\n\n if (__WEBPACK_IMPORTED_MODULE_1__util_underscore_wrapper__[\"default\"].isArray(masterOverrideValue) && !__WEBPACK_IMPORTED_MODULE_1__util_underscore_wrapper__[\"default\"].isEmpty(masterOverrideValue)) {\n resp['__masterOverrideType__'] = 'OVERRIDE';\n resp['__masterOverrideValue__'] = masterOverrideValue || [];\n } else {\n resp['__masterOverrideType__'] = resp.settings.masterOverride.type;\n }\n } else {\n resp['__masterOverrideType__'] = 'INHERIT';\n }\n },\n\n _setRangeConstraints: function _setRangeConstraints(resp) {\n /* eslint complexity: [2, 11] */\n if (resp['__displayType__'] === STRING) {\n resp['__minVal__'] = resp.minLength;\n resp['__maxVal__'] = resp.maxLength;\n } else if (resp['__displayType__'] === INTEGER || resp['__displayType__'] === NUMBER) {\n resp['__minVal__'] = resp.minimum;\n resp['__maxVal__'] = resp.maximum;\n }\n if (resp['__minVal__'] && resp['__maxVal__']) {\n if (resp['__minVal__'] === resp['__maxVal__']) {\n resp['__constraint__'] = 'equals';\n resp['__equals__'] = resp['__minVal__'];\n } else {\n resp['__constraint__'] = 'between';\n }\n } else if (!resp['__minVal__'] && resp['__maxVal__']) {\n resp['__constraint__'] = 'lessThan';\n } else if (!resp['__maxVal__'] && resp['__minVal__']) {\n resp['__constraint__'] = 'greaterThan';\n }\n },\n\n _setSubSchemas: function _setSubSchemas(resp) {\n if (resp.allOf) {\n resp['subSchemas'] = new SchemaPropertySubSchemaAllOfCollection(resp.allOf, { parse: true });\n } else if (resp.oneOf) {\n resp['subSchemas'] = new SchemaPropertySubSchemaOneOfCollection(resp.oneOf, { parse: true });\n } else if (resp.noneOf) {\n resp['subSchemas'] = new SchemaPropertySubSchemaNoneOfCollection(resp.noneOf, { parse: true });\n }\n },\n\n _setUniqueness: function _setUniqueness(resp) {\n var unique = resp && resp.unique;\n resp['__unique__'] = !!(unique && (unique === __WEBPACK_IMPORTED_MODULE_5__util_SchemaUtil__[\"a\" /* default */].UNIQUENESS.UNIQUE_VALIDATED || unique === __WEBPACK_IMPORTED_MODULE_5__util_SchemaUtil__[\"a\" /* default */].UNIQUENESS.PENDING_UNIQUENESS));\n },\n\n _setLoginPattern: function _setLoginPattern() {\n if (!this.get('__isLoginOfBaseSchema__')) {\n return;\n }\n\n var pattern = this.get('pattern');\n\n if (pattern === loginFormatNonePattern) {\n this.set('__loginFormatRestriction__', __WEBPACK_IMPORTED_MODULE_5__util_SchemaUtil__[\"a\" /* default */].LOGINPATTERNFORMAT.NONE);\n } else if (pattern) {\n this.set('__loginFormatRestriction__', __WEBPACK_IMPORTED_MODULE_5__util_SchemaUtil__[\"a\" /* default */].LOGINPATTERNFORMAT.CUSTOM);\n this.set('__loginFormatRestrictionCustom__', this._extractLoginPattern(pattern));\n } else {\n this.set('__loginFormatRestriction__', __WEBPACK_IMPORTED_MODULE_5__util_SchemaUtil__[\"a\" /* default */].LOGINPATTERNFORMAT.EMAIL);\n }\n },\n\n _updateDisplayType: function _updateDisplayType() {\n var type = this.get('type');\n\n if (type === STRING && this.get('format')) {\n this.set('__displayType__', __WEBPACK_IMPORTED_MODULE_5__util_SchemaUtil__[\"a\" /* default */].FORMATDISPLAYTYPE[this.get('format')]);\n } else {\n var items = this.get('items');\n var arraytype = items && (items.format ? items.format : items.type);\n\n if (type && arraytype) {\n this.set('__displayType__', __WEBPACK_IMPORTED_MODULE_5__util_SchemaUtil__[\"a\" /* default */].ARRAYDISPLAYTYPE[getArrayTypeName(type, arraytype)]);\n } else {\n this.set('__displayType__', type);\n }\n }\n },\n\n _validateEnumOneOf: function _validateEnumOneOf() {\n if (!this.get('__isEnumDefinedAndSupported__')) {\n return;\n }\n\n var enumOneOf = this.get('__oneOf__') || [];\n\n if (__WEBPACK_IMPORTED_MODULE_1__util_underscore_wrapper__[\"default\"].isEmpty(enumOneOf)) {\n return { __oneOf__: loc('model.validation.field.blank', 'courage') };\n }\n\n if (!this._isValidateOneOfConstraint(enumOneOf)) {\n var constraintType = this.get('__enumConstraintType__');\n var errorTypeMsg = constraintTypeErrorMessages[constraintType];\n\n return { __oneOf__: errorTypeMsg };\n }\n },\n\n _isValidateOneOfConstraint: function _isValidateOneOfConstraint(values) {\n var constraintType = this.get('__enumConstraintType__');\n\n return __WEBPACK_IMPORTED_MODULE_1__util_underscore_wrapper__[\"default\"].all(values, function (value) {\n return __WEBPACK_IMPORTED_MODULE_7__views_forms_helpers_EnumTypeHelper__[\"a\" /* default */].isConstraintValueMatchType(value.const, constraintType);\n });\n },\n\n toJSON: function toJSON() {\n var json = __WEBPACK_IMPORTED_MODULE_3__BaseModel__[\"default\"].prototype.toJSON.apply(this, arguments);\n\n json.settings = { permissions: {} };\n json.settings.permissions['SELF'] = this.get('__userPermission__');\n\n // omit \"sensitive\" filed will have default it value to false.\n if (this.get('__isSensitive__')) {\n json.settings.sensitive = this.get('__isSensitive__');\n }\n if (this.get('type') === 'image') {\n json.type = 'object';\n json.extendedType = 'image';\n }\n\n json = this._enumAssignment(json);\n json = this._attributeOverrideToJson(json);\n json = this._normalizeUnionValue(json);\n json = this._patternAssignment(json);\n json = this._uniquenessAssignment(json);\n return json;\n },\n\n _attributeOverrideToJson: function _attributeOverrideToJson(json) {\n var masterOverrideType = this.get('__masterOverrideType__');\n var masterOverrideValue = this.get('__masterOverrideValue__');\n\n if (masterOverrideType === 'OKTA_MASTERED') {\n json.settings.masterOverride = { type: 'OKTA_MASTERED' };\n } else if (masterOverrideType === 'OVERRIDE') {\n json.settings.masterOverride = { type: 'ORDERED_LIST', value: [] };\n if (masterOverrideValue instanceof __WEBPACK_IMPORTED_MODULE_2__BaseCollection__[\"default\"]) {\n __WEBPACK_IMPORTED_MODULE_1__util_underscore_wrapper__[\"default\"].each(masterOverrideValue.toJSON(), function (overrideProfile) {\n json.settings.masterOverride.value.push(overrideProfile.id);\n });\n } else if (masterOverrideValue instanceof Array) {\n json.settings.masterOverride.value = masterOverrideValue;\n }\n if (__WEBPACK_IMPORTED_MODULE_1__util_underscore_wrapper__[\"default\"].isEmpty(json.settings.masterOverride.value)) {\n delete json.settings.masterOverride;\n }\n }\n\n if (masterOverrideType === 'INHERIT') {\n delete json.settings.masterOverride;\n }\n return json;\n },\n\n /**\n * Only allow set \"union\" value when isScopeSelf is NONE and displayType is\n * array of (string/number/integer), otherwise reset to default.\n *\n * @see /universal-directory/shared/views/components/UnionGroupValuesRadio.js\n */\n _normalizeUnionValue: function _normalizeUnionValue(json) {\n if (!this.get('__isNoneScopeArrayType__')) {\n json['union'] = undefined;\n }\n\n return json;\n },\n\n _enumAssignment: function _enumAssignment(json) {\n if (!this.get('__isEnumDefinedAndSupported__')) {\n return json;\n }\n\n // backfill empty title by constraint\n\n var enumOneOf = this._getEnumOneOfWithTitleCheck();\n\n if (this.get('type') === 'array') {\n delete json.items.enum;\n json.items.oneOf = enumOneOf;\n } else {\n delete json.enum;\n json.oneOf = enumOneOf;\n }\n\n return json;\n },\n\n _patternAssignment: function _patternAssignment(json) {\n if (!this.get('__isLoginOfBaseSchema__') || !this.get('__loginFormatRestriction__')) {\n return json;\n }\n\n switch (this.get('__loginFormatRestriction__')) {\n case __WEBPACK_IMPORTED_MODULE_5__util_SchemaUtil__[\"a\" /* default */].LOGINPATTERNFORMAT.EMAIL:\n delete json.pattern;\n break;\n case __WEBPACK_IMPORTED_MODULE_5__util_SchemaUtil__[\"a\" /* default */].LOGINPATTERNFORMAT.CUSTOM:\n json.pattern = this._buildLoginPattern(this.get('__loginFormatRestrictionCustom__'));\n break;\n case __WEBPACK_IMPORTED_MODULE_5__util_SchemaUtil__[\"a\" /* default */].LOGINPATTERNFORMAT.NONE:\n json.pattern = loginFormatNonePattern;\n break;\n }\n\n return json;\n },\n\n _uniquenessAssignment: function _uniquenessAssignment(json) {\n if (!this.get('__unique__')) {\n delete json.unique;\n } else if (!this.get('__isUniqueness__')) {\n json.unique = __WEBPACK_IMPORTED_MODULE_5__util_SchemaUtil__[\"a\" /* default */].UNIQUENESS.UNIQUE_VALIDATED;\n }\n\n return json;\n },\n\n /**\n * Character should be escaped except letters, digits and hyphen\n */\n _escapedRegexChar: function _escapedRegexChar(pattern, index) {\n var char = pattern.charAt(index);\n\n if (escapedLoginCharsRe.test(char)) {\n return '\\\\' + char;\n }\n\n return char;\n },\n\n _buildLoginPattern: function _buildLoginPattern(pattern) {\n var result = '';\n\n for (var i = 0; i < pattern.length; i++) {\n result = result + this._escapedRegexChar(pattern, i);\n }\n\n return '[' + result + ']+';\n },\n\n _extractLoginPattern: function _extractLoginPattern(pattern) {\n var re = /^\\[(.*)\\]\\+/;\n var matches = pattern.match(re);\n\n return matches ? matches[1].replace(/\\\\(.)/g, '$1') : pattern;\n },\n\n _getEnumOneOfWithTitleCheck: function _getEnumOneOfWithTitleCheck() {\n var enumOneOf = this.get('__oneOf__');\n\n return __WEBPACK_IMPORTED_MODULE_1__util_underscore_wrapper__[\"default\"].map(enumOneOf, function (value) {\n if (__WEBPACK_IMPORTED_MODULE_0__util_jquery_wrapper__[\"default\"].trim(value.title) !== '') {\n return value;\n }\n\n value.title = !__WEBPACK_IMPORTED_MODULE_1__util_underscore_wrapper__[\"default\"].isString(value.const) ? (0, _stringify2.default)(value.const) : value.const;\n\n return value;\n });\n },\n\n _updateTypeFormatConstraints: function _updateTypeFormatConstraints() {\n var displayType = this.get('__displayType__');\n\n // OKTA-31952 reset format according to its displayType\n this.unset('format', { silent: true });\n this.unset('items', { silent: true });\n this.set(__WEBPACK_IMPORTED_MODULE_5__util_SchemaUtil__[\"a\" /* default */].DISPLAYTYPES[displayType]);\n if (displayType !== NUMBER && displayType !== INTEGER) {\n this.unset('minimum');\n this.unset('maximum');\n }\n if (displayType !== STRING) {\n this.unset('minLength');\n this.unset('maxLength');\n }\n\n this.unset('__minVal__');\n this.unset('__maxVal__');\n this.unset('__equals__');\n this.set('__supportsMinMax__', __WEBPACK_IMPORTED_MODULE_5__util_SchemaUtil__[\"a\" /* default */].SUPPORTSMINMAX.indexOf(this.get('__displayType__')) !== -1);\n },\n\n _updateMinMax: function _updateMinMax() {\n var min = void 0;\n var max = void 0;\n var displayType = this.get('__displayType__');\n\n if (displayType === STRING) {\n min = 'minLength';\n max = 'maxLength';\n } else if (displayType === INTEGER || displayType === NUMBER) {\n min = 'minimum';\n max = 'maximum';\n }\n\n if (this.get('__minVal__')) {\n this.set(min, parseInt(this.get('__minVal__'), 10));\n } else {\n this.unset(min);\n }\n\n if (this.get('__maxVal__')) {\n this.set(max, parseInt(this.get('__maxVal__'), 10));\n } else {\n this.unset(max);\n }\n },\n\n _convertEqualsToMinMax: function _convertEqualsToMinMax() {\n var equals = this.get('__equals__');\n\n if (equals) {\n this.set('__minVal__', equals);\n this.set('__maxVal__', equals);\n }\n },\n\n /*\n Normally we would use a derived property here but derived properties do not work with the model Clone function\n so we use this workaround instead.\n */\n _setConstraintText: function _setConstraintText() {\n var constraint = this.get('__constraint__');\n var min = this.get('__minVal__');\n var max = this.get('__maxVal__');\n var equals = this.get('__equals__');\n\n switch (constraint) {\n case 'between':\n this.set('__constraintText__', 'Between ' + min + ' and ' + max);\n break;\n case 'greaterThan':\n this.set('__constraintText__', 'Greater than ' + min);\n break;\n case 'lessThan':\n this.set('__constraintText__', 'Less than ' + max);\n break;\n case 'equals':\n this.set('__constraintText__', 'Equals ' + equals);\n break;\n default:\n this.set('__constraintText__', '');\n break;\n }\n },\n\n cleanup: function cleanup() {\n if (this.get('__constraint__') === 'lessThan') {\n this.unset('__minVal__');\n } else if (this.get('__constraint__') === 'greaterThan') {\n this.unset('__maxVal__');\n }\n if (this.get('scope') !== __WEBPACK_IMPORTED_MODULE_5__util_SchemaUtil__[\"a\" /* default */].SCOPE.SYSTEM) {\n if (this.get('__isScopeSelf__') === true) {\n this.set({ scope: __WEBPACK_IMPORTED_MODULE_5__util_SchemaUtil__[\"a\" /* default */].SCOPE.SELF }, { silent: true });\n } else {\n this.unset('scope');\n }\n }\n\n if (!this.get('__unique__')) {\n this.unset('unique');\n }\n },\n\n /**\n * Since there is not an dedicated attribute to flag enum type,\n * use enum values to determine whether the property is enum type or not.\n */\n isEnumType: function isEnumType() {\n return !!this.getEnumValues();\n },\n\n getEnumValues: function getEnumValues() {\n return this.get('oneOf') || this.get('enum') || this.get('items') && this.get('items')['oneOf'] || this.get('items') && this.get('items')['enum'];\n },\n\n detectHasEnumDefined: function detectHasEnumDefined() {\n var enumValues = this.getEnumValues();\n\n if (!enumValues) {\n return;\n }\n\n this.set('__oneOf__', __WEBPACK_IMPORTED_MODULE_7__views_forms_helpers_EnumTypeHelper__[\"a\" /* default */].convertToOneOf(enumValues));\n this.set('__enumDefined__', true);\n }\n });\n var SchemaPropertySchemaProperties = __WEBPACK_IMPORTED_MODULE_2__BaseCollection__[\"default\"].extend({\n model: SchemaPropertySchemaProperty,\n clone: function clone() {\n return new this.constructor(this.toJSON({ verbose: true }), { parse: true });\n },\n areAllReadOnly: function areAllReadOnly() {\n return __WEBPACK_IMPORTED_MODULE_1__util_underscore_wrapper__[\"default\"].all(this.pluck('__isReadOnly__'));\n },\n createModelProperties: function createModelProperties() {\n return this.reduce(function (p, schemaProperty) {\n var type = schemaProperty.get('type');\n\n p[schemaProperty.id] = __WEBPACK_IMPORTED_MODULE_1__util_underscore_wrapper__[\"default\"].clone(__WEBPACK_IMPORTED_MODULE_5__util_SchemaUtil__[\"a\" /* default */].DISPLAYTYPES[type]);\n if (__WEBPACK_IMPORTED_MODULE_5__util_SchemaUtil__[\"a\" /* default */].SUPPORTSMINMAX.indexOf(type) !== -1) {\n p[schemaProperty.id].minLength = schemaProperty.get('minLength');\n p[schemaProperty.id].maxLength = schemaProperty.get('maxLength');\n }\n if (type === 'string') {\n p[schemaProperty.id].format = schemaProperty.get('format');\n }\n return p;\n }, {});\n }\n });\n /* harmony default export */__webpack_exports__[\"default\"] = {\n Model: SchemaPropertySchemaProperty,\n Collection: SchemaPropertySchemaProperties\n };\n\n /***/\n},\n/* 18 */\n/***/function (module, __webpack_exports__, __webpack_require__) {\n\n \"use strict\";\n /* harmony import */\n var __WEBPACK_IMPORTED_MODULE_0__util_jquery_wrapper__ = __webpack_require__(2);\n /* harmony import */var __WEBPACK_IMPORTED_MODULE_1__util_underscore_wrapper__ = __webpack_require__(0);\n /* harmony import */var __WEBPACK_IMPORTED_MODULE_2__util_SchemaUtil__ = __webpack_require__(13);\n /* harmony import */var __WEBPACK_IMPORTED_MODULE_3__util_StringUtil__ = __webpack_require__(3);\n /* eslint max-statements: 0 */\n\n var NAME = 'name';\n var ENUM_KEY_PREFIX = '_enum_';\n\n /**\n * Generate Input Options in order to create an input in an Form for Enum type attribute.\n * @param {Object} config informations for creating input options\n * config.name schema property name\n * config.title schema property title\n * config.readOnly create an read only input?\n * config.explain sub-title to the input\n * config.enumValues list of enum values for creating input options (Dropdown/SimpleCheckBoxSet)\n * config.displayType display type of schema property\n *\n * @return {Object} inputOptions options for create an Input view. (Dropdown/SimpleCheckBoxSet)\n *\n */\n function getEnumInputOptions(config) {\n var enumOneOf = convertToOneOf(config.enumValues);\n var inputOptions = {\n name: config.name,\n label: config.title,\n readOnly: config.readOnly,\n customExplain: config.explain,\n params: { enumOneOf: enumOneOf },\n options: getDropdownOptionsFromOneOf(enumOneOf)\n };\n\n // input type\n if (__WEBPACK_IMPORTED_MODULE_2__util_SchemaUtil__[\"a\" /* default */].isArrayDataType(config.displayType)) {\n inputOptions.type = 'checkboxset';\n inputOptions.to = valuesToEnumObjects;\n inputOptions.from = enumObjectsToValues;\n } else {\n inputOptions.type = 'select';\n inputOptions.to = valueToEnumObject;\n inputOptions.from = enumObjectToValue;\n }\n\n inputOptions.input = null;\n return inputOptions;\n }\n\n function getDropdownOptions(values) {\n return __WEBPACK_IMPORTED_MODULE_1__util_underscore_wrapper__[\"default\"].isArray(values) ? getDropdownOptionsFromOneOf(convertToOneOf(values)) : {};\n }\n\n function getDropdownOptionsFromOneOf(values) {\n if (!isOneOfEnumObject(values)) {\n return {};\n }\n\n return __WEBPACK_IMPORTED_MODULE_1__util_underscore_wrapper__[\"default\"].reduce(values, function (options, value, index) {\n options[convertIndexToEnumIndex(index)] = value.title;\n return options;\n }, {});\n }\n\n function convertToOneOf(values) {\n // assume this is a legacy enum array and convert to oneOf object\n if (!__WEBPACK_IMPORTED_MODULE_1__util_underscore_wrapper__[\"default\"].all(values, __WEBPACK_IMPORTED_MODULE_0__util_jquery_wrapper__[\"default\"].isPlainObject)) {\n return convertEnumToOneOf(values);\n\n // we assume object without const and title is an enum object which need special conversion\n } else if (!isOneOfEnumObject(values)) {\n return convertEnumObjectToOneOf(values);\n }\n\n return values;\n }\n\n function isOneOfEnumObject(values) {\n return __WEBPACK_IMPORTED_MODULE_1__util_underscore_wrapper__[\"default\"].isArray(values) && __WEBPACK_IMPORTED_MODULE_1__util_underscore_wrapper__[\"default\"].all(values, function (value) {\n return __WEBPACK_IMPORTED_MODULE_1__util_underscore_wrapper__[\"default\"].has(value, 'const') && __WEBPACK_IMPORTED_MODULE_1__util_underscore_wrapper__[\"default\"].has(value, 'title');\n });\n }\n\n function convertEnumToOneOf(values) {\n return __WEBPACK_IMPORTED_MODULE_1__util_underscore_wrapper__[\"default\"].map(values, function (value) {\n return {\n const: value,\n title: valueToTitle(value)\n };\n });\n }\n\n function valueToTitle(value) {\n if (__WEBPACK_IMPORTED_MODULE_1__util_underscore_wrapper__[\"default\"].isObject(value)) {\n return (0, _stringify2.default)(value);\n }\n\n if (__WEBPACK_IMPORTED_MODULE_1__util_underscore_wrapper__[\"default\"].isNumber(value)) {\n return value + '';\n }\n\n return value;\n }\n\n function convertEnumObjectToOneOf(values) {\n var findKey = __WEBPACK_IMPORTED_MODULE_1__util_underscore_wrapper__[\"default\"].partial(__WEBPACK_IMPORTED_MODULE_1__util_underscore_wrapper__[\"default\"].has, __WEBPACK_IMPORTED_MODULE_1__util_underscore_wrapper__[\"default\"], NAME);\n // If all object found the key NAME, use the NAME's value as display name\n\n if (__WEBPACK_IMPORTED_MODULE_1__util_underscore_wrapper__[\"default\"].all(values, findKey)) {\n return __WEBPACK_IMPORTED_MODULE_1__util_underscore_wrapper__[\"default\"].chain(values).filter(function (value) {\n return __WEBPACK_IMPORTED_MODULE_0__util_jquery_wrapper__[\"default\"].isPlainObject(value) && __WEBPACK_IMPORTED_MODULE_1__util_underscore_wrapper__[\"default\"].has(value, NAME);\n }).map(function (value) {\n return { const: value, title: value[NAME] };\n }).value();\n }\n\n // Assume a legacy object array does not need special handling and just convert to const/title enum\n return convertEnumToOneOf(values);\n }\n\n function convertIndexToEnumIndex(index) {\n return '' + ENUM_KEY_PREFIX + index;\n }\n\n function enumObjectToValue(obj) {\n var index = __WEBPACK_IMPORTED_MODULE_1__util_underscore_wrapper__[\"default\"].findIndex(this.options.params.enumOneOf, function (oneOfObj) {\n return __WEBPACK_IMPORTED_MODULE_1__util_underscore_wrapper__[\"default\"].isObject(obj) ? __WEBPACK_IMPORTED_MODULE_1__util_underscore_wrapper__[\"default\"].isEqual(oneOfObj.const, obj) : oneOfObj.const === obj;\n });\n // Cannot rely on comparator in findIndex when compare objects so need special handling\n\n return index > -1 ? convertIndexToEnumIndex(index) : obj;\n }\n\n function valueToEnumObject(val) {\n if (!__WEBPACK_IMPORTED_MODULE_1__util_underscore_wrapper__[\"default\"].isString(val) || val.indexOf(ENUM_KEY_PREFIX) !== 0) {\n return val;\n }\n\n var index = val.replace(ENUM_KEY_PREFIX, '');\n var enumValue = this.options.params && __WEBPACK_IMPORTED_MODULE_1__util_underscore_wrapper__[\"default\"].isArray(this.options.params.enumOneOf) ? this.options.params.enumOneOf[index] : null;\n\n // @see `getEnumInputOptions` how enumValues has been set.\n\n return __WEBPACK_IMPORTED_MODULE_1__util_underscore_wrapper__[\"default\"].has(enumValue, 'const') ? enumValue.const : enumValue;\n }\n\n function valuesToEnumObjects(values) {\n return __WEBPACK_IMPORTED_MODULE_1__util_underscore_wrapper__[\"default\"].map(values, valueToEnumObject.bind(this));\n }\n\n function enumObjectsToValues(values) {\n return __WEBPACK_IMPORTED_MODULE_1__util_underscore_wrapper__[\"default\"].map(values, enumObjectToValue.bind(this));\n }\n\n function isStringConstraint(value) {\n return __WEBPACK_IMPORTED_MODULE_1__util_underscore_wrapper__[\"default\"].isString(value) && __WEBPACK_IMPORTED_MODULE_0__util_jquery_wrapper__[\"default\"].trim(value) !== '';\n }\n\n function isNumberConstraint(value) {\n return __WEBPACK_IMPORTED_MODULE_1__util_underscore_wrapper__[\"default\"].isNumber(value) || __WEBPACK_IMPORTED_MODULE_1__util_underscore_wrapper__[\"default\"].isNumber(__WEBPACK_IMPORTED_MODULE_3__util_StringUtil__[\"default\"].parseFloat(__WEBPACK_IMPORTED_MODULE_0__util_jquery_wrapper__[\"default\"].trim(value)));\n }\n\n function isIntegerConstraint(value) {\n var integer = __WEBPACK_IMPORTED_MODULE_1__util_underscore_wrapper__[\"default\"].isNumber(value) ? value : __WEBPACK_IMPORTED_MODULE_3__util_StringUtil__[\"default\"].parseInt(__WEBPACK_IMPORTED_MODULE_0__util_jquery_wrapper__[\"default\"].trim(value));\n\n return typeof integer === 'number' && isFinite(integer) && Math.floor(integer) === integer;\n }\n\n function isObjectConstraint(value) {\n if (__WEBPACK_IMPORTED_MODULE_1__util_underscore_wrapper__[\"default\"].isObject(value) && !__WEBPACK_IMPORTED_MODULE_1__util_underscore_wrapper__[\"default\"].isArray(value)) {\n return true;\n }\n\n var object = __WEBPACK_IMPORTED_MODULE_3__util_StringUtil__[\"default\"].parseObject(__WEBPACK_IMPORTED_MODULE_0__util_jquery_wrapper__[\"default\"].trim(value));\n\n return __WEBPACK_IMPORTED_MODULE_1__util_underscore_wrapper__[\"default\"].isObject(object) && !__WEBPACK_IMPORTED_MODULE_1__util_underscore_wrapper__[\"default\"].isArray(object);\n }\n\n function isConstraintValueMatchType(value, type) {\n switch (type) {\n case __WEBPACK_IMPORTED_MODULE_2__util_SchemaUtil__[\"a\" /* default */].STRING:\n return isStringConstraint(value);\n case __WEBPACK_IMPORTED_MODULE_2__util_SchemaUtil__[\"a\" /* default */].NUMBER:\n return isNumberConstraint(value);\n case __WEBPACK_IMPORTED_MODULE_2__util_SchemaUtil__[\"a\" /* default */].INTEGER:\n return isIntegerConstraint(value);\n case __WEBPACK_IMPORTED_MODULE_2__util_SchemaUtil__[\"a\" /* default */].OBJECT:\n return isObjectConstraint(value);\n }\n }\n\n /* harmony default export */__webpack_exports__[\"a\"] = {\n getEnumInputOptions: getEnumInputOptions,\n getDropdownOptions: getDropdownOptions,\n convertToOneOf: convertToOneOf,\n isConstraintValueMatchType: isConstraintValueMatchType\n };\n\n /***/\n},\n/* 19 */\n/***/function (module, __webpack_exports__, __webpack_require__) {\n\n \"use strict\";\n\n Object.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n /* harmony import */var __WEBPACK_IMPORTED_MODULE_0_backbone__ = __webpack_require__(6);\n /* harmony import */var __WEBPACK_IMPORTED_MODULE_0_backbone___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_backbone__);\n /* harmony import */var __WEBPACK_IMPORTED_MODULE_1__jquery_wrapper__ = __webpack_require__(2);\n /* harmony import */var __WEBPACK_IMPORTED_MODULE_2__underscore_wrapper__ = __webpack_require__(0);\n /* harmony import */var __WEBPACK_IMPORTED_MODULE_3__Logger__ = __webpack_require__(7);\n /* harmony import */var __WEBPACK_IMPORTED_MODULE_4__SettingsModel__ = __webpack_require__(20);\n /* harmony import */var __WEBPACK_IMPORTED_MODULE_5_ConfirmationDialog__ = __webpack_require__(21);\n /* harmony import */var __WEBPACK_IMPORTED_MODULE_5_ConfirmationDialog___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_5_ConfirmationDialog__);\n /* harmony import */var __WEBPACK_IMPORTED_MODULE_6__views_components_Notification__ = __webpack_require__(41);\n /* eslint max-len: [2, 150], max-params: [2, 7] */\n\n function getRoute(router, route) {\n var root = __WEBPACK_IMPORTED_MODULE_2__underscore_wrapper__[\"default\"].result(router, 'root') || '';\n\n if (root && __WEBPACK_IMPORTED_MODULE_2__underscore_wrapper__[\"default\"].isString(route)) {\n return [root, route].join('/').replace(/\\/{2,}/g, '/');\n }\n return route;\n }\n\n /**\n * BaseRouter is a standard [Backbone.Router](http://backbonejs.org/#Router)\n * with a few additions:\n * - Explicit mapping between routes and controllers\n * - Support for rendering notification and confirmation dialogs\n *\n * Checkout the [Hello World Tutorial](https://github.com/okta/courage/wiki/Hello-World)\n * for a step-by-step guide to using this.\n *\n * @class module:Okta.Router\n * @extends external:Backbone.Router\n * @param {Object} options options hash\n * @param {String} options.el a jQuery selector string stating where to attach the controller in the DOM\n */\n /* harmony default export */__webpack_exports__[\"default\"] = __WEBPACK_IMPORTED_MODULE_0_backbone___default.a.Router.extend(\n /** @lends module:Okta.Router.prototype */{\n /**\n * The root URL for the router. When setting {@link http://backbonejs.org/#Router-routes|routes},\n * it will be prepended to each route.\n * @type {String|Function}\n */\n root: '',\n\n listen: __WEBPACK_IMPORTED_MODULE_6__views_components_Notification__[\"a\" /* default */].prototype.listen,\n\n constructor: function constructor(options) {\n options || (options = {});\n this.el = options.el;\n this.settings = new __WEBPACK_IMPORTED_MODULE_4__SettingsModel__[\"a\" /* default */](__WEBPACK_IMPORTED_MODULE_2__underscore_wrapper__[\"default\"].omit(options, 'el'));\n if (options.root) {\n this.root = options.root;\n }\n\n __WEBPACK_IMPORTED_MODULE_0_backbone___default.a.Router.apply(this, arguments);\n\n this.listen('notification', this._notify);\n this.listen('confirmation', this._confirm);\n },\n\n /**\n * Fires up a confirmation dialog\n *\n * @param {Object} options Options Hash\n * @param {String} options.title The title\n * @param {String} options.subtitle The explain text\n * @param {String} options.save The text for the save button\n * @param {Function} options.ok The callback function to run when hitting \"OK\"\n * @param {String} options.cancel The text for the cancel button\n * @param {Function} options.cancelFn The callback function to run when hitting \"Cancel\"\n * @param {Boolean} options.noCancelButton Don't render the cancel button (useful for alert dialogs)\n *\n * @private\n *\n * @return {Okta.View} the dialog view\n */\n _confirm: function _confirm(options) {\n options || (options = {});\n var Dialog = __WEBPACK_IMPORTED_MODULE_5_ConfirmationDialog___default.a.extend(__WEBPACK_IMPORTED_MODULE_2__underscore_wrapper__[\"default\"].pick(options, 'title', 'subtitle', 'save', 'ok', 'cancel', 'cancelFn', 'noCancelButton', 'content', 'danger', 'type', 'closeOnOverlayClick'));\n var dialog = new Dialog({ model: this.settings });\n // The model is here because itsa part of the BaseForm paradigm.\n // It will be ignored in the context of a confirmation dialog.\n\n dialog.render();\n return dialog; // test hook\n },\n\n /**\n * Fires up a notification banner\n *\n * @param {Object} options Options Hash\n * @return {Okta.View} the notification view\n * @private\n */\n _notify: function _notify(options) {\n var notification = new __WEBPACK_IMPORTED_MODULE_6__views_components_Notification__[\"a\" /* default */](options);\n\n Object(__WEBPACK_IMPORTED_MODULE_1__jquery_wrapper__[\"default\"])('#content').prepend(notification.render().el);\n return notification; // test hook\n },\n\n /**\n * Renders a Controller\n * This will initialize new instance of a controller and call render on it\n *\n * @param {Okta.Controller} Controller The controller Class we which to render\n * @param {Object} [options] Extra options to the controller constructor\n */\n render: function render(Controller, options) {\n this.unload();\n options = __WEBPACK_IMPORTED_MODULE_2__underscore_wrapper__[\"default\"].extend(__WEBPACK_IMPORTED_MODULE_2__underscore_wrapper__[\"default\"].pick(this, 'settings', 'el'), options || {});\n this.controller = new Controller(options);\n this.controller.render();\n },\n\n /**\n * Starts the backbone history object\n *\n * Waits for the dom to be ready before calling `Backbone.history.start()` (IE issue).\n *\n * See [Backbone History](http://backbonejs.org/#History) for more information.\n */\n start: function start() {\n var args = arguments;\n\n Object(__WEBPACK_IMPORTED_MODULE_1__jquery_wrapper__[\"default\"])(function () {\n if (__WEBPACK_IMPORTED_MODULE_0_backbone___default.a.History.started) {\n __WEBPACK_IMPORTED_MODULE_3__Logger__[\"default\"].error('History has already been started');\n return;\n }\n __WEBPACK_IMPORTED_MODULE_0_backbone___default.a.history.start.apply(__WEBPACK_IMPORTED_MODULE_0_backbone___default.a.history, args);\n });\n },\n\n /**\n * Removes active controller and frees up event listeners\n */\n unload: function unload() {\n if (this.controller) {\n this.stopListening(this.controller);\n this.stopListening(this.controller.state);\n this.controller.remove();\n }\n },\n\n route: function route(_route, name, callback) {\n return __WEBPACK_IMPORTED_MODULE_0_backbone___default.a.Router.prototype.route.call(this, getRoute(this, _route), name, callback);\n },\n\n navigate: function navigate(fragment, options) {\n return __WEBPACK_IMPORTED_MODULE_0_backbone___default.a.Router.prototype.navigate.call(this, getRoute(this, fragment), options);\n }\n });\n\n /***/\n},\n/* 20 */\n/***/function (module, __webpack_exports__, __webpack_require__) {\n\n \"use strict\";\n /* harmony import */\n var __WEBPACK_IMPORTED_MODULE_0__underscore_wrapper__ = __webpack_require__(0);\n /* harmony import */var __WEBPACK_IMPORTED_MODULE_1__models_Model__ = __webpack_require__(11);\n\n /**\n * @class SettingsModel\n * @extends {Okta.Model}\n * @private\n */\n\n /* harmony default export */__webpack_exports__[\"a\"] = __WEBPACK_IMPORTED_MODULE_1__models_Model__[\"default\"].extend({\n local: function local() {\n var settings = window.okta && window.okta.settings || {};\n\n return {\n orgId: ['string', false, settings.orgId],\n orgName: ['string', false, settings.orgName],\n serverStatus: ['string', false, settings.serverStatus],\n persona: ['string', false, settings.persona],\n isDeveloperConsole: ['boolean', false, settings.isDeveloperConsole],\n isPreview: ['boolean', false, settings.isPreview],\n permissions: ['array', true, settings.permissions || []]\n };\n },\n\n extraProperties: true,\n\n constructor: function constructor() {\n this.features = window._features || [];\n __WEBPACK_IMPORTED_MODULE_1__models_Model__[\"default\"].apply(this, arguments);\n },\n\n /**\n * Checks if the user have a feature flag enabled (Based of the org level feature flag)\n * @param {String} feature Feature name\n * @return {Boolean}\n */\n hasFeature: function hasFeature(feature) {\n if (window._possibleFeatures && !__WEBPACK_IMPORTED_MODULE_0__underscore_wrapper__[\"default\"].contains(window._possibleFeatures, feature) && window.okta && window.okta.logHasFeatureError) {\n window.okta.logHasFeatureError(feature);\n }\n return __WEBPACK_IMPORTED_MODULE_0__underscore_wrapper__[\"default\"].contains(this.features, feature);\n },\n\n /**\n * Checks if any of the given feature flags are enabled (Based of the org level feature flags)\n * @param {Array} featureArray Features names\n * @return {Boolean} true if any of the give features are enabled. False otherwise\n */\n hasAnyFeature: function hasAnyFeature(featureArray) {\n return __WEBPACK_IMPORTED_MODULE_0__underscore_wrapper__[\"default\"].some(featureArray, this.hasFeature, this);\n },\n\n /**\n * Checks if the user have a specific permission (based on data passed from JSP)\n * @param {String} permission Permission name\n * @return {Boolean}\n */\n hasPermission: function hasPermission(permission) {\n return __WEBPACK_IMPORTED_MODULE_0__underscore_wrapper__[\"default\"].contains(this.get('permissions'), permission);\n }\n });\n\n /***/\n},\n/* 21 */\n/***/function (module, exports, __webpack_require__) {\n\n \"use strict\";\n\n var __WEBPACK_AMD_DEFINE_RESULT__;\n\n // TODO: maybe replaced by\n // https://github.com/Calvein/empty-module\n // https://github.com/crimx/empty-module-loader\n !(__WEBPACK_AMD_DEFINE_RESULT__ = function () {}.call(exports, __webpack_require__, exports, module), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\n /***/\n},\n/* 22 */\n/***/function (module, __webpack_exports__, __webpack_require__) {\n\n \"use strict\";\n /* harmony import */\n var __WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__ = __webpack_require__(0);\n /* harmony import */var __WEBPACK_IMPORTED_MODULE_1_backbone__ = __webpack_require__(6);\n /* harmony import */var __WEBPACK_IMPORTED_MODULE_1_backbone___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_backbone__);\n\n var CHILDREN = '__children__',\n RENDERED = '__rendered__',\n PARENT = '__parent__',\n CHILD_DEFINITIONS = '__children_definitions__',\n ADD_TO_CONTAINER = '__add_to_container__';\n\n function getIndex(container, view) {\n for (var i = 0; i < container[CHILDREN].length; i++) {\n if (view.cid === container[CHILDREN][i].cid) {\n return i;\n }\n }\n }\n\n function noop() {}\n\n function doRender(view) {\n view[RENDERED] = true;\n\n var html = view.renderTemplate(view.template);\n if (html) {\n view.$el.html(html);\n } else if (view.length) {\n view.$el.empty();\n }\n\n view.each(function (view) {\n view[ADD_TO_CONTAINER]();\n });\n }\n\n function subscribeEvents(view) {\n var isEventPropertyRe = /^(?!(?:delegate|undelegate|_))([a-zA-Z0-9]+)(?:Events)$/;\n __WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].each(__WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].allKeys(view), function (key) {\n var matchKeys = key.match(isEventPropertyRe);\n if (!matchKeys) {\n return;\n }\n var bindings = __WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].result(view, key),\n entity = view.options[matchKeys[1]] || view[matchKeys[1]];\n if (!entity || !__WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].isObject(bindings) || !__WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].isFunction(entity.trigger)) {\n return;\n }\n __WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].each(bindings, function (callback, event) {\n var callbacks = __WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].isFunction(callback) ? [callback] : __WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].reduce(callback.split(/\\s+/), function (arr, name) {\n if (__WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].isFunction(view[name])) {\n arr.push(view[name]);\n }\n return arr;\n }, []);\n __WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].each(callbacks, function (cb) {\n view.listenTo(entity, event, cb);\n });\n });\n });\n }\n\n /**\n * A View operates on a string template, an token based template, or a model based template, with a few added hooks.\n * It provides a collection of child views, when a child view could be a View or another View.\n * Conceptually, if we were in a file system, the View is a folder, when the concrete child views are files,\n * and the child Views are sub folders.\n *\n * *Technically, when using a View as a container, it could have its own concrete logic,\n * but conceptually we like to keep it separated so a view is either a concrete view or a collection of child views.*\n *\n * In addition to the standard backbone options, we added `settings` and `state` as first class options.\n * it will automatically assign `options` to `this.options` as an instance member.\n *\n * See [Backbone.View](http://backbonejs.org/#View).\n *\n * @class src/framework/View\n * @extends external:Backbone.View\n * @param {Object} [options] options hash\n * @example\n * var DocumentView = Archer.View.extend({\n * template: [\n * '<header></header>',\n * '<article></article>',\n * '<footer></footer>'\n * ].join(''),\n * children: [[HeaderView, 'header'], [ContentView, 'article'], [FooterView, 'footer']]\n * });\n */\n var View = __WEBPACK_IMPORTED_MODULE_1_backbone___default.a.View.extend( /** @lends src/framework/View.prototype */{\n\n /**\n * An object listing events and callback bind to this.{entity}\n * @name *Events\n * @memberof src/framework/View\n * @type {(Object|Function)}\n * @instance\n * @example\n * var FooView = View.extend({\n * modelEvents: {\n * 'change:name': 'render'\n * }\n * })\n * //equivalent to ==>\n * var FooView = View.extend({\n * initialize: function() {\n * this.listenTo(this.model, 'change:name', this.render);\n * }\n * });\n *\n *\n * //Multiple callbacks:\n * var FooView = View.extend({\n * modelEvents: {\n * 'change:name': 'render foo'\n * },\n * foo: function() {}\n * });\n *\n * //Callbacks As Function:\n * var FooView = View.extend({\n * stateEvents: {\n * 'change': function() {\n * }\n * });\n *\n * //Event Configuration As Function\n * var FooView = View.extend({\n * collectionEvents: function() {\n * var events = { 'change:name deleteItem': 'render' };\n * events['changeItem'] = 'spin';\n * events['addItem'] = function() {};\n * return events;\n * }\n * });\n */\n\n constructor: function constructor(options) {\n /* eslint max-statements: [2, 17] */\n this.options = options || {};\n __WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].extend(this, __WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].pick(this.options, 'state', 'settings'));\n\n // init per-instance children collection\n this[CHILDREN] = [];\n this[RENDERED] = false;\n this[PARENT] = null;\n this[CHILD_DEFINITIONS] = this.children;\n\n // we want to make sure initialize is triggered *after* we append the views from the `this.views` array\n var initialize = this.initialize;\n this.initialize = noop;\n\n __WEBPACK_IMPORTED_MODULE_1_backbone___default.a.View.apply(this, arguments);\n\n __WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].each(__WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].result(this, CHILD_DEFINITIONS), function (childDefinition) {\n this.add.apply(this, __WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].isArray(childDefinition) ? childDefinition : [childDefinition]);\n }, this);\n delete this[CHILD_DEFINITIONS];\n\n if (this.autoRender && this.model) {\n var event = __WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].isArray(this.autoRender) ? __WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].map(this.autoRender, function (field) {\n return 'change:' + field;\n }).join(' ') : 'change';\n this.listenTo(this.model, event, function () {\n this.render();\n });\n }\n\n this.initialize = initialize;\n this.initialize.apply(this, arguments);\n subscribeEvents(this);\n },\n\n /**\n * Unregister view from container\n * Note: this will not remove the view from the dom\n * and will not call the `remove` method on the view\n *\n * @param {src/framework/View} view the view to unregister\n * @private\n */\n unregister: function unregister(view) {\n\n this.stopListening(view);\n var viewIndex = getIndex(this, view);\n // viewIndex is undefined when the view is not found (may have been removed)\n // check if it is undefined to prevent unexpected thing to happen\n // array.splice(undefined, x) removes the first x element(s) from the array\n // this protects us against issues when calling `remove` on a child view multiple times\n if (__WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].isNumber(viewIndex)) {\n this[CHILDREN].splice(viewIndex, 1);\n }\n },\n\n /**\n * Should we auto render the view upon model change. Boolean or array of field names to listen to.\n * @type {Boolean|Array}\n * @deprecated Instead, please use modelEvents\n * @example\n * modelEvents: {\n * change:name: 'render'\n * }\n */\n autoRender: false,\n\n /**\n *\n * When the template is an underscore template, the render method will pass the options has to the template\n * And the associated model, if exists, when it will prefer the model over the options in case of a conflict.\n * {@link #render View.render}\n * @type {(String|Function)}\n * @example\n * var View = View.extend({\n * template: '<p class=\"name\">{{name}}</p>'\n * };\n */\n template: null,\n\n /**\n * A list of child view definitions to be passed to {@link #add this.add()}.\n * Note: these definitions will be added **before** the {@link #constructor initiliaze} method invokes.\n * @type {(Array|Function)}\n * @example\n * var Container = View.extend({\n * template: '<p class=\"content\"></p>',\n * children: [\n * [ContentView, '.content'],\n * [OtherContentView, '.content'],\n * OtherView\n * ]\n * })\n *\n * var Container = View.extend({\n * template: '<dov class=\"form-wrap\"></div>',\n * children: function () {\n * return [\n * [FormView, '.form-wrap', {options: {model: this.optiosn.otherModel}}]\n * ]\n * }\n * })\n */\n children: [],\n\n /**\n * Add a child view to the container.\n * If the container is already rendered, will also render the view and append it to the DOM.\n * Otherwise will render and append once the container is rendered.\n *\n * *We believe that for the sake of encapsulation, a view should control its own chilren, so we treat this method as\n * protected and even though technically you can call `view.add` externally we strongly discourage it.*\n *\n * @param {(src/framework/View|String)} view A class (or an instance which is discouraged) of a View - or an HTML\n * string/template\n * @param {String} [selector] selector in the view's template on which the view will be added to\n * @param {Object} [options]\n * @param {Boolean} [options.bubble=false] Bubble (proxy) events from this view up the chain\n * @param {Boolean} [options.prepend=false] Prepend the view instend of appending\n * @param {String} [options.selector] Selector in the view's template on which the view will be added to\n * @param {Object} [options.options] Extra options to pass to the child constructor\n * @protected\n * @returns {src/framework/View} - The instance of itself for the sake of chaining\n * @example\n * var Container = View.extend({\n *\n * template: [\n * '<h1></h1>',\n * '<section></section>',\n * ].join(''),\n *\n * initalize: function () {\n *\n * this.add(TitleView, 'h1'); // will be added to <h1>\n *\n * this.add(ContentView1, 'section'); // will be added to <section>\n *\n * this.add(ContentView2, 'section', {prepend: true}); // will be add into <section> **before** ContentView1\n *\n * this.add(OtherView, {\n * options: {\n * model: new Model()\n * }\n * }); // will be added **after** the <section> element\n *\n * this.add('<p class=\"name\">some html</p>'); //=> \"<p class=\"name\">some html</p>\"\n * this.add('<p class=\"name\">{{name}}</p>'); //=> \"<p class=\"name\">John Doe</p>\"\n * this.add('{{name}}') //=> \"<div>John Doe</div>\"\n * this.add('<span>{{name}}</span> w00t') //=> \"<div><span>John Doe</span> w00t</div>\"\n * }\n *\n * });\n *\n * var container - new View({name: 'John Doe'});\n */\n add: function add(view, selector, bubble, prepend, extraOptions) {\n /* eslint max-statements: [2, 28], complexity: [2, 9] */\n\n var options = {},\n args = __WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].toArray(arguments);\n\n if (__WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].isObject(selector)) {\n options = selector;\n selector = options.selector;\n bubble = options.bubble;\n prepend = options.prepend;\n extraOptions = options.options;\n } else if (__WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].isObject(bubble)) {\n options = bubble;\n bubble = options.bubble;\n prepend = options.prepend;\n extraOptions = options.options;\n }\n\n if (__WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].isString(view)) {\n view = function (template) {\n return View.extend({\n constructor: function constructor() {\n try {\n var $el = __WEBPACK_IMPORTED_MODULE_1_backbone___default.a.$(template);\n\n if ($el.length != 1) {\n throw 'invalid Element';\n }\n\n var unescapingRexExp = /&(\\w+|#x\\d+);/g;\n var elementUnescapedOuterHTMLLength = $el.prop('outerHTML').replace(unescapingRexExp, ' ').length;\n var templateUnescapedLength = template.replace(unescapingRexExp, ' ').length;\n\n if (elementUnescapedOuterHTMLLength !== templateUnescapedLength) {\n throw 'invalid Element';\n }\n\n this.template = $el.html();\n this.el = $el.empty()[0];\n } catch (e) {\n // not a valid html tag.\n this.template = template;\n }\n View.apply(this, arguments);\n }\n });\n }(view);\n }\n\n if (view.prototype && view.prototype instanceof View) {\n /* eslint new-cap: 0 */\n var viewOptions = __WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].omit(__WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].extend({}, this.options, extraOptions), 'el');\n args[0] = new view(viewOptions);\n return this.add.apply(this, args);\n }\n\n // prevent dups\n if (__WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].isNumber(getIndex(this, view))) {\n throw new Error('Duplicate child');\n }\n\n view[PARENT] = this;\n\n // make the view responsible for adding itself to the parent:\n // * register the selector in the closure\n // * register a reference the parent in the closure\n view[ADD_TO_CONTAINER] = function (selector) {\n return function () {\n if (selector && view[PARENT].$(selector).length != 1) {\n throw new Error('Invalid selector: ' + selector);\n }\n var $el = selector ? this[PARENT].$(selector) : this[PARENT].$el;\n this.render();\n // we need to delegate events in case\n // the view was added and removed before\n this.delegateEvents();\n\n // this[PARENT].at(index).$el.before(this.el);\n prepend ? $el.prepend(this.el) : $el.append(this.el);\n };\n }.call(view, selector);\n\n // if flag to bubble events is set\n // proxy all child view events\n if (bubble) {\n this.listenTo(view, 'all', function () {\n this.trigger.apply(this, arguments);\n });\n }\n\n // add to the dom if `render` has been called\n if (this.rendered()) {\n view[ADD_TO_CONTAINER]();\n }\n\n // add view to child views collection\n this[CHILDREN].push(view);\n\n return this;\n },\n\n /**\n * Remove all children from container\n */\n removeChildren: function removeChildren() {\n this.each(function (view) {\n view.remove();\n });\n return this;\n },\n\n /**\n * Removes a view from the DOM, and calls stopListening to remove any bound events that the view has listenTo'd.\n * Also removes all childern of the view if any, and removes itself from its parent view(s)\n */\n remove: function remove() {\n this.removeChildren();\n if (this[PARENT]) {\n this[PARENT].unregister(this);\n }\n return __WEBPACK_IMPORTED_MODULE_1_backbone___default.a.View.prototype.remove.apply(this, arguments);\n },\n\n /**\n * Compile the template to function you can apply tokens on on render time.\n * Uses the underscore tempalting engine by default\n * @protected\n * @param {String} template\n * @return {Function} a compiled template\n */\n compileTemplate: function compileTemplate(template) {\n /* eslint @okta/okta/no-specific-methods: 0*/\n return __WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].template(template);\n },\n\n /**\n * Render a template with `this.model` and `this.options` as parameters\n * preferring the model over the options.\n *\n * @param {(String|Function)} template The template to build\n * @return {String} An HTML string\n * @protected\n */\n renderTemplate: function renderTemplate(template) {\n if (__WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].isString(template)) {\n template = this.compileTemplate(template);\n }\n if (__WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].isFunction(template)) {\n return template(this.getTemplateData());\n }\n },\n\n /**\n * The data hash passed to the compiled template\n * @return {Object}\n * @protected\n */\n getTemplateData: function getTemplateData() {\n var modelData = this.model && this.model.toJSON({ verbose: true }) || {};\n var options = __WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].omit(this.options, ['state', 'settings', 'model', 'collection']);\n return __WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].defaults({}, modelData, options);\n },\n\n /**\n * Renders the template to `$el` and append all children in order\n * {@link #template View.template}\n */\n render: function render() {\n this.preRender();\n doRender(this);\n this.postRender();\n return this;\n },\n\n /**\n * Pre render routine. Will be called right *before* the logic in {@link #render} is executed\n * @method\n */\n preRender: noop,\n\n /**\n * Post render routine. Will be called right *after* the logic in {@link #render} is executed\n * @method\n */\n postRender: noop,\n\n /**\n * Was this instance rendered\n */\n rendered: function rendered() {\n return this[RENDERED];\n },\n\n /**\n * Get all direct child views.\n * @returns {src/framework/View[]}\n * @example\n * var container = View.extend({\n * children: [View1, View2]\n * }).render();\n * container.getChildren() //=> [view1, view2];\n */\n getChildren: function getChildren() {\n return this.toArray();\n },\n\n /**\n * Get a child by index\n * @param {number} index\n * @returns {src/framework/View} The child view\n */\n at: function at(index) {\n return this.getChildren()[index];\n },\n\n /**\n * Invokes a method on all children down the tree\n *\n * @param {String} method The method to invoke\n */\n invoke: function invoke(methodName) {\n var args = __WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].toArray(arguments);\n this.each(function (child) {\n // if child has children, bubble down the tree\n if (child.size()) {\n child.invoke.apply(child, args);\n }\n // run the function on the child\n if (__WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].isFunction(child[methodName])) {\n child[methodName].apply(child, args.slice(1));\n }\n });\n return this;\n }\n });\n\n // Code borrowed from Backbone.js source\n // Underscore methods that we want to implement on the Container.\n var methods = ['each', 'map', 'reduce', 'reduceRight', 'find', 'filter', 'reject', 'every', 'some', 'contains', 'toArray', 'size', 'first', 'initial', 'rest', 'last', 'without', 'indexOf', 'shuffle', 'lastIndexOf', 'isEmpty', 'chain', 'where', 'findWhere'];\n\n __WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].each(methods, function (method) {\n View.prototype[method] = function () {\n var args = __WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].toArray(arguments);\n args.unshift(__WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].toArray(this[CHILDREN]));\n return __WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"][method].apply(__WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"], args);\n };\n }, this);\n\n /**\n * See [_.each](http://underscorejs.org/#each)\n * @name each\n * @memberof src/framework/View\n * @method\n * @instance\n * @param {Function} iterator\n * @param {Object} [context]\n */\n /**\n * See [_.map](http://underscorejs.org/#map)\n * @name map\n * @memberof src/framework/View\n * @method\n * @instance\n * @param {Function} iterator\n * @param {Object} [context]\n */\n /**\n * See [_.reduce](http://underscorejs.org/#reduce)\n * @name reduce\n * @memberof src/framework/View\n * @method\n * @instance\n * @param {Function} iterator\n * @param {Mixed} memo\n * @param {Object} [context]\n */\n\n /**\n * See [_.reduceRight](http://underscorejs.org/#reduceRight)\n * @name reduceRight\n * @memberof src/framework/View\n * @method\n * @instance\n * @param {Function} iterator\n * @param {Mixed} memo\n * @param {Object} [context]\n */\n /**\n * See [_.find](http://underscorejs.org/#find)\n * @name find\n * @memberof src/framework/View\n * @method\n * @instance\n * @param {Function} predicate\n * @param {Object} [context]\n */\n /**\n * See [_.filter](http://underscorejs.org/#filter)\n * @name filter\n * @memberof src/framework/View\n * @method\n * @instance\n * @param {Function} predicate\n * @param {Object} [context]\n */\n /**\n * See [_.reject](http://underscorejs.org/#reject)\n * @name reject\n * @memberof src/framework/View\n * @method\n * @instance\n * @param {Function} predicate\n * @param {Object} [context]\n */\n /**\n * See [_.every](http://underscorejs.org/#every)\n * @name every\n * @memberof src/framework/View\n * @method\n * @instance\n * @param {Function} [predicate]\n * @param {Object} [context]\n */\n /**\n * See [_.some](http://underscorejs.org/#some)\n * @name some\n * @memberof src/framework/View\n * @method\n * @instance\n * @param {Function} [predicate]\n * @param {Object} [context]\n */\n /**\n * See [_.contains](http://underscorejs.org/#contains)\n * @name contains\n * @memberof src/framework/View\n * @method\n * @instance\n * @param {Mixed} value\n */\n /**\n * See [_.toArray](http://underscorejs.org/#toArray)\n * @name toArray\n * @memberof src/framework/View\n * @method\n * @instance\n */\n /**\n * See [_.size](http://underscorejs.org/#size)\n * @name size\n * @memberof src/framework/View\n * @method\n * @instance\n */\n /**\n * See [_.first](http://underscorejs.org/#first)\n * @name first\n * @memberof src/framework/View\n * @method\n * @instance\n * @param {Number} [n]\n */\n /**\n * See [_.initial](http://underscorejs.org/#initial)\n * @name initial\n * @memberof src/framework/View\n * @method\n * @instance\n * @param {Number} [n]\n */\n /**\n * See [_.last](http://underscorejs.org/#last)\n * @name last\n * @memberof src/framework/View\n * @method\n * @instance\n * @param {Number} [n]\n */\n /**\n * See [_.rest](http://underscorejs.org/#rest)\n * @name rest\n * @memberof src/framework/View\n * @method\n * @instance\n * @param {Number} [index]\n */\n /**\n * See [_.without](http://underscorejs.org/#without)\n * @name without\n * @memberof src/framework/View\n * @method\n * @instance\n */\n /**\n * See [_.indexOf](http://underscorejs.org/#indexOf)\n * @name indexOf\n * @memberof src/framework/View\n * @method\n * @instance\n * @param {Mixed} value\n * @param {Boolean} [isSorted]\n */\n /**\n * See [_.shuffle](http://underscorejs.org/#shuffle)\n * @name shuffle\n * @memberof src/framework/View\n * @method\n * @instance\n */\n /**\n * See [_.shuffle](http://underscorejs.org/#lastIndexOf)\n * @name lastIndexOf\n * @memberof src/framework/View\n * @method\n * @instance\n * @param {Mixed} value\n * @param {Number} [fromIndex]\n */\n /**\n * See [_.isEmpty](http://underscorejs.org/#isEmpty)\n * @name isEmpty\n * @memberof src/framework/View\n * @method\n * @instance\n */\n /**\n * See [_.chain](http://underscorejs.org/#chain)\n * @name chain\n * @memberof src/framework/View\n * @method\n * @instance\n */\n /**\n * See [_.where](http://underscorejs.org/#where)\n * @name where\n * @memberof src/framework/View\n * @method\n * @instance\n * @param {Object} properties\n */\n /**\n * See [_.findWhere](http://underscorejs.org/#findWhere)\n * @name findWhere\n * @memberof src/framework/View\n * @method\n * @instance\n * @param {Object} properties\n */\n\n /* harmony default export */__webpack_exports__[\"a\"] = View;\n\n /***/\n},\n/* 23 */\n/***/function (module, __webpack_exports__, __webpack_require__) {\n\n \"use strict\";\n\n Object.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n /* harmony import */var __WEBPACK_IMPORTED_MODULE_0__underscore_wrapper__ = __webpack_require__(0);\n /* harmony import */var __WEBPACK_IMPORTED_MODULE_1__views_components_BaseButtonLink__ = __webpack_require__(43);\n /* eslint '@okta/okta-ui/no-deprecated-methods': [0, [{ name: 'BaseButtonLink.extend', use: 'Okta.createButton'}, ]] */\n\n /**\n * A factory method wrapper for {@link BaseButtonLink} creation\n * @class module:Okta.internal.util.ButtonFactory\n */\n\n function normalizeEvents(options) {\n var events = __WEBPACK_IMPORTED_MODULE_0__underscore_wrapper__[\"default\"].extend(options.click ? { click: options.click } : {}, options.events || {});\n\n var target = {};\n\n __WEBPACK_IMPORTED_MODULE_0__underscore_wrapper__[\"default\"].each(events, function (fn, eventName) {\n target[eventName] = function (e) {\n if (!options.href) {\n e.preventDefault();\n e.stopPropagation();\n }\n fn.apply(this, arguments);\n };\n });\n return target;\n }\n\n /* harmony default export */__webpack_exports__[\"default\"] = {\n /**\n * Creates a {@link module:Okta.internal.views.components.BaseButtonLink|BaseButtonLink}.\n * @param {Object} options Options hash\n * @param {String} [options.title] The button text\n * @param {String} [options.icon]\n * CSS class for the icon to display. See [Style guide](http://rain.okta1.com:1802/su/dev/style-guide#icons)\n * @param {String} [options.href] The button link\n * @param {Function} [options.click] On click callback\n * @param {Object} [options.events] a [Backbone events](http://backbonejs.org/#View-delegateEvents) hash\n * @returns {module:Okta.internal.views.components.BaseButtonLink} BaseButtonLink prototype (\"class\")\n */\n create: function create(options) {\n options = __WEBPACK_IMPORTED_MODULE_0__underscore_wrapper__[\"default\"].clone(options);\n options.attrs = options.attributes;\n delete options.attributes;\n\n return __WEBPACK_IMPORTED_MODULE_1__views_components_BaseButtonLink__[\"a\" /* default */].extend(__WEBPACK_IMPORTED_MODULE_0__underscore_wrapper__[\"default\"].extend(options, {\n events: normalizeEvents(options)\n }));\n }\n };\n\n /***/\n},\n/* 24 */\n/***/function (module, __webpack_exports__, __webpack_require__) {\n\n \"use strict\";\n /* harmony import */\n var __WEBPACK_IMPORTED_MODULE_0__underscore_wrapper__ = __webpack_require__(0);\n\n function changeEventString(doWhen) {\n return 'change:' + __WEBPACK_IMPORTED_MODULE_0__underscore_wrapper__[\"default\"].keys(doWhen).join(' change:');\n }\n\n function calcDoWhen(value, key) {\n var modelValue = this.model.get(key);\n\n if (__WEBPACK_IMPORTED_MODULE_0__underscore_wrapper__[\"default\"].isFunction(value)) {\n return value.call(this, modelValue);\n } else {\n return value === modelValue;\n }\n }\n\n function _doWhen(view, doWhen, fn) {\n var toggle = __WEBPACK_IMPORTED_MODULE_0__underscore_wrapper__[\"default\"].bind(fn, view, view, doWhen);\n\n view.render = __WEBPACK_IMPORTED_MODULE_0__underscore_wrapper__[\"default\"].wrap(view.render, function (render) {\n var val = render.call(view);\n\n toggle({ animate: false });\n return val;\n });\n\n view.listenTo(view.model, changeEventString(doWhen), function () {\n toggle({ animate: true });\n });\n }\n\n /* harmony default export */__webpack_exports__[\"a\"] = {\n applyDoWhen: function applyDoWhen(view, doWhen, fn) {\n if (!(view.model && __WEBPACK_IMPORTED_MODULE_0__underscore_wrapper__[\"default\"].isObject(doWhen) && __WEBPACK_IMPORTED_MODULE_0__underscore_wrapper__[\"default\"].size(doWhen) && __WEBPACK_IMPORTED_MODULE_0__underscore_wrapper__[\"default\"].isFunction(fn))) {\n return;\n }\n _doWhen(view, doWhen, function (view, doWhen, options) {\n var result = __WEBPACK_IMPORTED_MODULE_0__underscore_wrapper__[\"default\"].every(__WEBPACK_IMPORTED_MODULE_0__underscore_wrapper__[\"default\"].map(doWhen, calcDoWhen, view));\n\n fn.call(view, result, options);\n });\n }\n };\n\n /***/\n},\n/* 25 */\n/***/function (module, __webpack_exports__, __webpack_require__) {\n\n \"use strict\";\n\n Object.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n /* harmony import */var __WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__ = __webpack_require__(0);\n /* harmony import */var __WEBPACK_IMPORTED_MODULE_1__BaseView__ = __webpack_require__(1);\n /* harmony import */var __WEBPACK_IMPORTED_MODULE_2__helpers_FormUtil__ = __webpack_require__(9);\n\n /* harmony default export */__webpack_exports__[\"default\"] = __WEBPACK_IMPORTED_MODULE_1__BaseView__[\"default\"].extend({\n className: 'o-form-button-bar',\n\n initialize: function initialize(options) {\n this.addButton({\n type: 'save',\n text: __WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].resultCtx(options, 'save', this),\n id: __WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].resultCtx(options, 'saveId', this),\n className: __WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].resultCtx(options, 'saveClassName', this)\n });\n\n if (!options.noCancelButton) {\n this.addButton({ type: 'cancel', text: __WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].resultCtx(options, 'cancel', this) });\n }\n\n if (options.hasPrevStep) {\n this.addButton({ type: 'previous' }, { prepend: true });\n }\n },\n\n /**\n * Adds a buttomn to the toolbar\n * @param {Object} params button parameters\n * @param {Object} options {@link Okta.View#add} options\n */\n addButton: function addButton(params, options) {\n return this.add(__WEBPACK_IMPORTED_MODULE_2__helpers_FormUtil__[\"default\"].createButton(params), options);\n }\n });\n\n /***/\n},\n/* 26 */\n/***/function (module, __webpack_exports__, __webpack_require__) {\n\n \"use strict\";\n\n Object.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n /* harmony import */var __WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__ = __webpack_require__(0);\n\n var registry = {};\n\n function isBaseInput(input) {\n if (__WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].isFunction(input)) {\n return __WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].isFunction(input.prototype.editMode) && __WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].isFunction(input.prototype.readMode);\n } else {\n return __WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].isObject(input) && __WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].isFunction(input.editMode) && __WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].isFunction(input.readMode);\n }\n }\n\n /**\n * @class module:Okta.internal.views.forms.helpers.InputRegistry\n */\n /* harmony default export */__webpack_exports__[\"default\"] = {\n isBaseInput: isBaseInput,\n\n /**\n * Register a form input\n * @param {String} type string identifier for the input\n * @param {BaseInput} input the input to register\n */\n register: function register(type, input) {\n registry[type] = input;\n },\n\n /**\n * Get a form input by type\n * @param {Object} options input definition\n * @param {String} options.type string identifier for the input\n * @return {BaseInput} a matching input\n */\n get: function get(options) {\n var input = registry[options.type];\n\n return input && (isBaseInput(input) ? input : input(options));\n },\n\n /**\n * Unregister an input type\n * @param {String} type\n */\n unregister: function unregister(type) {\n delete registry[type];\n }\n };\n\n /***/\n},\n/* 27 */\n/***/function (module, exports) {\n\n module.exports = __webpack_require__(168);\n\n /***/\n},\n/* 28 */\n/***/function (module, __webpack_exports__, __webpack_require__) {\n\n \"use strict\";\n\n Object.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n /* harmony import */var __WEBPACK_IMPORTED_MODULE_0__util_jquery_wrapper__ = __webpack_require__(2);\n /* harmony import */var __WEBPACK_IMPORTED_MODULE_1__util_underscore_wrapper__ = __webpack_require__(0);\n /* harmony import */var __WEBPACK_IMPORTED_MODULE_2__util_Keys__ = __webpack_require__(8);\n /* harmony import */var __WEBPACK_IMPORTED_MODULE_3__util_TemplateUtil__ = __webpack_require__(4);\n /* harmony import */var __WEBPACK_IMPORTED_MODULE_4_vendor_plugins_chosen_jquery__ = __webpack_require__(67);\n /* harmony import */var __WEBPACK_IMPORTED_MODULE_4_vendor_plugins_chosen_jquery___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_4_vendor_plugins_chosen_jquery__);\n /* harmony import */var __WEBPACK_IMPORTED_MODULE_5__BaseInput__ = __webpack_require__(10);\n\n var template = __WEBPACK_IMPORTED_MODULE_3__util_TemplateUtil__[\"default\"].tpl('<select id=\"{{inputId}}\" name=\"{{name}}\"></select>');\n var option = __WEBPACK_IMPORTED_MODULE_3__util_TemplateUtil__[\"default\"].tpl('<option value=\"{{key}}\">{{value}}</option>');\n var CHOSEN_WINDOW_MARGIN = 20;\n\n // Chosen has known problems when it's at the bottom of a container that has\n // overflow:hidden set. Because it attaches to the parent container, its\n // dropdown will be cut off in the UI. Any modal with a chosen select element\n // at the bottom will manifest this behavior.\n //\n // The fix (aside from replacing Chosen) is to change Chosen's behavior -\n // use the existing styles, but attach it to 'body' and position it correctly\n // so that it is not affected by a parent overflow.\n //\n // More details can be found in OKTA-46489, OKTA-83570\n\n var CHOSEN_MAX_HEIGHT = 240;\n var CHOSEN_Z_INDEX = 50000;\n\n function defer(fn) {\n if (this.params.autoWidth) {\n return fn.call(this);\n } else {\n return __WEBPACK_IMPORTED_MODULE_1__util_underscore_wrapper__[\"default\"].defer(__WEBPACK_IMPORTED_MODULE_1__util_underscore_wrapper__[\"default\"].bind(fn, this));\n }\n }\n\n function findSelectWidth(self) {\n self.$select.hide();\n var select = Object(__WEBPACK_IMPORTED_MODULE_0__util_jquery_wrapper__[\"default\"])(self.$select[0]).hide();\n\n Object(__WEBPACK_IMPORTED_MODULE_0__util_jquery_wrapper__[\"default\"])('body').append(select);\n var width = self.params.width = select.width() * 1.2 + 'px';\n\n self.$el.append(select.show());\n return width;\n }\n\n function recalculateChosen($chosen, $results, $clone) {\n var offset = $clone.offset();\n\n $chosen.css({\n left: offset.left,\n top: offset.top\n });\n // Update the max-height to fit within the constraints of the window. This\n // is especially important for modals because page scrolling is disabled.\n var $win = Object(__WEBPACK_IMPORTED_MODULE_0__util_jquery_wrapper__[\"default\"])(window);\n var rHeight = $results.outerHeight();\n var rBottom = rHeight + $results.offset().top - $win.scrollTop();\n var wHeight = $win.height() - CHOSEN_WINDOW_MARGIN;\n var maxHeight = Math.min(rHeight + wHeight - rBottom, CHOSEN_MAX_HEIGHT);\n\n $results.css('max-height', maxHeight);\n }\n\n function fixChosenModal($select) {\n var $chosen = $select.next('.chzn-container');\n var $clone = $chosen.clone();\n var $results = $chosen.find('.chzn-results');\n\n // Use a hidden clone to maintain layout and calculate offset. This is\n // necessary for more complex layouts (like adding a group rule) where\n // the chosen element is floated.\n $clone.css('visibility', 'hidden');\n $clone.removeAttr('id');\n $clone.find('li').removeAttr('id');\n\n // Save the original styles - we'll revert to them when the select closes\n var baseStyles = {\n left: $chosen.css('left'),\n top: $chosen.css('top'),\n position: $chosen.css('position'),\n float: $chosen.css('float'),\n 'z-index': $chosen.css('z-index')\n };\n\n $results.hide();\n\n // Handler for any resize events that happen when the results list is open\n\n var resizeHandler = __WEBPACK_IMPORTED_MODULE_1__util_underscore_wrapper__[\"default\"].debounce(function () {\n recalculateChosen($chosen, $results, $clone);\n }, 10);\n\n // When the dropdown opens, attach it to body, with the correct absolute\n // position coordinates\n $select.off('.fixChosen'); // Remove events we could have added before\n $select.on('liszt:showing_dropdown.fixChosen', function () {\n $chosen.width($chosen.width());\n $select.after($clone);\n // .chzn-container can trigger the vertical scrollbar if it causes scrollHeight > window height after append to\n // the body. Force top -999999 to avoid the scrollbar so $chosen can find the right offset for relocation.\n $chosen.css({\n position: 'absolute',\n float: 'none',\n 'z-index': CHOSEN_Z_INDEX,\n top: -999999\n });\n Object(__WEBPACK_IMPORTED_MODULE_0__util_jquery_wrapper__[\"default\"])('body').append($chosen);\n $results.show();\n recalculateChosen($chosen, $results, $clone);\n // Capture scroll events:\n // - for forms that use fixed positioning (like editing attributes in\n // Profile Editor) - window scroll\n // - for forms that are too long for the modal - o-form-content scroll\n $select.parents().scroll(resizeHandler);\n Object(__WEBPACK_IMPORTED_MODULE_0__util_jquery_wrapper__[\"default\"])(window).on('resize scroll', resizeHandler);\n });\n\n // When the dropdown closes or the element is removed, revert to the\n // original styles and reattach it to its original placement in the dom.\n $select.on('liszt:hiding_dropdown.fixChosen remove.fixChosen', function () {\n $select.parents().off('scroll', resizeHandler);\n Object(__WEBPACK_IMPORTED_MODULE_0__util_jquery_wrapper__[\"default\"])(window).off('resize scroll', resizeHandler);\n $chosen.css(baseStyles);\n $results.hide();\n $results.css('max-height', CHOSEN_MAX_HEIGHT);\n $clone.remove();\n $select.after($chosen);\n });\n }\n\n /* harmony default export */__webpack_exports__[\"default\"] = __WEBPACK_IMPORTED_MODULE_5__BaseInput__[\"a\" /* default */].extend({\n className: 'o-form-select',\n\n /**\n * @Override\n */\n events: {\n 'change select': 'update',\n 'keyup .chzn-search > :text': function keyupChznSearchText(e) {\n if (__WEBPACK_IMPORTED_MODULE_2__util_Keys__[\"default\"].isEsc(e)) {\n this.$('.chzn-search > :text').val('');\n e.stopPropagation();\n }\n }\n },\n\n constructor: function constructor() {\n this.template = template;\n this.option = option;\n __WEBPACK_IMPORTED_MODULE_5__BaseInput__[\"a\" /* default */].apply(this, arguments);\n this.params = this.options.params || {};\n },\n\n /**\n * @Override\n */\n editMode: function editMode() {\n /* eslint max-statements: [2, 13] */\n\n this.$el.html(template(this.options));\n this.$select = this.$('select');\n\n var options = this.getOptions();\n\n __WEBPACK_IMPORTED_MODULE_1__util_underscore_wrapper__[\"default\"].each(options, function (value, key) {\n this.$select.append(option({ key: key, value: value }));\n }, this);\n\n // Fix a regression in jQuery 1.x on Firefox\n // jQuery.val(value) prepends an empty option to the dropdown\n // if value doesnt exist in the dropdown.\n // http://bugs.jquery.com/ticket/13514\n var value = this.getModelValue();\n\n if (value) {\n this.$select.val(value);\n } else {\n this.$('option:first-child').prop('selected', true);\n }\n this.$el.addClass('o-form-control');\n\n if (this.params.chosen !== false) {\n this.__applyChosen();\n }\n return this;\n },\n\n __applyChosen: function __applyChosen(update) {\n var width = this.options.wide ? '100%' : this.params.width || '62%';\n\n if (this.params.autoWidth) {\n width = findSelectWidth(this);\n }\n\n defer.call(this, function () {\n var searchThreshold = this.getParam('searchThreshold', 10);\n\n if (!__WEBPACK_IMPORTED_MODULE_1__util_underscore_wrapper__[\"default\"].result(this.options, 'autoRender') && update !== false) {\n this.update();\n }\n this.$select.chosen({\n width: width,\n disable_search_threshold: searchThreshold, //eslint-disable-line camelcase\n placeholder_text: this.options['placeholder'], //eslint-disable-line camelcase\n search_contains: true //eslint-disable-line camelcase\n });\n fixChosenModal(this.$select);\n\n if (this.params.autoWidth) {\n // fix a chosen css bug\n this.$el.width(0);\n }\n\n this.model.trigger('form:resize');\n });\n },\n\n /**\n * @Override\n */\n val: function val() {\n return this.$select && this.$select.val();\n },\n\n /**\n * @Override\n */\n focus: function focus() {\n if (this.$select) {\n return this.$select.focus();\n }\n },\n\n /**\n * @Override\n */\n toStringValue: function toStringValue() {\n var selectedOption = this.getModelValue();\n var displayString = selectedOption;\n var options = this.getOptions();\n\n if (!__WEBPACK_IMPORTED_MODULE_1__util_underscore_wrapper__[\"default\"].isEmpty(options)) {\n displayString = options[selectedOption];\n }\n if (__WEBPACK_IMPORTED_MODULE_1__util_underscore_wrapper__[\"default\"].isUndefined(displayString)) {\n displayString = this.defaultValue();\n }\n return displayString || '';\n },\n\n /**\n * Convert options to an object\n * support input options that is a\n * 1. a static object such as {key1: val1, key2: val2...}\n * 2. a function to be called to return a static object\n * will return an object with key-value pairs or with empty content\n * @return {Object} The value\n */\n getOptions: function getOptions() {\n var options = this.options.options;\n\n if (__WEBPACK_IMPORTED_MODULE_1__util_underscore_wrapper__[\"default\"].isFunction(options)) {\n options = options.call(this);\n }\n\n return __WEBPACK_IMPORTED_MODULE_1__util_underscore_wrapper__[\"default\"].isObject(options) ? options : {};\n },\n\n remove: function remove() {\n if (this.$select) {\n this.$select.trigger('remove');\n }\n return __WEBPACK_IMPORTED_MODULE_5__BaseInput__[\"a\" /* default */].prototype.remove.apply(this, arguments);\n }\n });\n\n /***/\n},\n/* 29 */\n/***/function (module, __webpack_exports__, __webpack_require__) {\n\n \"use strict\";\n\n Object.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n /* harmony import */var __WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__ = __webpack_require__(0);\n /* harmony import */var __WEBPACK_IMPORTED_MODULE_1__util_Time__ = __webpack_require__(30);\n /* harmony import */var __WEBPACK_IMPORTED_MODULE_2__BaseView__ = __webpack_require__(1);\n\n function getOption(callout, option) {\n return __WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].resultCtx(callout.options, option, callout) || __WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].result(callout, option);\n }\n\n function getTopClass(callout) {\n var klass = 'infobox clearfix infobox-' + getOption(callout, 'type');\n\n switch (getOption(callout, 'size')) {\n case 'standard':\n klass += '';\n break;\n case 'slim':\n klass += ' infobox-slim';\n break;\n case 'compact':\n klass += ' infobox-compact';\n break;\n case 'large':\n klass += ' infobox-md';\n break;\n }\n if (getOption(callout, 'dismissible')) {\n klass += ' infobox-dismiss';\n }\n return klass;\n }\n\n var events = {\n 'click .infobox-dismiss-link': function clickInfoboxDismissLink(e) {\n var _this2 = this;\n\n e.preventDefault();\n this.$el.fadeOut(__WEBPACK_IMPORTED_MODULE_1__util_Time__[\"a\" /* default */].UNLOADING_FADE, function () {\n _this2.trigger('dismissed');\n _this2.remove();\n });\n }\n };\n var template = '\\\n {{#if dismissible}}\\\n <a data-se=\"dismiss-link\" class=\"infobox-dismiss-link\" title=\"Dismiss\" href=\"#\">\\\n <span data-se=\"icon\" class=\"dismiss-icon\"></span>\\\n </a>\\\n {{/if}}\\\n <span data-se=\"icon\" class=\"icon {{icon}}\"></span>\\\n {{#if title}}<h3 data-se=\"header\">{{title}}</h3>{{/if}}\\\n {{#if subtitle}}<p data-se=\"sub-header\">{{subtitle}}</p>{{/if}}\\\n {{#if bullets}}\\\n <ul data-se=\"list\" class=\"bullets\">\\\n {{#each bullets}}<li data-se=\"list-item\">{{this}}</li>{{/each}}\\\n </ul>\\\n {{/if}}\\\n ';\n var CalloutCallout = __WEBPACK_IMPORTED_MODULE_2__BaseView__[\"default\"].extend(\n /** @lends src/views/components/Callout.prototype */{\n attributes: {\n 'data-se': 'callout'\n },\n\n /**\n * Custom HTML or view to inject to the callout\n * @type {String|Okta.View}\n */\n content: null,\n\n /**\n * Size of icon. options are standard, large, compact\n * @type {String}\n */\n size: 'standard',\n\n /**\n * Type of the callout. Valid values are: info, success, warning, error, tip\n * @type {String}\n */\n type: 'info',\n\n /**\n * Can the callout be dismissed\n * @type {Boolean}\n */\n dismissible: false,\n\n /**\n * Callout title\n * @type {String}\n */\n title: null,\n\n /**\n * Callout subtitle\n * @type {String}\n */\n subtitle: null,\n\n /**\n * Array of strings to render as bullet points\n * @type {Array}\n */\n bullets: null,\n\n /**\n * Fired after the callout is dismised - applies when\n * {@link module:Okta.internal.views.components.Callout|dismissible} is set to true\n * @event src/views/components/Callout#dismissed\n */\n\n constructor: function constructor() {\n this.events = __WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].defaults(this.events || {}, events);\n\n __WEBPACK_IMPORTED_MODULE_2__BaseView__[\"default\"].apply(this, arguments);\n\n this.$el.addClass(getTopClass(this));\n\n this.template = template;\n\n var content = getOption(this, 'content');\n\n if (content) {\n this.add(content);\n }\n },\n\n getTemplateData: function getTemplateData() {\n var icon = getOption(this, 'type');\n\n var size = getOption(this, 'size');\n if (icon === 'tip') {\n // css is inconsistent\n icon = 'light-bulb';\n }\n switch (size) {\n case 'slim':\n icon = '';\n break;\n case 'large':\n icon = [icon, '-', '24'].join('');\n break;\n default:\n icon = [icon, '-', '16'].join('');\n }\n return {\n icon: icon,\n title: getOption(this, 'title'),\n subtitle: getOption(this, 'subtitle'),\n bullets: getOption(this, 'bullets'),\n dismissible: getOption(this, 'dismissible')\n };\n }\n });\n\n /**\n * @class src/views/components/Callout\n * @extends module:Okta.View\n */\n\n /**\n * @class module:Okta.internal.views.components.Callout\n */\n /* harmony default export */__webpack_exports__[\"default\"] = {\n /**\n * Creates a {@link src/views/components/Callout|Callout}.\n * @static\n * @param {Object} options\n * @param {String|Function} [options.size] Size of icon. options are standard, large, compact, slim\n * @param {String|Okta.View} [options.content] Custom HTML or view to inject to the callout\n * @param {String|Function} [options.title] Callout title\n * @param {String|Function} [options.subtitle] Callout subtitle\n * @param {Array|Function} [options.bullets] Array of strings to render as bullet points\n * @param {Boolean|Function} [options.dismissible] Can the callout be dismissed\n * @param {String|Function} [options.type] Callout type. Valid values are: info, success, warning, error, tip\n *\n * @return {src/views/components/Callout}\n */\n create: function create(options) {\n return new CalloutCallout(options);\n }\n };\n\n /***/\n},\n/* 30 */\n/***/function (module, __webpack_exports__, __webpack_require__) {\n\n \"use strict\";\n /* harmony default export */\n __webpack_exports__[\"a\"] = {\n DEBOUNCE_DELAY: 200,\n LOADING_FADE: 400,\n UNLOADING_FADE: 400,\n ROW_EXPANDER_TRANSITION: 150,\n HIDE_ADD_MAPPING_FORM: 300\n };\n\n /***/\n},\n/* 31 */\n/***/function (module, exports, __webpack_require__) {\n\n var __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__; /**\n * There are following local modifications:\n * - Author: Uzi Kilon ukilon@okta.com\n * Bug: OKTA-20830 - solves the conflict when there are multiple labels\n */\n /**\n * --------------------------------------------------------------------\n * jQuery customInput plugin\n * Author: Maggie Costello Wachs maggie@filamentgroup.com, Scott Jehl, scott@filamentgroup.com\n * Copyright (c) 2009 Filament Group\n * licensed under MIT (filamentgroup.com/examples/mit-license.txt)\n * --------------------------------------------------------------------\n */\n !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(12)], __WEBPACK_AMD_DEFINE_RESULT__ = function (jQuery) {\n var $ = jQuery;\n jQuery.fn.customInput = function () {\n return $(this).each(function () {\n if ($(this).is('[type=checkbox],[type=radio]')) {\n var input = $(this);\n\n // get the associated label using the input's id\n var label = input.siblings('label[for=\"' + input.attr('id') + '\"]:first');\n if (!label.length) {\n label = input.closest('label[for=\"' + input.attr('id') + '\"]:first');\n }\n // wrap the input + label in a div\n input.add(label).wrapAll('<div class=\"custom-' + input.attr('type') + '\"></div>');\n\n // necessary for browsers that don't support the :hover pseudo class on labels\n label.hover(function () {\n $(this).addClass('hover');\n }, function () {\n $(this).removeClass('hover');\n });\n\n //bind custom event, trigger it, bind click,focus,blur events\n input.bind('updateState', function () {\n input.is(':checked') ? label.addClass('checked') : label.removeClass('checked checkedHover checkedFocus');\n }).trigger('updateState').click(function () {\n $('input[name=\"' + $(this).attr('name') + '\"]').trigger('updateState');\n }).focus(function () {\n label.addClass('focus');\n if (input.is(':checked')) {\n $(this).addClass('checkedFocus');\n }\n }).blur(function () {\n label.removeClass('focus checkedFocus');\n });\n }\n });\n };\n }.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\n /***/\n},\n/* 32 */\n/***/function (module, __webpack_exports__, __webpack_require__) {\n\n \"use strict\";\n\n Object.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n /* harmony import */var __WEBPACK_IMPORTED_MODULE_0__util_jquery_wrapper__ = __webpack_require__(2);\n /* harmony import */var __WEBPACK_IMPORTED_MODULE_1_qtip__ = __webpack_require__(27);\n /* harmony import */var __WEBPACK_IMPORTED_MODULE_1_qtip___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_qtip__);\n /* harmony import */var __WEBPACK_IMPORTED_MODULE_2__util_Keys__ = __webpack_require__(8);\n /* harmony import */var __WEBPACK_IMPORTED_MODULE_3__util_TemplateUtil__ = __webpack_require__(4);\n /* harmony import */var __WEBPACK_IMPORTED_MODULE_4_vendor_plugins_jquery_placeholder__ = __webpack_require__(72);\n /* harmony import */var __WEBPACK_IMPORTED_MODULE_4_vendor_plugins_jquery_placeholder___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_4_vendor_plugins_jquery_placeholder__);\n /* harmony import */var __WEBPACK_IMPORTED_MODULE_5__BaseInput__ = __webpack_require__(10);\n\n var className = 'okta-form-input-field input-fix';\n\n function hasTitleAndText(options) {\n var title = options.title;\n var text = options.text;\n\n return title && text && title !== text;\n }\n\n // options may be a string or an object.\n function createQtipContent(options) {\n if (hasTitleAndText(options)) {\n return options;\n }\n return { text: options.text || options };\n }\n\n /* harmony default export */__webpack_exports__[\"default\"] = __WEBPACK_IMPORTED_MODULE_5__BaseInput__[\"a\" /* default */].extend({\n template: __WEBPACK_IMPORTED_MODULE_3__util_TemplateUtil__[\"default\"].tpl('\\\n {{#if params.innerTooltip}}\\\n <span class=\"input-tooltip icon form-help-16\"></span>\\\n {{/if}}\\\n {{#if params.icon}}\\\n <span class=\"icon input-icon {{params.icon}}\"></span>\\\n {{/if}}\\\n <input type=\"{{type}}\" placeholder=\"{{placeholder}}\" name=\"{{name}}\" id=\"{{inputId}}\"\\\n value=\"{{value}}\" aria-label=\"{{placeholder}}\" autocomplete=\"off\"/>\\\n {{#if params.iconDivider}}\\\n <span class=\"input-icon-divider\"></span>\\\n {{/if}}\\\n '),\n /**\n * @Override\n */\n events: {\n 'input input': 'update',\n 'change input': 'update',\n 'keydown input': 'update',\n 'keyup input': function keyupInput(e) {\n if (__WEBPACK_IMPORTED_MODULE_2__util_Keys__[\"default\"].isEnter(e)) {\n this.model.trigger('form:save');\n } else if (__WEBPACK_IMPORTED_MODULE_2__util_Keys__[\"default\"].isEsc(e)) {\n this.model.trigger('form:cancel');\n }\n }\n },\n\n constructor: function constructor() {\n __WEBPACK_IMPORTED_MODULE_5__BaseInput__[\"a\" /* default */].apply(this, arguments);\n this.$el.addClass('o-form-control');\n },\n\n /**\n * @Override\n */\n editMode: function editMode() {\n this.$el.addClass(className);\n __WEBPACK_IMPORTED_MODULE_5__BaseInput__[\"a\" /* default */].prototype.editMode.apply(this, arguments);\n this.$('input').placeholder();\n },\n\n /**\n * @Override\n */\n readMode: function readMode() {\n __WEBPACK_IMPORTED_MODULE_5__BaseInput__[\"a\" /* default */].prototype.readMode.apply(this, arguments);\n if (this.options.type === 'password') {\n this.$el.text('********');\n }\n this.$el.removeClass(className);\n },\n\n /**\n * @Override\n */\n val: function val() {\n var inputValue = this.$('input[type=\"' + this.options.type + '\"]').val();\n //IE will only read clear text pw if type=\"password\" is explicitly in selector\n\n if (this.options.type !== 'password') {\n inputValue = __WEBPACK_IMPORTED_MODULE_0__util_jquery_wrapper__[\"default\"].trim(inputValue);\n }\n return inputValue;\n },\n\n /**\n * @Override\n */\n focus: function focus() {\n return this.$('input').focus();\n },\n\n postRender: function postRender() {\n var params = this.options.params;\n var content = void 0;\n\n if (params && params.innerTooltip) {\n content = createQtipContent(params.innerTooltip);\n this.$('.input-tooltip').qtip({\n content: content,\n style: { classes: 'okta-tooltip qtip-custom qtip-shadow' },\n position: {\n my: 'bottom left',\n // Note: qTip2 has a known issue calculating the tooltip offset when:\n // 1. A container element has both:\n // a) position: relative/absolute\n // b) overlay: value other than 'visible'\n // 2. The page is scrolled\n //\n // We set position:relative and overlay:auto on the body element,\n // where both are required for:\n // - Positioning the footer correctly\n // - Displaying long pages in embedded browsers\n //\n // The original design called for a fixed position relative to the\n // tooltip icon - this has been switched to \"relative to mouse, and\n // update position when mouse moves\" because of this constraint.\n target: 'mouse',\n adjust: {\n method: 'flip',\n mouse: true,\n y: -5,\n x: 5\n },\n viewport: Object(__WEBPACK_IMPORTED_MODULE_0__util_jquery_wrapper__[\"default\"])('body')\n }\n });\n }\n }\n });\n\n /***/\n},\n/* 33 */\n/***/function (module, exports, __webpack_require__) {\n\n module.exports = __webpack_require__(34);\n\n /***/\n},\n/* 34 */\n/***/function (module, exports, __webpack_require__) {\n\n \"use strict\";\n\n var _BaseCollection = __webpack_require__(14);\n\n var _BaseCollection2 = _interopRequireDefault(_BaseCollection);\n\n var _BaseModel = __webpack_require__(15);\n\n var _BaseModel2 = _interopRequireDefault(_BaseModel);\n\n var _BaseSchema = __webpack_require__(38);\n\n var _BaseSchema2 = _interopRequireDefault(_BaseSchema);\n\n var _Model = __webpack_require__(11);\n\n var _Model2 = _interopRequireDefault(_Model);\n\n var _SchemaProperty = __webpack_require__(17);\n\n var _SchemaProperty2 = _interopRequireDefault(_SchemaProperty);\n\n var _BaseController = __webpack_require__(40);\n\n var _BaseController2 = _interopRequireDefault(_BaseController);\n\n var _BaseRouter = __webpack_require__(19);\n\n var _BaseRouter2 = _interopRequireDefault(_BaseRouter);\n\n var _ButtonFactory = __webpack_require__(23);\n\n var _ButtonFactory2 = _interopRequireDefault(_ButtonFactory);\n\n var _Class = __webpack_require__(44);\n\n var _Class2 = _interopRequireDefault(_Class);\n\n var _Cookie = __webpack_require__(45);\n\n var _Cookie2 = _interopRequireDefault(_Cookie);\n\n var _Keys = __webpack_require__(8);\n\n var _Keys2 = _interopRequireDefault(_Keys);\n\n var _Logger = __webpack_require__(7);\n\n var _Logger2 = _interopRequireDefault(_Logger);\n\n var _StringUtil = __webpack_require__(3);\n\n var _StringUtil2 = _interopRequireDefault(_StringUtil);\n\n var _TemplateUtil = __webpack_require__(4);\n\n var _TemplateUtil2 = _interopRequireDefault(_TemplateUtil);\n\n var _Util = __webpack_require__(16);\n\n var _Util2 = _interopRequireDefault(_Util);\n\n var _handlebarsWrapper = __webpack_require__(47);\n\n var _handlebarsWrapper2 = _interopRequireDefault(_handlebarsWrapper);\n\n var _jqueryWrapper = __webpack_require__(2);\n\n var _jqueryWrapper2 = _interopRequireDefault(_jqueryWrapper);\n\n var _underscoreWrapper = __webpack_require__(0);\n\n var _underscoreWrapper2 = _interopRequireDefault(_underscoreWrapper);\n\n var _Backbone = __webpack_require__(54);\n\n var _Backbone2 = _interopRequireDefault(_Backbone);\n\n var _BaseView = __webpack_require__(1);\n\n var _BaseView2 = _interopRequireDefault(_BaseView);\n\n var _BaseDropDown = __webpack_require__(56);\n\n var _BaseDropDown2 = _interopRequireDefault(_BaseDropDown);\n\n var _BaseForm = __webpack_require__(57);\n\n var _BaseForm2 = _interopRequireDefault(_BaseForm);\n\n var _Toolbar = __webpack_require__(25);\n\n var _Toolbar2 = _interopRequireDefault(_Toolbar);\n\n var _FormUtil = __webpack_require__(9);\n\n var _FormUtil2 = _interopRequireDefault(_FormUtil);\n\n var _InputRegistry = __webpack_require__(26);\n\n var _InputRegistry2 = _interopRequireDefault(_InputRegistry);\n\n var _SchemaFormFactory = __webpack_require__(65);\n\n var _SchemaFormFactory2 = _interopRequireDefault(_SchemaFormFactory);\n\n var _CheckBox = __webpack_require__(70);\n\n var _CheckBox2 = _interopRequireDefault(_CheckBox);\n\n var _PasswordBox = __webpack_require__(71);\n\n var _PasswordBox2 = _interopRequireDefault(_PasswordBox);\n\n var _Radio = __webpack_require__(73);\n\n var _Radio2 = _interopRequireDefault(_Radio);\n\n var _Select = __webpack_require__(28);\n\n var _Select2 = _interopRequireDefault(_Select);\n\n var _TextBox = __webpack_require__(32);\n\n var _TextBox2 = _interopRequireDefault(_TextBox);\n\n var _Callout = __webpack_require__(29);\n\n var _Callout2 = _interopRequireDefault(_Callout);\n\n var _backbone = __webpack_require__(6);\n\n var _backbone2 = _interopRequireDefault(_backbone);\n\n function _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : { default: obj };\n }\n\n var Okta = {\n Backbone: _backbone2.default,\n\n $: _jqueryWrapper2.default,\n\n _: _underscoreWrapper2.default,\n\n Handlebars: _handlebarsWrapper2.default,\n\n loc: _StringUtil2.default.localize,\n\n createButton: _ButtonFactory2.default.create,\n\n createCallout: _Callout2.default.create,\n\n registerInput: _InputRegistry2.default.register,\n\n tpl: _TemplateUtil2.default.tpl,\n\n Model: _Model2.default,\n\n BaseModel: _BaseModel2.default,\n\n Collection: _BaseCollection2.default,\n\n View: _BaseView2.default,\n\n ListView: _Backbone2.default,\n\n Router: _BaseRouter2.default,\n\n Controller: _BaseController2.default,\n\n Form: _BaseForm2.default,\n\n internal: {\n util: {\n Util: _Util2.default,\n Cookie: _Cookie2.default,\n Logger: _Logger2.default,\n Class: _Class2.default,\n Keys: _Keys2.default\n },\n\n views: {\n components: {\n BaseDropDown: _BaseDropDown2.default\n },\n\n forms: {\n helpers: {\n FormUtil: _FormUtil2.default,\n SchemaFormFactory: _SchemaFormFactory2.default\n },\n\n components: {\n Toolbar: _Toolbar2.default\n },\n\n inputs: {\n TextBox: _TextBox2.default,\n PasswordBox: _PasswordBox2.default,\n CheckBox: _CheckBox2.default,\n Radio: _Radio2.default,\n Select: _Select2.default\n }\n }\n },\n\n models: {\n BaseSchema: _BaseSchema2.default,\n SchemaProperty: _SchemaProperty2.default\n }\n }\n };\n\n Okta.registerInput('text', _TextBox2.default);\n Okta.registerInput('password', _PasswordBox2.default);\n Okta.registerInput('checkbox', _CheckBox2.default);\n Okta.registerInput('radio', _Radio2.default);\n Okta.registerInput('select', _Select2.default);\n\n module.exports = Okta;\n\n /***/\n},\n/* 35 */\n/***/function (module, exports) {\n\n module.exports = __webpack_require__(151);\n\n /***/\n},\n/* 36 */\n/***/function (module, __webpack_exports__, __webpack_require__) {\n\n \"use strict\";\n /* harmony import */\n var __WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__ = __webpack_require__(0);\n /* harmony import */var __WEBPACK_IMPORTED_MODULE_1_backbone__ = __webpack_require__(6);\n /* harmony import */var __WEBPACK_IMPORTED_MODULE_1_backbone___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_backbone__);\n\n var STATE = '__STATE__',\n FETCH_DATA = 'FETCH_DATA',\n PAGINATION_DATA = 'PAGINATION_DATA',\n DEFAULT_PARAMS = 'DEFAULT_PARAMS',\n LINK_BY_HEADER = 'LINK_BY_HEADER',\n XHR = 'XHR';\n\n /*\n * Sets the next page URL on the collection from link headers\n * See: http://www.rfc-editor.org/rfc/rfc5988.txt\n *\n * This method is looking for a link header with `rel=\"next\"`\n * An set's it as the next page's URL.\n *\n * If it doesn't find a next page, and current page is set by a link header\n * it assumes we are at the last page and deletes the current `next`\n */\n function setLinkHeadersPagination(collection, xhr) {\n try {\n var links = parseLinkHeader(xhr.getResponseHeader('link'));\n collection[STATE].set(LINK_BY_HEADER, true);\n collection.setPagination(links['next'].href);\n } catch (e) {\n if (collection[STATE].get(LINK_BY_HEADER)) {\n collection.setPagination(null);\n }\n }\n }\n\n function parseQuery(url) {\n var params = {},\n rawQueryStr = url && url.split('?')[1],\n queryString = rawQueryStr && decodeURIComponent(rawQueryStr.split('#')[0]).replace(/\\+/g, ' '),\n props = queryString ? queryString.split('&') : [];\n for (var i = 0; i < props.length; i++) {\n var parts = props[i].split('=');\n params[parts.shift()] = parts.join('=');\n }\n return params;\n }\n\n // ################################################\n // # Source: https://gist.github.com/deiu/9335803\n // ################################################\n\n // unquote string (utility)\n function unquote(value) {\n if (value.charAt(0) == '\"' && value.charAt(value.length - 1) == '\"') {\n return value.substring(1, value.length - 1);\n }\n return value;\n }\n /*\n parse a Link header\n Link:<https://example.org/.meta>; rel=meta\n var r = parseLinkHeader(xhr.getResponseHeader('Link');\n r['meta']['href'] outputs https://example.org/.meta\n */\n function parseLinkHeader(header) {\n /* eslint max-statements: 0 */\n var linkexp = /<[^>]*>\\s*(\\s*;\\s*[^()<>@,;:\"/[\\]?={} \\t]+=(([^()<>@,;:\"/[\\]?={} \\t]+)|(\"[^\"]*\")))*(,|$)/g,\n paramexp = /[^()<>@,;:\"/[\\]?={} \\t]+=(([^()<>@,;:\"/[\\]?={} \\t]+)|(\"[^\"]*\"))/g;\n\n var matches = header.match(linkexp);\n var rels = {};\n for (var i = 0; i < matches.length; i++) {\n var split = matches[i].split('>');\n var href = split[0].substring(1);\n var link = {};\n link.href = href;\n var s = split[1].match(paramexp);\n for (var j = 0; j < s.length; j++) {\n var paramsplit = s[j].split('=');\n var name = paramsplit[0];\n link[name] = unquote(paramsplit[1]);\n }\n\n if (link.rel !== undefined) {\n rels[link.rel] = link;\n }\n }\n\n return rels;\n }\n\n // ################################################\n // # /Source\n // ################################################\n //\n\n /**\n *\n * Archer.Collection is a standard [Backbone.Collection](http://backbonejs.org/#Collection) with pre-set `data`\n * parameters and built in pagination - works with [http link headers](https://tools.ietf.org/html/rfc5988)\n * out of the box:\n *\n * @class src/framework/Collection\n * @extends external:Backbone.Collection\n * @example\n * var Users = Archer.Collection.extend({\n * url: '/api/v1/users'\n * params: {expand: true}\n * });\n * var users = new Users(null, {params: {type: 'new'}}),\n * $button = this.$('a.fetch-more');\n *\n * $button.click(function () {\n * users.fetchMore();\n * });\n *\n * this.listenTo(users, 'sync', function () {\n * $button.toggle(users.hasMore());\n * });\n *\n * collection.fetch(); //=> '/api/v1/users?expand=true&type=new'\n */\n\n /* harmony default export */__webpack_exports__[\"a\"] = __WEBPACK_IMPORTED_MODULE_1_backbone___default.a.Collection.extend( /** @lends src/framework/Collection.prototype */{\n\n /**\n * Default fetch parameters\n * @type {Object}\n */\n params: {},\n\n constructor: function constructor(models, options) {\n var state = this[STATE] = new __WEBPACK_IMPORTED_MODULE_1_backbone___default.a.Model();\n state.set(DEFAULT_PARAMS, __WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].defaults(options && options.params || {}, this.params || {}));\n __WEBPACK_IMPORTED_MODULE_1_backbone___default.a.Collection.apply(this, arguments);\n },\n\n /**\n * See [Backbone Collection.sync](http://backbonejs.org/#Collection-sync).\n */\n sync: function sync(method, collection, options) {\n var self = this,\n success = options.success;\n options.success = function (resp, status, xhr) {\n // its important to set the pagination data *before* we call the success callback\n // because we want the pagination data to be ready when the collection triggers the `sync` event\n setLinkHeadersPagination(self, xhr);\n success.apply(null, arguments);\n };\n return __WEBPACK_IMPORTED_MODULE_1_backbone___default.a.Collection.prototype.sync.call(this, method, collection, options);\n },\n\n /**\n * See [Backbone Collection.fetch](http://backbonejs.org/#Collection-fetch).\n */\n fetch: function fetch(options) {\n options || (options = {});\n var state = this[STATE],\n xhr = state.get(XHR);\n\n options.data = __WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].extend({}, state.get(DEFAULT_PARAMS), options.data || {});\n options.fromFetch = true;\n\n state.set(FETCH_DATA, options.data);\n if (xhr && xhr.abort && options.abort !== false) {\n xhr.abort();\n }\n xhr = __WEBPACK_IMPORTED_MODULE_1_backbone___default.a.Collection.prototype.fetch.call(this, options);\n state.set(XHR, xhr);\n return xhr;\n },\n\n /**\n * Set pagination data to get to the next page\n * @param {Mixed} params\n * @param {Object} [options]\n * @param {Boolean} [options.fromFetch] should we include data from the previous fetch call in this object\n * @example\n * collection.setPagination({q: 'foo', page: '2'}); //=> {q: 'foo', page: '2'}\n *\n * collection.setPagination('/path/to/resource?q=baz&page=4'); //=> {q: 'baz', page: '4'}\n *\n * collection.setPagination('/path/to/resource'); //=> {}\n *\n * collection.fetch({data: {q: 'foo'}});\n * collection.setPagination({page: 2}, {fromFetch: true}); //=> {q: 'foo', page: 2}\n *\n * any \"falsy\" value resets pagination\n * collection.setPagination(); //=> {}\n * collection.setPagination(null); //=> {}\n * collection.setPagination(false); //=> {}\n * collection.setPagination(''); //=> {}\n * collection.setPagination(0); //=> {}\n * @protected\n */\n setPagination: function setPagination(params, options) {\n /* eslint complexity: [2, 8] */\n if (__WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].isString(params) && params) {\n params = parseQuery(params);\n }\n if (!__WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].isObject(params) || __WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].isArray(params) || !__WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].size(params)) {\n params = null;\n } else if (options && options.fromFetch) {\n params = __WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].extend({}, this.getFetchData(), params);\n }\n this[STATE].set(PAGINATION_DATA, params);\n },\n\n /**\n * Returns the `data` parameters applied in th most recent `fetch` call\n * It will include parameters set by {@link #params} and optios.params passed to the constructor\n * @return {Object}\n * @protected\n */\n getFetchData: function getFetchData() {\n return this[STATE].get(FETCH_DATA) || {};\n },\n\n /**\n * Data object for constructing a request to fetch the next page\n * @return {Object}\n * @protected\n */\n getPaginationData: function getPaginationData() {\n return this[STATE].get(PAGINATION_DATA) || {};\n },\n\n /**\n * Does this collection have more data on the server (e.g is there a next \"page\")\n * @return {Boolean}\n */\n hasMore: function hasMore() {\n return __WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].size(this.getPaginationData()) > 0;\n },\n\n /**\n * Get the next page from the server\n * @return {Object} xhr returned by {@link #fetch}\n */\n fetchMore: function fetchMore() {\n if (!this.hasMore()) {\n throw new Error('Invalid Request');\n }\n return this.fetch({ data: this.getPaginationData(), add: true, remove: false, update: true });\n },\n\n /**\n * See [Backbone Collection.reset](http://backbonejs.org/#Collection-reset).\n */\n reset: function reset(models, options) {\n options || (options = {});\n // only reset the pagination when reset is being called explicitly.\n // this is to avoid link headers pagination being overriden and reset when\n // fetching the collection using `collection.fetch({reset: true})`\n if (!options.fromFetch) {\n this.setPagination(null);\n }\n return __WEBPACK_IMPORTED_MODULE_1_backbone___default.a.Collection.prototype.reset.apply(this, arguments);\n },\n\n // we want \"where\" to be able to search through derived properties as well\n where: function where(attrs, first) {\n if (__WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].isEmpty(attrs)) {\n return first ? void 0 : [];\n }\n return this[first ? 'find' : 'filter'](function (model) {\n for (var key in attrs) {\n if (attrs[key] !== model.get(key)) {\n return false;\n }\n }\n return true;\n });\n },\n\n /**\n * See [Backbone Collection.create](http://backbonejs.org/#Collection-create).\n */\n create: function create(model, options) {\n options || (options = {});\n if (!__WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].result(model, 'urlRoot')) {\n options.url = __WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].result(this, 'url');\n }\n return __WEBPACK_IMPORTED_MODULE_1_backbone___default.a.Collection.prototype.create.call(this, model, options);\n }\n\n });\n\n /***/\n},\n/* 37 */\n/***/function (module, __webpack_exports__, __webpack_require__) {\n\n \"use strict\";\n /* harmony import */\n var __WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__ = __webpack_require__(0);\n /* harmony import */var __WEBPACK_IMPORTED_MODULE_1_backbone__ = __webpack_require__(6);\n /* harmony import */var __WEBPACK_IMPORTED_MODULE_1_backbone___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_backbone__);\n /* harmony import */var __WEBPACK_IMPORTED_MODULE_2__util_Logger__ = __webpack_require__(7);\n\n /**\n * Archer.Model is a standard [Backbone.Model](http://backbonejs.org/#Model) with a few additions:\n *\n * - {@link src/framework/Model#derived Derived properties}\n * - {@link src/framework/Model#props Built in schema validation}\n * - {@link src/framework/Model#local Private properties (with schema validation)}\n * - {@link src/framework/Model#flat Flattening of nested objects}\n *\n * Both derived and private properties are filtered out when sending the data to the server.\n *\n * See [Backbone.Model](http://backbonejs.org/#Model-constructor).\n *\n * @class src/framework/Model\n * @extends external:Backbone.Model\n * @param {Object} [attributes] - Initial model attributes (data)\n * @param {Object} [options] - Options hash\n * @example\n * var Person = Archer.Model.extend({\n * props: {\n * 'fname': 'string',\n * 'lname': 'string'\n * },\n * local: {\n * isLoggedIn: 'boolean'\n * },\n * derived: {\n * name: {\n * deps: ['fname', 'lname'],\n * fn: function (fname, lname) {\n * return fname + ' ' + lname;\n * }\n * }\n * }\n * });\n * var model = new Person({fname: 'Joe', lname: 'Doe'});\n * model.get('name'); //=> \"Joe Doe\"\n * model.toJSON(); //=> {fname: 'Joe', lname: 'Doe'}\n *\n * model.set('isLoggedIn', true);\n * model.get('isLoggedIn'); //=> true\n * model.toJSON(); //=> {fname: 'Joe', lname: 'Doe'}\n */\n var Model;\n\n function flatten(value, objectTypeFields, key, target) {\n var filter = __WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].contains(objectTypeFields, key);\n target || (target = {});\n if (!filter && __WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].isObject(value) && !__WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].isArray(value) && !__WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].isFunction(value)) {\n __WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].each(value, function (val, i) {\n flatten(val, objectTypeFields, key ? key + '.' + i : i, target);\n });\n }\n // Case where target is an empty object. Guard against returning {undefined: undefined}.\n else if (key !== undefined) {\n target[key] = value;\n }\n return target;\n }\n\n function unflatten(data) {\n __WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].each(data, function (value, key, data) {\n if (key.indexOf('.') == -1) {\n return;\n }\n var part,\n ref = data,\n parts = key.split('.');\n while ((part = parts.shift()) !== undefined) {\n if (!ref[part]) {\n ref[part] = parts.length ? {} : value;\n }\n ref = ref[part];\n }\n delete data[key];\n });\n return data;\n }\n\n function createMessage(field, msg) {\n var obj = {};\n obj[field.name] = msg;\n return obj;\n }\n\n function normalizeSchemaDef(field, name) {\n var target;\n if (__WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].isString(field)) {\n target = {\n type: field\n };\n } else if (__WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].isArray(field)) {\n target = {\n type: field[0],\n required: field[1],\n value: field[2]\n };\n } else {\n target = __WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].clone(field);\n }\n __WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].defaults(target, { required: false, name: name });\n return target;\n }\n\n function capitalize(string) {\n return string.toLowerCase().replace(/\\b[a-z]/g, function (letter) {\n return letter.toUpperCase();\n });\n }\n\n function _validateRegex(value, pattern, error) {\n if (!pattern.test(value)) {\n return error;\n }\n }\n\n var StringFormatValidators = {\n /*eslint max-len: 0 */\n email: function email(value) {\n // Taken from http://emailregex.com/ on 2017-03-06.\n var pattern = /^(([^<>()[\\]\\\\.,;:\\s@\"]+(\\.[^<>()[\\]\\\\.,;:\\s@\"]+)*)|(\".+\"))@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}])|(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]{2,}))$/;\n return _validateRegex(value, pattern, Model.ERROR_INVALID_FORMAT_EMAIL);\n },\n uri: function uri(value) {\n // source: https://mathiasbynens.be/demo/url-regex\n var pattern = /^(?:(?:https?|ftp):\\/\\/)(?:\\S+(?::\\S*)?@)?(?:(?!(?:10|127)(?:\\.\\d{1,3}){3})(?!(?:169\\.254|192\\.168)(?:\\.\\d{1,3}){2})(?!172\\.(?:1[6-9]|2\\d|3[0-1])(?:\\.\\d{1,3}){2})(?:[1-9]\\d?|1\\d\\d|2[01]\\d|22[0-3])(?:\\.(?:1?\\d{1,2}|2[0-4]\\d|25[0-5])){2}(?:\\.(?:[1-9]\\d?|1\\d\\d|2[0-4]\\d|25[0-4]))|(?:(?:[a-z\\u00a1-\\uffff0-9]-*)*[a-z\\u00a1-\\uffff0-9]+)(?:\\.(?:[a-z\\u00a1-\\uffff0-9]-*)*[a-z\\u00a1-\\uffff0-9]+)*(?:\\.(?:[a-z\\u00a1-\\uffff]{2,}))\\.?)(?::\\d{2,5})?(?:[/?#]\\S*)?$/i;\n return _validateRegex(value, pattern, Model.ERROR_INVALID_FORMAT_URI);\n },\n ipv4: function ipv4(value) {\n // source: https://www.safaribooksonline.com/library/view/regular-expressions-cookbook/9780596802837/ch07s16.html\n var pattern = /^(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$/;\n return _validateRegex(value, pattern, Model.ERROR_INVALID_FORMAT_IPV4);\n },\n hostname: function hostname(value) {\n // source: http://www.regextester.com/23\n var pattern = /^(([a-zA-Z0-9]|[a-zA-Z0-9][a-zA-Z0-9-]*[a-zA-Z0-9])\\.)*([A-Za-z0-9]|[A-Za-z0-9][A-Za-z0-9-]*[A-Za-z0-9])$/;\n return _validateRegex(value, pattern, Model.ERROR_INVALID_FORMAT_HOSTNAME);\n }\n };\n\n function validateStringFormat(field, value) {\n var validator = StringFormatValidators[field.format];\n if (field.format && !validator) {\n throw new TypeError(field.format + ' is not a supported string format');\n }\n return validator && validator(value);\n }\n\n function validateString(field, value) {\n var createMessageWith = __WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].partial(createMessage, field),\n invalidFormat = validateStringFormat(field, value);\n if (invalidFormat) {\n return createMessageWith(invalidFormat);\n }\n if (value && field.minLength && value.length < field.minLength) {\n return createMessageWith(Model.ERROR_STRING_STRING_MIN_LENGTH, value.length);\n }\n if (value && field.maxLength && value.length > field.maxLength) {\n return createMessageWith(Model.ERROR_STRING_STRING_MAX_LENGTH, value.length);\n }\n }\n\n function _validateField(field, value) {\n /* eslint complexity: [2, 25], max-statements: [2, 27] */\n var createMessageWith = __WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].partial(createMessage, field),\n isDefined = !__WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].isUndefined(value) && !__WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].isNull(value),\n checkType,\n errorMessage;\n\n // If using an array validator, perform the validation\n if (Array.isArray(field.validate)) {\n var output = [];\n var foundError = false;\n var _result = void 0;\n field.validate.forEach(function (item) {\n if (!value) {\n _result = false;\n } else {\n switch (item.type.toLowerCase()) {\n case 'regex':\n _result = new RegExp(item.value.pattern, item.value.flags || '').test(value);\n break;\n default:\n _result = false;\n }\n }\n // Append the result.\n foundError = foundError || !_result;\n output.push({\n message: item.hasOwnProperty('message') ? item.message : '',\n passed: _result\n });\n });\n if (foundError) {\n return createMessageWith(output);\n }\n return;\n }\n\n // check required fields\n if (field.required && (!isDefined || __WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].isNull(value) || value === '')) {\n return createMessageWith(Model.ERROR_BLANK);\n }\n // check type\n checkType = __WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"]['is' + capitalize(field.type)];\n if (isDefined && field.type != 'any' && (!__WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].isFunction(checkType) || !checkType(value))) {\n return createMessageWith(Model.ERROR_WRONG_TYPE);\n }\n // validate string format\n if (value && field.type == 'string') {\n var error = validateString(field, value);\n if (error) {\n return error;\n }\n }\n // check pre set values (enum)\n if (isDefined && field.values && !__WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].contains(field.values, value)) {\n return createMessageWith(Model.ERROR_NOT_ALLOWED);\n }\n // check validate method\n if (__WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].isFunction(field.validate)) {\n var result = field.validate(value);\n if (__WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].isString(result) && result) {\n return createMessageWith(result);\n } else if (result === false) {\n return createMessageWith(Model.ERROR_INVALID);\n }\n }\n // check array items\n if (isDefined && field.type == 'array' && (errorMessage = validateArrayField(field, value))) {\n return createMessageWith(errorMessage);\n }\n }\n\n function validateArrayField(field, arr) {\n if (field.minItems && arr.length < field.minItems) {\n return 'model.validation.field.array.minItems';\n } else if (field.maxItems && arr.length > field.maxItems) {\n return 'model.validation.field.array.maxItems';\n } else if (field.uniqueItems && arr.length > __WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].uniq(arr).length) {\n return Model.ERROR_IARRAY_UNIQUE;\n } else if (field.items) {\n /* eslint max-depth: [2, 3] */\n var arrayField = normalizeSchemaDef(field.items, 'placeholder');\n for (var i = 0; i < arr.length; i++) {\n var value = arr[i];\n var error = _validateField(arrayField, value);\n if (error) {\n return error['placeholder'];\n }\n }\n }\n }\n\n Model = __WEBPACK_IMPORTED_MODULE_1_backbone___default.a.Model.extend( /** @lends src/framework/Model.prototype */{\n\n /**\n * Pass props as an object to extend, describing the observable properties of your model. The props\n * properties should not be set on an instance, as this won't define new properties, they should only be passed to\n * extend.\n * Properties can be defined in three different ways:\n *\n * - As a string with the expected dataType. One of string, number, boolean, array, object, date, or any.\n * Eg: `name: 'string'`.\n * - An array of `[dataType, required, default]`\n * - An object `{type: 'string', format: '', required: true, value: '', values: [], validate: function() {}`\n * - `value` will be the value that the property will be set to if it is undefined, either by not being set during\n * initialization, or by being explicitly set to undefined.\n * - `format` is a json-schame derived string format. Supported formats are: `email`, `uri`, `hostname` and `ipv4`.\n * - If `required` is true, one of two things will happen. If a default is set for the property, the property will\n * start with that value. If a default is not set for the property, validation will fail\n * - If `values` array is passed, then you'll be able to change a property to one of those values only.\n * - If `validate` is defined, it should return false or a custom message string when the validation fails.\n * - If the type is defined as `array`, the array elements could be defined by `minItems` (Number),\n * `uniqueItems` (Boolean) and `items` (a field definition such as this one that will validate each array member)\n * To the `validate` method\n * - Trying to set a property to an invalid type will raise an exception.\n *\n * @type {Mixed}\n * @example\n * var Person = Model.extend({\n * props: {\n * name: 'string',\n * age: 'number',\n * paying: ['boolean', true, false], //required attribute, defaulted to false\n * type: {\n * type: 'string',\n * values: ['regular-hero', 'super-hero', 'mega-hero']\n * },\n * likes: {\n * type: 'string',\n * validate: function (value) {\n * return /^[\\w]+ing$/.test(value)\n * }\n * }\n * }\n * });\n */\n props: {},\n\n /**\n * Derived properties (also known as computed properties) are properties of the model that depend on the\n * other (props, local or even derived properties to determine their value. Best demonstrated with an example:\n *\n * Each derived property, is defined as an object with the current properties:\n *\n * - `deps` {Array} - An array of property names which the derived property depends on.\n * - `fn` {Function} - A function which returns the value of the computed property. It is called in the context of\n * the current object, so that this is set correctly.\n * - `cache` {Boolean} - - Whether to cache the property. Uncached properties are computed every time they are\n * accessed. Useful if it depends on the current time for example. Defaults to `true`.\n *\n * Derived properties are retrieved and fire change events just like any other property. They cannot be set\n * directly.\n * @type {Object}\n * @example\n * var Person = Model.extend({\n * props: {\n * firstName: 'string',\n * lastName: 'string'\n * },\n * derived: {\n * fullName: {\n * deps: ['firstName', 'lastName'],\n * fn: function (firstName, lastName) {\n * return firstName + ' ' + lastName;\n * }\n * }\n * }\n * });\n *\n * var person = new Person({ firstName: 'Phil', lastName: 'Roberts' })\n * console.log(person.get('fullName')) //=> \"Phil Roberts\"\n *\n * person.set('firstName', 'Bob');\n * console.log(person.get('fullName')) //=> \"Bob Roberts\"\n */\n derived: {},\n\n /**\n * local properties are defined and work in exactly the same way as {@link src/framework/Model#props|props}, but generally only exist for\n * the lifetime of the page.\n * They would not typically be persisted to the server, and are not returned by calls to {@link src/framework/Model#toJSON|toJSON}.\n *\n * @type {Object}\n * @example\n * var Person = Model.extend({\n * props: {\n * name: 'string',\n * },\n * local: {\n * isLoggedIn: 'boolean'\n * }\n * );\n */\n local: {},\n\n /**\n * Flatten the payload into dot notation string keys:\n *\n * @type {Boolean}\n * @example\n * var Person = Model.extend({\n * props: {\n * 'profile.fname': 'string',\n * 'profile.lname': 'string',\n * 'profile.languages': 'object'\n * },\n * flat: true\n * });\n * var person = new Person({'profile': {\n * 'fname': 'John',\n * 'lname': 'Doe',\n * 'languages': {name: \"English\", value: \"EN\"}\n * }}, {parse: true});\n * person.get('profile'); //=> undefined\n * person.get('profile.fname'); //=> 'John'\n * person.get('profile.lname'); //=> 'Doe'\n * person.get('profile.languages'); //=> {name: \"English\", value: \"EN\"}\n * person.get('profile.languages.name'); //=> undefined\n * person.toJSON(); //=> {'profile': {'fname': 'John'} }\n */\n flat: true,\n\n /**\n * @deprecated\n * @alias Backbone.Model#defaults\n */\n defaults: {},\n\n constructor: function constructor(options) {\n this.options = options || {};\n\n var schema = this['__schema__'] = {},\n objectTypeFields = [];\n\n schema.computedProperties = {};\n\n schema.props = __WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].clone(__WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].result(this, 'props') || {});\n schema.derived = __WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].clone(__WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].result(this, 'derived') || {});\n schema.local = __WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].clone(__WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].result(this, 'local') || {});\n\n var defaults = {};\n __WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].each(__WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].extend({}, schema.props, schema.local), function (options, name) {\n var schemaDef = normalizeSchemaDef(options, name);\n if (!__WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].isUndefined(schemaDef.value)) {\n defaults[name] = schemaDef.value;\n }\n if (schemaDef.type === 'object') {\n objectTypeFields.push(name);\n }\n }, this);\n if (__WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].size(defaults)) {\n var localDefaults = __WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].result(this, 'defaults');\n this.defaults = function () {\n return __WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].defaults({}, defaults, localDefaults);\n };\n }\n\n // override `validate`\n this.validate = __WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].wrap(this.validate, function (validate) {\n var args = __WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].rest(arguments),\n res = __WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].extend(this._validateSchema.apply(this, args), validate.apply(this, args));\n return __WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].size(res) && res || undefined;\n });\n\n // override `parse`\n this.parse = __WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].wrap(this.parse, function (parse) {\n var target = parse.apply(this, __WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].rest(arguments));\n if (this.flat) {\n target = flatten(target, objectTypeFields);\n }\n return target;\n });\n\n __WEBPACK_IMPORTED_MODULE_1_backbone___default.a.Model.apply(this, arguments);\n\n __WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].each(schema.derived, function (options, name) {\n schema.computedProperties[name] = this.__getDerivedValue(name); // set initial value;\n var deps = options.deps || [];\n if (deps.length) {\n this.on('cache:clear change:' + deps.join(' change:'), function () {\n var value = this.__getDerivedValue(name);\n if (value !== schema.computedProperties[name]) {\n schema.computedProperties[name] = value;\n this.trigger('change:' + name, this, value);\n }\n }, this);\n }\n }, this);\n\n this.on('sync', function () {\n this.__syncedData = this.toJSON();\n }, this);\n },\n\n validate: function validate() {},\n\n /**\n * Check if the schema settings allow this field to exist in the model\n * @param {String} key\n * @return {Boolean}\n */\n allows: function allows(key) {\n var schema = this['__schema__'],\n all = __WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].extend({}, schema.props, schema.local);\n if (!__WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].has(all, key)) {\n __WEBPACK_IMPORTED_MODULE_2__util_Logger__[\"default\"].warn('Field not defined in schema', key);\n }\n return true;\n },\n\n /**\n * Returns the schema for the specific property\n *\n * @param propName - The name of the property\n * @returns {*} | null\n */\n getPropertySchema: function getPropertySchema(propName) {\n var schema = this['__schema__'];\n return __WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].reduce([schema.props, schema.local], function (result, options) {\n return result || normalizeSchemaDef(options[propName], propName);\n }, null);\n },\n\n set: function set(key, val) {\n var attrs;\n if ((typeof key === 'undefined' ? 'undefined' : (0, _typeof3.default)(key)) === 'object') {\n attrs = key;\n } else {\n (attrs = {})[key] = val;\n }\n\n // Don't override a computed properties\n __WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].each(attrs, function (value, key) {\n if (__WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].has(this['__schema__'].derived, key)) {\n throw 'overriding derived properties is not supported: ' + key;\n }\n }, this);\n\n // Schema validation\n var errorFields = [];\n __WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].each(attrs, function (value, key) {\n this.allows(key) || errorFields.push(key);\n }, this);\n if (errorFields.length) {\n throw 'field not allowed: ' + errorFields.join(', ');\n }\n\n return __WEBPACK_IMPORTED_MODULE_1_backbone___default.a.Model.prototype.set.apply(this, arguments);\n },\n\n get: function get(attr) {\n var schema = this['__schema__'];\n if (__WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].has(schema.derived, attr)) {\n if (schema.derived[attr].cache !== false) {\n return schema.computedProperties[attr];\n } else {\n return this.__getDerivedValue(attr);\n }\n }\n return __WEBPACK_IMPORTED_MODULE_1_backbone___default.a.Model.prototype.get.apply(this, arguments);\n },\n\n /**\n * Return a shallow copy of the model's attributes for JSON stringification.\n * This can be used for persistence, serialization, or for augmentation before being sent to the server.\n * The name of this method is a bit confusing, as it doesn't actually return a JSON string —\n * but I'm afraid that it's the way that the JavaScript API for JSON.stringify works.\n *\n * See [Backbone.Model.toJSON](http://backbonejs.org/#Model-toJSON)\n *\n * @param {Object} options\n * @return {Object}\n * @example\n * var artist = new Model({\n * firstName: 'Wassily',\n * lastName: 'Kandinsky'\n * });\n *\n * artist.set({birthday: 'December 16, 1866'});\n * JSON.stringify(artist); //=> {'firstName':'Wassily','lastName':'Kandinsky','birthday':'December 16, 1866'}\n */\n toJSON: function toJSON(options) {\n options || (options = {});\n var res = __WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].clone(__WEBPACK_IMPORTED_MODULE_1_backbone___default.a.Model.prototype.toJSON.apply(this, arguments)),\n schema = this['__schema__'];\n\n // cleanup local properties\n if (!options.verbose) {\n res = __WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].omit(res, __WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].keys(schema.local));\n } else {\n // add derived properties\n __WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].each(schema.derived, function (options, name) {\n res[name] = this.get(name);\n }, this);\n }\n\n if (this.flat) {\n res = unflatten(res);\n }\n\n return res;\n },\n\n /**\n * Removes all attributes from the model, including the id attribute.\n * Fires a `\"change\"` event unless `silent` is passed as an option.\n * Sets the default values to the model\n * @param {Object} [options]\n */\n reset: function reset(options) {\n this.clear(options);\n this.set(__WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].result(this, 'defaults'), options);\n },\n\n /**\n * Is the data on the model has local modifications since the last sync event?\n * @return {Boolean} is the model in sync with the server\n */\n isSynced: function isSynced() {\n return __WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].isEqual(this.__syncedData, this.toJSON());\n },\n\n /**\n * validate a specific field in the model.\n * @param {String} key\n * @return {Object} returns `{fieldName: errorMessage}` if invalid, otherwise undefined.\n * @readonly\n */\n validateField: function validateField(key) {\n var schema = key && this.getPropertySchema(key);\n return schema && _validateField(schema, this.get(key));\n },\n\n /**\n * Runs local schema validation. Invoked internally by {@link src/framework/Model#validate|validate}.\n * @return {Object}\n * @protected\n */\n _validateSchema: function _validateSchema() {\n var schema = this['__schema__'];\n return __WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].reduce(__WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].extend({}, schema.props, schema.local), function (memo, options, name) {\n return __WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].extend(memo, this.validateField(name) || {});\n }, {}, this);\n },\n\n __getDerivedValue: function __getDerivedValue(name) {\n var options = this['__schema__'].derived[name];\n if (__WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].isString(options)) {\n var key = options;\n options = {\n deps: [key],\n fn: function fn() {\n return this.get(key);\n }\n };\n }\n var deps = options.deps || [];\n return options.fn.apply(this, __WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].map(deps, this.get, this));\n }\n\n }, {\n ERROR_BLANK: 'model.validation.field.blank',\n ERROR_WRONG_TYPE: 'model.validation.field.wrong.type',\n ERROR_NOT_ALLOWED: 'model.validation.field.value.not.allowed',\n ERROR_INVALID: 'model.validation.field.invalid',\n ERROR_IARRAY_UNIQUE: 'model.validation.field.array.unique',\n ERROR_INVALID_FORMAT_EMAIL: 'model.validation.field.invalid.format.email',\n ERROR_INVALID_FORMAT_URI: 'model.validation.field.invalid.format.uri',\n ERROR_INVALID_FORMAT_IPV4: 'model.validation.field.invalid.format.ipv4',\n ERROR_INVALID_FORMAT_HOSTNAME: 'model.validation.field.invalid.format.hostname',\n ERROR_STRING_STRING_MIN_LENGTH: 'model.validation.field.string.minLength',\n ERROR_STRING_STRING_MAX_LENGTH: 'model.validation.field.string.maxLength'\n });\n\n /* harmony default export */__webpack_exports__[\"a\"] = Model;\n\n /***/\n},\n/* 38 */\n/***/function (module, __webpack_exports__, __webpack_require__) {\n\n \"use strict\";\n\n Object.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n /* harmony import */var __WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__ = __webpack_require__(0);\n /* harmony import */var __WEBPACK_IMPORTED_MODULE_1__BaseCollection__ = __webpack_require__(14);\n /* harmony import */var __WEBPACK_IMPORTED_MODULE_2__BaseModel__ = __webpack_require__(15);\n /* harmony import */var __WEBPACK_IMPORTED_MODULE_3__SchemaProperty__ = __webpack_require__(17);\n\n var parseProperties = function parseProperties(resp) {\n var schemaMeta = __WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].pick(resp, 'id', 'name', 'displayName');\n\n var properties = __WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].map(resp.schema.properties, function (property, name) {\n return __WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].extend({ name: name }, property);\n });\n\n __WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].each(properties, function (property) {\n property['__schemaMeta__'] = schemaMeta;\n\n if (property.__metadata) {\n property['__metadata__'] = property.__metadata;\n delete property.__metadata;\n }\n });\n return properties;\n };\n\n var BaseSchemaSchema = __WEBPACK_IMPORTED_MODULE_2__BaseModel__[\"default\"].extend({\n defaults: {\n id: undefined,\n displayName: undefined,\n name: undefined\n },\n\n constructor: function constructor() {\n this.properties = new __WEBPACK_IMPORTED_MODULE_3__SchemaProperty__[\"default\"].Collection();\n __WEBPACK_IMPORTED_MODULE_2__BaseModel__[\"default\"].apply(this, arguments);\n },\n\n getProperties: function getProperties() {\n return this.properties;\n },\n\n clone: function clone() {\n var model = __WEBPACK_IMPORTED_MODULE_2__BaseModel__[\"default\"].prototype.clone.apply(this, arguments);\n\n model.getProperties().set(this.getProperties().toJSON({ verbose: true }));\n return model;\n },\n\n parse: function parse(resp) {\n var properties = parseProperties(resp);\n\n this.properties.set(properties, { parse: true });\n return __WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].omit(resp, 'schema');\n },\n\n trimProperty: function trimProperty(property) {\n return __WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].omit(property, 'name');\n },\n\n toJSON: function toJSON() {\n var json = __WEBPACK_IMPORTED_MODULE_2__BaseModel__[\"default\"].prototype.toJSON.apply(this, arguments);\n\n json.schema = { properties: {} };\n this.getProperties().each(function (model) {\n var property = model.toJSON();\n\n json.schema.properties[property.name] = this.trimProperty(property);\n }, this);\n return json;\n },\n\n save: function save() {\n this.getProperties().each(function (model) {\n model.cleanup();\n });\n return __WEBPACK_IMPORTED_MODULE_2__BaseModel__[\"default\"].prototype.save.apply(this, arguments);\n }\n });\n var BaseSchemaSchemas = __WEBPACK_IMPORTED_MODULE_1__BaseCollection__[\"default\"].extend({\n model: BaseSchemaSchema\n });\n /* harmony default export */__webpack_exports__[\"default\"] = {\n parseProperties: parseProperties,\n Model: BaseSchemaSchema,\n Collection: BaseSchemaSchemas\n };\n\n /***/\n},\n/* 39 */\n/***/function (module, exports) {\n\n module.exports = __webpack_require__(121);\n\n /***/\n},\n/* 40 */\n/***/function (module, __webpack_exports__, __webpack_require__) {\n\n \"use strict\";\n\n Object.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n /* harmony import */var __WEBPACK_IMPORTED_MODULE_0__jquery_wrapper__ = __webpack_require__(2);\n /* harmony import */var __WEBPACK_IMPORTED_MODULE_1__underscore_wrapper__ = __webpack_require__(0);\n /* harmony import */var __WEBPACK_IMPORTED_MODULE_2__BaseRouter__ = __webpack_require__(19);\n /* harmony import */var __WEBPACK_IMPORTED_MODULE_3__SettingsModel__ = __webpack_require__(20);\n /* harmony import */var __WEBPACK_IMPORTED_MODULE_4__StateMachine__ = __webpack_require__(42);\n /* harmony import */var __WEBPACK_IMPORTED_MODULE_5__views_BaseView__ = __webpack_require__(1);\n /* eslint max-len: [2, 150] */\n\n function clean(obj) {\n var res = {};\n\n __WEBPACK_IMPORTED_MODULE_1__underscore_wrapper__[\"default\"].each(obj, function (value, key) {\n if (!__WEBPACK_IMPORTED_MODULE_1__underscore_wrapper__[\"default\"].isNull(value)) {\n res[key] = value;\n }\n });\n return res;\n }\n\n /**\n * A Controller is our application control flow component.\n *\n * Typically it will:\n * - Initialize the models, controller and main views\n * - Listen to events\n * - Create, read, update and delete models\n * - Create modal dialogs, confirmation dialogs and alert dialogs\n * - Control the application flow\n *\n * The constructor is responsible for:\n * - Create the application state object\n * - Assign or creates the application settings object\n * - Create an instance of the main view with the relevant parameters\n *\n * See:\n * [Hello World Tutorial](https://github.com/okta/courage/wiki/Hello-World),\n * [Jasmine Spec](https://github.com/okta/okta-core/blob/master/WebContent/js/test/unit/spec/shared/util/BaseController_spec.js)\n *\n * @class module:Okta.Controller\n * @param {Object} options Options Hash\n * @param {SettingsModel} [options.settings] Application Settings Model\n * @param {String} options.el a jQuery selector string stating where to attach the controller in the DOM\n */\n /* harmony default export */__webpack_exports__[\"default\"] = __WEBPACK_IMPORTED_MODULE_5__views_BaseView__[\"default\"].extend(\n /** @lends module:Okta.Controller.prototype */{\n constructor: function constructor(options) {\n /* eslint max-statements: [2, 15], complexity: [2, 9]*/\n options || (options = {});\n\n // If 'state' is passed down as options, use it, else create a 'new StateMachine()'\n if (options.state instanceof __WEBPACK_IMPORTED_MODULE_4__StateMachine__[\"a\" /* default */] || this.state instanceof __WEBPACK_IMPORTED_MODULE_4__StateMachine__[\"a\" /* default */]) {\n this.state = options.state || this.state;\n } else {\n var stateData = __WEBPACK_IMPORTED_MODULE_1__underscore_wrapper__[\"default\"].defaults(clean(options.state), this.state || {});\n this.state = new __WEBPACK_IMPORTED_MODULE_4__StateMachine__[\"a\" /* default */](stateData);\n delete options.state;\n }\n\n if (options.settings) {\n this.settings = options.settings;\n } else {\n // allow the controller to live without a router\n this.settings = options.settings = new __WEBPACK_IMPORTED_MODULE_3__SettingsModel__[\"a\" /* default */](__WEBPACK_IMPORTED_MODULE_1__underscore_wrapper__[\"default\"].omit(options || {}, 'el'));\n this.listen('notification', __WEBPACK_IMPORTED_MODULE_2__BaseRouter__[\"default\"].prototype._notify);\n this.listen('confirmation', __WEBPACK_IMPORTED_MODULE_2__BaseRouter__[\"default\"].prototype._confirm);\n }\n\n __WEBPACK_IMPORTED_MODULE_5__views_BaseView__[\"default\"].call(this, options);\n\n this.listenTo(this.state, '__invoke__', function () {\n var args = __WEBPACK_IMPORTED_MODULE_1__underscore_wrapper__[\"default\"].toArray(arguments);\n\n var method = args.shift();\n\n if (__WEBPACK_IMPORTED_MODULE_1__underscore_wrapper__[\"default\"].isFunction(this[method])) {\n this[method].apply(this, args);\n }\n });\n\n if (this.View) {\n this.add(new this.View(this.toJSON()));\n }\n },\n\n /**\n * The default values of our application state\n * @type {Object}\n * @default {}\n */\n state: {},\n\n /**\n * The main view this controller operate on\n * @type {module:Okta.View}\n * @default null\n */\n View: null,\n\n /**\n * Renders the {@link module:Okta.Controller#View|main view} after the DOM is ready\n * in case the controller is the root component of the page (e.g there's no router)\n */\n render: function render() {\n var args = arguments;\n var self = this;\n\n Object(__WEBPACK_IMPORTED_MODULE_0__jquery_wrapper__[\"default\"])(function () {\n __WEBPACK_IMPORTED_MODULE_5__views_BaseView__[\"default\"].prototype.render.apply(self, args);\n });\n return this;\n },\n\n /**\n * Creates the view constructor options\n * @param {Object} [options] Extra options\n * @return {Object} The view constructor options\n */\n toJSON: function toJSON(options) {\n return __WEBPACK_IMPORTED_MODULE_1__underscore_wrapper__[\"default\"].extend(__WEBPACK_IMPORTED_MODULE_1__underscore_wrapper__[\"default\"].pick(this, 'state', 'settings', 'collection', 'model'), options || {});\n },\n\n /**\n * Removes the child views, empty the DOM element and stop listening to events\n */\n remove: function remove() {\n this.removeChildren();\n this.stopListening();\n this.$el.empty();\n return this;\n }\n });\n\n /***/\n},\n/* 41 */\n/***/function (module, __webpack_exports__, __webpack_require__) {\n\n \"use strict\";\n /* harmony import */\n var __WEBPACK_IMPORTED_MODULE_0__util_jquery_wrapper__ = __webpack_require__(2);\n /* harmony import */var __WEBPACK_IMPORTED_MODULE_1__util_underscore_wrapper__ = __webpack_require__(0);\n /* harmony import */var __WEBPACK_IMPORTED_MODULE_2__BaseView__ = __webpack_require__(1);\n\n var defaults = {\n level: 'success',\n message: 'Great Success!',\n hide: true,\n fade: 400,\n delay: 3000,\n width: 0,\n dismissable: false\n };\n /* harmony default export */__webpack_exports__[\"a\"] = __WEBPACK_IMPORTED_MODULE_2__BaseView__[\"default\"].extend({\n className: 'infobox infobox-confirm infobox-confirm-fixed',\n\n events: {\n 'click .infobox-dismiss-link': function clickInfoboxDismissLink(e) {\n e.preventDefault();\n this.fadeOut();\n }\n },\n\n template: '\\\n {{#if dismissable}}\\\n <a class=\"infobox-dismiss-link\" title=\"Dismiss\" href=\"#\">\\\n <span class=\"dismiss-icon\"></span>\\\n </a>\\\n {{/if}}\\\n <span class=\"icon {{level}}-16\"></span>\\\n {{#if title}}<h3>{{title}}</h3>{{/if}}\\\n <p>{{message}}</p>\\\n ',\n\n initialize: function initialize() {\n this.options = __WEBPACK_IMPORTED_MODULE_1__util_underscore_wrapper__[\"default\"].defaults({}, this.options, defaults);\n this.$el.addClass('infobox-' + this.options.level);\n if (this.options.width) {\n this.$el.width(this.options.width).css({\n 'margin-left': '0px',\n left: Math.round((Object(__WEBPACK_IMPORTED_MODULE_0__util_jquery_wrapper__[\"default\"])(window).width() - this.options.width) / 2)\n });\n }\n },\n\n getTemplateData: function getTemplateData() {\n return __WEBPACK_IMPORTED_MODULE_1__util_underscore_wrapper__[\"default\"].extend(__WEBPACK_IMPORTED_MODULE_1__util_underscore_wrapper__[\"default\"].pick(this.options, 'level', 'message', 'title'), {\n dismissable: this.options.hide === false || this.options.dismissable === true\n });\n },\n\n postRender: function postRender() {\n if (this.options.hide) {\n __WEBPACK_IMPORTED_MODULE_1__util_underscore_wrapper__[\"default\"].delay(__WEBPACK_IMPORTED_MODULE_1__util_underscore_wrapper__[\"default\"].bind(this.fadeOut, this), this.options.delay);\n }\n },\n\n fadeOut: function fadeOut() {\n this.$el.fadeOut(this.options.fade, __WEBPACK_IMPORTED_MODULE_1__util_underscore_wrapper__[\"default\"].bind(this.remove, this));\n }\n });\n\n /***/\n},\n/* 42 */\n/***/function (module, __webpack_exports__, __webpack_require__) {\n\n \"use strict\";\n /* harmony import */\n var __WEBPACK_IMPORTED_MODULE_0__underscore_wrapper__ = __webpack_require__(0);\n /* harmony import */var __WEBPACK_IMPORTED_MODULE_1__models_Model__ = __webpack_require__(11);\n\n /**\n * @class StateMachine\n * @extends Okta.Model\n * @private\n *\n * A state object that holds the applciation state\n */\n\n /* harmony default export */__webpack_exports__[\"a\"] = __WEBPACK_IMPORTED_MODULE_1__models_Model__[\"default\"].extend({\n extraProperties: true,\n /**\n * Invokes a method on the applicable {@link Okta.Controller}\n *\n * ```javascript\n * state.invoke('methodName', 'param1', 'param2')\n * // Will call\n * contoller.methodName('param1', 'param2')\n * ```\n * @param {String} methodName the name of the controller method to invoke on the controller\n */\n invoke: function invoke() {\n var args = __WEBPACK_IMPORTED_MODULE_0__underscore_wrapper__[\"default\"].toArray(arguments);\n\n args.unshift('__invoke__');\n this.trigger.apply(this, args);\n }\n });\n\n /***/\n},\n/* 43 */\n/***/function (module, __webpack_exports__, __webpack_require__) {\n\n \"use strict\";\n /* harmony import */\n var __WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__ = __webpack_require__(0);\n /* harmony import */var __WEBPACK_IMPORTED_MODULE_1__util_ViewUtil__ = __webpack_require__(24);\n /* harmony import */var __WEBPACK_IMPORTED_MODULE_2__BaseView__ = __webpack_require__(1);\n\n var disabledEvents = {\n click: function click(e) {\n e.preventDefault();\n e.stopPropagation();\n }\n };\n\n /**\n * A configurable button\n * @class module:Okta.internal.views.components.BaseButtonLink\n * @extends module:Okta.View\n * @example\n * var View = BaseButtonLink.extend({\n * title: 'Click Me',\n * icon: 'help-text'\n * })\n */\n /* harmony default export */__webpack_exports__[\"a\"] = __WEBPACK_IMPORTED_MODULE_2__BaseView__[\"default\"].extend(\n /** @lends module:Okta.internal.views.components.BaseButtonLink.prototype */{\n attributes: function attributes() {\n var defaultAttrs = {\n 'data-se': 'button'\n };\n var additionalAttr = this.__getAttribute('attrs');\n return __WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].extend(defaultAttrs, additionalAttr);\n },\n\n /**\n * The main text for the button\n * @name title\n * @memberof module:Okta.internal.views.components.BaseButtonLink\n * @type {(String|Function)}\n * @instance\n */\n\n /**\n * The link for the button\n * @name href\n * @memberof module:Okta.internal.views.components.BaseButtonLink\n * @type {(String|Function)}\n * @instance\n */\n\n /**\n * CSS class for the icon to display. See [Style guide](http://rain.okta1.com:1802/su/dev/style-guide#icons)\n * @name icon\n * @memberof module:Okta.internal.views.components.BaseButtonLink\n * @type {(String|Function)}\n * @instance\n */\n\n /**\n * A [Backbone events](http://backbonejs.org/#View-delegateEvents) hash\n * @name events\n * @memberof module:Okta.internal.views.components.BaseButtonLink\n * @type {Object}\n * @instance\n */\n\n tagName: 'a',\n\n template: '{{#if icon}}<span class=\"icon {{icon}}\"></span>{{/if}}{{#if title}}{{title}}{{/if}}',\n\n /**\n * Make this button visible, default to true.\n * @type {(Boolean|Function)}\n * @default true\n */\n visible: true,\n\n /**\n * Make this button enabled, default to true.\n * @type {(Boolean|Function)}\n * @default true\n */\n enabled: true,\n\n /**\n * The setting to determine when the button is enabled, default to {} and\n * enabled takes a higher priority.\n * @type {(Object|Function)}\n * @default {}\n */\n enableWhen: {},\n\n /**\n * The setting to determine when the button is visible, default to {} and\n * visible takes a higher priority.\n * @type {(Object|Function)}\n * @default {}\n */\n showWhen: {},\n\n constructor: function constructor(options) {\n this.options = options || {};\n var data = this.getTemplateData();\n\n this.disabled = false;\n\n __WEBPACK_IMPORTED_MODULE_2__BaseView__[\"default\"].apply(this, arguments);\n\n this.$el.addClass('link-button');\n if (data.icon) {\n this.$el.addClass('link-button-icon');\n if (!data.title) {\n this.$el.addClass('icon-only');\n }\n }\n },\n\n getTemplateData: function getTemplateData() {\n return {\n href: this.__getAttribute('href'),\n title: this.__getAttribute('title'),\n icon: this.__getAttribute('icon')\n };\n },\n\n initialize: function initialize() {\n __WEBPACK_IMPORTED_MODULE_1__util_ViewUtil__[\"a\" /* default */].applyDoWhen(this, __WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].resultCtx(this, 'enableWhen', this), this.toggle);\n __WEBPACK_IMPORTED_MODULE_1__util_ViewUtil__[\"a\" /* default */].applyDoWhen(this, __WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].resultCtx(this, 'showWhen', this), this.toggleVisible);\n },\n\n render: function render() {\n __WEBPACK_IMPORTED_MODULE_2__BaseView__[\"default\"].prototype.render.apply(this, arguments);\n\n if (!__WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].result(this, 'enabled')) {\n this.toggle(false);\n }\n\n if (!__WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].result(this, 'visible')) {\n this.toggleVisible(false);\n }\n\n var data = this.getTemplateData();\n\n this.$el.attr('href', data.href || '#');\n\n return this;\n },\n\n __getAttribute: function __getAttribute(name, defaultValue) {\n var value = __WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].resultCtx(this.options, name, this);\n\n if (__WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].isUndefined(value)) {\n value = __WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].result(this, name);\n }\n return !__WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].isUndefined(value) ? value : defaultValue;\n },\n\n enable: function enable() {\n this.toggle(true);\n },\n\n disable: function disable() {\n this.toggle(false);\n },\n\n show: function show() {\n this.toggleVisible(true);\n },\n\n hide: function hide() {\n this.toggleVisible(false);\n },\n\n toggle: function toggle(enable) {\n var bool = !!enable && __WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].result(this, 'enabled');\n //this is to toggle the enability\n\n this.disabled = !bool;\n this.$el.toggleClass('link-button-disabled btn-disabled disabled', this.disabled);\n this.delegateEvents(this.disabled ? disabledEvents : null);\n },\n\n toggleVisible: function toggleVisible(visible) {\n var hidden = !visible || !__WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].result(this, 'visible');\n\n this.$el.toggleClass('hide', hidden);\n }\n });\n\n /***/\n},\n/* 44 */\n/***/function (module, __webpack_exports__, __webpack_require__) {\n\n \"use strict\";\n\n Object.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n /* harmony import */var __WEBPACK_IMPORTED_MODULE_0_backbone__ = __webpack_require__(6);\n /* harmony import */var __WEBPACK_IMPORTED_MODULE_0_backbone___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_backbone__);\n /* harmony import */var __WEBPACK_IMPORTED_MODULE_1__underscore_wrapper__ = __webpack_require__(0);\n\n function Class(options) {\n this.options = __WEBPACK_IMPORTED_MODULE_1__underscore_wrapper__[\"default\"].clone(options || {});\n this.cid = __WEBPACK_IMPORTED_MODULE_1__underscore_wrapper__[\"default\"].uniqueId('class');\n this.initialize.apply(this, arguments);\n }\n\n __WEBPACK_IMPORTED_MODULE_1__underscore_wrapper__[\"default\"].extend(Class.prototype, __WEBPACK_IMPORTED_MODULE_0_backbone___default.a.Events, {\n initialize: function initialize() {}\n });\n\n Class.extend = __WEBPACK_IMPORTED_MODULE_0_backbone___default.a.Model.extend;\n\n /* harmony default export */__webpack_exports__[\"default\"] = Class;\n\n /***/\n},\n/* 45 */\n/***/function (module, __webpack_exports__, __webpack_require__) {\n\n \"use strict\";\n\n Object.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n /* harmony import */var __WEBPACK_IMPORTED_MODULE_0__underscore_wrapper__ = __webpack_require__(0);\n /* harmony import */var __WEBPACK_IMPORTED_MODULE_1_vendor_lib_js_cookie__ = __webpack_require__(46);\n /* harmony import */var __WEBPACK_IMPORTED_MODULE_1_vendor_lib_js_cookie___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_vendor_lib_js_cookie__);\n\n var SECURED_COOKIE = /^https/.test(window.location.href);\n /* harmony default export */__webpack_exports__[\"default\"] = {\n setCookie: function setCookie(name, value, options) {\n __WEBPACK_IMPORTED_MODULE_1_vendor_lib_js_cookie___default.a.set(name, value, __WEBPACK_IMPORTED_MODULE_0__underscore_wrapper__[\"default\"].defaults(options || {}, {\n secure: SECURED_COOKIE,\n path: '/'\n }));\n },\n\n getCookie: function getCookie() {\n return __WEBPACK_IMPORTED_MODULE_1_vendor_lib_js_cookie___default.a.get.apply(__WEBPACK_IMPORTED_MODULE_1_vendor_lib_js_cookie___default.a, arguments);\n },\n\n removeCookie: function removeCookie() {\n return __WEBPACK_IMPORTED_MODULE_1_vendor_lib_js_cookie___default.a.remove.apply(__WEBPACK_IMPORTED_MODULE_1_vendor_lib_js_cookie___default.a, arguments);\n }\n };\n\n /***/\n},\n/* 46 */\n/***/function (module, exports, __webpack_require__) {\n\n var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_RESULT__; /*!\n * JavaScript Cookie v2.1.0\n * https://github.com/js-cookie/js-cookie\n *\n * Copyright 2006, 2015 Klaus Hartl & Fagner Brack\n * Released under the MIT license\n */\n (function (factory) {\n if (true) {\n !(__WEBPACK_AMD_DEFINE_FACTORY__ = factory, __WEBPACK_AMD_DEFINE_RESULT__ = typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ? __WEBPACK_AMD_DEFINE_FACTORY__.call(exports, __webpack_require__, exports, module) : __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n } else if ((typeof exports === 'undefined' ? 'undefined' : (0, _typeof3.default)(exports)) === 'object') {\n module.exports = factory();\n } else {\n var _OldCookies = window.Cookies;\n var api = window.Cookies = factory();\n api.noConflict = function () {\n window.Cookies = _OldCookies;\n return api;\n };\n }\n })(function () {\n function extend() {\n var i = 0;\n var result = {};\n for (; i < arguments.length; i++) {\n var attributes = arguments[i];\n for (var key in attributes) {\n result[key] = attributes[key];\n }\n }\n return result;\n }\n\n function init(converter) {\n function api(key, value, attributes) {\n var result;\n\n // Write\n\n if (arguments.length > 1) {\n attributes = extend({\n path: '/'\n }, api.defaults, attributes);\n\n if (typeof attributes.expires === 'number') {\n var expires = new Date();\n expires.setMilliseconds(expires.getMilliseconds() + attributes.expires * 864e+5);\n attributes.expires = expires;\n }\n\n try {\n result = (0, _stringify2.default)(value);\n if (/^[\\{\\[]/.test(result)) {\n value = result;\n }\n } catch (e) {}\n\n if (!converter.write) {\n value = encodeURIComponent(String(value)).replace(/%(23|24|26|2B|3A|3C|3E|3D|2F|3F|40|5B|5D|5E|60|7B|7D|7C)/g, decodeURIComponent);\n } else {\n value = converter.write(value, key);\n }\n\n key = encodeURIComponent(String(key));\n key = key.replace(/%(23|24|26|2B|5E|60|7C)/g, decodeURIComponent);\n key = key.replace(/[\\(\\)]/g, escape);\n\n return document.cookie = [key, '=', value, attributes.expires && '; expires=' + attributes.expires.toUTCString(), // use expires attribute, max-age is not supported by IE\n attributes.path && '; path=' + attributes.path, attributes.domain && '; domain=' + attributes.domain, attributes.secure ? '; secure' : ''].join('');\n }\n\n // Read\n\n if (!key) {\n result = {};\n }\n\n // To prevent the for loop in the first place assign an empty array\n // in case there are no cookies at all. Also prevents odd result when\n // calling \"get()\"\n var cookies = document.cookie ? document.cookie.split('; ') : [];\n var rdecode = /(%[0-9A-Z]{2})+/g;\n var i = 0;\n\n for (; i < cookies.length; i++) {\n var parts = cookies[i].split('=');\n var name = parts[0].replace(rdecode, decodeURIComponent);\n var cookie = parts.slice(1).join('=');\n\n if (cookie.charAt(0) === '\"') {\n cookie = cookie.slice(1, -1);\n }\n\n try {\n cookie = converter.read ? converter.read(cookie, name) : converter(cookie, name) || cookie.replace(rdecode, decodeURIComponent);\n\n if (this.json) {\n try {\n cookie = JSON.parse(cookie);\n } catch (e) {}\n }\n\n if (key === name) {\n result = cookie;\n break;\n }\n\n if (!key) {\n result[name] = cookie;\n }\n } catch (e) {}\n }\n\n return result;\n }\n\n api.get = api.set = api;\n api.getJSON = function () {\n return api.apply({\n json: true\n }, [].slice.call(arguments));\n };\n api.defaults = {};\n\n api.remove = function (key, attributes) {\n api(key, '', extend(attributes, {\n expires: -1\n }));\n };\n\n api.withConverter = init;\n\n return api;\n }\n\n return init(function () {});\n });\n\n /***/\n},\n/* 47 */\n/***/function (module, __webpack_exports__, __webpack_require__) {\n\n \"use strict\";\n\n Object.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n /* harmony import */var __WEBPACK_IMPORTED_MODULE_0_handlebars__ = __webpack_require__(5);\n /* harmony import */var __WEBPACK_IMPORTED_MODULE_0_handlebars___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_handlebars__);\n /* harmony import */var __WEBPACK_IMPORTED_MODULE_1__handlebars_helper_date__ = __webpack_require__(48);\n /* harmony import */var __WEBPACK_IMPORTED_MODULE_2__handlebars_helper_i18n__ = __webpack_require__(49);\n /* harmony import */var __WEBPACK_IMPORTED_MODULE_3__handlebars_helper_img__ = __webpack_require__(50);\n /* harmony import */var __WEBPACK_IMPORTED_MODULE_4__handlebars_helper_markdown__ = __webpack_require__(51);\n /* harmony import */var __WEBPACK_IMPORTED_MODULE_5__handlebars_helper_xsrfTokenInput__ = __webpack_require__(53);\n /* eslint @okta/okta/no-specific-modules: 0 */\n\n /* harmony default export */__webpack_exports__[\"default\"] = __WEBPACK_IMPORTED_MODULE_0_handlebars___default.a;\n\n /***/\n},\n/* 48 */\n/***/function (module, __webpack_exports__, __webpack_require__) {\n\n \"use strict\";\n /* harmony import */\n var __WEBPACK_IMPORTED_MODULE_0_handlebars__ = __webpack_require__(5);\n /* harmony import */var __WEBPACK_IMPORTED_MODULE_0_handlebars___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_handlebars__);\n /* harmony import */var __WEBPACK_IMPORTED_MODULE_1_moment__ = __webpack_require__(21);\n /* harmony import */var __WEBPACK_IMPORTED_MODULE_1_moment___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_moment__);\n /* harmony import */var __WEBPACK_IMPORTED_MODULE_2__underscore_wrapper__ = __webpack_require__(0);\n /* eslint @okta/okta/enforce-requirejs-names: 0, @okta/okta/no-specific-modules: 0, max-params: 0, max-statements: 0 */\n\n function formatDate(format, dateInISOString) {\n return __WEBPACK_IMPORTED_MODULE_1_moment___default.a.utc(dateInISOString).utcOffset('-07:00').format(format);\n }\n\n __WEBPACK_IMPORTED_MODULE_0_handlebars___default.a.registerHelper('shortDate', __WEBPACK_IMPORTED_MODULE_2__underscore_wrapper__[\"default\"].partial(formatDate, 'MMM Do'));\n __WEBPACK_IMPORTED_MODULE_0_handlebars___default.a.registerHelper('mediumDate', __WEBPACK_IMPORTED_MODULE_2__underscore_wrapper__[\"default\"].partial(formatDate, 'MMMM DD, YYYY'));\n __WEBPACK_IMPORTED_MODULE_0_handlebars___default.a.registerHelper('longDate', __WEBPACK_IMPORTED_MODULE_2__underscore_wrapper__[\"default\"].partial(formatDate, 'MMMM DD, YYYY, h:mma'));\n __WEBPACK_IMPORTED_MODULE_0_handlebars___default.a.registerHelper('formatDate', formatDate);\n\n /* unused harmony default export */var _unused_webpack_default_export = __WEBPACK_IMPORTED_MODULE_0_handlebars___default.a;\n\n /***/\n},\n/* 49 */\n/***/function (module, __webpack_exports__, __webpack_require__) {\n\n \"use strict\";\n /* harmony import */\n var __WEBPACK_IMPORTED_MODULE_0_handlebars__ = __webpack_require__(5);\n /* harmony import */var __WEBPACK_IMPORTED_MODULE_0_handlebars___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_handlebars__);\n /* harmony import */var __WEBPACK_IMPORTED_MODULE_1__underscore_wrapper__ = __webpack_require__(0);\n /* harmony import */var __WEBPACK_IMPORTED_MODULE_2__StringUtil__ = __webpack_require__(3);\n /* eslint @okta/okta/no-specific-modules: 0 */\n\n function trim(str) {\n return str && str.replace(/^\\s+|\\s+$/g, '');\n }\n\n __WEBPACK_IMPORTED_MODULE_0_handlebars___default.a.registerHelper('i18n', function (options) {\n var params = void 0;\n var key = trim(options.hash.code);\n var bundle = trim(options.hash.bundle);\n var args = trim(options.hash['arguments']);\n\n if (args) {\n params = __WEBPACK_IMPORTED_MODULE_1__underscore_wrapper__[\"default\"].map(trim(args).split(';'), function (param) {\n param = trim(param);\n var val = void 0;\n var data = this;\n\n /*\n * the context(data) may be a deep object, ex {user: {name: 'John', gender: 'M'}}\n * arguments may be 'user.name'\n * return data['user']['name']\n */\n __WEBPACK_IMPORTED_MODULE_1__underscore_wrapper__[\"default\"].each(param.split('.'), function (p) {\n val = val ? val[p] : data[p];\n });\n return val;\n }, this);\n }\n\n return __WEBPACK_IMPORTED_MODULE_2__StringUtil__[\"default\"].localize(key, bundle, params);\n });\n\n /* unused harmony default export */var _unused_webpack_default_export = __WEBPACK_IMPORTED_MODULE_0_handlebars___default.a;\n\n /***/\n},\n/* 50 */\n/***/function (module, __webpack_exports__, __webpack_require__) {\n\n \"use strict\";\n /* harmony import */\n var __WEBPACK_IMPORTED_MODULE_0_handlebars__ = __webpack_require__(5);\n /* harmony import */var __WEBPACK_IMPORTED_MODULE_0_handlebars___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_handlebars__);\n /* harmony import */var __WEBPACK_IMPORTED_MODULE_1__underscore_wrapper__ = __webpack_require__(0);\n /* eslint @okta/okta/no-specific-modules: 0 */\n\n var CACHE_BUST_URL_PREFIX = '/assets';\n\n function prependCachebustPrefix(path) {\n if (path.indexOf(CACHE_BUST_URL_PREFIX) === 0) {\n return path;\n }\n return CACHE_BUST_URL_PREFIX + path;\n }\n\n __WEBPACK_IMPORTED_MODULE_0_handlebars___default.a.registerHelper('img', function (options) {\n var cdn = typeof okta !== 'undefined' && okta.cdnUrlHostname || '';\n /*global okta */\n\n var hash = __WEBPACK_IMPORTED_MODULE_1__underscore_wrapper__[\"default\"].pick(options.hash, ['src', 'alt', 'width', 'height', 'class', 'title']);\n\n hash.src = '' + cdn + prependCachebustPrefix(hash.src);\n\n var attrs = __WEBPACK_IMPORTED_MODULE_1__underscore_wrapper__[\"default\"].map(hash, function (value, attr) {\n return attr + '=\"' + __WEBPACK_IMPORTED_MODULE_0_handlebars___default.a.Utils.escapeExpression(value) + '\"';\n });\n\n return new __WEBPACK_IMPORTED_MODULE_0_handlebars___default.a.SafeString('<img ' + attrs.join(' ') + '/>');\n });\n\n /* unused harmony default export */var _unused_webpack_default_export = __WEBPACK_IMPORTED_MODULE_0_handlebars___default.a;\n\n /***/\n},\n/* 51 */\n/***/function (module, __webpack_exports__, __webpack_require__) {\n\n \"use strict\";\n /* harmony import */\n var __WEBPACK_IMPORTED_MODULE_0_handlebars__ = __webpack_require__(5);\n /* harmony import */var __WEBPACK_IMPORTED_MODULE_0_handlebars___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_handlebars__);\n /* harmony import */var __WEBPACK_IMPORTED_MODULE_1__markdownToHtml__ = __webpack_require__(52);\n /* eslint @okta/okta/no-specific-modules: 0 */\n\n __WEBPACK_IMPORTED_MODULE_0_handlebars___default.a.registerHelper('markdown', function (mdText) {\n return Object(__WEBPACK_IMPORTED_MODULE_1__markdownToHtml__[\"a\" /* default */])(__WEBPACK_IMPORTED_MODULE_0_handlebars___default.a, mdText);\n });\n\n /* unused harmony default export */var _unused_webpack_default_export = __WEBPACK_IMPORTED_MODULE_0_handlebars___default.a;\n\n /***/\n},\n/* 52 */\n/***/function (module, __webpack_exports__, __webpack_require__) {\n\n \"use strict\";\n /* harmony export (immutable) */\n __webpack_exports__[\"a\"] = mdToHtml;\n /* harmony import */var __WEBPACK_IMPORTED_MODULE_0__underscore_wrapper__ = __webpack_require__(0);\n // Simple \"markdown parser\" - just handles markdown formatted links. If we\n // find that we need more extensive markdown support, we should include\n // a fully formulated markdown library like:\n // https://github.com/evilstreak/markdown-js\n\n var RE_LINK = /\\[[^\\]]*\\]\\([^)]*\\)/gi;\n var RE_LINK_HREF = /\\]\\(([^)]*)\\)/i;\n var RE_LINK_TEXT = /\\[([^\\]]*)\\]/i;\n var RE_LINK_JS = /javascript:/gi;\n\n // Converts links\n // FROM:\n // [some link text](http://the/link/url)\n // TO:\n // <a href=\"http://the/link/url\">some link text</a>\n function mdToHtml(Handlebars, markdownText) {\n var linkTemplate = Handlebars.compile('<a href=\"{{href}}\">{{text}}</a>');\n /* eslint @okta/okta/no-specific-methods: 0*/\n\n var res = void 0;\n\n if (!__WEBPACK_IMPORTED_MODULE_0__underscore_wrapper__[\"default\"].isString(markdownText)) {\n res = '';\n } else {\n res = Handlebars.Utils.escapeExpression(markdownText).replace(RE_LINK_JS, '').replace(RE_LINK, function (mdLink) {\n return linkTemplate({\n href: mdLink.match(RE_LINK_HREF)[1],\n text: mdLink.match(RE_LINK_TEXT)[1]\n });\n });\n }\n return new Handlebars.SafeString(res);\n }\n\n /***/\n},\n/* 53 */\n/***/function (module, __webpack_exports__, __webpack_require__) {\n\n \"use strict\";\n /* harmony import */\n var __WEBPACK_IMPORTED_MODULE_0_handlebars__ = __webpack_require__(5);\n /* harmony import */var __WEBPACK_IMPORTED_MODULE_0_handlebars___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_handlebars__);\n /* harmony import */var __WEBPACK_IMPORTED_MODULE_1__jquery_wrapper__ = __webpack_require__(2);\n /* eslint @okta/okta/no-specific-modules: 0 */\n\n __WEBPACK_IMPORTED_MODULE_0_handlebars___default.a.registerHelper('xsrfTokenInput', function () {\n return new __WEBPACK_IMPORTED_MODULE_0_handlebars___default.a.SafeString('<input type=\"hidden\" class=\"hide\" name=\"_xsrfToken\" ' + 'value=\"' + Object(__WEBPACK_IMPORTED_MODULE_1__jquery_wrapper__[\"default\"])('#_xsrfToken').text() + '\">');\n });\n\n /* unused harmony default export */var _unused_webpack_default_export = __WEBPACK_IMPORTED_MODULE_0_handlebars___default.a;\n\n /***/\n},\n/* 54 */\n/***/function (module, __webpack_exports__, __webpack_require__) {\n\n \"use strict\";\n\n Object.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n /* harmony import */var __WEBPACK_IMPORTED_MODULE_0__framework_ListView__ = __webpack_require__(55);\n /* harmony import */var __WEBPACK_IMPORTED_MODULE_1__BaseView__ = __webpack_require__(1);\n\n /**\n * See {@link src/framework/ListView} for more detail and examples from the base class.\n * @class module:Okta.ListView\n * @extends src/framework/ListView\n * @mixes module:Okta.View\n */\n /* harmony default export */__webpack_exports__[\"default\"] = __WEBPACK_IMPORTED_MODULE_1__BaseView__[\"default\"].decorate(__WEBPACK_IMPORTED_MODULE_0__framework_ListView__[\"a\" /* default */]);\n\n /***/\n},\n/* 55 */\n/***/function (module, __webpack_exports__, __webpack_require__) {\n\n \"use strict\";\n /* harmony import */\n var __WEBPACK_IMPORTED_MODULE_0__View__ = __webpack_require__(22);\n /* harmony import */var __WEBPACK_IMPORTED_MODULE_1__util_underscore_wrapper__ = __webpack_require__(0);\n /* eslint-disable max-statements */\n\n /**\n * Archer.ListView is a {@link src/framework/View} that operates on a\n * collection and builds a list of \"things\" of the same type.\n *\n * Automagically adds, removes and sorts upon standard collection events.\n *\n * Listen to collection events so the ListView will do the right thing when\n * a model is added or the collection is reset or sorted.\n *\n * @class src/framework/ListView\n * @extends src/framework/View\n * @param {Object} options options hash\n * @param {Object} options.collection The collection which this view operates on\n * @example\n * var UserList = Archer.ListView.extend({\n * tagName: 'ul',\n * item: '<li>{{fname}} {{lname}}</li>'\n * });\n *\n * var users = new Archer.Collection([\n * {fname: 'John', lname: 'Doe'},\n * {fname: 'Jane', lname: 'Doe'}\n * ]);\n *\n * var userList = new UserList({collection: users}).render();\n * userList.el; //=> \"<ul><li>John Doe</li><li>Jane Doe</li></ul>\"\n *\n * users.push({fname: 'Jim', lname: 'Doe'});\n * userList.el; //=> \"<ul><li>John Doe</li><li>Jane Doe</li><li>Jim Doe</li></ul>\"\n *\n * users.first().destroy();\n * userList.el; //=> \"<ul><li>Jane Doe</li><li>Jim Doe</li></ul>\"\n */\n /* harmony default export */__webpack_exports__[\"a\"] = __WEBPACK_IMPORTED_MODULE_0__View__[\"a\" /* default */].extend( /** @lends src/framework/ListView.prototype */{\n\n constructor: function constructor() {\n __WEBPACK_IMPORTED_MODULE_0__View__[\"a\" /* default */].apply(this, arguments);\n if (!this.collection) {\n throw new Error('Missing collection');\n }\n this.listenTo(this.collection, 'reset sort', this.reset);\n this.listenTo(this.collection, 'add', this.addItem);\n\n if (this.fetchCollection) {\n this.collection.fetch();\n } else {\n this.collection.each(this.addItem, this);\n }\n },\n\n /**\n * The view/template we will use to render each model in the collection.\n * @type {String|module:Okta.View}\n */\n item: null,\n\n /**\n * A selector in the local template where to append each item\n * @type {String}\n */\n itemSelector: null,\n\n /**\n * Empty the list and re-add everything from the collection.\n * Usefull for handling `collection.reset()` or for handling the initial load\n * @protected\n */\n reset: function reset() {\n var _this3 = this;\n\n this.removeChildren();\n this.collection.each(function (model, index) {\n _this3.addItem(model, index);\n });\n return this;\n },\n\n /**\n * Add an item view to the list that will represent one model from the collection\n *\n * Listen to the model so when it is destoyed or removed from the collection\n * this item will remove itself from the list\n *\n * @param {Backbone.Model} model The model this row operates on\n * @protected\n */\n addItem: function addItem(model) {\n var view = this.add(this.item, this.itemSelector, { options: { model: model } }).last();\n if (this.state && this.state.get('trackItemAdded')) {\n this.state.trigger('itemAdded', view);\n }\n view.listenTo(model, 'destroy remove', view.remove);\n return this;\n },\n\n addShowMore: __WEBPACK_IMPORTED_MODULE_1__util_underscore_wrapper__[\"default\"].noop\n\n });\n\n /***/\n},\n/* 56 */\n/***/function (module, __webpack_exports__, __webpack_require__) {\n\n \"use strict\";\n\n Object.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n /* harmony import */var __WEBPACK_IMPORTED_MODULE_0__util_jquery_wrapper__ = __webpack_require__(2);\n /* harmony import */var __WEBPACK_IMPORTED_MODULE_1__util_underscore_wrapper__ = __webpack_require__(0);\n /* harmony import */var __WEBPACK_IMPORTED_MODULE_2__util_TemplateUtil__ = __webpack_require__(4);\n /* harmony import */var __WEBPACK_IMPORTED_MODULE_3__BaseView__ = __webpack_require__(1);\n\n var optionsTemplate = __WEBPACK_IMPORTED_MODULE_2__util_TemplateUtil__[\"default\"].tpl('\\\n <a href=\"\" class=\"icon-16 {{className}}\" data-se=\"{{seleniumId}}\">\\\n {{#if icon}}\\\n <span class=\"icon {{icon}}\"></span>\\\n {{/if}}\\\n {{#if title}}\\\n {{title}}\\\n {{/if}}\\\n {{#if subtitle}}\\\n <p class=\"option-subtitle\">{{subtitle}}</p>\\\n {{/if}}\\\n </a>\\\n ');\n var BaseDropDownDropDownOption = __WEBPACK_IMPORTED_MODULE_3__BaseView__[\"default\"].extend({\n tagName: 'li',\n\n events: {\n click: function click(e) {\n e.preventDefault();\n this.action && this.action.call(this);\n }\n },\n\n constructor: function constructor() {\n __WEBPACK_IMPORTED_MODULE_3__BaseView__[\"default\"].apply(this, arguments);\n this.$el.addClass('okta-dropdown-option option');\n },\n\n render: function render() {\n this.$el.html(optionsTemplate({\n icon: __WEBPACK_IMPORTED_MODULE_1__util_underscore_wrapper__[\"default\"].result(this, 'icon'),\n className: __WEBPACK_IMPORTED_MODULE_1__util_underscore_wrapper__[\"default\"].result(this, 'className') || '',\n title: __WEBPACK_IMPORTED_MODULE_1__util_underscore_wrapper__[\"default\"].result(this, 'title'),\n subtitle: __WEBPACK_IMPORTED_MODULE_1__util_underscore_wrapper__[\"default\"].result(this, 'subtitle'),\n seleniumId: __WEBPACK_IMPORTED_MODULE_1__util_underscore_wrapper__[\"default\"].result(this, 'seleniumId')\n }));\n if (__WEBPACK_IMPORTED_MODULE_1__util_underscore_wrapper__[\"default\"].result(this, 'disabled')) {\n this.disable();\n }\n return this;\n },\n\n disable: function disable() {\n this.$el.addClass('option-disabled');\n this.$el.find('a').attr('tabindex', '-1');\n }\n });\n /* harmony default export */__webpack_exports__[\"default\"] = __WEBPACK_IMPORTED_MODULE_3__BaseView__[\"default\"].extend({\n events: {\n 'click a.option-selected': function clickAOptionSelected(e) {\n e.preventDefault();\n if (__WEBPACK_IMPORTED_MODULE_1__util_underscore_wrapper__[\"default\"].result(this, 'disabled')) {\n e.stopPropagation();\n }\n },\n 'click .dropdown-disabled': function clickDropdownDisabled(e) {\n e.preventDefault();\n e.stopPropagation();\n }\n },\n\n items: [],\n\n constructor: function constructor() {\n var className = this.className;\n\n // In this very specific case we want to NOT append className to $el\n // but to the <a> tag in the template\n // so we want to disable backbone default functionality.\n\n this.className = null;\n\n __WEBPACK_IMPORTED_MODULE_3__BaseView__[\"default\"].apply(this, arguments);\n\n this.className = className;\n\n this.$el.addClass('dropdown more-actions float-l');\n\n __WEBPACK_IMPORTED_MODULE_1__util_underscore_wrapper__[\"default\"].each(__WEBPACK_IMPORTED_MODULE_1__util_underscore_wrapper__[\"default\"].result(this, 'items'), function (option) {\n this.addOption(option, this.options);\n }, this);\n },\n\n template: '\\\n <a href=\"#\" class=\"link-button {{className}} link-button-icon option-selected center\"\\\n aria-expanded=\"false\" aria-controls=\"okta-dropdown-options\">\\\n {{#if icon}}\\\n <span class=\"icon {{icon}}\"></span>\\\n {{/if}}\\\n {{#if screenReaderText}}\\\n <span class=\"off-screen\">{{screenReaderText}}</span>\\\n {{/if}}\\\n <span class=\"option-selected-text\">{{title}}</span>\\\n <span class=\"icon-dm\"></span>\\\n </a>\\\n <div id=\"okta-dropdown-options\" class=\"options clearfix\" style=\"display: none;\">\\\n <ul class=\"okta-dropdown-list options-wrap clearfix\"></ul>\\\n </div>\\\n ',\n\n getTemplateData: function getTemplateData() {\n var className = [__WEBPACK_IMPORTED_MODULE_1__util_underscore_wrapper__[\"default\"].result(this, 'className') || '', __WEBPACK_IMPORTED_MODULE_1__util_underscore_wrapper__[\"default\"].result(this, 'disabled') ? 'dropdown-disabled' : ''];\n\n return {\n icon: __WEBPACK_IMPORTED_MODULE_1__util_underscore_wrapper__[\"default\"].result(this, 'icon'),\n className: __WEBPACK_IMPORTED_MODULE_0__util_jquery_wrapper__[\"default\"].trim(className.join(' ')),\n title: __WEBPACK_IMPORTED_MODULE_1__util_underscore_wrapper__[\"default\"].result(this, 'title'),\n screenReaderText: __WEBPACK_IMPORTED_MODULE_1__util_underscore_wrapper__[\"default\"].result(this, 'screenReaderText')\n };\n },\n\n addOption: function addOption(proto, options) {\n this.add(BaseDropDownDropDownOption.extend(proto), 'ul.options-wrap', { options: options || {} });\n }\n });\n\n /***/\n},\n/* 57 */\n/***/function (module, __webpack_exports__, __webpack_require__) {\n\n \"use strict\";\n\n Object.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n /* harmony import */var __WEBPACK_IMPORTED_MODULE_0__util_jquery_wrapper__ = __webpack_require__(2);\n /* harmony import */var __WEBPACK_IMPORTED_MODULE_1__util_underscore_wrapper__ = __webpack_require__(0);\n /* harmony import */var __WEBPACK_IMPORTED_MODULE_2__util_StringUtil__ = __webpack_require__(3);\n /* harmony import */var __WEBPACK_IMPORTED_MODULE_3__util_TemplateUtil__ = __webpack_require__(4);\n /* harmony import */var __WEBPACK_IMPORTED_MODULE_4__BaseView__ = __webpack_require__(1);\n /* harmony import */var __WEBPACK_IMPORTED_MODULE_5__components_ReadModeBar__ = __webpack_require__(58);\n /* harmony import */var __WEBPACK_IMPORTED_MODULE_6__components_Toolbar__ = __webpack_require__(25);\n /* harmony import */var __WEBPACK_IMPORTED_MODULE_7__helpers_ErrorBanner__ = __webpack_require__(59);\n /* harmony import */var __WEBPACK_IMPORTED_MODULE_8__helpers_ErrorParser__ = __webpack_require__(60);\n /* harmony import */var __WEBPACK_IMPORTED_MODULE_9__helpers_FormUtil__ = __webpack_require__(9);\n /* harmony import */var __WEBPACK_IMPORTED_MODULE_10__helpers_InputContainer__ = __webpack_require__(61);\n /* harmony import */var __WEBPACK_IMPORTED_MODULE_11__helpers_InputFactory__ = __webpack_require__(62);\n /* harmony import */var __WEBPACK_IMPORTED_MODULE_12__helpers_InputLabel__ = __webpack_require__(63);\n /* harmony import */var __WEBPACK_IMPORTED_MODULE_13__helpers_InputWrapper__ = __webpack_require__(64);\n /* eslint max-statements: [2, 11] */\n\n var template = '\\\n {{#if hasReadMode}}\\\n <h2 class=\"o-form-title-bar\" data-se=\"o-form-title-bar\">\\\n {{title}}\\\n </h2>\\\n {{/if}}\\\n <div data-se=\"o-form-content\" class=\"o-form-content {{layout}} clearfix\">\\\n {{#unless hasReadMode}}\\\n {{#if title}}\\\n <h2 data-se=\"o-form-head\" class=\"okta-form-title o-form-head\">{{title}}</h2>\\\n {{/if}}\\\n {{/unless}}\\\n {{#if subtitle}}\\\n <p class=\"okta-form-subtitle o-form-explain\" data-se=\"o-form-explain\">{{subtitle}}</p>\\\n {{/if}}\\\n <div class=\"o-form-error-container\" data-se=\"o-form-error-container\"></div>\\\n <div class=\"o-form-fieldset-container\" data-se=\"o-form-fieldset-container\"></div>\\\n </div>\\\n ';\n var pointerEventsSupported = Object(__WEBPACK_IMPORTED_MODULE_0__util_jquery_wrapper__[\"default\"])('<div>').css({ 'pointer-events': 'auto' })[0].style.pointerEvents === 'auto';\n\n // polyfill for `pointer-events: none;` in IE < 11\n // Logic borrowed from https://github.com/kmewhort/pointer_events_polyfill (BSD)\n\n function pointerEventsPolyfill(e) {\n if (!pointerEventsSupported && this.$el.hasClass('o-form-saving')) {\n var $el = Object(__WEBPACK_IMPORTED_MODULE_0__util_jquery_wrapper__[\"default\"])(e.currentTarget);\n\n $el.css('display', 'none');\n var underneathElem = document.elementFromPoint(e.clientX, e.clientY);\n\n $el.css('display', 'block');\n\n e.target = underneathElem;\n Object(__WEBPACK_IMPORTED_MODULE_0__util_jquery_wrapper__[\"default\"])(underneathElem).trigger(e);\n\n return false;\n }\n }\n\n var events = {\n submit: function submit(e) {\n e.preventDefault();\n this.__save();\n }\n };\n\n __WEBPACK_IMPORTED_MODULE_1__util_underscore_wrapper__[\"default\"].each(['click', 'dblclick', 'mousedown', 'mouseup'], function (event) {\n events[event + ' .o-form-input'] = pointerEventsPolyfill;\n });\n\n var attributes = function attributes(model) {\n model || (model = {});\n var collection = model && model.collection || {};\n\n return {\n method: 'POST',\n action: __WEBPACK_IMPORTED_MODULE_1__util_underscore_wrapper__[\"default\"].result(model, 'urlRoot') || __WEBPACK_IMPORTED_MODULE_1__util_underscore_wrapper__[\"default\"].result(collection, 'url') || window.location.pathname,\n 'data-se': 'o-form',\n slot: 'content'\n };\n };\n\n var convertSavingState = function convertSavingState(rawSavingStateEvent, defaultEvent) {\n rawSavingStateEvent || (rawSavingStateEvent = '');\n var savingStateEvent = [];\n\n if (__WEBPACK_IMPORTED_MODULE_1__util_underscore_wrapper__[\"default\"].isString(rawSavingStateEvent)) {\n savingStateEvent = rawSavingStateEvent.split(' ');\n }\n savingStateEvent = __WEBPACK_IMPORTED_MODULE_1__util_underscore_wrapper__[\"default\"].union(savingStateEvent, defaultEvent);\n return savingStateEvent.join(' ');\n };\n\n var getErrorSummary = function getErrorSummary() {\n var responseJSON = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n if (Array.isArray(responseJSON.errorCauses) && responseJSON.errorCauses.length > 0) {\n //set errorSummary from first errorCause which is not field specific error\n return responseJSON.errorCauses[0].errorSummary;\n } else {\n //set errorSummary from top level errorSummary\n return responseJSON.errorSummary;\n }\n };\n /**\n * A Form utility framework\n *\n * Okta.Form is a form that operates on one flat model\n * It exposes one main factory method, {@link module:Okta.Form#addInput|addInput}, which add inputs to the form,\n * and each input operates on one field in the model, identified by the `name` field.\n *\n * See:\n * [Basic O-Form Tutorial](https://github.com/okta/courage/wiki/Basic-O-Form)\n *\n * @class module:Okta.Form\n * @extends module:Okta.View\n * @param {Object} options options hash (See {@link module:Okta.View|View})\n * @param {Object} options.model the model this form operates on\n * @param {Boolean} [options.label-top=false] position label on top of inputs\n * @param {Boolean} [options.wide=false] Use a wide input layout for all input\n */\n\n /**\n * Fired when the \"Save\" button is clicked\n * @event module:Okta.Form#save\n * @param {module:Okta.Model} model Model used in the form\n */\n\n /**\n * Fired after the model is successfully saved - applies when {@link module:Okta.Form#autoSave|autoSave}\n * is set to true\n * @event module:Okta.Form#saved\n * @param {module:Okta.Model} model Model used in the form\n */\n\n /**\n * Fired when the model fires an invalid event or an error event;\n * @event module:Okta.Form#error\n * @param {module:Okta.Model} model Model used in the form\n */\n\n /**\n * Fired when the form layout is likely to be resized\n * @event module:Okta.Form#resize\n * @param {module:Okta.Model} model Model used in the form\n */\n\n /**\n * Fired when the \"Cancel\" button is clicked\n * @event module:Okta.Form#cancel\n */\n\n /* harmony default export */__webpack_exports__[\"default\"] = __WEBPACK_IMPORTED_MODULE_4__BaseView__[\"default\"].extend(\n /** @lends module:Okta.Form.prototype */{\n /**\n * Specifies how to validate form:\n * - In case \"local\" string provided as a value of the property,\n * the form will validate only fields added as inputs to the form;\n * - In case array is provided, the validation will be performed only for fields specified in array;\n * - In case function is provided, provided function will be used as a validation function,\n * it must return an error object with the format {fieldName: 'error text'} with as many fields as you need.\n * @name validate\n * @memberof module:Okta.Form\n * @type {String|Array|Function}\n * @instance\n */\n\n constructor: function constructor(options) {\n /* eslint max-statements: 0, complexity: 0 */\n options || (options = {});\n this.options = options;\n\n this.id = __WEBPACK_IMPORTED_MODULE_1__util_underscore_wrapper__[\"default\"].uniqueId('form');\n this.tagName = 'form';\n\n __WEBPACK_IMPORTED_MODULE_1__util_underscore_wrapper__[\"default\"].defaults(this.events, events);\n __WEBPACK_IMPORTED_MODULE_1__util_underscore_wrapper__[\"default\"].defaults(this.attributes, attributes(options.model));\n\n this.__buttons = [];\n this.__errorFields = {};\n\n this.__saveModelState(options.model);\n\n if (this.step) {\n if (!this.save) {\n this.save = !this.totalSteps || this.step === this.totalSteps ? 'Finish' : 'Next';\n }\n this.className += ' wizard';\n }\n this.className += ' o-form';\n\n this.__toolbar = this.__createToolbar(options);\n\n __WEBPACK_IMPORTED_MODULE_4__BaseView__[\"default\"].call(this, options);\n\n __WEBPACK_IMPORTED_MODULE_1__util_underscore_wrapper__[\"default\"].each(__WEBPACK_IMPORTED_MODULE_1__util_underscore_wrapper__[\"default\"].result(this, 'inputs') || [], function (input) {\n // to ingore extra argumests from `each` iteratee function\n // http://underscorejs.org/#each\n this.__addLayoutItem(input);\n }, this);\n\n this.add(this.__toolbar, '');\n\n this.listenTo(this.model, 'change:__edit__', this.__applyMode);\n\n this.listenTo(this.model, 'invalid error', __WEBPACK_IMPORTED_MODULE_1__util_underscore_wrapper__[\"default\"].throttle(function (model, resp, showBanner) {\n this.__showErrors(model, resp, showBanner !== false);\n }, 100, { trailing: false }));\n\n this.listenTo(this.model, 'form:resize', function () {\n this.trigger('resize');\n });\n\n this.listenTo(this.model, 'form:cancel', __WEBPACK_IMPORTED_MODULE_1__util_underscore_wrapper__[\"default\"].throttle(this.__cancel, 100, { trailing: false }));\n this.listenTo(this.model, 'form:previous', __WEBPACK_IMPORTED_MODULE_1__util_underscore_wrapper__[\"default\"].throttle(this.__previous, 100, { trailing: false }));\n\n this.__save = __WEBPACK_IMPORTED_MODULE_1__util_underscore_wrapper__[\"default\"].throttle(this.__save, 200, { trailing: false });\n this.listenTo(this.model, 'form:save', function () {\n this.$el.submit();\n });\n\n this.listenTo(this.model, 'sync', function () {\n if (this.model.get('__edit__')) {\n this.model.set('__edit__', false, { silent: true });\n }\n this.__saveModelState(this.model);\n this.render();\n });\n\n var hasSavingState = this.getAttribute('hasSavingState');\n\n if (this.getAttribute('autoSave')) {\n this.listenTo(this, 'save', function (model) {\n var _this4 = this;\n\n var xhr = model.save();\n\n if (xhr && xhr.done) {\n xhr.done(function () {\n _this4.trigger('saved', model);\n });\n }\n });\n if (__WEBPACK_IMPORTED_MODULE_1__util_underscore_wrapper__[\"default\"].isUndefined(hasSavingState)) {\n hasSavingState = true;\n }\n }\n\n /*\n * Attach model event listeners\n * by default, model's request event starts the form saving state,\n * error and sync event stops it\n * you can define customized saving start and stop state, like\n * customSavingState: {start: 'requestingAdditionalInfo', stop: 'retrievedAdditionalInfo'}\n * doing this does not override the default events\n */\n if (hasSavingState) {\n var customSavingState = this.getAttribute('customSavingState', {});\n\n this.listenTo(this.model, convertSavingState(customSavingState.start || '', ['request']), this.__setSavingState);\n this.listenTo(this.model, convertSavingState(customSavingState.stop || '', ['error', 'sync']), this.__clearSavingState);\n }\n },\n\n /**\n * Create the bottom button bar\n * @param {Object} options options h\n * @return {Okta.View} The toolbar\n * @private\n */\n __createToolbar: function __createToolbar(options) {\n var danger = this.getAttribute('danger');\n var saveBtnClassName = danger === true ? 'button-error' : 'button-primary';\n var toolbar = new __WEBPACK_IMPORTED_MODULE_6__components_Toolbar__[\"default\"](__WEBPACK_IMPORTED_MODULE_1__util_underscore_wrapper__[\"default\"].extend({\n save: this.save || __WEBPACK_IMPORTED_MODULE_2__util_StringUtil__[\"default\"].localize('oform.save', 'courage'),\n saveId: this.saveId,\n saveClassName: saveBtnClassName,\n cancel: this.cancel || __WEBPACK_IMPORTED_MODULE_2__util_StringUtil__[\"default\"].localize('oform.cancel', 'courage'),\n noCancelButton: this.noCancelButton || false,\n hasPrevStep: this.step && this.step > 1\n }, options || this.options));\n\n __WEBPACK_IMPORTED_MODULE_1__util_underscore_wrapper__[\"default\"].each(this.__buttons, function (args) {\n toolbar.addButton.apply(toolbar, args);\n });\n\n return toolbar;\n },\n\n className: '',\n\n attributes: {},\n\n events: {},\n\n /**\n * An array of input configurations to render in the form\n * @type {Array}\n */\n inputs: [],\n\n template: null,\n\n /**\n * Does the form support read/edit toggle.\n * @type {Boolean|Function}\n * @default false\n */\n read: false,\n\n /**\n * Is the form in readOnly mode.\n * @type {Boolean|Function}\n * @default false\n */\n readOnly: false,\n\n /**\n * Should we not render the button bar\n * @type {Boolean|Function}\n * @default false\n */\n noButtonBar: false,\n\n /**\n * Should we not render a cancel button\n * @type {Boolean|Function}\n * @default false\n */\n noCancelButton: false,\n\n /**\n * The text on the save button\n * @type {String}\n * @default \"Save\"\n */\n save: null,\n\n /**\n * The text on the cancel button\n * @type {String}\n * @default \"Cancel\"\n */\n cancel: null,\n\n /**\n * To use button-error to style the submit button instead of button-primary.\n * @type {Boolean|Function}\n * @default false\n */\n danger: false,\n\n /**\n * A layout CSS class to add to the form\n * @type {String|Function}\n * @default \"\"\n */\n layout: '',\n\n /**\n * The step this form is in the context of a wizard\n * @type {Number}\n */\n step: undefined,\n\n /**\n * The total numbers of steps the wizard this form is a part of has\n * @type {Number}\n */\n totalSteps: undefined,\n\n /**\n * The form's title\n * @type {String|Function}\n */\n title: null,\n\n /**\n * The form's subtitle\n * @type {String|Function}\n */\n subtitle: null,\n\n /**\n * Auto-save the model when hitting save. Triggers a `saved` event when done\n * @type {Boolean}\n * @default false\n */\n autoSave: false,\n\n /**\n * Scroll to the top of the form on error\n * @type {Boolean|Function}\n * @default true\n */\n scrollOnError: true,\n\n /**\n * Show the error banner upon error\n * @type {Boolean|Function}\n * @default true\n */\n showErrors: true,\n\n /**\n * The form's scrollable area\n * @type {String}\n * @default \".o-form-content\"\n */\n resizeSelector: '.o-form-content',\n\n /**\n * Sets whether or not the form shows the saving state when\n * the model is saved. Has no effect on setSavingState and clearSavingState as those are manual calls\n * to trigger/clear the saving state.\n * @name hasSavingState\n * @memberof module:Okta.Form\n * @type {Boolean}\n * @default false\n * @instance\n */\n\n /**\n * Get an attribute value from options or instance.\n * Prefer options value over instance value\n * @param {String} name Name of the attribute\n * @param {Object} defaultValue the default value to return if the attribute is not found\n * @return {Object} The value\n */\n getAttribute: function getAttribute(name, defaultValue) {\n var value = __WEBPACK_IMPORTED_MODULE_1__util_underscore_wrapper__[\"default\"].resultCtx(this.options, name, this);\n\n if (__WEBPACK_IMPORTED_MODULE_1__util_underscore_wrapper__[\"default\"].isUndefined(value)) {\n value = __WEBPACK_IMPORTED_MODULE_1__util_underscore_wrapper__[\"default\"].result(this, name);\n }\n return !__WEBPACK_IMPORTED_MODULE_1__util_underscore_wrapper__[\"default\"].isUndefined(value) ? value : defaultValue;\n },\n\n /**\n * Does this form have a \"read\" mode\n * @return {Boolean}\n */\n hasReadMode: function hasReadMode() {\n return !!this.getAttribute('read');\n },\n\n /**\n * Is this form in \"read only\" mode\n * @return {Boolean}\n */\n isReadOnly: function isReadOnly() {\n return !!this.getAttribute('readOnly');\n },\n\n /**\n * Does this form have a button bar\n * @return {Boolean}\n */\n hasButtonBar: function hasButtonBar() {\n return !(this.getAttribute('noButtonBar') || this.isReadOnly());\n },\n\n render: function render() {\n this.__readModeBar && this.__readModeBar.remove();\n if (this.hasReadMode() && !this.isReadOnly()) {\n var readModeBar = __WEBPACK_IMPORTED_MODULE_5__components_ReadModeBar__[\"a\" /* default */].extend({\n formTitle: this.getAttribute('title', '')\n });\n\n this.__readModeBar = this.add(readModeBar, '.o-form-title-bar').last();\n }\n\n var html = __WEBPACK_IMPORTED_MODULE_3__util_TemplateUtil__[\"default\"].tpl(template)({\n layout: this.getAttribute('layout', ''),\n title: this.getAttribute('title', '', true),\n subtitle: this.getAttribute('subtitle', '', true),\n hasReadMode: this.hasReadMode()\n });\n\n this.$el.html(html);\n delete this.template;\n\n __WEBPACK_IMPORTED_MODULE_4__BaseView__[\"default\"].prototype.render.apply(this, arguments);\n\n this.__applyMode();\n\n return this;\n },\n\n /**\n * Changes form UI to indicate saving. Disables all inputs and buttons. Use this function if you have set\n * hasSavingState to false on the the form\n * @private\n */\n __setSavingState: function __setSavingState() {\n this.model.trigger('form:set-saving-state');\n this.$el.addClass('o-form-saving');\n },\n\n /**\n * Changes form UI back to normal from the saving state. Use this function if you are have set hasSavingState\n * to false on the form\n * @private\n */\n __clearSavingState: function __clearSavingState() {\n this.model.trigger('form:clear-saving-state');\n this.$el.removeClass('o-form-saving');\n },\n\n /**\n * Toggles the visibility of the bottom button bar\n * @private\n */\n __toggleToolbar: function __toggleToolbar() {\n this.__toolbar && this.__toolbar.remove();\n if (this.hasButtonBar() && this._editMode()) {\n this.__toolbar = this.__createToolbar();\n this.add(this.__toolbar, '');\n }\n this.trigger('resize');\n },\n\n /**\n * Cancels this form\n * - Reset the model to the previous state\n * - Clears all errors\n * - Triggers a `cancel` event\n * - Sets the model to read mode (if applicable)\n * @private\n * @fires cancel\n */\n __cancel: function __cancel() {\n var edit = this.model.get('__edit__');\n /* eslint max-statements: [2, 12] */\n\n this.model.clear({ silent: true });\n var data = void 0;\n\n if (this.model.sanitizeAttributes) {\n data = this.model.sanitizeAttributes(this.__originalModel);\n } else {\n data = __WEBPACK_IMPORTED_MODULE_1__util_underscore_wrapper__[\"default\"].clone(this.__originalModel);\n }\n this.model.set(data, { silent: true });\n this.trigger('cancel', this.model);\n this.model.trigger('cache:clear');\n if (edit) {\n this.model.set('__edit__', false, { silent: true });\n this.model.trigger('change:__edit__', this.model, false);\n }\n this.clearErrors();\n },\n\n /**\n * Runs {@link module:Okta.Form#validate|validate} to check the model state.\n * Triggers an \"invalid\" event on the model if validation fails\n * @returns {Boolean}\n */\n isValid: function isValid() {\n var res = void 0;\n var self = this;\n\n function validateArray(arr) {\n return __WEBPACK_IMPORTED_MODULE_1__util_underscore_wrapper__[\"default\"].reduce(arr, function (memo, fieldName) {\n return __WEBPACK_IMPORTED_MODULE_1__util_underscore_wrapper__[\"default\"].extend(memo, self.model.validateField(fieldName));\n }, {});\n }\n\n if (__WEBPACK_IMPORTED_MODULE_1__util_underscore_wrapper__[\"default\"].isUndefined(this.validate)) {\n return this.model.isValid();\n } else if (__WEBPACK_IMPORTED_MODULE_1__util_underscore_wrapper__[\"default\"].isFunction(this.validate)) {\n res = this.validate();\n } else if (__WEBPACK_IMPORTED_MODULE_1__util_underscore_wrapper__[\"default\"].isArray(this.validate)) {\n res = validateArray(this.validate);\n } else if (this.validate === 'local') {\n res = validateArray(this.getInputs().map(function (input) {\n return input.options.name;\n }));\n }\n\n if (!__WEBPACK_IMPORTED_MODULE_1__util_underscore_wrapper__[\"default\"].isEmpty(res)) {\n this.model.trigger('invalid', this.model, res);\n return false;\n } else {\n return true;\n }\n },\n\n /**\n * A throttled function that saves the form not more than once every 100 ms\n * Basically all this method does is trigger a `save` event\n * @fires save\n * @private\n */\n __save: function __save() {\n this.clearErrors();\n if (this.isValid()) {\n this.trigger('save', this.model);\n }\n },\n\n /**\n * In the context of a wizard, go to previous state\n * Technically all this method does is trigger a `previous` event\n * @param {Event} e\n * @private\n */\n __previous: function __previous() {\n this.trigger('previous', this.model);\n },\n\n /**\n * Renders the form in the correct mode based on the model.\n * @private\n */\n __applyMode: function __applyMode() {\n this.clearErrors();\n this.__toggleToolbar();\n\n if (this._editMode()) {\n this.$el.addClass('o-form-edit-mode');\n this.$el.removeClass('o-form-read-mode');\n this.$('.o-form-content').removeClass('rounded-btm-4');\n this.focus();\n } else {\n this.$el.removeClass('o-form-edit-mode');\n this.$el.addClass('o-form-read-mode');\n this.$('.o-form-content').addClass('rounded-btm-4');\n }\n },\n\n /**\n * Is the form in edit mode\n * @return {Boolean}\n * @private\n */\n _editMode: function _editMode() {\n return this.model.get('__edit__') || !this.hasReadMode();\n },\n\n /**\n * Function can be overridden to alter top level error summary.\n * @param {Object} responseJSON\n *\n * @example\n * // responseJSON object\n * {\n * errorCauses: [{errorSummary: \"At least one of Proxy Status, Location, or ASN should be configured.\"}]\n * errorSummary: \"At least one of Proxy Status, Location, or ASN should be configured.\"\n * errorCode: \"E0000001\"\n * errorId: \"oaepsrTCHrhT-eIi8XTm6KWWg\"\n * errorLink: \"E0000001\"\n * errorSummary: \"Api validation failed: networkZone\"\n * }\n *\n * @method\n * @default _.identity\n */\n parseErrorMessage: __WEBPACK_IMPORTED_MODULE_1__util_underscore_wrapper__[\"default\"].identity,\n\n /**\n * Show an error message based on an XHR error\n * @param {Okta.BaseModel} model the model\n * @param {jqXHR} xhr The jQuery XmlHttpRequest Object\n * @private\n */\n __showErrors: function __showErrors(model, resp, showBanner) {\n this.trigger('error', model);\n\n /* eslint max-statements: 0 */\n if (this.getAttribute('showErrors')) {\n var errorSummary = void 0;\n var responseJSON = __WEBPACK_IMPORTED_MODULE_8__helpers_ErrorParser__[\"a\" /* default */].getResponseJSON(resp);\n var validationErrors = __WEBPACK_IMPORTED_MODULE_8__helpers_ErrorParser__[\"a\" /* default */].parseFieldErrors(resp);\n\n // trigger events for field validation errors\n if (__WEBPACK_IMPORTED_MODULE_1__util_underscore_wrapper__[\"default\"].size(validationErrors)) {\n __WEBPACK_IMPORTED_MODULE_1__util_underscore_wrapper__[\"default\"].each(validationErrors, function (errors, field) {\n this.model.trigger('form:field-error', this.__errorFields[field] || field, __WEBPACK_IMPORTED_MODULE_1__util_underscore_wrapper__[\"default\"].map(errors, function (error) {\n return (/^model\\.validation/.test(error) ? __WEBPACK_IMPORTED_MODULE_2__util_StringUtil__[\"default\"].localize(error, 'courage') : error\n );\n }));\n }, this);\n } else {\n responseJSON = this.parseErrorMessage(responseJSON);\n errorSummary = getErrorSummary(responseJSON);\n }\n\n // show the error message\n if (showBanner) {\n this.$('.o-form-error-container').addClass('o-form-has-errors');\n this.add(__WEBPACK_IMPORTED_MODULE_7__helpers_ErrorBanner__[\"a\" /* default */], '.o-form-error-container', { options: { errorSummary: errorSummary } });\n }\n\n // slide to and focus on the error message\n if (this.getAttribute('scrollOnError')) {\n var $el = Object(__WEBPACK_IMPORTED_MODULE_0__util_jquery_wrapper__[\"default\"])('#' + this.id + ' .o-form-error-container');\n\n $el.length && Object(__WEBPACK_IMPORTED_MODULE_0__util_jquery_wrapper__[\"default\"])('html, body').animate({ scrollTop: $el.offset().top }, 400);\n }\n\n this.model.trigger('form:resize');\n }\n },\n\n /**\n * Clears the error banner\n * @private\n */\n clearErrors: function clearErrors() {\n this.$('.o-form-error-container').removeClass('o-form-has-errors');\n this.model.trigger('form:clear-errors');\n this.model.trigger('form:resize');\n },\n\n /**\n * Toggles between edit and read mode\n */\n toggle: function toggle() {\n this.model.set('__edit__', !this.hasReadMode() || !this.model.get('__edit__'));\n return this;\n },\n\n __addLayoutItem: function __addLayoutItem(input) {\n if (__WEBPACK_IMPORTED_MODULE_11__helpers_InputFactory__[\"a\" /* default */].supports(input)) {\n this.addInput(input);\n } else {\n this.__addNonInputLayoutItem(input);\n }\n },\n\n __addNonInputLayoutItem: function __addNonInputLayoutItem(item) {\n var itemOptions = __WEBPACK_IMPORTED_MODULE_1__util_underscore_wrapper__[\"default\"].omit(item, 'type');\n\n switch (item.type) {\n case 'sectionTitle':\n this.addSectionTitle(item.title, __WEBPACK_IMPORTED_MODULE_1__util_underscore_wrapper__[\"default\"].omit(itemOptions, 'title'));\n break;\n case 'divider':\n this.addDivider(itemOptions);\n break;\n default:\n throw new Error('unknown input: ' + item.type);\n }\n },\n\n /**\n * Adds a view to the buttons tool bar\n * @param {Object} params parameterized button options\n * @param {Object} options options to send to {@link module:Okta.View#add|View.add}\n */\n addButton: function addButton(params, options) {\n this.__toolbar && this.__toolbar.addButton(params, options);\n this.__buttons.push([params, options]);\n },\n\n /**\n * Adds a divider\n */\n addDivider: function addDivider(options) {\n this.add('<div class=\"okta-form-divider form-divider\"></div>');\n __WEBPACK_IMPORTED_MODULE_9__helpers_FormUtil__[\"default\"].applyShowWhen(this.last(), options && options.showWhen);\n __WEBPACK_IMPORTED_MODULE_9__helpers_FormUtil__[\"default\"].applyToggleWhen(this.last(), options && options.toggleWhen);\n return this;\n },\n\n /**\n * Adds section header\n * @param {String} title\n */\n addSectionTitle: function addSectionTitle(title, options) {\n this.add(__WEBPACK_IMPORTED_MODULE_3__util_TemplateUtil__[\"default\"].tpl('<h2 class=\"o-form-head\">{{title}}</h2>')({ title: title }));\n __WEBPACK_IMPORTED_MODULE_9__helpers_FormUtil__[\"default\"].applyShowWhen(this.last(), options && options.showWhen);\n __WEBPACK_IMPORTED_MODULE_9__helpers_FormUtil__[\"default\"].applyToggleWhen(this.last(), options && options.toggleWhen);\n return this;\n },\n\n /**\n * Add a form input\n * @param {Object} options Options to describe the input\n * @param {String} options.type The input type.\n * The options are: `text`, `textarea`, `select`, `checkbox`, `radio`, `switch`,\n * `password`, `number`, `textselect`, `date`, `grouppicker`, `admingrouppicker`, `su-orgspicker`\n * `file/image`, `file/cert`, `checkboxset`, `list`, `group`, `zonepicker`\n * @param {String} options.name The name of the model field this input mutates\n * @param {String|Function} [options.label]\n * The input label text.\n * When passed as a function, will invoke the function (in the context of the {@link InputLabel})\n * on render time, and use the returned value.\n * @param {String} [options.sublabel] The input sub label text\n * @param {String} [options.tooltip] A popover tooltip to be displayed next to the label\n * @param {String} [options.placeholder] Placeholder text.\n * @param {String} [options.explain] Explanation text to render below the input\n * @param {Okta.View} [options.customExplain] A custom view to render below the input (deprecated)\n * @param {Boolean} [options.disabled=false] Make this input disabled\n * @param {Boolean} [options.wide=false] Use a wide input layout\n * @param {Boolean} [options.label-top=false] position label on top of an input\n * @param {Boolean} [options.explain-top=false] position explain on top of an input (requires label-top=true)\n * @param {Number} [options.multi] have multiple in-line inputs. useful when `input` is passed as an array of inputs\n * @param {String} [options.errorField] The API error field here that maps to this input\n * @param {Boolean} [options.inlineValidation=true] Validate input on focusout\n * @param {String} [options.ariaLabel] Used to add aria-label attribute to the input when label is not present.\n * @param {Object} [options.options]\n * In the context of `radio` and `select`, a key/value set of options\n *\n * @param {Object} [options.params]\n * Widget specific parameters. Varies per input.\n *\n * @param {BaseInput|Object[]} [options.input]\n * - A custom input \"class\" or instance - preferably a **class**, so we can automagically assign the right\n * parameters when initializing it\n * - An array of input definition object literals (such as this one)\n *\n * @param {Object} [options.showWhen]\n * Setting to define when to show (or hide) the input. The input is visible by default.\n *\n * @param {Object} [options.bindings]\n * Bind a certain model attribute to a callback function, so the function is being called on render,\n * and any time this model field changes.\n * This is similar to `showWhen` but is not limited to toggling.\n *\n * @param {Function} [options.render]\n * A post-render hook that will run upon render on InputWrapper\n *\n * @param {String|Function} className A className to apply on the {@link InputWrapper}\n *\n * @param {Function} [options.initialize]\n * An `initialize` function to run when initializing the {@link InputWrapper}\n * Useful for state mutation on start time, and complex state logic\n *\n * @example\n * // showhen: the field will be visible when `advanced` is set to `true`\n * // and `mode` is set to `\"ON\"`.\n * showWhen: {\n * 'advanced': true,\n * 'mode': function (value) {\n * return value == 'ON'; // this is identical to this.model.get('mode') == 'ON'\n * }\n * }\n *\n * @example\n * // bindings\n * bindings: {\n * 'status mode': function (status, mode) {\n * var labelView = this.getLabel();\n * if (status == 1) {\n * labelView.options.label = 'Something';\n * }\n * else {\n * labelView.options.label = mode;\n * }\n * labelView.render();\n * }\n * }\n */\n addInput: function addInput(_options) {\n _options = __WEBPACK_IMPORTED_MODULE_1__util_underscore_wrapper__[\"default\"].clone(_options);\n\n __WEBPACK_IMPORTED_MODULE_9__helpers_FormUtil__[\"default\"].validateInput(_options, this.model);\n\n var inputsOptions = __WEBPACK_IMPORTED_MODULE_9__helpers_FormUtil__[\"default\"].generateInputOptions(_options, this, this.__createInput).reverse();\n\n // We need a local variable here to keep track\n // as addInput can be called either directy or through the inputs array.\n if (__WEBPACK_IMPORTED_MODULE_1__util_underscore_wrapper__[\"default\"].isEmpty(this.getInputs().toArray())) {\n __WEBPACK_IMPORTED_MODULE_1__util_underscore_wrapper__[\"default\"].extend(inputsOptions[0], { validateOnlyIfDirty: true });\n }\n\n var inputs = __WEBPACK_IMPORTED_MODULE_1__util_underscore_wrapper__[\"default\"].map(inputsOptions, this.__createInput, this);\n\n __WEBPACK_IMPORTED_MODULE_1__util_underscore_wrapper__[\"default\"].each(inputsOptions, function (input) {\n if (input.errorField) {\n this.__errorFields[input.errorField] = input.name;\n }\n }, this);\n\n var options = {\n inputId: __WEBPACK_IMPORTED_MODULE_1__util_underscore_wrapper__[\"default\"].last(inputs).options.inputId,\n input: inputs,\n multi: inputsOptions.length > 1 ? inputsOptions.length : undefined\n };\n\n __WEBPACK_IMPORTED_MODULE_1__util_underscore_wrapper__[\"default\"].extend(options, __WEBPACK_IMPORTED_MODULE_1__util_underscore_wrapper__[\"default\"].omit(this.options, 'input'), __WEBPACK_IMPORTED_MODULE_1__util_underscore_wrapper__[\"default\"].omit(_options, 'input'));\n\n var inputWrapper = this.__createWrapper(options);\n\n if (options.label !== false) {\n inputWrapper.add(this.__createLabel(options));\n }\n inputWrapper.add(this._createContainer(options));\n inputWrapper.type = options.type || options.input.type || 'custom';\n\n var args = [inputWrapper].concat(__WEBPACK_IMPORTED_MODULE_1__util_underscore_wrapper__[\"default\"].rest(arguments));\n\n return this.add.apply(this, args);\n },\n\n /**\n * @private\n */\n __createInput: function __createInput(options) {\n options = __WEBPACK_IMPORTED_MODULE_1__util_underscore_wrapper__[\"default\"].pick(options, __WEBPACK_IMPORTED_MODULE_9__helpers_FormUtil__[\"default\"].INPUT_OPTIONS);\n return __WEBPACK_IMPORTED_MODULE_11__helpers_InputFactory__[\"a\" /* default */].create(options);\n },\n\n /**\n * @private\n */\n __createWrapper: function __createWrapper(options) {\n options = __WEBPACK_IMPORTED_MODULE_1__util_underscore_wrapper__[\"default\"].pick(options, __WEBPACK_IMPORTED_MODULE_9__helpers_FormUtil__[\"default\"].WRAPPER_OPTIONS);\n return new __WEBPACK_IMPORTED_MODULE_13__helpers_InputWrapper__[\"a\" /* default */](options);\n },\n\n /**\n * @private\n */\n __createLabel: function __createLabel(options) {\n options = __WEBPACK_IMPORTED_MODULE_1__util_underscore_wrapper__[\"default\"].pick(options, __WEBPACK_IMPORTED_MODULE_9__helpers_FormUtil__[\"default\"].LABEL_OPTIONS);\n return new __WEBPACK_IMPORTED_MODULE_12__helpers_InputLabel__[\"a\" /* default */](options);\n },\n\n /**\n * @private\n */\n _createContainer: function _createContainer(options) {\n options = __WEBPACK_IMPORTED_MODULE_1__util_underscore_wrapper__[\"default\"].pick(options, __WEBPACK_IMPORTED_MODULE_9__helpers_FormUtil__[\"default\"].CONTAINER_OPTIONS);\n return new __WEBPACK_IMPORTED_MODULE_10__helpers_InputContainer__[\"a\" /* default */](options);\n },\n\n /**\n * Stores the current attributes of the model to a private property\n * @param {Okta.BaseModel} model The model\n * @private\n */\n __saveModelState: function __saveModelState(model) {\n this.__originalModel = __WEBPACK_IMPORTED_MODULE_0__util_jquery_wrapper__[\"default\"].extend(true, {}, model.attributes);\n },\n\n /**\n * @override\n * @ignore\n */\n add: function add() {\n var args = __WEBPACK_IMPORTED_MODULE_1__util_underscore_wrapper__[\"default\"].toArray(arguments);\n\n typeof args[1] === 'undefined' && (args[1] = '> div.o-form-content > .o-form-fieldset-container');\n return __WEBPACK_IMPORTED_MODULE_4__BaseView__[\"default\"].prototype.add.apply(this, args);\n },\n\n /**\n * Set the focus on the first input in the form\n */\n focus: function focus() {\n var first = this.getInputs().first();\n\n if (first && first.focus) {\n first.focus();\n }\n return this;\n },\n\n /**\n * Disable all inputs in the form\n * @deprecated not currently in use\n */\n disable: function disable() {\n this.invoke('disable');\n return this;\n },\n\n /**\n * Enable all inputs in the form\n * @deprecated not currently in use\n */\n enable: function enable() {\n this.invoke('enable');\n },\n\n /**\n * Set the max-height for o-form-content class container within the form if a height is provided,\n * otherwise, get its computed inner height\n * @param {Number} the height in pixel to set for class o-form-content\n * @return {Number}\n */\n contentHeight: function contentHeight(height) {\n var content = this.$('.o-form-content');\n\n if (__WEBPACK_IMPORTED_MODULE_1__util_underscore_wrapper__[\"default\"].isNumber(height)) {\n content.css('max-height', height);\n } else {\n return content.height();\n }\n },\n\n /**\n * Get only the input children\n * @return {InputWrapper[]} An underscore wrapped array of {@link InputWrapper} instances\n */\n getInputs: function getInputs() {\n return Object(__WEBPACK_IMPORTED_MODULE_1__util_underscore_wrapper__[\"default\"])(this.filter(function (view) {\n return view instanceof __WEBPACK_IMPORTED_MODULE_13__helpers_InputWrapper__[\"a\" /* default */];\n }));\n }\n });\n\n /***/\n},\n/* 58 */\n/***/function (module, __webpack_exports__, __webpack_require__) {\n\n \"use strict\";\n /* harmony import */\n var __WEBPACK_IMPORTED_MODULE_0__BaseView__ = __webpack_require__(1);\n /* harmony import */var __WEBPACK_IMPORTED_MODULE_1__helpers_FormUtil__ = __webpack_require__(9);\n\n /* harmony default export */__webpack_exports__[\"a\"] = __WEBPACK_IMPORTED_MODULE_0__BaseView__[\"default\"].extend({\n el: '<span class=\"o-form-toggle\" data-type=\"header-btn\"></span>',\n\n formTitle: '',\n\n modelEvents: {\n 'change:__edit__': 'toggle'\n },\n\n initialize: function initialize() {\n this.addButton();\n },\n\n addButton: function addButton() {\n if (this.model.get('__edit__')) {\n this.add(__WEBPACK_IMPORTED_MODULE_1__helpers_FormUtil__[\"default\"].createReadFormButton({ type: 'cancel' }));\n } else {\n this.add(__WEBPACK_IMPORTED_MODULE_1__helpers_FormUtil__[\"default\"].createReadFormButton({\n type: 'edit',\n formTitle: this.formTitle\n }));\n }\n },\n\n toggle: function toggle() {\n this.removeChildren();\n this.addButton();\n }\n });\n\n /***/\n},\n/* 59 */\n/***/function (module, __webpack_exports__, __webpack_require__) {\n\n \"use strict\";\n /* harmony import */\n var __WEBPACK_IMPORTED_MODULE_0__BaseView__ = __webpack_require__(1);\n\n var template = '\\\n <div class=\"okta-form-infobox-error infobox infobox-error\" role=\"alert\">\\\n <span class=\"icon error-16\"></span>\\\n {{#if errorSummary}}\\\n <p>{{errorSummary}}</p>\\\n {{else}}\\\n <p>{{i18n code=\"oform.errorbanner.title\" bundle=\"courage\"}}</p>\\\n {{/if}}\\\n </div>\\\n ';\n /* harmony default export */__webpack_exports__[\"a\"] = __WEBPACK_IMPORTED_MODULE_0__BaseView__[\"default\"].extend({\n template: template,\n modelEvents: {\n 'form:clear-errors': 'remove'\n }\n });\n\n /***/\n},\n/* 60 */\n/***/function (module, __webpack_exports__, __webpack_require__) {\n\n \"use strict\";\n /* harmony import */\n var __WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__ = __webpack_require__(0);\n /* harmony import */var __WEBPACK_IMPORTED_MODULE_1__util_StringUtil__ = __webpack_require__(3);\n\n var FIELD_REGEX = /^([\\S]+): (.+)$/;\n /* harmony default export */__webpack_exports__[\"a\"] = {\n /**\n * Helper function that returns the json output of an xhr objext\n * @param {jqXhr} xhr\n * @return {Object}\n */\n getResponseJSON: function getResponseJSON(xhr) {\n try {\n return xhr.responseJSON || JSON.parse(xhr.responseText);\n } catch (e) {\n return;\n }\n },\n\n /**\n * Parses an error summary to extract a field name and an error message\n * @param {String} errorSummary The raw error summary\n * @return {String[]} An array with two members: [field name, error message]\n */\n parseErrorSummary: function parseErrorSummary(errorSummary) {\n var matches = errorSummary.match(FIELD_REGEX);\n // error format is: `fieldName: The field cannot be left blank`\n\n if (matches) {\n return [matches[1], matches[2]];\n }\n },\n\n /**\n * Parses an error cause object to extract a field name from property attribute\n * and an error message form errorSummary attribute. It looks to see if there is\n * a custom override/translation for the erorrCause.reason before using the errorSummary\n * @param {Object} errorCause object\n * @return {String[]} An array with two members: [field name, error message]\n */\n parseErrorCauseObject: function parseErrorCauseObject(errorCause) {\n if (errorCause.property && errorCause.errorSummary) {\n var localizedMsg = __WEBPACK_IMPORTED_MODULE_1__util_StringUtil__[\"default\"].localize(errorCause.reason);\n var apiMsg = errorCause.errorSummary;\n var field = errorCause.property;\n var errorMessage = localizedMsg.indexOf('L10N_ERROR[') === -1 ? localizedMsg : apiMsg;\n\n return [field, errorMessage];\n }\n },\n\n parseErrors: function parseErrors(resp) {\n var responseJSON = this.getResponseJSON(resp);\n\n return __WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].map(responseJSON && responseJSON.errorCauses || [], function (errorCause) {\n return ('' + errorCause.errorSummary).replace(FIELD_REGEX, '$2');\n });\n },\n\n /**\n * Parses the response for errors\n * Returns a map of field names > array or error messages\n * Example:\n * ```javascript\n * {\n * url: ['The field cannot be left blank', 'The field has to be a valid URI'],\n * name: ['The field cannot be left blank']\n * }\n * ```\n * @param {Object} resp\n * @return {Object}\n */\n parseFieldErrors: function parseFieldErrors(resp) {\n var responseJSON = this.getResponseJSON(resp);\n var errors = {};\n\n // xhr error object\n if (responseJSON) {\n /* eslint complexity: [2, 7] */\n __WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].each(responseJSON.errorCauses || [], function (cause) {\n var res = [];\n\n if (cause.property && cause.errorSummary) {\n res = this.parseErrorCauseObject(cause);\n } else {\n res = this.parseErrorSummary(cause && cause.errorSummary || '');\n }\n if (res) {\n var fieldName = res[0];\n var message = res[1];\n\n errors[fieldName] || (errors[fieldName] = []);\n errors[fieldName].push(message);\n }\n }, this);\n }\n // validation key/value object\n else if (__WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].isObject(resp) && __WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].size(resp)) {\n __WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].each(resp, function (msg, field) {\n errors[field] = [msg];\n });\n }\n return __WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].size(errors) ? errors : undefined;\n }\n };\n\n /***/\n},\n/* 61 */\n/***/function (module, __webpack_exports__, __webpack_require__) {\n\n \"use strict\";\n /* harmony import */\n var __WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__ = __webpack_require__(0);\n /* harmony import */var __WEBPACK_IMPORTED_MODULE_1__util_Logger__ = __webpack_require__(7);\n /* harmony import */var __WEBPACK_IMPORTED_MODULE_2__util_TemplateUtil__ = __webpack_require__(4);\n /* harmony import */var __WEBPACK_IMPORTED_MODULE_3__util_Util__ = __webpack_require__(16);\n /* harmony import */var __WEBPACK_IMPORTED_MODULE_4__util_StringUtil__ = __webpack_require__(3);\n /* harmony import */var __WEBPACK_IMPORTED_MODULE_5__BaseView__ = __webpack_require__(1);\n\n var isABaseView = __WEBPACK_IMPORTED_MODULE_3__util_Util__[\"default\"].isABaseView;\n /**\n * @class InputContainer\n * @private\n *\n * TODO: OKTA-80796\n * Attention: Please change with caution since this is used in other places\n */\n\n /* harmony default export */__webpack_exports__[\"a\"] = __WEBPACK_IMPORTED_MODULE_5__BaseView__[\"default\"].extend({\n attributes: function attributes() {\n return {\n 'data-se': 'o-form-input-container'\n };\n },\n\n className: function className() {\n var className = 'o-form-input';\n\n if (this.options.wide) {\n className += ' o-form-wide';\n }\n if (__WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].contains([1, 2, 3, 4], this.options.multi)) {\n className += ' o-form-multi-input-' + this.options.multi;\n if (__WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].isArray(this.options.input)) {\n var inputGroup = __WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].find(this.options.input, function (input) {\n return __WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].contains(['text+select', 'select+text'], input.options.type);\n });\n\n inputGroup && (className += ' o-form-multi-input-group-' + this.options.multi);\n }\n }\n return className;\n },\n\n _getNames: function _getNames() {\n var names = __WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].isArray(this.options.name) ? this.options.name : [this.options.name];\n /*eslint complexity: 0 */\n\n if (this.options.type === 'group') {\n names.push.apply(names, __WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].pluck(this.options.input[0].options.params.inputs, 'name'));\n } else if (__WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].isArray(this.options.name)) {\n if (this.options.input && this.options.input.options && this.options.input.options.name) {\n names.push(this.options.input.options.name);\n }\n } else if (this.options.input) {\n if (__WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].isArray(this.options.input)) {\n __WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].each(this.options.input, function (inputItem) {\n names.push(inputItem.options.name);\n });\n } else {\n names.push(this.options.input.options.name);\n }\n }\n return __WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].uniq(__WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].compact(names));\n },\n\n constructor: function constructor() {\n /* eslint max-statements: [2, 18] */\n __WEBPACK_IMPORTED_MODULE_5__BaseView__[\"default\"].apply(this, arguments);\n\n var explainTop = this.options['explain-top'] && this.options['label-top'];\n if (this.options.input) {\n if (__WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].isArray(this.options.input)) {\n __WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].each(this.options.input, function (inputItem) {\n this.add(inputItem, { prepend: !explainTop });\n }, this);\n } else {\n this.add(this.options.input, { prepend: !explainTop });\n }\n }\n\n this.__setExplain(this.options);\n\n var names = this._getNames();\n\n this.listenTo(this.model, 'form:field-error', function (name, errors) {\n if (__WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].contains(names, name)) {\n this.__setError(errors, explainTop);\n }\n });\n\n this.listenTo(this.model, 'form:clear-errors change:' + names.join(' change:'), this.__clearError);\n this.listenTo(this.model, 'form:clear-error:' + names.join(' form:clear-error:'), this.__clearError);\n\n if (__WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].resultCtx(this.options, 'autoRender', this)) {\n this.listenTo(this.model, 'change:' + this.options.name, this.render);\n }\n\n this.__errorState = false;\n },\n\n /**\n * Populates the explain on the input container (if it exists). There are\n * two ways to use this:\n * 1. Raw text - wraps in the correct html template\n * 2. Custom html\n * - pass in a View class (preferred)\n * - pass in an instance of a View\n * Some additional notes:\n * - You can pass a function that returns any of the above\n * - This maintains support for the deprecated \"customExplain\" property\n * that was used before. This pattern is superseded by explain, so use\n * that instead.\n * @private\n */\n __setExplain: function __setExplain(options) {\n var explain = void 0;\n\n // Deprecated - if you need custom html, use explain instead\n if (options.customExplain) {\n __WEBPACK_IMPORTED_MODULE_1__util_Logger__[\"default\"].warn('Deprecated - use explain instead of customExplain');\n this.add(this.options.customExplain);\n return;\n }\n\n explain = options.explain;\n if (__WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].isFunction(explain) && !isABaseView(explain)) {\n explain = __WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].resultCtx(this.options, 'explain', this);\n }\n if (!explain) {\n return;\n }\n\n if (isABaseView(explain)) {\n this.template = '<p class=\"o-form-explain\"></p>';\n this.add(explain, '.o-form-explain');\n } else {\n this.template = '<p class=\"o-form-explain\">{{explain}}</p>';\n }\n },\n\n /**\n * Highlight the input as invalid (validation failed)\n * Adds an explaination message of the error\n * @private\n */\n __setError: function __setError(errors, explainTop) {\n this.__errorState = true;\n this.$el.addClass('o-form-has-errors');\n\n var errorId = __WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].uniqueId('input-container-error');\n var tmpl = ['<p id=\"{{errorId}}\" class=\"okta-form-input-error o-form-input-error o-form-explain\" role=\"alert\">', '<span class=\"icon icon-16 error-16-small\" role=\"img\" aria-label=\"{{iconLabel}}\"></span>', '{{text}}', '</p>'].join('');\n\n var iconLabel = __WEBPACK_IMPORTED_MODULE_4__util_StringUtil__[\"default\"].localize('oform.error.icon.ariaLabel', 'courage'); // 'Error'\n var html = __WEBPACK_IMPORTED_MODULE_2__util_TemplateUtil__[\"default\"].tpl(tmpl)({\n errorId: errorId,\n iconLabel: iconLabel,\n text: errors.join(', ')\n });\n\n var $elExplain = this.$('.o-form-explain').not('.o-form-input-error').first();\n\n if ($elExplain.length && !explainTop) {\n $elExplain.before(html);\n } else {\n this.$el.append(html);\n }\n\n this.$el.attr('aria-describedby', errorId);\n },\n\n /**\n * Un-highlight the input and remove explaination text\n * @private\n */\n __clearError: function __clearError() {\n var _this5 = this;\n\n if (this.__errorState) {\n this.$('.o-form-input-error').remove();\n this.$el.attr('aria-describedby', null);\n this.$el.removeClass('o-form-has-errors');\n this.__errorState = false;\n __WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].defer(function () {\n _this5.model.trigger('form:resize');\n });\n }\n },\n\n focus: function focus() {\n this.each(function (view) {\n if (view.focus) {\n return view.focus();\n }\n });\n\n return this;\n }\n });\n\n /***/\n},\n/* 62 */\n/***/function (module, __webpack_exports__, __webpack_require__) {\n\n \"use strict\";\n /* harmony import */\n var __WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__ = __webpack_require__(0);\n /* harmony import */var __WEBPACK_IMPORTED_MODULE_1__InputRegistry__ = __webpack_require__(26);\n /* eslint complexity: 0, max-statements: 0 */\n\n function createInput(Input, options) {\n if (__WEBPACK_IMPORTED_MODULE_1__InputRegistry__[\"default\"].isBaseInput(Input)) {\n return Input.prototype ? new Input(__WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].omit(options, 'input')) : Input;\n } else {\n return Input;\n }\n }\n\n function create(options) {\n options = __WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].clone(options);\n if (options.input) {\n return createInput(options.input, options);\n }\n var Input = __WEBPACK_IMPORTED_MODULE_1__InputRegistry__[\"default\"].get(options);\n\n if (!Input) {\n throw new Error('unknown input: ' + options.type);\n }\n return createInput(Input, options);\n }\n\n function supports(options) {\n return !!options.input || !!__WEBPACK_IMPORTED_MODULE_1__InputRegistry__[\"default\"].get(options);\n }\n\n /* harmony default export */__webpack_exports__[\"a\"] = {\n create: create,\n supports: supports\n };\n\n /***/\n},\n/* 63 */\n/***/function (module, __webpack_exports__, __webpack_require__) {\n\n \"use strict\";\n /* harmony import */\n var __WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__ = __webpack_require__(0);\n /* harmony import */var __WEBPACK_IMPORTED_MODULE_1_qtip__ = __webpack_require__(27);\n /* harmony import */var __WEBPACK_IMPORTED_MODULE_1_qtip___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_qtip__);\n /* harmony import */var __WEBPACK_IMPORTED_MODULE_2__util_TemplateUtil__ = __webpack_require__(4);\n /* harmony import */var __WEBPACK_IMPORTED_MODULE_3__BaseView__ = __webpack_require__(1);\n\n /**\n * @class InputLabel\n * @extends {Okta.View}\n * @private\n * The input's label.\n */\n /* harmony default export */__webpack_exports__[\"a\"] = __WEBPACK_IMPORTED_MODULE_3__BaseView__[\"default\"].extend({\n className: 'okta-form-label o-form-label',\n\n attributes: {\n 'data-se': 'o-form-label'\n },\n\n /**\n * @constructor\n * @param {Object} options options hash\n * @param {String} [options.type] Input type\n * @param {String|Function} [options.label] Label text\n * @param {String|Function} [options.sublabel] Sub label text\n * @param {String|Function} [options.tooltip] Tooltip text\n * @param {String|Function} [options.inputId] Id of the inputs\n * @param {String|Function} [options.id] Id of the inputs\n */\n constructor: function constructor(options) {\n /* eslint max-statements: [2, 16] complexity: [2, 7]*/\n __WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].defaults(options, { inputId: options.id });\n delete options.id;\n\n __WEBPACK_IMPORTED_MODULE_3__BaseView__[\"default\"].apply(this, arguments);\n\n var template = void 0;\n\n if (this._isLabelView(options.label)) {\n template = '<label for=\"{{inputId}}\"></label>';\n } else if (__WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].contains(['radio', 'checkbox'], options.type) || !options.label) {\n template = '{{label}}';\n } else {\n //space added in the end of the label to avoid selecting label text with double click in read mode\n template = '<label for=\"{{inputId}}\">{{label}} </label>';\n }\n if (options.sublabel) {\n template += '<span class=\"o-form-explain\">{{sublabel}}</span>';\n }\n if (options.tooltip) {\n if (__WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].isString(options.tooltip)) {\n options.tooltip = {\n text: options.tooltip\n };\n }\n template += '<span class=\"o-form-tooltip icon-16 icon-only form-help-16\" title=\"{{tooltip.text}}\"></span>';\n }\n this.template = __WEBPACK_IMPORTED_MODULE_2__util_TemplateUtil__[\"default\"].tpl(template);\n },\n\n getTemplateData: function getTemplateData() {\n var options = { label: '' };\n\n __WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].each(['inputId', 'label', 'sublabel', 'tooltip'], function (option) {\n options[option] = __WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].resultCtx(this.options, option, this);\n }, this);\n\n return options;\n },\n\n _isLabelView: function _isLabelView(label) {\n return !__WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].isUndefined(label) && label instanceof __WEBPACK_IMPORTED_MODULE_3__BaseView__[\"default\"];\n },\n\n postRender: function postRender() {\n var options = this.getTemplateData();\n\n if (this._isLabelView(options.label)) {\n this.removeChildren();\n this.add(options.label, 'label');\n }\n\n if (options.tooltip) {\n this.$('.o-form-tooltip').qtip(__WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].extend({\n style: { classes: 'qtip-custom qtip-shadow' },\n position: {\n my: 'bottom left',\n at: 'top center'\n },\n hide: { fixed: true },\n show: { delay: 0 }\n }, options.tooltip.options));\n }\n }\n });\n\n /***/\n},\n/* 64 */\n/***/function (module, __webpack_exports__, __webpack_require__) {\n\n \"use strict\";\n /* harmony import */\n var __WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__ = __webpack_require__(0);\n /* harmony import */var __WEBPACK_IMPORTED_MODULE_1__BaseView__ = __webpack_require__(1);\n /* harmony import */var __WEBPACK_IMPORTED_MODULE_2__FormUtil__ = __webpack_require__(9);\n\n function runCallback(callback, field) {\n callback.apply(this, __WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].map(field.split(/\\s+/), function (field) {\n return this.model.get(field);\n }, this));\n }\n\n function runIf(fn, ctx) {\n if (__WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].isFunction(fn)) {\n fn.call(ctx);\n }\n }\n\n /**\n * @class InputWrapper\n * @extends Okta.View\n * @private\n * The outer wrapper that warps the label and the input container\n */\n /* harmony default export */__webpack_exports__[\"a\"] = __WEBPACK_IMPORTED_MODULE_1__BaseView__[\"default\"].extend({\n className: function className() {\n var className = 'o-form-fieldset';\n\n if (this.options['label-top']) {\n className += ' o-form-label-top';\n }\n\n if (this.options.readOnly) {\n className += ' o-form-read-mode';\n }\n\n return className;\n },\n\n attributes: function attributes() {\n return {\n 'data-se': this.options['data-se'] || 'o-form-fieldset'\n };\n },\n\n /**\n * @constructor\n * @param {Object} options options hash\n * @param {Object} [options.events]\n * @param {Object} [options.bindings]\n * @param {Object} [options.showWhen]\n * @param {Function} [options.initialize] post initialize callback\n * @param {Function} [options.render] post render callback\n */\n constructor: function constructor(options) {\n if (options.className) {\n this.inputWrapperClassName = this.className;\n this.optionsClassName = options.className;\n options.className = function () {\n return __WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].result(this, 'inputWrapperClassName', '') + ' ' + __WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].result(this, 'optionsClassName');\n };\n }\n __WEBPACK_IMPORTED_MODULE_1__BaseView__[\"default\"].apply(this, arguments);\n __WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].each(options.events || {}, function (callback, event) {\n this.listenTo(this.model, event, callback);\n }, this);\n\n __WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].each(options.bindings || {}, function (callback, field) {\n this.listenTo(this.model, __WEBPACK_IMPORTED_MODULE_2__FormUtil__[\"default\"].changeEventString(field.split(/\\s+/)), __WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].bind(runCallback, this, callback, field));\n }, this);\n\n __WEBPACK_IMPORTED_MODULE_2__FormUtil__[\"default\"].applyShowWhen(this, options.showWhen);\n __WEBPACK_IMPORTED_MODULE_2__FormUtil__[\"default\"].applyToggleWhen(this, options.toggleWhen);\n\n runIf(options.initialize, this);\n },\n\n postRender: function postRender() {\n __WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].each(this.options.bindings || {}, runCallback, this);\n runIf(this.options.render, this);\n },\n\n /**\n * @return {InputLabel}\n */\n getLabel: function getLabel() {\n return this.size() > 1 ? this.at(0) : null;\n },\n /**\n * @deprecated ambiguous naming, use {@link #getInputContainer}\n */\n getInput: function getInput() {\n return this.getInputContainer();\n },\n\n /**\n * @return {InputContainer}\n */\n getInputContainer: function getInputContainer() {\n return this.at(this.size() > 1 ? 1 : 0);\n },\n\n /**\n * @return {BaseInput[]}\n */\n getInputs: function getInputs() {\n return this.getInputContainer().toArray();\n },\n\n focus: function focus() {\n return this.getInput().focus();\n }\n });\n\n /***/\n},\n/* 65 */\n/***/function (module, __webpack_exports__, __webpack_require__) {\n\n \"use strict\";\n\n Object.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n /* harmony import */var __WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__ = __webpack_require__(0);\n /* harmony import */var __WEBPACK_IMPORTED_MODULE_1__util_StringUtil__ = __webpack_require__(3);\n /* harmony import */var __WEBPACK_IMPORTED_MODULE_2__inputs_BooleanSelect__ = __webpack_require__(66);\n /* harmony import */var __WEBPACK_IMPORTED_MODULE_3__inputs_TextBoxSet__ = __webpack_require__(68);\n /* harmony import */var __WEBPACK_IMPORTED_MODULE_4__EnumTypeHelper__ = __webpack_require__(18);\n /* eslint max-statements: 0, max-params: 0 */\n\n // Maps each __displayType__ to a basic set of inputOptions.\n function defaultOptions(property) {\n var type = property.get('__displayType__');\n var values = property.get('__possibleValues__');\n var name = property.get('name');\n var title = property.get('title');\n /* eslint complexity: [2, 24] */\n\n var inputOptions = {\n type: 'text',\n name: name,\n label: title || name\n };\n\n // @see customOptions for enum complex \"object\" type,\n // a.k.a \"object\" or \"arrayofobject\" type has enum values defined.\n // Other cases (e.g., nested object type) are not support yet.\n\n switch (type) {\n case 'arrayofstring':\n inputOptions.input = __WEBPACK_IMPORTED_MODULE_3__inputs_TextBoxSet__[\"a\" /* default */];\n inputOptions.params = { itemType: 'string' };\n break;\n case 'arrayofnumber':\n inputOptions.input = __WEBPACK_IMPORTED_MODULE_3__inputs_TextBoxSet__[\"a\" /* default */];\n inputOptions.params = { itemType: 'number' };\n break;\n case 'arrayofinteger':\n inputOptions.input = __WEBPACK_IMPORTED_MODULE_3__inputs_TextBoxSet__[\"a\" /* default */];\n inputOptions.params = { itemType: 'integer' };\n break;\n case 'arrayofobject':\n inputOptions.input = __WEBPACK_IMPORTED_MODULE_3__inputs_TextBoxSet__[\"a\" /* default */];\n inputOptions.params = { itemType: property.get('items').type };\n break;\n case 'arrayofref-id':\n inputOptions.input = __WEBPACK_IMPORTED_MODULE_3__inputs_TextBoxSet__[\"a\" /* default */];\n inputOptions.params = { itemType: property.get('items').format };\n break;\n case 'boolean':\n inputOptions.input = __WEBPACK_IMPORTED_MODULE_2__inputs_BooleanSelect__[\"a\" /* default */];\n break;\n case 'integer':\n case 'number':\n inputOptions.to = convertStringToNumber;\n break;\n case 'reference':\n inputOptions.type = 'select';\n inputOptions.options = getChoices(values);\n break;\n case 'image':\n inputOptions.readOnly = true;\n inputOptions.from = function (value) {\n return __WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].isEmpty(value) ? '' : __WEBPACK_IMPORTED_MODULE_1__util_StringUtil__[\"default\"].localize('user.profile.image.image_set', 'courage'); //TODO\n };\n break;\n case 'password':\n inputOptions.type = 'password';\n break;\n case 'date':\n inputOptions.type = 'date';\n break;\n case 'uri':\n case 'country-code':\n case 'country_code':\n case 'language-code':\n case 'language_code':\n case 'email':\n case 'locale':\n case 'timezone':\n case 'string':\n case 'object':\n //default input options\n break;\n default:\n throw new Error('unknown type: ' + type);\n }\n return inputOptions;\n }\n\n // Sets nonbasic inputOptions, such as an array with possible values\n function customOptions(property) {\n var inputOptions = {};\n var name = property.get('name');\n var type = property.get('__displayType__');\n var values = property.get('__possibleValues__');\n var prefix = property.get('__fieldNamePrefix__');\n\n if (prefix) {\n inputOptions.name = prefix + name;\n inputOptions.errorField = name;\n }\n\n if (property.isEnumType()) {\n var configs = {\n displayType: type,\n title: property.get('title'),\n enumValues: property.getEnumValues()\n };\n\n inputOptions = __WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].extend({}, __WEBPACK_IMPORTED_MODULE_4__EnumTypeHelper__[\"a\" /* default */].getEnumInputOptions(configs), inputOptions);\n } else if (isArray(type) && values) {\n inputOptions.type = 'checkboxset';\n inputOptions.input = null;\n inputOptions.options = getChoices(values);\n }\n\n return inputOptions;\n }\n\n function convertStringToNumber(string) {\n var number = __WEBPACK_IMPORTED_MODULE_1__util_StringUtil__[\"default\"].parseFloat(string);\n\n return string === '' ? null : number;\n }\n\n function isArray(type) {\n return type && type.indexOf('array') >= 0;\n }\n\n // converts possibleValues to choices\n // [a, b, c] => {a: a, b: b, c: c}\n function getChoices(values) {\n return __WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].object(values, values);\n }\n\n // A schema property may have an objectName either\n // at the root level or nested in the items object\n function getObjectName(schemaProp) {\n var items = schemaProp.get('items');\n\n if (items) {\n return items.objectName;\n } else {\n return schemaProp.get('objectName');\n }\n }\n\n function augmentSchemaProp(schemaProp, possibleValues, profile) {\n var name = schemaProp.get('name');\n var prefix = profile['__nestedProperty__'];\n var defaultValues = possibleValues[name];\n var userValues = profile.get(name);\n var //TODO: Not implemented\n fixedValues = void 0;\n var values = void 0;\n\n // If API responds with a field name that differs from the form-field name\n // example: Model's 'profile.username' vs. server's 'username'\n if (prefix) {\n schemaProp.set('__fieldNamePrefix__', prefix);\n }\n\n // case 1: objectName - fixed list of values are set for the input\n fixedValues = possibleValues[getObjectName(schemaProp)];\n\n // case 2: name only - default list of values are provided, user can add more\n // TODO: this case does not yet exist, so it is not tested\n if (defaultValues && userValues) {\n defaultValues = __WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].union(defaultValues, userValues);\n }\n\n // If both fixed and default values exist,\n // take the fixed values unless they are empty\n if (fixedValues && fixedValues.length) {\n values = fixedValues;\n } else if (defaultValues && defaultValues.length) {\n values = defaultValues;\n }\n\n schemaProp.set('__possibleValues__', values);\n }\n\n function augmentSchemaProps(schemaProps, possibleValues, profile) {\n schemaProps.each(function (schemaProp) {\n augmentSchemaProp(schemaProp, possibleValues, profile);\n });\n\n return schemaProps;\n }\n\n /**\n * Remove invalid schema properties from a collection\n *\n * @param {SchemaProperties Collection} [properties] A collection of schema properties\n * @param {Object} [values] An object of the form { key: [value1, value2]}\n * @return {Array} An array of valid schema models, this can be used to reset\n * a schema properties collection for example.\n * @private\n */\n function cleanSchema(properties, values) {\n return properties.filter(function (schema) {\n return isValidSchemaProp(schema, values);\n });\n }\n\n /**\n * Checks the validity of a schema property.\n *\n * @param {SchemaProperty} [schemaProp] A schema property backbone model\n * @param {Object} [values] An object of the form { key: [value1, value2]}\n * @return {Boolean} true/false\n * @private\n */\n function isValidSchemaProp(schemaProp, values) {\n var objectName = getObjectName(schemaProp);\n var results = values[objectName];\n\n // a schema property that references an empty list of values\n // Im looking at you, google apps.\n if (objectName && Object(__WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"])(results).isEmpty()) {\n return false;\n }\n return true;\n }\n\n /* harmony default export */__webpack_exports__[\"default\"] = {\n /**\n * Creates the options hash for BaseForm.addInput from a prepared schema\n * property.\n *\n * @param {Okta.Model} [preparedSchemaProp] A schema property backbone model\n * that has been standardized by the prepareSchema method.\n * @return {Object} An object containing all of the options needed by\n * BaseForm's addInput()\n */\n createInputOptions: function createInputOptions(preparedSchemaProp) {\n var custom = customOptions(preparedSchemaProp);\n var standard = defaultOptions(preparedSchemaProp);\n\n // underscore did not support nested extend\n // https://github.com/jashkenas/underscore/issues/162\n if (custom.params && standard.params) {\n custom.params = __WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].defaults(custom.params, standard.params);\n }\n return __WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].defaults(custom, standard);\n },\n\n hasValidSchemaProps: function hasValidSchemaProps(schemaProps, possibleValues) {\n if (__WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].isEmpty(schemaProps)) {\n return false;\n } else {\n var validSchema = cleanSchema(schemaProps, possibleValues);\n\n return !!validSchema.length;\n }\n },\n\n /**\n * This method is responsible for preparing a collection for the form\n * factory to use by putting all of the information to create an input\n * into the schema property and removing invalid properties.\n * The typical UD form takes 3 models:\n * The data model has the input values.\n * The schema model describes which input to use, such as a textbox or a checkbox.\n * The possible values model provide a list of default options to display, for example in a drop down menu.\n *\n * @param {SchemaProperty Collection} [schemaProps] A schema property backbone model.\n * @param {Object} [possibleValues] An object of the form { key: [value1, value2]}\n * @param {Okta.Model} [profile] A backbone model containing the property described by the schema property.\n * @return {SchemaProperty Collection} A schema property collection with standardized models.\n * The standard schema model adds a couple of additional private properties to\n * allow the form factory to reference lookup values or name prefixes without going to a second model.\n */\n prepareSchema: function prepareSchema(schemaProps, possibleValues, profile) {\n schemaProps.reset(cleanSchema(schemaProps, possibleValues));\n return augmentSchemaProps(schemaProps, possibleValues, profile);\n },\n\n /**\n * `prepareSchema` will reset the property list which may not be necessary at some case.\n * like when setting default value for schema properties.\n * (more detail about such case @see wiki UX, App+Entitlements+for+Provisioning)\n *\n * @param { }\n * @return {String}\n */\n\n augmentSchemaProps: augmentSchemaProps,\n\n augmentSchemaProp: augmentSchemaProp\n };\n\n /***/\n},\n/* 66 */\n/***/function (module, __webpack_exports__, __webpack_require__) {\n\n \"use strict\";\n /* harmony import */\n var __WEBPACK_IMPORTED_MODULE_0__Select__ = __webpack_require__(28);\n\n var options = {\n undefined: 'undefined',\n true: 'true',\n false: 'false'\n };\n\n var from = function from(val) {\n if (val) {\n return 'true';\n }\n if (val === false) {\n return 'false';\n }\n return 'undefined';\n };\n\n var to = function to(val) {\n switch (val) {\n case 'undefined':\n return null;\n case 'true':\n return true;\n case 'false':\n return false;\n default:\n return null;\n }\n };\n\n /* harmony default export */__webpack_exports__[\"a\"] = __WEBPACK_IMPORTED_MODULE_0__Select__[\"default\"].extend({\n initialize: function initialize() {\n this.options.options = options;\n this.options.from = from;\n this.options.to = to;\n }\n });\n\n /***/\n},\n/* 67 */\n/***/function (module, exports, __webpack_require__) {\n\n var __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__; // Chosen, a Select Box Enhancer for jQuery and Prototype\n // by Patrick Filler for Harvest, http://getharvest.com\n //\n // Version 0.11.1\n // Full source at https://github.com/harvesthq/chosen\n // Copyright (c) 2011 Harvest http://getharvest.com\n\n // MIT License, https://github.com/harvesthq/chosen/blob/master/LICENSE.md\n // This file is generated by `grunt build`, do not edit it by hand.\n\n !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(12)], __WEBPACK_AMD_DEFINE_RESULT__ = function (jQuery) {\n (function () {\n var SelectParser;\n\n SelectParser = function () {\n function SelectParser() {\n this.options_index = 0;\n this.parsed = [];\n }\n\n SelectParser.prototype.add_node = function (child) {\n if (child.nodeName.toUpperCase() === \"OPTGROUP\") {\n return this.add_group(child);\n } else {\n return this.add_option(child);\n }\n };\n\n SelectParser.prototype.add_group = function (group) {\n var group_position, option, _i, _len, _ref, _results;\n\n group_position = this.parsed.length;\n this.parsed.push({\n array_index: group_position,\n group: true,\n label: group.label,\n children: 0,\n disabled: group.disabled\n });\n _ref = group.childNodes;\n _results = [];\n for (_i = 0, _len = _ref.length; _i < _len; _i++) {\n option = _ref[_i];\n _results.push(this.add_option(option, group_position, group.disabled));\n }\n return _results;\n };\n\n SelectParser.prototype.add_option = function (option, group_position, group_disabled) {\n if (option.nodeName.toUpperCase() === \"OPTION\") {\n if (option.text !== \"\") {\n if (group_position != null) {\n this.parsed[group_position].children += 1;\n }\n this.parsed.push({\n array_index: this.parsed.length,\n options_index: this.options_index,\n value: option.value,\n text: option.text,\n html: option.innerHTML,\n selected: option.selected,\n disabled: group_disabled === true ? group_disabled : option.disabled,\n group_array_index: group_position,\n classes: option.className,\n style: option.style.cssText\n });\n } else {\n this.parsed.push({\n array_index: this.parsed.length,\n options_index: this.options_index,\n empty: true\n });\n }\n return this.options_index += 1;\n }\n };\n\n return SelectParser;\n }();\n\n SelectParser.select_to_array = function (select) {\n var child, parser, _i, _len, _ref;\n\n parser = new SelectParser();\n _ref = select.childNodes;\n for (_i = 0, _len = _ref.length; _i < _len; _i++) {\n child = _ref[_i];\n parser.add_node(child);\n }\n return parser.parsed;\n };\n\n this.SelectParser = SelectParser;\n }).call(this);\n\n (function () {\n var AbstractChosen, root;\n\n root = this;\n\n AbstractChosen = function () {\n function AbstractChosen(form_field, options) {\n this.form_field = form_field;\n this.options = options != null ? options : {};\n if (!AbstractChosen.browser_is_supported()) {\n return;\n }\n this.is_multiple = this.form_field.multiple;\n this.set_default_text();\n this.set_default_values();\n this.setup();\n this.set_up_html();\n this.register_observers();\n this.finish_setup();\n }\n\n AbstractChosen.prototype.set_default_values = function () {\n var _this = this;\n\n this.click_test_action = function (evt) {\n return _this.test_active_click(evt);\n };\n this.activate_action = function (evt) {\n return _this.activate_field(evt);\n };\n this.active_field = false;\n this.mouse_on_container = false;\n this.results_showing = false;\n this.result_highlighted = null;\n this.result_single_selected = null;\n this.allow_single_deselect = this.options.allow_single_deselect != null && this.form_field.options[0] != null && this.form_field.options[0].text === \"\" ? this.options.allow_single_deselect : false;\n this.disable_search_threshold = this.options.disable_search_threshold || 0;\n this.disable_search = this.options.disable_search || false;\n this.enable_split_word_search = this.options.enable_split_word_search != null ? this.options.enable_split_word_search : true;\n this.search_contains = this.options.search_contains || false;\n this.single_backstroke_delete = this.options.single_backstroke_delete || false;\n this.max_selected_options = this.options.max_selected_options || Infinity;\n return this.inherit_select_classes = this.options.inherit_select_classes || false;\n };\n\n AbstractChosen.prototype.set_default_text = function () {\n if (this.form_field.getAttribute(\"data-placeholder\")) {\n this.default_text = this.form_field.getAttribute(\"data-placeholder\");\n } else if (this.is_multiple) {\n this.default_text = this.options.placeholder_text_multiple || this.options.placeholder_text || AbstractChosen.default_multiple_text;\n } else {\n this.default_text = this.options.placeholder_text_single || this.options.placeholder_text || AbstractChosen.default_single_text;\n }\n return this.results_none_found = this.form_field.getAttribute(\"data-no_results_text\") || this.options.no_results_text || AbstractChosen.default_no_result_text;\n };\n\n AbstractChosen.prototype.mouse_enter = function () {\n return this.mouse_on_container = true;\n };\n\n AbstractChosen.prototype.mouse_leave = function () {\n return this.mouse_on_container = false;\n };\n\n AbstractChosen.prototype.input_focus = function (evt) {\n var _this = this;\n\n if (this.is_multiple) {\n if (!this.active_field) {\n return setTimeout(function () {\n return _this.container_mousedown();\n }, 50);\n }\n } else {\n if (!this.active_field) {\n return this.activate_field();\n }\n }\n };\n\n AbstractChosen.prototype.input_blur = function (evt) {\n var _this = this;\n\n if (!this.mouse_on_container) {\n this.active_field = false;\n return setTimeout(function () {\n return _this.blur_test();\n }, 100);\n }\n };\n\n AbstractChosen.prototype.result_add_option = function (option) {\n var classes, style;\n\n option.dom_id = this.container_id + \"_o_\" + option.array_index;\n classes = [];\n if (!option.disabled && !(option.selected && this.is_multiple)) {\n classes.push(\"active-result\");\n }\n if (option.disabled && !(option.selected && this.is_multiple)) {\n classes.push(\"disabled-result\");\n }\n if (option.selected) {\n classes.push(\"result-selected\");\n }\n if (option.group_array_index != null) {\n classes.push(\"group-option\");\n }\n if (option.classes !== \"\") {\n classes.push(option.classes);\n }\n style = option.style.cssText !== \"\" ? \" style=\\\"\" + option.style + \"\\\"\" : \"\";\n return '<li id=\"' + option.dom_id + '\" class=\"' + classes.join(' ') + '\"' + style + '>' + option.html + '</li>';\n };\n\n AbstractChosen.prototype.results_update_field = function () {\n this.set_default_text();\n if (!this.is_multiple) {\n this.results_reset_cleanup();\n }\n this.result_clear_highlight();\n this.result_single_selected = null;\n return this.results_build();\n };\n\n AbstractChosen.prototype.results_toggle = function () {\n if (this.results_showing) {\n return this.results_hide();\n } else {\n return this.results_show();\n }\n };\n\n AbstractChosen.prototype.results_search = function (evt) {\n if (this.results_showing) {\n return this.winnow_results();\n } else {\n return this.results_show();\n }\n };\n\n AbstractChosen.prototype.choices_count = function () {\n var option, _i, _len, _ref;\n\n if (this.selected_option_count != null) {\n return this.selected_option_count;\n }\n this.selected_option_count = 0;\n _ref = this.form_field.options;\n for (_i = 0, _len = _ref.length; _i < _len; _i++) {\n option = _ref[_i];\n if (option.selected) {\n this.selected_option_count += 1;\n }\n }\n return this.selected_option_count;\n };\n\n AbstractChosen.prototype.choices_click = function (evt) {\n evt.preventDefault();\n if (!(this.results_showing || this.is_disabled)) {\n return this.results_show();\n }\n };\n\n AbstractChosen.prototype.keyup_checker = function (evt) {\n var stroke, _ref;\n\n stroke = (_ref = evt.which) != null ? _ref : evt.keyCode;\n this.search_field_scale();\n switch (stroke) {\n case 8:\n if (this.is_multiple && this.backstroke_length < 1 && this.choices_count() > 0) {\n return this.keydown_backstroke();\n } else if (!this.pending_backstroke) {\n this.result_clear_highlight();\n return this.results_search();\n }\n break;\n case 13:\n evt.preventDefault();\n if (this.results_showing) {\n return this.result_select(evt);\n }\n break;\n case 27:\n if (this.results_showing) {\n this.results_hide();\n }\n return true;\n case 9:\n case 38:\n case 40:\n case 16:\n case 91:\n case 17:\n break;\n default:\n return this.results_search();\n }\n };\n\n AbstractChosen.prototype.generate_field_id = function () {\n var new_id;\n\n new_id = this.generate_random_id();\n this.form_field.id = new_id;\n return new_id;\n };\n\n AbstractChosen.prototype.generate_random_char = function () {\n var chars, newchar, rand;\n\n chars = \"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ\";\n rand = Math.floor(Math.random() * chars.length);\n return newchar = chars.substring(rand, rand + 1);\n };\n\n AbstractChosen.prototype.container_width = function () {\n if (this.options.width != null) {\n return this.options.width;\n } else {\n return \"\" + this.form_field.offsetWidth + \"px\";\n }\n };\n\n AbstractChosen.browser_is_supported = function () {\n var _ref;\n\n if (window.navigator.appName === \"Microsoft Internet Explorer\") {\n return null !== (_ref = document.documentMode) && _ref >= 8;\n }\n return true;\n };\n\n AbstractChosen.default_multiple_text = \"Select Some Options\";\n\n AbstractChosen.default_single_text = \"Select an Option\";\n\n AbstractChosen.default_no_result_text = \"No results match\";\n\n return AbstractChosen;\n }();\n\n root.AbstractChosen = AbstractChosen;\n }).call(this);\n\n (function () {\n var $,\n Chosen,\n root,\n _ref,\n __hasProp = {}.hasOwnProperty,\n __extends = function __extends(child, parent) {\n for (var key in parent) {\n if (__hasProp.call(parent, key)) child[key] = parent[key];\n }function ctor() {\n this.constructor = child;\n }ctor.prototype = parent.prototype;child.prototype = new ctor();child.__super__ = parent.prototype;return child;\n };\n\n root = this;\n\n // OKTA-93521 - plugin assumes root is global scope\n var AbstractChosen = root.AbstractChosen;\n\n $ = jQuery;\n\n $.fn.extend({\n chosen: function chosen(options) {\n if (!AbstractChosen.browser_is_supported()) {\n return this;\n }\n return this.each(function (input_field) {\n var $this;\n\n $this = $(this);\n if (!$this.hasClass(\"chzn-done\")) {\n return $this.data('chosen', new Chosen(this, options));\n }\n });\n }\n });\n\n Chosen = function (_super) {\n __extends(Chosen, _super);\n\n function Chosen() {\n _ref = Chosen.__super__.constructor.apply(this, arguments);\n return _ref;\n }\n\n Chosen.prototype.setup = function () {\n this.form_field_jq = $(this.form_field);\n this.current_selectedIndex = this.form_field.selectedIndex;\n return this.is_rtl = this.form_field_jq.hasClass(\"chzn-rtl\");\n };\n\n Chosen.prototype.finish_setup = function () {\n return this.form_field_jq.addClass(\"chzn-done\");\n };\n\n Chosen.prototype.set_up_html = function () {\n var container_classes, container_props;\n\n this.container_id = this.form_field.id.length ? this.form_field.id.replace(/[^\\w]/g, '_') : this.generate_field_id();\n this.container_id += \"_chzn\";\n container_classes = [\"chzn-container\"];\n container_classes.push(\"chzn-container-\" + (this.is_multiple ? \"multi\" : \"single\"));\n if (this.inherit_select_classes && this.form_field.className) {\n container_classes.push(this.form_field.className);\n }\n if (this.is_rtl) {\n container_classes.push(\"chzn-rtl\");\n }\n container_props = {\n 'id': this.container_id,\n 'class': container_classes.join(' '),\n 'style': \"width: \" + this.container_width() + \";\",\n 'title': this.form_field.title\n };\n this.container = $(\"<div />\", container_props);\n if (this.is_multiple) {\n this.container.html('<ul class=\"chzn-choices\"><li class=\"search-field\"><input type=\"text\" value=\"' + this.default_text + '\" class=\"default\" autocomplete=\"off\" style=\"width:25px;\" /></li></ul><div class=\"chzn-drop\"><ul class=\"chzn-results\"></ul></div>');\n } else {\n this.container.html('<a href=\"javascript:void(0)\" class=\"chzn-single chzn-default\" tabindex=\"-1\"><span>' + this.default_text + '</span><div><b></b></div></a><div class=\"chzn-drop\"><div class=\"chzn-search\"><input type=\"text\" autocomplete=\"off\" /></div><ul class=\"chzn-results\"></ul></div>');\n }\n this.form_field_jq.hide().after(this.container);\n this.dropdown = this.container.find('div.chzn-drop').first();\n this.search_field = this.container.find('input').first();\n this.search_results = this.container.find('ul.chzn-results').first();\n this.search_field_scale();\n this.search_no_results = this.container.find('li.no-results').first();\n if (this.is_multiple) {\n this.search_choices = this.container.find('ul.chzn-choices').first();\n this.search_container = this.container.find('li.search-field').first();\n } else {\n this.search_container = this.container.find('div.chzn-search').first();\n this.selected_item = this.container.find('.chzn-single').first();\n }\n this.results_build();\n this.set_tab_index();\n this.set_label_behavior();\n return this.form_field_jq.trigger(\"liszt:ready\", {\n chosen: this\n });\n };\n\n Chosen.prototype.register_observers = function () {\n var _this = this;\n\n this.container.mousedown(function (evt) {\n _this.container_mousedown(evt);\n });\n this.container.mouseup(function (evt) {\n _this.container_mouseup(evt);\n });\n this.container.mouseenter(function (evt) {\n _this.mouse_enter(evt);\n });\n this.container.mouseleave(function (evt) {\n _this.mouse_leave(evt);\n });\n this.search_results.mouseup(function (evt) {\n _this.search_results_mouseup(evt);\n });\n this.search_results.mouseover(function (evt) {\n _this.search_results_mouseover(evt);\n });\n this.search_results.mouseout(function (evt) {\n _this.search_results_mouseout(evt);\n });\n this.search_results.bind('mousewheel DOMMouseScroll', function (evt) {\n _this.search_results_mousewheel(evt);\n });\n this.form_field_jq.bind(\"liszt:updated\", function (evt) {\n _this.results_update_field(evt);\n });\n this.form_field_jq.bind(\"liszt:activate\", function (evt) {\n _this.activate_field(evt);\n });\n this.form_field_jq.bind(\"liszt:open\", function (evt) {\n _this.container_mousedown(evt);\n });\n this.search_field.blur(function (evt) {\n _this.input_blur(evt);\n });\n this.search_field.keyup(function (evt) {\n _this.keyup_checker(evt);\n });\n this.search_field.keydown(function (evt) {\n _this.keydown_checker(evt);\n });\n this.search_field.focus(function (evt) {\n _this.input_focus(evt);\n });\n if (this.is_multiple) {\n return this.search_choices.click(function (evt) {\n _this.choices_click(evt);\n });\n } else {\n return this.container.click(function (evt) {\n evt.preventDefault();\n });\n }\n };\n\n Chosen.prototype.search_field_disabled = function () {\n this.is_disabled = this.form_field_jq[0].disabled;\n if (this.is_disabled) {\n this.container.addClass('chzn-disabled');\n this.search_field[0].disabled = true;\n if (!this.is_multiple) {\n this.selected_item.unbind(\"focus\", this.activate_action);\n }\n return this.close_field();\n } else {\n this.container.removeClass('chzn-disabled');\n this.search_field[0].disabled = false;\n if (!this.is_multiple) {\n return this.selected_item.bind(\"focus\", this.activate_action);\n }\n }\n };\n\n Chosen.prototype.container_mousedown = function (evt) {\n if (!this.is_disabled) {\n if (evt && evt.type === \"mousedown\" && !this.results_showing) {\n evt.preventDefault();\n }\n if (!(evt != null && $(evt.target).hasClass(\"search-choice-close\"))) {\n if (!this.active_field) {\n if (this.is_multiple) {\n this.search_field.val(\"\");\n }\n $(document).click(this.click_test_action);\n this.results_show();\n } else if (!this.is_multiple && evt && ($(evt.target)[0] === this.selected_item[0] || $(evt.target).parents(\"a.chzn-single\").length)) {\n evt.preventDefault();\n this.results_toggle();\n }\n return this.activate_field();\n }\n }\n };\n\n Chosen.prototype.container_mouseup = function (evt) {\n if (evt.target.nodeName === \"ABBR\" && !this.is_disabled) {\n return this.results_reset(evt);\n }\n };\n\n Chosen.prototype.search_results_mousewheel = function (evt) {\n var delta, _ref1, _ref2;\n\n delta = -((_ref1 = evt.originalEvent) != null ? _ref1.wheelDelta : void 0) || ((_ref2 = evt.originialEvent) != null ? _ref2.detail : void 0);\n if (delta != null) {\n evt.preventDefault();\n if (evt.type === 'DOMMouseScroll') {\n delta = delta * 40;\n }\n return this.search_results.scrollTop(delta + this.search_results.scrollTop());\n }\n };\n\n Chosen.prototype.blur_test = function (evt) {\n if (!this.active_field && this.container.hasClass(\"chzn-container-active\")) {\n return this.close_field();\n }\n };\n\n Chosen.prototype.close_field = function () {\n $(document).unbind(\"click\", this.click_test_action);\n this.active_field = false;\n this.results_hide();\n this.container.removeClass(\"chzn-container-active\");\n this.clear_backstroke();\n this.show_search_field_default();\n return this.search_field_scale();\n };\n\n Chosen.prototype.activate_field = function () {\n this.container.addClass(\"chzn-container-active\");\n this.active_field = true;\n this.search_field.val(this.search_field.val());\n return this.search_field.focus();\n };\n\n Chosen.prototype.test_active_click = function (evt) {\n if ($(evt.target).parents('#' + this.container_id).length) {\n return this.active_field = true;\n } else {\n return this.close_field();\n }\n };\n\n Chosen.prototype.results_build = function () {\n var content, data, _i, _len, _ref1;\n\n this.parsing = true;\n this.selected_option_count = null;\n this.results_data = root.SelectParser.select_to_array(this.form_field);\n if (this.is_multiple) {\n this.search_choices.find(\"li.search-choice\").remove();\n } else if (!this.is_multiple) {\n this.selected_item.addClass(\"chzn-default\").find(\"span\").text(this.default_text);\n if (this.disable_search || this.form_field.options.length <= this.disable_search_threshold) {\n this.search_field[0].readOnly = true;\n this.container.addClass(\"chzn-container-single-nosearch\");\n } else {\n this.search_field[0].readOnly = false;\n this.container.removeClass(\"chzn-container-single-nosearch\");\n }\n }\n content = '';\n _ref1 = this.results_data;\n for (_i = 0, _len = _ref1.length; _i < _len; _i++) {\n data = _ref1[_i];\n if (data.group) {\n content += this.result_add_group(data);\n } else if (!data.empty) {\n content += this.result_add_option(data);\n if (data.selected && this.is_multiple) {\n this.choice_build(data);\n } else if (data.selected && !this.is_multiple) {\n this.selected_item.removeClass(\"chzn-default\").find(\"span\").text(data.text);\n if (this.allow_single_deselect) {\n this.single_deselect_control_build();\n }\n }\n }\n }\n this.search_field_disabled();\n this.show_search_field_default();\n this.search_field_scale();\n this.search_results.html(content);\n return this.parsing = false;\n };\n\n Chosen.prototype.result_add_group = function (group) {\n group.dom_id = this.container_id + \"_g_\" + group.array_index;\n return '<li id=\"' + group.dom_id + '\" class=\"group-result\">' + $(\"<div />\").text(group.label).html() + '</li>';\n };\n\n Chosen.prototype.result_do_highlight = function (el) {\n var high_bottom, high_top, maxHeight, visible_bottom, visible_top;\n\n if (el.length) {\n this.result_clear_highlight();\n this.result_highlight = el;\n this.result_highlight.addClass(\"highlighted\");\n maxHeight = parseInt(this.search_results.css(\"maxHeight\"), 10);\n visible_top = this.search_results.scrollTop();\n visible_bottom = maxHeight + visible_top;\n high_top = this.result_highlight.position().top + this.search_results.scrollTop();\n high_bottom = high_top + this.result_highlight.outerHeight();\n if (high_bottom >= visible_bottom) {\n return this.search_results.scrollTop(high_bottom - maxHeight > 0 ? high_bottom - maxHeight : 0);\n } else if (high_top < visible_top) {\n return this.search_results.scrollTop(high_top);\n }\n }\n };\n\n Chosen.prototype.result_clear_highlight = function () {\n if (this.result_highlight) {\n this.result_highlight.removeClass(\"highlighted\");\n }\n return this.result_highlight = null;\n };\n\n Chosen.prototype.results_show = function () {\n if (this.is_multiple && this.max_selected_options <= this.choices_count()) {\n this.form_field_jq.trigger(\"liszt:maxselected\", {\n chosen: this\n });\n return false;\n }\n this.container.addClass(\"chzn-with-drop\");\n this.form_field_jq.trigger(\"liszt:showing_dropdown\", {\n chosen: this\n });\n this.results_showing = true;\n this.search_field.focus();\n this.search_field.val(this.search_field.val());\n return this.winnow_results();\n };\n\n Chosen.prototype.results_hide = function () {\n if (this.results_showing) {\n this.result_clear_highlight();\n this.container.removeClass(\"chzn-with-drop\");\n this.form_field_jq.trigger(\"liszt:hiding_dropdown\", {\n chosen: this\n });\n }\n return this.results_showing = false;\n };\n\n Chosen.prototype.set_tab_index = function (el) {\n var ti;\n\n if (this.form_field_jq.attr(\"tabindex\")) {\n ti = this.form_field_jq.attr(\"tabindex\");\n this.form_field_jq.attr(\"tabindex\", -1);\n return this.search_field.attr(\"tabindex\", ti);\n }\n };\n\n Chosen.prototype.set_label_behavior = function () {\n var _this = this;\n\n this.form_field_label = this.form_field_jq.parents(\"label\");\n if (!this.form_field_label.length && this.form_field.id.length) {\n this.form_field_label = $(\"label[for='\" + this.form_field.id + \"']\");\n }\n if (this.form_field_label.length > 0) {\n return this.form_field_label.click(function (evt) {\n if (_this.is_multiple) {\n return _this.container_mousedown(evt);\n } else {\n return _this.activate_field();\n }\n });\n }\n };\n\n Chosen.prototype.show_search_field_default = function () {\n if (this.is_multiple && this.choices_count() < 1 && !this.active_field) {\n this.search_field.val(this.default_text);\n return this.search_field.addClass(\"default\");\n } else {\n this.search_field.val(\"\");\n return this.search_field.removeClass(\"default\");\n }\n };\n\n Chosen.prototype.search_results_mouseup = function (evt) {\n var target;\n\n target = $(evt.target).hasClass(\"active-result\") ? $(evt.target) : $(evt.target).parents(\".active-result\").first();\n if (target.length) {\n this.result_highlight = target;\n this.result_select(evt);\n return this.search_field.focus();\n }\n };\n\n Chosen.prototype.search_results_mouseover = function (evt) {\n var target;\n\n target = $(evt.target).hasClass(\"active-result\") ? $(evt.target) : $(evt.target).parents(\".active-result\").first();\n if (target) {\n return this.result_do_highlight(target);\n }\n };\n\n Chosen.prototype.search_results_mouseout = function (evt) {\n if ($(evt.target).hasClass(\"active-result\" || $(evt.target).parents('.active-result').first())) {\n return this.result_clear_highlight();\n }\n };\n\n Chosen.prototype.choice_build = function (item) {\n var choice,\n close_link,\n _this = this;\n\n choice = $('<li />', {\n \"class\": \"search-choice\"\n }).html(\"<span>\" + item.html + \"</span>\");\n if (item.disabled) {\n choice.addClass('search-choice-disabled');\n } else {\n close_link = $('<a />', {\n href: '#',\n \"class\": 'search-choice-close',\n rel: item.array_index\n });\n close_link.click(function (evt) {\n return _this.choice_destroy_link_click(evt);\n });\n choice.append(close_link);\n }\n return this.search_container.before(choice);\n };\n\n Chosen.prototype.choice_destroy_link_click = function (evt) {\n evt.preventDefault();\n evt.stopPropagation();\n if (!this.is_disabled) {\n return this.choice_destroy($(evt.target));\n }\n };\n\n Chosen.prototype.choice_destroy = function (link) {\n if (this.result_deselect(link.attr(\"rel\"))) {\n this.show_search_field_default();\n if (this.is_multiple && this.choices_count() > 0 && this.search_field.val().length < 1) {\n this.results_hide();\n }\n link.parents('li').first().remove();\n return this.search_field_scale();\n }\n };\n\n Chosen.prototype.results_reset = function () {\n this.form_field.options[0].selected = true;\n this.selected_option_count = null;\n this.selected_item.find(\"span\").text(this.default_text);\n if (!this.is_multiple) {\n this.selected_item.addClass(\"chzn-default\");\n }\n this.show_search_field_default();\n this.results_reset_cleanup();\n this.form_field_jq.trigger(\"change\");\n if (this.active_field) {\n return this.results_hide();\n }\n };\n\n Chosen.prototype.results_reset_cleanup = function () {\n this.current_selectedIndex = this.form_field.selectedIndex;\n return this.selected_item.find(\"abbr\").remove();\n };\n\n Chosen.prototype.result_select = function (evt) {\n var high, high_id, item, position;\n\n if (this.result_highlight) {\n high = this.result_highlight;\n high_id = high.attr(\"id\");\n this.result_clear_highlight();\n if (this.is_multiple && this.max_selected_options <= this.choices_count()) {\n this.form_field_jq.trigger(\"liszt:maxselected\", {\n chosen: this\n });\n return false;\n }\n if (this.is_multiple) {\n high.removeClass(\"active-result\");\n } else {\n this.search_results.find(\".result-selected\").removeClass(\"result-selected\");\n this.result_single_selected = high;\n this.selected_item.removeClass(\"chzn-default\");\n }\n high.addClass(\"result-selected\");\n position = high_id.substr(high_id.lastIndexOf(\"_\") + 1);\n item = this.results_data[position];\n item.selected = true;\n this.form_field.options[item.options_index].selected = true;\n this.selected_option_count = null;\n if (this.is_multiple) {\n this.choice_build(item);\n } else {\n this.selected_item.find(\"span\").first().text(item.text);\n if (this.allow_single_deselect) {\n this.single_deselect_control_build();\n }\n }\n if (!((evt.metaKey || evt.ctrlKey) && this.is_multiple)) {\n this.results_hide();\n }\n this.search_field.val(\"\");\n if (this.is_multiple || this.form_field.selectedIndex !== this.current_selectedIndex) {\n this.form_field_jq.trigger(\"change\", {\n 'selected': this.form_field.options[item.options_index].value\n });\n }\n this.current_selectedIndex = this.form_field.selectedIndex;\n return this.search_field_scale();\n }\n };\n\n Chosen.prototype.result_activate = function (el, option) {\n if (option.disabled) {\n return el.addClass(\"disabled-result\");\n } else if (this.is_multiple && option.selected) {\n return el.addClass(\"result-selected\");\n } else {\n return el.addClass(\"active-result\");\n }\n };\n\n Chosen.prototype.result_deactivate = function (el) {\n return el.removeClass(\"active-result result-selected disabled-result\");\n };\n\n Chosen.prototype.result_deselect = function (pos) {\n var result, result_data;\n\n result_data = this.results_data[pos];\n if (!this.form_field.options[result_data.options_index].disabled) {\n result_data.selected = false;\n this.form_field.options[result_data.options_index].selected = false;\n this.selected_option_count = null;\n result = $(\"#\" + this.container_id + \"_o_\" + pos);\n result.removeClass(\"result-selected\").addClass(\"active-result\").show();\n this.result_clear_highlight();\n this.winnow_results();\n this.form_field_jq.trigger(\"change\", {\n deselected: this.form_field.options[result_data.options_index].value\n });\n this.search_field_scale();\n return true;\n } else {\n return false;\n }\n };\n\n Chosen.prototype.single_deselect_control_build = function () {\n if (!this.allow_single_deselect) {\n return;\n }\n if (!this.selected_item.find(\"abbr\").length) {\n this.selected_item.find(\"span\").first().after(\"<abbr class=\\\"search-choice-close\\\"></abbr>\");\n }\n return this.selected_item.addClass(\"chzn-single-with-deselect\");\n };\n\n Chosen.prototype.winnow_results = function () {\n var found, option, part, parts, regex, regexAnchor, result, result_id, results, searchText, startpos, text, zregex, _i, _j, _len, _len1, _ref1;\n\n this.no_results_clear();\n results = 0;\n searchText = this.search_field.val() === this.default_text ? \"\" : $('<div/>').text($.trim(this.search_field.val())).html();\n regexAnchor = this.search_contains ? \"\" : \"^\";\n regex = new RegExp(regexAnchor + searchText.replace(/[-[\\]{}()*+?.,\\\\^$|#\\s]/g, \"\\\\$&\"), 'i');\n zregex = new RegExp(searchText.replace(/[-[\\]{}()*+?.,\\\\^$|#\\s]/g, \"\\\\$&\"), 'i');\n _ref1 = this.results_data;\n for (_i = 0, _len = _ref1.length; _i < _len; _i++) {\n option = _ref1[_i];\n if (!option.empty) {\n if (option.group) {\n $('#' + option.dom_id).css('display', 'none');\n } else {\n found = false;\n result_id = option.dom_id;\n result = $(\"#\" + result_id);\n if (regex.test(option.html)) {\n found = true;\n results += 1;\n } else if (this.enable_split_word_search && (option.html.indexOf(\" \") >= 0 || option.html.indexOf(\"[\") === 0)) {\n parts = option.html.replace(/\\[|\\]/g, \"\").split(\" \");\n if (parts.length) {\n for (_j = 0, _len1 = parts.length; _j < _len1; _j++) {\n part = parts[_j];\n if (regex.test(part)) {\n found = true;\n results += 1;\n }\n }\n }\n }\n if (found) {\n if (searchText.length) {\n startpos = option.html.search(zregex);\n text = option.html.substr(0, startpos + searchText.length) + '</em>' + option.html.substr(startpos + searchText.length);\n text = text.substr(0, startpos) + '<em>' + text.substr(startpos);\n } else {\n text = option.html;\n }\n result.html(text);\n this.result_activate(result, option);\n if (option.group_array_index != null) {\n $(\"#\" + this.results_data[option.group_array_index].dom_id).css('display', 'list-item');\n }\n } else {\n if (this.result_highlight && result_id === this.result_highlight.attr('id')) {\n this.result_clear_highlight();\n }\n this.result_deactivate(result);\n }\n }\n }\n }\n if (results < 1 && searchText.length) {\n return this.no_results(searchText);\n } else {\n return this.winnow_results_set_highlight();\n }\n };\n\n Chosen.prototype.winnow_results_set_highlight = function () {\n var do_high, selected_results;\n\n if (!this.result_highlight) {\n selected_results = !this.is_multiple ? this.search_results.find(\".result-selected.active-result\") : [];\n do_high = selected_results.length ? selected_results.first() : this.search_results.find(\".active-result\").first();\n if (do_high != null) {\n return this.result_do_highlight(do_high);\n }\n }\n };\n\n Chosen.prototype.no_results = function (terms) {\n var no_results_html;\n\n no_results_html = $('<li class=\"no-results\">' + this.results_none_found + ' \"<span></span>\"</li>');\n no_results_html.find(\"span\").first().html(terms);\n return this.search_results.append(no_results_html);\n };\n\n Chosen.prototype.no_results_clear = function () {\n return this.search_results.find(\".no-results\").remove();\n };\n\n Chosen.prototype.keydown_arrow = function () {\n var next_sib;\n\n if (this.results_showing && this.result_highlight) {\n next_sib = this.result_highlight.nextAll(\"li.active-result\").first();\n if (next_sib) {\n return this.result_do_highlight(next_sib);\n }\n } else {\n return this.results_show();\n }\n };\n\n Chosen.prototype.keyup_arrow = function () {\n var prev_sibs;\n\n if (!this.results_showing && !this.is_multiple) {\n return this.results_show();\n } else if (this.result_highlight) {\n prev_sibs = this.result_highlight.prevAll(\"li.active-result\");\n if (prev_sibs.length) {\n return this.result_do_highlight(prev_sibs.first());\n } else {\n if (this.choices_count() > 0) {\n this.results_hide();\n }\n return this.result_clear_highlight();\n }\n }\n };\n\n Chosen.prototype.keydown_backstroke = function () {\n var next_available_destroy;\n\n if (this.pending_backstroke) {\n this.choice_destroy(this.pending_backstroke.find(\"a\").first());\n return this.clear_backstroke();\n } else {\n next_available_destroy = this.search_container.siblings(\"li.search-choice\").last();\n if (next_available_destroy.length && !next_available_destroy.hasClass(\"search-choice-disabled\")) {\n this.pending_backstroke = next_available_destroy;\n if (this.single_backstroke_delete) {\n return this.keydown_backstroke();\n } else {\n return this.pending_backstroke.addClass(\"search-choice-focus\");\n }\n }\n }\n };\n\n Chosen.prototype.clear_backstroke = function () {\n if (this.pending_backstroke) {\n this.pending_backstroke.removeClass(\"search-choice-focus\");\n }\n return this.pending_backstroke = null;\n };\n\n Chosen.prototype.keydown_checker = function (evt) {\n var stroke, _ref1;\n\n stroke = (_ref1 = evt.which) != null ? _ref1 : evt.keyCode;\n this.search_field_scale();\n if (stroke !== 8 && this.pending_backstroke) {\n this.clear_backstroke();\n }\n switch (stroke) {\n case 8:\n this.backstroke_length = this.search_field.val().length;\n break;\n case 9:\n if (this.results_showing && !this.is_multiple) {\n this.result_select(evt);\n }\n this.mouse_on_container = false;\n break;\n case 13:\n evt.preventDefault();\n break;\n case 38:\n evt.preventDefault();\n this.keyup_arrow();\n break;\n case 40:\n evt.preventDefault();\n this.keydown_arrow();\n break;\n }\n };\n\n Chosen.prototype.search_field_scale = function () {\n var div, h, style, style_block, styles, w, _i, _len;\n\n if (this.is_multiple) {\n h = 0;\n w = 0;\n style_block = \"position:absolute; left: -1000px; top: -1000px; display:none;\";\n styles = ['font-size', 'font-style', 'font-weight', 'font-family', 'line-height', 'text-transform', 'letter-spacing'];\n for (_i = 0, _len = styles.length; _i < _len; _i++) {\n style = styles[_i];\n style_block += style + \":\" + this.search_field.css(style) + \";\";\n }\n div = $('<div />', {\n 'style': style_block\n });\n div.text(this.search_field.val());\n $('body').append(div);\n w = div.width() + 25;\n div.remove();\n if (!this.f_width) {\n this.f_width = this.container.outerWidth();\n }\n if (w > this.f_width - 10) {\n w = this.f_width - 10;\n }\n return this.search_field.css({\n 'width': w + 'px'\n });\n }\n };\n\n Chosen.prototype.generate_random_id = function () {\n var string;\n\n string = \"sel\" + this.generate_random_char() + this.generate_random_char() + this.generate_random_char();\n while ($(\"#\" + string).length > 0) {\n string += this.generate_random_char();\n }\n return string;\n };\n\n return Chosen;\n }(AbstractChosen);\n\n root.Chosen = Chosen;\n }).call(this);\n }.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\n /***/\n},\n/* 68 */\n/***/function (module, __webpack_exports__, __webpack_require__) {\n\n \"use strict\";\n /* harmony import */\n var __WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__ = __webpack_require__(0);\n /* harmony import */var __WEBPACK_IMPORTED_MODULE_1__util_SchemaUtil__ = __webpack_require__(13);\n /* harmony import */var __WEBPACK_IMPORTED_MODULE_2__BaseInput__ = __webpack_require__(10);\n /* harmony import */var __WEBPACK_IMPORTED_MODULE_3__DeletableBox__ = __webpack_require__(69);\n\n /* harmony default export */__webpack_exports__[\"a\"] = __WEBPACK_IMPORTED_MODULE_2__BaseInput__[\"a\" /* default */].extend({\n className: 'array-input',\n\n template: '<a href=\"#\" class=\"array-inputs-button link-button\">Add Another</a>',\n\n params: {\n itemType: 'string'\n },\n\n events: {\n 'click .array-inputs-button': function clickArrayInputsButton(e) {\n e.preventDefault();\n if (this.isEditMode()) {\n this.addNewElement();\n }\n }\n },\n\n initialize: function initialize(options) {\n options || (options = {});\n this.params = __WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].defaults(options.params || {}, this.params);\n this.uniqueIdPrefix = 'array';\n },\n\n // api returns null for an array that does not have value\n // convert it to an empty array\n from: function from(val) {\n if (!__WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].isArray(val)) {\n return [];\n }\n return val;\n },\n\n // @Override\n editMode: function editMode() {\n this._setArrayObject();\n this.$el.html(this.template);\n __WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].each(this.arrayObject, __WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].bind(this._addDeletableBox, this));\n\n return this;\n },\n\n // @Override\n readMode: function readMode() {\n this.editMode();\n this.$('.array-inputs-button').addClass('link-button-disabled');\n },\n\n // @Override\n // converts arrayObject to a plain array\n // for string type array, returns all values\n // for number/integer type array, returns values in number type\n val: function val() {\n var values = __WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].values(this.arrayObject);\n\n if (__WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].contains([__WEBPACK_IMPORTED_MODULE_1__util_SchemaUtil__[\"a\" /* default */].DATATYPE.number, __WEBPACK_IMPORTED_MODULE_1__util_SchemaUtil__[\"a\" /* default */].DATATYPE.integer], this.params.itemType)) {\n values = __WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].filter(values, __WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].isNumber);\n }\n return values;\n },\n\n focus: function focus() {},\n\n addNewElement: function addNewElement() {\n var value = '';\n\n var key = __WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].uniqueId(this.uniqueIdPrefix);\n\n this.arrayObject[key] = value;\n this._addDeletableBox(value, key);\n // update is called to make sure an empty string value is added for string type array\n this.update();\n },\n\n _addDeletableBox: function _addDeletableBox(value, key) {\n var deletableBox = new __WEBPACK_IMPORTED_MODULE_3__DeletableBox__[\"a\" /* default */](__WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].extend(__WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].pick(this.options, 'read', 'readOnly', 'model'), {\n key: key,\n value: value,\n itemType: this.params.itemType\n }));\n\n this.listenTo(deletableBox, 'updateArray', function (updatedValue) {\n if (__WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].isNull(updatedValue)) {\n delete this.arrayObject[key];\n this.stopListening(deletableBox);\n } else {\n this.arrayObject[key] = updatedValue;\n }\n this.update();\n });\n\n deletableBox.render().$el.hide();\n this.$('.array-inputs-button').before(deletableBox.el);\n deletableBox.$el.slideDown();\n\n return deletableBox;\n },\n\n _setArrayObject: function _setArrayObject() {\n var array = this.model.get(this.options.name);\n\n this.arrayObject = {};\n if (__WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].isArray(array) && !__WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].isEmpty(array)) {\n var keys = [];\n var self = this;\n\n Object(__WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"])(array.length).times(function () {\n keys.push(__WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].uniqueId(self.uniqueIdPrefix));\n });\n this.arrayObject = __WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].object(keys, array);\n }\n }\n });\n\n /***/\n},\n/* 69 */\n/***/function (module, __webpack_exports__, __webpack_require__) {\n\n \"use strict\";\n /* harmony import */\n var __WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__ = __webpack_require__(0);\n /* harmony import */var __WEBPACK_IMPORTED_MODULE_1__util_SchemaUtil__ = __webpack_require__(13);\n /* harmony import */var __WEBPACK_IMPORTED_MODULE_2__util_StringUtil__ = __webpack_require__(3);\n /* harmony import */var __WEBPACK_IMPORTED_MODULE_3__util_TemplateUtil__ = __webpack_require__(4);\n /* harmony import */var __WEBPACK_IMPORTED_MODULE_4__util_Time__ = __webpack_require__(30);\n /* harmony import */var __WEBPACK_IMPORTED_MODULE_5__BaseView__ = __webpack_require__(1);\n\n var isVowel = function isVowel(string) {\n return (/^[aeiou]/.test(string)\n );\n };\n\n var getArticle = function getArticle(string) {\n return isVowel(string) ? 'an' : 'a';\n };\n\n var template = __WEBPACK_IMPORTED_MODULE_3__util_TemplateUtil__[\"default\"].tpl('\\\n <div class=\"o-form-input-group-controls\">\\\n <span class=\"input-fix o-form-control\">\\\n <input type=\"text\" class=\"o-form-text\" name=\"{{key}}\" id=\"{{key}}\" value=\"{{value}}\" \\\n placeholder=\"{{placeholder}}\"/>\\\n </span>\\\n <a href=\"#\" class=\"link-button link-button-icon icon-only\">\\\n <span class=\"icon clear-input-16 \"></span>\\\n </a>\\\n </div>\\\n <p class=\"o-form-input-error o-form-explain\">\\\n <span class=\"icon icon-16 error-16-small\"></span> {{errorExplain}}\\\n </p>\\\n ');\n var errorClass = 'o-form-has-errors';\n var updateArrayEvent = 'updateArray';\n /* harmony default export */__webpack_exports__[\"a\"] = __WEBPACK_IMPORTED_MODULE_5__BaseView__[\"default\"].extend({\n tagName: 'div',\n\n className: 'o-form-input-group',\n\n events: {\n 'click a': function clickA(e) {\n e.preventDefault();\n this.remove();\n },\n 'keyup input': function keyupInput() {\n this.update();\n }\n },\n\n isEditMode: function isEditMode() {\n return !this.options.readOnly && (this.options.read !== true || this.model.get('__edit__') === true);\n },\n\n initialize: function initialize() {\n this.template = template(__WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].extend(this.options, {\n placeholder: this.getPlaceholderText(),\n errorExplain: this.getErrorExplainText()\n }));\n this.update = __WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].debounce(this.update, this.options.debounceDelay || __WEBPACK_IMPORTED_MODULE_4__util_Time__[\"a\" /* default */].DEBOUNCE_DELAY);\n },\n\n render: function render() {\n if (this.isEditMode()) {\n this.$el.html(this.template);\n } else {\n this.$el.text(this.options.value);\n this.$('a').hide();\n }\n return this;\n },\n\n remove: function remove() {\n var _this6 = this,\n _arguments = arguments;\n\n this.trigger(updateArrayEvent, null);\n this.$el.slideUp(function () {\n __WEBPACK_IMPORTED_MODULE_5__BaseView__[\"default\"].prototype.remove.call(_this6, _arguments);\n });\n },\n\n update: function update() {\n var updatedValue = this.$('input').val();\n\n var parseFunc = __WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].object([__WEBPACK_IMPORTED_MODULE_1__util_SchemaUtil__[\"a\" /* default */].DATATYPE.number, __WEBPACK_IMPORTED_MODULE_1__util_SchemaUtil__[\"a\" /* default */].DATATYPE.integer], [__WEBPACK_IMPORTED_MODULE_2__util_StringUtil__[\"default\"].parseFloat, this.parseInt]);\n\n if (__WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].has(parseFunc, this.options.itemType)) {\n updatedValue = parseFunc[this.options.itemType](updatedValue);\n !__WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].isNumber(updatedValue) ? this.markInvalid() : this.clearInvalid();\n }\n this.trigger(updateArrayEvent, updatedValue);\n },\n\n markInvalid: function markInvalid() {\n this.$el.addClass(errorClass);\n },\n\n clearInvalid: function clearInvalid() {\n this.$el.removeClass(errorClass);\n },\n\n getPlaceholderText: function getPlaceholderText() {\n var text = ['Enter'];\n\n text.push(getArticle(this.options.itemType));\n text.push(this.options.itemType.toLowerCase());\n return text.join(' ');\n },\n\n getErrorExplainText: function getErrorExplainText() {\n var text = ['Value must be'];\n\n text.push(getArticle(this.options.itemType));\n text.push(this.options.itemType.toLowerCase());\n return text.join(' ');\n },\n\n parseInt: function (_parseInt2) {\n function parseInt(_x4) {\n return _parseInt2.apply(this, arguments);\n }\n\n parseInt.toString = function () {\n return _parseInt2.toString();\n };\n\n return parseInt;\n }(function (string) {\n // native javascript parseInt is aggressive\n // there're cases we don't want a string to be parsed even though it is convertable\n // so that we don't convert a string silently before warning a user the potential error\n // this is to make sure the string is in an integer format before we parse it\n if (/^-?\\d+$/.test(string)) {\n var num = parseInt(string, 10);\n\n return !__WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].isNaN(num) ? num : string;\n }\n return string;\n })\n });\n\n /***/\n},\n/* 70 */\n/***/function (module, __webpack_exports__, __webpack_require__) {\n\n \"use strict\";\n\n Object.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n /* harmony import */var __WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__ = __webpack_require__(0);\n /* harmony import */var __WEBPACK_IMPORTED_MODULE_1__util_Keys__ = __webpack_require__(8);\n /* harmony import */var __WEBPACK_IMPORTED_MODULE_2__util_TemplateUtil__ = __webpack_require__(4);\n /* harmony import */var __WEBPACK_IMPORTED_MODULE_3_vendor_plugins_jquery_custominput__ = __webpack_require__(31);\n /* harmony import */var __WEBPACK_IMPORTED_MODULE_3_vendor_plugins_jquery_custominput___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_3_vendor_plugins_jquery_custominput__);\n /* harmony import */var __WEBPACK_IMPORTED_MODULE_4__BaseInput__ = __webpack_require__(10);\n\n var template = __WEBPACK_IMPORTED_MODULE_2__util_TemplateUtil__[\"default\"].tpl('\\\n <input type=\"checkbox\" name=\"{{name}}\" id=\"{{inputId}}\"/>\\\n <label for=\"{{inputId}}\" data-se-for-name=\"{{name}}\">{{placeholder}}</label>\\\n ');\n /* harmony default export */__webpack_exports__[\"default\"] = __WEBPACK_IMPORTED_MODULE_4__BaseInput__[\"a\" /* default */].extend({\n template: template,\n /**\n * @Override\n */\n events: {\n 'change :checkbox': 'update',\n keyup: function keyup(e) {\n if (__WEBPACK_IMPORTED_MODULE_1__util_Keys__[\"default\"].isSpaceBar(e)) {\n this.$(':checkbox').click();\n } else if (__WEBPACK_IMPORTED_MODULE_1__util_Keys__[\"default\"].isEnter(e)) {\n this.model.trigger('form:save');\n }\n }\n },\n\n /**\n * @Override\n */\n editMode: function editMode() {\n var placeholder = __WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].resultCtx(this.options, 'placeholder', this);\n\n if (placeholder === '') {\n placeholder = __WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].resultCtx(this.options, 'label', this);\n } else if (placeholder === false) {\n placeholder = '';\n }\n\n this.$el.html(this.template(__WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].extend(__WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].omit(this.options, 'placeholder'), { placeholder: placeholder })));\n var $input = this.$(':checkbox');\n\n $input.prop('checked', this.getModelValue() || false);\n\n this.$('input').customInput();\n this.model.trigger('form:resize');\n\n return this;\n },\n\n /**\n * @Override\n */\n readMode: function readMode() {\n this.editMode();\n this.$(':checkbox').prop('disabled', true);\n return this;\n },\n\n /**\n * @Override\n */\n val: function val() {\n return this.$(':checkbox').prop('checked');\n },\n\n /**\n * @Override\n */\n focus: function focus() {\n return this.$(':checkbox').focus();\n }\n });\n\n /***/\n},\n/* 71 */\n/***/function (module, __webpack_exports__, __webpack_require__) {\n\n \"use strict\";\n\n Object.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n /* harmony import */var __WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__ = __webpack_require__(0);\n /* harmony import */var __WEBPACK_IMPORTED_MODULE_1__util_TemplateUtil__ = __webpack_require__(4);\n /* harmony import */var __WEBPACK_IMPORTED_MODULE_2__TextBox__ = __webpack_require__(32);\n /*!\n * Copyright (c) 2015-2018, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n\n var toggleTemplate = __WEBPACK_IMPORTED_MODULE_1__util_TemplateUtil__[\"default\"].tpl('\\\n <span class=\"password-toggle\">\\\n <span class=\"eyeicon visibility-16 button-show\"></span>\\\n <span class=\"eyeicon visibility-off-16 button-hide\"></span>\\\n </span>\\\n ');\n var toggleTimeout = 30000;\n /* harmony default export */__webpack_exports__[\"default\"] = __WEBPACK_IMPORTED_MODULE_2__TextBox__[\"default\"].extend({\n initialize: function initialize() {\n if (this.__showPasswordToggle()) {\n this.events['click .password-toggle .button-show'] = '__showPassword';\n this.events['click .password-toggle .button-hide'] = '__hidePassword';\n }\n this.delegateEvents();\n },\n\n postRender: function postRender() {\n if (this.isEditMode() && this.__showPasswordToggle()) {\n this.$el.append(toggleTemplate);\n this.$el.find('input[type=\"password\"]').addClass('password-with-toggle');\n }\n __WEBPACK_IMPORTED_MODULE_2__TextBox__[\"default\"].prototype.postRender.apply(this, arguments);\n },\n\n __showPasswordToggle: function __showPasswordToggle() {\n return this.options.params && this.options.params.showPasswordToggle;\n },\n\n __showPassword: function __showPassword() {\n var _this7 = this;\n\n __WEBPACK_IMPORTED_MODULE_2__TextBox__[\"default\"].prototype.changeType.apply(this, ['text']);\n this.$('.password-toggle .button-show').hide();\n this.$('.password-toggle .button-hide').show();\n this.passwordToggleTimer = __WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].delay(function () {\n _this7.__hidePassword();\n }, toggleTimeout);\n },\n\n __hidePassword: function __hidePassword() {\n __WEBPACK_IMPORTED_MODULE_2__TextBox__[\"default\"].prototype.changeType.apply(this, ['password']);\n this.$('.password-toggle .button-show').show();\n this.$('.password-toggle .button-hide').hide();\n // clear timeout\n if (this.passwordToggleTimer) {\n clearTimeout(this.passwordToggleTimer);\n }\n }\n });\n\n /***/\n},\n/* 72 */\n/***/function (module, exports, __webpack_require__) {\n\n var __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__; /*! http://mths.be/placeholder v2.0.7 by @mathias */\n !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(12)], __WEBPACK_AMD_DEFINE_RESULT__ = function ($) {\n\n var isInputSupported = 'placeholder' in document.createElement('input'),\n isTextareaSupported = 'placeholder' in document.createElement('textarea'),\n prototype = $.fn,\n valHooks = $.valHooks,\n hooks,\n placeholder;\n\n if (isInputSupported && isTextareaSupported) {\n\n placeholder = prototype.placeholder = function () {\n return this;\n };\n\n placeholder.input = placeholder.textarea = true;\n } else {\n\n placeholder = prototype.placeholder = function () {\n var $this = this;\n $this.filter((isInputSupported ? 'textarea' : ':input') + '[placeholder]').not('.placeholder').bind({\n 'focus.placeholder': clearPlaceholder,\n 'blur.placeholder': setPlaceholder\n }).data('placeholder-enabled', true).trigger('blur.placeholder');\n return $this;\n };\n\n placeholder.input = isInputSupported;\n placeholder.textarea = isTextareaSupported;\n\n hooks = {\n 'get': function get(element) {\n var $element = $(element);\n return $element.data('placeholder-enabled') && $element.hasClass('placeholder') ? '' : element.value;\n },\n 'set': function set(element, value) {\n var $element = $(element);\n if (!$element.data('placeholder-enabled')) {\n return element.value = value;\n }\n if (value == '') {\n element.value = value;\n // Issue #56: Setting the placeholder causes problems if the element continues to have focus.\n if (element != document.activeElement) {\n // We can't use `triggerHandler` here because of dummy text/password inputs :(\n setPlaceholder.call(element);\n }\n } else if ($element.hasClass('placeholder')) {\n clearPlaceholder.call(element, true, value) || (element.value = value);\n } else {\n element.value = value;\n }\n // `set` can not return `undefined`; see http://jsapi.info/jquery/1.7.1/val#L2363\n return $element;\n }\n };\n\n isInputSupported || (valHooks.input = hooks);\n isTextareaSupported || (valHooks.textarea = hooks);\n\n $(function () {\n // Look for forms\n $(document).delegate('form', 'submit.placeholder', function () {\n // Clear the placeholder values so they don't get submitted\n var $inputs = $('.placeholder', this).each(clearPlaceholder);\n setTimeout(function () {\n $inputs.each(setPlaceholder);\n }, 10);\n });\n });\n\n // Clear placeholder values upon page reload\n $(window).bind('beforeunload.placeholder', function () {\n $('.placeholder').each(function () {\n this.value = '';\n });\n });\n }\n\n function args(elem) {\n // Return an object of element attributes\n var newAttrs = {},\n rinlinejQuery = /^jQuery\\d+$/;\n $.each(elem.attributes, function (i, attr) {\n if (attr.specified && !rinlinejQuery.test(attr.name)) {\n newAttrs[attr.name] = attr.value;\n }\n });\n return newAttrs;\n }\n\n function clearPlaceholder(event, value) {\n var input = this,\n $input = $(input);\n if (input.value == $input.attr('placeholder') && $input.hasClass('placeholder')) {\n if ($input.data('placeholder-password')) {\n $input = $input.hide().next().show().attr('id', $input.removeAttr('id').data('placeholder-id'));\n // If `clearPlaceholder` was called from `$.valHooks.input.set`\n if (event === true) {\n return $input[0].value = value;\n }\n $input.focus();\n } else {\n input.value = '';\n $input.removeClass('placeholder');\n input == document.activeElement && input.select();\n }\n }\n }\n\n function setPlaceholder() {\n var $replacement,\n input = this,\n $input = $(input),\n $origInput = $input,\n id = this.id;\n if (input.value == '') {\n if (input.type == 'password') {\n if (!$input.data('placeholder-textinput')) {\n try {\n $replacement = $input.clone().attr({ 'type': 'text' });\n } catch (e) {\n $replacement = $('<input>').attr($.extend(args(this), { 'type': 'text' }));\n }\n $replacement.removeAttr('name').data({\n 'placeholder-password': true,\n 'placeholder-id': id\n }).bind('focus.placeholder', clearPlaceholder);\n $input.data({\n 'placeholder-textinput': $replacement,\n 'placeholder-id': id\n }).before($replacement);\n }\n $input = $input.removeAttr('id').hide().prev().attr('id', id).show();\n // Note: `$input[0] != input` now!\n }\n $input.addClass('placeholder');\n $input[0].value = $input.attr('placeholder');\n } else {\n $input.removeClass('placeholder');\n }\n }\n }.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\n /***/\n},\n/* 73 */\n/***/function (module, __webpack_exports__, __webpack_require__) {\n\n \"use strict\";\n\n Object.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n /* harmony import */var __WEBPACK_IMPORTED_MODULE_0__util_jquery_wrapper__ = __webpack_require__(2);\n /* harmony import */var __WEBPACK_IMPORTED_MODULE_1__util_underscore_wrapper__ = __webpack_require__(0);\n /* harmony import */var __WEBPACK_IMPORTED_MODULE_2__util_Keys__ = __webpack_require__(8);\n /* harmony import */var __WEBPACK_IMPORTED_MODULE_3__util_Util__ = __webpack_require__(16);\n /* harmony import */var __WEBPACK_IMPORTED_MODULE_4__BaseView__ = __webpack_require__(1);\n /* harmony import */var __WEBPACK_IMPORTED_MODULE_5_vendor_plugins_jquery_custominput__ = __webpack_require__(31);\n /* harmony import */var __WEBPACK_IMPORTED_MODULE_5_vendor_plugins_jquery_custominput___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_5_vendor_plugins_jquery_custominput__);\n /* harmony import */var __WEBPACK_IMPORTED_MODULE_6__BaseInput__ = __webpack_require__(10);\n /* eslint max-statements: [2, 12], max-params: [2, 6] */\n\n var isABaseView = __WEBPACK_IMPORTED_MODULE_3__util_Util__[\"default\"].isABaseView;\n var RadioRadioOption = __WEBPACK_IMPORTED_MODULE_4__BaseView__[\"default\"].extend({\n template: '\\\n <input type=\"radio\" name=\"{{name}}\" data-se-name=\"{{realName}}\" value=\"{{value}}\" id=\"{{optionId}}\">\\\n <label for=\"{{optionId}}\" data-se-for-name=\"{{realName}}\" class=\"radio-label\">\\\n {{label}}\\\n </label>\\\n ',\n initialize: function initialize(options) {\n var explain = void 0;\n\n explain = options.explain;\n if (__WEBPACK_IMPORTED_MODULE_1__util_underscore_wrapper__[\"default\"].isFunction(explain) && !isABaseView(explain)) {\n explain = __WEBPACK_IMPORTED_MODULE_1__util_underscore_wrapper__[\"default\"].resultCtx(this.options, 'explain', this);\n }\n if (!explain) {\n return;\n }\n\n if (isABaseView(explain)) {\n this.add('<p class=\"o-form-explain\"></p>', '.radio-label');\n this.add(explain, '.o-form-explain');\n } else {\n this.add('<p class=\"o-form-explain\">{{explain}}</p>', '.radio-label');\n }\n }\n });\n /* harmony default export */__webpack_exports__[\"default\"] = __WEBPACK_IMPORTED_MODULE_6__BaseInput__[\"a\" /* default */].extend({\n /**\n * @Override\n */\n events: {\n 'change :radio': 'update',\n keyup: function keyup(e) {\n if (__WEBPACK_IMPORTED_MODULE_2__util_Keys__[\"default\"].isSpaceBar(e)) {\n Object(__WEBPACK_IMPORTED_MODULE_0__util_jquery_wrapper__[\"default\"])(e.target).click();\n } else if (__WEBPACK_IMPORTED_MODULE_2__util_Keys__[\"default\"].isEnter(e)) {\n this.model.trigger('form:save');\n }\n }\n },\n\n /**\n * @Override\n */\n editMode: function editMode() {\n var templates = [];\n\n this.$el.empty();\n\n __WEBPACK_IMPORTED_MODULE_1__util_underscore_wrapper__[\"default\"].each(this.options.options, function (value, key) {\n var options = {\n optionId: __WEBPACK_IMPORTED_MODULE_1__util_underscore_wrapper__[\"default\"].uniqueId('option'),\n name: this.options.inputId,\n realName: this.options.name,\n value: key\n };\n\n if (!__WEBPACK_IMPORTED_MODULE_1__util_underscore_wrapper__[\"default\"].isObject(value)) {\n value = { label: value };\n }\n __WEBPACK_IMPORTED_MODULE_1__util_underscore_wrapper__[\"default\"].extend(options, value);\n\n templates.push(new RadioRadioOption(options).render().el);\n }, this);\n this.$el.append(templates);\n var value = this.getModelValue();\n\n if (value) {\n this.$(':radio[value=' + value + ']').prop('checked', true);\n }\n\n this.$('input').customInput();\n this.model.trigger('form:resize');\n\n if (this.getParam('inline') === true) {\n this.$('div.custom-radio').addClass('inline');\n }\n\n return this;\n },\n\n /**\n * @Override\n */\n readMode: function readMode() {\n this.editMode();\n this.$(':radio').prop('disabled', true);\n return this;\n },\n\n /**\n * @Override\n */\n val: function val() {\n return this.$(':radio:checked').val();\n },\n\n /**\n * @Override\n */\n focus: function focus() {\n return this.$('label:eq(0)').focus();\n }\n });\n\n /***/\n}]\n/******/);\n//# sourceMappingURL=okta.js.map\n\n/***/ }),\n/* 1 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar global = __webpack_require__(5);\nvar core = __webpack_require__(34);\nvar hide = __webpack_require__(25);\nvar redefine = __webpack_require__(26);\nvar ctx = __webpack_require__(35);\nvar PROTOTYPE = 'prototype';\n\nvar $export = function (type, name, source) {\n var IS_FORCED = type & $export.F;\n var IS_GLOBAL = type & $export.G;\n var IS_STATIC = type & $export.S;\n var IS_PROTO = type & $export.P;\n var IS_BIND = type & $export.B;\n var target = IS_GLOBAL ? global : IS_STATIC ? global[name] || (global[name] = {}) : (global[name] || {})[PROTOTYPE];\n var exports = IS_GLOBAL ? core : core[name] || (core[name] = {});\n var expProto = exports[PROTOTYPE] || (exports[PROTOTYPE] = {});\n var key, own, out, exp;\n if (IS_GLOBAL) source = name;\n for (key in source) {\n // contains in native\n own = !IS_FORCED && target && target[key] !== undefined;\n // export native or passed\n out = (own ? target : source)[key];\n // bind timers to global for call from export context\n exp = IS_BIND && own ? ctx(out, global) : IS_PROTO && typeof out == 'function' ? ctx(Function.call, out) : out;\n // extend global\n if (target) redefine(target, key, out, type & $export.U);\n // export\n if (exports[key] != out) hide(exports, key, exp);\n if (IS_PROTO && expProto[key] != out) expProto[key] = out;\n }\n};\nglobal.core = core;\n// type bitmap\n$export.F = 1; // forced\n$export.G = 2; // global\n$export.S = 4; // static\n$export.P = 8; // proto\n$export.B = 16; // bind\n$export.W = 32; // wrap\n$export.U = 64; // safe\n$export.R = 128; // real proto method for `library`\nmodule.exports = $export;\n\n\n/***/ }),\n/* 2 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\nvar __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;\n\n/*!\n * Copyright (c) 2015-2016, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n\n!(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(0), __webpack_require__(4), __webpack_require__(83), __webpack_require__(96)], __WEBPACK_AMD_DEFINE_RESULT__ = (function (Okta, FormType, BaseLoginController, BaseLoginModel) {\n var Toolbar = Okta.internal.views.forms.components.Toolbar;\n var FormUtil = Okta.internal.views.forms.helpers.FormUtil;\n\n var _ = Okta._;\n\n var SimpleForm = Okta.Form.extend({\n layout: 'o-form-theme',\n noCancelButton: true,\n constructor: function constructor(options) {\n Okta.Form.call(this, options);\n _.each(_.result(this, 'formChildren') || [], function (child) {\n switch (child.type) {\n case FormType.INPUT:\n this.addInput(_.extend({\n label: false,\n 'label-top': true\n }, child.viewOptions));\n break;\n case FormType.BUTTON:\n this.add(Okta.createButton(_.extend({ model: this.model }, child.viewOptions)), child.addOptions);\n FormUtil.applyShowWhen(this.last(), child.viewOptions && child.viewOptions.showWhen);\n break;\n case FormType.DIVIDER:\n this.addDivider(child.viewOptions);\n break;\n case FormType.TOOLBAR:\n this.add(Toolbar, { options: child.viewOptions });\n FormUtil.applyShowWhen(this.last(), child.viewOptions && child.viewOptions.showWhen);\n break;\n case FormType.VIEW:\n this.add(child.viewOptions.View, child.addOptions);\n FormUtil.applyShowWhen(this.last(), child.viewOptions.showWhen);\n break;\n default:\n throw new Error('Unrecognized child type: ' + child.type);\n }\n }, this);\n }\n });\n\n return BaseLoginController.extend({\n\n constructor: function constructor() {\n var initialize = this.initialize;\n this.initialize = function () {};\n\n BaseLoginController.apply(this, arguments);\n\n if (this.Model && this.Form) {\n var Model = BaseLoginModel.extend(_.extend({\n parse: function parse(attributes) {\n this.settings = attributes.settings;\n this.appState = attributes.appState;\n return _.omit(attributes, ['settings', 'appState']);\n }\n }, _.result(this, 'Model')));\n this.model = new Model({\n settings: this.settings,\n appState: this.options.appState\n }, { parse: true });\n var Form = SimpleForm.extend(_.result(this, 'Form', this));\n this.form = new Form(this.toJSON());\n this.add(this.form);\n }\n\n if (this.Footer) {\n this.addFooter(this.Footer);\n }\n\n this.addListeners();\n initialize.apply(this, arguments);\n },\n\n addFooter: function addFooter(Footer, args) {\n this.footer = new Footer(_.extend(this.toJSON(), args || {}));\n this.add(this.footer);\n },\n\n toJSON: function toJSON() {\n var data = BaseLoginController.prototype.toJSON.apply(this, arguments);\n return _.extend(_.pick(this.options, 'appState'), data);\n },\n\n back: function back() {\n if (this.footer && this.footer.back) {\n this.footer.back();\n }\n }\n });\n}).apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\n/***/ }),\n/* 3 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar isObject = __webpack_require__(8);\nmodule.exports = function (it) {\n if (!isObject(it)) throw TypeError(it + ' is not an object!');\n return it;\n};\n\n\n/***/ }),\n/* 4 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\nvar __WEBPACK_AMD_DEFINE_RESULT__;\n\n/*!\n * Copyright (c) 2015-2016, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n\n!(__WEBPACK_AMD_DEFINE_RESULT__ = (function () {\n\n // Syntactic sugar to provide some structure to SimpleForm inputs - Just\n // wraps options with { type: type, viewOptions: viewOptions, addOptions: addOptions }\n\n var INPUT = 'INPUT';\n var BUTTON = 'BUTTON';\n var DIVIDER = 'DIVIDER';\n var TOOLBAR = 'TOOLBAR';\n var VIEW = 'VIEW';\n\n function wrap(type) {\n return function (viewOptions, addOptions) {\n return { type: type, viewOptions: viewOptions, addOptions: addOptions };\n };\n }\n\n return {\n Input: wrap(INPUT),\n Button: wrap(BUTTON),\n Divider: wrap(DIVIDER),\n Toolbar: wrap(TOOLBAR),\n View: wrap(VIEW),\n\n INPUT: INPUT,\n BUTTON: BUTTON,\n DIVIDER: DIVIDER,\n TOOLBAR: TOOLBAR,\n VIEW: VIEW\n };\n}).call(exports, __webpack_require__, exports, module),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\n/***/ }),\n/* 5 */\n/***/ (function(module, exports) {\n\n// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028\nvar global = module.exports = typeof window != 'undefined' && window.Math == Math\n ? window : typeof self != 'undefined' && self.Math == Math ? self\n // eslint-disable-next-line no-new-func\n : Function('return this')();\nif (typeof __g == 'number') __g = global; // eslint-disable-line no-undef\n\n\n/***/ }),\n/* 6 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\n/*!\n * Copyright (c) 2015-2016, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n\n!(module.exports = {\n\n API_RATE_LIMIT: 30000, //milliseconds\n\n WIDGET_CONTAINER_ID: 'okta-sign-in',\n WIDGET_CONFIG_COLORS_ID: 'okta-sign-in-config-colors',\n\n DIRECTION_BACK: 'DIRECTION_BACK',\n\n RECOVERY_TYPE_PASSWORD: 'PASSWORD',\n RECOVERY_TYPE_UNLOCK: 'UNLOCK',\n RECOVERY_FACTOR_TYPE_SMS: 'SMS',\n RECOVERY_FACTOR_TYPE_EMAIL: 'EMAIL',\n RECOVERY_FACTOR_TYPE_CALL: 'CALL',\n\n // Global success messages\n SUCCESS: 'SUCCESS',\n FORGOT_PASSWORD_EMAIL_SENT: 'FORGOT_PASSWORD_EMAIL_SENT',\n UNLOCK_ACCOUNT_EMAIL_SENT: 'UNLOCK_ACCOUNT_EMAIL_SENT',\n\n // Global error messages\n CONFIG_ERROR: 'CONFIG_ERROR',\n UNSUPPORTED_BROWSER_ERROR: 'UNSUPPORTED_BROWSER_ERROR',\n OAUTH_ERROR: 'OAUTH_ERROR',\n AUTH_STOP_POLL_INITIATION_ERROR: 'AUTH_STOP_POLL_INITIATION_ERROR',\n U2F_ERROR: 'U2F_ERROR',\n WEB_AUTHN_ERROR: 'WEB_AUTHN_ERROR',\n WEBAUTHN_ABORT_ERROR: 'WEBAUTHN_ABORT_ERROR',\n\n // Enroll choice page types\n ALL_OPTIONAL_NONE_ENROLLED: 'ALL_OPTIONAL_NONE_ENROLLED',\n ALL_OPTIONAL_SOME_ENROLLED: 'ALL_OPTIONAL_SOME_ENROLLED',\n HAS_REQUIRED_NONE_ENROLLED: 'HAS_REQUIRED_NONE_ENROLLED',\n HAS_REQUIRED_SOME_REQUIRED_ENROLLED: 'HAS_REQUIRED_SOME_REQUIRED_ENROLLED',\n HAS_REQUIRED_ALL_REQUIRED_ENROLLED: 'HAS_REQUIRED_ALL_REQUIRED_ENROLLED',\n\n // Operations\n PRIMARY_AUTH: 'PRIMARY_AUTH',\n FORGOT_PASSWORD: 'FORGOT_PASSWORD',\n UNLOCK_ACCOUNT: 'UNLOCK_ACCOUNT',\n\n // Auth Types\n SESSION_SSO: 'SESSION_SSO',\n SESSION_STEP_UP: 'SESSION_STEP_UP',\n\n //Registration\n ACTIVATION_EMAIL_SENT: 'ACTIVATION_EMAIL_SENT',\n REGISTRATION_COMPLETE: 'REGISTRATION_COMPLETE',\n REGISTRATION_FAILED: 'REGISTRATION_FAILED',\n\n //IDP Discovery\n IDP_DISCOVERY: 'IDP_DISCOVERY'\n});\n\n/***/ }),\n/* 7 */\n/***/ (function(module, exports) {\n\nmodule.exports = function (exec) {\n try {\n return !!exec();\n } catch (e) {\n return true;\n }\n};\n\n\n/***/ }),\n/* 8 */\n/***/ (function(module, exports) {\n\nmodule.exports = function (it) {\n return typeof it === 'object' ? it !== null : typeof it === 'function';\n};\n\n\n/***/ }),\n/* 9 */\n/***/ (function(module, exports) {\n\nvar core = module.exports = { version: '2.6.9' };\nif (typeof __e == 'number') __e = core; // eslint-disable-line no-undef\n\n\n/***/ }),\n/* 10 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar store = __webpack_require__(84)('wks');\nvar uid = __webpack_require__(61);\nvar Symbol = __webpack_require__(5).Symbol;\nvar USE_SYMBOL = typeof Symbol == 'function';\n\nvar $exports = module.exports = function (name) {\n return store[name] || (store[name] =\n USE_SYMBOL && Symbol[name] || (USE_SYMBOL ? Symbol : uid)('Symbol.' + name));\n};\n\n$exports.store = store;\n\n\n/***/ }),\n/* 11 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 7.1.15 ToLength\nvar toInteger = __webpack_require__(37);\nvar min = Math.min;\nmodule.exports = function (it) {\n return it > 0 ? min(toInteger(it), 0x1fffffffffffff) : 0; // pow(2, 53) - 1 == 9007199254740991\n};\n\n\n/***/ }),\n/* 12 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// Thank's IE8 for his funny defineProperty\nmodule.exports = !__webpack_require__(7)(function () {\n return Object.defineProperty({}, 'a', { get: function () { return 7; } }).a != 7;\n});\n\n\n/***/ }),\n/* 13 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\nvar __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;\n\n/*!\n * Copyright (c) 2015-2016, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n\n/* eslint complexity: [2, 13], max-depth: [2, 3] */\n!(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(17), __webpack_require__(0), __webpack_require__(57), __webpack_require__(6), __webpack_require__(496)], __WEBPACK_AMD_DEFINE_RESULT__ = (function (Q, Okta, Logger, Enums, idx) {\n\n var Util = {};\n var _ = Okta._;\n var start = idx.default.start;\n\n\n var buildInputForParameter = function buildInputForParameter(name, value) {\n var input = document.createElement('input');\n input.name = name;\n input.value = decodeURIComponent(value);\n input.type = 'hidden';\n return input;\n };\n\n var buildDynamicForm = function buildDynamicForm() {\n var url = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';\n var method = arguments[1];\n\n var splitOnFragment = url.split('#');\n var fragment = splitOnFragment[1];\n\n var splitOnQuery = (splitOnFragment[0] || '').split('?');\n var query = splitOnQuery[1];\n var targetUrl = splitOnQuery[0];\n if (fragment) {\n targetUrl += '#' + fragment;\n }\n\n var form = document.createElement('form');\n form.method = method;\n form.setAttribute('style', 'display: none;');\n form.action = targetUrl;\n if (query && query.length) {\n var queryParts = query.split('&');\n queryParts.forEach(function (queryPart) {\n var parameterParts = queryPart.split('=');\n var input = buildInputForParameter(parameterParts[0], parameterParts[1]);\n form.appendChild(input);\n });\n }\n return form;\n };\n\n Util.hasTokensInHash = function (hash) {\n return (/((id|access)_token=)/i.test(hash)\n );\n };\n\n Util.transformErrorXHR = function (xhr) {\n // Handle network connection error\n if (xhr.status === 0 && _.isEmpty(xhr.responseJSON)) {\n xhr.responseJSON = { errorSummary: Okta.loc('error.network.connection', 'login') };\n return xhr;\n }\n if (!xhr.responseJSON) {\n if (!xhr.responseText) {\n xhr.responseJSON = { errorSummary: Okta.loc('oform.error.unexpected', 'login') };\n return xhr;\n }\n xhr.responseJSON = xhr.responseText;\n }\n // Temporary solution to display field errors\n // Assuming there is only one field error in a response\n if (xhr.responseJSON && xhr.responseJSON.errorCauses && xhr.responseJSON.errorCauses.length) {\n xhr.responseJSON.errorSummary = xhr.responseJSON.errorCauses[0].errorSummary;\n }\n // Replace error messages\n if (!_.isEmpty(xhr.responseJSON)) {\n var errorMsg = Okta.loc('errors.' + xhr.responseJSON.errorCode, 'login');\n if (errorMsg.indexOf('L10N_ERROR[') === -1) {\n xhr.responseJSON.errorSummary = errorMsg;\n if (xhr.responseJSON && xhr.responseJSON.errorCauses && xhr.responseJSON.errorCauses.length) {\n // BaseForm will consume errorCauses before errorSummary if it is an array,\n // so, we have to make sure to remove it when we have a valid error code\n delete xhr.responseJSON.errorCauses;\n }\n }\n }\n return xhr;\n };\n\n // Simple helper function to lowercase all strings in the given array\n Util.toLower = function (strings) {\n return _.map(strings, function (str) {\n return str.toLowerCase();\n });\n };\n\n // A languageCode can be composed of multiple parts, i.e:\n // {{langage}}-{{region}}-{{dialect}}\n //\n // In these cases, it's necessary to generate a list of other possible\n // combinations that we might support (in preferred order).\n //\n // For example:\n // en-US -> [en-US, en]\n // de-DE-bavarian -> [de-DE-bavarian, de-DE, de]\n function expandLanguage(language) {\n var expanded = [language],\n parts = language.split('-');\n while (parts.pop() && parts.length > 0) {\n expanded.push(parts.join('-'));\n }\n return expanded;\n }\n\n // Following the rules of expanding one language, this will generate\n // all potential languages in the given order (where higher priority is\n // given to expanded languages over other downstream languages).\n Util.expandLanguages = function (languages) {\n return _.chain(languages).map(expandLanguage).flatten().uniq().value();\n };\n\n //helper to call setTimeout\n Util.callAfterTimeout = function (callback, time) {\n return setTimeout(callback, time);\n };\n\n // Helper function to provide consistent formatting of template literals\n // that are logged when in development mode.\n Util.debugMessage = function (message) {\n Logger.warn('\\n' + message.replace(/^(\\s)+/gm, ''));\n };\n\n // Trigger an afterError event\n Util.triggerAfterError = function (controller) {\n var err = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n if (!err.statusCode && err.xhr && err.xhr.status) {\n // Bring the statusCode to the top-level of the Error\n err.statusCode = err.xhr.status;\n }\n // Some controllers return the className as a function - process it here:\n var className = _.isFunction(controller.className) ? controller.className() : controller.className;\n var error = _.pick(err, 'name', 'message', 'statusCode', 'xhr');\n controller.trigger('afterError', { controller: className }, error);\n // Logs to console only in dev mode\n Logger.warn('controller: ' + className + ', error: ' + error);\n };\n\n Util.redirect = function (url) {\n var win = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : window;\n\n if (!url) {\n Logger.error('Cannot redirect to empty URL: (' + url + ')');\n return;\n }\n win.location.href = url;\n };\n\n /**\n * Why redirect via Form get rather using `window.location.href`?\n * At the time of writing, Chrome (<72) in Android would block window location change\n * at following case\n * 1. An AJAX is trigger because of user action.\n * 2. 5+ seconds passed without any further user interaction.\n * 3. User takes an action results in window location change.\n *\n * Luckily we discovered that uses Form submit would work around this problem\n * even though it changed window location.\n *\n * Check the commit history for more details.\n */\n Util.redirectWithFormGet = function (url) {\n Util.redirectWithForm(url, 'get');\n };\n\n Util.redirectWithForm = function (url) {\n var method = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'post';\n\n if (!url) {\n Logger.error('Cannot redirect to empty URL: (' + url + ')');\n return;\n }\n\n var mainContainer = document.getElementById(Enums.WIDGET_CONTAINER_ID);\n if (!mainContainer) {\n Logger.error('Cannot find okta-sign-in container append to which a form');\n return;\n }\n\n var form = buildDynamicForm(url, method);\n mainContainer.appendChild(form);\n form.submit();\n };\n\n /**\n * When we want to show an explain text, we need to check if this is different from\n * the label text, to not have an explain that look like a duplicated label.\n * okta-signin-widget gives the possibility to customize every i18n, so we cannot\n * know ahead if these two are equal or different, we need to call this function everytime.\n */\n Util.createInputExplain = function (explainKey, labelKey, bundleName, explainParams, labelParams) {\n var explain = explainParams ? Okta.loc(explainKey, bundleName, explainParams) : Okta.loc(explainKey, bundleName);\n var label = labelParams ? Okta.loc(labelKey, bundleName, labelParams) : Okta.loc(labelKey, bundleName);\n if (explain === label) {\n return false;\n }\n return explain;\n };\n\n Util.isV1StateToken = function (token) {\n return !!(token && _.isString(token) && token.startsWith('00'));\n };\n\n Util.introspectToken = function (authClient, widgetOptions) {\n var domain = widgetOptions.baseUrl;\n var stateHandle = widgetOptions.stateToken;\n var trans;\n if (this.isV1StateToken(stateHandle)) {\n // V1 pipeline uses authjs.introspect\n trans = authClient.tx.introspect({\n stateToken: widgetOptions.stateToken\n });\n } else {\n // V2 pipeline uses idxjs.start\n trans = start({ domain: domain, stateHandle: stateHandle });\n }\n var deferred = Q.defer();\n if (Q.isPromiseAlike(trans)) {\n trans.then(function (trans) {\n deferred.resolve(trans);\n }).catch(function (err) {\n deferred.reject(err);\n });\n }\n return deferred.promise;\n };\n\n return Util;\n}).apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\n/***/ }),\n/* 14 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\nvar __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;\n\n/*!\n * Copyright (c) 2015-2016, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n\n//note: not including Okta here and explicitly including jquery and Handlebars\n//because we want to be explicit about which TextBox we are extending here\n//and want to avoid the cirucular dependency that occurs if we\n//include Okta\n!(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(0), __webpack_require__(58), __webpack_require__(168)], __WEBPACK_AMD_DEFINE_RESULT__ = (function (Okta, BrowserFeatures) {\n var TextBox = Okta.internal.views.forms.inputs.TextBox;\n\n\n return TextBox.extend({\n postRender: function postRender() {\n if (this.options.type === 'number') {\n var input = this.$('input');\n input.attr({\n pattern: '[0-9]*',\n inputmode: 'numeric'\n });\n }\n TextBox.prototype.postRender.apply(this, arguments);\n },\n // Override the focus() to ignore focus in IE. IE (8-11) has a known bug where\n // the placeholder text disappears when the input field is focused.\n focus: function focus() {\n if (BrowserFeatures.isIE()) {\n return;\n }\n return TextBox.prototype.focus.apply(this, arguments);\n }\n\n });\n}).apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\n/***/ }),\n/* 15 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar anObject = __webpack_require__(3);\nvar IE8_DOM_DEFINE = __webpack_require__(183);\nvar toPrimitive = __webpack_require__(41);\nvar dP = Object.defineProperty;\n\nexports.f = __webpack_require__(12) ? Object.defineProperty : function defineProperty(O, P, Attributes) {\n anObject(O);\n P = toPrimitive(P, true);\n anObject(Attributes);\n if (IE8_DOM_DEFINE) try {\n return dP(O, P, Attributes);\n } catch (e) { /* empty */ }\n if ('get' in Attributes || 'set' in Attributes) throw TypeError('Accessors not supported!');\n if ('value' in Attributes) O[P] = Attributes.value;\n return O;\n};\n\n\n/***/ }),\n/* 16 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 7.1.13 ToObject(argument)\nvar defined = __webpack_require__(42);\nmodule.exports = function (it) {\n return Object(defined(it));\n};\n\n\n/***/ }),\n/* 17 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// vim:ts=4:sts=4:sw=4:\n/*!\n *\n * Copyright 2009-2012 Kris Kowal under the terms of the MIT\n * license found at http://github.com/kriskowal/q/raw/master/LICENSE\n *\n * With parts by Tyler Close\n * Copyright 2007-2009 Tyler Close under the terms of the MIT X license found\n * at http://www.opensource.org/licenses/mit-license.html\n * Forked at ref_send.js version: 2009-05-11\n *\n * With parts by Mark Miller\n * Copyright (C) 2011 Google Inc.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n */\n\n(function (definition) {\n \"use strict\";\n\n // This file will function properly as a <script> tag, or a module\n // using CommonJS and NodeJS or RequireJS module formats. In\n // Common/Node/RequireJS, the module exports the Q API and when\n // executed as a simple <script>, it creates a Q global instead.\n\n // Montage Require\n if (typeof bootstrap === \"function\") {\n bootstrap(\"promise\", definition);\n\n // CommonJS\n } else if (true) {\n module.exports = definition();\n\n // RequireJS\n } else if (typeof define === \"function\" && define.amd) {\n define(definition);\n\n // SES (Secure EcmaScript)\n } else if (typeof ses !== \"undefined\") {\n if (!ses.ok()) {\n return;\n } else {\n ses.makeQ = definition;\n }\n\n // <script>\n } else if (typeof window !== \"undefined\" || typeof self !== \"undefined\") {\n // Prefer window over self for add-on scripts. Use self for\n // non-windowed contexts.\n var global = typeof window !== \"undefined\" ? window : self;\n\n // Get the `window` object, save the previous Q global\n // and initialize Q as a global.\n var previousQ = global.Q;\n global.Q = definition();\n\n // Add a noConflict function so Q can be removed from the\n // global namespace.\n global.Q.noConflict = function () {\n global.Q = previousQ;\n return this;\n };\n\n } else {\n throw new Error(\"This environment was not anticipated by Q. Please file a bug.\");\n }\n\n})(function () {\n\"use strict\";\n\nvar hasStacks = false;\ntry {\n throw new Error();\n} catch (e) {\n hasStacks = !!e.stack;\n}\n\n// All code after this point will be filtered from stack traces reported\n// by Q.\nvar qStartingLine = captureLine();\nvar qFileName;\n\n// shims\n\n// used for fallback in \"allResolved\"\nvar noop = function () {};\n\n// Use the fastest possible means to execute a task in a future turn\n// of the event loop.\nvar nextTick =(function () {\n // linked list of tasks (single, with head node)\n var head = {task: void 0, next: null};\n var tail = head;\n var flushing = false;\n var requestTick = void 0;\n var isNodeJS = false;\n // queue for late tasks, used by unhandled rejection tracking\n var laterQueue = [];\n\n function flush() {\n /* jshint loopfunc: true */\n var task, domain;\n\n while (head.next) {\n head = head.next;\n task = head.task;\n head.task = void 0;\n domain = head.domain;\n\n if (domain) {\n head.domain = void 0;\n domain.enter();\n }\n runSingle(task, domain);\n\n }\n while (laterQueue.length) {\n task = laterQueue.pop();\n runSingle(task);\n }\n flushing = false;\n }\n // runs a single function in the async queue\n function runSingle(task, domain) {\n try {\n task();\n\n } catch (e) {\n if (isNodeJS) {\n // In node, uncaught exceptions are considered fatal errors.\n // Re-throw them synchronously to interrupt flushing!\n\n // Ensure continuation if the uncaught exception is suppressed\n // listening \"uncaughtException\" events (as domains does).\n // Continue in next event to avoid tick recursion.\n if (domain) {\n domain.exit();\n }\n setTimeout(flush, 0);\n if (domain) {\n domain.enter();\n }\n\n throw e;\n\n } else {\n // In browsers, uncaught exceptions are not fatal.\n // Re-throw them asynchronously to avoid slow-downs.\n setTimeout(function () {\n throw e;\n }, 0);\n }\n }\n\n if (domain) {\n domain.exit();\n }\n }\n\n nextTick = function (task) {\n tail = tail.next = {\n task: task,\n domain: isNodeJS && process.domain,\n next: null\n };\n\n if (!flushing) {\n flushing = true;\n requestTick();\n }\n };\n\n if (typeof process === \"object\" &&\n process.toString() === \"[object process]\" && process.nextTick) {\n // Ensure Q is in a real Node environment, with a `process.nextTick`.\n // To see through fake Node environments:\n // * Mocha test runner - exposes a `process` global without a `nextTick`\n // * Browserify - exposes a `process.nexTick` function that uses\n // `setTimeout`. In this case `setImmediate` is preferred because\n // it is faster. Browserify's `process.toString()` yields\n // \"[object Object]\", while in a real Node environment\n // `process.nextTick()` yields \"[object process]\".\n isNodeJS = true;\n\n requestTick = function () {\n process.nextTick(flush);\n };\n\n } else if (typeof setImmediate === \"function\") {\n // In IE10, Node.js 0.9+, or https://github.com/NobleJS/setImmediate\n if (typeof window !== \"undefined\") {\n requestTick = setImmediate.bind(window, flush);\n } else {\n requestTick = function () {\n setImmediate(flush);\n };\n }\n\n } else if (typeof MessageChannel !== \"undefined\") {\n // modern browsers\n // http://www.nonblocking.io/2011/06/windownexttick.html\n var channel = new MessageChannel();\n // At least Safari Version 6.0.5 (8536.30.1) intermittently cannot create\n // working message ports the first time a page loads.\n channel.port1.onmessage = function () {\n requestTick = requestPortTick;\n channel.port1.onmessage = flush;\n flush();\n };\n var requestPortTick = function () {\n // Opera requires us to provide a message payload, regardless of\n // whether we use it.\n channel.port2.postMessage(0);\n };\n requestTick = function () {\n setTimeout(flush, 0);\n requestPortTick();\n };\n\n } else {\n // old browsers\n requestTick = function () {\n setTimeout(flush, 0);\n };\n }\n // runs a task after all other tasks have been run\n // this is useful for unhandled rejection tracking that needs to happen\n // after all `then`d tasks have been run.\n nextTick.runAfter = function (task) {\n laterQueue.push(task);\n if (!flushing) {\n flushing = true;\n requestTick();\n }\n };\n return nextTick;\n})();\n\n// Attempt to make generics safe in the face of downstream\n// modifications.\n// There is no situation where this is necessary.\n// If you need a security guarantee, these primordials need to be\n// deeply frozen anyway, and if you don’t need a security guarantee,\n// this is just plain paranoid.\n// However, this **might** have the nice side-effect of reducing the size of\n// the minified code by reducing x.call() to merely x()\n// See Mark Miller’s explanation of what this does.\n// http://wiki.ecmascript.org/doku.php?id=conventions:safe_meta_programming\nvar call = Function.call;\nfunction uncurryThis(f) {\n return function () {\n return call.apply(f, arguments);\n };\n}\n// This is equivalent, but slower:\n// uncurryThis = Function_bind.bind(Function_bind.call);\n// http://jsperf.com/uncurrythis\n\nvar array_slice = uncurryThis(Array.prototype.slice);\n\nvar array_reduce = uncurryThis(\n Array.prototype.reduce || function (callback, basis) {\n var index = 0,\n length = this.length;\n // concerning the initial value, if one is not provided\n if (arguments.length === 1) {\n // seek to the first value in the array, accounting\n // for the possibility that is is a sparse array\n do {\n if (index in this) {\n basis = this[index++];\n break;\n }\n if (++index >= length) {\n throw new TypeError();\n }\n } while (1);\n }\n // reduce\n for (; index < length; index++) {\n // account for the possibility that the array is sparse\n if (index in this) {\n basis = callback(basis, this[index], index);\n }\n }\n return basis;\n }\n);\n\nvar array_indexOf = uncurryThis(\n Array.prototype.indexOf || function (value) {\n // not a very good shim, but good enough for our one use of it\n for (var i = 0; i < this.length; i++) {\n if (this[i] === value) {\n return i;\n }\n }\n return -1;\n }\n);\n\nvar array_map = uncurryThis(\n Array.prototype.map || function (callback, thisp) {\n var self = this;\n var collect = [];\n array_reduce(self, function (undefined, value, index) {\n collect.push(callback.call(thisp, value, index, self));\n }, void 0);\n return collect;\n }\n);\n\nvar object_create = Object.create || function (prototype) {\n function Type() { }\n Type.prototype = prototype;\n return new Type();\n};\n\nvar object_hasOwnProperty = uncurryThis(Object.prototype.hasOwnProperty);\n\nvar object_keys = Object.keys || function (object) {\n var keys = [];\n for (var key in object) {\n if (object_hasOwnProperty(object, key)) {\n keys.push(key);\n }\n }\n return keys;\n};\n\nvar object_toString = uncurryThis(Object.prototype.toString);\n\nfunction isObject(value) {\n return value === Object(value);\n}\n\n// generator related shims\n\n// FIXME: Remove this function once ES6 generators are in SpiderMonkey.\nfunction isStopIteration(exception) {\n return (\n object_toString(exception) === \"[object StopIteration]\" ||\n exception instanceof QReturnValue\n );\n}\n\n// FIXME: Remove this helper and Q.return once ES6 generators are in\n// SpiderMonkey.\nvar QReturnValue;\nif (typeof ReturnValue !== \"undefined\") {\n QReturnValue = ReturnValue;\n} else {\n QReturnValue = function (value) {\n this.value = value;\n };\n}\n\n// long stack traces\n\nvar STACK_JUMP_SEPARATOR = \"From previous event:\";\n\nfunction makeStackTraceLong(error, promise) {\n // If possible, transform the error stack trace by removing Node and Q\n // cruft, then concatenating with the stack trace of `promise`. See #57.\n if (hasStacks &&\n promise.stack &&\n typeof error === \"object\" &&\n error !== null &&\n error.stack &&\n error.stack.indexOf(STACK_JUMP_SEPARATOR) === -1\n ) {\n var stacks = [];\n for (var p = promise; !!p; p = p.source) {\n if (p.stack) {\n stacks.unshift(p.stack);\n }\n }\n stacks.unshift(error.stack);\n\n var concatedStacks = stacks.join(\"\\n\" + STACK_JUMP_SEPARATOR + \"\\n\");\n error.stack = filterStackString(concatedStacks);\n }\n}\n\nfunction filterStackString(stackString) {\n var lines = stackString.split(\"\\n\");\n var desiredLines = [];\n for (var i = 0; i < lines.length; ++i) {\n var line = lines[i];\n\n if (!isInternalFrame(line) && !isNodeFrame(line) && line) {\n desiredLines.push(line);\n }\n }\n return desiredLines.join(\"\\n\");\n}\n\nfunction isNodeFrame(stackLine) {\n return stackLine.indexOf(\"(module.js:\") !== -1 ||\n stackLine.indexOf(\"(node.js:\") !== -1;\n}\n\nfunction getFileNameAndLineNumber(stackLine) {\n // Named functions: \"at functionName (filename:lineNumber:columnNumber)\"\n // In IE10 function name can have spaces (\"Anonymous function\") O_o\n var attempt1 = /at .+ \\((.+):(\\d+):(?:\\d+)\\)$/.exec(stackLine);\n if (attempt1) {\n return [attempt1[1], Number(attempt1[2])];\n }\n\n // Anonymous functions: \"at filename:lineNumber:columnNumber\"\n var attempt2 = /at ([^ ]+):(\\d+):(?:\\d+)$/.exec(stackLine);\n if (attempt2) {\n return [attempt2[1], Number(attempt2[2])];\n }\n\n // Firefox style: \"function@filename:lineNumber or @filename:lineNumber\"\n var attempt3 = /.*@(.+):(\\d+)$/.exec(stackLine);\n if (attempt3) {\n return [attempt3[1], Number(attempt3[2])];\n }\n}\n\nfunction isInternalFrame(stackLine) {\n var fileNameAndLineNumber = getFileNameAndLineNumber(stackLine);\n\n if (!fileNameAndLineNumber) {\n return false;\n }\n\n var fileName = fileNameAndLineNumber[0];\n var lineNumber = fileNameAndLineNumber[1];\n\n return fileName === qFileName &&\n lineNumber >= qStartingLine &&\n lineNumber <= qEndingLine;\n}\n\n// discover own file name and line number range for filtering stack\n// traces\nfunction captureLine() {\n if (!hasStacks) {\n return;\n }\n\n try {\n throw new Error();\n } catch (e) {\n var lines = e.stack.split(\"\\n\");\n var firstLine = lines[0].indexOf(\"@\") > 0 ? lines[1] : lines[2];\n var fileNameAndLineNumber = getFileNameAndLineNumber(firstLine);\n if (!fileNameAndLineNumber) {\n return;\n }\n\n qFileName = fileNameAndLineNumber[0];\n return fileNameAndLineNumber[1];\n }\n}\n\nfunction deprecate(callback, name, alternative) {\n return function () {\n if (typeof console !== \"undefined\" &&\n typeof console.warn === \"function\") {\n console.warn(name + \" is deprecated, use \" + alternative +\n \" instead.\", new Error(\"\").stack);\n }\n return callback.apply(callback, arguments);\n };\n}\n\n// end of shims\n// beginning of real work\n\n/**\n * Constructs a promise for an immediate reference, passes promises through, or\n * coerces promises from different systems.\n * @param value immediate reference or promise\n */\nfunction Q(value) {\n // If the object is already a Promise, return it directly. This enables\n // the resolve function to both be used to created references from objects,\n // but to tolerably coerce non-promises to promises.\n if (value instanceof Promise) {\n return value;\n }\n\n // assimilate thenables\n if (isPromiseAlike(value)) {\n return coerce(value);\n } else {\n return fulfill(value);\n }\n}\nQ.resolve = Q;\n\n/**\n * Performs a task in a future turn of the event loop.\n * @param {Function} task\n */\nQ.nextTick = nextTick;\n\n/**\n * Controls whether or not long stack traces will be on\n */\nQ.longStackSupport = false;\n\n// enable long stacks if Q_DEBUG is set\nif (typeof process === \"object\" && process && process.env && process.env.Q_DEBUG) {\n Q.longStackSupport = true;\n}\n\n/**\n * Constructs a {promise, resolve, reject} object.\n *\n * `resolve` is a callback to invoke with a more resolved value for the\n * promise. To fulfill the promise, invoke `resolve` with any value that is\n * not a thenable. To reject the promise, invoke `resolve` with a rejected\n * thenable, or invoke `reject` with the reason directly. To resolve the\n * promise to another thenable, thus putting it in the same state, invoke\n * `resolve` with that other thenable.\n */\nQ.defer = defer;\nfunction defer() {\n // if \"messages\" is an \"Array\", that indicates that the promise has not yet\n // been resolved. If it is \"undefined\", it has been resolved. Each\n // element of the messages array is itself an array of complete arguments to\n // forward to the resolved promise. We coerce the resolution value to a\n // promise using the `resolve` function because it handles both fully\n // non-thenable values and other thenables gracefully.\n var messages = [], progressListeners = [], resolvedPromise;\n\n var deferred = object_create(defer.prototype);\n var promise = object_create(Promise.prototype);\n\n promise.promiseDispatch = function (resolve, op, operands) {\n var args = array_slice(arguments);\n if (messages) {\n messages.push(args);\n if (op === \"when\" && operands[1]) { // progress operand\n progressListeners.push(operands[1]);\n }\n } else {\n Q.nextTick(function () {\n resolvedPromise.promiseDispatch.apply(resolvedPromise, args);\n });\n }\n };\n\n // XXX deprecated\n promise.valueOf = function () {\n if (messages) {\n return promise;\n }\n var nearerValue = nearer(resolvedPromise);\n if (isPromise(nearerValue)) {\n resolvedPromise = nearerValue; // shorten chain\n }\n return nearerValue;\n };\n\n promise.inspect = function () {\n if (!resolvedPromise) {\n return { state: \"pending\" };\n }\n return resolvedPromise.inspect();\n };\n\n if (Q.longStackSupport && hasStacks) {\n try {\n throw new Error();\n } catch (e) {\n // NOTE: don't try to use `Error.captureStackTrace` or transfer the\n // accessor around; that causes memory leaks as per GH-111. Just\n // reify the stack trace as a string ASAP.\n //\n // At the same time, cut off the first line; it's always just\n // \"[object Promise]\\n\", as per the `toString`.\n promise.stack = e.stack.substring(e.stack.indexOf(\"\\n\") + 1);\n }\n }\n\n // NOTE: we do the checks for `resolvedPromise` in each method, instead of\n // consolidating them into `become`, since otherwise we'd create new\n // promises with the lines `become(whatever(value))`. See e.g. GH-252.\n\n function become(newPromise) {\n resolvedPromise = newPromise;\n promise.source = newPromise;\n\n array_reduce(messages, function (undefined, message) {\n Q.nextTick(function () {\n newPromise.promiseDispatch.apply(newPromise, message);\n });\n }, void 0);\n\n messages = void 0;\n progressListeners = void 0;\n }\n\n deferred.promise = promise;\n deferred.resolve = function (value) {\n if (resolvedPromise) {\n return;\n }\n\n become(Q(value));\n };\n\n deferred.fulfill = function (value) {\n if (resolvedPromise) {\n return;\n }\n\n become(fulfill(value));\n };\n deferred.reject = function (reason) {\n if (resolvedPromise) {\n return;\n }\n\n become(reject(reason));\n };\n deferred.notify = function (progress) {\n if (resolvedPromise) {\n return;\n }\n\n array_reduce(progressListeners, function (undefined, progressListener) {\n Q.nextTick(function () {\n progressListener(progress);\n });\n }, void 0);\n };\n\n return deferred;\n}\n\n/**\n * Creates a Node-style callback that will resolve or reject the deferred\n * promise.\n * @returns a nodeback\n */\ndefer.prototype.makeNodeResolver = function () {\n var self = this;\n return function (error, value) {\n if (error) {\n self.reject(error);\n } else if (arguments.length > 2) {\n self.resolve(array_slice(arguments, 1));\n } else {\n self.resolve(value);\n }\n };\n};\n\n/**\n * @param resolver {Function} a function that returns nothing and accepts\n * the resolve, reject, and notify functions for a deferred.\n * @returns a promise that may be resolved with the given resolve and reject\n * functions, or rejected by a thrown exception in resolver\n */\nQ.Promise = promise; // ES6\nQ.promise = promise;\nfunction promise(resolver) {\n if (typeof resolver !== \"function\") {\n throw new TypeError(\"resolver must be a function.\");\n }\n var deferred = defer();\n try {\n resolver(deferred.resolve, deferred.reject, deferred.notify);\n } catch (reason) {\n deferred.reject(reason);\n }\n return deferred.promise;\n}\n\npromise.race = race; // ES6\npromise.all = all; // ES6\npromise.reject = reject; // ES6\npromise.resolve = Q; // ES6\n\n// XXX experimental. This method is a way to denote that a local value is\n// serializable and should be immediately dispatched to a remote upon request,\n// instead of passing a reference.\nQ.passByCopy = function (object) {\n //freeze(object);\n //passByCopies.set(object, true);\n return object;\n};\n\nPromise.prototype.passByCopy = function () {\n //freeze(object);\n //passByCopies.set(object, true);\n return this;\n};\n\n/**\n * If two promises eventually fulfill to the same value, promises that value,\n * but otherwise rejects.\n * @param x {Any*}\n * @param y {Any*}\n * @returns {Any*} a promise for x and y if they are the same, but a rejection\n * otherwise.\n *\n */\nQ.join = function (x, y) {\n return Q(x).join(y);\n};\n\nPromise.prototype.join = function (that) {\n return Q([this, that]).spread(function (x, y) {\n if (x === y) {\n // TODO: \"===\" should be Object.is or equiv\n return x;\n } else {\n throw new Error(\"Can't join: not the same: \" + x + \" \" + y);\n }\n });\n};\n\n/**\n * Returns a promise for the first of an array of promises to become settled.\n * @param answers {Array[Any*]} promises to race\n * @returns {Any*} the first promise to be settled\n */\nQ.race = race;\nfunction race(answerPs) {\n return promise(function (resolve, reject) {\n // Switch to this once we can assume at least ES5\n // answerPs.forEach(function (answerP) {\n // Q(answerP).then(resolve, reject);\n // });\n // Use this in the meantime\n for (var i = 0, len = answerPs.length; i < len; i++) {\n Q(answerPs[i]).then(resolve, reject);\n }\n });\n}\n\nPromise.prototype.race = function () {\n return this.then(Q.race);\n};\n\n/**\n * Constructs a Promise with a promise descriptor object and optional fallback\n * function. The descriptor contains methods like when(rejected), get(name),\n * set(name, value), post(name, args), and delete(name), which all\n * return either a value, a promise for a value, or a rejection. The fallback\n * accepts the operation name, a resolver, and any further arguments that would\n * have been forwarded to the appropriate method above had a method been\n * provided with the proper name. The API makes no guarantees about the nature\n * of the returned object, apart from that it is usable whereever promises are\n * bought and sold.\n */\nQ.makePromise = Promise;\nfunction Promise(descriptor, fallback, inspect) {\n if (fallback === void 0) {\n fallback = function (op) {\n return reject(new Error(\n \"Promise does not support operation: \" + op\n ));\n };\n }\n if (inspect === void 0) {\n inspect = function () {\n return {state: \"unknown\"};\n };\n }\n\n var promise = object_create(Promise.prototype);\n\n promise.promiseDispatch = function (resolve, op, args) {\n var result;\n try {\n if (descriptor[op]) {\n result = descriptor[op].apply(promise, args);\n } else {\n result = fallback.call(promise, op, args);\n }\n } catch (exception) {\n result = reject(exception);\n }\n if (resolve) {\n resolve(result);\n }\n };\n\n promise.inspect = inspect;\n\n // XXX deprecated `valueOf` and `exception` support\n if (inspect) {\n var inspected = inspect();\n if (inspected.state === \"rejected\") {\n promise.exception = inspected.reason;\n }\n\n promise.valueOf = function () {\n var inspected = inspect();\n if (inspected.state === \"pending\" ||\n inspected.state === \"rejected\") {\n return promise;\n }\n return inspected.value;\n };\n }\n\n return promise;\n}\n\nPromise.prototype.toString = function () {\n return \"[object Promise]\";\n};\n\nPromise.prototype.then = function (fulfilled, rejected, progressed) {\n var self = this;\n var deferred = defer();\n var done = false; // ensure the untrusted promise makes at most a\n // single call to one of the callbacks\n\n function _fulfilled(value) {\n try {\n return typeof fulfilled === \"function\" ? fulfilled(value) : value;\n } catch (exception) {\n return reject(exception);\n }\n }\n\n function _rejected(exception) {\n if (typeof rejected === \"function\") {\n makeStackTraceLong(exception, self);\n try {\n return rejected(exception);\n } catch (newException) {\n return reject(newException);\n }\n }\n return reject(exception);\n }\n\n function _progressed(value) {\n return typeof progressed === \"function\" ? progressed(value) : value;\n }\n\n Q.nextTick(function () {\n self.promiseDispatch(function (value) {\n if (done) {\n return;\n }\n done = true;\n\n deferred.resolve(_fulfilled(value));\n }, \"when\", [function (exception) {\n if (done) {\n return;\n }\n done = true;\n\n deferred.resolve(_rejected(exception));\n }]);\n });\n\n // Progress propagator need to be attached in the current tick.\n self.promiseDispatch(void 0, \"when\", [void 0, function (value) {\n var newValue;\n var threw = false;\n try {\n newValue = _progressed(value);\n } catch (e) {\n threw = true;\n if (Q.onerror) {\n Q.onerror(e);\n } else {\n throw e;\n }\n }\n\n if (!threw) {\n deferred.notify(newValue);\n }\n }]);\n\n return deferred.promise;\n};\n\nQ.tap = function (promise, callback) {\n return Q(promise).tap(callback);\n};\n\n/**\n * Works almost like \"finally\", but not called for rejections.\n * Original resolution value is passed through callback unaffected.\n * Callback may return a promise that will be awaited for.\n * @param {Function} callback\n * @returns {Q.Promise}\n * @example\n * doSomething()\n * .then(...)\n * .tap(console.log)\n * .then(...);\n */\nPromise.prototype.tap = function (callback) {\n callback = Q(callback);\n\n return this.then(function (value) {\n return callback.fcall(value).thenResolve(value);\n });\n};\n\n/**\n * Registers an observer on a promise.\n *\n * Guarantees:\n *\n * 1. that fulfilled and rejected will be called only once.\n * 2. that either the fulfilled callback or the rejected callback will be\n * called, but not both.\n * 3. that fulfilled and rejected will not be called in this turn.\n *\n * @param value promise or immediate reference to observe\n * @param fulfilled function to be called with the fulfilled value\n * @param rejected function to be called with the rejection exception\n * @param progressed function to be called on any progress notifications\n * @return promise for the return value from the invoked callback\n */\nQ.when = when;\nfunction when(value, fulfilled, rejected, progressed) {\n return Q(value).then(fulfilled, rejected, progressed);\n}\n\nPromise.prototype.thenResolve = function (value) {\n return this.then(function () { return value; });\n};\n\nQ.thenResolve = function (promise, value) {\n return Q(promise).thenResolve(value);\n};\n\nPromise.prototype.thenReject = function (reason) {\n return this.then(function () { throw reason; });\n};\n\nQ.thenReject = function (promise, reason) {\n return Q(promise).thenReject(reason);\n};\n\n/**\n * If an object is not a promise, it is as \"near\" as possible.\n * If a promise is rejected, it is as \"near\" as possible too.\n * If it’s a fulfilled promise, the fulfillment value is nearer.\n * If it’s a deferred promise and the deferred has been resolved, the\n * resolution is \"nearer\".\n * @param object\n * @returns most resolved (nearest) form of the object\n */\n\n// XXX should we re-do this?\nQ.nearer = nearer;\nfunction nearer(value) {\n if (isPromise(value)) {\n var inspected = value.inspect();\n if (inspected.state === \"fulfilled\") {\n return inspected.value;\n }\n }\n return value;\n}\n\n/**\n * @returns whether the given object is a promise.\n * Otherwise it is a fulfilled value.\n */\nQ.isPromise = isPromise;\nfunction isPromise(object) {\n return object instanceof Promise;\n}\n\nQ.isPromiseAlike = isPromiseAlike;\nfunction isPromiseAlike(object) {\n return isObject(object) && typeof object.then === \"function\";\n}\n\n/**\n * @returns whether the given object is a pending promise, meaning not\n * fulfilled or rejected.\n */\nQ.isPending = isPending;\nfunction isPending(object) {\n return isPromise(object) && object.inspect().state === \"pending\";\n}\n\nPromise.prototype.isPending = function () {\n return this.inspect().state === \"pending\";\n};\n\n/**\n * @returns whether the given object is a value or fulfilled\n * promise.\n */\nQ.isFulfilled = isFulfilled;\nfunction isFulfilled(object) {\n return !isPromise(object) || object.inspect().state === \"fulfilled\";\n}\n\nPromise.prototype.isFulfilled = function () {\n return this.inspect().state === \"fulfilled\";\n};\n\n/**\n * @returns whether the given object is a rejected promise.\n */\nQ.isRejected = isRejected;\nfunction isRejected(object) {\n return isPromise(object) && object.inspect().state === \"rejected\";\n}\n\nPromise.prototype.isRejected = function () {\n return this.inspect().state === \"rejected\";\n};\n\n//// BEGIN UNHANDLED REJECTION TRACKING\n\n// This promise library consumes exceptions thrown in handlers so they can be\n// handled by a subsequent promise. The exceptions get added to this array when\n// they are created, and removed when they are handled. Note that in ES6 or\n// shimmed environments, this would naturally be a `Set`.\nvar unhandledReasons = [];\nvar unhandledRejections = [];\nvar reportedUnhandledRejections = [];\nvar trackUnhandledRejections = true;\n\nfunction resetUnhandledRejections() {\n unhandledReasons.length = 0;\n unhandledRejections.length = 0;\n\n if (!trackUnhandledRejections) {\n trackUnhandledRejections = true;\n }\n}\n\nfunction trackRejection(promise, reason) {\n if (!trackUnhandledRejections) {\n return;\n }\n if (typeof process === \"object\" && typeof process.emit === \"function\") {\n Q.nextTick.runAfter(function () {\n if (array_indexOf(unhandledRejections, promise) !== -1) {\n process.emit(\"unhandledRejection\", reason, promise);\n reportedUnhandledRejections.push(promise);\n }\n });\n }\n\n unhandledRejections.push(promise);\n if (reason && typeof reason.stack !== \"undefined\") {\n unhandledReasons.push(reason.stack);\n } else {\n unhandledReasons.push(\"(no stack) \" + reason);\n }\n}\n\nfunction untrackRejection(promise) {\n if (!trackUnhandledRejections) {\n return;\n }\n\n var at = array_indexOf(unhandledRejections, promise);\n if (at !== -1) {\n if (typeof process === \"object\" && typeof process.emit === \"function\") {\n Q.nextTick.runAfter(function () {\n var atReport = array_indexOf(reportedUnhandledRejections, promise);\n if (atReport !== -1) {\n process.emit(\"rejectionHandled\", unhandledReasons[at], promise);\n reportedUnhandledRejections.splice(atReport, 1);\n }\n });\n }\n unhandledRejections.splice(at, 1);\n unhandledReasons.splice(at, 1);\n }\n}\n\nQ.resetUnhandledRejections = resetUnhandledRejections;\n\nQ.getUnhandledReasons = function () {\n // Make a copy so that consumers can't interfere with our internal state.\n return unhandledReasons.slice();\n};\n\nQ.stopUnhandledRejectionTracking = function () {\n resetUnhandledRejections();\n trackUnhandledRejections = false;\n};\n\nresetUnhandledRejections();\n\n//// END UNHANDLED REJECTION TRACKING\n\n/**\n * Constructs a rejected promise.\n * @param reason value describing the failure\n */\nQ.reject = reject;\nfunction reject(reason) {\n var rejection = Promise({\n \"when\": function (rejected) {\n // note that the error has been handled\n if (rejected) {\n untrackRejection(this);\n }\n return rejected ? rejected(reason) : this;\n }\n }, function fallback() {\n return this;\n }, function inspect() {\n return { state: \"rejected\", reason: reason };\n });\n\n // Note that the reason has not been handled.\n trackRejection(rejection, reason);\n\n return rejection;\n}\n\n/**\n * Constructs a fulfilled promise for an immediate reference.\n * @param value immediate reference\n */\nQ.fulfill = fulfill;\nfunction fulfill(value) {\n return Promise({\n \"when\": function () {\n return value;\n },\n \"get\": function (name) {\n return value[name];\n },\n \"set\": function (name, rhs) {\n value[name] = rhs;\n },\n \"delete\": function (name) {\n delete value[name];\n },\n \"post\": function (name, args) {\n // Mark Miller proposes that post with no name should apply a\n // promised function.\n if (name === null || name === void 0) {\n return value.apply(void 0, args);\n } else {\n return value[name].apply(value, args);\n }\n },\n \"apply\": function (thisp, args) {\n return value.apply(thisp, args);\n },\n \"keys\": function () {\n return object_keys(value);\n }\n }, void 0, function inspect() {\n return { state: \"fulfilled\", value: value };\n });\n}\n\n/**\n * Converts thenables to Q promises.\n * @param promise thenable promise\n * @returns a Q promise\n */\nfunction coerce(promise) {\n var deferred = defer();\n Q.nextTick(function () {\n try {\n promise.then(deferred.resolve, deferred.reject, deferred.notify);\n } catch (exception) {\n deferred.reject(exception);\n }\n });\n return deferred.promise;\n}\n\n/**\n * Annotates an object such that it will never be\n * transferred away from this process over any promise\n * communication channel.\n * @param object\n * @returns promise a wrapping of that object that\n * additionally responds to the \"isDef\" message\n * without a rejection.\n */\nQ.master = master;\nfunction master(object) {\n return Promise({\n \"isDef\": function () {}\n }, function fallback(op, args) {\n return dispatch(object, op, args);\n }, function () {\n return Q(object).inspect();\n });\n}\n\n/**\n * Spreads the values of a promised array of arguments into the\n * fulfillment callback.\n * @param fulfilled callback that receives variadic arguments from the\n * promised array\n * @param rejected callback that receives the exception if the promise\n * is rejected.\n * @returns a promise for the return value or thrown exception of\n * either callback.\n */\nQ.spread = spread;\nfunction spread(value, fulfilled, rejected) {\n return Q(value).spread(fulfilled, rejected);\n}\n\nPromise.prototype.spread = function (fulfilled, rejected) {\n return this.all().then(function (array) {\n return fulfilled.apply(void 0, array);\n }, rejected);\n};\n\n/**\n * The async function is a decorator for generator functions, turning\n * them into asynchronous generators. Although generators are only part\n * of the newest ECMAScript 6 drafts, this code does not cause syntax\n * errors in older engines. This code should continue to work and will\n * in fact improve over time as the language improves.\n *\n * ES6 generators are currently part of V8 version 3.19 with the\n * --harmony-generators runtime flag enabled. SpiderMonkey has had them\n * for longer, but under an older Python-inspired form. This function\n * works on both kinds of generators.\n *\n * Decorates a generator function such that:\n * - it may yield promises\n * - execution will continue when that promise is fulfilled\n * - the value of the yield expression will be the fulfilled value\n * - it returns a promise for the return value (when the generator\n * stops iterating)\n * - the decorated function returns a promise for the return value\n * of the generator or the first rejected promise among those\n * yielded.\n * - if an error is thrown in the generator, it propagates through\n * every following yield until it is caught, or until it escapes\n * the generator function altogether, and is translated into a\n * rejection for the promise returned by the decorated generator.\n */\nQ.async = async;\nfunction async(makeGenerator) {\n return function () {\n // when verb is \"send\", arg is a value\n // when verb is \"throw\", arg is an exception\n function continuer(verb, arg) {\n var result;\n\n // Until V8 3.19 / Chromium 29 is released, SpiderMonkey is the only\n // engine that has a deployed base of browsers that support generators.\n // However, SM's generators use the Python-inspired semantics of\n // outdated ES6 drafts. We would like to support ES6, but we'd also\n // like to make it possible to use generators in deployed browsers, so\n // we also support Python-style generators. At some point we can remove\n // this block.\n\n if (typeof StopIteration === \"undefined\") {\n // ES6 Generators\n try {\n result = generator[verb](arg);\n } catch (exception) {\n return reject(exception);\n }\n if (result.done) {\n return Q(result.value);\n } else {\n return when(result.value, callback, errback);\n }\n } else {\n // SpiderMonkey Generators\n // FIXME: Remove this case when SM does ES6 generators.\n try {\n result = generator[verb](arg);\n } catch (exception) {\n if (isStopIteration(exception)) {\n return Q(exception.value);\n } else {\n return reject(exception);\n }\n }\n return when(result, callback, errback);\n }\n }\n var generator = makeGenerator.apply(this, arguments);\n var callback = continuer.bind(continuer, \"next\");\n var errback = continuer.bind(continuer, \"throw\");\n return callback();\n };\n}\n\n/**\n * The spawn function is a small wrapper around async that immediately\n * calls the generator and also ends the promise chain, so that any\n * unhandled errors are thrown instead of forwarded to the error\n * handler. This is useful because it's extremely common to run\n * generators at the top-level to work with libraries.\n */\nQ.spawn = spawn;\nfunction spawn(makeGenerator) {\n Q.done(Q.async(makeGenerator)());\n}\n\n// FIXME: Remove this interface once ES6 generators are in SpiderMonkey.\n/**\n * Throws a ReturnValue exception to stop an asynchronous generator.\n *\n * This interface is a stop-gap measure to support generator return\n * values in older Firefox/SpiderMonkey. In browsers that support ES6\n * generators like Chromium 29, just use \"return\" in your generator\n * functions.\n *\n * @param value the return value for the surrounding generator\n * @throws ReturnValue exception with the value.\n * @example\n * // ES6 style\n * Q.async(function* () {\n * var foo = yield getFooPromise();\n * var bar = yield getBarPromise();\n * return foo + bar;\n * })\n * // Older SpiderMonkey style\n * Q.async(function () {\n * var foo = yield getFooPromise();\n * var bar = yield getBarPromise();\n * Q.return(foo + bar);\n * })\n */\nQ[\"return\"] = _return;\nfunction _return(value) {\n throw new QReturnValue(value);\n}\n\n/**\n * The promised function decorator ensures that any promise arguments\n * are settled and passed as values (`this` is also settled and passed\n * as a value). It will also ensure that the result of a function is\n * always a promise.\n *\n * @example\n * var add = Q.promised(function (a, b) {\n * return a + b;\n * });\n * add(Q(a), Q(B));\n *\n * @param {function} callback The function to decorate\n * @returns {function} a function that has been decorated.\n */\nQ.promised = promised;\nfunction promised(callback) {\n return function () {\n return spread([this, all(arguments)], function (self, args) {\n return callback.apply(self, args);\n });\n };\n}\n\n/**\n * sends a message to a value in a future turn\n * @param object* the recipient\n * @param op the name of the message operation, e.g., \"when\",\n * @param args further arguments to be forwarded to the operation\n * @returns result {Promise} a promise for the result of the operation\n */\nQ.dispatch = dispatch;\nfunction dispatch(object, op, args) {\n return Q(object).dispatch(op, args);\n}\n\nPromise.prototype.dispatch = function (op, args) {\n var self = this;\n var deferred = defer();\n Q.nextTick(function () {\n self.promiseDispatch(deferred.resolve, op, args);\n });\n return deferred.promise;\n};\n\n/**\n * Gets the value of a property in a future turn.\n * @param object promise or immediate reference for target object\n * @param name name of property to get\n * @return promise for the property value\n */\nQ.get = function (object, key) {\n return Q(object).dispatch(\"get\", [key]);\n};\n\nPromise.prototype.get = function (key) {\n return this.dispatch(\"get\", [key]);\n};\n\n/**\n * Sets the value of a property in a future turn.\n * @param object promise or immediate reference for object object\n * @param name name of property to set\n * @param value new value of property\n * @return promise for the return value\n */\nQ.set = function (object, key, value) {\n return Q(object).dispatch(\"set\", [key, value]);\n};\n\nPromise.prototype.set = function (key, value) {\n return this.dispatch(\"set\", [key, value]);\n};\n\n/**\n * Deletes a property in a future turn.\n * @param object promise or immediate reference for target object\n * @param name name of property to delete\n * @return promise for the return value\n */\nQ.del = // XXX legacy\nQ[\"delete\"] = function (object, key) {\n return Q(object).dispatch(\"delete\", [key]);\n};\n\nPromise.prototype.del = // XXX legacy\nPromise.prototype[\"delete\"] = function (key) {\n return this.dispatch(\"delete\", [key]);\n};\n\n/**\n * Invokes a method in a future turn.\n * @param object promise or immediate reference for target object\n * @param name name of method to invoke\n * @param value a value to post, typically an array of\n * invocation arguments for promises that\n * are ultimately backed with `resolve` values,\n * as opposed to those backed with URLs\n * wherein the posted value can be any\n * JSON serializable object.\n * @return promise for the return value\n */\n// bound locally because it is used by other methods\nQ.mapply = // XXX As proposed by \"Redsandro\"\nQ.post = function (object, name, args) {\n return Q(object).dispatch(\"post\", [name, args]);\n};\n\nPromise.prototype.mapply = // XXX As proposed by \"Redsandro\"\nPromise.prototype.post = function (name, args) {\n return this.dispatch(\"post\", [name, args]);\n};\n\n/**\n * Invokes a method in a future turn.\n * @param object promise or immediate reference for target object\n * @param name name of method to invoke\n * @param ...args array of invocation arguments\n * @return promise for the return value\n */\nQ.send = // XXX Mark Miller's proposed parlance\nQ.mcall = // XXX As proposed by \"Redsandro\"\nQ.invoke = function (object, name /*...args*/) {\n return Q(object).dispatch(\"post\", [name, array_slice(arguments, 2)]);\n};\n\nPromise.prototype.send = // XXX Mark Miller's proposed parlance\nPromise.prototype.mcall = // XXX As proposed by \"Redsandro\"\nPromise.prototype.invoke = function (name /*...args*/) {\n return this.dispatch(\"post\", [name, array_slice(arguments, 1)]);\n};\n\n/**\n * Applies the promised function in a future turn.\n * @param object promise or immediate reference for target function\n * @param args array of application arguments\n */\nQ.fapply = function (object, args) {\n return Q(object).dispatch(\"apply\", [void 0, args]);\n};\n\nPromise.prototype.fapply = function (args) {\n return this.dispatch(\"apply\", [void 0, args]);\n};\n\n/**\n * Calls the promised function in a future turn.\n * @param object promise or immediate reference for target function\n * @param ...args array of application arguments\n */\nQ[\"try\"] =\nQ.fcall = function (object /* ...args*/) {\n return Q(object).dispatch(\"apply\", [void 0, array_slice(arguments, 1)]);\n};\n\nPromise.prototype.fcall = function (/*...args*/) {\n return this.dispatch(\"apply\", [void 0, array_slice(arguments)]);\n};\n\n/**\n * Binds the promised function, transforming return values into a fulfilled\n * promise and thrown errors into a rejected one.\n * @param object promise or immediate reference for target function\n * @param ...args array of application arguments\n */\nQ.fbind = function (object /*...args*/) {\n var promise = Q(object);\n var args = array_slice(arguments, 1);\n return function fbound() {\n return promise.dispatch(\"apply\", [\n this,\n args.concat(array_slice(arguments))\n ]);\n };\n};\nPromise.prototype.fbind = function (/*...args*/) {\n var promise = this;\n var args = array_slice(arguments);\n return function fbound() {\n return promise.dispatch(\"apply\", [\n this,\n args.concat(array_slice(arguments))\n ]);\n };\n};\n\n/**\n * Requests the names of the owned properties of a promised\n * object in a future turn.\n * @param object promise or immediate reference for target object\n * @return promise for the keys of the eventually settled object\n */\nQ.keys = function (object) {\n return Q(object).dispatch(\"keys\", []);\n};\n\nPromise.prototype.keys = function () {\n return this.dispatch(\"keys\", []);\n};\n\n/**\n * Turns an array of promises into a promise for an array. If any of\n * the promises gets rejected, the whole array is rejected immediately.\n * @param {Array*} an array (or promise for an array) of values (or\n * promises for values)\n * @returns a promise for an array of the corresponding values\n */\n// By Mark Miller\n// http://wiki.ecmascript.org/doku.php?id=strawman:concurrency&rev=1308776521#allfulfilled\nQ.all = all;\nfunction all(promises) {\n return when(promises, function (promises) {\n var pendingCount = 0;\n var deferred = defer();\n array_reduce(promises, function (undefined, promise, index) {\n var snapshot;\n if (\n isPromise(promise) &&\n (snapshot = promise.inspect()).state === \"fulfilled\"\n ) {\n promises[index] = snapshot.value;\n } else {\n ++pendingCount;\n when(\n promise,\n function (value) {\n promises[index] = value;\n if (--pendingCount === 0) {\n deferred.resolve(promises);\n }\n },\n deferred.reject,\n function (progress) {\n deferred.notify({ index: index, value: progress });\n }\n );\n }\n }, void 0);\n if (pendingCount === 0) {\n deferred.resolve(promises);\n }\n return deferred.promise;\n });\n}\n\nPromise.prototype.all = function () {\n return all(this);\n};\n\n/**\n * Returns the first resolved promise of an array. Prior rejected promises are\n * ignored. Rejects only if all promises are rejected.\n * @param {Array*} an array containing values or promises for values\n * @returns a promise fulfilled with the value of the first resolved promise,\n * or a rejected promise if all promises are rejected.\n */\nQ.any = any;\n\nfunction any(promises) {\n if (promises.length === 0) {\n return Q.resolve();\n }\n\n var deferred = Q.defer();\n var pendingCount = 0;\n array_reduce(promises, function (prev, current, index) {\n var promise = promises[index];\n\n pendingCount++;\n\n when(promise, onFulfilled, onRejected, onProgress);\n function onFulfilled(result) {\n deferred.resolve(result);\n }\n function onRejected() {\n pendingCount--;\n if (pendingCount === 0) {\n deferred.reject(new Error(\n \"Can't get fulfillment value from any promise, all \" +\n \"promises were rejected.\"\n ));\n }\n }\n function onProgress(progress) {\n deferred.notify({\n index: index,\n value: progress\n });\n }\n }, undefined);\n\n return deferred.promise;\n}\n\nPromise.prototype.any = function () {\n return any(this);\n};\n\n/**\n * Waits for all promises to be settled, either fulfilled or\n * rejected. This is distinct from `all` since that would stop\n * waiting at the first rejection. The promise returned by\n * `allResolved` will never be rejected.\n * @param promises a promise for an array (or an array) of promises\n * (or values)\n * @return a promise for an array of promises\n */\nQ.allResolved = deprecate(allResolved, \"allResolved\", \"allSettled\");\nfunction allResolved(promises) {\n return when(promises, function (promises) {\n promises = array_map(promises, Q);\n return when(all(array_map(promises, function (promise) {\n return when(promise, noop, noop);\n })), function () {\n return promises;\n });\n });\n}\n\nPromise.prototype.allResolved = function () {\n return allResolved(this);\n};\n\n/**\n * @see Promise#allSettled\n */\nQ.allSettled = allSettled;\nfunction allSettled(promises) {\n return Q(promises).allSettled();\n}\n\n/**\n * Turns an array of promises into a promise for an array of their states (as\n * returned by `inspect`) when they have all settled.\n * @param {Array[Any*]} values an array (or promise for an array) of values (or\n * promises for values)\n * @returns {Array[State]} an array of states for the respective values.\n */\nPromise.prototype.allSettled = function () {\n return this.then(function (promises) {\n return all(array_map(promises, function (promise) {\n promise = Q(promise);\n function regardless() {\n return promise.inspect();\n }\n return promise.then(regardless, regardless);\n }));\n });\n};\n\n/**\n * Captures the failure of a promise, giving an oportunity to recover\n * with a callback. If the given promise is fulfilled, the returned\n * promise is fulfilled.\n * @param {Any*} promise for something\n * @param {Function} callback to fulfill the returned promise if the\n * given promise is rejected\n * @returns a promise for the return value of the callback\n */\nQ.fail = // XXX legacy\nQ[\"catch\"] = function (object, rejected) {\n return Q(object).then(void 0, rejected);\n};\n\nPromise.prototype.fail = // XXX legacy\nPromise.prototype[\"catch\"] = function (rejected) {\n return this.then(void 0, rejected);\n};\n\n/**\n * Attaches a listener that can respond to progress notifications from a\n * promise's originating deferred. This listener receives the exact arguments\n * passed to ``deferred.notify``.\n * @param {Any*} promise for something\n * @param {Function} callback to receive any progress notifications\n * @returns the given promise, unchanged\n */\nQ.progress = progress;\nfunction progress(object, progressed) {\n return Q(object).then(void 0, void 0, progressed);\n}\n\nPromise.prototype.progress = function (progressed) {\n return this.then(void 0, void 0, progressed);\n};\n\n/**\n * Provides an opportunity to observe the settling of a promise,\n * regardless of whether the promise is fulfilled or rejected. Forwards\n * the resolution to the returned promise when the callback is done.\n * The callback can return a promise to defer completion.\n * @param {Any*} promise\n * @param {Function} callback to observe the resolution of the given\n * promise, takes no arguments.\n * @returns a promise for the resolution of the given promise when\n * ``fin`` is done.\n */\nQ.fin = // XXX legacy\nQ[\"finally\"] = function (object, callback) {\n return Q(object)[\"finally\"](callback);\n};\n\nPromise.prototype.fin = // XXX legacy\nPromise.prototype[\"finally\"] = function (callback) {\n callback = Q(callback);\n return this.then(function (value) {\n return callback.fcall().then(function () {\n return value;\n });\n }, function (reason) {\n // TODO attempt to recycle the rejection with \"this\".\n return callback.fcall().then(function () {\n throw reason;\n });\n });\n};\n\n/**\n * Terminates a chain of promises, forcing rejections to be\n * thrown as exceptions.\n * @param {Any*} promise at the end of a chain of promises\n * @returns nothing\n */\nQ.done = function (object, fulfilled, rejected, progress) {\n return Q(object).done(fulfilled, rejected, progress);\n};\n\nPromise.prototype.done = function (fulfilled, rejected, progress) {\n var onUnhandledError = function (error) {\n // forward to a future turn so that ``when``\n // does not catch it and turn it into a rejection.\n Q.nextTick(function () {\n makeStackTraceLong(error, promise);\n if (Q.onerror) {\n Q.onerror(error);\n } else {\n throw error;\n }\n });\n };\n\n // Avoid unnecessary `nextTick`ing via an unnecessary `when`.\n var promise = fulfilled || rejected || progress ?\n this.then(fulfilled, rejected, progress) :\n this;\n\n if (typeof process === \"object\" && process && process.domain) {\n onUnhandledError = process.domain.bind(onUnhandledError);\n }\n\n promise.then(void 0, onUnhandledError);\n};\n\n/**\n * Causes a promise to be rejected if it does not get fulfilled before\n * some milliseconds time out.\n * @param {Any*} promise\n * @param {Number} milliseconds timeout\n * @param {Any*} custom error message or Error object (optional)\n * @returns a promise for the resolution of the given promise if it is\n * fulfilled before the timeout, otherwise rejected.\n */\nQ.timeout = function (object, ms, error) {\n return Q(object).timeout(ms, error);\n};\n\nPromise.prototype.timeout = function (ms, error) {\n var deferred = defer();\n var timeoutId = setTimeout(function () {\n if (!error || \"string\" === typeof error) {\n error = new Error(error || \"Timed out after \" + ms + \" ms\");\n error.code = \"ETIMEDOUT\";\n }\n deferred.reject(error);\n }, ms);\n\n this.then(function (value) {\n clearTimeout(timeoutId);\n deferred.resolve(value);\n }, function (exception) {\n clearTimeout(timeoutId);\n deferred.reject(exception);\n }, deferred.notify);\n\n return deferred.promise;\n};\n\n/**\n * Returns a promise for the given value (or promised value), some\n * milliseconds after it resolved. Passes rejections immediately.\n * @param {Any*} promise\n * @param {Number} milliseconds\n * @returns a promise for the resolution of the given promise after milliseconds\n * time has elapsed since the resolution of the given promise.\n * If the given promise rejects, that is passed immediately.\n */\nQ.delay = function (object, timeout) {\n if (timeout === void 0) {\n timeout = object;\n object = void 0;\n }\n return Q(object).delay(timeout);\n};\n\nPromise.prototype.delay = function (timeout) {\n return this.then(function (value) {\n var deferred = defer();\n setTimeout(function () {\n deferred.resolve(value);\n }, timeout);\n return deferred.promise;\n });\n};\n\n/**\n * Passes a continuation to a Node function, which is called with the given\n * arguments provided as an array, and returns a promise.\n *\n * Q.nfapply(FS.readFile, [__filename])\n * .then(function (content) {\n * })\n *\n */\nQ.nfapply = function (callback, args) {\n return Q(callback).nfapply(args);\n};\n\nPromise.prototype.nfapply = function (args) {\n var deferred = defer();\n var nodeArgs = array_slice(args);\n nodeArgs.push(deferred.makeNodeResolver());\n this.fapply(nodeArgs).fail(deferred.reject);\n return deferred.promise;\n};\n\n/**\n * Passes a continuation to a Node function, which is called with the given\n * arguments provided individually, and returns a promise.\n * @example\n * Q.nfcall(FS.readFile, __filename)\n * .then(function (content) {\n * })\n *\n */\nQ.nfcall = function (callback /*...args*/) {\n var args = array_slice(arguments, 1);\n return Q(callback).nfapply(args);\n};\n\nPromise.prototype.nfcall = function (/*...args*/) {\n var nodeArgs = array_slice(arguments);\n var deferred = defer();\n nodeArgs.push(deferred.makeNodeResolver());\n this.fapply(nodeArgs).fail(deferred.reject);\n return deferred.promise;\n};\n\n/**\n * Wraps a NodeJS continuation passing function and returns an equivalent\n * version that returns a promise.\n * @example\n * Q.nfbind(FS.readFile, __filename)(\"utf-8\")\n * .then(console.log)\n * .done()\n */\nQ.nfbind =\nQ.denodeify = function (callback /*...args*/) {\n var baseArgs = array_slice(arguments, 1);\n return function () {\n var nodeArgs = baseArgs.concat(array_slice(arguments));\n var deferred = defer();\n nodeArgs.push(deferred.makeNodeResolver());\n Q(callback).fapply(nodeArgs).fail(deferred.reject);\n return deferred.promise;\n };\n};\n\nPromise.prototype.nfbind =\nPromise.prototype.denodeify = function (/*...args*/) {\n var args = array_slice(arguments);\n args.unshift(this);\n return Q.denodeify.apply(void 0, args);\n};\n\nQ.nbind = function (callback, thisp /*...args*/) {\n var baseArgs = array_slice(arguments, 2);\n return function () {\n var nodeArgs = baseArgs.concat(array_slice(arguments));\n var deferred = defer();\n nodeArgs.push(deferred.makeNodeResolver());\n function bound() {\n return callback.apply(thisp, arguments);\n }\n Q(bound).fapply(nodeArgs).fail(deferred.reject);\n return deferred.promise;\n };\n};\n\nPromise.prototype.nbind = function (/*thisp, ...args*/) {\n var args = array_slice(arguments, 0);\n args.unshift(this);\n return Q.nbind.apply(void 0, args);\n};\n\n/**\n * Calls a method of a Node-style object that accepts a Node-style\n * callback with a given array of arguments, plus a provided callback.\n * @param object an object that has the named method\n * @param {String} name name of the method of object\n * @param {Array} args arguments to pass to the method; the callback\n * will be provided by Q and appended to these arguments.\n * @returns a promise for the value or error\n */\nQ.nmapply = // XXX As proposed by \"Redsandro\"\nQ.npost = function (object, name, args) {\n return Q(object).npost(name, args);\n};\n\nPromise.prototype.nmapply = // XXX As proposed by \"Redsandro\"\nPromise.prototype.npost = function (name, args) {\n var nodeArgs = array_slice(args || []);\n var deferred = defer();\n nodeArgs.push(deferred.makeNodeResolver());\n this.dispatch(\"post\", [name, nodeArgs]).fail(deferred.reject);\n return deferred.promise;\n};\n\n/**\n * Calls a method of a Node-style object that accepts a Node-style\n * callback, forwarding the given variadic arguments, plus a provided\n * callback argument.\n * @param object an object that has the named method\n * @param {String} name name of the method of object\n * @param ...args arguments to pass to the method; the callback will\n * be provided by Q and appended to these arguments.\n * @returns a promise for the value or error\n */\nQ.nsend = // XXX Based on Mark Miller's proposed \"send\"\nQ.nmcall = // XXX Based on \"Redsandro's\" proposal\nQ.ninvoke = function (object, name /*...args*/) {\n var nodeArgs = array_slice(arguments, 2);\n var deferred = defer();\n nodeArgs.push(deferred.makeNodeResolver());\n Q(object).dispatch(\"post\", [name, nodeArgs]).fail(deferred.reject);\n return deferred.promise;\n};\n\nPromise.prototype.nsend = // XXX Based on Mark Miller's proposed \"send\"\nPromise.prototype.nmcall = // XXX Based on \"Redsandro's\" proposal\nPromise.prototype.ninvoke = function (name /*...args*/) {\n var nodeArgs = array_slice(arguments, 1);\n var deferred = defer();\n nodeArgs.push(deferred.makeNodeResolver());\n this.dispatch(\"post\", [name, nodeArgs]).fail(deferred.reject);\n return deferred.promise;\n};\n\n/**\n * If a function would like to support both Node continuation-passing-style and\n * promise-returning-style, it can end its internal promise chain with\n * `nodeify(nodeback)`, forwarding the optional nodeback argument. If the user\n * elects to use a nodeback, the result will be sent there. If they do not\n * pass a nodeback, they will receive the result promise.\n * @param object a result (or a promise for a result)\n * @param {Function} nodeback a Node.js-style callback\n * @returns either the promise or nothing\n */\nQ.nodeify = nodeify;\nfunction nodeify(object, nodeback) {\n return Q(object).nodeify(nodeback);\n}\n\nPromise.prototype.nodeify = function (nodeback) {\n if (nodeback) {\n this.then(function (value) {\n Q.nextTick(function () {\n nodeback(null, value);\n });\n }, function (error) {\n Q.nextTick(function () {\n nodeback(error);\n });\n });\n } else {\n return this;\n }\n};\n\nQ.noConflict = function() {\n throw new Error(\"Q.noConflict only works when Q is used as a global\");\n};\n\n// All code before this point will be filtered from stack traces.\nvar qEndingLine = captureLine();\n\nreturn Q;\n\n});\n\n\n/***/ }),\n/* 18 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\nvar __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;\n\n/*!\n * Copyright (c) 2015-2016, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n\n/* eslint complexity: [2, 38], max-statements: [2, 38] */\n!(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(0), __webpack_require__(551)], __WEBPACK_AMD_DEFINE_RESULT__ = (function (Okta, TimeUtil) {\n\n var _ = Okta._;\n\n var fn = {};\n\n var factorData = {\n 'OKTA_VERIFY': {\n label: 'factor.totpSoft.oktaVerify',\n description: 'factor.totpSoft.description',\n iconClassName: 'mfa-okta-verify',\n sortOrder: 1\n },\n 'OKTA_VERIFY_PUSH': {\n label: 'factor.oktaVerifyPush',\n description: 'factor.push.description',\n iconClassName: 'mfa-okta-verify',\n sortOrder: 1\n },\n 'U2F': {\n label: 'factor.u2f',\n description: function description(brandName) {\n return brandName ? 'factor.u2f.description.specific' : 'factor.u2f.description.generic';\n },\n iconClassName: 'mfa-u2f',\n sortOrder: 2\n },\n 'WEBAUTHN': {\n label: 'factor.webauthn.biometric',\n description: 'factor.webauthn.biometric.description',\n iconClassName: 'mfa-webauthn',\n sortOrder: 2\n },\n 'WINDOWS_HELLO': {\n label: 'factor.windowsHello',\n description: function description(brandName) {\n return brandName ? 'factor.windowsHello.signin.description.specific' : 'factor.windowsHello.signin.description.generic';\n },\n iconClassName: 'mfa-windows-hello',\n sortOrder: 3\n },\n 'YUBIKEY': {\n label: 'factor.totpHard.yubikey',\n description: 'factor.totpHard.yubikey.description',\n iconClassName: 'mfa-yubikey',\n sortOrder: 4\n },\n 'GOOGLE_AUTH': {\n label: 'factor.totpSoft.googleAuthenticator',\n description: 'factor.totpSoft.description',\n iconClassName: 'mfa-google-auth',\n sortOrder: 5\n },\n 'CUSTOM_HOTP': {\n label: '',\n description: 'factor.hotp.description',\n iconClassName: 'mfa-hotp',\n sortOrder: 6\n },\n 'SMS': {\n label: 'factor.sms',\n description: 'factor.sms.description',\n iconClassName: 'mfa-okta-sms',\n sortOrder: 7\n },\n 'CALL': {\n label: 'factor.call',\n description: 'factor.call.description',\n iconClassName: 'mfa-okta-call',\n sortOrder: 8\n },\n 'EMAIL': {\n label: 'factor.email',\n description: 'factor.email.description',\n iconClassName: 'mfa-okta-email',\n sortOrder: 9\n },\n 'QUESTION': {\n label: 'factor.securityQuestion',\n description: 'factor.securityQuestion.description',\n iconClassName: 'mfa-okta-security-question',\n sortOrder: 10\n },\n 'DUO': {\n label: 'factor.duo',\n description: 'factor.duo.description',\n iconClassName: 'mfa-duo',\n sortOrder: 11\n },\n 'SYMANTEC_VIP': {\n label: 'factor.totpHard.symantecVip',\n description: 'factor.totpHard.description',\n iconClassName: 'mfa-symantec',\n sortOrder: 12\n },\n 'RSA_SECURID': {\n label: 'factor.totpHard.rsaSecurId',\n description: 'factor.totpHard.description',\n iconClassName: 'mfa-rsa',\n sortOrder: 13\n },\n 'ON_PREM': {\n label: '',\n description: 'factor.totpHard.description',\n iconClassName: 'mfa-onprem',\n sortOrder: 14\n },\n 'PASSWORD': {\n label: 'factor.password',\n description: '',\n iconClassName: 'mfa-okta-password',\n sortOrder: 15\n },\n 'CUSTOM_CLAIMS': {\n label: '',\n description: 'factor.customFactor.description',\n iconClassName: 'mfa-custom-factor',\n sortOrder: 16\n },\n 'GENERIC_SAML': {\n label: '',\n description: function description(brandName) {\n return brandName ? 'factor.customFactor.description.specific' : 'factor.customFactor.description.generic';\n },\n iconClassName: 'mfa-custom-factor',\n sortOrder: 17\n },\n 'GENERIC_OIDC': {\n label: '',\n description: function description(brandName) {\n return brandName ? 'factor.customFactor.description.specific' : 'factor.customFactor.description.generic';\n },\n iconClassName: 'mfa-custom-factor',\n sortOrder: 18\n }\n };\n\n fn.getFactorName = function (provider, factorType) {\n if (provider === 'OKTA' && factorType === 'token:software:totp') {\n return 'OKTA_VERIFY';\n }\n if (provider === 'OKTA' && factorType === 'push') {\n return 'OKTA_VERIFY_PUSH';\n }\n if (provider === 'GOOGLE') {\n return 'GOOGLE_AUTH';\n }\n if (provider === 'SYMANTEC' && factorType === 'token') {\n return 'SYMANTEC_VIP';\n }\n if (provider === 'RSA' && factorType === 'token') {\n return 'RSA_SECURID';\n }\n if (provider === 'DEL_OATH' && factorType === 'token') {\n return 'ON_PREM';\n }\n if (provider === 'DUO' && factorType === 'web') {\n return 'DUO';\n }\n if (provider === 'YUBICO' && factorType === 'token:hardware') {\n return 'YUBIKEY';\n }\n if (provider === 'OKTA' && factorType === 'sms') {\n return 'SMS';\n }\n if (provider === 'OKTA' && factorType === 'call') {\n return 'CALL';\n }\n if (provider === 'OKTA' && factorType === 'question') {\n return 'QUESTION';\n }\n if (provider === 'OKTA' && factorType === 'email') {\n return 'EMAIL';\n }\n if (provider === 'OKTA' && factorType === 'password') {\n return 'PASSWORD';\n }\n if (provider === 'GENERIC_SAML' && factorType === 'assertion:saml2') {\n return 'GENERIC_SAML';\n }\n if (provider === 'GENERIC_OIDC' && factorType === 'assertion:oidc') {\n return 'GENERIC_OIDC';\n }\n return fn.getFactorNameForFactorType.call(this, factorType);\n };\n\n fn.getFactorNameForFactorType = function (factorType) {\n if (factorType === 'u2f') {\n return 'U2F';\n }\n if (factorType === 'token:software:totp') {\n return 'OKTA_VERIFY';\n }\n if (factorType === 'webauthn') {\n if (this.settings.get('features.webauthn')) {\n return 'WEBAUTHN';\n } else {\n return 'WINDOWS_HELLO';\n }\n }\n if (factorType === 'token:hotp') {\n return 'CUSTOM_HOTP';\n }\n if (factorType === 'claims_provider') {\n return 'CUSTOM_CLAIMS';\n }\n };\n\n fn.isOktaVerify = function (provider, factorType) {\n return provider === 'OKTA' && (factorType === 'token:software:totp' || factorType === 'push');\n };\n\n fn.getFactorLabel = function (provider, factorType) {\n var key = factorData[fn.getFactorName.apply(this, [provider, factorType])].label;\n return Okta.loc(key, 'login');\n };\n\n fn.getFactorDescription = function (provider, factorType) {\n var descriptionKey = factorData[fn.getFactorName.apply(this, [provider, factorType])].description;\n if (_.isFunction(descriptionKey)) {\n var brandName = this.settings.get('brandName');\n var key = descriptionKey(brandName);\n return brandName ? Okta.loc(key, 'login', [brandName]) : Okta.loc(key, 'login');\n } else {\n return Okta.loc(descriptionKey, 'login');\n }\n };\n\n fn.getFactorIconClassName = function (provider, factorType) {\n return factorData[fn.getFactorName.apply(this, [provider, factorType])].iconClassName;\n };\n\n fn.getFactorSortOrder = function (provider, factorType) {\n return factorData[fn.getFactorName.apply(this, [provider, factorType])].sortOrder;\n };\n\n fn.getRememberDeviceValue = function (appState) {\n return appState && appState.get('rememberDeviceByDefault');\n };\n\n fn.getSecurityQuestionLabel = function (questionObj) {\n var localizedQuestion = Okta.loc('security.' + questionObj.question);\n return localizedQuestion.indexOf('L10N_ERROR') < 0 ? localizedQuestion : questionObj.questionText;\n };\n\n fn.getPasswordComplexityDescription = function (policy) {\n var result = [];\n\n var getPasswordAgeRequirement = function getPasswordAgeRequirement(displayableTime) {\n var propertiesString;\n switch (displayableTime.unit) {\n case 'DAY':\n propertiesString = 'password.complexity.minAgeDays';\n break;\n case 'HOUR':\n propertiesString = 'password.complexity.minAgeHours';\n break;\n case 'MINUTE':\n propertiesString = 'password.complexity.minAgeMinutes';\n }\n return Okta.loc(propertiesString, 'login', [displayableTime.time]);\n };\n\n var setExcludeAttributes = function setExcludeAttributes(policyComplexity) {\n var excludeAttributes = policyComplexity.excludeAttributes;\n policyComplexity.excludeFirstName = _.contains(excludeAttributes, 'firstName');\n policyComplexity.excludeLastName = _.contains(excludeAttributes, 'lastName');\n return _.omit(policyComplexity, 'excludeAttributes');\n };\n\n if (policy.complexity) {\n var complexityFields = {\n minLength: { i18n: 'password.complexity.length', args: true },\n minLowerCase: { i18n: 'password.complexity.lowercase' },\n minUpperCase: { i18n: 'password.complexity.uppercase' },\n minNumber: { i18n: 'password.complexity.number' },\n minSymbol: { i18n: 'password.complexity.symbol' },\n excludeUsername: { i18n: 'password.complexity.no_username' },\n excludeFirstName: { i18n: 'password.complexity.no_first_name' },\n excludeLastName: { i18n: 'password.complexity.no_last_name' }\n };\n\n var policyComplexity = setExcludeAttributes(policy.complexity);\n\n var requirements = _.map(policyComplexity, function (complexityValue, complexityType) {\n if (complexityValue <= 0) {\n // to skip 0 and -1\n return;\n }\n\n var params = complexityFields[complexityType];\n return params.args ? Okta.loc(params.i18n, 'login', [complexityValue]) : Okta.loc(params.i18n, 'login');\n });\n\n requirements = _.compact(requirements);\n\n if (requirements.length) {\n requirements = _.reduce(requirements, function (result, requirement) {\n return result ? result + Okta.loc('password.complexity.list.element', 'login', [requirement]) : requirement;\n });\n\n result.push(Okta.loc('password.complexity.requirements', 'login', [requirements]));\n }\n }\n\n if (policy.age && policy.age.historyCount > 0) {\n result.push(Okta.loc('password.complexity.history', 'login', [policy.age.historyCount]));\n }\n\n if (policy.age && policy.age.minAgeMinutes > 0) {\n var displayableTime = TimeUtil.getTimeInHighestRelevantUnit(policy.age.minAgeMinutes, 'MINUTE');\n var minAgeDescription = getPasswordAgeRequirement(displayableTime);\n result.push(minAgeDescription);\n }\n\n return result.join(' ');\n };\n\n fn.getCardinalityText = function (enrolled, required, cardinality) {\n if (cardinality) {\n if (enrolled) {\n return cardinality.enrolled === 1 ? '' : Okta.loc('enroll.choices.cardinality.setup', 'login', [cardinality.enrolled]);\n } else if (required && cardinality.maximum > 1) {\n return Okta.loc('enroll.choices.cardinality.setup.remaining', 'login', [cardinality.enrolled, cardinality.minimum]);\n }\n }\n return '';\n };\n\n fn.findFactorInFactorsArray = function (factors, provider, factorType) {\n var factor = factors.findWhere({ provider: provider, factorType: factorType });\n if (factor === undefined) {\n //for factors that support cardinality and only have factorType\n factor = factors.findWhere({ factorType: factorType });\n }\n return factor;\n };\n\n return fn;\n}).apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\n/***/ }),\n/* 19 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\nvar __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;\n\n/*!\n * Copyright (c) 2015-2016, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n\n!(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(0), __webpack_require__(6)], __WEBPACK_AMD_DEFINE_RESULT__ = (function (Okta, Enums) {\n\n return Okta.View.extend({\n template: '\\\n <a href=\"#\" class=\"link help js-back\" data-se=\"back-link\">\\\n {{i18n code=\"mfa.backToFactors\" bundle=\"login\"}}\\\n </a>\\\n ',\n className: 'auth-footer',\n events: {\n 'click .js-back': function clickJsBack(e) {\n e.preventDefault();\n this.options.appState.trigger('backToFactors');\n this.back();\n }\n },\n\n back: function back() {\n this.state.set('navigateDir', Enums.DIRECTION_BACK);\n if (this.options.appState.get('prevLink')) {\n // Once we are in the MFA_ENROLL_ACTIVATE, we need to reset to the\n // correct state. Fortunately, this means that the router will\n // handle navigation once the request is finished.\n this.model.doTransaction(function (transaction) {\n return transaction.prev();\n });\n } else {\n this.options.appState.trigger('navigate', 'signin/enroll');\n }\n }\n });\n}).apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\n/***/ }),\n/* 20 */\n/***/ (function(module, exports) {\n\nmodule.exports = function (it) {\n if (typeof it != 'function') throw TypeError(it + ' is not a function!');\n return it;\n};\n\n\n/***/ }),\n/* 21 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar global = __webpack_require__(22);\nvar core = __webpack_require__(9);\nvar ctx = __webpack_require__(78);\nvar hide = __webpack_require__(71);\nvar has = __webpack_require__(72);\nvar PROTOTYPE = 'prototype';\n\nvar $export = function (type, name, source) {\n var IS_FORCED = type & $export.F;\n var IS_GLOBAL = type & $export.G;\n var IS_STATIC = type & $export.S;\n var IS_PROTO = type & $export.P;\n var IS_BIND = type & $export.B;\n var IS_WRAP = type & $export.W;\n var exports = IS_GLOBAL ? core : core[name] || (core[name] = {});\n var expProto = exports[PROTOTYPE];\n var target = IS_GLOBAL ? global : IS_STATIC ? global[name] : (global[name] || {})[PROTOTYPE];\n var key, own, out;\n if (IS_GLOBAL) source = name;\n for (key in source) {\n // contains in native\n own = !IS_FORCED && target && target[key] !== undefined;\n if (own && has(exports, key)) continue;\n // export native or passed\n out = own ? target[key] : source[key];\n // prevent global pollution for namespaces\n exports[key] = IS_GLOBAL && typeof target[key] != 'function' ? source[key]\n // bind timers to global for call from export context\n : IS_BIND && own ? ctx(out, global)\n // wrap global constructors for prevent change them in library\n : IS_WRAP && target[key] == out ? (function (C) {\n var F = function (a, b, c) {\n if (this instanceof C) {\n switch (arguments.length) {\n case 0: return new C();\n case 1: return new C(a);\n case 2: return new C(a, b);\n } return new C(a, b, c);\n } return C.apply(this, arguments);\n };\n F[PROTOTYPE] = C[PROTOTYPE];\n return F;\n // make static versions for prototype methods\n })(out) : IS_PROTO && typeof out == 'function' ? ctx(Function.call, out) : out;\n // export proto methods to core.%CONSTRUCTOR%.methods.%NAME%\n if (IS_PROTO) {\n (exports.virtual || (exports.virtual = {}))[key] = out;\n // export proto methods to core.%CONSTRUCTOR%.prototype.%NAME%\n if (type & $export.R && expProto && !expProto[key]) hide(expProto, key, out);\n }\n }\n};\n// type bitmap\n$export.F = 1; // forced\n$export.G = 2; // global\n$export.S = 4; // static\n$export.P = 8; // proto\n$export.B = 16; // bind\n$export.W = 32; // wrap\n$export.U = 64; // safe\n$export.R = 128; // real proto method for `library`\nmodule.exports = $export;\n\n\n/***/ }),\n/* 22 */\n/***/ (function(module, exports) {\n\n// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028\nvar global = module.exports = typeof window != 'undefined' && window.Math == Math\n ? window : typeof self != 'undefined' && self.Math == Math ? self\n // eslint-disable-next-line no-new-func\n : Function('return this')();\nif (typeof __g == 'number') __g = global; // eslint-disable-line no-undef\n\n\n/***/ }),\n/* 23 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar store = __webpack_require__(161)('wks');\nvar uid = __webpack_require__(116);\nvar Symbol = __webpack_require__(22).Symbol;\nvar USE_SYMBOL = typeof Symbol == 'function';\n\nvar $exports = module.exports = function (name) {\n return store[name] || (store[name] =\n USE_SYMBOL && Symbol[name] || (USE_SYMBOL ? Symbol : uid)('Symbol.' + name));\n};\n\n$exports.store = store;\n\n\n/***/ }),\n/* 24 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\nvar __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;\n\n/*!\n * Copyright (c) 2015-2016, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n\n/* eslint complexity: [2, 46], max-statements: [2, 40] */\n!(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(0), __webpack_require__(153), __webpack_require__(13), __webpack_require__(6), __webpack_require__(58), __webpack_require__(33), __webpack_require__(587)], __WEBPACK_AMD_DEFINE_RESULT__ = (function (Okta, OAuth2Util, Util, Enums, BrowserFeatures, Errors, ErrorCodes) {\n var fn = {};\n\n var verifyUrlTpl = Okta.tpl('signin/verify/{{provider}}/{{factorType}}');\n var verifyUrlMultipleTpl = Okta.tpl('signin/verify/{{provider}}/{{factorType}}/{{factorIndex}}');\n var verifyUrlNoProviderTpl = Okta.tpl('signin/verify/{{factorType}}');\n var enrollFactorUrlTpl = Okta.tpl('signin/enroll/{{provider}}/{{factorType}}');\n var activateFactorUrlTpl = Okta.tpl('signin/enroll-activate/{{provider}}/{{factorType}}{{#if step}}/{{step}}{{/if}}');\n var recoveryUrlTpl = Okta.tpl('signin/recovery/{{recoveryToken}}');\n var refreshUrlTpl = Okta.tpl('signin/refresh-auth-state{{#if token}}/{{token}}{{/if}}');\n var sessionCookieRedirectTpl = Okta.tpl('{{baseUrl}}/login/sessionCookieRedirect?checkAccountSetupComplete=true' + '&token={{{token}}}&redirectUrl={{{redirectUrl}}}');\n\n fn.isHostBackgroundChromeTab = function () {\n // Checks if the SIW is loaded in a chrome webview and\n // it is in an app that is in background.\n if (navigator.userAgent.match(/Android/) && navigator.userAgent.match(/Chrome/) && document.hidden) {\n return true;\n } else {\n return false;\n }\n };\n\n fn.isDocumentVisible = function () {\n return document.visibilityState === 'visible';\n };\n\n fn.createVerifyUrl = function (provider, factorType, factorIndex) {\n if (provider && factorIndex) {\n return verifyUrlMultipleTpl({\n provider: encodeURIComponent(provider.toLowerCase()),\n factorType: encodeURIComponent(factorType),\n factorIndex: encodeURIComponent(factorIndex)\n });\n } else if (provider) {\n return verifyUrlTpl({\n provider: encodeURIComponent(provider.toLowerCase()),\n factorType: encodeURIComponent(factorType)\n });\n } else {\n return verifyUrlNoProviderTpl({\n factorType: encodeURIComponent(factorType)\n });\n }\n };\n\n fn.createEnrollFactorUrl = function (provider, factorType) {\n return enrollFactorUrlTpl({\n provider: encodeURIComponent(provider.toLowerCase()),\n factorType: encodeURIComponent(factorType)\n });\n };\n\n fn.createActivateFactorUrl = function (provider, factorType, step) {\n return activateFactorUrlTpl({\n provider: encodeURIComponent(provider.toLowerCase()),\n factorType: encodeURIComponent(factorType),\n step: step ? encodeURIComponent(step) : false\n });\n };\n\n fn.createRecoveryUrl = function (recoveryToken) {\n return recoveryUrlTpl({\n recoveryToken: encodeURIComponent(recoveryToken)\n });\n };\n\n fn.createRefreshUrl = function (stateToken) {\n var token = stateToken ? encodeURIComponent(stateToken) : null;\n return refreshUrlTpl({ token: token });\n };\n\n fn.routeAfterAuthStatusChangeError = function (router, err) {\n if (!err) {\n return;\n }\n\n // Global error handling for CORS enabled errors\n if (err.xhr && BrowserFeatures.corsIsNotEnabled(err.xhr)) {\n router.settings.callGlobalError(new Errors.UnsupportedBrowserError(Okta.loc('error.enabled.cors')));\n return;\n }\n\n // Token has expired - no longer valid. Navigate back to primary auth.\n if (err.errorCode === ErrorCodes.INVALID_TOKEN_EXCEPTION) {\n router.appState.set('flashError', err);\n router.controller.state.set('navigateDir', Enums.DIRECTION_BACK);\n router.navigate('', { trigger: true });\n return;\n }\n\n Util.triggerAfterError(router.controller, err);\n };\n\n fn.routeAfterAuthStatusChange = function (router, res) {\n // Other errors are handled by the function making the authClient request\n if (!res || !res.status) {\n router.appState.clearLastAuthResponse();\n return;\n }\n\n router.appState.setAuthResponse(res);\n\n if (router.controller && router.controller.trapAuthResponse(res)) {\n return;\n }\n\n fn.handleResponseStatus(router, res);\n };\n\n fn.handleResponseStatus = function (router, res) {\n switch (res.status) {\n case 'SUCCESS':\n if (res.recoveryType === Enums.RECOVERY_TYPE_UNLOCK) {\n router.navigate('signin/account-unlocked', { trigger: true });\n return;\n }\n\n // If the desired end result object needs to have idToken (and not sessionToken),\n // get the id token from session token before calling the global success function.\n if (router.settings.get('oauth2Enabled')) {\n OAuth2Util.getTokens(router.settings, { sessionToken: res.sessionToken }, router.controller);\n return;\n }\n\n var successData = {\n user: res._embedded.user,\n type: res.type || Enums.SESSION_SSO\n };\n\n if (res.relayState) {\n successData.relayState = res.relayState;\n }\n\n var redirectFn = router.settings.get('redirectUtilFn');\n\n var nextUrl = res._links && (res._links.original && res._links.original.href || res._links.next && res._links.next.href);\n if (res.type === Enums.SESSION_STEP_UP) {\n var targetUrl = res._links && res._links.next && res._links.next.href;\n successData.stepUp = {\n url: targetUrl,\n finish: function finish() {\n redirectFn(targetUrl);\n }\n };\n } else if (nextUrl) {\n successData.next = function () {\n redirectFn(nextUrl);\n };\n } else {\n // Add the type for now until the API returns it.\n successData.type = Enums.SESSION_SSO;\n successData.session = {\n token: res.sessionToken,\n setCookieAndRedirect: function setCookieAndRedirect(redirectUrl) {\n redirectFn(sessionCookieRedirectTpl({\n baseUrl: router.settings.get('baseUrl'),\n token: encodeURIComponent(res.sessionToken),\n redirectUrl: encodeURIComponent(redirectUrl)\n }));\n }\n };\n }\n\n // Check if we need to wait for redirect based on host.\n if (router.settings.get('features.restrictRedirectToForeground') && fn.isHostBackgroundChromeTab()) {\n document.addEventListener('visibilitychange', function checkVisibilityAndCallSuccess() {\n if (fn.isDocumentVisible()) {\n document.removeEventListener('visibilitychange', checkVisibilityAndCallSuccess);\n router.settings.callGlobalSuccess(Enums.SUCCESS, successData);\n }\n });\n } else {\n router.settings.callGlobalSuccess(Enums.SUCCESS, successData);\n }\n return;\n case 'CONSENT_REQUIRED':\n if (router.settings.get('features.consent')) {\n router.navigate('signin/consent', { trigger: true });\n }\n return;\n // We want the same view for FACTOR_REQUIRED & FACTOR_CHALLENGE\n // In the new idx pipeline FACTOR_CHALLENGE API response does not contain a prev link\n case 'FACTOR_REQUIRED':\n case 'FACTOR_CHALLENGE':\n case 'MFA_REQUIRED':\n // When the widget is bootstrapped with an error in MFA_CHALLENGE state, we pass the\n // lastFailedChallengeFactorData to MFA_REQUIRED, in order to show the error message\n // on the correct factor view\n var lastFailedChallengeFactorData = router.appState.get('lastFailedChallengeFactorData');\n if (lastFailedChallengeFactorData && lastFailedChallengeFactorData.factor) {\n router.appState.get('factors').lastUsedFactor = lastFailedChallengeFactorData.factor;\n }\n var factor = router.appState.get('factors').getDefaultFactor();\n var url = fn.createVerifyUrl(factor.get('provider'), factor.get('factorType'));\n router.navigate(url, { trigger: true });\n router.appState.clearLastFailedChallengeFactorData();\n return;\n\n case 'POLL':\n var pollUrl = 'signin/poll';\n router.navigate(pollUrl, { trigger: true });\n return;\n\n case 'MFA_CHALLENGE':\n // Since we normally trap MFA_CHALLENGE, this will only get called on a\n // page refresh or when an error is returned on verification with an IdP.\n // We need to return to MFA_REQUIRED to initialize the\n // page correctly (i.e. factors dropdown, etc)\n if (router.appState.get('isFactorResultFailed')) {\n router.appState.setLastFailedChallengeFactorData();\n }\n router.appState.get('transaction').prev().then(function (trans) {\n router.appState.set('transaction', trans);\n }).done();\n return;\n case 'MFA_ENROLL':\n case 'FACTOR_ENROLL':\n router.navigate('signin/enroll', { trigger: true });\n return;\n case 'MFA_ENROLL_ACTIVATE':\n case 'FACTOR_ENROLL_ACTIVATE':\n var activateUrl = fn.createActivateFactorUrl(router.appState.get('activatedFactorProvider'), router.appState.get('activatedFactorType'));\n router.navigate(activateUrl, { trigger: true });\n return;\n case 'PASSWORD_WARN':\n case 'PASSWORD_EXPIRED':\n if (router.settings.get('features.customExpiredPassword') && !router.appState.get('isPwdManagedByOkta')) {\n router.navigate('signin/custom-password-expired', { trigger: true });\n } else {\n router.navigate('signin/password-expired', { trigger: true });\n }\n return;\n case 'RECOVERY_CHALLENGE':\n // Will use this workaround (lowercasing response) until OKTA-69083 is resolved\n var fromEmail = res.factorType.toLowerCase() === Enums.RECOVERY_FACTOR_TYPE_EMAIL.toLowerCase(),\n isForgotPassword = res.recoveryType === Enums.RECOVERY_TYPE_PASSWORD,\n isUnlock = res.recoveryType === Enums.RECOVERY_TYPE_UNLOCK;\n if (isForgotPassword && fromEmail) {\n router.navigate('signin/recovery-emailed', { trigger: true });\n } else if (isUnlock && fromEmail) {\n router.navigate('signin/unlock-emailed', { trigger: true });\n } else {\n router.navigate('signin/recovery-challenge', { trigger: true });\n }\n return;\n case 'RECOVERY':\n router.navigate('signin/recovery-question', { trigger: true });\n return;\n case 'PASSWORD_RESET':\n router.navigate('signin/password-reset', { trigger: true });\n return;\n case 'LOCKED_OUT':\n if (router.settings.get('features.selfServiceUnlock')) {\n router.navigate('signin/unlock', { trigger: true });\n } else {\n router.controller.model.trigger('error', router.controller.model, {\n responseJSON: {\n errorCauses: [],\n errorSummary: Okta.loc('error.auth.lockedOut', 'login')\n }\n });\n }\n return;\n case 'PROFILE_REQUIRED':\n router.navigate('signin/enroll-user', { trigger: true });\n return;\n case 'UNAUTHENTICATED':\n // Either we have factors and we are in passwordlessAuth mode\n if (router.appState.get('promptForFactorInUnauthenticated')) {\n var defaultFactor = router.appState.get('factors').getDefaultFactor();\n var factorURL = fn.createVerifyUrl(defaultFactor.get('provider'), defaultFactor.get('factorType'));\n router.navigate(factorURL, { trigger: true });\n return;\n }\n // Or we don't have anything and we need to show the login page\n router.navigate('', { trigger: true });\n return;\n default:\n throw new Error('Unknown status: ' + res.status);\n }\n };\n\n return fn;\n}).apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\n/***/ }),\n/* 25 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar dP = __webpack_require__(15);\nvar createDesc = __webpack_require__(60);\nmodule.exports = __webpack_require__(12) ? function (object, key, value) {\n return dP.f(object, key, createDesc(1, value));\n} : function (object, key, value) {\n object[key] = value;\n return object;\n};\n\n\n/***/ }),\n/* 26 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar global = __webpack_require__(5);\nvar hide = __webpack_require__(25);\nvar has = __webpack_require__(29);\nvar SRC = __webpack_require__(61)('src');\nvar $toString = __webpack_require__(276);\nvar TO_STRING = 'toString';\nvar TPL = ('' + $toString).split(TO_STRING);\n\n__webpack_require__(34).inspectSource = function (it) {\n return $toString.call(it);\n};\n\n(module.exports = function (O, key, val, safe) {\n var isFunction = typeof val == 'function';\n if (isFunction) has(val, 'name') || hide(val, 'name', key);\n if (O[key] === val) return;\n if (isFunction) has(val, SRC) || hide(val, SRC, O[key] ? '' + O[key] : TPL.join(String(key)));\n if (O === global) {\n O[key] = val;\n } else if (!safe) {\n delete O[key];\n hide(O, key, val);\n } else if (O[key]) {\n O[key] = val;\n } else {\n hide(O, key, val);\n }\n// add fake Function#toString for correct work wrapped methods / constructors with methods like LoDash isNative\n})(Function.prototype, TO_STRING, function toString() {\n return typeof this == 'function' && this[SRC] || $toString.call(this);\n});\n\n\n/***/ }),\n/* 27 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar $export = __webpack_require__(1);\nvar fails = __webpack_require__(7);\nvar defined = __webpack_require__(42);\nvar quot = /\"/g;\n// B.2.3.2.1 CreateHTML(string, tag, attribute, value)\nvar createHTML = function (string, tag, attribute, value) {\n var S = String(defined(string));\n var p1 = '<' + tag;\n if (attribute !== '') p1 += ' ' + attribute + '=\"' + String(value).replace(quot, '"') + '\"';\n return p1 + '>' + S + '</' + tag + '>';\n};\nmodule.exports = function (NAME, exec) {\n var O = {};\n O[NAME] = exec(createHTML);\n $export($export.P + $export.F * fails(function () {\n var test = ''[NAME]('\"');\n return test !== test.toLowerCase() || test.split('\"').length > 3;\n }), 'String', O);\n};\n\n\n/***/ }),\n/* 28 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _okta = __webpack_require__(0);\n\nvar _FormInputFactory = __webpack_require__(651);\n\nvar _FormInputFactory2 = _interopRequireDefault(_FormInputFactory);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = _okta.Form.extend({\n\n layout: 'o-form-theme',\n className: 'ion-form',\n hasSavingState: true,\n autoSave: false,\n noCancelButton: true,\n title: 'Authenticate',\n save: (0, _okta.loc)('oform.next', 'login'),\n\n initialize: function initialize() {\n var _this = this;\n\n var uiSchemas = this.getUISchema();\n var inputOptions = uiSchemas.map(_FormInputFactory2.default.create);\n\n //should be used before adding any other input components\n this.addCallouts();\n\n inputOptions.forEach(function (input) {\n _this.addInputOrView(input);\n });\n\n this.listenTo(this, 'save', this.saveForm);\n },\n\n saveForm: function saveForm(model) {\n //remove any existing warnings or messages before saving form\n this.$el.find('.o-form-error-container').empty();\n this.options.appState.trigger('saveForm', model);\n },\n getUISchema: function getUISchema() {\n if (Array.isArray(this.options.currentViewState.uiSchema)) {\n return this.options.currentViewState.uiSchema;\n } else {\n return [];\n }\n },\n addInputOrView: function addInputOrView(input) {\n if (input.View) {\n this.add(input.View, {\n options: input.options\n });\n } else {\n this.addInput(input);\n }\n },\n addCallouts: function addCallouts() {\n var warningMsgs = this.options.appState.get('messages');\n if (warningMsgs && warningMsgs.value.length) {\n var messageCallout = (0, _okta.createCallout)({\n content: warningMsgs.value[0].message,\n type: 'warning'\n });\n this.add(messageCallout, '.o-form-error-container');\n }\n }\n});\n\n/***/ }),\n/* 29 */\n/***/ (function(module, exports) {\n\nvar hasOwnProperty = {}.hasOwnProperty;\nmodule.exports = function (it, key) {\n return hasOwnProperty.call(it, key);\n};\n\n\n/***/ }),\n/* 30 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// to indexed object, toObject with fallback for non-array-like ES3 strings\nvar IObject = __webpack_require__(85);\nvar defined = __webpack_require__(42);\nmodule.exports = function (it) {\n return IObject(defined(it));\n};\n\n\n/***/ }),\n/* 31 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar pIE = __webpack_require__(86);\nvar createDesc = __webpack_require__(60);\nvar toIObject = __webpack_require__(30);\nvar toPrimitive = __webpack_require__(41);\nvar has = __webpack_require__(29);\nvar IE8_DOM_DEFINE = __webpack_require__(183);\nvar gOPD = Object.getOwnPropertyDescriptor;\n\nexports.f = __webpack_require__(12) ? gOPD : function getOwnPropertyDescriptor(O, P) {\n O = toIObject(O);\n P = toPrimitive(P, true);\n if (IE8_DOM_DEFINE) try {\n return gOPD(O, P);\n } catch (e) { /* empty */ }\n if (has(O, P)) return createDesc(!pIE.f.call(O, P), O[P]);\n};\n\n\n/***/ }),\n/* 32 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 19.1.2.9 / 15.2.3.2 Object.getPrototypeOf(O)\nvar has = __webpack_require__(29);\nvar toObject = __webpack_require__(16);\nvar IE_PROTO = __webpack_require__(126)('IE_PROTO');\nvar ObjectProto = Object.prototype;\n\nmodule.exports = Object.getPrototypeOf || function (O) {\n O = toObject(O);\n if (has(O, IE_PROTO)) return O[IE_PROTO];\n if (typeof O.constructor == 'function' && O instanceof O.constructor) {\n return O.constructor.prototype;\n } return O instanceof Object ? ObjectProto : null;\n};\n\n\n/***/ }),\n/* 33 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\nvar __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;\n\n/*!\n * Copyright (c) 2015-2016, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n\n!(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(0), __webpack_require__(6)], __WEBPACK_AMD_DEFINE_RESULT__ = (function (Okta, Enums) {\n\n function ConfigError(message) {\n this.name = Enums.CONFIG_ERROR;\n this.message = message || Okta.loc('error.config');\n }\n ConfigError.prototype = new Error();\n\n function UnsupportedBrowserError(message) {\n this.name = Enums.UNSUPPORTED_BROWSER_ERROR;\n this.message = message || Okta.loc('error.unsupported.browser');\n }\n UnsupportedBrowserError.prototype = new Error();\n\n function OAuthError(message) {\n this.name = Enums.OAUTH_ERROR;\n this.message = message;\n }\n OAuthError.prototype = new Error();\n\n function RegistrationError(message) {\n this.name = Enums.REGISTRATION_FAILED;\n this.message = message;\n }\n RegistrationError.prototype = new Error();\n\n // Thrown when initiation of poll was cancelled.\n function AuthStopPollInitiationError() {\n this.name = Enums.AUTH_STOP_POLL_INITIATION_ERROR;\n }\n AuthStopPollInitiationError.prototype = new Error();\n\n function U2FError(err) {\n this.name = Enums.U2F_ERROR;\n this.message = err.xhr.responseJSON.errorSummary;\n this.xhr = err.xhr;\n }\n U2FError.prototype = new Error();\n\n function WebAuthnError(err) {\n this.name = Enums.WEB_AUTHN_ERROR;\n this.message = err.xhr.responseJSON.errorSummary;\n this.xhr = err.xhr;\n }\n WebAuthnError.prototype = new Error();\n\n // This is triggered only when code aborts webauthn browser prompt.\n function WebauthnAbortError() {\n this.name = Enums.WEBAUTHN_ABORT_ERROR;\n }\n WebauthnAbortError.prototype = new Error();\n\n return {\n ConfigError: ConfigError,\n UnsupportedBrowserError: UnsupportedBrowserError,\n OAuthError: OAuthError,\n RegistrationError: RegistrationError,\n AuthStopPollInitiationError: AuthStopPollInitiationError,\n U2FError: U2FError,\n WebAuthnError: WebAuthnError,\n WebauthnAbortError: WebauthnAbortError\n };\n}).apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\n/***/ }),\n/* 34 */\n/***/ (function(module, exports) {\n\nvar core = module.exports = { version: '2.6.9' };\nif (typeof __e == 'number') __e = core; // eslint-disable-line no-undef\n\n\n/***/ }),\n/* 35 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// optional / simple context binding\nvar aFunction = __webpack_require__(20);\nmodule.exports = function (fn, that, length) {\n aFunction(fn);\n if (that === undefined) return fn;\n switch (length) {\n case 1: return function (a) {\n return fn.call(that, a);\n };\n case 2: return function (a, b) {\n return fn.call(that, a, b);\n };\n case 3: return function (a, b, c) {\n return fn.call(that, a, b, c);\n };\n }\n return function (/* ...args */) {\n return fn.apply(that, arguments);\n };\n};\n\n\n/***/ }),\n/* 36 */\n/***/ (function(module, exports) {\n\nvar toString = {}.toString;\n\nmodule.exports = function (it) {\n return toString.call(it).slice(8, -1);\n};\n\n\n/***/ }),\n/* 37 */\n/***/ (function(module, exports) {\n\n// 7.1.4 ToInteger\nvar ceil = Math.ceil;\nvar floor = Math.floor;\nmodule.exports = function (it) {\n return isNaN(it = +it) ? 0 : (it > 0 ? floor : ceil)(it);\n};\n\n\n/***/ }),\n/* 38 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar fails = __webpack_require__(7);\n\nmodule.exports = function (method, arg) {\n return !!method && fails(function () {\n // eslint-disable-next-line no-useless-call\n arg ? method.call(null, function () { /* empty */ }, 1) : method.call(null);\n });\n};\n\n\n/***/ }),\n/* 39 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// Thank's IE8 for his funny defineProperty\nmodule.exports = !__webpack_require__(79)(function () {\n return Object.defineProperty({}, 'a', { get: function () { return 7; } }).a != 7;\n});\n\n\n/***/ }),\n/* 40 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _okta = __webpack_require__(0);\n\nvar _BaseForm = __webpack_require__(28);\n\nvar _BaseForm2 = _interopRequireDefault(_BaseForm);\n\nvar _BaseModel = __webpack_require__(653);\n\nvar _BaseModel2 = _interopRequireDefault(_BaseModel);\n\nvar _BaseHeader = __webpack_require__(266);\n\nvar _BaseHeader2 = _interopRequireDefault(_BaseHeader);\n\nvar _BaseFooter = __webpack_require__(59);\n\nvar _BaseFooter2 = _interopRequireDefault(_BaseFooter);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = _okta.View.extend({\n\n Header: _BaseHeader2.default,\n\n Body: _BaseForm2.default,\n\n Footer: _BaseFooter2.default,\n\n className: 'siw-main-view',\n\n template: '<div class=\"siw-main-header\"></div>' + '<div class=\"siw-main-body\"></div>' + '<div class=\"siw-main-footer\"></div>',\n\n initialize: function initialize() {\n // Create Model\n var IonModel = this.createModelClass();\n var model = new IonModel({\n formName: this.options.currentViewState.name\n });\n\n // Add Views\n this.add(this.Header, { selector: '.siw-main-header' });\n this.add(this.Body, {\n selector: '.siw-main-body',\n options: {\n model: model\n }\n });\n this.add(this.Footer, { selector: '.siw-main-footer' });\n },\n postRender: function postRender() {\n // If user enterted identifier is not found, API sends back a message with a link to sign up\n // This is the click handler for that link\n var appState = this.options.appState;\n this.$el.find('.js-sign-up').click(function () {\n appState.trigger('invokeAction', 'select-enroll-profile');\n return false;\n });\n },\n createModelClass: function createModelClass() {\n return _BaseModel2.default.create(this.options.currentViewState);\n }\n});\n\n/***/ }),\n/* 41 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 7.1.1 ToPrimitive(input [, PreferredType])\nvar isObject = __webpack_require__(8);\n// instead of the ES6 spec version, we didn't implement @@toPrimitive case\n// and the second argument - flag - preferred type is a string\nmodule.exports = function (it, S) {\n if (!isObject(it)) return it;\n var fn, val;\n if (S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it))) return val;\n if (typeof (fn = it.valueOf) == 'function' && !isObject(val = fn.call(it))) return val;\n if (!S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it))) return val;\n throw TypeError(\"Can't convert object to primitive value\");\n};\n\n\n/***/ }),\n/* 42 */\n/***/ (function(module, exports) {\n\n// 7.2.1 RequireObjectCoercible(argument)\nmodule.exports = function (it) {\n if (it == undefined) throw TypeError(\"Can't call method on \" + it);\n return it;\n};\n\n\n/***/ }),\n/* 43 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// most Object methods by ES6 should accept primitives\nvar $export = __webpack_require__(1);\nvar core = __webpack_require__(34);\nvar fails = __webpack_require__(7);\nmodule.exports = function (KEY, exec) {\n var fn = (core.Object || {})[KEY] || Object[KEY];\n var exp = {};\n exp[KEY] = exec(fn);\n $export($export.S + $export.F * fails(function () { fn(1); }), 'Object', exp);\n};\n\n\n/***/ }),\n/* 44 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 0 -> Array#forEach\n// 1 -> Array#map\n// 2 -> Array#filter\n// 3 -> Array#some\n// 4 -> Array#every\n// 5 -> Array#find\n// 6 -> Array#findIndex\nvar ctx = __webpack_require__(35);\nvar IObject = __webpack_require__(85);\nvar toObject = __webpack_require__(16);\nvar toLength = __webpack_require__(11);\nvar asc = __webpack_require__(142);\nmodule.exports = function (TYPE, $create) {\n var IS_MAP = TYPE == 1;\n var IS_FILTER = TYPE == 2;\n var IS_SOME = TYPE == 3;\n var IS_EVERY = TYPE == 4;\n var IS_FIND_INDEX = TYPE == 6;\n var NO_HOLES = TYPE == 5 || IS_FIND_INDEX;\n var create = $create || asc;\n return function ($this, callbackfn, that) {\n var O = toObject($this);\n var self = IObject(O);\n var f = ctx(callbackfn, that, 3);\n var length = toLength(self.length);\n var index = 0;\n var result = IS_MAP ? create($this, length) : IS_FILTER ? create($this, 0) : undefined;\n var val, res;\n for (;length > index; index++) if (NO_HOLES || index in self) {\n val = self[index];\n res = f(val, index, O);\n if (TYPE) {\n if (IS_MAP) result[index] = res; // map\n else if (res) switch (TYPE) {\n case 3: return true; // some\n case 5: return val; // find\n case 6: return index; // findIndex\n case 2: result.push(val); // filter\n } else if (IS_EVERY) return false; // every\n }\n }\n return IS_FIND_INDEX ? -1 : IS_SOME || IS_EVERY ? IS_EVERY : result;\n };\n};\n\n\n/***/ }),\n/* 45 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar isObject = __webpack_require__(46);\nmodule.exports = function (it) {\n if (!isObject(it)) throw TypeError(it + ' is not an object!');\n return it;\n};\n\n\n/***/ }),\n/* 46 */\n/***/ (function(module, exports) {\n\nmodule.exports = function (it) {\n return typeof it === 'object' ? it !== null : typeof it === 'function';\n};\n\n\n/***/ }),\n/* 47 */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = { \"default\": __webpack_require__(552), __esModule: true };\n\n/***/ }),\n/* 48 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nif (__webpack_require__(12)) {\n var LIBRARY = __webpack_require__(53);\n var global = __webpack_require__(5);\n var fails = __webpack_require__(7);\n var $export = __webpack_require__(1);\n var $typed = __webpack_require__(111);\n var $buffer = __webpack_require__(150);\n var ctx = __webpack_require__(35);\n var anInstance = __webpack_require__(67);\n var propertyDesc = __webpack_require__(60);\n var hide = __webpack_require__(25);\n var redefineAll = __webpack_require__(69);\n var toInteger = __webpack_require__(37);\n var toLength = __webpack_require__(11);\n var toIndex = __webpack_require__(211);\n var toAbsoluteIndex = __webpack_require__(63);\n var toPrimitive = __webpack_require__(41);\n var has = __webpack_require__(29);\n var classof = __webpack_require__(74);\n var isObject = __webpack_require__(8);\n var toObject = __webpack_require__(16);\n var isArrayIter = __webpack_require__(139);\n var create = __webpack_require__(64);\n var getPrototypeOf = __webpack_require__(32);\n var gOPN = __webpack_require__(65).f;\n var getIterFn = __webpack_require__(141);\n var uid = __webpack_require__(61);\n var wks = __webpack_require__(10);\n var createArrayMethod = __webpack_require__(44);\n var createArrayIncludes = __webpack_require__(101);\n var speciesConstructor = __webpack_require__(88);\n var ArrayIterators = __webpack_require__(144);\n var Iterators = __webpack_require__(76);\n var $iterDetect = __webpack_require__(106);\n var setSpecies = __webpack_require__(66);\n var arrayFill = __webpack_require__(143);\n var arrayCopyWithin = __webpack_require__(200);\n var $DP = __webpack_require__(15);\n var $GOPD = __webpack_require__(31);\n var dP = $DP.f;\n var gOPD = $GOPD.f;\n var RangeError = global.RangeError;\n var TypeError = global.TypeError;\n var Uint8Array = global.Uint8Array;\n var ARRAY_BUFFER = 'ArrayBuffer';\n var SHARED_BUFFER = 'Shared' + ARRAY_BUFFER;\n var BYTES_PER_ELEMENT = 'BYTES_PER_ELEMENT';\n var PROTOTYPE = 'prototype';\n var ArrayProto = Array[PROTOTYPE];\n var $ArrayBuffer = $buffer.ArrayBuffer;\n var $DataView = $buffer.DataView;\n var arrayForEach = createArrayMethod(0);\n var arrayFilter = createArrayMethod(2);\n var arraySome = createArrayMethod(3);\n var arrayEvery = createArrayMethod(4);\n var arrayFind = createArrayMethod(5);\n var arrayFindIndex = createArrayMethod(6);\n var arrayIncludes = createArrayIncludes(true);\n var arrayIndexOf = createArrayIncludes(false);\n var arrayValues = ArrayIterators.values;\n var arrayKeys = ArrayIterators.keys;\n var arrayEntries = ArrayIterators.entries;\n var arrayLastIndexOf = ArrayProto.lastIndexOf;\n var arrayReduce = ArrayProto.reduce;\n var arrayReduceRight = ArrayProto.reduceRight;\n var arrayJoin = ArrayProto.join;\n var arraySort = ArrayProto.sort;\n var arraySlice = ArrayProto.slice;\n var arrayToString = ArrayProto.toString;\n var arrayToLocaleString = ArrayProto.toLocaleString;\n var ITERATOR = wks('iterator');\n var TAG = wks('toStringTag');\n var TYPED_CONSTRUCTOR = uid('typed_constructor');\n var DEF_CONSTRUCTOR = uid('def_constructor');\n var ALL_CONSTRUCTORS = $typed.CONSTR;\n var TYPED_ARRAY = $typed.TYPED;\n var VIEW = $typed.VIEW;\n var WRONG_LENGTH = 'Wrong length!';\n\n var $map = createArrayMethod(1, function (O, length) {\n return allocate(speciesConstructor(O, O[DEF_CONSTRUCTOR]), length);\n });\n\n var LITTLE_ENDIAN = fails(function () {\n // eslint-disable-next-line no-undef\n return new Uint8Array(new Uint16Array([1]).buffer)[0] === 1;\n });\n\n var FORCED_SET = !!Uint8Array && !!Uint8Array[PROTOTYPE].set && fails(function () {\n new Uint8Array(1).set({});\n });\n\n var toOffset = function (it, BYTES) {\n var offset = toInteger(it);\n if (offset < 0 || offset % BYTES) throw RangeError('Wrong offset!');\n return offset;\n };\n\n var validate = function (it) {\n if (isObject(it) && TYPED_ARRAY in it) return it;\n throw TypeError(it + ' is not a typed array!');\n };\n\n var allocate = function (C, length) {\n if (!(isObject(C) && TYPED_CONSTRUCTOR in C)) {\n throw TypeError('It is not a typed array constructor!');\n } return new C(length);\n };\n\n var speciesFromList = function (O, list) {\n return fromList(speciesConstructor(O, O[DEF_CONSTRUCTOR]), list);\n };\n\n var fromList = function (C, list) {\n var index = 0;\n var length = list.length;\n var result = allocate(C, length);\n while (length > index) result[index] = list[index++];\n return result;\n };\n\n var addGetter = function (it, key, internal) {\n dP(it, key, { get: function () { return this._d[internal]; } });\n };\n\n var $from = function from(source /* , mapfn, thisArg */) {\n var O = toObject(source);\n var aLen = arguments.length;\n var mapfn = aLen > 1 ? arguments[1] : undefined;\n var mapping = mapfn !== undefined;\n var iterFn = getIterFn(O);\n var i, length, values, result, step, iterator;\n if (iterFn != undefined && !isArrayIter(iterFn)) {\n for (iterator = iterFn.call(O), values = [], i = 0; !(step = iterator.next()).done; i++) {\n values.push(step.value);\n } O = values;\n }\n if (mapping && aLen > 2) mapfn = ctx(mapfn, arguments[2], 2);\n for (i = 0, length = toLength(O.length), result = allocate(this, length); length > i; i++) {\n result[i] = mapping ? mapfn(O[i], i) : O[i];\n }\n return result;\n };\n\n var $of = function of(/* ...items */) {\n var index = 0;\n var length = arguments.length;\n var result = allocate(this, length);\n while (length > index) result[index] = arguments[index++];\n return result;\n };\n\n // iOS Safari 6.x fails here\n var TO_LOCALE_BUG = !!Uint8Array && fails(function () { arrayToLocaleString.call(new Uint8Array(1)); });\n\n var $toLocaleString = function toLocaleString() {\n return arrayToLocaleString.apply(TO_LOCALE_BUG ? arraySlice.call(validate(this)) : validate(this), arguments);\n };\n\n var proto = {\n copyWithin: function copyWithin(target, start /* , end */) {\n return arrayCopyWithin.call(validate(this), target, start, arguments.length > 2 ? arguments[2] : undefined);\n },\n every: function every(callbackfn /* , thisArg */) {\n return arrayEvery(validate(this), callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n },\n fill: function fill(value /* , start, end */) { // eslint-disable-line no-unused-vars\n return arrayFill.apply(validate(this), arguments);\n },\n filter: function filter(callbackfn /* , thisArg */) {\n return speciesFromList(this, arrayFilter(validate(this), callbackfn,\n arguments.length > 1 ? arguments[1] : undefined));\n },\n find: function find(predicate /* , thisArg */) {\n return arrayFind(validate(this), predicate, arguments.length > 1 ? arguments[1] : undefined);\n },\n findIndex: function findIndex(predicate /* , thisArg */) {\n return arrayFindIndex(validate(this), predicate, arguments.length > 1 ? arguments[1] : undefined);\n },\n forEach: function forEach(callbackfn /* , thisArg */) {\n arrayForEach(validate(this), callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n },\n indexOf: function indexOf(searchElement /* , fromIndex */) {\n return arrayIndexOf(validate(this), searchElement, arguments.length > 1 ? arguments[1] : undefined);\n },\n includes: function includes(searchElement /* , fromIndex */) {\n return arrayIncludes(validate(this), searchElement, arguments.length > 1 ? arguments[1] : undefined);\n },\n join: function join(separator) { // eslint-disable-line no-unused-vars\n return arrayJoin.apply(validate(this), arguments);\n },\n lastIndexOf: function lastIndexOf(searchElement /* , fromIndex */) { // eslint-disable-line no-unused-vars\n return arrayLastIndexOf.apply(validate(this), arguments);\n },\n map: function map(mapfn /* , thisArg */) {\n return $map(validate(this), mapfn, arguments.length > 1 ? arguments[1] : undefined);\n },\n reduce: function reduce(callbackfn /* , initialValue */) { // eslint-disable-line no-unused-vars\n return arrayReduce.apply(validate(this), arguments);\n },\n reduceRight: function reduceRight(callbackfn /* , initialValue */) { // eslint-disable-line no-unused-vars\n return arrayReduceRight.apply(validate(this), arguments);\n },\n reverse: function reverse() {\n var that = this;\n var length = validate(that).length;\n var middle = Math.floor(length / 2);\n var index = 0;\n var value;\n while (index < middle) {\n value = that[index];\n that[index++] = that[--length];\n that[length] = value;\n } return that;\n },\n some: function some(callbackfn /* , thisArg */) {\n return arraySome(validate(this), callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n },\n sort: function sort(comparefn) {\n return arraySort.call(validate(this), comparefn);\n },\n subarray: function subarray(begin, end) {\n var O = validate(this);\n var length = O.length;\n var $begin = toAbsoluteIndex(begin, length);\n return new (speciesConstructor(O, O[DEF_CONSTRUCTOR]))(\n O.buffer,\n O.byteOffset + $begin * O.BYTES_PER_ELEMENT,\n toLength((end === undefined ? length : toAbsoluteIndex(end, length)) - $begin)\n );\n }\n };\n\n var $slice = function slice(start, end) {\n return speciesFromList(this, arraySlice.call(validate(this), start, end));\n };\n\n var $set = function set(arrayLike /* , offset */) {\n validate(this);\n var offset = toOffset(arguments[1], 1);\n var length = this.length;\n var src = toObject(arrayLike);\n var len = toLength(src.length);\n var index = 0;\n if (len + offset > length) throw RangeError(WRONG_LENGTH);\n while (index < len) this[offset + index] = src[index++];\n };\n\n var $iterators = {\n entries: function entries() {\n return arrayEntries.call(validate(this));\n },\n keys: function keys() {\n return arrayKeys.call(validate(this));\n },\n values: function values() {\n return arrayValues.call(validate(this));\n }\n };\n\n var isTAIndex = function (target, key) {\n return isObject(target)\n && target[TYPED_ARRAY]\n && typeof key != 'symbol'\n && key in target\n && String(+key) == String(key);\n };\n var $getDesc = function getOwnPropertyDescriptor(target, key) {\n return isTAIndex(target, key = toPrimitive(key, true))\n ? propertyDesc(2, target[key])\n : gOPD(target, key);\n };\n var $setDesc = function defineProperty(target, key, desc) {\n if (isTAIndex(target, key = toPrimitive(key, true))\n && isObject(desc)\n && has(desc, 'value')\n && !has(desc, 'get')\n && !has(desc, 'set')\n // TODO: add validation descriptor w/o calling accessors\n && !desc.configurable\n && (!has(desc, 'writable') || desc.writable)\n && (!has(desc, 'enumerable') || desc.enumerable)\n ) {\n target[key] = desc.value;\n return target;\n } return dP(target, key, desc);\n };\n\n if (!ALL_CONSTRUCTORS) {\n $GOPD.f = $getDesc;\n $DP.f = $setDesc;\n }\n\n $export($export.S + $export.F * !ALL_CONSTRUCTORS, 'Object', {\n getOwnPropertyDescriptor: $getDesc,\n defineProperty: $setDesc\n });\n\n if (fails(function () { arrayToString.call({}); })) {\n arrayToString = arrayToLocaleString = function toString() {\n return arrayJoin.call(this);\n };\n }\n\n var $TypedArrayPrototype$ = redefineAll({}, proto);\n redefineAll($TypedArrayPrototype$, $iterators);\n hide($TypedArrayPrototype$, ITERATOR, $iterators.values);\n redefineAll($TypedArrayPrototype$, {\n slice: $slice,\n set: $set,\n constructor: function () { /* noop */ },\n toString: arrayToString,\n toLocaleString: $toLocaleString\n });\n addGetter($TypedArrayPrototype$, 'buffer', 'b');\n addGetter($TypedArrayPrototype$, 'byteOffset', 'o');\n addGetter($TypedArrayPrototype$, 'byteLength', 'l');\n addGetter($TypedArrayPrototype$, 'length', 'e');\n dP($TypedArrayPrototype$, TAG, {\n get: function () { return this[TYPED_ARRAY]; }\n });\n\n // eslint-disable-next-line max-statements\n module.exports = function (KEY, BYTES, wrapper, CLAMPED) {\n CLAMPED = !!CLAMPED;\n var NAME = KEY + (CLAMPED ? 'Clamped' : '') + 'Array';\n var GETTER = 'get' + KEY;\n var SETTER = 'set' + KEY;\n var TypedArray = global[NAME];\n var Base = TypedArray || {};\n var TAC = TypedArray && getPrototypeOf(TypedArray);\n var FORCED = !TypedArray || !$typed.ABV;\n var O = {};\n var TypedArrayPrototype = TypedArray && TypedArray[PROTOTYPE];\n var getter = function (that, index) {\n var data = that._d;\n return data.v[GETTER](index * BYTES + data.o, LITTLE_ENDIAN);\n };\n var setter = function (that, index, value) {\n var data = that._d;\n if (CLAMPED) value = (value = Math.round(value)) < 0 ? 0 : value > 0xff ? 0xff : value & 0xff;\n data.v[SETTER](index * BYTES + data.o, value, LITTLE_ENDIAN);\n };\n var addElement = function (that, index) {\n dP(that, index, {\n get: function () {\n return getter(this, index);\n },\n set: function (value) {\n return setter(this, index, value);\n },\n enumerable: true\n });\n };\n if (FORCED) {\n TypedArray = wrapper(function (that, data, $offset, $length) {\n anInstance(that, TypedArray, NAME, '_d');\n var index = 0;\n var offset = 0;\n var buffer, byteLength, length, klass;\n if (!isObject(data)) {\n length = toIndex(data);\n byteLength = length * BYTES;\n buffer = new $ArrayBuffer(byteLength);\n } else if (data instanceof $ArrayBuffer || (klass = classof(data)) == ARRAY_BUFFER || klass == SHARED_BUFFER) {\n buffer = data;\n offset = toOffset($offset, BYTES);\n var $len = data.byteLength;\n if ($length === undefined) {\n if ($len % BYTES) throw RangeError(WRONG_LENGTH);\n byteLength = $len - offset;\n if (byteLength < 0) throw RangeError(WRONG_LENGTH);\n } else {\n byteLength = toLength($length) * BYTES;\n if (byteLength + offset > $len) throw RangeError(WRONG_LENGTH);\n }\n length = byteLength / BYTES;\n } else if (TYPED_ARRAY in data) {\n return fromList(TypedArray, data);\n } else {\n return $from.call(TypedArray, data);\n }\n hide(that, '_d', {\n b: buffer,\n o: offset,\n l: byteLength,\n e: length,\n v: new $DataView(buffer)\n });\n while (index < length) addElement(that, index++);\n });\n TypedArrayPrototype = TypedArray[PROTOTYPE] = create($TypedArrayPrototype$);\n hide(TypedArrayPrototype, 'constructor', TypedArray);\n } else if (!fails(function () {\n TypedArray(1);\n }) || !fails(function () {\n new TypedArray(-1); // eslint-disable-line no-new\n }) || !$iterDetect(function (iter) {\n new TypedArray(); // eslint-disable-line no-new\n new TypedArray(null); // eslint-disable-line no-new\n new TypedArray(1.5); // eslint-disable-line no-new\n new TypedArray(iter); // eslint-disable-line no-new\n }, true)) {\n TypedArray = wrapper(function (that, data, $offset, $length) {\n anInstance(that, TypedArray, NAME);\n var klass;\n // `ws` module bug, temporarily remove validation length for Uint8Array\n // https://github.com/websockets/ws/pull/645\n if (!isObject(data)) return new Base(toIndex(data));\n if (data instanceof $ArrayBuffer || (klass = classof(data)) == ARRAY_BUFFER || klass == SHARED_BUFFER) {\n return $length !== undefined\n ? new Base(data, toOffset($offset, BYTES), $length)\n : $offset !== undefined\n ? new Base(data, toOffset($offset, BYTES))\n : new Base(data);\n }\n if (TYPED_ARRAY in data) return fromList(TypedArray, data);\n return $from.call(TypedArray, data);\n });\n arrayForEach(TAC !== Function.prototype ? gOPN(Base).concat(gOPN(TAC)) : gOPN(Base), function (key) {\n if (!(key in TypedArray)) hide(TypedArray, key, Base[key]);\n });\n TypedArray[PROTOTYPE] = TypedArrayPrototype;\n if (!LIBRARY) TypedArrayPrototype.constructor = TypedArray;\n }\n var $nativeIterator = TypedArrayPrototype[ITERATOR];\n var CORRECT_ITER_NAME = !!$nativeIterator\n && ($nativeIterator.name == 'values' || $nativeIterator.name == undefined);\n var $iterator = $iterators.values;\n hide(TypedArray, TYPED_CONSTRUCTOR, true);\n hide(TypedArrayPrototype, TYPED_ARRAY, NAME);\n hide(TypedArrayPrototype, VIEW, true);\n hide(TypedArrayPrototype, DEF_CONSTRUCTOR, TypedArray);\n\n if (CLAMPED ? new TypedArray(1)[TAG] != NAME : !(TAG in TypedArrayPrototype)) {\n dP(TypedArrayPrototype, TAG, {\n get: function () { return NAME; }\n });\n }\n\n O[NAME] = TypedArray;\n\n $export($export.G + $export.W + $export.F * (TypedArray != Base), O);\n\n $export($export.S, NAME, {\n BYTES_PER_ELEMENT: BYTES\n });\n\n $export($export.S + $export.F * fails(function () { Base.of.call(TypedArray, 1); }), NAME, {\n from: $from,\n of: $of\n });\n\n if (!(BYTES_PER_ELEMENT in TypedArrayPrototype)) hide(TypedArrayPrototype, BYTES_PER_ELEMENT, BYTES);\n\n $export($export.P, NAME, proto);\n\n setSpecies(NAME);\n\n $export($export.P + $export.F * FORCED_SET, NAME, { set: $set });\n\n $export($export.P + $export.F * !CORRECT_ITER_NAME, NAME, $iterators);\n\n if (!LIBRARY && TypedArrayPrototype.toString != arrayToString) TypedArrayPrototype.toString = arrayToString;\n\n $export($export.P + $export.F * fails(function () {\n new TypedArray(1).slice();\n }), NAME, { slice: $slice });\n\n $export($export.P + $export.F * (fails(function () {\n return [1, 2].toLocaleString() != new TypedArray([1, 2]).toLocaleString();\n }) || !fails(function () {\n TypedArrayPrototype.toLocaleString.call([1, 2]);\n })), NAME, { toLocaleString: $toLocaleString });\n\n Iterators[NAME] = CORRECT_ITER_NAME ? $nativeIterator : $iterator;\n if (!LIBRARY && !CORRECT_ITER_NAME) hide(TypedArrayPrototype, ITERATOR, $iterator);\n };\n} else module.exports = function () { /* empty */ };\n\n\n/***/ }),\n/* 49 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar Map = __webpack_require__(206);\nvar $export = __webpack_require__(1);\nvar shared = __webpack_require__(84)('metadata');\nvar store = shared.store || (shared.store = new (__webpack_require__(209))());\n\nvar getOrCreateMetadataMap = function (target, targetKey, create) {\n var targetMetadata = store.get(target);\n if (!targetMetadata) {\n if (!create) return undefined;\n store.set(target, targetMetadata = new Map());\n }\n var keyMetadata = targetMetadata.get(targetKey);\n if (!keyMetadata) {\n if (!create) return undefined;\n targetMetadata.set(targetKey, keyMetadata = new Map());\n } return keyMetadata;\n};\nvar ordinaryHasOwnMetadata = function (MetadataKey, O, P) {\n var metadataMap = getOrCreateMetadataMap(O, P, false);\n return metadataMap === undefined ? false : metadataMap.has(MetadataKey);\n};\nvar ordinaryGetOwnMetadata = function (MetadataKey, O, P) {\n var metadataMap = getOrCreateMetadataMap(O, P, false);\n return metadataMap === undefined ? undefined : metadataMap.get(MetadataKey);\n};\nvar ordinaryDefineOwnMetadata = function (MetadataKey, MetadataValue, O, P) {\n getOrCreateMetadataMap(O, P, true).set(MetadataKey, MetadataValue);\n};\nvar ordinaryOwnMetadataKeys = function (target, targetKey) {\n var metadataMap = getOrCreateMetadataMap(target, targetKey, false);\n var keys = [];\n if (metadataMap) metadataMap.forEach(function (_, key) { keys.push(key); });\n return keys;\n};\nvar toMetaKey = function (it) {\n return it === undefined || typeof it == 'symbol' ? it : String(it);\n};\nvar exp = function (O) {\n $export($export.S, 'Reflect', O);\n};\n\nmodule.exports = {\n store: store,\n map: getOrCreateMetadataMap,\n has: ordinaryHasOwnMetadata,\n get: ordinaryGetOwnMetadata,\n set: ordinaryDefineOwnMetadata,\n keys: ordinaryOwnMetadataKeys,\n key: toMetaKey,\n exp: exp\n};\n\n\n/***/ }),\n/* 50 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar anObject = __webpack_require__(45);\nvar IE8_DOM_DEFINE = __webpack_require__(221);\nvar toPrimitive = __webpack_require__(157);\nvar dP = Object.defineProperty;\n\nexports.f = __webpack_require__(39) ? Object.defineProperty : function defineProperty(O, P, Attributes) {\n anObject(O);\n P = toPrimitive(P, true);\n anObject(Attributes);\n if (IE8_DOM_DEFINE) try {\n return dP(O, P, Attributes);\n } catch (e) { /* empty */ }\n if ('get' in Attributes || 'set' in Attributes) throw TypeError('Accessors not supported!');\n if ('value' in Attributes) O[P] = Attributes.value;\n return O;\n};\n\n\n/***/ }),\n/* 51 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\nvar __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;\n\n/*!\n * Copyright (c) 2015-2016, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n\n!(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(0), __webpack_require__(6)], __WEBPACK_AMD_DEFINE_RESULT__ = (function (Okta, Enums) {\n var Util = Okta.internal.util.Util;\n\n var _ = Okta._;\n\n return Okta.View.extend({\n template: '\\\n <a href=\"#\" class=\"link {{linkClassName}}\" data-se=\"signout-link\">\\\n {{linkText}}\\\n </a>\\\n ',\n className: 'auth-footer clearfix',\n events: {\n 'click a': function clickA(e) {\n e.preventDefault();\n this.options.appState.trigger('signOut');\n var self = this;\n this.model.doTransaction(function (transaction) {\n return transaction.cancel();\n }).then(function () {\n if (self.settings.get('signOutLink')) {\n Util.redirect(self.settings.get('signOutLink'));\n } else {\n self.state.set('navigateDir', Enums.DIRECTION_BACK);\n self.options.appState.trigger('navigate', '');\n }\n });\n }\n },\n getTemplateData: function getTemplateData() {\n return {\n linkClassName: _.isUndefined(this.options.linkClassName) ? 'goto' : this.options.linkClassName,\n linkText: this.options.linkText || Okta.loc('signout', 'login')\n };\n }\n });\n}).apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\n/***/ }),\n/* 52 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\nvar __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;\n\n/*!\n * Copyright (c) 2015-2016, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n\n!(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(0)], __WEBPACK_AMD_DEFINE_RESULT__ = (function (Okta) {\n\n // Have to be unescaped for the html in enroll.windowsHello.error.notConfiguredHtml\n var template = '\\\n <span class=\"icon error-24\"></span>\\\n <h4><strong>{{{message}}}</strong></h4>\\\n ';\n\n return Okta.View.extend({\n template: template,\n className: 'okta-infobox-error infobox infobox-error infobox-md margin-btm-25',\n attributes: {\n 'data-se': 'o-form-error-html'\n },\n\n message: '',\n\n initialize: function initialize(options) {\n if (options && options.message) {\n this.message = options.message;\n }\n },\n\n getTemplateData: function getTemplateData() {\n return {\n message: this.message\n };\n }\n });\n}).apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\n/***/ }),\n/* 53 */\n/***/ (function(module, exports) {\n\nmodule.exports = false;\n\n\n/***/ }),\n/* 54 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar META = __webpack_require__(61)('meta');\nvar isObject = __webpack_require__(8);\nvar has = __webpack_require__(29);\nvar setDesc = __webpack_require__(15).f;\nvar id = 0;\nvar isExtensible = Object.isExtensible || function () {\n return true;\n};\nvar FREEZE = !__webpack_require__(7)(function () {\n return isExtensible(Object.preventExtensions({}));\n});\nvar setMeta = function (it) {\n setDesc(it, META, { value: {\n i: 'O' + ++id, // object ID\n w: {} // weak collections IDs\n } });\n};\nvar fastKey = function (it, create) {\n // return primitive with prefix\n if (!isObject(it)) return typeof it == 'symbol' ? it : (typeof it == 'string' ? 'S' : 'P') + it;\n if (!has(it, META)) {\n // can't set metadata to uncaught frozen object\n if (!isExtensible(it)) return 'F';\n // not necessary to add metadata\n if (!create) return 'E';\n // add missing metadata\n setMeta(it);\n // return object ID\n } return it[META].i;\n};\nvar getWeak = function (it, create) {\n if (!has(it, META)) {\n // can't set metadata to uncaught frozen object\n if (!isExtensible(it)) return true;\n // not necessary to add metadata\n if (!create) return false;\n // add missing metadata\n setMeta(it);\n // return hash weak collections IDs\n } return it[META].w;\n};\n// add metadata on freeze-family methods calling\nvar onFreeze = function (it) {\n if (FREEZE && meta.NEED && isExtensible(it) && !has(it, META)) setMeta(it);\n return it;\n};\nvar meta = module.exports = {\n KEY: META,\n NEED: false,\n fastKey: fastKey,\n getWeak: getWeak,\n onFreeze: onFreeze\n};\n\n\n/***/ }),\n/* 55 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 22.1.3.31 Array.prototype[@@unscopables]\nvar UNSCOPABLES = __webpack_require__(10)('unscopables');\nvar ArrayProto = Array.prototype;\nif (ArrayProto[UNSCOPABLES] == undefined) __webpack_require__(25)(ArrayProto, UNSCOPABLES, {});\nmodule.exports = function (key) {\n ArrayProto[UNSCOPABLES][key] = true;\n};\n\n\n/***/ }),\n/* 56 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// to indexed object, toObject with fallback for non-array-like ES3 strings\nvar IObject = __webpack_require__(225);\nvar defined = __webpack_require__(155);\nmodule.exports = function (it) {\n return IObject(defined(it));\n};\n\n\n/***/ }),\n/* 57 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\nvar __WEBPACK_AMD_DEFINE_RESULT__;\n\n/*!\n * Copyright (c) 2015-2016, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n\n!(__WEBPACK_AMD_DEFINE_RESULT__ = (function () {\n\n function _log(level, args) {\n // Only log statements in development mode or if\n // throwing an error through console.error\n if (false || level === 'error') {\n window.console[level].apply(window.console, args);\n }\n }\n\n /**\n * Utility library of logging functions.\n */\n return {\n\n trace: function trace() {\n return _log('trace', arguments);\n },\n\n dir: function dir() {\n return _log('dir', arguments);\n },\n\n time: function time() {\n return _log('time', arguments);\n },\n\n timeEnd: function timeEnd() {\n return _log('timeEnd', arguments);\n },\n\n group: function group() {\n return _log('group', arguments);\n },\n\n groupEnd: function groupEnd() {\n return _log('groupEnd', arguments);\n },\n\n assert: function assert() {\n return _log('assert', arguments);\n },\n\n log: function log() {\n return _log('log', arguments);\n },\n\n info: function info() {\n return _log('info', arguments);\n },\n\n warn: function warn() {\n return _log('warn', arguments);\n },\n\n error: function error() {\n return _log('error', arguments);\n },\n\n deprecate: function deprecate(msg) {\n return _log('warn', ['[okta-signin-widget] DEPRECATED:', msg]);\n }\n };\n}).call(exports, __webpack_require__, exports, module),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\n/***/ }),\n/* 58 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\nvar __WEBPACK_AMD_DEFINE_RESULT__;\n\n/*!\n * Copyright (c) 2015-2016, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n\n!(__WEBPACK_AMD_DEFINE_RESULT__ = (function () {\n\n var fn = {},\n hasFullCorsSupport = 'withCredentials' in new window.XMLHttpRequest(),\n hasXDomainRequest = typeof XDomainRequest !== 'undefined';\n\n fn.corsIsNotSupported = function () {\n return !(hasFullCorsSupport || hasXDomainRequest);\n };\n\n fn.corsIsNotEnabled = function (jqXhr) {\n // Not a definitive check, but it's the best we've got.\n // Note: This will change when OktaAuth is updated\n return jqXhr.status === 0;\n };\n\n // This is currently not being used, but we'll keep it around for when we\n // want a fallback mechanism - i.e. use localStorage if it exists, else fall\n // back to cookies.\n fn.localStorageIsNotSupported = function () {\n var test = 'test';\n try {\n localStorage.setItem(test, test);\n localStorage.removeItem(test);\n return false;\n } catch (e) {\n return true;\n }\n };\n\n fn.supportsPushState = function (win) {\n win = win || window;\n return !!(win.history && win.history.pushState);\n };\n\n fn.isIE = function () {\n return (/(msie|trident)/i.test(navigator.userAgent)\n );\n };\n\n fn.isFirefox = function () {\n return navigator.userAgent.toLowerCase().indexOf('firefox') > -1;\n };\n\n fn.isEdge = function () {\n return navigator.userAgent.toLowerCase().indexOf('edge') > -1;\n };\n\n fn.isSafari = function () {\n // Chrome has safari in its useragent string so adding this extra check.\n return navigator.userAgent.toLowerCase().indexOf('safari') > -1 && navigator.userAgent.toLowerCase().indexOf('chrome') === -1;\n };\n\n fn.isMac = function () {\n return navigator.platform.toUpperCase().indexOf('MAC') >= 0;\n };\n\n // Returns a list of languages the user has configured for their browser, in\n // order of preference.\n fn.getUserLanguages = function () {\n var languages, properties;\n\n // Chrome, Firefox\n if (navigator.languages) {\n return navigator.languages;\n }\n\n languages = [];\n properties = ['language', // Safari, IE11\n 'userLanguage', // IE\n 'browserLanguage', // IE\n 'systemLanguage' // IE\n ];\n\n properties.forEach(function (property) {\n if (navigator[property]) {\n languages.push(navigator[property]);\n }\n });\n\n return languages;\n };\n\n return fn;\n}).call(exports, __webpack_require__, exports, module),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\n/***/ }),\n/* 59 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _okta = __webpack_require__(0);\n\nvar _Link = __webpack_require__(654);\n\nvar _Link2 = _interopRequireDefault(_Link);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * When `href` is present, the Link behaviors as normal web link.\n * When `actionPath` is present, the Link behaviors as link button\n * upon click, will trigger the action `actionPath`.\n * @typedef {Object} Link\n * @property {string} label\n * @property {string} name\n * @property {string=} href\n * @property {string=} actionPath\n */\n\nexports.default = _okta.View.extend({\n\n className: 'auth-footer',\n\n /**\n * {Link[]} links\n */\n links: [],\n\n initialize: function initialize() {\n var _this = this;\n\n var links = _okta._.resultCtx(this, 'links', this);\n if (this.options.appState.get('showSignoutLink')) {\n //add cancel/signout link\n links = links.concat([{\n 'actionPath': 'cancel',\n 'label': 'Sign out',\n 'name': 'cancel',\n 'type': 'link'\n }]);\n }\n\n links.forEach(function (link) {\n _this.add(_Link2.default, {\n options: link\n });\n });\n }\n});\n\n/***/ }),\n/* 60 */\n/***/ (function(module, exports) {\n\nmodule.exports = function (bitmap, value) {\n return {\n enumerable: !(bitmap & 1),\n configurable: !(bitmap & 2),\n writable: !(bitmap & 4),\n value: value\n };\n};\n\n\n/***/ }),\n/* 61 */\n/***/ (function(module, exports) {\n\nvar id = 0;\nvar px = Math.random();\nmodule.exports = function (key) {\n return 'Symbol('.concat(key === undefined ? '' : key, ')_', (++id + px).toString(36));\n};\n\n\n/***/ }),\n/* 62 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 19.1.2.14 / 15.2.3.14 Object.keys(O)\nvar $keys = __webpack_require__(185);\nvar enumBugKeys = __webpack_require__(127);\n\nmodule.exports = Object.keys || function keys(O) {\n return $keys(O, enumBugKeys);\n};\n\n\n/***/ }),\n/* 63 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar toInteger = __webpack_require__(37);\nvar max = Math.max;\nvar min = Math.min;\nmodule.exports = function (index, length) {\n index = toInteger(index);\n return index < 0 ? max(index + length, 0) : min(index, length);\n};\n\n\n/***/ }),\n/* 64 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 19.1.2.2 / 15.2.3.5 Object.create(O [, Properties])\nvar anObject = __webpack_require__(3);\nvar dPs = __webpack_require__(186);\nvar enumBugKeys = __webpack_require__(127);\nvar IE_PROTO = __webpack_require__(126)('IE_PROTO');\nvar Empty = function () { /* empty */ };\nvar PROTOTYPE = 'prototype';\n\n// Create object with fake `null` prototype: use iframe Object with cleared prototype\nvar createDict = function () {\n // Thrash, waste and sodomy: IE GC bug\n var iframe = __webpack_require__(124)('iframe');\n var i = enumBugKeys.length;\n var lt = '<';\n var gt = '>';\n var iframeDocument;\n iframe.style.display = 'none';\n __webpack_require__(128).appendChild(iframe);\n iframe.src = 'javascript:'; // eslint-disable-line no-script-url\n // createDict = iframe.contentWindow.Object;\n // html.removeChild(iframe);\n iframeDocument = iframe.contentWindow.document;\n iframeDocument.open();\n iframeDocument.write(lt + 'script' + gt + 'document.F=Object' + lt + '/script' + gt);\n iframeDocument.close();\n createDict = iframeDocument.F;\n while (i--) delete createDict[PROTOTYPE][enumBugKeys[i]];\n return createDict();\n};\n\nmodule.exports = Object.create || function create(O, Properties) {\n var result;\n if (O !== null) {\n Empty[PROTOTYPE] = anObject(O);\n result = new Empty();\n Empty[PROTOTYPE] = null;\n // add \"__proto__\" for Object.getPrototypeOf polyfill\n result[IE_PROTO] = O;\n } else result = createDict();\n return Properties === undefined ? result : dPs(result, Properties);\n};\n\n\n/***/ }),\n/* 65 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 19.1.2.7 / 15.2.3.4 Object.getOwnPropertyNames(O)\nvar $keys = __webpack_require__(185);\nvar hiddenKeys = __webpack_require__(127).concat('length', 'prototype');\n\nexports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {\n return $keys(O, hiddenKeys);\n};\n\n\n/***/ }),\n/* 66 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar global = __webpack_require__(5);\nvar dP = __webpack_require__(15);\nvar DESCRIPTORS = __webpack_require__(12);\nvar SPECIES = __webpack_require__(10)('species');\n\nmodule.exports = function (KEY) {\n var C = global[KEY];\n if (DESCRIPTORS && C && !C[SPECIES]) dP.f(C, SPECIES, {\n configurable: true,\n get: function () { return this; }\n });\n};\n\n\n/***/ }),\n/* 67 */\n/***/ (function(module, exports) {\n\nmodule.exports = function (it, Constructor, name, forbiddenField) {\n if (!(it instanceof Constructor) || (forbiddenField !== undefined && forbiddenField in it)) {\n throw TypeError(name + ': incorrect invocation!');\n } return it;\n};\n\n\n/***/ }),\n/* 68 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar ctx = __webpack_require__(35);\nvar call = __webpack_require__(198);\nvar isArrayIter = __webpack_require__(139);\nvar anObject = __webpack_require__(3);\nvar toLength = __webpack_require__(11);\nvar getIterFn = __webpack_require__(141);\nvar BREAK = {};\nvar RETURN = {};\nvar exports = module.exports = function (iterable, entries, fn, that, ITERATOR) {\n var iterFn = ITERATOR ? function () { return iterable; } : getIterFn(iterable);\n var f = ctx(fn, that, entries ? 2 : 1);\n var index = 0;\n var length, step, iterator, result;\n if (typeof iterFn != 'function') throw TypeError(iterable + ' is not iterable!');\n // fast case for arrays with default iterator\n if (isArrayIter(iterFn)) for (length = toLength(iterable.length); length > index; index++) {\n result = entries ? f(anObject(step = iterable[index])[0], step[1]) : f(iterable[index]);\n if (result === BREAK || result === RETURN) return result;\n } else for (iterator = iterFn.call(iterable); !(step = iterator.next()).done;) {\n result = call(iterator, f, step.value, entries);\n if (result === BREAK || result === RETURN) return result;\n }\n};\nexports.BREAK = BREAK;\nexports.RETURN = RETURN;\n\n\n/***/ }),\n/* 69 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar redefine = __webpack_require__(26);\nmodule.exports = function (target, src, safe) {\n for (var key in src) redefine(target, key, src[key], safe);\n return target;\n};\n\n\n/***/ }),\n/* 70 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar isObject = __webpack_require__(8);\nmodule.exports = function (it, TYPE) {\n if (!isObject(it) || it._t !== TYPE) throw TypeError('Incompatible receiver, ' + TYPE + ' required!');\n return it;\n};\n\n\n/***/ }),\n/* 71 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar dP = __webpack_require__(50);\nvar createDesc = __webpack_require__(92);\nmodule.exports = __webpack_require__(39) ? function (object, key, value) {\n return dP.f(object, key, createDesc(1, value));\n} : function (object, key, value) {\n object[key] = value;\n return object;\n};\n\n\n/***/ }),\n/* 72 */\n/***/ (function(module, exports) {\n\nvar hasOwnProperty = {}.hasOwnProperty;\nmodule.exports = function (it, key) {\n return hasOwnProperty.call(it, key);\n};\n\n\n/***/ }),\n/* 73 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar def = __webpack_require__(15).f;\nvar has = __webpack_require__(29);\nvar TAG = __webpack_require__(10)('toStringTag');\n\nmodule.exports = function (it, tag, stat) {\n if (it && !has(it = stat ? it : it.prototype, TAG)) def(it, TAG, { configurable: true, value: tag });\n};\n\n\n/***/ }),\n/* 74 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// getting tag from 19.1.3.6 Object.prototype.toString()\nvar cof = __webpack_require__(36);\nvar TAG = __webpack_require__(10)('toStringTag');\n// ES3 wrong here\nvar ARG = cof(function () { return arguments; }()) == 'Arguments';\n\n// fallback for IE11 Script Access Denied error\nvar tryGet = function (it, key) {\n try {\n return it[key];\n } catch (e) { /* empty */ }\n};\n\nmodule.exports = function (it) {\n var O, T, B;\n return it === undefined ? 'Undefined' : it === null ? 'Null'\n // @@toStringTag case\n : typeof (T = tryGet(O = Object(it), TAG)) == 'string' ? T\n // builtinTag case\n : ARG ? cof(O)\n // ES3 arguments fallback\n : (B = cof(O)) == 'Object' && typeof O.callee == 'function' ? 'Arguments' : B;\n};\n\n\n/***/ }),\n/* 75 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar $export = __webpack_require__(1);\nvar defined = __webpack_require__(42);\nvar fails = __webpack_require__(7);\nvar spaces = __webpack_require__(130);\nvar space = '[' + spaces + ']';\nvar non = '\\u200b\\u0085';\nvar ltrim = RegExp('^' + space + space + '*');\nvar rtrim = RegExp(space + space + '*$');\n\nvar exporter = function (KEY, exec, ALIAS) {\n var exp = {};\n var FORCE = fails(function () {\n return !!spaces[KEY]() || non[KEY]() != non;\n });\n var fn = exp[KEY] = FORCE ? exec(trim) : spaces[KEY];\n if (ALIAS) exp[ALIAS] = fn;\n $export($export.P + $export.F * FORCE, 'String', exp);\n};\n\n// 1 -> String#trimLeft\n// 2 -> String#trimRight\n// 3 -> String#trim\nvar trim = exporter.trim = function (string, TYPE) {\n string = String(defined(string));\n if (TYPE & 1) string = string.replace(ltrim, '');\n if (TYPE & 2) string = string.replace(rtrim, '');\n return string;\n};\n\nmodule.exports = exporter;\n\n\n/***/ }),\n/* 76 */\n/***/ (function(module, exports) {\n\nmodule.exports = {};\n\n\n/***/ }),\n/* 77 */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = { \"default\": __webpack_require__(476), __esModule: true };\n\n/***/ }),\n/* 78 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// optional / simple context binding\nvar aFunction = __webpack_require__(115);\nmodule.exports = function (fn, that, length) {\n aFunction(fn);\n if (that === undefined) return fn;\n switch (length) {\n case 1: return function (a) {\n return fn.call(that, a);\n };\n case 2: return function (a, b) {\n return fn.call(that, a, b);\n };\n case 3: return function (a, b, c) {\n return fn.call(that, a, b, c);\n };\n }\n return function (/* ...args */) {\n return fn.apply(that, arguments);\n };\n};\n\n\n/***/ }),\n/* 79 */\n/***/ (function(module, exports) {\n\nmodule.exports = function (exec) {\n try {\n return !!exec();\n } catch (e) {\n return true;\n }\n};\n\n\n/***/ }),\n/* 80 */\n/***/ (function(module, exports) {\n\nmodule.exports = {};\n\n\n/***/ }),\n/* 81 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 19.1.2.14 / 15.2.3.14 Object.keys(O)\nvar $keys = __webpack_require__(224);\nvar enumBugKeys = __webpack_require__(162);\n\nmodule.exports = Object.keys || function keys(O) {\n return $keys(O, enumBugKeys);\n};\n\n\n/***/ }),\n/* 82 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 7.1.13 ToObject(argument)\nvar defined = __webpack_require__(155);\nmodule.exports = function (it) {\n return Object(defined(it));\n};\n\n\n/***/ }),\n/* 83 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\nvar __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;\n\n/*!\n * Copyright (c) 2015-2016, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n\n!(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(0), __webpack_require__(17)], __WEBPACK_AMD_DEFINE_RESULT__ = (function (Okta, Q) {\n var _ = Okta._;\n\n function getForm(controller) {\n return _.find(controller.getChildren(), function (item) {\n return item instanceof Okta.Form;\n });\n }\n\n return Okta.Controller.extend({\n\n // Ideally we should be attaching the listeners in the constructor, but because of the way\n // we construct the FormController (this.model is generated after the BaseLoginController's\n // constructor is called), this.model is undefined in when try to attach the events and\n // therefore we don't listen to events for such forms. And changing the order in which we call\n // the constructor doesn't help either (JS errors etc.). This at least guarantees that we\n // are listening to the model events.\n // Note - Figure out a way to call the constructor in the right order.\n addListeners: function addListeners() {\n // Events to enable/disable the primary button on the forms\n this.listenTo(this.model, 'save', function () {\n //disable the submit button on forms while making the request\n //to prevent users from hitting rate limiting exceptions of\n //1 per second on the auth api\n var form = getForm(this);\n var disableSubmitButton = form.disableSubmitButton;\n if (disableSubmitButton && !form.disableSubmitButton()) {\n return;\n }\n this.toggleButtonState(true);\n });\n\n this.listenTo(this.model, 'error', function () {\n this.toggleButtonState(false);\n });\n\n this.addModelListeners(this.model);\n },\n\n addModelListeners: function addModelListeners(model) {\n var setTransactionHandler = _.bind(function (transaction) {\n this.options.appState.set('transaction', transaction);\n }, this);\n var transactionErrorHandler = _.bind(function (err) {\n this.options.appState.set('transactionError', err);\n }, this);\n\n // Events to set the transaction attributes on the app state.\n this.listenTo(model, 'setTransaction', setTransactionHandler);\n this.listenTo(model, 'setTransactionError', transactionErrorHandler);\n\n // For TOTP factor model\n // TOTP model is special, its model will not be attached to a controller, but will\n // tag along with the push factor model. We need to listen to the transaction\n // changes on this as well (in case of the push+totp form).\n var totpModel = model.get('backupFactor');\n if (totpModel) {\n this.listenTo(totpModel, 'setTransaction', setTransactionHandler);\n this.listenTo(totpModel, 'setTransactionError', transactionErrorHandler);\n }\n },\n\n // Override this method to delay switching to this screen until return\n // promise is resolved. This is useful for cases like enrolling a security\n // question, which requires an additional request to fetch the question\n // list.\n fetchInitialData: function fetchInitialData() {\n return Q();\n },\n\n // Override this method to prevent route navigation. This is useful for\n // intermediate status changes that do not trigger a full refresh of the\n // page, like MFA_ENROLL_ACTIVATE and MFA_CHALLENGE.\n trapAuthResponse: function trapAuthResponse() {\n return false;\n },\n\n toJSON: function toJSON() {\n var data = Okta.Controller.prototype.toJSON.apply(this, arguments);\n return _.extend(_.pick(this.options, 'appState'), data);\n },\n\n toggleButtonState: function toggleButtonState(state) {\n var button = this.$el.find('.button');\n button.toggleClass('link-button-disabled', state).prop('disabled', state);\n },\n\n postRenderAnimation: function postRenderAnimation() {\n // Event triggered after a page is rendered along with the classname to identify the page\n // TODO: Deprecate this event in the next major version in favor of 'afterRender'\n this.trigger('pageRendered', { page: this.className });\n\n this.trigger('afterRender', { controller: this.className });\n }\n });\n}).apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\n/***/ }),\n/* 84 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar core = __webpack_require__(34);\nvar global = __webpack_require__(5);\nvar SHARED = '__core-js_shared__';\nvar store = global[SHARED] || (global[SHARED] = {});\n\n(module.exports = function (key, value) {\n return store[key] || (store[key] = value !== undefined ? value : {});\n})('versions', []).push({\n version: core.version,\n mode: __webpack_require__(53) ? 'pure' : 'global',\n copyright: '© 2019 Denis Pushkarev (zloirock.ru)'\n});\n\n\n/***/ }),\n/* 85 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// fallback for non-array-like ES3 and non-enumerable old V8 strings\nvar cof = __webpack_require__(36);\n// eslint-disable-next-line no-prototype-builtins\nmodule.exports = Object('z').propertyIsEnumerable(0) ? Object : function (it) {\n return cof(it) == 'String' ? it.split('') : Object(it);\n};\n\n\n/***/ }),\n/* 86 */\n/***/ (function(module, exports) {\n\nexports.f = {}.propertyIsEnumerable;\n\n\n/***/ }),\n/* 87 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n// 21.2.5.3 get RegExp.prototype.flags\nvar anObject = __webpack_require__(3);\nmodule.exports = function () {\n var that = anObject(this);\n var result = '';\n if (that.global) result += 'g';\n if (that.ignoreCase) result += 'i';\n if (that.multiline) result += 'm';\n if (that.unicode) result += 'u';\n if (that.sticky) result += 'y';\n return result;\n};\n\n\n/***/ }),\n/* 88 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 7.3.20 SpeciesConstructor(O, defaultConstructor)\nvar anObject = __webpack_require__(3);\nvar aFunction = __webpack_require__(20);\nvar SPECIES = __webpack_require__(10)('species');\nmodule.exports = function (O, D) {\n var C = anObject(O).constructor;\n var S;\n return C === undefined || (S = anObject(C)[SPECIES]) == undefined ? D : aFunction(S);\n};\n\n\n/***/ }),\n/* 89 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nexports.__esModule = true;\n\nvar _iterator = __webpack_require__(219);\n\nvar _iterator2 = _interopRequireDefault(_iterator);\n\nvar _symbol = __webpack_require__(228);\n\nvar _symbol2 = _interopRequireDefault(_symbol);\n\nvar _typeof = typeof _symbol2.default === \"function\" && typeof _iterator2.default === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof _symbol2.default === \"function\" && obj.constructor === _symbol2.default && obj !== _symbol2.default.prototype ? \"symbol\" : typeof obj; };\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = typeof _symbol2.default === \"function\" && _typeof(_iterator2.default) === \"symbol\" ? function (obj) {\n return typeof obj === \"undefined\" ? \"undefined\" : _typeof(obj);\n} : function (obj) {\n return obj && typeof _symbol2.default === \"function\" && obj.constructor === _symbol2.default && obj !== _symbol2.default.prototype ? \"symbol\" : typeof obj === \"undefined\" ? \"undefined\" : _typeof(obj);\n};\n\n/***/ }),\n/* 90 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar $at = __webpack_require__(478)(true);\n\n// 21.1.3.27 String.prototype[@@iterator]()\n__webpack_require__(220)(String, 'String', function (iterated) {\n this._t = String(iterated); // target\n this._i = 0; // next index\n// 21.1.5.2.1 %StringIteratorPrototype%.next()\n}, function () {\n var O = this._t;\n var index = this._i;\n var point;\n if (index >= O.length) return { value: undefined, done: true };\n point = $at(O, index);\n this._i += point.length;\n return { value: point, done: false };\n});\n\n\n/***/ }),\n/* 91 */\n/***/ (function(module, exports) {\n\nmodule.exports = true;\n\n\n/***/ }),\n/* 92 */\n/***/ (function(module, exports) {\n\nmodule.exports = function (bitmap, value) {\n return {\n enumerable: !(bitmap & 1),\n configurable: !(bitmap & 2),\n writable: !(bitmap & 4),\n value: value\n };\n};\n\n\n/***/ }),\n/* 93 */\n/***/ (function(module, exports) {\n\nvar toString = {}.toString;\n\nmodule.exports = function (it) {\n return toString.call(it).slice(8, -1);\n};\n\n\n/***/ }),\n/* 94 */\n/***/ (function(module, exports) {\n\nexports.f = {}.propertyIsEnumerable;\n\n\n/***/ }),\n/* 95 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// most Object methods by ES6 should accept primitives\nvar $export = __webpack_require__(21);\nvar core = __webpack_require__(9);\nvar fails = __webpack_require__(79);\nmodule.exports = function (KEY, exec) {\n var fn = (core.Object || {})[KEY] || Object[KEY];\n var exp = {};\n exp[KEY] = exec(fn);\n $export($export.S + $export.F * fails(function () { fn(1); }), 'Object', exp);\n};\n\n\n/***/ }),\n/* 96 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\nvar __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;\n\n/*!\n * Copyright (c) 2015-2016, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n\n!(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(0), __webpack_require__(17), __webpack_require__(6)], __WEBPACK_AMD_DEFINE_RESULT__ = (function (Okta, Q, Enums) {\n\n var _ = Okta._;\n var KNOWN_ERRORS = ['OAuthError', 'AuthSdkError', 'AuthPollStopError', 'AuthApiError'];\n\n return Okta.Model.extend({\n doTransaction: function doTransaction(fn, rethrow) {\n var self = this;\n return fn.call(this, this.appState.get('transaction')).then(function (trans) {\n self.trigger('setTransaction', trans);\n return trans;\n }).fail(function (err) {\n // Q may still consider AuthPollStopError to be unhandled\n if (err.name === 'AuthPollStopError' || err.name === Enums.AUTH_STOP_POLL_INITIATION_ERROR || err.name === Enums.WEBAUTHN_ABORT_ERROR) {\n return;\n }\n self.trigger('error', self, err.xhr);\n self.trigger('setTransactionError', err);\n if (rethrow || _.indexOf(KNOWN_ERRORS, err.name) === -1) {\n throw err;\n }\n });\n },\n\n manageTransaction: function manageTransaction(fn) {\n var self = this,\n res = fn.call(this, this.appState.get('transaction'), _.bind(this.setTransaction, this));\n\n // If it's a promise, listen for failures\n if (Q.isPromiseAlike(res)) {\n return res.fail(function (err) {\n if (err.name === 'AuthPollStopError' || err.name === Enums.AUTH_STOP_POLL_INITIATION_ERROR || err.name === Enums.WEBAUTHN_ABORT_ERROR) {\n return;\n }\n self.trigger('error', self, err.xhr);\n self.trigger('setTransactionError', err);\n });\n }\n\n return Q.resolve(res);\n },\n\n startTransaction: function startTransaction(fn) {\n var self = this,\n res = fn.call(this, this.settings.getAuthClient());\n\n // If it's a promise, then chain to it\n if (Q.isPromiseAlike(res)) {\n return res.then(function (trans) {\n self.trigger('setTransaction', trans);\n return trans;\n }).fail(function (err) {\n self.trigger('error', self, err.xhr);\n self.trigger('setTransactionError', err);\n throw err;\n });\n }\n\n return Q.resolve(res);\n },\n\n setTransaction: function setTransaction(trans) {\n this.appState.set('transaction', trans);\n }\n });\n}).apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\n/***/ }),\n/* 97 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\nvar __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;\n\nvar _freeze = __webpack_require__(576);\n\nvar _freeze2 = _interopRequireDefault(_freeze);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/*!\n * Copyright (c) 2015-2016, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n\n/* globals JSON */\n!(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(0), __webpack_require__(17), __webpack_require__(179)], __WEBPACK_AMD_DEFINE_RESULT__ = (function (Okta, Q, FidoUtil) {\n\n function adaptToOkta(promise) {\n return new Q(promise);\n }\n\n function makeCredential(accountInfo, cryptoParams, challenge) {\n cryptoParams = cryptoParams.map(function (param) {\n return { type: 'FIDO_2_0', algorithm: param.algorithm };\n });\n\n var promise = window.msCredentials.makeCredential(accountInfo, cryptoParams, challenge).then(function (cred) {\n return (0, _freeze2.default)({\n credential: { id: cred.id },\n publicKey: JSON.parse(cred.publicKey),\n attestation: cred.attestation\n });\n });\n\n return adaptToOkta(promise);\n }\n\n function getAssertion(challenge, allowList) {\n var accept = allowList.map(function (item) {\n return { type: 'FIDO_2_0', id: item.id };\n });\n var filters = { accept: accept };\n\n var promise = window.msCredentials.getAssertion(challenge, filters).then(function (attestation) {\n var signature = attestation.signature;\n return (0, _freeze2.default)({\n credential: { id: attestation.id },\n clientData: signature.clientData,\n authenticatorData: signature.authnrData,\n signature: signature.signature\n });\n });\n\n return adaptToOkta(promise);\n }\n\n return {\n makeCredential: makeCredential,\n getAssertion: getAssertion,\n isAvailable: function isAvailable() {\n return window.hasOwnProperty('msCredentials');\n },\n isNewApiAvailable: function isNewApiAvailable() {\n return navigator && navigator.credentials && navigator.credentials.create;\n },\n isWebauthnOrU2fAvailable: function isWebauthnOrU2fAvailable() {\n return this.isNewApiAvailable() || FidoUtil.isU2fAvailable();\n }\n };\n}).apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\n/***/ }),\n/* 98 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\nvar __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;\n\n/*!\n * Copyright (c) 2015-2016, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n\n!(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(0)], __WEBPACK_AMD_DEFINE_RESULT__ = (function (Okta) {\n\n var fn = {};\n\n // Validate the 'username' field on the model.\n fn.validateUsername = function (model) {\n var username = model.get('username');\n if (username && username.length > 256) {\n return {\n username: Okta.loc('model.validation.field.username', 'login')\n };\n }\n };\n\n // Validate that the field1 and field2 fields on the model are a match.\n fn.validateFieldsMatch = function (model, field1, field2, message) {\n if (model.get(field1) !== model.get(field2)) {\n var ret = {};\n ret[field2] = message;\n return ret;\n }\n };\n\n // Validate that the 'newPassword' and 'confirmPassword' fields on the model are a match.\n fn.validatePasswordMatch = function (model) {\n return fn.validateFieldsMatch(model, 'newPassword', 'confirmPassword', Okta.loc('password.error.match', 'login'));\n };\n\n return fn;\n}).apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\n/***/ }),\n/* 99 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _BaseView = __webpack_require__(40);\n\nvar _BaseView2 = _interopRequireDefault(_BaseView);\n\nvar _BaseHeader = __webpack_require__(266);\n\nvar _BaseHeader2 = _interopRequireDefault(_BaseHeader);\n\nvar _HeaderBeaconFactor = __webpack_require__(663);\n\nvar _HeaderBeaconFactor2 = _interopRequireDefault(_HeaderBeaconFactor);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = _BaseView2.default.extend({\n Header: _BaseHeader2.default.extend({\n HeaderBeacon: _HeaderBeaconFactor2.default\n })\n});\n\n/***/ }),\n/* 100 */\n/***/ (function(module, exports) {\n\nvar g;\r\n\r\n// This works in non-strict mode\r\ng = (function() {\r\n\treturn this;\r\n})();\r\n\r\ntry {\r\n\t// This works if eval is allowed (see CSP)\r\n\tg = g || Function(\"return this\")() || (1,eval)(\"this\");\r\n} catch(e) {\r\n\t// This works if the window reference is available\r\n\tif(typeof window === \"object\")\r\n\t\tg = window;\r\n}\r\n\r\n// g can still be undefined, but nothing to do about it...\r\n// We return undefined, instead of nothing here, so it's\r\n// easier to handle this case. if(!global) { ...}\r\n\r\nmodule.exports = g;\r\n\n\n/***/ }),\n/* 101 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// false -> Array#indexOf\n// true -> Array#includes\nvar toIObject = __webpack_require__(30);\nvar toLength = __webpack_require__(11);\nvar toAbsoluteIndex = __webpack_require__(63);\nmodule.exports = function (IS_INCLUDES) {\n return function ($this, el, fromIndex) {\n var O = toIObject($this);\n var length = toLength(O.length);\n var index = toAbsoluteIndex(fromIndex, length);\n var value;\n // Array#includes uses SameValueZero equality algorithm\n // eslint-disable-next-line no-self-compare\n if (IS_INCLUDES && el != el) while (length > index) {\n value = O[index++];\n // eslint-disable-next-line no-self-compare\n if (value != value) return true;\n // Array#indexOf ignores holes, Array#includes - not\n } else for (;length > index; index++) if (IS_INCLUDES || index in O) {\n if (O[index] === el) return IS_INCLUDES || index || 0;\n } return !IS_INCLUDES && -1;\n };\n};\n\n\n/***/ }),\n/* 102 */\n/***/ (function(module, exports) {\n\nexports.f = Object.getOwnPropertySymbols;\n\n\n/***/ }),\n/* 103 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 7.2.2 IsArray(argument)\nvar cof = __webpack_require__(36);\nmodule.exports = Array.isArray || function isArray(arg) {\n return cof(arg) == 'Array';\n};\n\n\n/***/ }),\n/* 104 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar toInteger = __webpack_require__(37);\nvar defined = __webpack_require__(42);\n// true -> String#at\n// false -> String#codePointAt\nmodule.exports = function (TO_STRING) {\n return function (that, pos) {\n var s = String(defined(that));\n var i = toInteger(pos);\n var l = s.length;\n var a, b;\n if (i < 0 || i >= l) return TO_STRING ? '' : undefined;\n a = s.charCodeAt(i);\n return a < 0xd800 || a > 0xdbff || i + 1 === l || (b = s.charCodeAt(i + 1)) < 0xdc00 || b > 0xdfff\n ? TO_STRING ? s.charAt(i) : a\n : TO_STRING ? s.slice(i, i + 2) : (a - 0xd800 << 10) + (b - 0xdc00) + 0x10000;\n };\n};\n\n\n/***/ }),\n/* 105 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 7.2.8 IsRegExp(argument)\nvar isObject = __webpack_require__(8);\nvar cof = __webpack_require__(36);\nvar MATCH = __webpack_require__(10)('match');\nmodule.exports = function (it) {\n var isRegExp;\n return isObject(it) && ((isRegExp = it[MATCH]) !== undefined ? !!isRegExp : cof(it) == 'RegExp');\n};\n\n\n/***/ }),\n/* 106 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar ITERATOR = __webpack_require__(10)('iterator');\nvar SAFE_CLOSING = false;\n\ntry {\n var riter = [7][ITERATOR]();\n riter['return'] = function () { SAFE_CLOSING = true; };\n // eslint-disable-next-line no-throw-literal\n Array.from(riter, function () { throw 2; });\n} catch (e) { /* empty */ }\n\nmodule.exports = function (exec, skipClosing) {\n if (!skipClosing && !SAFE_CLOSING) return false;\n var safe = false;\n try {\n var arr = [7];\n var iter = arr[ITERATOR]();\n iter.next = function () { return { done: safe = true }; };\n arr[ITERATOR] = function () { return iter; };\n exec(arr);\n } catch (e) { /* empty */ }\n return safe;\n};\n\n\n/***/ }),\n/* 107 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar classof = __webpack_require__(74);\nvar builtinExec = RegExp.prototype.exec;\n\n // `RegExpExec` abstract operation\n// https://tc39.github.io/ecma262/#sec-regexpexec\nmodule.exports = function (R, S) {\n var exec = R.exec;\n if (typeof exec === 'function') {\n var result = exec.call(R, S);\n if (typeof result !== 'object') {\n throw new TypeError('RegExp exec method returned something other than an Object or null');\n }\n return result;\n }\n if (classof(R) !== 'RegExp') {\n throw new TypeError('RegExp#exec called on incompatible receiver');\n }\n return builtinExec.call(R, S);\n};\n\n\n/***/ }),\n/* 108 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n__webpack_require__(202);\nvar redefine = __webpack_require__(26);\nvar hide = __webpack_require__(25);\nvar fails = __webpack_require__(7);\nvar defined = __webpack_require__(42);\nvar wks = __webpack_require__(10);\nvar regexpExec = __webpack_require__(145);\n\nvar SPECIES = wks('species');\n\nvar REPLACE_SUPPORTS_NAMED_GROUPS = !fails(function () {\n // #replace needs built-in support for named groups.\n // #match works fine because it just return the exec results, even if it has\n // a \"grops\" property.\n var re = /./;\n re.exec = function () {\n var result = [];\n result.groups = { a: '7' };\n return result;\n };\n return ''.replace(re, '$<a>') !== '7';\n});\n\nvar SPLIT_WORKS_WITH_OVERWRITTEN_EXEC = (function () {\n // Chrome 51 has a buggy \"split\" implementation when RegExp#exec !== nativeExec\n var re = /(?:)/;\n var originalExec = re.exec;\n re.exec = function () { return originalExec.apply(this, arguments); };\n var result = 'ab'.split(re);\n return result.length === 2 && result[0] === 'a' && result[1] === 'b';\n})();\n\nmodule.exports = function (KEY, length, exec) {\n var SYMBOL = wks(KEY);\n\n var DELEGATES_TO_SYMBOL = !fails(function () {\n // String methods call symbol-named RegEp methods\n var O = {};\n O[SYMBOL] = function () { return 7; };\n return ''[KEY](O) != 7;\n });\n\n var DELEGATES_TO_EXEC = DELEGATES_TO_SYMBOL ? !fails(function () {\n // Symbol-named RegExp methods call .exec\n var execCalled = false;\n var re = /a/;\n re.exec = function () { execCalled = true; return null; };\n if (KEY === 'split') {\n // RegExp[@@split] doesn't call the regex's exec method, but first creates\n // a new one. We need to return the patched regex when creating the new one.\n re.constructor = {};\n re.constructor[SPECIES] = function () { return re; };\n }\n re[SYMBOL]('');\n return !execCalled;\n }) : undefined;\n\n if (\n !DELEGATES_TO_SYMBOL ||\n !DELEGATES_TO_EXEC ||\n (KEY === 'replace' && !REPLACE_SUPPORTS_NAMED_GROUPS) ||\n (KEY === 'split' && !SPLIT_WORKS_WITH_OVERWRITTEN_EXEC)\n ) {\n var nativeRegExpMethod = /./[SYMBOL];\n var fns = exec(\n defined,\n SYMBOL,\n ''[KEY],\n function maybeCallNative(nativeMethod, regexp, str, arg2, forceStringMethod) {\n if (regexp.exec === regexpExec) {\n if (DELEGATES_TO_SYMBOL && !forceStringMethod) {\n // The native String method already delegates to @@method (this\n // polyfilled function), leasing to infinite recursion.\n // We avoid it by directly calling the native @@method method.\n return { done: true, value: nativeRegExpMethod.call(regexp, str, arg2) };\n }\n return { done: true, value: nativeMethod.call(str, regexp, arg2) };\n }\n return { done: false };\n }\n );\n var strfn = fns[0];\n var rxfn = fns[1];\n\n redefine(String.prototype, KEY, strfn);\n hide(RegExp.prototype, SYMBOL, length == 2\n // 21.2.5.8 RegExp.prototype[@@replace](string, replaceValue)\n // 21.2.5.11 RegExp.prototype[@@split](string, limit)\n ? function (string, arg) { return rxfn.call(string, this, arg); }\n // 21.2.5.6 RegExp.prototype[@@match](string)\n // 21.2.5.9 RegExp.prototype[@@search](string)\n : function (string) { return rxfn.call(string, this); }\n );\n }\n};\n\n\n/***/ }),\n/* 109 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar global = __webpack_require__(5);\nvar navigator = global.navigator;\n\nmodule.exports = navigator && navigator.userAgent || '';\n\n\n/***/ }),\n/* 110 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar global = __webpack_require__(5);\nvar $export = __webpack_require__(1);\nvar redefine = __webpack_require__(26);\nvar redefineAll = __webpack_require__(69);\nvar meta = __webpack_require__(54);\nvar forOf = __webpack_require__(68);\nvar anInstance = __webpack_require__(67);\nvar isObject = __webpack_require__(8);\nvar fails = __webpack_require__(7);\nvar $iterDetect = __webpack_require__(106);\nvar setToStringTag = __webpack_require__(73);\nvar inheritIfRequired = __webpack_require__(131);\n\nmodule.exports = function (NAME, wrapper, methods, common, IS_MAP, IS_WEAK) {\n var Base = global[NAME];\n var C = Base;\n var ADDER = IS_MAP ? 'set' : 'add';\n var proto = C && C.prototype;\n var O = {};\n var fixMethod = function (KEY) {\n var fn = proto[KEY];\n redefine(proto, KEY,\n KEY == 'delete' ? function (a) {\n return IS_WEAK && !isObject(a) ? false : fn.call(this, a === 0 ? 0 : a);\n } : KEY == 'has' ? function has(a) {\n return IS_WEAK && !isObject(a) ? false : fn.call(this, a === 0 ? 0 : a);\n } : KEY == 'get' ? function get(a) {\n return IS_WEAK && !isObject(a) ? undefined : fn.call(this, a === 0 ? 0 : a);\n } : KEY == 'add' ? function add(a) { fn.call(this, a === 0 ? 0 : a); return this; }\n : function set(a, b) { fn.call(this, a === 0 ? 0 : a, b); return this; }\n );\n };\n if (typeof C != 'function' || !(IS_WEAK || proto.forEach && !fails(function () {\n new C().entries().next();\n }))) {\n // create collection constructor\n C = common.getConstructor(wrapper, NAME, IS_MAP, ADDER);\n redefineAll(C.prototype, methods);\n meta.NEED = true;\n } else {\n var instance = new C();\n // early implementations not supports chaining\n var HASNT_CHAINING = instance[ADDER](IS_WEAK ? {} : -0, 1) != instance;\n // V8 ~ Chromium 40- weak-collections throws on primitives, but should return false\n var THROWS_ON_PRIMITIVES = fails(function () { instance.has(1); });\n // most early implementations doesn't supports iterables, most modern - not close it correctly\n var ACCEPT_ITERABLES = $iterDetect(function (iter) { new C(iter); }); // eslint-disable-line no-new\n // for early implementations -0 and +0 not the same\n var BUGGY_ZERO = !IS_WEAK && fails(function () {\n // V8 ~ Chromium 42- fails only with 5+ elements\n var $instance = new C();\n var index = 5;\n while (index--) $instance[ADDER](index, index);\n return !$instance.has(-0);\n });\n if (!ACCEPT_ITERABLES) {\n C = wrapper(function (target, iterable) {\n anInstance(target, C, NAME);\n var that = inheritIfRequired(new Base(), target, C);\n if (iterable != undefined) forOf(iterable, IS_MAP, that[ADDER], that);\n return that;\n });\n C.prototype = proto;\n proto.constructor = C;\n }\n if (THROWS_ON_PRIMITIVES || BUGGY_ZERO) {\n fixMethod('delete');\n fixMethod('has');\n IS_MAP && fixMethod('get');\n }\n if (BUGGY_ZERO || HASNT_CHAINING) fixMethod(ADDER);\n // weak collections should not contains .clear method\n if (IS_WEAK && proto.clear) delete proto.clear;\n }\n\n setToStringTag(C, NAME);\n\n O[NAME] = C;\n $export($export.G + $export.W + $export.F * (C != Base), O);\n\n if (!IS_WEAK) common.setStrong(C, NAME, IS_MAP);\n\n return C;\n};\n\n\n/***/ }),\n/* 111 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar global = __webpack_require__(5);\nvar hide = __webpack_require__(25);\nvar uid = __webpack_require__(61);\nvar TYPED = uid('typed_array');\nvar VIEW = uid('view');\nvar ABV = !!(global.ArrayBuffer && global.DataView);\nvar CONSTR = ABV;\nvar i = 0;\nvar l = 9;\nvar Typed;\n\nvar TypedArrayConstructors = (\n 'Int8Array,Uint8Array,Uint8ClampedArray,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array'\n).split(',');\n\nwhile (i < l) {\n if (Typed = global[TypedArrayConstructors[i++]]) {\n hide(Typed.prototype, TYPED, true);\n hide(Typed.prototype, VIEW, true);\n } else CONSTR = false;\n}\n\nmodule.exports = {\n ABV: ABV,\n CONSTR: CONSTR,\n TYPED: TYPED,\n VIEW: VIEW\n};\n\n\n/***/ }),\n/* 112 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n// Forced replacement prototype accessors methods\nmodule.exports = __webpack_require__(53) || !__webpack_require__(7)(function () {\n var K = Math.random();\n // In FF throws only define methods\n // eslint-disable-next-line no-undef, no-useless-call\n __defineSetter__.call(null, K, function () { /* empty */ });\n delete __webpack_require__(5)[K];\n});\n\n\n/***/ }),\n/* 113 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n// https://tc39.github.io/proposal-setmap-offrom/\nvar $export = __webpack_require__(1);\n\nmodule.exports = function (COLLECTION) {\n $export($export.S, COLLECTION, { of: function of() {\n var length = arguments.length;\n var A = new Array(length);\n while (length--) A[length] = arguments[length];\n return new this(A);\n } });\n};\n\n\n/***/ }),\n/* 114 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n// https://tc39.github.io/proposal-setmap-offrom/\nvar $export = __webpack_require__(1);\nvar aFunction = __webpack_require__(20);\nvar ctx = __webpack_require__(35);\nvar forOf = __webpack_require__(68);\n\nmodule.exports = function (COLLECTION) {\n $export($export.S, COLLECTION, { from: function from(source /* , mapFn, thisArg */) {\n var mapFn = arguments[1];\n var mapping, A, n, cb;\n aFunction(this);\n mapping = mapFn !== undefined;\n if (mapping) aFunction(mapFn);\n if (source == undefined) return new this();\n A = [];\n if (mapping) {\n n = 0;\n cb = ctx(mapFn, arguments[2], 2);\n forOf(source, false, function (nextItem) {\n A.push(cb(nextItem, n++));\n });\n } else {\n forOf(source, false, A.push, A);\n }\n return new this(A);\n } });\n};\n\n\n/***/ }),\n/* 115 */\n/***/ (function(module, exports) {\n\nmodule.exports = function (it) {\n if (typeof it != 'function') throw TypeError(it + ' is not a function!');\n return it;\n};\n\n\n/***/ }),\n/* 116 */\n/***/ (function(module, exports) {\n\nvar id = 0;\nvar px = Math.random();\nmodule.exports = function (key) {\n return 'Symbol('.concat(key === undefined ? '' : key, ')_', (++id + px).toString(36));\n};\n\n\n/***/ }),\n/* 117 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar def = __webpack_require__(50).f;\nvar has = __webpack_require__(72);\nvar TAG = __webpack_require__(23)('toStringTag');\n\nmodule.exports = function (it, tag, stat) {\n if (it && !has(it = stat ? it : it.prototype, TAG)) def(it, TAG, { configurable: true, value: tag });\n};\n\n\n/***/ }),\n/* 118 */\n/***/ (function(module, exports, __webpack_require__) {\n\n__webpack_require__(482);\nvar global = __webpack_require__(22);\nvar hide = __webpack_require__(71);\nvar Iterators = __webpack_require__(80);\nvar TO_STRING_TAG = __webpack_require__(23)('toStringTag');\n\nvar DOMIterables = ('CSSRuleList,CSSStyleDeclaration,CSSValueList,ClientRectList,DOMRectList,DOMStringList,' +\n 'DOMTokenList,DataTransferItemList,FileList,HTMLAllCollection,HTMLCollection,HTMLFormElement,HTMLSelectElement,' +\n 'MediaList,MimeTypeArray,NamedNodeMap,NodeList,PaintRequestList,Plugin,PluginArray,SVGLengthList,SVGNumberList,' +\n 'SVGPathSegList,SVGPointList,SVGStringList,SVGTransformList,SourceBufferList,StyleSheetList,TextTrackCueList,' +\n 'TextTrackList,TouchList').split(',');\n\nfor (var i = 0; i < DOMIterables.length; i++) {\n var NAME = DOMIterables[i];\n var Collection = global[NAME];\n var proto = Collection && Collection.prototype;\n if (proto && !proto[TO_STRING_TAG]) hide(proto, TO_STRING_TAG, NAME);\n Iterators[NAME] = Iterators.Array;\n}\n\n\n/***/ }),\n/* 119 */\n/***/ (function(module, exports, __webpack_require__) {\n\nexports.f = __webpack_require__(23);\n\n\n/***/ }),\n/* 120 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;/*!\n * jQuery JavaScript Library v1.12.4\n * http://jquery.com/\n *\n * Includes Sizzle.js\n * http://sizzlejs.com/\n *\n * Copyright jQuery Foundation and other contributors\n * Released under the MIT license\n * http://jquery.org/license\n *\n * Date: 2017-10-25T15:48Z\n */\n\n(function( global, factory ) {\n\n\tif ( typeof module === \"object\" && typeof module.exports === \"object\" ) {\n\t\t// For CommonJS and CommonJS-like environments where a proper `window`\n\t\t// is present, execute the factory and get jQuery.\n\t\t// For environments that do not have a `window` with a `document`\n\t\t// (such as Node.js), expose a factory as module.exports.\n\t\t// This accentuates the need for the creation of a real `window`.\n\t\t// e.g. var jQuery = require(\"jquery\")(window);\n\t\t// See ticket #14549 for more info.\n\t\tmodule.exports = global.document ?\n\t\t\tfactory( global, true ) :\n\t\t\tfunction( w ) {\n\t\t\t\tif ( !w.document ) {\n\t\t\t\t\tthrow new Error( \"jQuery requires a window with a document\" );\n\t\t\t\t}\n\t\t\t\treturn factory( w );\n\t\t\t};\n\t} else {\n\t\tfactory( global );\n\t}\n\n// Pass this if window is not defined yet\n}(typeof window !== \"undefined\" ? window : this, function( window, noGlobal ) {\n\n// Support: Firefox 18+\n// Can't be in strict mode, several libs including ASP.NET trace\n// the stack via arguments.caller.callee and Firefox dies if\n// you try to trace through \"use strict\" call chains. (#13335)\n//\"use strict\";\nvar deletedIds = [];\n\nvar document = window.document;\n\nvar slice = deletedIds.slice;\n\nvar concat = deletedIds.concat;\n\nvar push = deletedIds.push;\n\nvar indexOf = deletedIds.indexOf;\n\nvar class2type = {};\n\nvar toString = class2type.toString;\n\nvar hasOwn = class2type.hasOwnProperty;\n\nvar support = {};\n\n\n\nvar\n\tversion = \"1.12.4\",\n\n\t// Define a local copy of jQuery\n\tjQuery = function( selector, context ) {\n\n\t\t// The jQuery object is actually just the init constructor 'enhanced'\n\t\t// Need init if jQuery is called (just allow error to be thrown if not included)\n\t\treturn new jQuery.fn.init( selector, context );\n\t},\n\n\t// Support: Android<4.1, IE<9\n\t// Make sure we trim BOM and NBSP\n\trtrim = /^[\\s\\uFEFF\\xA0]+|[\\s\\uFEFF\\xA0]+$/g,\n\n\t// Matches dashed string for camelizing\n\trmsPrefix = /^-ms-/,\n\trdashAlpha = /-([\\da-z])/gi,\n\n\t// Used by jQuery.camelCase as callback to replace()\n\tfcamelCase = function( all, letter ) {\n\t\treturn letter.toUpperCase();\n\t};\n\njQuery.fn = jQuery.prototype = {\n\n\t// The current version of jQuery being used\n\tjquery: version,\n\n\tconstructor: jQuery,\n\n\t// Start with an empty selector\n\tselector: \"\",\n\n\t// The default length of a jQuery object is 0\n\tlength: 0,\n\n\ttoArray: function() {\n\t\treturn slice.call( this );\n\t},\n\n\t// Get the Nth element in the matched element set OR\n\t// Get the whole matched element set as a clean array\n\tget: function( num ) {\n\t\treturn num != null ?\n\n\t\t\t// Return just the one element from the set\n\t\t\t( num < 0 ? this[ num + this.length ] : this[ num ] ) :\n\n\t\t\t// Return all the elements in a clean array\n\t\t\tslice.call( this );\n\t},\n\n\t// Take an array of elements and push it onto the stack\n\t// (returning the new matched element set)\n\tpushStack: function( elems ) {\n\n\t\t// Build a new jQuery matched element set\n\t\tvar ret = jQuery.merge( this.constructor(), elems );\n\n\t\t// Add the old object onto the stack (as a reference)\n\t\tret.prevObject = this;\n\t\tret.context = this.context;\n\n\t\t// Return the newly-formed element set\n\t\treturn ret;\n\t},\n\n\t// Execute a callback for every element in the matched set.\n\teach: function( callback ) {\n\t\treturn jQuery.each( this, callback );\n\t},\n\n\tmap: function( callback ) {\n\t\treturn this.pushStack( jQuery.map( this, function( elem, i ) {\n\t\t\treturn callback.call( elem, i, elem );\n\t\t} ) );\n\t},\n\n\tslice: function() {\n\t\treturn this.pushStack( slice.apply( this, arguments ) );\n\t},\n\n\tfirst: function() {\n\t\treturn this.eq( 0 );\n\t},\n\n\tlast: function() {\n\t\treturn this.eq( -1 );\n\t},\n\n\teq: function( i ) {\n\t\tvar len = this.length,\n\t\t\tj = +i + ( i < 0 ? len : 0 );\n\t\treturn this.pushStack( j >= 0 && j < len ? [ this[ j ] ] : [] );\n\t},\n\n\tend: function() {\n\t\treturn this.prevObject || this.constructor();\n\t},\n\n\t// For internal use only.\n\t// Behaves like an Array's method, not like a jQuery method.\n\tpush: push,\n\tsort: deletedIds.sort,\n\tsplice: deletedIds.splice\n};\n\njQuery.extend = jQuery.fn.extend = function() {\n\tvar src, copyIsArray, copy, name, options, clone,\n\t\ttarget = arguments[ 0 ] || {},\n\t\ti = 1,\n\t\tlength = arguments.length,\n\t\tdeep = false;\n\n\t// Handle a deep copy situation\n\tif ( typeof target === \"boolean\" ) {\n\t\tdeep = target;\n\n\t\t// skip the boolean and the target\n\t\ttarget = arguments[ i ] || {};\n\t\ti++;\n\t}\n\n\t// Handle case when target is a string or something (possible in deep copy)\n\tif ( typeof target !== \"object\" && !jQuery.isFunction( target ) ) {\n\t\ttarget = {};\n\t}\n\n\t// extend jQuery itself if only one argument is passed\n\tif ( i === length ) {\n\t\ttarget = this;\n\t\ti--;\n\t}\n\n\tfor ( ; i < length; i++ ) {\n\n\t\t// Only deal with non-null/undefined values\n\t\tif ( ( options = arguments[ i ] ) != null ) {\n\n\t\t\t// Extend the base object\n\t\t\tfor ( name in options ) {\n\t\t\t\tsrc = target[ name ];\n\t\t\t\tcopy = options[ name ];\n\n\t\t\t\t// Prevent never-ending loop\n\t\t\t\t// Prevent Object.prototype pollution to avoid CVE-2019-11358 vulnerability\n\t\t\t\t// https://oktainc.atlassian.net/browse/OKTA-277796\n\t\t\t\tif ( name === \"__proto__\" || target === copy ) {\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\n\t\t\t\t// Recurse if we're merging plain objects or arrays\n\t\t\t\tif ( deep && copy && ( jQuery.isPlainObject( copy ) ||\n\t\t\t\t\t( copyIsArray = jQuery.isArray( copy ) ) ) ) {\n\n\t\t\t\t\tif ( copyIsArray ) {\n\t\t\t\t\t\tcopyIsArray = false;\n\t\t\t\t\t\tclone = src && jQuery.isArray( src ) ? src : [];\n\n\t\t\t\t\t} else {\n\t\t\t\t\t\tclone = src && jQuery.isPlainObject( src ) ? src : {};\n\t\t\t\t\t}\n\n\t\t\t\t\t// Never move original objects, clone them\n\t\t\t\t\ttarget[ name ] = jQuery.extend( deep, clone, copy );\n\n\t\t\t\t// Don't bring in undefined values\n\t\t\t\t} else if ( copy !== undefined ) {\n\t\t\t\t\ttarget[ name ] = copy;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\t// Return the modified object\n\treturn target;\n};\n\njQuery.extend( {\n\n\t// Unique for each copy of jQuery on the page\n\texpando: \"jQuery\" + ( version + Math.random() ).replace( /\\D/g, \"\" ),\n\n\t// Assume jQuery is ready without the ready module\n\tisReady: true,\n\n\terror: function( msg ) {\n\t\tthrow new Error( msg );\n\t},\n\n\tnoop: function() {},\n\n\t// See test/unit/core.js for details concerning isFunction.\n\t// Since version 1.3, DOM methods and functions like alert\n\t// aren't supported. They return false on IE (#2968).\n\tisFunction: function( obj ) {\n\t\treturn jQuery.type( obj ) === \"function\";\n\t},\n\n\tisArray: Array.isArray || function( obj ) {\n\t\treturn jQuery.type( obj ) === \"array\";\n\t},\n\n\tisWindow: function( obj ) {\n\t\t/* jshint eqeqeq: false */\n\t\treturn obj != null && obj == obj.window;\n\t},\n\n\tisNumeric: function( obj ) {\n\n\t\t// parseFloat NaNs numeric-cast false positives (null|true|false|\"\")\n\t\t// ...but misinterprets leading-number strings, particularly hex literals (\"0x...\")\n\t\t// subtraction forces infinities to NaN\n\t\t// adding 1 corrects loss of precision from parseFloat (#15100)\n\t\tvar realStringObj = obj && obj.toString();\n\t\treturn !jQuery.isArray( obj ) && ( realStringObj - parseFloat( realStringObj ) + 1 ) >= 0;\n\t},\n\n\tisEmptyObject: function( obj ) {\n\t\tvar name;\n\t\tfor ( name in obj ) {\n\t\t\treturn false;\n\t\t}\n\t\treturn true;\n\t},\n\n\tisPlainObject: function( obj ) {\n\t\tvar key;\n\n\t\t// Must be an Object.\n\t\t// Because of IE, we also have to check the presence of the constructor property.\n\t\t// Make sure that DOM nodes and window objects don't pass through, as well\n\t\tif ( !obj || jQuery.type( obj ) !== \"object\" || obj.nodeType || jQuery.isWindow( obj ) ) {\n\t\t\treturn false;\n\t\t}\n\n\t\ttry {\n\n\t\t\t// Not own constructor property must be Object\n\t\t\tif ( obj.constructor &&\n\t\t\t\t!hasOwn.call( obj, \"constructor\" ) &&\n\t\t\t\t!hasOwn.call( obj.constructor.prototype, \"isPrototypeOf\" ) ) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t} catch ( e ) {\n\n\t\t\t// IE8,9 Will throw exceptions on certain host objects #9897\n\t\t\treturn false;\n\t\t}\n\n\t\t// Support: IE<9\n\t\t// Handle iteration over inherited properties before own properties.\n\t\tif ( !support.ownFirst ) {\n\t\t\tfor ( key in obj ) {\n\t\t\t\treturn hasOwn.call( obj, key );\n\t\t\t}\n\t\t}\n\n\t\t// Own properties are enumerated firstly, so to speed up,\n\t\t// if last one is own, then all properties are own.\n\t\tfor ( key in obj ) {}\n\n\t\treturn key === undefined || hasOwn.call( obj, key );\n\t},\n\n\ttype: function( obj ) {\n\t\tif ( obj == null ) {\n\t\t\treturn obj + \"\";\n\t\t}\n\t\treturn typeof obj === \"object\" || typeof obj === \"function\" ?\n\t\t\tclass2type[ toString.call( obj ) ] || \"object\" :\n\t\t\ttypeof obj;\n\t},\n\n\t// Workarounds based on findings by Jim Driscoll\n\t// http://weblogs.java.net/blog/driscoll/archive/2009/09/08/eval-javascript-global-context\n\tglobalEval: function( data ) {\n\t\tif ( data && jQuery.trim( data ) ) {\n\n\t\t\t// We use execScript on Internet Explorer\n\t\t\t// We use an anonymous function so that context is window\n\t\t\t// rather than jQuery in Firefox\n\t\t\t( window.execScript || function( data ) {\n\t\t\t\twindow[ \"eval\" ].call( window, data ); // jscs:ignore requireDotNotation\n\t\t\t} )( data );\n\t\t}\n\t},\n\n\t// Convert dashed to camelCase; used by the css and data modules\n\t// Microsoft forgot to hump their vendor prefix (#9572)\n\tcamelCase: function( string ) {\n\t\treturn string.replace( rmsPrefix, \"ms-\" ).replace( rdashAlpha, fcamelCase );\n\t},\n\n\tnodeName: function( elem, name ) {\n\t\treturn elem.nodeName && elem.nodeName.toLowerCase() === name.toLowerCase();\n\t},\n\n\teach: function( obj, callback ) {\n\t\tvar length, i = 0;\n\n\t\tif ( isArrayLike( obj ) ) {\n\t\t\tlength = obj.length;\n\t\t\tfor ( ; i < length; i++ ) {\n\t\t\t\tif ( callback.call( obj[ i ], i, obj[ i ] ) === false ) {\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t}\n\t\t} else {\n\t\t\tfor ( i in obj ) {\n\t\t\t\tif ( callback.call( obj[ i ], i, obj[ i ] ) === false ) {\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn obj;\n\t},\n\n\t// Support: Android<4.1, IE<9\n\ttrim: function( text ) {\n\t\treturn text == null ?\n\t\t\t\"\" :\n\t\t\t( text + \"\" ).replace( rtrim, \"\" );\n\t},\n\n\t// results is for internal usage only\n\tmakeArray: function( arr, results ) {\n\t\tvar ret = results || [];\n\n\t\tif ( arr != null ) {\n\t\t\tif ( isArrayLike( Object( arr ) ) ) {\n\t\t\t\tjQuery.merge( ret,\n\t\t\t\t\ttypeof arr === \"string\" ?\n\t\t\t\t\t[ arr ] : arr\n\t\t\t\t);\n\t\t\t} else {\n\t\t\t\tpush.call( ret, arr );\n\t\t\t}\n\t\t}\n\n\t\treturn ret;\n\t},\n\n\tinArray: function( elem, arr, i ) {\n\t\tvar len;\n\n\t\tif ( arr ) {\n\t\t\tif ( indexOf ) {\n\t\t\t\treturn indexOf.call( arr, elem, i );\n\t\t\t}\n\n\t\t\tlen = arr.length;\n\t\t\ti = i ? i < 0 ? Math.max( 0, len + i ) : i : 0;\n\n\t\t\tfor ( ; i < len; i++ ) {\n\n\t\t\t\t// Skip accessing in sparse arrays\n\t\t\t\tif ( i in arr && arr[ i ] === elem ) {\n\t\t\t\t\treturn i;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn -1;\n\t},\n\n\tmerge: function( first, second ) {\n\t\tvar len = +second.length,\n\t\t\tj = 0,\n\t\t\ti = first.length;\n\n\t\twhile ( j < len ) {\n\t\t\tfirst[ i++ ] = second[ j++ ];\n\t\t}\n\n\t\t// Support: IE<9\n\t\t// Workaround casting of .length to NaN on otherwise arraylike objects (e.g., NodeLists)\n\t\tif ( len !== len ) {\n\t\t\twhile ( second[ j ] !== undefined ) {\n\t\t\t\tfirst[ i++ ] = second[ j++ ];\n\t\t\t}\n\t\t}\n\n\t\tfirst.length = i;\n\n\t\treturn first;\n\t},\n\n\tgrep: function( elems, callback, invert ) {\n\t\tvar callbackInverse,\n\t\t\tmatches = [],\n\t\t\ti = 0,\n\t\t\tlength = elems.length,\n\t\t\tcallbackExpect = !invert;\n\n\t\t// Go through the array, only saving the items\n\t\t// that pass the validator function\n\t\tfor ( ; i < length; i++ ) {\n\t\t\tcallbackInverse = !callback( elems[ i ], i );\n\t\t\tif ( callbackInverse !== callbackExpect ) {\n\t\t\t\tmatches.push( elems[ i ] );\n\t\t\t}\n\t\t}\n\n\t\treturn matches;\n\t},\n\n\t// arg is for internal usage only\n\tmap: function( elems, callback, arg ) {\n\t\tvar length, value,\n\t\t\ti = 0,\n\t\t\tret = [];\n\n\t\t// Go through the array, translating each of the items to their new values\n\t\tif ( isArrayLike( elems ) ) {\n\t\t\tlength = elems.length;\n\t\t\tfor ( ; i < length; i++ ) {\n\t\t\t\tvalue = callback( elems[ i ], i, arg );\n\n\t\t\t\tif ( value != null ) {\n\t\t\t\t\tret.push( value );\n\t\t\t\t}\n\t\t\t}\n\n\t\t// Go through every key on the object,\n\t\t} else {\n\t\t\tfor ( i in elems ) {\n\t\t\t\tvalue = callback( elems[ i ], i, arg );\n\n\t\t\t\tif ( value != null ) {\n\t\t\t\t\tret.push( value );\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t// Flatten any nested arrays\n\t\treturn concat.apply( [], ret );\n\t},\n\n\t// A global GUID counter for objects\n\tguid: 1,\n\n\t// Bind a function to a context, optionally partially applying any\n\t// arguments.\n\tproxy: function( fn, context ) {\n\t\tvar args, proxy, tmp;\n\n\t\tif ( typeof context === \"string\" ) {\n\t\t\ttmp = fn[ context ];\n\t\t\tcontext = fn;\n\t\t\tfn = tmp;\n\t\t}\n\n\t\t// Quick check to determine if target is callable, in the spec\n\t\t// this throws a TypeError, but we will just return undefined.\n\t\tif ( !jQuery.isFunction( fn ) ) {\n\t\t\treturn undefined;\n\t\t}\n\n\t\t// Simulated bind\n\t\targs = slice.call( arguments, 2 );\n\t\tproxy = function() {\n\t\t\treturn fn.apply( context || this, args.concat( slice.call( arguments ) ) );\n\t\t};\n\n\t\t// Set the guid of unique handler to the same of original handler, so it can be removed\n\t\tproxy.guid = fn.guid = fn.guid || jQuery.guid++;\n\n\t\treturn proxy;\n\t},\n\n\tnow: function() {\n\t\treturn +( new Date() );\n\t},\n\n\t// jQuery.support is not used in Core but other projects attach their\n\t// properties to it so it needs to exist.\n\tsupport: support\n} );\n\n// JSHint would error on this code due to the Symbol not being defined in ES5.\n// Defining this global in .jshintrc would create a danger of using the global\n// unguarded in another place, it seems safer to just disable JSHint for these\n// three lines.\n/* jshint ignore: start */\nif ( typeof Symbol === \"function\" ) {\n\tjQuery.fn[ Symbol.iterator ] = deletedIds[ Symbol.iterator ];\n}\n/* jshint ignore: end */\n\n// Populate the class2type map\njQuery.each( \"Boolean Number String Function Array Date RegExp Object Error Symbol\".split( \" \" ),\nfunction( i, name ) {\n\tclass2type[ \"[object \" + name + \"]\" ] = name.toLowerCase();\n} );\n\nfunction isArrayLike( obj ) {\n\n\t// Support: iOS 8.2 (not reproducible in simulator)\n\t// `in` check used to prevent JIT error (gh-2145)\n\t// hasOwn isn't used here due to false negatives\n\t// regarding Nodelist length in IE\n\tvar length = !!obj && \"length\" in obj && obj.length,\n\t\ttype = jQuery.type( obj );\n\n\tif ( type === \"function\" || jQuery.isWindow( obj ) ) {\n\t\treturn false;\n\t}\n\n\treturn type === \"array\" || length === 0 ||\n\t\ttypeof length === \"number\" && length > 0 && ( length - 1 ) in obj;\n}\nvar Sizzle =\n/*!\n * Sizzle CSS Selector Engine v2.2.1\n * http://sizzlejs.com/\n *\n * Copyright jQuery Foundation and other contributors\n * Released under the MIT license\n * http://jquery.org/license\n *\n * Date: 2015-10-17\n */\n(function( window ) {\n\nvar i,\n\tsupport,\n\tExpr,\n\tgetText,\n\tisXML,\n\ttokenize,\n\tcompile,\n\tselect,\n\toutermostContext,\n\tsortInput,\n\thasDuplicate,\n\n\t// Local document vars\n\tsetDocument,\n\tdocument,\n\tdocElem,\n\tdocumentIsHTML,\n\trbuggyQSA,\n\trbuggyMatches,\n\tmatches,\n\tcontains,\n\n\t// Instance-specific data\n\texpando = \"sizzle\" + 1 * new Date(),\n\tpreferredDoc = window.document,\n\tdirruns = 0,\n\tdone = 0,\n\tclassCache = createCache(),\n\ttokenCache = createCache(),\n\tcompilerCache = createCache(),\n\tsortOrder = function( a, b ) {\n\t\tif ( a === b ) {\n\t\t\thasDuplicate = true;\n\t\t}\n\t\treturn 0;\n\t},\n\n\t// General-purpose constants\n\tMAX_NEGATIVE = 1 << 31,\n\n\t// Instance methods\n\thasOwn = ({}).hasOwnProperty,\n\tarr = [],\n\tpop = arr.pop,\n\tpush_native = arr.push,\n\tpush = arr.push,\n\tslice = arr.slice,\n\t// Use a stripped-down indexOf as it's faster than native\n\t// http://jsperf.com/thor-indexof-vs-for/5\n\tindexOf = function( list, elem ) {\n\t\tvar i = 0,\n\t\t\tlen = list.length;\n\t\tfor ( ; i < len; i++ ) {\n\t\t\tif ( list[i] === elem ) {\n\t\t\t\treturn i;\n\t\t\t}\n\t\t}\n\t\treturn -1;\n\t},\n\n\tbooleans = \"checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped\",\n\n\t// Regular expressions\n\n\t// http://www.w3.org/TR/css3-selectors/#whitespace\n\twhitespace = \"[\\\\x20\\\\t\\\\r\\\\n\\\\f]\",\n\n\t// http://www.w3.org/TR/CSS21/syndata.html#value-def-identifier\n\tidentifier = \"(?:\\\\\\\\.|[\\\\w-]|[^\\\\x00-\\\\xa0])+\",\n\n\t// Attribute selectors: http://www.w3.org/TR/selectors/#attribute-selectors\n\tattributes = \"\\\\[\" + whitespace + \"*(\" + identifier + \")(?:\" + whitespace +\n\t\t// Operator (capture 2)\n\t\t\"*([*^$|!~]?=)\" + whitespace +\n\t\t// \"Attribute values must be CSS identifiers [capture 5] or strings [capture 3 or capture 4]\"\n\t\t\"*(?:'((?:\\\\\\\\.|[^\\\\\\\\'])*)'|\\\"((?:\\\\\\\\.|[^\\\\\\\\\\\"])*)\\\"|(\" + identifier + \"))|)\" + whitespace +\n\t\t\"*\\\\]\",\n\n\tpseudos = \":(\" + identifier + \")(?:\\\\((\" +\n\t\t// To reduce the number of selectors needing tokenize in the preFilter, prefer arguments:\n\t\t// 1. quoted (capture 3; capture 4 or capture 5)\n\t\t\"('((?:\\\\\\\\.|[^\\\\\\\\'])*)'|\\\"((?:\\\\\\\\.|[^\\\\\\\\\\\"])*)\\\")|\" +\n\t\t// 2. simple (capture 6)\n\t\t\"((?:\\\\\\\\.|[^\\\\\\\\()[\\\\]]|\" + attributes + \")*)|\" +\n\t\t// 3. anything else (capture 2)\n\t\t\".*\" +\n\t\t\")\\\\)|)\",\n\n\t// Leading and non-escaped trailing whitespace, capturing some non-whitespace characters preceding the latter\n\trwhitespace = new RegExp( whitespace + \"+\", \"g\" ),\n\trtrim = new RegExp( \"^\" + whitespace + \"+|((?:^|[^\\\\\\\\])(?:\\\\\\\\.)*)\" + whitespace + \"+$\", \"g\" ),\n\n\trcomma = new RegExp( \"^\" + whitespace + \"*,\" + whitespace + \"*\" ),\n\trcombinators = new RegExp( \"^\" + whitespace + \"*([>+~]|\" + whitespace + \")\" + whitespace + \"*\" ),\n\n\trattributeQuotes = new RegExp( \"=\" + whitespace + \"*([^\\\\]'\\\"]*?)\" + whitespace + \"*\\\\]\", \"g\" ),\n\n\trpseudo = new RegExp( pseudos ),\n\tridentifier = new RegExp( \"^\" + identifier + \"$\" ),\n\n\tmatchExpr = {\n\t\t\"ID\": new RegExp( \"^#(\" + identifier + \")\" ),\n\t\t\"CLASS\": new RegExp( \"^\\\\.(\" + identifier + \")\" ),\n\t\t\"TAG\": new RegExp( \"^(\" + identifier + \"|[*])\" ),\n\t\t\"ATTR\": new RegExp( \"^\" + attributes ),\n\t\t\"PSEUDO\": new RegExp( \"^\" + pseudos ),\n\t\t\"CHILD\": new RegExp( \"^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\\\(\" + whitespace +\n\t\t\t\"*(even|odd|(([+-]|)(\\\\d*)n|)\" + whitespace + \"*(?:([+-]|)\" + whitespace +\n\t\t\t\"*(\\\\d+)|))\" + whitespace + \"*\\\\)|)\", \"i\" ),\n\t\t\"bool\": new RegExp( \"^(?:\" + booleans + \")$\", \"i\" ),\n\t\t// For use in libraries implementing .is()\n\t\t// We use this for POS matching in `select`\n\t\t\"needsContext\": new RegExp( \"^\" + whitespace + \"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\\\(\" +\n\t\t\twhitespace + \"*((?:-\\\\d)?\\\\d*)\" + whitespace + \"*\\\\)|)(?=[^-]|$)\", \"i\" )\n\t},\n\n\trinputs = /^(?:input|select|textarea|button)$/i,\n\trheader = /^h\\d$/i,\n\n\trnative = /^[^{]+\\{\\s*\\[native \\w/,\n\n\t// Easily-parseable/retrievable ID or TAG or CLASS selectors\n\trquickExpr = /^(?:#([\\w-]+)|(\\w+)|\\.([\\w-]+))$/,\n\n\trsibling = /[+~]/,\n\trescape = /'|\\\\/g,\n\n\t// CSS escapes http://www.w3.org/TR/CSS21/syndata.html#escaped-characters\n\trunescape = new RegExp( \"\\\\\\\\([\\\\da-f]{1,6}\" + whitespace + \"?|(\" + whitespace + \")|.)\", \"ig\" ),\n\tfunescape = function( _, escaped, escapedWhitespace ) {\n\t\tvar high = \"0x\" + escaped - 0x10000;\n\t\t// NaN means non-codepoint\n\t\t// Support: Firefox<24\n\t\t// Workaround erroneous numeric interpretation of +\"0x\"\n\t\treturn high !== high || escapedWhitespace ?\n\t\t\tescaped :\n\t\t\thigh < 0 ?\n\t\t\t\t// BMP codepoint\n\t\t\t\tString.fromCharCode( high + 0x10000 ) :\n\t\t\t\t// Supplemental Plane codepoint (surrogate pair)\n\t\t\t\tString.fromCharCode( high >> 10 | 0xD800, high & 0x3FF | 0xDC00 );\n\t},\n\n\t// Used for iframes\n\t// See setDocument()\n\t// Removing the function wrapper causes a \"Permission Denied\"\n\t// error in IE\n\tunloadHandler = function() {\n\t\tsetDocument();\n\t};\n\n// Optimize for push.apply( _, NodeList )\ntry {\n\tpush.apply(\n\t\t(arr = slice.call( preferredDoc.childNodes )),\n\t\tpreferredDoc.childNodes\n\t);\n\t// Support: Android<4.0\n\t// Detect silently failing push.apply\n\tarr[ preferredDoc.childNodes.length ].nodeType;\n} catch ( e ) {\n\tpush = { apply: arr.length ?\n\n\t\t// Leverage slice if possible\n\t\tfunction( target, els ) {\n\t\t\tpush_native.apply( target, slice.call(els) );\n\t\t} :\n\n\t\t// Support: IE<9\n\t\t// Otherwise append directly\n\t\tfunction( target, els ) {\n\t\t\tvar j = target.length,\n\t\t\t\ti = 0;\n\t\t\t// Can't trust NodeList.length\n\t\t\twhile ( (target[j++] = els[i++]) ) {}\n\t\t\ttarget.length = j - 1;\n\t\t}\n\t};\n}\n\nfunction Sizzle( selector, context, results, seed ) {\n\tvar m, i, elem, nid, nidselect, match, groups, newSelector,\n\t\tnewContext = context && context.ownerDocument,\n\n\t\t// nodeType defaults to 9, since context defaults to document\n\t\tnodeType = context ? context.nodeType : 9;\n\n\tresults = results || [];\n\n\t// Return early from calls with invalid selector or context\n\tif ( typeof selector !== \"string\" || !selector ||\n\t\tnodeType !== 1 && nodeType !== 9 && nodeType !== 11 ) {\n\n\t\treturn results;\n\t}\n\n\t// Try to shortcut find operations (as opposed to filters) in HTML documents\n\tif ( !seed ) {\n\n\t\tif ( ( context ? context.ownerDocument || context : preferredDoc ) !== document ) {\n\t\t\tsetDocument( context );\n\t\t}\n\t\tcontext = context || document;\n\n\t\tif ( documentIsHTML ) {\n\n\t\t\t// If the selector is sufficiently simple, try using a \"get*By*\" DOM method\n\t\t\t// (excepting DocumentFragment context, where the methods don't exist)\n\t\t\tif ( nodeType !== 11 && (match = rquickExpr.exec( selector )) ) {\n\n\t\t\t\t// ID selector\n\t\t\t\tif ( (m = match[1]) ) {\n\n\t\t\t\t\t// Document context\n\t\t\t\t\tif ( nodeType === 9 ) {\n\t\t\t\t\t\tif ( (elem = context.getElementById( m )) ) {\n\n\t\t\t\t\t\t\t// Support: IE, Opera, Webkit\n\t\t\t\t\t\t\t// TODO: identify versions\n\t\t\t\t\t\t\t// getElementById can match elements by name instead of ID\n\t\t\t\t\t\t\tif ( elem.id === m ) {\n\t\t\t\t\t\t\t\tresults.push( elem );\n\t\t\t\t\t\t\t\treturn results;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\treturn results;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t// Element context\n\t\t\t\t\t} else {\n\n\t\t\t\t\t\t// Support: IE, Opera, Webkit\n\t\t\t\t\t\t// TODO: identify versions\n\t\t\t\t\t\t// getElementById can match elements by name instead of ID\n\t\t\t\t\t\tif ( newContext && (elem = newContext.getElementById( m )) &&\n\t\t\t\t\t\t\tcontains( context, elem ) &&\n\t\t\t\t\t\t\telem.id === m ) {\n\n\t\t\t\t\t\t\tresults.push( elem );\n\t\t\t\t\t\t\treturn results;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t// Type selector\n\t\t\t\t} else if ( match[2] ) {\n\t\t\t\t\tpush.apply( results, context.getElementsByTagName( selector ) );\n\t\t\t\t\treturn results;\n\n\t\t\t\t// Class selector\n\t\t\t\t} else if ( (m = match[3]) && support.getElementsByClassName &&\n\t\t\t\t\tcontext.getElementsByClassName ) {\n\n\t\t\t\t\tpush.apply( results, context.getElementsByClassName( m ) );\n\t\t\t\t\treturn results;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Take advantage of querySelectorAll\n\t\t\tif ( support.qsa &&\n\t\t\t\t!compilerCache[ selector + \" \" ] &&\n\t\t\t\t(!rbuggyQSA || !rbuggyQSA.test( selector )) ) {\n\n\t\t\t\tif ( nodeType !== 1 ) {\n\t\t\t\t\tnewContext = context;\n\t\t\t\t\tnewSelector = selector;\n\n\t\t\t\t// qSA looks outside Element context, which is not what we want\n\t\t\t\t// Thanks to Andrew Dupont for this workaround technique\n\t\t\t\t// Support: IE <=8\n\t\t\t\t// Exclude object elements\n\t\t\t\t} else if ( context.nodeName.toLowerCase() !== \"object\" ) {\n\n\t\t\t\t\t// Capture the context ID, setting it first if necessary\n\t\t\t\t\tif ( (nid = context.getAttribute( \"id\" )) ) {\n\t\t\t\t\t\tnid = nid.replace( rescape, \"\\\\$&\" );\n\t\t\t\t\t} else {\n\t\t\t\t\t\tcontext.setAttribute( \"id\", (nid = expando) );\n\t\t\t\t\t}\n\n\t\t\t\t\t// Prefix every selector in the list\n\t\t\t\t\tgroups = tokenize( selector );\n\t\t\t\t\ti = groups.length;\n\t\t\t\t\tnidselect = ridentifier.test( nid ) ? \"#\" + nid : \"[id='\" + nid + \"']\";\n\t\t\t\t\twhile ( i-- ) {\n\t\t\t\t\t\tgroups[i] = nidselect + \" \" + toSelector( groups[i] );\n\t\t\t\t\t}\n\t\t\t\t\tnewSelector = groups.join( \",\" );\n\n\t\t\t\t\t// Expand context for sibling selectors\n\t\t\t\t\tnewContext = rsibling.test( selector ) && testContext( context.parentNode ) ||\n\t\t\t\t\t\tcontext;\n\t\t\t\t}\n\n\t\t\t\tif ( newSelector ) {\n\t\t\t\t\ttry {\n\t\t\t\t\t\tpush.apply( results,\n\t\t\t\t\t\t\tnewContext.querySelectorAll( newSelector )\n\t\t\t\t\t\t);\n\t\t\t\t\t\treturn results;\n\t\t\t\t\t} catch ( qsaError ) {\n\t\t\t\t\t} finally {\n\t\t\t\t\t\tif ( nid === expando ) {\n\t\t\t\t\t\t\tcontext.removeAttribute( \"id\" );\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\t// All others\n\treturn select( selector.replace( rtrim, \"$1\" ), context, results, seed );\n}\n\n/**\n * Create key-value caches of limited size\n * @returns {function(string, object)} Returns the Object data after storing it on itself with\n *\tproperty name the (space-suffixed) string and (if the cache is larger than Expr.cacheLength)\n *\tdeleting the oldest entry\n */\nfunction createCache() {\n\tvar keys = [];\n\n\tfunction cache( key, value ) {\n\t\t// Use (key + \" \") to avoid collision with native prototype properties (see Issue #157)\n\t\tif ( keys.push( key + \" \" ) > Expr.cacheLength ) {\n\t\t\t// Only keep the most recent entries\n\t\t\tdelete cache[ keys.shift() ];\n\t\t}\n\t\treturn (cache[ key + \" \" ] = value);\n\t}\n\treturn cache;\n}\n\n/**\n * Mark a function for special use by Sizzle\n * @param {Function} fn The function to mark\n */\nfunction markFunction( fn ) {\n\tfn[ expando ] = true;\n\treturn fn;\n}\n\n/**\n * Support testing using an element\n * @param {Function} fn Passed the created div and expects a boolean result\n */\nfunction assert( fn ) {\n\tvar div = document.createElement(\"div\");\n\n\ttry {\n\t\treturn !!fn( div );\n\t} catch (e) {\n\t\treturn false;\n\t} finally {\n\t\t// Remove from its parent by default\n\t\tif ( div.parentNode ) {\n\t\t\tdiv.parentNode.removeChild( div );\n\t\t}\n\t\t// release memory in IE\n\t\tdiv = null;\n\t}\n}\n\n/**\n * Adds the same handler for all of the specified attrs\n * @param {String} attrs Pipe-separated list of attributes\n * @param {Function} handler The method that will be applied\n */\nfunction addHandle( attrs, handler ) {\n\tvar arr = attrs.split(\"|\"),\n\t\ti = arr.length;\n\n\twhile ( i-- ) {\n\t\tExpr.attrHandle[ arr[i] ] = handler;\n\t}\n}\n\n/**\n * Checks document order of two siblings\n * @param {Element} a\n * @param {Element} b\n * @returns {Number} Returns less than 0 if a precedes b, greater than 0 if a follows b\n */\nfunction siblingCheck( a, b ) {\n\tvar cur = b && a,\n\t\tdiff = cur && a.nodeType === 1 && b.nodeType === 1 &&\n\t\t\t( ~b.sourceIndex || MAX_NEGATIVE ) -\n\t\t\t( ~a.sourceIndex || MAX_NEGATIVE );\n\n\t// Use IE sourceIndex if available on both nodes\n\tif ( diff ) {\n\t\treturn diff;\n\t}\n\n\t// Check if b follows a\n\tif ( cur ) {\n\t\twhile ( (cur = cur.nextSibling) ) {\n\t\t\tif ( cur === b ) {\n\t\t\t\treturn -1;\n\t\t\t}\n\t\t}\n\t}\n\n\treturn a ? 1 : -1;\n}\n\n/**\n * Returns a function to use in pseudos for input types\n * @param {String} type\n */\nfunction createInputPseudo( type ) {\n\treturn function( elem ) {\n\t\tvar name = elem.nodeName.toLowerCase();\n\t\treturn name === \"input\" && elem.type === type;\n\t};\n}\n\n/**\n * Returns a function to use in pseudos for buttons\n * @param {String} type\n */\nfunction createButtonPseudo( type ) {\n\treturn function( elem ) {\n\t\tvar name = elem.nodeName.toLowerCase();\n\t\treturn (name === \"input\" || name === \"button\") && elem.type === type;\n\t};\n}\n\n/**\n * Returns a function to use in pseudos for positionals\n * @param {Function} fn\n */\nfunction createPositionalPseudo( fn ) {\n\treturn markFunction(function( argument ) {\n\t\targument = +argument;\n\t\treturn markFunction(function( seed, matches ) {\n\t\t\tvar j,\n\t\t\t\tmatchIndexes = fn( [], seed.length, argument ),\n\t\t\t\ti = matchIndexes.length;\n\n\t\t\t// Match elements found at the specified indexes\n\t\t\twhile ( i-- ) {\n\t\t\t\tif ( seed[ (j = matchIndexes[i]) ] ) {\n\t\t\t\t\tseed[j] = !(matches[j] = seed[j]);\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\t});\n}\n\n/**\n * Checks a node for validity as a Sizzle context\n * @param {Element|Object=} context\n * @returns {Element|Object|Boolean} The input node if acceptable, otherwise a falsy value\n */\nfunction testContext( context ) {\n\treturn context && typeof context.getElementsByTagName !== \"undefined\" && context;\n}\n\n// Expose support vars for convenience\nsupport = Sizzle.support = {};\n\n/**\n * Detects XML nodes\n * @param {Element|Object} elem An element or a document\n * @returns {Boolean} True iff elem is a non-HTML XML node\n */\nisXML = Sizzle.isXML = function( elem ) {\n\t// documentElement is verified for cases where it doesn't yet exist\n\t// (such as loading iframes in IE - #4833)\n\tvar documentElement = elem && (elem.ownerDocument || elem).documentElement;\n\treturn documentElement ? documentElement.nodeName !== \"HTML\" : false;\n};\n\n/**\n * Sets document-related variables once based on the current document\n * @param {Element|Object} [doc] An element or document object to use to set the document\n * @returns {Object} Returns the current document\n */\nsetDocument = Sizzle.setDocument = function( node ) {\n\tvar hasCompare, parent,\n\t\tdoc = node ? node.ownerDocument || node : preferredDoc;\n\n\t// Return early if doc is invalid or already selected\n\tif ( doc === document || doc.nodeType !== 9 || !doc.documentElement ) {\n\t\treturn document;\n\t}\n\n\t// Update global variables\n\tdocument = doc;\n\tdocElem = document.documentElement;\n\tdocumentIsHTML = !isXML( document );\n\n\t// Support: IE 9-11, Edge\n\t// Accessing iframe documents after unload throws \"permission denied\" errors (jQuery #13936)\n\tif ( (parent = document.defaultView) && parent.top !== parent ) {\n\t\t// Support: IE 11\n\t\tif ( parent.addEventListener ) {\n\t\t\tparent.addEventListener( \"unload\", unloadHandler, false );\n\n\t\t// Support: IE 9 - 10 only\n\t\t} else if ( parent.attachEvent ) {\n\t\t\tparent.attachEvent( \"onunload\", unloadHandler );\n\t\t}\n\t}\n\n\t/* Attributes\n\t---------------------------------------------------------------------- */\n\n\t// Support: IE<8\n\t// Verify that getAttribute really returns attributes and not properties\n\t// (excepting IE8 booleans)\n\tsupport.attributes = assert(function( div ) {\n\t\tdiv.className = \"i\";\n\t\treturn !div.getAttribute(\"className\");\n\t});\n\n\t/* getElement(s)By*\n\t---------------------------------------------------------------------- */\n\n\t// Check if getElementsByTagName(\"*\") returns only elements\n\tsupport.getElementsByTagName = assert(function( div ) {\n\t\tdiv.appendChild( document.createComment(\"\") );\n\t\treturn !div.getElementsByTagName(\"*\").length;\n\t});\n\n\t// Support: IE<9\n\tsupport.getElementsByClassName = rnative.test( document.getElementsByClassName );\n\n\t// Support: IE<10\n\t// Check if getElementById returns elements by name\n\t// The broken getElementById methods don't pick up programatically-set names,\n\t// so use a roundabout getElementsByName test\n\tsupport.getById = assert(function( div ) {\n\t\tdocElem.appendChild( div ).id = expando;\n\t\treturn !document.getElementsByName || !document.getElementsByName( expando ).length;\n\t});\n\n\t// ID find and filter\n\tif ( support.getById ) {\n\t\tExpr.find[\"ID\"] = function( id, context ) {\n\t\t\tif ( typeof context.getElementById !== \"undefined\" && documentIsHTML ) {\n\t\t\t\tvar m = context.getElementById( id );\n\t\t\t\treturn m ? [ m ] : [];\n\t\t\t}\n\t\t};\n\t\tExpr.filter[\"ID\"] = function( id ) {\n\t\t\tvar attrId = id.replace( runescape, funescape );\n\t\t\treturn function( elem ) {\n\t\t\t\treturn elem.getAttribute(\"id\") === attrId;\n\t\t\t};\n\t\t};\n\t} else {\n\t\t// Support: IE6/7\n\t\t// getElementById is not reliable as a find shortcut\n\t\tdelete Expr.find[\"ID\"];\n\n\t\tExpr.filter[\"ID\"] = function( id ) {\n\t\t\tvar attrId = id.replace( runescape, funescape );\n\t\t\treturn function( elem ) {\n\t\t\t\tvar node = typeof elem.getAttributeNode !== \"undefined\" &&\n\t\t\t\t\telem.getAttributeNode(\"id\");\n\t\t\t\treturn node && node.value === attrId;\n\t\t\t};\n\t\t};\n\t}\n\n\t// Tag\n\tExpr.find[\"TAG\"] = support.getElementsByTagName ?\n\t\tfunction( tag, context ) {\n\t\t\tif ( typeof context.getElementsByTagName !== \"undefined\" ) {\n\t\t\t\treturn context.getElementsByTagName( tag );\n\n\t\t\t// DocumentFragment nodes don't have gEBTN\n\t\t\t} else if ( support.qsa ) {\n\t\t\t\treturn context.querySelectorAll( tag );\n\t\t\t}\n\t\t} :\n\n\t\tfunction( tag, context ) {\n\t\t\tvar elem,\n\t\t\t\ttmp = [],\n\t\t\t\ti = 0,\n\t\t\t\t// By happy coincidence, a (broken) gEBTN appears on DocumentFragment nodes too\n\t\t\t\tresults = context.getElementsByTagName( tag );\n\n\t\t\t// Filter out possible comments\n\t\t\tif ( tag === \"*\" ) {\n\t\t\t\twhile ( (elem = results[i++]) ) {\n\t\t\t\t\tif ( elem.nodeType === 1 ) {\n\t\t\t\t\t\ttmp.push( elem );\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\treturn tmp;\n\t\t\t}\n\t\t\treturn results;\n\t\t};\n\n\t// Class\n\tExpr.find[\"CLASS\"] = support.getElementsByClassName && function( className, context ) {\n\t\tif ( typeof context.getElementsByClassName !== \"undefined\" && documentIsHTML ) {\n\t\t\treturn context.getElementsByClassName( className );\n\t\t}\n\t};\n\n\t/* QSA/matchesSelector\n\t---------------------------------------------------------------------- */\n\n\t// QSA and matchesSelector support\n\n\t// matchesSelector(:active) reports false when true (IE9/Opera 11.5)\n\trbuggyMatches = [];\n\n\t// qSa(:focus) reports false when true (Chrome 21)\n\t// We allow this because of a bug in IE8/9 that throws an error\n\t// whenever `document.activeElement` is accessed on an iframe\n\t// So, we allow :focus to pass through QSA all the time to avoid the IE error\n\t// See http://bugs.jquery.com/ticket/13378\n\trbuggyQSA = [];\n\n\tif ( (support.qsa = rnative.test( document.querySelectorAll )) ) {\n\t\t// Build QSA regex\n\t\t// Regex strategy adopted from Diego Perini\n\t\tassert(function( div ) {\n\t\t\t// Select is set to empty string on purpose\n\t\t\t// This is to test IE's treatment of not explicitly\n\t\t\t// setting a boolean content attribute,\n\t\t\t// since its presence should be enough\n\t\t\t// http://bugs.jquery.com/ticket/12359\n\t\t\tdocElem.appendChild( div ).innerHTML = \"<a id='\" + expando + \"'></a>\" +\n\t\t\t\t\"<select id='\" + expando + \"-\\r\\\\' msallowcapture=''>\" +\n\t\t\t\t\"<option selected=''></option></select>\";\n\n\t\t\t// Support: IE8, Opera 11-12.16\n\t\t\t// Nothing should be selected when empty strings follow ^= or $= or *=\n\t\t\t// The test attribute must be unknown in Opera but \"safe\" for WinRT\n\t\t\t// http://msdn.microsoft.com/en-us/library/ie/hh465388.aspx#attribute_section\n\t\t\tif ( div.querySelectorAll(\"[msallowcapture^='']\").length ) {\n\t\t\t\trbuggyQSA.push( \"[*^$]=\" + whitespace + \"*(?:''|\\\"\\\")\" );\n\t\t\t}\n\n\t\t\t// Support: IE8\n\t\t\t// Boolean attributes and \"value\" are not treated correctly\n\t\t\tif ( !div.querySelectorAll(\"[selected]\").length ) {\n\t\t\t\trbuggyQSA.push( \"\\\\[\" + whitespace + \"*(?:value|\" + booleans + \")\" );\n\t\t\t}\n\n\t\t\t// Support: Chrome<29, Android<4.4, Safari<7.0+, iOS<7.0+, PhantomJS<1.9.8+\n\t\t\tif ( !div.querySelectorAll( \"[id~=\" + expando + \"-]\" ).length ) {\n\t\t\t\trbuggyQSA.push(\"~=\");\n\t\t\t}\n\n\t\t\t// Webkit/Opera - :checked should return selected option elements\n\t\t\t// http://www.w3.org/TR/2011/REC-css3-selectors-20110929/#checked\n\t\t\t// IE8 throws error here and will not see later tests\n\t\t\tif ( !div.querySelectorAll(\":checked\").length ) {\n\t\t\t\trbuggyQSA.push(\":checked\");\n\t\t\t}\n\n\t\t\t// Support: Safari 8+, iOS 8+\n\t\t\t// https://bugs.webkit.org/show_bug.cgi?id=136851\n\t\t\t// In-page `selector#id sibing-combinator selector` fails\n\t\t\tif ( !div.querySelectorAll( \"a#\" + expando + \"+*\" ).length ) {\n\t\t\t\trbuggyQSA.push(\".#.+[+~]\");\n\t\t\t}\n\t\t});\n\n\t\tassert(function( div ) {\n\t\t\t// Support: Windows 8 Native Apps\n\t\t\t// The type and name attributes are restricted during .innerHTML assignment\n\t\t\tvar input = document.createElement(\"input\");\n\t\t\tinput.setAttribute( \"type\", \"hidden\" );\n\t\t\tdiv.appendChild( input ).setAttribute( \"name\", \"D\" );\n\n\t\t\t// Support: IE8\n\t\t\t// Enforce case-sensitivity of name attribute\n\t\t\tif ( div.querySelectorAll(\"[name=d]\").length ) {\n\t\t\t\trbuggyQSA.push( \"name\" + whitespace + \"*[*^$|!~]?=\" );\n\t\t\t}\n\n\t\t\t// FF 3.5 - :enabled/:disabled and hidden elements (hidden elements are still enabled)\n\t\t\t// IE8 throws error here and will not see later tests\n\t\t\tif ( !div.querySelectorAll(\":enabled\").length ) {\n\t\t\t\trbuggyQSA.push( \":enabled\", \":disabled\" );\n\t\t\t}\n\n\t\t\t// Opera 10-11 does not throw on post-comma invalid pseudos\n\t\t\tdiv.querySelectorAll(\"*,:x\");\n\t\t\trbuggyQSA.push(\",.*:\");\n\t\t});\n\t}\n\n\tif ( (support.matchesSelector = rnative.test( (matches = docElem.matches ||\n\t\tdocElem.webkitMatchesSelector ||\n\t\tdocElem.mozMatchesSelector ||\n\t\tdocElem.oMatchesSelector ||\n\t\tdocElem.msMatchesSelector) )) ) {\n\n\t\tassert(function( div ) {\n\t\t\t// Check to see if it's possible to do matchesSelector\n\t\t\t// on a disconnected node (IE 9)\n\t\t\tsupport.disconnectedMatch = matches.call( div, \"div\" );\n\n\t\t\t// This should fail with an exception\n\t\t\t// Gecko does not error, returns false instead\n\t\t\tmatches.call( div, \"[s!='']:x\" );\n\t\t\trbuggyMatches.push( \"!=\", pseudos );\n\t\t});\n\t}\n\n\trbuggyQSA = rbuggyQSA.length && new RegExp( rbuggyQSA.join(\"|\") );\n\trbuggyMatches = rbuggyMatches.length && new RegExp( rbuggyMatches.join(\"|\") );\n\n\t/* Contains\n\t---------------------------------------------------------------------- */\n\thasCompare = rnative.test( docElem.compareDocumentPosition );\n\n\t// Element contains another\n\t// Purposefully self-exclusive\n\t// As in, an element does not contain itself\n\tcontains = hasCompare || rnative.test( docElem.contains ) ?\n\t\tfunction( a, b ) {\n\t\t\tvar adown = a.nodeType === 9 ? a.documentElement : a,\n\t\t\t\tbup = b && b.parentNode;\n\t\t\treturn a === bup || !!( bup && bup.nodeType === 1 && (\n\t\t\t\tadown.contains ?\n\t\t\t\t\tadown.contains( bup ) :\n\t\t\t\t\ta.compareDocumentPosition && a.compareDocumentPosition( bup ) & 16\n\t\t\t));\n\t\t} :\n\t\tfunction( a, b ) {\n\t\t\tif ( b ) {\n\t\t\t\twhile ( (b = b.parentNode) ) {\n\t\t\t\t\tif ( b === a ) {\n\t\t\t\t\t\treturn true;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn false;\n\t\t};\n\n\t/* Sorting\n\t---------------------------------------------------------------------- */\n\n\t// Document order sorting\n\tsortOrder = hasCompare ?\n\tfunction( a, b ) {\n\n\t\t// Flag for duplicate removal\n\t\tif ( a === b ) {\n\t\t\thasDuplicate = true;\n\t\t\treturn 0;\n\t\t}\n\n\t\t// Sort on method existence if only one input has compareDocumentPosition\n\t\tvar compare = !a.compareDocumentPosition - !b.compareDocumentPosition;\n\t\tif ( compare ) {\n\t\t\treturn compare;\n\t\t}\n\n\t\t// Calculate position if both inputs belong to the same document\n\t\tcompare = ( a.ownerDocument || a ) === ( b.ownerDocument || b ) ?\n\t\t\ta.compareDocumentPosition( b ) :\n\n\t\t\t// Otherwise we know they are disconnected\n\t\t\t1;\n\n\t\t// Disconnected nodes\n\t\tif ( compare & 1 ||\n\t\t\t(!support.sortDetached && b.compareDocumentPosition( a ) === compare) ) {\n\n\t\t\t// Choose the first element that is related to our preferred document\n\t\t\tif ( a === document || a.ownerDocument === preferredDoc && contains(preferredDoc, a) ) {\n\t\t\t\treturn -1;\n\t\t\t}\n\t\t\tif ( b === document || b.ownerDocument === preferredDoc && contains(preferredDoc, b) ) {\n\t\t\t\treturn 1;\n\t\t\t}\n\n\t\t\t// Maintain original order\n\t\t\treturn sortInput ?\n\t\t\t\t( indexOf( sortInput, a ) - indexOf( sortInput, b ) ) :\n\t\t\t\t0;\n\t\t}\n\n\t\treturn compare & 4 ? -1 : 1;\n\t} :\n\tfunction( a, b ) {\n\t\t// Exit early if the nodes are identical\n\t\tif ( a === b ) {\n\t\t\thasDuplicate = true;\n\t\t\treturn 0;\n\t\t}\n\n\t\tvar cur,\n\t\t\ti = 0,\n\t\t\taup = a.parentNode,\n\t\t\tbup = b.parentNode,\n\t\t\tap = [ a ],\n\t\t\tbp = [ b ];\n\n\t\t// Parentless nodes are either documents or disconnected\n\t\tif ( !aup || !bup ) {\n\t\t\treturn a === document ? -1 :\n\t\t\t\tb === document ? 1 :\n\t\t\t\taup ? -1 :\n\t\t\t\tbup ? 1 :\n\t\t\t\tsortInput ?\n\t\t\t\t( indexOf( sortInput, a ) - indexOf( sortInput, b ) ) :\n\t\t\t\t0;\n\n\t\t// If the nodes are siblings, we can do a quick check\n\t\t} else if ( aup === bup ) {\n\t\t\treturn siblingCheck( a, b );\n\t\t}\n\n\t\t// Otherwise we need full lists of their ancestors for comparison\n\t\tcur = a;\n\t\twhile ( (cur = cur.parentNode) ) {\n\t\t\tap.unshift( cur );\n\t\t}\n\t\tcur = b;\n\t\twhile ( (cur = cur.parentNode) ) {\n\t\t\tbp.unshift( cur );\n\t\t}\n\n\t\t// Walk down the tree looking for a discrepancy\n\t\twhile ( ap[i] === bp[i] ) {\n\t\t\ti++;\n\t\t}\n\n\t\treturn i ?\n\t\t\t// Do a sibling check if the nodes have a common ancestor\n\t\t\tsiblingCheck( ap[i], bp[i] ) :\n\n\t\t\t// Otherwise nodes in our document sort first\n\t\t\tap[i] === preferredDoc ? -1 :\n\t\t\tbp[i] === preferredDoc ? 1 :\n\t\t\t0;\n\t};\n\n\treturn document;\n};\n\nSizzle.matches = function( expr, elements ) {\n\treturn Sizzle( expr, null, null, elements );\n};\n\nSizzle.matchesSelector = function( elem, expr ) {\n\t// Set document vars if needed\n\tif ( ( elem.ownerDocument || elem ) !== document ) {\n\t\tsetDocument( elem );\n\t}\n\n\t// Make sure that attribute selectors are quoted\n\texpr = expr.replace( rattributeQuotes, \"='$1']\" );\n\n\tif ( support.matchesSelector && documentIsHTML &&\n\t\t!compilerCache[ expr + \" \" ] &&\n\t\t( !rbuggyMatches || !rbuggyMatches.test( expr ) ) &&\n\t\t( !rbuggyQSA || !rbuggyQSA.test( expr ) ) ) {\n\n\t\ttry {\n\t\t\tvar ret = matches.call( elem, expr );\n\n\t\t\t// IE 9's matchesSelector returns false on disconnected nodes\n\t\t\tif ( ret || support.disconnectedMatch ||\n\t\t\t\t\t// As well, disconnected nodes are said to be in a document\n\t\t\t\t\t// fragment in IE 9\n\t\t\t\t\telem.document && elem.document.nodeType !== 11 ) {\n\t\t\t\treturn ret;\n\t\t\t}\n\t\t} catch (e) {}\n\t}\n\n\treturn Sizzle( expr, document, null, [ elem ] ).length > 0;\n};\n\nSizzle.contains = function( context, elem ) {\n\t// Set document vars if needed\n\tif ( ( context.ownerDocument || context ) !== document ) {\n\t\tsetDocument( context );\n\t}\n\treturn contains( context, elem );\n};\n\nSizzle.attr = function( elem, name ) {\n\t// Set document vars if needed\n\tif ( ( elem.ownerDocument || elem ) !== document ) {\n\t\tsetDocument( elem );\n\t}\n\n\tvar fn = Expr.attrHandle[ name.toLowerCase() ],\n\t\t// Don't get fooled by Object.prototype properties (jQuery #13807)\n\t\tval = fn && hasOwn.call( Expr.attrHandle, name.toLowerCase() ) ?\n\t\t\tfn( elem, name, !documentIsHTML ) :\n\t\t\tundefined;\n\n\treturn val !== undefined ?\n\t\tval :\n\t\tsupport.attributes || !documentIsHTML ?\n\t\t\telem.getAttribute( name ) :\n\t\t\t(val = elem.getAttributeNode(name)) && val.specified ?\n\t\t\t\tval.value :\n\t\t\t\tnull;\n};\n\nSizzle.error = function( msg ) {\n\tthrow new Error( \"Syntax error, unrecognized expression: \" + msg );\n};\n\n/**\n * Document sorting and removing duplicates\n * @param {ArrayLike} results\n */\nSizzle.uniqueSort = function( results ) {\n\tvar elem,\n\t\tduplicates = [],\n\t\tj = 0,\n\t\ti = 0;\n\n\t// Unless we *know* we can detect duplicates, assume their presence\n\thasDuplicate = !support.detectDuplicates;\n\tsortInput = !support.sortStable && results.slice( 0 );\n\tresults.sort( sortOrder );\n\n\tif ( hasDuplicate ) {\n\t\twhile ( (elem = results[i++]) ) {\n\t\t\tif ( elem === results[ i ] ) {\n\t\t\t\tj = duplicates.push( i );\n\t\t\t}\n\t\t}\n\t\twhile ( j-- ) {\n\t\t\tresults.splice( duplicates[ j ], 1 );\n\t\t}\n\t}\n\n\t// Clear input after sorting to release objects\n\t// See https://github.com/jquery/sizzle/pull/225\n\tsortInput = null;\n\n\treturn results;\n};\n\n/**\n * Utility function for retrieving the text value of an array of DOM nodes\n * @param {Array|Element} elem\n */\ngetText = Sizzle.getText = function( elem ) {\n\tvar node,\n\t\tret = \"\",\n\t\ti = 0,\n\t\tnodeType = elem.nodeType;\n\n\tif ( !nodeType ) {\n\t\t// If no nodeType, this is expected to be an array\n\t\twhile ( (node = elem[i++]) ) {\n\t\t\t// Do not traverse comment nodes\n\t\t\tret += getText( node );\n\t\t}\n\t} else if ( nodeType === 1 || nodeType === 9 || nodeType === 11 ) {\n\t\t// Use textContent for elements\n\t\t// innerText usage removed for consistency of new lines (jQuery #11153)\n\t\tif ( typeof elem.textContent === \"string\" ) {\n\t\t\treturn elem.textContent;\n\t\t} else {\n\t\t\t// Traverse its children\n\t\t\tfor ( elem = elem.firstChild; elem; elem = elem.nextSibling ) {\n\t\t\t\tret += getText( elem );\n\t\t\t}\n\t\t}\n\t} else if ( nodeType === 3 || nodeType === 4 ) {\n\t\treturn elem.nodeValue;\n\t}\n\t// Do not include comment or processing instruction nodes\n\n\treturn ret;\n};\n\nExpr = Sizzle.selectors = {\n\n\t// Can be adjusted by the user\n\tcacheLength: 50,\n\n\tcreatePseudo: markFunction,\n\n\tmatch: matchExpr,\n\n\tattrHandle: {},\n\n\tfind: {},\n\n\trelative: {\n\t\t\">\": { dir: \"parentNode\", first: true },\n\t\t\" \": { dir: \"parentNode\" },\n\t\t\"+\": { dir: \"previousSibling\", first: true },\n\t\t\"~\": { dir: \"previousSibling\" }\n\t},\n\n\tpreFilter: {\n\t\t\"ATTR\": function( match ) {\n\t\t\tmatch[1] = match[1].replace( runescape, funescape );\n\n\t\t\t// Move the given value to match[3] whether quoted or unquoted\n\t\t\tmatch[3] = ( match[3] || match[4] || match[5] || \"\" ).replace( runescape, funescape );\n\n\t\t\tif ( match[2] === \"~=\" ) {\n\t\t\t\tmatch[3] = \" \" + match[3] + \" \";\n\t\t\t}\n\n\t\t\treturn match.slice( 0, 4 );\n\t\t},\n\n\t\t\"CHILD\": function( match ) {\n\t\t\t/* matches from matchExpr[\"CHILD\"]\n\t\t\t\t1 type (only|nth|...)\n\t\t\t\t2 what (child|of-type)\n\t\t\t\t3 argument (even|odd|\\d*|\\d*n([+-]\\d+)?|...)\n\t\t\t\t4 xn-component of xn+y argument ([+-]?\\d*n|)\n\t\t\t\t5 sign of xn-component\n\t\t\t\t6 x of xn-component\n\t\t\t\t7 sign of y-component\n\t\t\t\t8 y of y-component\n\t\t\t*/\n\t\t\tmatch[1] = match[1].toLowerCase();\n\n\t\t\tif ( match[1].slice( 0, 3 ) === \"nth\" ) {\n\t\t\t\t// nth-* requires argument\n\t\t\t\tif ( !match[3] ) {\n\t\t\t\t\tSizzle.error( match[0] );\n\t\t\t\t}\n\n\t\t\t\t// numeric x and y parameters for Expr.filter.CHILD\n\t\t\t\t// remember that false/true cast respectively to 0/1\n\t\t\t\tmatch[4] = +( match[4] ? match[5] + (match[6] || 1) : 2 * ( match[3] === \"even\" || match[3] === \"odd\" ) );\n\t\t\t\tmatch[5] = +( ( match[7] + match[8] ) || match[3] === \"odd\" );\n\n\t\t\t// other types prohibit arguments\n\t\t\t} else if ( match[3] ) {\n\t\t\t\tSizzle.error( match[0] );\n\t\t\t}\n\n\t\t\treturn match;\n\t\t},\n\n\t\t\"PSEUDO\": function( match ) {\n\t\t\tvar excess,\n\t\t\t\tunquoted = !match[6] && match[2];\n\n\t\t\tif ( matchExpr[\"CHILD\"].test( match[0] ) ) {\n\t\t\t\treturn null;\n\t\t\t}\n\n\t\t\t// Accept quoted arguments as-is\n\t\t\tif ( match[3] ) {\n\t\t\t\tmatch[2] = match[4] || match[5] || \"\";\n\n\t\t\t// Strip excess characters from unquoted arguments\n\t\t\t} else if ( unquoted && rpseudo.test( unquoted ) &&\n\t\t\t\t// Get excess from tokenize (recursively)\n\t\t\t\t(excess = tokenize( unquoted, true )) &&\n\t\t\t\t// advance to the next closing parenthesis\n\t\t\t\t(excess = unquoted.indexOf( \")\", unquoted.length - excess ) - unquoted.length) ) {\n\n\t\t\t\t// excess is a negative index\n\t\t\t\tmatch[0] = match[0].slice( 0, excess );\n\t\t\t\tmatch[2] = unquoted.slice( 0, excess );\n\t\t\t}\n\n\t\t\t// Return only captures needed by the pseudo filter method (type and argument)\n\t\t\treturn match.slice( 0, 3 );\n\t\t}\n\t},\n\n\tfilter: {\n\n\t\t\"TAG\": function( nodeNameSelector ) {\n\t\t\tvar nodeName = nodeNameSelector.replace( runescape, funescape ).toLowerCase();\n\t\t\treturn nodeNameSelector === \"*\" ?\n\t\t\t\tfunction() { return true; } :\n\t\t\t\tfunction( elem ) {\n\t\t\t\t\treturn elem.nodeName && elem.nodeName.toLowerCase() === nodeName;\n\t\t\t\t};\n\t\t},\n\n\t\t\"CLASS\": function( className ) {\n\t\t\tvar pattern = classCache[ className + \" \" ];\n\n\t\t\treturn pattern ||\n\t\t\t\t(pattern = new RegExp( \"(^|\" + whitespace + \")\" + className + \"(\" + whitespace + \"|$)\" )) &&\n\t\t\t\tclassCache( className, function( elem ) {\n\t\t\t\t\treturn pattern.test( typeof elem.className === \"string\" && elem.className || typeof elem.getAttribute !== \"undefined\" && elem.getAttribute(\"class\") || \"\" );\n\t\t\t\t});\n\t\t},\n\n\t\t\"ATTR\": function( name, operator, check ) {\n\t\t\treturn function( elem ) {\n\t\t\t\tvar result = Sizzle.attr( elem, name );\n\n\t\t\t\tif ( result == null ) {\n\t\t\t\t\treturn operator === \"!=\";\n\t\t\t\t}\n\t\t\t\tif ( !operator ) {\n\t\t\t\t\treturn true;\n\t\t\t\t}\n\n\t\t\t\tresult += \"\";\n\n\t\t\t\treturn operator === \"=\" ? result === check :\n\t\t\t\t\toperator === \"!=\" ? result !== check :\n\t\t\t\t\toperator === \"^=\" ? check && result.indexOf( check ) === 0 :\n\t\t\t\t\toperator === \"*=\" ? check && result.indexOf( check ) > -1 :\n\t\t\t\t\toperator === \"$=\" ? check && result.slice( -check.length ) === check :\n\t\t\t\t\toperator === \"~=\" ? ( \" \" + result.replace( rwhitespace, \" \" ) + \" \" ).indexOf( check ) > -1 :\n\t\t\t\t\toperator === \"|=\" ? result === check || result.slice( 0, check.length + 1 ) === check + \"-\" :\n\t\t\t\t\tfalse;\n\t\t\t};\n\t\t},\n\n\t\t\"CHILD\": function( type, what, argument, first, last ) {\n\t\t\tvar simple = type.slice( 0, 3 ) !== \"nth\",\n\t\t\t\tforward = type.slice( -4 ) !== \"last\",\n\t\t\t\tofType = what === \"of-type\";\n\n\t\t\treturn first === 1 && last === 0 ?\n\n\t\t\t\t// Shortcut for :nth-*(n)\n\t\t\t\tfunction( elem ) {\n\t\t\t\t\treturn !!elem.parentNode;\n\t\t\t\t} :\n\n\t\t\t\tfunction( elem, context, xml ) {\n\t\t\t\t\tvar cache, uniqueCache, outerCache, node, nodeIndex, start,\n\t\t\t\t\t\tdir = simple !== forward ? \"nextSibling\" : \"previousSibling\",\n\t\t\t\t\t\tparent = elem.parentNode,\n\t\t\t\t\t\tname = ofType && elem.nodeName.toLowerCase(),\n\t\t\t\t\t\tuseCache = !xml && !ofType,\n\t\t\t\t\t\tdiff = false;\n\n\t\t\t\t\tif ( parent ) {\n\n\t\t\t\t\t\t// :(first|last|only)-(child|of-type)\n\t\t\t\t\t\tif ( simple ) {\n\t\t\t\t\t\t\twhile ( dir ) {\n\t\t\t\t\t\t\t\tnode = elem;\n\t\t\t\t\t\t\t\twhile ( (node = node[ dir ]) ) {\n\t\t\t\t\t\t\t\t\tif ( ofType ?\n\t\t\t\t\t\t\t\t\t\tnode.nodeName.toLowerCase() === name :\n\t\t\t\t\t\t\t\t\t\tnode.nodeType === 1 ) {\n\n\t\t\t\t\t\t\t\t\t\treturn false;\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t// Reverse direction for :only-* (if we haven't yet done so)\n\t\t\t\t\t\t\t\tstart = dir = type === \"only\" && !start && \"nextSibling\";\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\treturn true;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tstart = [ forward ? parent.firstChild : parent.lastChild ];\n\n\t\t\t\t\t\t// non-xml :nth-child(...) stores cache data on `parent`\n\t\t\t\t\t\tif ( forward && useCache ) {\n\n\t\t\t\t\t\t\t// Seek `elem` from a previously-cached index\n\n\t\t\t\t\t\t\t// ...in a gzip-friendly way\n\t\t\t\t\t\t\tnode = parent;\n\t\t\t\t\t\t\touterCache = node[ expando ] || (node[ expando ] = {});\n\n\t\t\t\t\t\t\t// Support: IE <9 only\n\t\t\t\t\t\t\t// Defend against cloned attroperties (jQuery gh-1709)\n\t\t\t\t\t\t\tuniqueCache = outerCache[ node.uniqueID ] ||\n\t\t\t\t\t\t\t\t(outerCache[ node.uniqueID ] = {});\n\n\t\t\t\t\t\t\tcache = uniqueCache[ type ] || [];\n\t\t\t\t\t\t\tnodeIndex = cache[ 0 ] === dirruns && cache[ 1 ];\n\t\t\t\t\t\t\tdiff = nodeIndex && cache[ 2 ];\n\t\t\t\t\t\t\tnode = nodeIndex && parent.childNodes[ nodeIndex ];\n\n\t\t\t\t\t\t\twhile ( (node = ++nodeIndex && node && node[ dir ] ||\n\n\t\t\t\t\t\t\t\t// Fallback to seeking `elem` from the start\n\t\t\t\t\t\t\t\t(diff = nodeIndex = 0) || start.pop()) ) {\n\n\t\t\t\t\t\t\t\t// When found, cache indexes on `parent` and break\n\t\t\t\t\t\t\t\tif ( node.nodeType === 1 && ++diff && node === elem ) {\n\t\t\t\t\t\t\t\t\tuniqueCache[ type ] = [ dirruns, nodeIndex, diff ];\n\t\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t// Use previously-cached element index if available\n\t\t\t\t\t\t\tif ( useCache ) {\n\t\t\t\t\t\t\t\t// ...in a gzip-friendly way\n\t\t\t\t\t\t\t\tnode = elem;\n\t\t\t\t\t\t\t\touterCache = node[ expando ] || (node[ expando ] = {});\n\n\t\t\t\t\t\t\t\t// Support: IE <9 only\n\t\t\t\t\t\t\t\t// Defend against cloned attroperties (jQuery gh-1709)\n\t\t\t\t\t\t\t\tuniqueCache = outerCache[ node.uniqueID ] ||\n\t\t\t\t\t\t\t\t\t(outerCache[ node.uniqueID ] = {});\n\n\t\t\t\t\t\t\t\tcache = uniqueCache[ type ] || [];\n\t\t\t\t\t\t\t\tnodeIndex = cache[ 0 ] === dirruns && cache[ 1 ];\n\t\t\t\t\t\t\t\tdiff = nodeIndex;\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t// xml :nth-child(...)\n\t\t\t\t\t\t\t// or :nth-last-child(...) or :nth(-last)?-of-type(...)\n\t\t\t\t\t\t\tif ( diff === false ) {\n\t\t\t\t\t\t\t\t// Use the same loop as above to seek `elem` from the start\n\t\t\t\t\t\t\t\twhile ( (node = ++nodeIndex && node && node[ dir ] ||\n\t\t\t\t\t\t\t\t\t(diff = nodeIndex = 0) || start.pop()) ) {\n\n\t\t\t\t\t\t\t\t\tif ( ( ofType ?\n\t\t\t\t\t\t\t\t\t\tnode.nodeName.toLowerCase() === name :\n\t\t\t\t\t\t\t\t\t\tnode.nodeType === 1 ) &&\n\t\t\t\t\t\t\t\t\t\t++diff ) {\n\n\t\t\t\t\t\t\t\t\t\t// Cache the index of each encountered element\n\t\t\t\t\t\t\t\t\t\tif ( useCache ) {\n\t\t\t\t\t\t\t\t\t\t\touterCache = node[ expando ] || (node[ expando ] = {});\n\n\t\t\t\t\t\t\t\t\t\t\t// Support: IE <9 only\n\t\t\t\t\t\t\t\t\t\t\t// Defend against cloned attroperties (jQuery gh-1709)\n\t\t\t\t\t\t\t\t\t\t\tuniqueCache = outerCache[ node.uniqueID ] ||\n\t\t\t\t\t\t\t\t\t\t\t\t(outerCache[ node.uniqueID ] = {});\n\n\t\t\t\t\t\t\t\t\t\t\tuniqueCache[ type ] = [ dirruns, diff ];\n\t\t\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t\t\tif ( node === elem ) {\n\t\t\t\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t// Incorporate the offset, then check against cycle size\n\t\t\t\t\t\tdiff -= last;\n\t\t\t\t\t\treturn diff === first || ( diff % first === 0 && diff / first >= 0 );\n\t\t\t\t\t}\n\t\t\t\t};\n\t\t},\n\n\t\t\"PSEUDO\": function( pseudo, argument ) {\n\t\t\t// pseudo-class names are case-insensitive\n\t\t\t// http://www.w3.org/TR/selectors/#pseudo-classes\n\t\t\t// Prioritize by case sensitivity in case custom pseudos are added with uppercase letters\n\t\t\t// Remember that setFilters inherits from pseudos\n\t\t\tvar args,\n\t\t\t\tfn = Expr.pseudos[ pseudo ] || Expr.setFilters[ pseudo.toLowerCase() ] ||\n\t\t\t\t\tSizzle.error( \"unsupported pseudo: \" + pseudo );\n\n\t\t\t// The user may use createPseudo to indicate that\n\t\t\t// arguments are needed to create the filter function\n\t\t\t// just as Sizzle does\n\t\t\tif ( fn[ expando ] ) {\n\t\t\t\treturn fn( argument );\n\t\t\t}\n\n\t\t\t// But maintain support for old signatures\n\t\t\tif ( fn.length > 1 ) {\n\t\t\t\targs = [ pseudo, pseudo, \"\", argument ];\n\t\t\t\treturn Expr.setFilters.hasOwnProperty( pseudo.toLowerCase() ) ?\n\t\t\t\t\tmarkFunction(function( seed, matches ) {\n\t\t\t\t\t\tvar idx,\n\t\t\t\t\t\t\tmatched = fn( seed, argument ),\n\t\t\t\t\t\t\ti = matched.length;\n\t\t\t\t\t\twhile ( i-- ) {\n\t\t\t\t\t\t\tidx = indexOf( seed, matched[i] );\n\t\t\t\t\t\t\tseed[ idx ] = !( matches[ idx ] = matched[i] );\n\t\t\t\t\t\t}\n\t\t\t\t\t}) :\n\t\t\t\t\tfunction( elem ) {\n\t\t\t\t\t\treturn fn( elem, 0, args );\n\t\t\t\t\t};\n\t\t\t}\n\n\t\t\treturn fn;\n\t\t}\n\t},\n\n\tpseudos: {\n\t\t// Potentially complex pseudos\n\t\t\"not\": markFunction(function( selector ) {\n\t\t\t// Trim the selector passed to compile\n\t\t\t// to avoid treating leading and trailing\n\t\t\t// spaces as combinators\n\t\t\tvar input = [],\n\t\t\t\tresults = [],\n\t\t\t\tmatcher = compile( selector.replace( rtrim, \"$1\" ) );\n\n\t\t\treturn matcher[ expando ] ?\n\t\t\t\tmarkFunction(function( seed, matches, context, xml ) {\n\t\t\t\t\tvar elem,\n\t\t\t\t\t\tunmatched = matcher( seed, null, xml, [] ),\n\t\t\t\t\t\ti = seed.length;\n\n\t\t\t\t\t// Match elements unmatched by `matcher`\n\t\t\t\t\twhile ( i-- ) {\n\t\t\t\t\t\tif ( (elem = unmatched[i]) ) {\n\t\t\t\t\t\t\tseed[i] = !(matches[i] = elem);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}) :\n\t\t\t\tfunction( elem, context, xml ) {\n\t\t\t\t\tinput[0] = elem;\n\t\t\t\t\tmatcher( input, null, xml, results );\n\t\t\t\t\t// Don't keep the element (issue #299)\n\t\t\t\t\tinput[0] = null;\n\t\t\t\t\treturn !results.pop();\n\t\t\t\t};\n\t\t}),\n\n\t\t\"has\": markFunction(function( selector ) {\n\t\t\treturn function( elem ) {\n\t\t\t\treturn Sizzle( selector, elem ).length > 0;\n\t\t\t};\n\t\t}),\n\n\t\t\"contains\": markFunction(function( text ) {\n\t\t\ttext = text.replace( runescape, funescape );\n\t\t\treturn function( elem ) {\n\t\t\t\treturn ( elem.textContent || elem.innerText || getText( elem ) ).indexOf( text ) > -1;\n\t\t\t};\n\t\t}),\n\n\t\t// \"Whether an element is represented by a :lang() selector\n\t\t// is based solely on the element's language value\n\t\t// being equal to the identifier C,\n\t\t// or beginning with the identifier C immediately followed by \"-\".\n\t\t// The matching of C against the element's language value is performed case-insensitively.\n\t\t// The identifier C does not have to be a valid language name.\"\n\t\t// http://www.w3.org/TR/selectors/#lang-pseudo\n\t\t\"lang\": markFunction( function( lang ) {\n\t\t\t// lang value must be a valid identifier\n\t\t\tif ( !ridentifier.test(lang || \"\") ) {\n\t\t\t\tSizzle.error( \"unsupported lang: \" + lang );\n\t\t\t}\n\t\t\tlang = lang.replace( runescape, funescape ).toLowerCase();\n\t\t\treturn function( elem ) {\n\t\t\t\tvar elemLang;\n\t\t\t\tdo {\n\t\t\t\t\tif ( (elemLang = documentIsHTML ?\n\t\t\t\t\t\telem.lang :\n\t\t\t\t\t\telem.getAttribute(\"xml:lang\") || elem.getAttribute(\"lang\")) ) {\n\n\t\t\t\t\t\telemLang = elemLang.toLowerCase();\n\t\t\t\t\t\treturn elemLang === lang || elemLang.indexOf( lang + \"-\" ) === 0;\n\t\t\t\t\t}\n\t\t\t\t} while ( (elem = elem.parentNode) && elem.nodeType === 1 );\n\t\t\t\treturn false;\n\t\t\t};\n\t\t}),\n\n\t\t// Miscellaneous\n\t\t\"target\": function( elem ) {\n\t\t\tvar hash = window.location && window.location.hash;\n\t\t\treturn hash && hash.slice( 1 ) === elem.id;\n\t\t},\n\n\t\t\"root\": function( elem ) {\n\t\t\treturn elem === docElem;\n\t\t},\n\n\t\t\"focus\": function( elem ) {\n\t\t\treturn elem === document.activeElement && (!document.hasFocus || document.hasFocus()) && !!(elem.type || elem.href || ~elem.tabIndex);\n\t\t},\n\n\t\t// Boolean properties\n\t\t\"enabled\": function( elem ) {\n\t\t\treturn elem.disabled === false;\n\t\t},\n\n\t\t\"disabled\": function( elem ) {\n\t\t\treturn elem.disabled === true;\n\t\t},\n\n\t\t\"checked\": function( elem ) {\n\t\t\t// In CSS3, :checked should return both checked and selected elements\n\t\t\t// http://www.w3.org/TR/2011/REC-css3-selectors-20110929/#checked\n\t\t\tvar nodeName = elem.nodeName.toLowerCase();\n\t\t\treturn (nodeName === \"input\" && !!elem.checked) || (nodeName === \"option\" && !!elem.selected);\n\t\t},\n\n\t\t\"selected\": function( elem ) {\n\t\t\t// Accessing this property makes selected-by-default\n\t\t\t// options in Safari work properly\n\t\t\tif ( elem.parentNode ) {\n\t\t\t\telem.parentNode.selectedIndex;\n\t\t\t}\n\n\t\t\treturn elem.selected === true;\n\t\t},\n\n\t\t// Contents\n\t\t\"empty\": function( elem ) {\n\t\t\t// http://www.w3.org/TR/selectors/#empty-pseudo\n\t\t\t// :empty is negated by element (1) or content nodes (text: 3; cdata: 4; entity ref: 5),\n\t\t\t// but not by others (comment: 8; processing instruction: 7; etc.)\n\t\t\t// nodeType < 6 works because attributes (2) do not appear as children\n\t\t\tfor ( elem = elem.firstChild; elem; elem = elem.nextSibling ) {\n\t\t\t\tif ( elem.nodeType < 6 ) {\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn true;\n\t\t},\n\n\t\t\"parent\": function( elem ) {\n\t\t\treturn !Expr.pseudos[\"empty\"]( elem );\n\t\t},\n\n\t\t// Element/input types\n\t\t\"header\": function( elem ) {\n\t\t\treturn rheader.test( elem.nodeName );\n\t\t},\n\n\t\t\"input\": function( elem ) {\n\t\t\treturn rinputs.test( elem.nodeName );\n\t\t},\n\n\t\t\"button\": function( elem ) {\n\t\t\tvar name = elem.nodeName.toLowerCase();\n\t\t\treturn name === \"input\" && elem.type === \"button\" || name === \"button\";\n\t\t},\n\n\t\t\"text\": function( elem ) {\n\t\t\tvar attr;\n\t\t\treturn elem.nodeName.toLowerCase() === \"input\" &&\n\t\t\t\telem.type === \"text\" &&\n\n\t\t\t\t// Support: IE<8\n\t\t\t\t// New HTML5 attribute values (e.g., \"search\") appear with elem.type === \"text\"\n\t\t\t\t( (attr = elem.getAttribute(\"type\")) == null || attr.toLowerCase() === \"text\" );\n\t\t},\n\n\t\t// Position-in-collection\n\t\t\"first\": createPositionalPseudo(function() {\n\t\t\treturn [ 0 ];\n\t\t}),\n\n\t\t\"last\": createPositionalPseudo(function( matchIndexes, length ) {\n\t\t\treturn [ length - 1 ];\n\t\t}),\n\n\t\t\"eq\": createPositionalPseudo(function( matchIndexes, length, argument ) {\n\t\t\treturn [ argument < 0 ? argument + length : argument ];\n\t\t}),\n\n\t\t\"even\": createPositionalPseudo(function( matchIndexes, length ) {\n\t\t\tvar i = 0;\n\t\t\tfor ( ; i < length; i += 2 ) {\n\t\t\t\tmatchIndexes.push( i );\n\t\t\t}\n\t\t\treturn matchIndexes;\n\t\t}),\n\n\t\t\"odd\": createPositionalPseudo(function( matchIndexes, length ) {\n\t\t\tvar i = 1;\n\t\t\tfor ( ; i < length; i += 2 ) {\n\t\t\t\tmatchIndexes.push( i );\n\t\t\t}\n\t\t\treturn matchIndexes;\n\t\t}),\n\n\t\t\"lt\": createPositionalPseudo(function( matchIndexes, length, argument ) {\n\t\t\tvar i = argument < 0 ? argument + length : argument;\n\t\t\tfor ( ; --i >= 0; ) {\n\t\t\t\tmatchIndexes.push( i );\n\t\t\t}\n\t\t\treturn matchIndexes;\n\t\t}),\n\n\t\t\"gt\": createPositionalPseudo(function( matchIndexes, length, argument ) {\n\t\t\tvar i = argument < 0 ? argument + length : argument;\n\t\t\tfor ( ; ++i < length; ) {\n\t\t\t\tmatchIndexes.push( i );\n\t\t\t}\n\t\t\treturn matchIndexes;\n\t\t})\n\t}\n};\n\nExpr.pseudos[\"nth\"] = Expr.pseudos[\"eq\"];\n\n// Add button/input type pseudos\nfor ( i in { radio: true, checkbox: true, file: true, password: true, image: true } ) {\n\tExpr.pseudos[ i ] = createInputPseudo( i );\n}\nfor ( i in { submit: true, reset: true } ) {\n\tExpr.pseudos[ i ] = createButtonPseudo( i );\n}\n\n// Easy API for creating new setFilters\nfunction setFilters() {}\nsetFilters.prototype = Expr.filters = Expr.pseudos;\nExpr.setFilters = new setFilters();\n\ntokenize = Sizzle.tokenize = function( selector, parseOnly ) {\n\tvar matched, match, tokens, type,\n\t\tsoFar, groups, preFilters,\n\t\tcached = tokenCache[ selector + \" \" ];\n\n\tif ( cached ) {\n\t\treturn parseOnly ? 0 : cached.slice( 0 );\n\t}\n\n\tsoFar = selector;\n\tgroups = [];\n\tpreFilters = Expr.preFilter;\n\n\twhile ( soFar ) {\n\n\t\t// Comma and first run\n\t\tif ( !matched || (match = rcomma.exec( soFar )) ) {\n\t\t\tif ( match ) {\n\t\t\t\t// Don't consume trailing commas as valid\n\t\t\t\tsoFar = soFar.slice( match[0].length ) || soFar;\n\t\t\t}\n\t\t\tgroups.push( (tokens = []) );\n\t\t}\n\n\t\tmatched = false;\n\n\t\t// Combinators\n\t\tif ( (match = rcombinators.exec( soFar )) ) {\n\t\t\tmatched = match.shift();\n\t\t\ttokens.push({\n\t\t\t\tvalue: matched,\n\t\t\t\t// Cast descendant combinators to space\n\t\t\t\ttype: match[0].replace( rtrim, \" \" )\n\t\t\t});\n\t\t\tsoFar = soFar.slice( matched.length );\n\t\t}\n\n\t\t// Filters\n\t\tfor ( type in Expr.filter ) {\n\t\t\tif ( (match = matchExpr[ type ].exec( soFar )) && (!preFilters[ type ] ||\n\t\t\t\t(match = preFilters[ type ]( match ))) ) {\n\t\t\t\tmatched = match.shift();\n\t\t\t\ttokens.push({\n\t\t\t\t\tvalue: matched,\n\t\t\t\t\ttype: type,\n\t\t\t\t\tmatches: match\n\t\t\t\t});\n\t\t\t\tsoFar = soFar.slice( matched.length );\n\t\t\t}\n\t\t}\n\n\t\tif ( !matched ) {\n\t\t\tbreak;\n\t\t}\n\t}\n\n\t// Return the length of the invalid excess\n\t// if we're just parsing\n\t// Otherwise, throw an error or return tokens\n\treturn parseOnly ?\n\t\tsoFar.length :\n\t\tsoFar ?\n\t\t\tSizzle.error( selector ) :\n\t\t\t// Cache the tokens\n\t\t\ttokenCache( selector, groups ).slice( 0 );\n};\n\nfunction toSelector( tokens ) {\n\tvar i = 0,\n\t\tlen = tokens.length,\n\t\tselector = \"\";\n\tfor ( ; i < len; i++ ) {\n\t\tselector += tokens[i].value;\n\t}\n\treturn selector;\n}\n\nfunction addCombinator( matcher, combinator, base ) {\n\tvar dir = combinator.dir,\n\t\tcheckNonElements = base && dir === \"parentNode\",\n\t\tdoneName = done++;\n\n\treturn combinator.first ?\n\t\t// Check against closest ancestor/preceding element\n\t\tfunction( elem, context, xml ) {\n\t\t\twhile ( (elem = elem[ dir ]) ) {\n\t\t\t\tif ( elem.nodeType === 1 || checkNonElements ) {\n\t\t\t\t\treturn matcher( elem, context, xml );\n\t\t\t\t}\n\t\t\t}\n\t\t} :\n\n\t\t// Check against all ancestor/preceding elements\n\t\tfunction( elem, context, xml ) {\n\t\t\tvar oldCache, uniqueCache, outerCache,\n\t\t\t\tnewCache = [ dirruns, doneName ];\n\n\t\t\t// We can't set arbitrary data on XML nodes, so they don't benefit from combinator caching\n\t\t\tif ( xml ) {\n\t\t\t\twhile ( (elem = elem[ dir ]) ) {\n\t\t\t\t\tif ( elem.nodeType === 1 || checkNonElements ) {\n\t\t\t\t\t\tif ( matcher( elem, context, xml ) ) {\n\t\t\t\t\t\t\treturn true;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\twhile ( (elem = elem[ dir ]) ) {\n\t\t\t\t\tif ( elem.nodeType === 1 || checkNonElements ) {\n\t\t\t\t\t\touterCache = elem[ expando ] || (elem[ expando ] = {});\n\n\t\t\t\t\t\t// Support: IE <9 only\n\t\t\t\t\t\t// Defend against cloned attroperties (jQuery gh-1709)\n\t\t\t\t\t\tuniqueCache = outerCache[ elem.uniqueID ] || (outerCache[ elem.uniqueID ] = {});\n\n\t\t\t\t\t\tif ( (oldCache = uniqueCache[ dir ]) &&\n\t\t\t\t\t\t\toldCache[ 0 ] === dirruns && oldCache[ 1 ] === doneName ) {\n\n\t\t\t\t\t\t\t// Assign to newCache so results back-propagate to previous elements\n\t\t\t\t\t\t\treturn (newCache[ 2 ] = oldCache[ 2 ]);\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t// Reuse newcache so results back-propagate to previous elements\n\t\t\t\t\t\t\tuniqueCache[ dir ] = newCache;\n\n\t\t\t\t\t\t\t// A match means we're done; a fail means we have to keep checking\n\t\t\t\t\t\t\tif ( (newCache[ 2 ] = matcher( elem, context, xml )) ) {\n\t\t\t\t\t\t\t\treturn true;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t};\n}\n\nfunction elementMatcher( matchers ) {\n\treturn matchers.length > 1 ?\n\t\tfunction( elem, context, xml ) {\n\t\t\tvar i = matchers.length;\n\t\t\twhile ( i-- ) {\n\t\t\t\tif ( !matchers[i]( elem, context, xml ) ) {\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn true;\n\t\t} :\n\t\tmatchers[0];\n}\n\nfunction multipleContexts( selector, contexts, results ) {\n\tvar i = 0,\n\t\tlen = contexts.length;\n\tfor ( ; i < len; i++ ) {\n\t\tSizzle( selector, contexts[i], results );\n\t}\n\treturn results;\n}\n\nfunction condense( unmatched, map, filter, context, xml ) {\n\tvar elem,\n\t\tnewUnmatched = [],\n\t\ti = 0,\n\t\tlen = unmatched.length,\n\t\tmapped = map != null;\n\n\tfor ( ; i < len; i++ ) {\n\t\tif ( (elem = unmatched[i]) ) {\n\t\t\tif ( !filter || filter( elem, context, xml ) ) {\n\t\t\t\tnewUnmatched.push( elem );\n\t\t\t\tif ( mapped ) {\n\t\t\t\t\tmap.push( i );\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\treturn newUnmatched;\n}\n\nfunction setMatcher( preFilter, selector, matcher, postFilter, postFinder, postSelector ) {\n\tif ( postFilter && !postFilter[ expando ] ) {\n\t\tpostFilter = setMatcher( postFilter );\n\t}\n\tif ( postFinder && !postFinder[ expando ] ) {\n\t\tpostFinder = setMatcher( postFinder, postSelector );\n\t}\n\treturn markFunction(function( seed, results, context, xml ) {\n\t\tvar temp, i, elem,\n\t\t\tpreMap = [],\n\t\t\tpostMap = [],\n\t\t\tpreexisting = results.length,\n\n\t\t\t// Get initial elements from seed or context\n\t\t\telems = seed || multipleContexts( selector || \"*\", context.nodeType ? [ context ] : context, [] ),\n\n\t\t\t// Prefilter to get matcher input, preserving a map for seed-results synchronization\n\t\t\tmatcherIn = preFilter && ( seed || !selector ) ?\n\t\t\t\tcondense( elems, preMap, preFilter, context, xml ) :\n\t\t\t\telems,\n\n\t\t\tmatcherOut = matcher ?\n\t\t\t\t// If we have a postFinder, or filtered seed, or non-seed postFilter or preexisting results,\n\t\t\t\tpostFinder || ( seed ? preFilter : preexisting || postFilter ) ?\n\n\t\t\t\t\t// ...intermediate processing is necessary\n\t\t\t\t\t[] :\n\n\t\t\t\t\t// ...otherwise use results directly\n\t\t\t\t\tresults :\n\t\t\t\tmatcherIn;\n\n\t\t// Find primary matches\n\t\tif ( matcher ) {\n\t\t\tmatcher( matcherIn, matcherOut, context, xml );\n\t\t}\n\n\t\t// Apply postFilter\n\t\tif ( postFilter ) {\n\t\t\ttemp = condense( matcherOut, postMap );\n\t\t\tpostFilter( temp, [], context, xml );\n\n\t\t\t// Un-match failing elements by moving them back to matcherIn\n\t\t\ti = temp.length;\n\t\t\twhile ( i-- ) {\n\t\t\t\tif ( (elem = temp[i]) ) {\n\t\t\t\t\tmatcherOut[ postMap[i] ] = !(matcherIn[ postMap[i] ] = elem);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tif ( seed ) {\n\t\t\tif ( postFinder || preFilter ) {\n\t\t\t\tif ( postFinder ) {\n\t\t\t\t\t// Get the final matcherOut by condensing this intermediate into postFinder contexts\n\t\t\t\t\ttemp = [];\n\t\t\t\t\ti = matcherOut.length;\n\t\t\t\t\twhile ( i-- ) {\n\t\t\t\t\t\tif ( (elem = matcherOut[i]) ) {\n\t\t\t\t\t\t\t// Restore matcherIn since elem is not yet a final match\n\t\t\t\t\t\t\ttemp.push( (matcherIn[i] = elem) );\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tpostFinder( null, (matcherOut = []), temp, xml );\n\t\t\t\t}\n\n\t\t\t\t// Move matched elements from seed to results to keep them synchronized\n\t\t\t\ti = matcherOut.length;\n\t\t\t\twhile ( i-- ) {\n\t\t\t\t\tif ( (elem = matcherOut[i]) &&\n\t\t\t\t\t\t(temp = postFinder ? indexOf( seed, elem ) : preMap[i]) > -1 ) {\n\n\t\t\t\t\t\tseed[temp] = !(results[temp] = elem);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t// Add elements to results, through postFinder if defined\n\t\t} else {\n\t\t\tmatcherOut = condense(\n\t\t\t\tmatcherOut === results ?\n\t\t\t\t\tmatcherOut.splice( preexisting, matcherOut.length ) :\n\t\t\t\t\tmatcherOut\n\t\t\t);\n\t\t\tif ( postFinder ) {\n\t\t\t\tpostFinder( null, results, matcherOut, xml );\n\t\t\t} else {\n\t\t\t\tpush.apply( results, matcherOut );\n\t\t\t}\n\t\t}\n\t});\n}\n\nfunction matcherFromTokens( tokens ) {\n\tvar checkContext, matcher, j,\n\t\tlen = tokens.length,\n\t\tleadingRelative = Expr.relative[ tokens[0].type ],\n\t\timplicitRelative = leadingRelative || Expr.relative[\" \"],\n\t\ti = leadingRelative ? 1 : 0,\n\n\t\t// The foundational matcher ensures that elements are reachable from top-level context(s)\n\t\tmatchContext = addCombinator( function( elem ) {\n\t\t\treturn elem === checkContext;\n\t\t}, implicitRelative, true ),\n\t\tmatchAnyContext = addCombinator( function( elem ) {\n\t\t\treturn indexOf( checkContext, elem ) > -1;\n\t\t}, implicitRelative, true ),\n\t\tmatchers = [ function( elem, context, xml ) {\n\t\t\tvar ret = ( !leadingRelative && ( xml || context !== outermostContext ) ) || (\n\t\t\t\t(checkContext = context).nodeType ?\n\t\t\t\t\tmatchContext( elem, context, xml ) :\n\t\t\t\t\tmatchAnyContext( elem, context, xml ) );\n\t\t\t// Avoid hanging onto element (issue #299)\n\t\t\tcheckContext = null;\n\t\t\treturn ret;\n\t\t} ];\n\n\tfor ( ; i < len; i++ ) {\n\t\tif ( (matcher = Expr.relative[ tokens[i].type ]) ) {\n\t\t\tmatchers = [ addCombinator(elementMatcher( matchers ), matcher) ];\n\t\t} else {\n\t\t\tmatcher = Expr.filter[ tokens[i].type ].apply( null, tokens[i].matches );\n\n\t\t\t// Return special upon seeing a positional matcher\n\t\t\tif ( matcher[ expando ] ) {\n\t\t\t\t// Find the next relative operator (if any) for proper handling\n\t\t\t\tj = ++i;\n\t\t\t\tfor ( ; j < len; j++ ) {\n\t\t\t\t\tif ( Expr.relative[ tokens[j].type ] ) {\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\treturn setMatcher(\n\t\t\t\t\ti > 1 && elementMatcher( matchers ),\n\t\t\t\t\ti > 1 && toSelector(\n\t\t\t\t\t\t// If the preceding token was a descendant combinator, insert an implicit any-element `*`\n\t\t\t\t\t\ttokens.slice( 0, i - 1 ).concat({ value: tokens[ i - 2 ].type === \" \" ? \"*\" : \"\" })\n\t\t\t\t\t).replace( rtrim, \"$1\" ),\n\t\t\t\t\tmatcher,\n\t\t\t\t\ti < j && matcherFromTokens( tokens.slice( i, j ) ),\n\t\t\t\t\tj < len && matcherFromTokens( (tokens = tokens.slice( j )) ),\n\t\t\t\t\tj < len && toSelector( tokens )\n\t\t\t\t);\n\t\t\t}\n\t\t\tmatchers.push( matcher );\n\t\t}\n\t}\n\n\treturn elementMatcher( matchers );\n}\n\nfunction matcherFromGroupMatchers( elementMatchers, setMatchers ) {\n\tvar bySet = setMatchers.length > 0,\n\t\tbyElement = elementMatchers.length > 0,\n\t\tsuperMatcher = function( seed, context, xml, results, outermost ) {\n\t\t\tvar elem, j, matcher,\n\t\t\t\tmatchedCount = 0,\n\t\t\t\ti = \"0\",\n\t\t\t\tunmatched = seed && [],\n\t\t\t\tsetMatched = [],\n\t\t\t\tcontextBackup = outermostContext,\n\t\t\t\t// We must always have either seed elements or outermost context\n\t\t\t\telems = seed || byElement && Expr.find[\"TAG\"]( \"*\", outermost ),\n\t\t\t\t// Use integer dirruns iff this is the outermost matcher\n\t\t\t\tdirrunsUnique = (dirruns += contextBackup == null ? 1 : Math.random() || 0.1),\n\t\t\t\tlen = elems.length;\n\n\t\t\tif ( outermost ) {\n\t\t\t\toutermostContext = context === document || context || outermost;\n\t\t\t}\n\n\t\t\t// Add elements passing elementMatchers directly to results\n\t\t\t// Support: IE<9, Safari\n\t\t\t// Tolerate NodeList properties (IE: \"length\"; Safari: <number>) matching elements by id\n\t\t\tfor ( ; i !== len && (elem = elems[i]) != null; i++ ) {\n\t\t\t\tif ( byElement && elem ) {\n\t\t\t\t\tj = 0;\n\t\t\t\t\tif ( !context && elem.ownerDocument !== document ) {\n\t\t\t\t\t\tsetDocument( elem );\n\t\t\t\t\t\txml = !documentIsHTML;\n\t\t\t\t\t}\n\t\t\t\t\twhile ( (matcher = elementMatchers[j++]) ) {\n\t\t\t\t\t\tif ( matcher( elem, context || document, xml) ) {\n\t\t\t\t\t\t\tresults.push( elem );\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tif ( outermost ) {\n\t\t\t\t\t\tdirruns = dirrunsUnique;\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\t// Track unmatched elements for set filters\n\t\t\t\tif ( bySet ) {\n\t\t\t\t\t// They will have gone through all possible matchers\n\t\t\t\t\tif ( (elem = !matcher && elem) ) {\n\t\t\t\t\t\tmatchedCount--;\n\t\t\t\t\t}\n\n\t\t\t\t\t// Lengthen the array for every element, matched or not\n\t\t\t\t\tif ( seed ) {\n\t\t\t\t\t\tunmatched.push( elem );\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// `i` is now the count of elements visited above, and adding it to `matchedCount`\n\t\t\t// makes the latter nonnegative.\n\t\t\tmatchedCount += i;\n\n\t\t\t// Apply set filters to unmatched elements\n\t\t\t// NOTE: This can be skipped if there are no unmatched elements (i.e., `matchedCount`\n\t\t\t// equals `i`), unless we didn't visit _any_ elements in the above loop because we have\n\t\t\t// no element matchers and no seed.\n\t\t\t// Incrementing an initially-string \"0\" `i` allows `i` to remain a string only in that\n\t\t\t// case, which will result in a \"00\" `matchedCount` that differs from `i` but is also\n\t\t\t// numerically zero.\n\t\t\tif ( bySet && i !== matchedCount ) {\n\t\t\t\tj = 0;\n\t\t\t\twhile ( (matcher = setMatchers[j++]) ) {\n\t\t\t\t\tmatcher( unmatched, setMatched, context, xml );\n\t\t\t\t}\n\n\t\t\t\tif ( seed ) {\n\t\t\t\t\t// Reintegrate element matches to eliminate the need for sorting\n\t\t\t\t\tif ( matchedCount > 0 ) {\n\t\t\t\t\t\twhile ( i-- ) {\n\t\t\t\t\t\t\tif ( !(unmatched[i] || setMatched[i]) ) {\n\t\t\t\t\t\t\t\tsetMatched[i] = pop.call( results );\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\t// Discard index placeholder values to get only actual matches\n\t\t\t\t\tsetMatched = condense( setMatched );\n\t\t\t\t}\n\n\t\t\t\t// Add matches to results\n\t\t\t\tpush.apply( results, setMatched );\n\n\t\t\t\t// Seedless set matches succeeding multiple successful matchers stipulate sorting\n\t\t\t\tif ( outermost && !seed && setMatched.length > 0 &&\n\t\t\t\t\t( matchedCount + setMatchers.length ) > 1 ) {\n\n\t\t\t\t\tSizzle.uniqueSort( results );\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Override manipulation of globals by nested matchers\n\t\t\tif ( outermost ) {\n\t\t\t\tdirruns = dirrunsUnique;\n\t\t\t\toutermostContext = contextBackup;\n\t\t\t}\n\n\t\t\treturn unmatched;\n\t\t};\n\n\treturn bySet ?\n\t\tmarkFunction( superMatcher ) :\n\t\tsuperMatcher;\n}\n\ncompile = Sizzle.compile = function( selector, match /* Internal Use Only */ ) {\n\tvar i,\n\t\tsetMatchers = [],\n\t\telementMatchers = [],\n\t\tcached = compilerCache[ selector + \" \" ];\n\n\tif ( !cached ) {\n\t\t// Generate a function of recursive functions that can be used to check each element\n\t\tif ( !match ) {\n\t\t\tmatch = tokenize( selector );\n\t\t}\n\t\ti = match.length;\n\t\twhile ( i-- ) {\n\t\t\tcached = matcherFromTokens( match[i] );\n\t\t\tif ( cached[ expando ] ) {\n\t\t\t\tsetMatchers.push( cached );\n\t\t\t} else {\n\t\t\t\telementMatchers.push( cached );\n\t\t\t}\n\t\t}\n\n\t\t// Cache the compiled function\n\t\tcached = compilerCache( selector, matcherFromGroupMatchers( elementMatchers, setMatchers ) );\n\n\t\t// Save selector and tokenization\n\t\tcached.selector = selector;\n\t}\n\treturn cached;\n};\n\n/**\n * A low-level selection function that works with Sizzle's compiled\n * selector functions\n * @param {String|Function} selector A selector or a pre-compiled\n * selector function built with Sizzle.compile\n * @param {Element} context\n * @param {Array} [results]\n * @param {Array} [seed] A set of elements to match against\n */\nselect = Sizzle.select = function( selector, context, results, seed ) {\n\tvar i, tokens, token, type, find,\n\t\tcompiled = typeof selector === \"function\" && selector,\n\t\tmatch = !seed && tokenize( (selector = compiled.selector || selector) );\n\n\tresults = results || [];\n\n\t// Try to minimize operations if there is only one selector in the list and no seed\n\t// (the latter of which guarantees us context)\n\tif ( match.length === 1 ) {\n\n\t\t// Reduce context if the leading compound selector is an ID\n\t\ttokens = match[0] = match[0].slice( 0 );\n\t\tif ( tokens.length > 2 && (token = tokens[0]).type === \"ID\" &&\n\t\t\t\tsupport.getById && context.nodeType === 9 && documentIsHTML &&\n\t\t\t\tExpr.relative[ tokens[1].type ] ) {\n\n\t\t\tcontext = ( Expr.find[\"ID\"]( token.matches[0].replace(runescape, funescape), context ) || [] )[0];\n\t\t\tif ( !context ) {\n\t\t\t\treturn results;\n\n\t\t\t// Precompiled matchers will still verify ancestry, so step up a level\n\t\t\t} else if ( compiled ) {\n\t\t\t\tcontext = context.parentNode;\n\t\t\t}\n\n\t\t\tselector = selector.slice( tokens.shift().value.length );\n\t\t}\n\n\t\t// Fetch a seed set for right-to-left matching\n\t\ti = matchExpr[\"needsContext\"].test( selector ) ? 0 : tokens.length;\n\t\twhile ( i-- ) {\n\t\t\ttoken = tokens[i];\n\n\t\t\t// Abort if we hit a combinator\n\t\t\tif ( Expr.relative[ (type = token.type) ] ) {\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\tif ( (find = Expr.find[ type ]) ) {\n\t\t\t\t// Search, expanding context for leading sibling combinators\n\t\t\t\tif ( (seed = find(\n\t\t\t\t\ttoken.matches[0].replace( runescape, funescape ),\n\t\t\t\t\trsibling.test( tokens[0].type ) && testContext( context.parentNode ) || context\n\t\t\t\t)) ) {\n\n\t\t\t\t\t// If seed is empty or no tokens remain, we can return early\n\t\t\t\t\ttokens.splice( i, 1 );\n\t\t\t\t\tselector = seed.length && toSelector( tokens );\n\t\t\t\t\tif ( !selector ) {\n\t\t\t\t\t\tpush.apply( results, seed );\n\t\t\t\t\t\treturn results;\n\t\t\t\t\t}\n\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\t// Compile and execute a filtering function if one is not provided\n\t// Provide `match` to avoid retokenization if we modified the selector above\n\t( compiled || compile( selector, match ) )(\n\t\tseed,\n\t\tcontext,\n\t\t!documentIsHTML,\n\t\tresults,\n\t\t!context || rsibling.test( selector ) && testContext( context.parentNode ) || context\n\t);\n\treturn results;\n};\n\n// One-time assignments\n\n// Sort stability\nsupport.sortStable = expando.split(\"\").sort( sortOrder ).join(\"\") === expando;\n\n// Support: Chrome 14-35+\n// Always assume duplicates if they aren't passed to the comparison function\nsupport.detectDuplicates = !!hasDuplicate;\n\n// Initialize against the default document\nsetDocument();\n\n// Support: Webkit<537.32 - Safari 6.0.3/Chrome 25 (fixed in Chrome 27)\n// Detached nodes confoundingly follow *each other*\nsupport.sortDetached = assert(function( div1 ) {\n\t// Should return 1, but returns 4 (following)\n\treturn div1.compareDocumentPosition( document.createElement(\"div\") ) & 1;\n});\n\n// Support: IE<8\n// Prevent attribute/property \"interpolation\"\n// http://msdn.microsoft.com/en-us/library/ms536429%28VS.85%29.aspx\nif ( !assert(function( div ) {\n\tdiv.innerHTML = \"<a href='#'></a>\";\n\treturn div.firstChild.getAttribute(\"href\") === \"#\" ;\n}) ) {\n\taddHandle( \"type|href|height|width\", function( elem, name, isXML ) {\n\t\tif ( !isXML ) {\n\t\t\treturn elem.getAttribute( name, name.toLowerCase() === \"type\" ? 1 : 2 );\n\t\t}\n\t});\n}\n\n// Support: IE<9\n// Use defaultValue in place of getAttribute(\"value\")\nif ( !support.attributes || !assert(function( div ) {\n\tdiv.innerHTML = \"<input/>\";\n\tdiv.firstChild.setAttribute( \"value\", \"\" );\n\treturn div.firstChild.getAttribute( \"value\" ) === \"\";\n}) ) {\n\taddHandle( \"value\", function( elem, name, isXML ) {\n\t\tif ( !isXML && elem.nodeName.toLowerCase() === \"input\" ) {\n\t\t\treturn elem.defaultValue;\n\t\t}\n\t});\n}\n\n// Support: IE<9\n// Use getAttributeNode to fetch booleans when getAttribute lies\nif ( !assert(function( div ) {\n\treturn div.getAttribute(\"disabled\") == null;\n}) ) {\n\taddHandle( booleans, function( elem, name, isXML ) {\n\t\tvar val;\n\t\tif ( !isXML ) {\n\t\t\treturn elem[ name ] === true ? name.toLowerCase() :\n\t\t\t\t\t(val = elem.getAttributeNode( name )) && val.specified ?\n\t\t\t\t\tval.value :\n\t\t\t\tnull;\n\t\t}\n\t});\n}\n\nreturn Sizzle;\n\n})( window );\n\n\n\njQuery.find = Sizzle;\njQuery.expr = Sizzle.selectors;\njQuery.expr[ \":\" ] = jQuery.expr.pseudos;\njQuery.uniqueSort = jQuery.unique = Sizzle.uniqueSort;\njQuery.text = Sizzle.getText;\njQuery.isXMLDoc = Sizzle.isXML;\njQuery.contains = Sizzle.contains;\n\n\n\nvar dir = function( elem, dir, until ) {\n\tvar matched = [],\n\t\ttruncate = until !== undefined;\n\n\twhile ( ( elem = elem[ dir ] ) && elem.nodeType !== 9 ) {\n\t\tif ( elem.nodeType === 1 ) {\n\t\t\tif ( truncate && jQuery( elem ).is( until ) ) {\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\tmatched.push( elem );\n\t\t}\n\t}\n\treturn matched;\n};\n\n\nvar siblings = function( n, elem ) {\n\tvar matched = [];\n\n\tfor ( ; n; n = n.nextSibling ) {\n\t\tif ( n.nodeType === 1 && n !== elem ) {\n\t\t\tmatched.push( n );\n\t\t}\n\t}\n\n\treturn matched;\n};\n\n\nvar rneedsContext = jQuery.expr.match.needsContext;\n\nvar rsingleTag = ( /^<([\\w-]+)\\s*\\/?>(?:<\\/\\1>|)$/ );\n\n\n\nvar risSimple = /^.[^:#\\[\\.,]*$/;\n\n// Implement the identical functionality for filter and not\nfunction winnow( elements, qualifier, not ) {\n\tif ( jQuery.isFunction( qualifier ) ) {\n\t\treturn jQuery.grep( elements, function( elem, i ) {\n\t\t\t/* jshint -W018 */\n\t\t\treturn !!qualifier.call( elem, i, elem ) !== not;\n\t\t} );\n\n\t}\n\n\tif ( qualifier.nodeType ) {\n\t\treturn jQuery.grep( elements, function( elem ) {\n\t\t\treturn ( elem === qualifier ) !== not;\n\t\t} );\n\n\t}\n\n\tif ( typeof qualifier === \"string\" ) {\n\t\tif ( risSimple.test( qualifier ) ) {\n\t\t\treturn jQuery.filter( qualifier, elements, not );\n\t\t}\n\n\t\tqualifier = jQuery.filter( qualifier, elements );\n\t}\n\n\treturn jQuery.grep( elements, function( elem ) {\n\t\treturn ( jQuery.inArray( elem, qualifier ) > -1 ) !== not;\n\t} );\n}\n\njQuery.filter = function( expr, elems, not ) {\n\tvar elem = elems[ 0 ];\n\n\tif ( not ) {\n\t\texpr = \":not(\" + expr + \")\";\n\t}\n\n\treturn elems.length === 1 && elem.nodeType === 1 ?\n\t\tjQuery.find.matchesSelector( elem, expr ) ? [ elem ] : [] :\n\t\tjQuery.find.matches( expr, jQuery.grep( elems, function( elem ) {\n\t\t\treturn elem.nodeType === 1;\n\t\t} ) );\n};\n\njQuery.fn.extend( {\n\tfind: function( selector ) {\n\t\tvar i,\n\t\t\tret = [],\n\t\t\tself = this,\n\t\t\tlen = self.length;\n\n\t\tif ( typeof selector !== \"string\" ) {\n\t\t\treturn this.pushStack( jQuery( selector ).filter( function() {\n\t\t\t\tfor ( i = 0; i < len; i++ ) {\n\t\t\t\t\tif ( jQuery.contains( self[ i ], this ) ) {\n\t\t\t\t\t\treturn true;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} ) );\n\t\t}\n\n\t\tfor ( i = 0; i < len; i++ ) {\n\t\t\tjQuery.find( selector, self[ i ], ret );\n\t\t}\n\n\t\t// Needed because $( selector, context ) becomes $( context ).find( selector )\n\t\tret = this.pushStack( len > 1 ? jQuery.unique( ret ) : ret );\n\t\tret.selector = this.selector ? this.selector + \" \" + selector : selector;\n\t\treturn ret;\n\t},\n\tfilter: function( selector ) {\n\t\treturn this.pushStack( winnow( this, selector || [], false ) );\n\t},\n\tnot: function( selector ) {\n\t\treturn this.pushStack( winnow( this, selector || [], true ) );\n\t},\n\tis: function( selector ) {\n\t\treturn !!winnow(\n\t\t\tthis,\n\n\t\t\t// If this is a positional/relative selector, check membership in the returned set\n\t\t\t// so $(\"p:first\").is(\"p:last\") won't return true for a doc with two \"p\".\n\t\t\ttypeof selector === \"string\" && rneedsContext.test( selector ) ?\n\t\t\t\tjQuery( selector ) :\n\t\t\t\tselector || [],\n\t\t\tfalse\n\t\t).length;\n\t}\n} );\n\n\n// Initialize a jQuery object\n\n\n// A central reference to the root jQuery(document)\nvar rootjQuery,\n\n\t// A simple way to check for HTML strings\n\t// Prioritize #id over <tag> to avoid XSS via location.hash (#9521)\n\t// Strict HTML recognition (#11290: must start with <)\n\trquickExpr = /^(?:\\s*(<[\\w\\W]+>)[^>]*|#([\\w-]*))$/,\n\n\tinit = jQuery.fn.init = function( selector, context, root ) {\n\t\tvar match, elem;\n\n\t\t// HANDLE: $(\"\"), $(null), $(undefined), $(false)\n\t\tif ( !selector ) {\n\t\t\treturn this;\n\t\t}\n\n\t\t// init accepts an alternate rootjQuery\n\t\t// so migrate can support jQuery.sub (gh-2101)\n\t\troot = root || rootjQuery;\n\n\t\t// Handle HTML strings\n\t\tif ( typeof selector === \"string\" ) {\n\t\t\tif ( selector.charAt( 0 ) === \"<\" &&\n\t\t\t\tselector.charAt( selector.length - 1 ) === \">\" &&\n\t\t\t\tselector.length >= 3 ) {\n\n\t\t\t\t// Assume that strings that start and end with <> are HTML and skip the regex check\n\t\t\t\tmatch = [ null, selector, null ];\n\n\t\t\t} else {\n\t\t\t\tmatch = rquickExpr.exec( selector );\n\t\t\t}\n\n\t\t\t// Match html or make sure no context is specified for #id\n\t\t\tif ( match && ( match[ 1 ] || !context ) ) {\n\n\t\t\t\t// HANDLE: $(html) -> $(array)\n\t\t\t\tif ( match[ 1 ] ) {\n\t\t\t\t\tcontext = context instanceof jQuery ? context[ 0 ] : context;\n\n\t\t\t\t\t// scripts is true for back-compat\n\t\t\t\t\t// Intentionally let the error be thrown if parseHTML is not present\n\t\t\t\t\tjQuery.merge( this, jQuery.parseHTML(\n\t\t\t\t\t\tmatch[ 1 ],\n\t\t\t\t\t\tcontext && context.nodeType ? context.ownerDocument || context : document,\n\t\t\t\t\t\ttrue\n\t\t\t\t\t) );\n\n\t\t\t\t\t// HANDLE: $(html, props)\n\t\t\t\t\tif ( rsingleTag.test( match[ 1 ] ) && jQuery.isPlainObject( context ) ) {\n\t\t\t\t\t\tfor ( match in context ) {\n\n\t\t\t\t\t\t\t// Properties of context are called as methods if possible\n\t\t\t\t\t\t\tif ( jQuery.isFunction( this[ match ] ) ) {\n\t\t\t\t\t\t\t\tthis[ match ]( context[ match ] );\n\n\t\t\t\t\t\t\t// ...and otherwise set as attributes\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\tthis.attr( match, context[ match ] );\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\treturn this;\n\n\t\t\t\t// HANDLE: $(#id)\n\t\t\t\t} else {\n\t\t\t\t\telem = document.getElementById( match[ 2 ] );\n\n\t\t\t\t\t// Check parentNode to catch when Blackberry 4.6 returns\n\t\t\t\t\t// nodes that are no longer in the document #6963\n\t\t\t\t\tif ( elem && elem.parentNode ) {\n\n\t\t\t\t\t\t// Handle the case where IE and Opera return items\n\t\t\t\t\t\t// by name instead of ID\n\t\t\t\t\t\tif ( elem.id !== match[ 2 ] ) {\n\t\t\t\t\t\t\treturn rootjQuery.find( selector );\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t// Otherwise, we inject the element directly into the jQuery object\n\t\t\t\t\t\tthis.length = 1;\n\t\t\t\t\t\tthis[ 0 ] = elem;\n\t\t\t\t\t}\n\n\t\t\t\t\tthis.context = document;\n\t\t\t\t\tthis.selector = selector;\n\t\t\t\t\treturn this;\n\t\t\t\t}\n\n\t\t\t// HANDLE: $(expr, $(...))\n\t\t\t} else if ( !context || context.jquery ) {\n\t\t\t\treturn ( context || root ).find( selector );\n\n\t\t\t// HANDLE: $(expr, context)\n\t\t\t// (which is just equivalent to: $(context).find(expr)\n\t\t\t} else {\n\t\t\t\treturn this.constructor( context ).find( selector );\n\t\t\t}\n\n\t\t// HANDLE: $(DOMElement)\n\t\t} else if ( selector.nodeType ) {\n\t\t\tthis.context = this[ 0 ] = selector;\n\t\t\tthis.length = 1;\n\t\t\treturn this;\n\n\t\t// HANDLE: $(function)\n\t\t// Shortcut for document ready\n\t\t} else if ( jQuery.isFunction( selector ) ) {\n\t\t\treturn typeof root.ready !== \"undefined\" ?\n\t\t\t\troot.ready( selector ) :\n\n\t\t\t\t// Execute immediately if ready is not present\n\t\t\t\tselector( jQuery );\n\t\t}\n\n\t\tif ( selector.selector !== undefined ) {\n\t\t\tthis.selector = selector.selector;\n\t\t\tthis.context = selector.context;\n\t\t}\n\n\t\treturn jQuery.makeArray( selector, this );\n\t};\n\n// Give the init function the jQuery prototype for later instantiation\ninit.prototype = jQuery.fn;\n\n// Initialize central reference\nrootjQuery = jQuery( document );\n\n\nvar rparentsprev = /^(?:parents|prev(?:Until|All))/,\n\n\t// methods guaranteed to produce a unique set when starting from a unique set\n\tguaranteedUnique = {\n\t\tchildren: true,\n\t\tcontents: true,\n\t\tnext: true,\n\t\tprev: true\n\t};\n\njQuery.fn.extend( {\n\thas: function( target ) {\n\t\tvar i,\n\t\t\ttargets = jQuery( target, this ),\n\t\t\tlen = targets.length;\n\n\t\treturn this.filter( function() {\n\t\t\tfor ( i = 0; i < len; i++ ) {\n\t\t\t\tif ( jQuery.contains( this, targets[ i ] ) ) {\n\t\t\t\t\treturn true;\n\t\t\t\t}\n\t\t\t}\n\t\t} );\n\t},\n\n\tclosest: function( selectors, context ) {\n\t\tvar cur,\n\t\t\ti = 0,\n\t\t\tl = this.length,\n\t\t\tmatched = [],\n\t\t\tpos = rneedsContext.test( selectors ) || typeof selectors !== \"string\" ?\n\t\t\t\tjQuery( selectors, context || this.context ) :\n\t\t\t\t0;\n\n\t\tfor ( ; i < l; i++ ) {\n\t\t\tfor ( cur = this[ i ]; cur && cur !== context; cur = cur.parentNode ) {\n\n\t\t\t\t// Always skip document fragments\n\t\t\t\tif ( cur.nodeType < 11 && ( pos ?\n\t\t\t\t\tpos.index( cur ) > -1 :\n\n\t\t\t\t\t// Don't pass non-elements to Sizzle\n\t\t\t\t\tcur.nodeType === 1 &&\n\t\t\t\t\t\tjQuery.find.matchesSelector( cur, selectors ) ) ) {\n\n\t\t\t\t\tmatched.push( cur );\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn this.pushStack( matched.length > 1 ? jQuery.uniqueSort( matched ) : matched );\n\t},\n\n\t// Determine the position of an element within\n\t// the matched set of elements\n\tindex: function( elem ) {\n\n\t\t// No argument, return index in parent\n\t\tif ( !elem ) {\n\t\t\treturn ( this[ 0 ] && this[ 0 ].parentNode ) ? this.first().prevAll().length : -1;\n\t\t}\n\n\t\t// index in selector\n\t\tif ( typeof elem === \"string\" ) {\n\t\t\treturn jQuery.inArray( this[ 0 ], jQuery( elem ) );\n\t\t}\n\n\t\t// Locate the position of the desired element\n\t\treturn jQuery.inArray(\n\n\t\t\t// If it receives a jQuery object, the first element is used\n\t\t\telem.jquery ? elem[ 0 ] : elem, this );\n\t},\n\n\tadd: function( selector, context ) {\n\t\treturn this.pushStack(\n\t\t\tjQuery.uniqueSort(\n\t\t\t\tjQuery.merge( this.get(), jQuery( selector, context ) )\n\t\t\t)\n\t\t);\n\t},\n\n\taddBack: function( selector ) {\n\t\treturn this.add( selector == null ?\n\t\t\tthis.prevObject : this.prevObject.filter( selector )\n\t\t);\n\t}\n} );\n\nfunction sibling( cur, dir ) {\n\tdo {\n\t\tcur = cur[ dir ];\n\t} while ( cur && cur.nodeType !== 1 );\n\n\treturn cur;\n}\n\njQuery.each( {\n\tparent: function( elem ) {\n\t\tvar parent = elem.parentNode;\n\t\treturn parent && parent.nodeType !== 11 ? parent : null;\n\t},\n\tparents: function( elem ) {\n\t\treturn dir( elem, \"parentNode\" );\n\t},\n\tparentsUntil: function( elem, i, until ) {\n\t\treturn dir( elem, \"parentNode\", until );\n\t},\n\tnext: function( elem ) {\n\t\treturn sibling( elem, \"nextSibling\" );\n\t},\n\tprev: function( elem ) {\n\t\treturn sibling( elem, \"previousSibling\" );\n\t},\n\tnextAll: function( elem ) {\n\t\treturn dir( elem, \"nextSibling\" );\n\t},\n\tprevAll: function( elem ) {\n\t\treturn dir( elem, \"previousSibling\" );\n\t},\n\tnextUntil: function( elem, i, until ) {\n\t\treturn dir( elem, \"nextSibling\", until );\n\t},\n\tprevUntil: function( elem, i, until ) {\n\t\treturn dir( elem, \"previousSibling\", until );\n\t},\n\tsiblings: function( elem ) {\n\t\treturn siblings( ( elem.parentNode || {} ).firstChild, elem );\n\t},\n\tchildren: function( elem ) {\n\t\treturn siblings( elem.firstChild );\n\t},\n\tcontents: function( elem ) {\n\t\treturn jQuery.nodeName( elem, \"iframe\" ) ?\n\t\t\telem.contentDocument || elem.contentWindow.document :\n\t\t\tjQuery.merge( [], elem.childNodes );\n\t}\n}, function( name, fn ) {\n\tjQuery.fn[ name ] = function( until, selector ) {\n\t\tvar ret = jQuery.map( this, fn, until );\n\n\t\tif ( name.slice( -5 ) !== \"Until\" ) {\n\t\t\tselector = until;\n\t\t}\n\n\t\tif ( selector && typeof selector === \"string\" ) {\n\t\t\tret = jQuery.filter( selector, ret );\n\t\t}\n\n\t\tif ( this.length > 1 ) {\n\n\t\t\t// Remove duplicates\n\t\t\tif ( !guaranteedUnique[ name ] ) {\n\t\t\t\tret = jQuery.uniqueSort( ret );\n\t\t\t}\n\n\t\t\t// Reverse order for parents* and prev-derivatives\n\t\t\tif ( rparentsprev.test( name ) ) {\n\t\t\t\tret = ret.reverse();\n\t\t\t}\n\t\t}\n\n\t\treturn this.pushStack( ret );\n\t};\n} );\nvar rnotwhite = ( /\\S+/g );\n\n\n\n// Convert String-formatted options into Object-formatted ones\nfunction createOptions( options ) {\n\tvar object = {};\n\tjQuery.each( options.match( rnotwhite ) || [], function( _, flag ) {\n\t\tobject[ flag ] = true;\n\t} );\n\treturn object;\n}\n\n/*\n * Create a callback list using the following parameters:\n *\n *\toptions: an optional list of space-separated options that will change how\n *\t\t\tthe callback list behaves or a more traditional option object\n *\n * By default a callback list will act like an event callback list and can be\n * \"fired\" multiple times.\n *\n * Possible options:\n *\n *\tonce:\t\t\twill ensure the callback list can only be fired once (like a Deferred)\n *\n *\tmemory:\t\t\twill keep track of previous values and will call any callback added\n *\t\t\t\t\tafter the list has been fired right away with the latest \"memorized\"\n *\t\t\t\t\tvalues (like a Deferred)\n *\n *\tunique:\t\t\twill ensure a callback can only be added once (no duplicate in the list)\n *\n *\tstopOnFalse:\tinterrupt callings when a callback returns false\n *\n */\njQuery.Callbacks = function( options ) {\n\n\t// Convert options from String-formatted to Object-formatted if needed\n\t// (we check in cache first)\n\toptions = typeof options === \"string\" ?\n\t\tcreateOptions( options ) :\n\t\tjQuery.extend( {}, options );\n\n\tvar // Flag to know if list is currently firing\n\t\tfiring,\n\n\t\t// Last fire value for non-forgettable lists\n\t\tmemory,\n\n\t\t// Flag to know if list was already fired\n\t\tfired,\n\n\t\t// Flag to prevent firing\n\t\tlocked,\n\n\t\t// Actual callback list\n\t\tlist = [],\n\n\t\t// Queue of execution data for repeatable lists\n\t\tqueue = [],\n\n\t\t// Index of currently firing callback (modified by add/remove as needed)\n\t\tfiringIndex = -1,\n\n\t\t// Fire callbacks\n\t\tfire = function() {\n\n\t\t\t// Enforce single-firing\n\t\t\tlocked = options.once;\n\n\t\t\t// Execute callbacks for all pending executions,\n\t\t\t// respecting firingIndex overrides and runtime changes\n\t\t\tfired = firing = true;\n\t\t\tfor ( ; queue.length; firingIndex = -1 ) {\n\t\t\t\tmemory = queue.shift();\n\t\t\t\twhile ( ++firingIndex < list.length ) {\n\n\t\t\t\t\t// Run callback and check for early termination\n\t\t\t\t\tif ( list[ firingIndex ].apply( memory[ 0 ], memory[ 1 ] ) === false &&\n\t\t\t\t\t\toptions.stopOnFalse ) {\n\n\t\t\t\t\t\t// Jump to end and forget the data so .add doesn't re-fire\n\t\t\t\t\t\tfiringIndex = list.length;\n\t\t\t\t\t\tmemory = false;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Forget the data if we're done with it\n\t\t\tif ( !options.memory ) {\n\t\t\t\tmemory = false;\n\t\t\t}\n\n\t\t\tfiring = false;\n\n\t\t\t// Clean up if we're done firing for good\n\t\t\tif ( locked ) {\n\n\t\t\t\t// Keep an empty list if we have data for future add calls\n\t\t\t\tif ( memory ) {\n\t\t\t\t\tlist = [];\n\n\t\t\t\t// Otherwise, this object is spent\n\t\t\t\t} else {\n\t\t\t\t\tlist = \"\";\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\n\t\t// Actual Callbacks object\n\t\tself = {\n\n\t\t\t// Add a callback or a collection of callbacks to the list\n\t\t\tadd: function() {\n\t\t\t\tif ( list ) {\n\n\t\t\t\t\t// If we have memory from a past run, we should fire after adding\n\t\t\t\t\tif ( memory && !firing ) {\n\t\t\t\t\t\tfiringIndex = list.length - 1;\n\t\t\t\t\t\tqueue.push( memory );\n\t\t\t\t\t}\n\n\t\t\t\t\t( function add( args ) {\n\t\t\t\t\t\tjQuery.each( args, function( _, arg ) {\n\t\t\t\t\t\t\tif ( jQuery.isFunction( arg ) ) {\n\t\t\t\t\t\t\t\tif ( !options.unique || !self.has( arg ) ) {\n\t\t\t\t\t\t\t\t\tlist.push( arg );\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t} else if ( arg && arg.length && jQuery.type( arg ) !== \"string\" ) {\n\n\t\t\t\t\t\t\t\t// Inspect recursively\n\t\t\t\t\t\t\t\tadd( arg );\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t} );\n\t\t\t\t\t} )( arguments );\n\n\t\t\t\t\tif ( memory && !firing ) {\n\t\t\t\t\t\tfire();\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\treturn this;\n\t\t\t},\n\n\t\t\t// Remove a callback from the list\n\t\t\tremove: function() {\n\t\t\t\tjQuery.each( arguments, function( _, arg ) {\n\t\t\t\t\tvar index;\n\t\t\t\t\twhile ( ( index = jQuery.inArray( arg, list, index ) ) > -1 ) {\n\t\t\t\t\t\tlist.splice( index, 1 );\n\n\t\t\t\t\t\t// Handle firing indexes\n\t\t\t\t\t\tif ( index <= firingIndex ) {\n\t\t\t\t\t\t\tfiringIndex--;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t} );\n\t\t\t\treturn this;\n\t\t\t},\n\n\t\t\t// Check if a given callback is in the list.\n\t\t\t// If no argument is given, return whether or not list has callbacks attached.\n\t\t\thas: function( fn ) {\n\t\t\t\treturn fn ?\n\t\t\t\t\tjQuery.inArray( fn, list ) > -1 :\n\t\t\t\t\tlist.length > 0;\n\t\t\t},\n\n\t\t\t// Remove all callbacks from the list\n\t\t\tempty: function() {\n\t\t\t\tif ( list ) {\n\t\t\t\t\tlist = [];\n\t\t\t\t}\n\t\t\t\treturn this;\n\t\t\t},\n\n\t\t\t// Disable .fire and .add\n\t\t\t// Abort any current/pending executions\n\t\t\t// Clear all callbacks and values\n\t\t\tdisable: function() {\n\t\t\t\tlocked = queue = [];\n\t\t\t\tlist = memory = \"\";\n\t\t\t\treturn this;\n\t\t\t},\n\t\t\tdisabled: function() {\n\t\t\t\treturn !list;\n\t\t\t},\n\n\t\t\t// Disable .fire\n\t\t\t// Also disable .add unless we have memory (since it would have no effect)\n\t\t\t// Abort any pending executions\n\t\t\tlock: function() {\n\t\t\t\tlocked = true;\n\t\t\t\tif ( !memory ) {\n\t\t\t\t\tself.disable();\n\t\t\t\t}\n\t\t\t\treturn this;\n\t\t\t},\n\t\t\tlocked: function() {\n\t\t\t\treturn !!locked;\n\t\t\t},\n\n\t\t\t// Call all callbacks with the given context and arguments\n\t\t\tfireWith: function( context, args ) {\n\t\t\t\tif ( !locked ) {\n\t\t\t\t\targs = args || [];\n\t\t\t\t\targs = [ context, args.slice ? args.slice() : args ];\n\t\t\t\t\tqueue.push( args );\n\t\t\t\t\tif ( !firing ) {\n\t\t\t\t\t\tfire();\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\treturn this;\n\t\t\t},\n\n\t\t\t// Call all the callbacks with the given arguments\n\t\t\tfire: function() {\n\t\t\t\tself.fireWith( this, arguments );\n\t\t\t\treturn this;\n\t\t\t},\n\n\t\t\t// To know if the callbacks have already been called at least once\n\t\t\tfired: function() {\n\t\t\t\treturn !!fired;\n\t\t\t}\n\t\t};\n\n\treturn self;\n};\n\n\njQuery.extend( {\n\n\tDeferred: function( func ) {\n\t\tvar tuples = [\n\n\t\t\t\t// action, add listener, listener list, final state\n\t\t\t\t[ \"resolve\", \"done\", jQuery.Callbacks( \"once memory\" ), \"resolved\" ],\n\t\t\t\t[ \"reject\", \"fail\", jQuery.Callbacks( \"once memory\" ), \"rejected\" ],\n\t\t\t\t[ \"notify\", \"progress\", jQuery.Callbacks( \"memory\" ) ]\n\t\t\t],\n\t\t\tstate = \"pending\",\n\t\t\tpromise = {\n\t\t\t\tstate: function() {\n\t\t\t\t\treturn state;\n\t\t\t\t},\n\t\t\t\talways: function() {\n\t\t\t\t\tdeferred.done( arguments ).fail( arguments );\n\t\t\t\t\treturn this;\n\t\t\t\t},\n\t\t\t\tthen: function( /* fnDone, fnFail, fnProgress */ ) {\n\t\t\t\t\tvar fns = arguments;\n\t\t\t\t\treturn jQuery.Deferred( function( newDefer ) {\n\t\t\t\t\t\tjQuery.each( tuples, function( i, tuple ) {\n\t\t\t\t\t\t\tvar fn = jQuery.isFunction( fns[ i ] ) && fns[ i ];\n\n\t\t\t\t\t\t\t// deferred[ done | fail | progress ] for forwarding actions to newDefer\n\t\t\t\t\t\t\tdeferred[ tuple[ 1 ] ]( function() {\n\t\t\t\t\t\t\t\tvar returned = fn && fn.apply( this, arguments );\n\t\t\t\t\t\t\t\tif ( returned && jQuery.isFunction( returned.promise ) ) {\n\t\t\t\t\t\t\t\t\treturned.promise()\n\t\t\t\t\t\t\t\t\t\t.progress( newDefer.notify )\n\t\t\t\t\t\t\t\t\t\t.done( newDefer.resolve )\n\t\t\t\t\t\t\t\t\t\t.fail( newDefer.reject );\n\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\tnewDefer[ tuple[ 0 ] + \"With\" ](\n\t\t\t\t\t\t\t\t\t\tthis === promise ? newDefer.promise() : this,\n\t\t\t\t\t\t\t\t\t\tfn ? [ returned ] : arguments\n\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t} );\n\t\t\t\t\t\tfns = null;\n\t\t\t\t\t} ).promise();\n\t\t\t\t},\n\n\t\t\t\t// Get a promise for this deferred\n\t\t\t\t// If obj is provided, the promise aspect is added to the object\n\t\t\t\tpromise: function( obj ) {\n\t\t\t\t\treturn obj != null ? jQuery.extend( obj, promise ) : promise;\n\t\t\t\t}\n\t\t\t},\n\t\t\tdeferred = {};\n\n\t\t// Keep pipe for back-compat\n\t\tpromise.pipe = promise.then;\n\n\t\t// Add list-specific methods\n\t\tjQuery.each( tuples, function( i, tuple ) {\n\t\t\tvar list = tuple[ 2 ],\n\t\t\t\tstateString = tuple[ 3 ];\n\n\t\t\t// promise[ done | fail | progress ] = list.add\n\t\t\tpromise[ tuple[ 1 ] ] = list.add;\n\n\t\t\t// Handle state\n\t\t\tif ( stateString ) {\n\t\t\t\tlist.add( function() {\n\n\t\t\t\t\t// state = [ resolved | rejected ]\n\t\t\t\t\tstate = stateString;\n\n\t\t\t\t// [ reject_list | resolve_list ].disable; progress_list.lock\n\t\t\t\t}, tuples[ i ^ 1 ][ 2 ].disable, tuples[ 2 ][ 2 ].lock );\n\t\t\t}\n\n\t\t\t// deferred[ resolve | reject | notify ]\n\t\t\tdeferred[ tuple[ 0 ] ] = function() {\n\t\t\t\tdeferred[ tuple[ 0 ] + \"With\" ]( this === deferred ? promise : this, arguments );\n\t\t\t\treturn this;\n\t\t\t};\n\t\t\tdeferred[ tuple[ 0 ] + \"With\" ] = list.fireWith;\n\t\t} );\n\n\t\t// Make the deferred a promise\n\t\tpromise.promise( deferred );\n\n\t\t// Call given func if any\n\t\tif ( func ) {\n\t\t\tfunc.call( deferred, deferred );\n\t\t}\n\n\t\t// All done!\n\t\treturn deferred;\n\t},\n\n\t// Deferred helper\n\twhen: function( subordinate /* , ..., subordinateN */ ) {\n\t\tvar i = 0,\n\t\t\tresolveValues = slice.call( arguments ),\n\t\t\tlength = resolveValues.length,\n\n\t\t\t// the count of uncompleted subordinates\n\t\t\tremaining = length !== 1 ||\n\t\t\t\t( subordinate && jQuery.isFunction( subordinate.promise ) ) ? length : 0,\n\n\t\t\t// the master Deferred.\n\t\t\t// If resolveValues consist of only a single Deferred, just use that.\n\t\t\tdeferred = remaining === 1 ? subordinate : jQuery.Deferred(),\n\n\t\t\t// Update function for both resolve and progress values\n\t\t\tupdateFunc = function( i, contexts, values ) {\n\t\t\t\treturn function( value ) {\n\t\t\t\t\tcontexts[ i ] = this;\n\t\t\t\t\tvalues[ i ] = arguments.length > 1 ? slice.call( arguments ) : value;\n\t\t\t\t\tif ( values === progressValues ) {\n\t\t\t\t\t\tdeferred.notifyWith( contexts, values );\n\n\t\t\t\t\t} else if ( !( --remaining ) ) {\n\t\t\t\t\t\tdeferred.resolveWith( contexts, values );\n\t\t\t\t\t}\n\t\t\t\t};\n\t\t\t},\n\n\t\t\tprogressValues, progressContexts, resolveContexts;\n\n\t\t// add listeners to Deferred subordinates; treat others as resolved\n\t\tif ( length > 1 ) {\n\t\t\tprogressValues = new Array( length );\n\t\t\tprogressContexts = new Array( length );\n\t\t\tresolveContexts = new Array( length );\n\t\t\tfor ( ; i < length; i++ ) {\n\t\t\t\tif ( resolveValues[ i ] && jQuery.isFunction( resolveValues[ i ].promise ) ) {\n\t\t\t\t\tresolveValues[ i ].promise()\n\t\t\t\t\t\t.progress( updateFunc( i, progressContexts, progressValues ) )\n\t\t\t\t\t\t.done( updateFunc( i, resolveContexts, resolveValues ) )\n\t\t\t\t\t\t.fail( deferred.reject );\n\t\t\t\t} else {\n\t\t\t\t\t--remaining;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t// if we're not waiting on anything, resolve the master\n\t\tif ( !remaining ) {\n\t\t\tdeferred.resolveWith( resolveContexts, resolveValues );\n\t\t}\n\n\t\treturn deferred.promise();\n\t}\n} );\n\n\n// The deferred used on DOM ready\nvar readyList;\n\njQuery.fn.ready = function( fn ) {\n\n\t// Add the callback\n\tjQuery.ready.promise().done( fn );\n\n\treturn this;\n};\n\njQuery.extend( {\n\n\t// Is the DOM ready to be used? Set to true once it occurs.\n\tisReady: false,\n\n\t// A counter to track how many items to wait for before\n\t// the ready event fires. See #6781\n\treadyWait: 1,\n\n\t// Hold (or release) the ready event\n\tholdReady: function( hold ) {\n\t\tif ( hold ) {\n\t\t\tjQuery.readyWait++;\n\t\t} else {\n\t\t\tjQuery.ready( true );\n\t\t}\n\t},\n\n\t// Handle when the DOM is ready\n\tready: function( wait ) {\n\n\t\t// Abort if there are pending holds or we're already ready\n\t\tif ( wait === true ? --jQuery.readyWait : jQuery.isReady ) {\n\t\t\treturn;\n\t\t}\n\n\t\t// Remember that the DOM is ready\n\t\tjQuery.isReady = true;\n\n\t\t// If a normal DOM Ready event fired, decrement, and wait if need be\n\t\tif ( wait !== true && --jQuery.readyWait > 0 ) {\n\t\t\treturn;\n\t\t}\n\n\t\t// If there are functions bound, to execute\n\t\treadyList.resolveWith( document, [ jQuery ] );\n\n\t\t// Trigger any bound ready events\n\t\tif ( jQuery.fn.triggerHandler ) {\n\t\t\tjQuery( document ).triggerHandler( \"ready\" );\n\t\t\tjQuery( document ).off( \"ready\" );\n\t\t}\n\t}\n} );\n\n/**\n * Clean-up method for dom ready events\n */\nfunction detach() {\n\tif ( document.addEventListener ) {\n\t\tdocument.removeEventListener( \"DOMContentLoaded\", completed );\n\t\twindow.removeEventListener( \"load\", completed );\n\n\t} else {\n\t\tdocument.detachEvent( \"onreadystatechange\", completed );\n\t\twindow.detachEvent( \"onload\", completed );\n\t}\n}\n\n/**\n * The ready event handler and self cleanup method\n */\nfunction completed() {\n\n\t// readyState === \"complete\" is good enough for us to call the dom ready in oldIE\n\tif ( document.addEventListener ||\n\t\twindow.event.type === \"load\" ||\n\t\tdocument.readyState === \"complete\" ) {\n\n\t\tdetach();\n\t\tjQuery.ready();\n\t}\n}\n\njQuery.ready.promise = function( obj ) {\n\tif ( !readyList ) {\n\n\t\treadyList = jQuery.Deferred();\n\n\t\t// Catch cases where $(document).ready() is called\n\t\t// after the browser event has already occurred.\n\t\t// Support: IE6-10\n\t\t// Older IE sometimes signals \"interactive\" too soon\n\t\tif ( document.readyState === \"complete\" ||\n\t\t\t( document.readyState !== \"loading\" && !document.documentElement.doScroll ) ) {\n\n\t\t\t// Handle it asynchronously to allow scripts the opportunity to delay ready\n\t\t\twindow.setTimeout( jQuery.ready );\n\n\t\t// Standards-based browsers support DOMContentLoaded\n\t\t} else if ( document.addEventListener ) {\n\n\t\t\t// Use the handy event callback\n\t\t\tdocument.addEventListener( \"DOMContentLoaded\", completed );\n\n\t\t\t// A fallback to window.onload, that will always work\n\t\t\twindow.addEventListener( \"load\", completed );\n\n\t\t// If IE event model is used\n\t\t} else {\n\n\t\t\t// Ensure firing before onload, maybe late but safe also for iframes\n\t\t\tdocument.attachEvent( \"onreadystatechange\", completed );\n\n\t\t\t// A fallback to window.onload, that will always work\n\t\t\twindow.attachEvent( \"onload\", completed );\n\n\t\t\t// If IE and not a frame\n\t\t\t// continually check to see if the document is ready\n\t\t\tvar top = false;\n\n\t\t\ttry {\n\t\t\t\ttop = window.frameElement == null && document.documentElement;\n\t\t\t} catch ( e ) {}\n\n\t\t\tif ( top && top.doScroll ) {\n\t\t\t\t( function doScrollCheck() {\n\t\t\t\t\tif ( !jQuery.isReady ) {\n\n\t\t\t\t\t\ttry {\n\n\t\t\t\t\t\t\t// Use the trick by Diego Perini\n\t\t\t\t\t\t\t// http://javascript.nwbox.com/IEContentLoaded/\n\t\t\t\t\t\t\ttop.doScroll( \"left\" );\n\t\t\t\t\t\t} catch ( e ) {\n\t\t\t\t\t\t\treturn window.setTimeout( doScrollCheck, 50 );\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t// detach all dom ready events\n\t\t\t\t\t\tdetach();\n\n\t\t\t\t\t\t// and execute any waiting functions\n\t\t\t\t\t\tjQuery.ready();\n\t\t\t\t\t}\n\t\t\t\t} )();\n\t\t\t}\n\t\t}\n\t}\n\treturn readyList.promise( obj );\n};\n\n// Kick off the DOM ready check even if the user does not\njQuery.ready.promise();\n\n\n\n\n// Support: IE<9\n// Iteration over object's inherited properties before its own\nvar i;\nfor ( i in jQuery( support ) ) {\n\tbreak;\n}\nsupport.ownFirst = i === \"0\";\n\n// Note: most support tests are defined in their respective modules.\n// false until the test is run\nsupport.inlineBlockNeedsLayout = false;\n\n// Execute ASAP in case we need to set body.style.zoom\njQuery( function() {\n\n\t// Minified: var a,b,c,d\n\tvar val, div, body, container;\n\n\tbody = document.getElementsByTagName( \"body\" )[ 0 ];\n\tif ( !body || !body.style ) {\n\n\t\t// Return for frameset docs that don't have a body\n\t\treturn;\n\t}\n\n\t// Setup\n\tdiv = document.createElement( \"div\" );\n\tcontainer = document.createElement( \"div\" );\n\tcontainer.style.cssText = \"position:absolute;border:0;width:0;height:0;top:0;left:-9999px\";\n\tbody.appendChild( container ).appendChild( div );\n\n\tif ( typeof div.style.zoom !== \"undefined\" ) {\n\n\t\t// Support: IE<8\n\t\t// Check if natively block-level elements act like inline-block\n\t\t// elements when setting their display to 'inline' and giving\n\t\t// them layout\n\t\tdiv.style.cssText = \"display:inline;margin:0;border:0;padding:1px;width:1px;zoom:1\";\n\n\t\tsupport.inlineBlockNeedsLayout = val = div.offsetWidth === 3;\n\t\tif ( val ) {\n\n\t\t\t// Prevent IE 6 from affecting layout for positioned elements #11048\n\t\t\t// Prevent IE from shrinking the body in IE 7 mode #12869\n\t\t\t// Support: IE<8\n\t\t\tbody.style.zoom = 1;\n\t\t}\n\t}\n\n\tbody.removeChild( container );\n} );\n\n\n( function() {\n\tvar div = document.createElement( \"div\" );\n\n\t// Support: IE<9\n\tsupport.deleteExpando = true;\n\ttry {\n\t\tdelete div.test;\n\t} catch ( e ) {\n\t\tsupport.deleteExpando = false;\n\t}\n\n\t// Null elements to avoid leaks in IE.\n\tdiv = null;\n} )();\nvar acceptData = function( elem ) {\n\tvar noData = jQuery.noData[ ( elem.nodeName + \" \" ).toLowerCase() ],\n\t\tnodeType = +elem.nodeType || 1;\n\n\t// Do not set data on non-element DOM nodes because it will not be cleared (#8335).\n\treturn nodeType !== 1 && nodeType !== 9 ?\n\t\tfalse :\n\n\t\t// Nodes accept data unless otherwise specified; rejection can be conditional\n\t\t!noData || noData !== true && elem.getAttribute( \"classid\" ) === noData;\n};\n\n\n\n\nvar rbrace = /^(?:\\{[\\w\\W]*\\}|\\[[\\w\\W]*\\])$/,\n\trmultiDash = /([A-Z])/g;\n\nfunction dataAttr( elem, key, data ) {\n\n\t// If nothing was found internally, try to fetch any\n\t// data from the HTML5 data-* attribute\n\tif ( data === undefined && elem.nodeType === 1 ) {\n\n\t\tvar name = \"data-\" + key.replace( rmultiDash, \"-$1\" ).toLowerCase();\n\n\t\tdata = elem.getAttribute( name );\n\n\t\tif ( typeof data === \"string\" ) {\n\t\t\ttry {\n\t\t\t\tdata = data === \"true\" ? true :\n\t\t\t\t\tdata === \"false\" ? false :\n\t\t\t\t\tdata === \"null\" ? null :\n\n\t\t\t\t\t// Only convert to a number if it doesn't change the string\n\t\t\t\t\t+data + \"\" === data ? +data :\n\t\t\t\t\trbrace.test( data ) ? jQuery.parseJSON( data ) :\n\t\t\t\t\tdata;\n\t\t\t} catch ( e ) {}\n\n\t\t\t// Make sure we set the data so it isn't changed later\n\t\t\tjQuery.data( elem, key, data );\n\n\t\t} else {\n\t\t\tdata = undefined;\n\t\t}\n\t}\n\n\treturn data;\n}\n\n// checks a cache object for emptiness\nfunction isEmptyDataObject( obj ) {\n\tvar name;\n\tfor ( name in obj ) {\n\n\t\t// if the public data object is empty, the private is still empty\n\t\tif ( name === \"data\" && jQuery.isEmptyObject( obj[ name ] ) ) {\n\t\t\tcontinue;\n\t\t}\n\t\tif ( name !== \"toJSON\" ) {\n\t\t\treturn false;\n\t\t}\n\t}\n\n\treturn true;\n}\n\nfunction internalData( elem, name, data, pvt /* Internal Use Only */ ) {\n\tif ( !acceptData( elem ) ) {\n\t\treturn;\n\t}\n\n\tvar ret, thisCache,\n\t\tinternalKey = jQuery.expando,\n\n\t\t// We have to handle DOM nodes and JS objects differently because IE6-7\n\t\t// can't GC object references properly across the DOM-JS boundary\n\t\tisNode = elem.nodeType,\n\n\t\t// Only DOM nodes need the global jQuery cache; JS object data is\n\t\t// attached directly to the object so GC can occur automatically\n\t\tcache = isNode ? jQuery.cache : elem,\n\n\t\t// Only defining an ID for JS objects if its cache already exists allows\n\t\t// the code to shortcut on the same path as a DOM node with no cache\n\t\tid = isNode ? elem[ internalKey ] : elem[ internalKey ] && internalKey;\n\n\t// Avoid doing any more work than we need to when trying to get data on an\n\t// object that has no data at all\n\tif ( ( !id || !cache[ id ] || ( !pvt && !cache[ id ].data ) ) &&\n\t\tdata === undefined && typeof name === \"string\" ) {\n\t\treturn;\n\t}\n\n\tif ( !id ) {\n\n\t\t// Only DOM nodes need a new unique ID for each element since their data\n\t\t// ends up in the global cache\n\t\tif ( isNode ) {\n\t\t\tid = elem[ internalKey ] = deletedIds.pop() || jQuery.guid++;\n\t\t} else {\n\t\t\tid = internalKey;\n\t\t}\n\t}\n\n\tif ( !cache[ id ] ) {\n\n\t\t// Avoid exposing jQuery metadata on plain JS objects when the object\n\t\t// is serialized using JSON.stringify\n\t\tcache[ id ] = isNode ? {} : { toJSON: jQuery.noop };\n\t}\n\n\t// An object can be passed to jQuery.data instead of a key/value pair; this gets\n\t// shallow copied over onto the existing cache\n\tif ( typeof name === \"object\" || typeof name === \"function\" ) {\n\t\tif ( pvt ) {\n\t\t\tcache[ id ] = jQuery.extend( cache[ id ], name );\n\t\t} else {\n\t\t\tcache[ id ].data = jQuery.extend( cache[ id ].data, name );\n\t\t}\n\t}\n\n\tthisCache = cache[ id ];\n\n\t// jQuery data() is stored in a separate object inside the object's internal data\n\t// cache in order to avoid key collisions between internal data and user-defined\n\t// data.\n\tif ( !pvt ) {\n\t\tif ( !thisCache.data ) {\n\t\t\tthisCache.data = {};\n\t\t}\n\n\t\tthisCache = thisCache.data;\n\t}\n\n\tif ( data !== undefined ) {\n\t\tthisCache[ jQuery.camelCase( name ) ] = data;\n\t}\n\n\t// Check for both converted-to-camel and non-converted data property names\n\t// If a data property was specified\n\tif ( typeof name === \"string\" ) {\n\n\t\t// First Try to find as-is property data\n\t\tret = thisCache[ name ];\n\n\t\t// Test for null|undefined property data\n\t\tif ( ret == null ) {\n\n\t\t\t// Try to find the camelCased property\n\t\t\tret = thisCache[ jQuery.camelCase( name ) ];\n\t\t}\n\t} else {\n\t\tret = thisCache;\n\t}\n\n\treturn ret;\n}\n\nfunction internalRemoveData( elem, name, pvt ) {\n\tif ( !acceptData( elem ) ) {\n\t\treturn;\n\t}\n\n\tvar thisCache, i,\n\t\tisNode = elem.nodeType,\n\n\t\t// See jQuery.data for more information\n\t\tcache = isNode ? jQuery.cache : elem,\n\t\tid = isNode ? elem[ jQuery.expando ] : jQuery.expando;\n\n\t// If there is already no cache entry for this object, there is no\n\t// purpose in continuing\n\tif ( !cache[ id ] ) {\n\t\treturn;\n\t}\n\n\tif ( name ) {\n\n\t\tthisCache = pvt ? cache[ id ] : cache[ id ].data;\n\n\t\tif ( thisCache ) {\n\n\t\t\t// Support array or space separated string names for data keys\n\t\t\tif ( !jQuery.isArray( name ) ) {\n\n\t\t\t\t// try the string as a key before any manipulation\n\t\t\t\tif ( name in thisCache ) {\n\t\t\t\t\tname = [ name ];\n\t\t\t\t} else {\n\n\t\t\t\t\t// split the camel cased version by spaces unless a key with the spaces exists\n\t\t\t\t\tname = jQuery.camelCase( name );\n\t\t\t\t\tif ( name in thisCache ) {\n\t\t\t\t\t\tname = [ name ];\n\t\t\t\t\t} else {\n\t\t\t\t\t\tname = name.split( \" \" );\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} else {\n\n\t\t\t\t// If \"name\" is an array of keys...\n\t\t\t\t// When data is initially created, via (\"key\", \"val\") signature,\n\t\t\t\t// keys will be converted to camelCase.\n\t\t\t\t// Since there is no way to tell _how_ a key was added, remove\n\t\t\t\t// both plain key and camelCase key. #12786\n\t\t\t\t// This will only penalize the array argument path.\n\t\t\t\tname = name.concat( jQuery.map( name, jQuery.camelCase ) );\n\t\t\t}\n\n\t\t\ti = name.length;\n\t\t\twhile ( i-- ) {\n\t\t\t\tdelete thisCache[ name[ i ] ];\n\t\t\t}\n\n\t\t\t// If there is no data left in the cache, we want to continue\n\t\t\t// and let the cache object itself get destroyed\n\t\t\tif ( pvt ? !isEmptyDataObject( thisCache ) : !jQuery.isEmptyObject( thisCache ) ) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t}\n\t}\n\n\t// See jQuery.data for more information\n\tif ( !pvt ) {\n\t\tdelete cache[ id ].data;\n\n\t\t// Don't destroy the parent cache unless the internal data object\n\t\t// had been the only thing left in it\n\t\tif ( !isEmptyDataObject( cache[ id ] ) ) {\n\t\t\treturn;\n\t\t}\n\t}\n\n\t// Destroy the cache\n\tif ( isNode ) {\n\t\tjQuery.cleanData( [ elem ], true );\n\n\t// Use delete when supported for expandos or `cache` is not a window per isWindow (#10080)\n\t/* jshint eqeqeq: false */\n\t} else if ( support.deleteExpando || cache != cache.window ) {\n\t\t/* jshint eqeqeq: true */\n\t\tdelete cache[ id ];\n\n\t// When all else fails, undefined\n\t} else {\n\t\tcache[ id ] = undefined;\n\t}\n}\n\njQuery.extend( {\n\tcache: {},\n\n\t// The following elements (space-suffixed to avoid Object.prototype collisions)\n\t// throw uncatchable exceptions if you attempt to set expando properties\n\tnoData: {\n\t\t\"applet \": true,\n\t\t\"embed \": true,\n\n\t\t// ...but Flash objects (which have this classid) *can* handle expandos\n\t\t\"object \": \"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000\"\n\t},\n\n\thasData: function( elem ) {\n\t\telem = elem.nodeType ? jQuery.cache[ elem[ jQuery.expando ] ] : elem[ jQuery.expando ];\n\t\treturn !!elem && !isEmptyDataObject( elem );\n\t},\n\n\tdata: function( elem, name, data ) {\n\t\treturn internalData( elem, name, data );\n\t},\n\n\tremoveData: function( elem, name ) {\n\t\treturn internalRemoveData( elem, name );\n\t},\n\n\t// For internal use only.\n\t_data: function( elem, name, data ) {\n\t\treturn internalData( elem, name, data, true );\n\t},\n\n\t_removeData: function( elem, name ) {\n\t\treturn internalRemoveData( elem, name, true );\n\t}\n} );\n\njQuery.fn.extend( {\n\tdata: function( key, value ) {\n\t\tvar i, name, data,\n\t\t\telem = this[ 0 ],\n\t\t\tattrs = elem && elem.attributes;\n\n\t\t// Special expections of .data basically thwart jQuery.access,\n\t\t// so implement the relevant behavior ourselves\n\n\t\t// Gets all values\n\t\tif ( key === undefined ) {\n\t\t\tif ( this.length ) {\n\t\t\t\tdata = jQuery.data( elem );\n\n\t\t\t\tif ( elem.nodeType === 1 && !jQuery._data( elem, \"parsedAttrs\" ) ) {\n\t\t\t\t\ti = attrs.length;\n\t\t\t\t\twhile ( i-- ) {\n\n\t\t\t\t\t\t// Support: IE11+\n\t\t\t\t\t\t// The attrs elements can be null (#14894)\n\t\t\t\t\t\tif ( attrs[ i ] ) {\n\t\t\t\t\t\t\tname = attrs[ i ].name;\n\t\t\t\t\t\t\tif ( name.indexOf( \"data-\" ) === 0 ) {\n\t\t\t\t\t\t\t\tname = jQuery.camelCase( name.slice( 5 ) );\n\t\t\t\t\t\t\t\tdataAttr( elem, name, data[ name ] );\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tjQuery._data( elem, \"parsedAttrs\", true );\n\t\t\t\t}\n\t\t\t}\n\n\t\t\treturn data;\n\t\t}\n\n\t\t// Sets multiple values\n\t\tif ( typeof key === \"object\" ) {\n\t\t\treturn this.each( function() {\n\t\t\t\tjQuery.data( this, key );\n\t\t\t} );\n\t\t}\n\n\t\treturn arguments.length > 1 ?\n\n\t\t\t// Sets one value\n\t\t\tthis.each( function() {\n\t\t\t\tjQuery.data( this, key, value );\n\t\t\t} ) :\n\n\t\t\t// Gets one value\n\t\t\t// Try to fetch any internally stored data first\n\t\t\telem ? dataAttr( elem, key, jQuery.data( elem, key ) ) : undefined;\n\t},\n\n\tremoveData: function( key ) {\n\t\treturn this.each( function() {\n\t\t\tjQuery.removeData( this, key );\n\t\t} );\n\t}\n} );\n\n\njQuery.extend( {\n\tqueue: function( elem, type, data ) {\n\t\tvar queue;\n\n\t\tif ( elem ) {\n\t\t\ttype = ( type || \"fx\" ) + \"queue\";\n\t\t\tqueue = jQuery._data( elem, type );\n\n\t\t\t// Speed up dequeue by getting out quickly if this is just a lookup\n\t\t\tif ( data ) {\n\t\t\t\tif ( !queue || jQuery.isArray( data ) ) {\n\t\t\t\t\tqueue = jQuery._data( elem, type, jQuery.makeArray( data ) );\n\t\t\t\t} else {\n\t\t\t\t\tqueue.push( data );\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn queue || [];\n\t\t}\n\t},\n\n\tdequeue: function( elem, type ) {\n\t\ttype = type || \"fx\";\n\n\t\tvar queue = jQuery.queue( elem, type ),\n\t\t\tstartLength = queue.length,\n\t\t\tfn = queue.shift(),\n\t\t\thooks = jQuery._queueHooks( elem, type ),\n\t\t\tnext = function() {\n\t\t\t\tjQuery.dequeue( elem, type );\n\t\t\t};\n\n\t\t// If the fx queue is dequeued, always remove the progress sentinel\n\t\tif ( fn === \"inprogress\" ) {\n\t\t\tfn = queue.shift();\n\t\t\tstartLength--;\n\t\t}\n\n\t\tif ( fn ) {\n\n\t\t\t// Add a progress sentinel to prevent the fx queue from being\n\t\t\t// automatically dequeued\n\t\t\tif ( type === \"fx\" ) {\n\t\t\t\tqueue.unshift( \"inprogress\" );\n\t\t\t}\n\n\t\t\t// clear up the last queue stop function\n\t\t\tdelete hooks.stop;\n\t\t\tfn.call( elem, next, hooks );\n\t\t}\n\n\t\tif ( !startLength && hooks ) {\n\t\t\thooks.empty.fire();\n\t\t}\n\t},\n\n\t// not intended for public consumption - generates a queueHooks object,\n\t// or returns the current one\n\t_queueHooks: function( elem, type ) {\n\t\tvar key = type + \"queueHooks\";\n\t\treturn jQuery._data( elem, key ) || jQuery._data( elem, key, {\n\t\t\tempty: jQuery.Callbacks( \"once memory\" ).add( function() {\n\t\t\t\tjQuery._removeData( elem, type + \"queue\" );\n\t\t\t\tjQuery._removeData( elem, key );\n\t\t\t} )\n\t\t} );\n\t}\n} );\n\njQuery.fn.extend( {\n\tqueue: function( type, data ) {\n\t\tvar setter = 2;\n\n\t\tif ( typeof type !== \"string\" ) {\n\t\t\tdata = type;\n\t\t\ttype = \"fx\";\n\t\t\tsetter--;\n\t\t}\n\n\t\tif ( arguments.length < setter ) {\n\t\t\treturn jQuery.queue( this[ 0 ], type );\n\t\t}\n\n\t\treturn data === undefined ?\n\t\t\tthis :\n\t\t\tthis.each( function() {\n\t\t\t\tvar queue = jQuery.queue( this, type, data );\n\n\t\t\t\t// ensure a hooks for this queue\n\t\t\t\tjQuery._queueHooks( this, type );\n\n\t\t\t\tif ( type === \"fx\" && queue[ 0 ] !== \"inprogress\" ) {\n\t\t\t\t\tjQuery.dequeue( this, type );\n\t\t\t\t}\n\t\t\t} );\n\t},\n\tdequeue: function( type ) {\n\t\treturn this.each( function() {\n\t\t\tjQuery.dequeue( this, type );\n\t\t} );\n\t},\n\tclearQueue: function( type ) {\n\t\treturn this.queue( type || \"fx\", [] );\n\t},\n\n\t// Get a promise resolved when queues of a certain type\n\t// are emptied (fx is the type by default)\n\tpromise: function( type, obj ) {\n\t\tvar tmp,\n\t\t\tcount = 1,\n\t\t\tdefer = jQuery.Deferred(),\n\t\t\telements = this,\n\t\t\ti = this.length,\n\t\t\tresolve = function() {\n\t\t\t\tif ( !( --count ) ) {\n\t\t\t\t\tdefer.resolveWith( elements, [ elements ] );\n\t\t\t\t}\n\t\t\t};\n\n\t\tif ( typeof type !== \"string\" ) {\n\t\t\tobj = type;\n\t\t\ttype = undefined;\n\t\t}\n\t\ttype = type || \"fx\";\n\n\t\twhile ( i-- ) {\n\t\t\ttmp = jQuery._data( elements[ i ], type + \"queueHooks\" );\n\t\t\tif ( tmp && tmp.empty ) {\n\t\t\t\tcount++;\n\t\t\t\ttmp.empty.add( resolve );\n\t\t\t}\n\t\t}\n\t\tresolve();\n\t\treturn defer.promise( obj );\n\t}\n} );\n\n\n( function() {\n\tvar shrinkWrapBlocksVal;\n\n\tsupport.shrinkWrapBlocks = function() {\n\t\tif ( shrinkWrapBlocksVal != null ) {\n\t\t\treturn shrinkWrapBlocksVal;\n\t\t}\n\n\t\t// Will be changed later if needed.\n\t\tshrinkWrapBlocksVal = false;\n\n\t\t// Minified: var b,c,d\n\t\tvar div, body, container;\n\n\t\tbody = document.getElementsByTagName( \"body\" )[ 0 ];\n\t\tif ( !body || !body.style ) {\n\n\t\t\t// Test fired too early or in an unsupported environment, exit.\n\t\t\treturn;\n\t\t}\n\n\t\t// Setup\n\t\tdiv = document.createElement( \"div\" );\n\t\tcontainer = document.createElement( \"div\" );\n\t\tcontainer.style.cssText = \"position:absolute;border:0;width:0;height:0;top:0;left:-9999px\";\n\t\tbody.appendChild( container ).appendChild( div );\n\n\t\t// Support: IE6\n\t\t// Check if elements with layout shrink-wrap their children\n\t\tif ( typeof div.style.zoom !== \"undefined\" ) {\n\n\t\t\t// Reset CSS: box-sizing; display; margin; border\n\t\t\tdiv.style.cssText =\n\n\t\t\t\t// Support: Firefox<29, Android 2.3\n\t\t\t\t// Vendor-prefix box-sizing\n\t\t\t\t\"-webkit-box-sizing:content-box;-moz-box-sizing:content-box;\" +\n\t\t\t\t\"box-sizing:content-box;display:block;margin:0;border:0;\" +\n\t\t\t\t\"padding:1px;width:1px;zoom:1\";\n\t\t\tdiv.appendChild( document.createElement( \"div\" ) ).style.width = \"5px\";\n\t\t\tshrinkWrapBlocksVal = div.offsetWidth !== 3;\n\t\t}\n\n\t\tbody.removeChild( container );\n\n\t\treturn shrinkWrapBlocksVal;\n\t};\n\n} )();\nvar pnum = ( /[+-]?(?:\\d*\\.|)\\d+(?:[eE][+-]?\\d+|)/ ).source;\n\nvar rcssNum = new RegExp( \"^(?:([+-])=|)(\" + pnum + \")([a-z%]*)$\", \"i\" );\n\n\nvar cssExpand = [ \"Top\", \"Right\", \"Bottom\", \"Left\" ];\n\nvar isHidden = function( elem, el ) {\n\n\t\t// isHidden might be called from jQuery#filter function;\n\t\t// in that case, element will be second argument\n\t\telem = el || elem;\n\t\treturn jQuery.css( elem, \"display\" ) === \"none\" ||\n\t\t\t!jQuery.contains( elem.ownerDocument, elem );\n\t};\n\n\n\nfunction adjustCSS( elem, prop, valueParts, tween ) {\n\tvar adjusted,\n\t\tscale = 1,\n\t\tmaxIterations = 20,\n\t\tcurrentValue = tween ?\n\t\t\tfunction() { return tween.cur(); } :\n\t\t\tfunction() { return jQuery.css( elem, prop, \"\" ); },\n\t\tinitial = currentValue(),\n\t\tunit = valueParts && valueParts[ 3 ] || ( jQuery.cssNumber[ prop ] ? \"\" : \"px\" ),\n\n\t\t// Starting value computation is required for potential unit mismatches\n\t\tinitialInUnit = ( jQuery.cssNumber[ prop ] || unit !== \"px\" && +initial ) &&\n\t\t\trcssNum.exec( jQuery.css( elem, prop ) );\n\n\tif ( initialInUnit && initialInUnit[ 3 ] !== unit ) {\n\n\t\t// Trust units reported by jQuery.css\n\t\tunit = unit || initialInUnit[ 3 ];\n\n\t\t// Make sure we update the tween properties later on\n\t\tvalueParts = valueParts || [];\n\n\t\t// Iteratively approximate from a nonzero starting point\n\t\tinitialInUnit = +initial || 1;\n\n\t\tdo {\n\n\t\t\t// If previous iteration zeroed out, double until we get *something*.\n\t\t\t// Use string for doubling so we don't accidentally see scale as unchanged below\n\t\t\tscale = scale || \".5\";\n\n\t\t\t// Adjust and apply\n\t\t\tinitialInUnit = initialInUnit / scale;\n\t\t\tjQuery.style( elem, prop, initialInUnit + unit );\n\n\t\t// Update scale, tolerating zero or NaN from tween.cur()\n\t\t// Break the loop if scale is unchanged or perfect, or if we've just had enough.\n\t\t} while (\n\t\t\tscale !== ( scale = currentValue() / initial ) && scale !== 1 && --maxIterations\n\t\t);\n\t}\n\n\tif ( valueParts ) {\n\t\tinitialInUnit = +initialInUnit || +initial || 0;\n\n\t\t// Apply relative offset (+=/-=) if specified\n\t\tadjusted = valueParts[ 1 ] ?\n\t\t\tinitialInUnit + ( valueParts[ 1 ] + 1 ) * valueParts[ 2 ] :\n\t\t\t+valueParts[ 2 ];\n\t\tif ( tween ) {\n\t\t\ttween.unit = unit;\n\t\t\ttween.start = initialInUnit;\n\t\t\ttween.end = adjusted;\n\t\t}\n\t}\n\treturn adjusted;\n}\n\n\n// Multifunctional method to get and set values of a collection\n// The value/s can optionally be executed if it's a function\nvar access = function( elems, fn, key, value, chainable, emptyGet, raw ) {\n\tvar i = 0,\n\t\tlength = elems.length,\n\t\tbulk = key == null;\n\n\t// Sets many values\n\tif ( jQuery.type( key ) === \"object\" ) {\n\t\tchainable = true;\n\t\tfor ( i in key ) {\n\t\t\taccess( elems, fn, i, key[ i ], true, emptyGet, raw );\n\t\t}\n\n\t// Sets one value\n\t} else if ( value !== undefined ) {\n\t\tchainable = true;\n\n\t\tif ( !jQuery.isFunction( value ) ) {\n\t\t\traw = true;\n\t\t}\n\n\t\tif ( bulk ) {\n\n\t\t\t// Bulk operations run against the entire set\n\t\t\tif ( raw ) {\n\t\t\t\tfn.call( elems, value );\n\t\t\t\tfn = null;\n\n\t\t\t// ...except when executing function values\n\t\t\t} else {\n\t\t\t\tbulk = fn;\n\t\t\t\tfn = function( elem, key, value ) {\n\t\t\t\t\treturn bulk.call( jQuery( elem ), value );\n\t\t\t\t};\n\t\t\t}\n\t\t}\n\n\t\tif ( fn ) {\n\t\t\tfor ( ; i < length; i++ ) {\n\t\t\t\tfn(\n\t\t\t\t\telems[ i ],\n\t\t\t\t\tkey,\n\t\t\t\t\traw ? value : value.call( elems[ i ], i, fn( elems[ i ], key ) )\n\t\t\t\t);\n\t\t\t}\n\t\t}\n\t}\n\n\treturn chainable ?\n\t\telems :\n\n\t\t// Gets\n\t\tbulk ?\n\t\t\tfn.call( elems ) :\n\t\t\tlength ? fn( elems[ 0 ], key ) : emptyGet;\n};\nvar rcheckableType = ( /^(?:checkbox|radio)$/i );\n\nvar rtagName = ( /<([\\w:-]+)/ );\n\nvar rscriptType = ( /^$|\\/(?:java|ecma)script/i );\n\nvar rleadingWhitespace = ( /^\\s+/ );\n\nvar nodeNames = \"abbr|article|aside|audio|bdi|canvas|data|datalist|\" +\n\t\t\"details|dialog|figcaption|figure|footer|header|hgroup|main|\" +\n\t\t\"mark|meter|nav|output|picture|progress|section|summary|template|time|video\";\n\n\n\nfunction createSafeFragment( document ) {\n\tvar list = nodeNames.split( \"|\" ),\n\t\tsafeFrag = document.createDocumentFragment();\n\n\tif ( safeFrag.createElement ) {\n\t\twhile ( list.length ) {\n\t\t\tsafeFrag.createElement(\n\t\t\t\tlist.pop()\n\t\t\t);\n\t\t}\n\t}\n\treturn safeFrag;\n}\n\n\n( function() {\n\tvar div = document.createElement( \"div\" ),\n\t\tfragment = document.createDocumentFragment(),\n\t\tinput = document.createElement( \"input\" );\n\n\t// Setup\n\tdiv.innerHTML = \" <link/><table></table><a href='/a'>a</a><input type='checkbox'/>\";\n\n\t// IE strips leading whitespace when .innerHTML is used\n\tsupport.leadingWhitespace = div.firstChild.nodeType === 3;\n\n\t// Make sure that tbody elements aren't automatically inserted\n\t// IE will insert them into empty tables\n\tsupport.tbody = !div.getElementsByTagName( \"tbody\" ).length;\n\n\t// Make sure that link elements get serialized correctly by innerHTML\n\t// This requires a wrapper element in IE\n\tsupport.htmlSerialize = !!div.getElementsByTagName( \"link\" ).length;\n\n\t// Makes sure cloning an html5 element does not cause problems\n\t// Where outerHTML is undefined, this still works\n\tsupport.html5Clone =\n\t\tdocument.createElement( \"nav\" ).cloneNode( true ).outerHTML !== \"<:nav></:nav>\";\n\n\t// Check if a disconnected checkbox will retain its checked\n\t// value of true after appended to the DOM (IE6/7)\n\tinput.type = \"checkbox\";\n\tinput.checked = true;\n\tfragment.appendChild( input );\n\tsupport.appendChecked = input.checked;\n\n\t// Make sure textarea (and checkbox) defaultValue is properly cloned\n\t// Support: IE6-IE11+\n\tdiv.innerHTML = \"<textarea>x</textarea>\";\n\tsupport.noCloneChecked = !!div.cloneNode( true ).lastChild.defaultValue;\n\n\t// #11217 - WebKit loses check when the name is after the checked attribute\n\tfragment.appendChild( div );\n\n\t// Support: Windows Web Apps (WWA)\n\t// `name` and `type` must use .setAttribute for WWA (#14901)\n\tinput = document.createElement( \"input\" );\n\tinput.setAttribute( \"type\", \"radio\" );\n\tinput.setAttribute( \"checked\", \"checked\" );\n\tinput.setAttribute( \"name\", \"t\" );\n\n\tdiv.appendChild( input );\n\n\t// Support: Safari 5.1, iOS 5.1, Android 4.x, Android 2.3\n\t// old WebKit doesn't clone checked state correctly in fragments\n\tsupport.checkClone = div.cloneNode( true ).cloneNode( true ).lastChild.checked;\n\n\t// Support: IE<9\n\t// Cloned elements keep attachEvent handlers, we use addEventListener on IE9+\n\tsupport.noCloneEvent = !!div.addEventListener;\n\n\t// Support: IE<9\n\t// Since attributes and properties are the same in IE,\n\t// cleanData must set properties to undefined rather than use removeAttribute\n\tdiv[ jQuery.expando ] = 1;\n\tsupport.attributes = !div.getAttribute( jQuery.expando );\n} )();\n\n\n// We have to close these tags to support XHTML (#13200)\nvar wrapMap = {\n\toption: [ 1, \"<select multiple='multiple'>\", \"</select>\" ],\n\tlegend: [ 1, \"<fieldset>\", \"</fieldset>\" ],\n\tarea: [ 1, \"<map>\", \"</map>\" ],\n\n\t// Support: IE8\n\tparam: [ 1, \"<object>\", \"</object>\" ],\n\tthead: [ 1, \"<table>\", \"</table>\" ],\n\ttr: [ 2, \"<table><tbody>\", \"</tbody></table>\" ],\n\tcol: [ 2, \"<table><tbody></tbody><colgroup>\", \"</colgroup></table>\" ],\n\ttd: [ 3, \"<table><tbody><tr>\", \"</tr></tbody></table>\" ],\n\n\t// IE6-8 can't serialize link, script, style, or any html5 (NoScope) tags,\n\t// unless wrapped in a div with non-breaking characters in front of it.\n\t_default: support.htmlSerialize ? [ 0, \"\", \"\" ] : [ 1, \"X<div>\", \"</div>\" ]\n};\n\n// Support: IE8-IE9\nwrapMap.optgroup = wrapMap.option;\n\nwrapMap.tbody = wrapMap.tfoot = wrapMap.colgroup = wrapMap.caption = wrapMap.thead;\nwrapMap.th = wrapMap.td;\n\n\nfunction getAll( context, tag ) {\n\tvar elems, elem,\n\t\ti = 0,\n\t\tfound = typeof context.getElementsByTagName !== \"undefined\" ?\n\t\t\tcontext.getElementsByTagName( tag || \"*\" ) :\n\t\t\ttypeof context.querySelectorAll !== \"undefined\" ?\n\t\t\t\tcontext.querySelectorAll( tag || \"*\" ) :\n\t\t\t\tundefined;\n\n\tif ( !found ) {\n\t\tfor ( found = [], elems = context.childNodes || context;\n\t\t\t( elem = elems[ i ] ) != null;\n\t\t\ti++\n\t\t) {\n\t\t\tif ( !tag || jQuery.nodeName( elem, tag ) ) {\n\t\t\t\tfound.push( elem );\n\t\t\t} else {\n\t\t\t\tjQuery.merge( found, getAll( elem, tag ) );\n\t\t\t}\n\t\t}\n\t}\n\n\treturn tag === undefined || tag && jQuery.nodeName( context, tag ) ?\n\t\tjQuery.merge( [ context ], found ) :\n\t\tfound;\n}\n\n\n// Mark scripts as having already been evaluated\nfunction setGlobalEval( elems, refElements ) {\n\tvar elem,\n\t\ti = 0;\n\tfor ( ; ( elem = elems[ i ] ) != null; i++ ) {\n\t\tjQuery._data(\n\t\t\telem,\n\t\t\t\"globalEval\",\n\t\t\t!refElements || jQuery._data( refElements[ i ], \"globalEval\" )\n\t\t);\n\t}\n}\n\n\nvar rhtml = /<|&#?\\w+;/,\n\trtbody = /<tbody/i;\n\nfunction fixDefaultChecked( elem ) {\n\tif ( rcheckableType.test( elem.type ) ) {\n\t\telem.defaultChecked = elem.checked;\n\t}\n}\n\nfunction buildFragment( elems, context, scripts, selection, ignored ) {\n\tvar j, elem, contains,\n\t\ttmp, tag, tbody, wrap,\n\t\tl = elems.length,\n\n\t\t// Ensure a safe fragment\n\t\tsafe = createSafeFragment( context ),\n\n\t\tnodes = [],\n\t\ti = 0;\n\n\tfor ( ; i < l; i++ ) {\n\t\telem = elems[ i ];\n\n\t\tif ( elem || elem === 0 ) {\n\n\t\t\t// Add nodes directly\n\t\t\tif ( jQuery.type( elem ) === \"object\" ) {\n\t\t\t\tjQuery.merge( nodes, elem.nodeType ? [ elem ] : elem );\n\n\t\t\t// Convert non-html into a text node\n\t\t\t} else if ( !rhtml.test( elem ) ) {\n\t\t\t\tnodes.push( context.createTextNode( elem ) );\n\n\t\t\t// Convert html into DOM nodes\n\t\t\t} else {\n\t\t\t\ttmp = tmp || safe.appendChild( context.createElement( \"div\" ) );\n\n\t\t\t\t// Deserialize a standard representation\n\t\t\t\ttag = ( rtagName.exec( elem ) || [ \"\", \"\" ] )[ 1 ].toLowerCase();\n\t\t\t\twrap = wrapMap[ tag ] || wrapMap._default;\n\n\t\t\t\ttmp.innerHTML = wrap[ 1 ] + jQuery.htmlPrefilter( elem ) + wrap[ 2 ];\n\n\t\t\t\t// Descend through wrappers to the right content\n\t\t\t\tj = wrap[ 0 ];\n\t\t\t\twhile ( j-- ) {\n\t\t\t\t\ttmp = tmp.lastChild;\n\t\t\t\t}\n\n\t\t\t\t// Manually add leading whitespace removed by IE\n\t\t\t\tif ( !support.leadingWhitespace && rleadingWhitespace.test( elem ) ) {\n\t\t\t\t\tnodes.push( context.createTextNode( rleadingWhitespace.exec( elem )[ 0 ] ) );\n\t\t\t\t}\n\n\t\t\t\t// Remove IE's autoinserted <tbody> from table fragments\n\t\t\t\tif ( !support.tbody ) {\n\n\t\t\t\t\t// String was a <table>, *may* have spurious <tbody>\n\t\t\t\t\telem = tag === \"table\" && !rtbody.test( elem ) ?\n\t\t\t\t\t\ttmp.firstChild :\n\n\t\t\t\t\t\t// String was a bare <thead> or <tfoot>\n\t\t\t\t\t\twrap[ 1 ] === \"<table>\" && !rtbody.test( elem ) ?\n\t\t\t\t\t\t\ttmp :\n\t\t\t\t\t\t\t0;\n\n\t\t\t\t\tj = elem && elem.childNodes.length;\n\t\t\t\t\twhile ( j-- ) {\n\t\t\t\t\t\tif ( jQuery.nodeName( ( tbody = elem.childNodes[ j ] ), \"tbody\" ) &&\n\t\t\t\t\t\t\t!tbody.childNodes.length ) {\n\n\t\t\t\t\t\t\telem.removeChild( tbody );\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tjQuery.merge( nodes, tmp.childNodes );\n\n\t\t\t\t// Fix #12392 for WebKit and IE > 9\n\t\t\t\ttmp.textContent = \"\";\n\n\t\t\t\t// Fix #12392 for oldIE\n\t\t\t\twhile ( tmp.firstChild ) {\n\t\t\t\t\ttmp.removeChild( tmp.firstChild );\n\t\t\t\t}\n\n\t\t\t\t// Remember the top-level container for proper cleanup\n\t\t\t\ttmp = safe.lastChild;\n\t\t\t}\n\t\t}\n\t}\n\n\t// Fix #11356: Clear elements from fragment\n\tif ( tmp ) {\n\t\tsafe.removeChild( tmp );\n\t}\n\n\t// Reset defaultChecked for any radios and checkboxes\n\t// about to be appended to the DOM in IE 6/7 (#8060)\n\tif ( !support.appendChecked ) {\n\t\tjQuery.grep( getAll( nodes, \"input\" ), fixDefaultChecked );\n\t}\n\n\ti = 0;\n\twhile ( ( elem = nodes[ i++ ] ) ) {\n\n\t\t// Skip elements already in the context collection (trac-4087)\n\t\tif ( selection && jQuery.inArray( elem, selection ) > -1 ) {\n\t\t\tif ( ignored ) {\n\t\t\t\tignored.push( elem );\n\t\t\t}\n\n\t\t\tcontinue;\n\t\t}\n\n\t\tcontains = jQuery.contains( elem.ownerDocument, elem );\n\n\t\t// Append to fragment\n\t\ttmp = getAll( safe.appendChild( elem ), \"script\" );\n\n\t\t// Preserve script evaluation history\n\t\tif ( contains ) {\n\t\t\tsetGlobalEval( tmp );\n\t\t}\n\n\t\t// Capture executables\n\t\tif ( scripts ) {\n\t\t\tj = 0;\n\t\t\twhile ( ( elem = tmp[ j++ ] ) ) {\n\t\t\t\tif ( rscriptType.test( elem.type || \"\" ) ) {\n\t\t\t\t\tscripts.push( elem );\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\ttmp = null;\n\n\treturn safe;\n}\n\n\n( function() {\n\tvar i, eventName,\n\t\tdiv = document.createElement( \"div\" );\n\n\t// Support: IE<9 (lack submit/change bubble), Firefox (lack focus(in | out) events)\n\tfor ( i in { submit: true, change: true, focusin: true } ) {\n\t\teventName = \"on\" + i;\n\n\t\tif ( !( support[ i ] = eventName in window ) ) {\n\n\t\t\t// Beware of CSP restrictions (https://developer.mozilla.org/en/Security/CSP)\n\t\t\tdiv.setAttribute( eventName, \"t\" );\n\t\t\tsupport[ i ] = div.attributes[ eventName ].expando === false;\n\t\t}\n\t}\n\n\t// Null elements to avoid leaks in IE.\n\tdiv = null;\n} )();\n\n\nvar rformElems = /^(?:input|select|textarea)$/i,\n\trkeyEvent = /^key/,\n\trmouseEvent = /^(?:mouse|pointer|contextmenu|drag|drop)|click/,\n\trfocusMorph = /^(?:focusinfocus|focusoutblur)$/,\n\trtypenamespace = /^([^.]*)(?:\\.(.+)|)/;\n\nfunction returnTrue() {\n\treturn true;\n}\n\nfunction returnFalse() {\n\treturn false;\n}\n\n// Support: IE9\n// See #13393 for more info\nfunction safeActiveElement() {\n\ttry {\n\t\treturn document.activeElement;\n\t} catch ( err ) { }\n}\n\nfunction on( elem, types, selector, data, fn, one ) {\n\tvar origFn, type;\n\n\t// Types can be a map of types/handlers\n\tif ( typeof types === \"object\" ) {\n\n\t\t// ( types-Object, selector, data )\n\t\tif ( typeof selector !== \"string\" ) {\n\n\t\t\t// ( types-Object, data )\n\t\t\tdata = data || selector;\n\t\t\tselector = undefined;\n\t\t}\n\t\tfor ( type in types ) {\n\t\t\ton( elem, type, selector, data, types[ type ], one );\n\t\t}\n\t\treturn elem;\n\t}\n\n\tif ( data == null && fn == null ) {\n\n\t\t// ( types, fn )\n\t\tfn = selector;\n\t\tdata = selector = undefined;\n\t} else if ( fn == null ) {\n\t\tif ( typeof selector === \"string\" ) {\n\n\t\t\t// ( types, selector, fn )\n\t\t\tfn = data;\n\t\t\tdata = undefined;\n\t\t} else {\n\n\t\t\t// ( types, data, fn )\n\t\t\tfn = data;\n\t\t\tdata = selector;\n\t\t\tselector = undefined;\n\t\t}\n\t}\n\tif ( fn === false ) {\n\t\tfn = returnFalse;\n\t} else if ( !fn ) {\n\t\treturn elem;\n\t}\n\n\tif ( one === 1 ) {\n\t\torigFn = fn;\n\t\tfn = function( event ) {\n\n\t\t\t// Can use an empty set, since event contains the info\n\t\t\tjQuery().off( event );\n\t\t\treturn origFn.apply( this, arguments );\n\t\t};\n\n\t\t// Use same guid so caller can remove using origFn\n\t\tfn.guid = origFn.guid || ( origFn.guid = jQuery.guid++ );\n\t}\n\treturn elem.each( function() {\n\t\tjQuery.event.add( this, types, fn, data, selector );\n\t} );\n}\n\n/*\n * Helper functions for managing events -- not part of the public interface.\n * Props to Dean Edwards' addEvent library for many of the ideas.\n */\njQuery.event = {\n\n\tglobal: {},\n\n\tadd: function( elem, types, handler, data, selector ) {\n\t\tvar tmp, events, t, handleObjIn,\n\t\t\tspecial, eventHandle, handleObj,\n\t\t\thandlers, type, namespaces, origType,\n\t\t\telemData = jQuery._data( elem );\n\n\t\t// Don't attach events to noData or text/comment nodes (but allow plain objects)\n\t\tif ( !elemData ) {\n\t\t\treturn;\n\t\t}\n\n\t\t// Caller can pass in an object of custom data in lieu of the handler\n\t\tif ( handler.handler ) {\n\t\t\thandleObjIn = handler;\n\t\t\thandler = handleObjIn.handler;\n\t\t\tselector = handleObjIn.selector;\n\t\t}\n\n\t\t// Make sure that the handler has a unique ID, used to find/remove it later\n\t\tif ( !handler.guid ) {\n\t\t\thandler.guid = jQuery.guid++;\n\t\t}\n\n\t\t// Init the element's event structure and main handler, if this is the first\n\t\tif ( !( events = elemData.events ) ) {\n\t\t\tevents = elemData.events = {};\n\t\t}\n\t\tif ( !( eventHandle = elemData.handle ) ) {\n\t\t\teventHandle = elemData.handle = function( e ) {\n\n\t\t\t\t// Discard the second event of a jQuery.event.trigger() and\n\t\t\t\t// when an event is called after a page has unloaded\n\t\t\t\treturn typeof jQuery !== \"undefined\" &&\n\t\t\t\t\t( !e || jQuery.event.triggered !== e.type ) ?\n\t\t\t\t\tjQuery.event.dispatch.apply( eventHandle.elem, arguments ) :\n\t\t\t\t\tundefined;\n\t\t\t};\n\n\t\t\t// Add elem as a property of the handle fn to prevent a memory leak\n\t\t\t// with IE non-native events\n\t\t\teventHandle.elem = elem;\n\t\t}\n\n\t\t// Handle multiple events separated by a space\n\t\ttypes = ( types || \"\" ).match( rnotwhite ) || [ \"\" ];\n\t\tt = types.length;\n\t\twhile ( t-- ) {\n\t\t\ttmp = rtypenamespace.exec( types[ t ] ) || [];\n\t\t\ttype = origType = tmp[ 1 ];\n\t\t\tnamespaces = ( tmp[ 2 ] || \"\" ).split( \".\" ).sort();\n\n\t\t\t// There *must* be a type, no attaching namespace-only handlers\n\t\t\tif ( !type ) {\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\t// If event changes its type, use the special event handlers for the changed type\n\t\t\tspecial = jQuery.event.special[ type ] || {};\n\n\t\t\t// If selector defined, determine special event api type, otherwise given type\n\t\t\ttype = ( selector ? special.delegateType : special.bindType ) || type;\n\n\t\t\t// Update special based on newly reset type\n\t\t\tspecial = jQuery.event.special[ type ] || {};\n\n\t\t\t// handleObj is passed to all event handlers\n\t\t\thandleObj = jQuery.extend( {\n\t\t\t\ttype: type,\n\t\t\t\torigType: origType,\n\t\t\t\tdata: data,\n\t\t\t\thandler: handler,\n\t\t\t\tguid: handler.guid,\n\t\t\t\tselector: selector,\n\t\t\t\tneedsContext: selector && jQuery.expr.match.needsContext.test( selector ),\n\t\t\t\tnamespace: namespaces.join( \".\" )\n\t\t\t}, handleObjIn );\n\n\t\t\t// Init the event handler queue if we're the first\n\t\t\tif ( !( handlers = events[ type ] ) ) {\n\t\t\t\thandlers = events[ type ] = [];\n\t\t\t\thandlers.delegateCount = 0;\n\n\t\t\t\t// Only use addEventListener/attachEvent if the special events handler returns false\n\t\t\t\tif ( !special.setup ||\n\t\t\t\t\tspecial.setup.call( elem, data, namespaces, eventHandle ) === false ) {\n\n\t\t\t\t\t// Bind the global event handler to the element\n\t\t\t\t\tif ( elem.addEventListener ) {\n\t\t\t\t\t\telem.addEventListener( type, eventHandle, false );\n\n\t\t\t\t\t} else if ( elem.attachEvent ) {\n\t\t\t\t\t\telem.attachEvent( \"on\" + type, eventHandle );\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif ( special.add ) {\n\t\t\t\tspecial.add.call( elem, handleObj );\n\n\t\t\t\tif ( !handleObj.handler.guid ) {\n\t\t\t\t\thandleObj.handler.guid = handler.guid;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Add to the element's handler list, delegates in front\n\t\t\tif ( selector ) {\n\t\t\t\thandlers.splice( handlers.delegateCount++, 0, handleObj );\n\t\t\t} else {\n\t\t\t\thandlers.push( handleObj );\n\t\t\t}\n\n\t\t\t// Keep track of which events have ever been used, for event optimization\n\t\t\tjQuery.event.global[ type ] = true;\n\t\t}\n\n\t\t// Nullify elem to prevent memory leaks in IE\n\t\telem = null;\n\t},\n\n\t// Detach an event or set of events from an element\n\tremove: function( elem, types, handler, selector, mappedTypes ) {\n\t\tvar j, handleObj, tmp,\n\t\t\torigCount, t, events,\n\t\t\tspecial, handlers, type,\n\t\t\tnamespaces, origType,\n\t\t\telemData = jQuery.hasData( elem ) && jQuery._data( elem );\n\n\t\tif ( !elemData || !( events = elemData.events ) ) {\n\t\t\treturn;\n\t\t}\n\n\t\t// Once for each type.namespace in types; type may be omitted\n\t\ttypes = ( types || \"\" ).match( rnotwhite ) || [ \"\" ];\n\t\tt = types.length;\n\t\twhile ( t-- ) {\n\t\t\ttmp = rtypenamespace.exec( types[ t ] ) || [];\n\t\t\ttype = origType = tmp[ 1 ];\n\t\t\tnamespaces = ( tmp[ 2 ] || \"\" ).split( \".\" ).sort();\n\n\t\t\t// Unbind all events (on this namespace, if provided) for the element\n\t\t\tif ( !type ) {\n\t\t\t\tfor ( type in events ) {\n\t\t\t\t\tjQuery.event.remove( elem, type + types[ t ], handler, selector, true );\n\t\t\t\t}\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\tspecial = jQuery.event.special[ type ] || {};\n\t\t\ttype = ( selector ? special.delegateType : special.bindType ) || type;\n\t\t\thandlers = events[ type ] || [];\n\t\t\ttmp = tmp[ 2 ] &&\n\t\t\t\tnew RegExp( \"(^|\\\\.)\" + namespaces.join( \"\\\\.(?:.*\\\\.|)\" ) + \"(\\\\.|$)\" );\n\n\t\t\t// Remove matching events\n\t\t\torigCount = j = handlers.length;\n\t\t\twhile ( j-- ) {\n\t\t\t\thandleObj = handlers[ j ];\n\n\t\t\t\tif ( ( mappedTypes || origType === handleObj.origType ) &&\n\t\t\t\t\t( !handler || handler.guid === handleObj.guid ) &&\n\t\t\t\t\t( !tmp || tmp.test( handleObj.namespace ) ) &&\n\t\t\t\t\t( !selector || selector === handleObj.selector ||\n\t\t\t\t\t\tselector === \"**\" && handleObj.selector ) ) {\n\t\t\t\t\thandlers.splice( j, 1 );\n\n\t\t\t\t\tif ( handleObj.selector ) {\n\t\t\t\t\t\thandlers.delegateCount--;\n\t\t\t\t\t}\n\t\t\t\t\tif ( special.remove ) {\n\t\t\t\t\t\tspecial.remove.call( elem, handleObj );\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Remove generic event handler if we removed something and no more handlers exist\n\t\t\t// (avoids potential for endless recursion during removal of special event handlers)\n\t\t\tif ( origCount && !handlers.length ) {\n\t\t\t\tif ( !special.teardown ||\n\t\t\t\t\tspecial.teardown.call( elem, namespaces, elemData.handle ) === false ) {\n\n\t\t\t\t\tjQuery.removeEvent( elem, type, elemData.handle );\n\t\t\t\t}\n\n\t\t\t\tdelete events[ type ];\n\t\t\t}\n\t\t}\n\n\t\t// Remove the expando if it's no longer used\n\t\tif ( jQuery.isEmptyObject( events ) ) {\n\t\t\tdelete elemData.handle;\n\n\t\t\t// removeData also checks for emptiness and clears the expando if empty\n\t\t\t// so use it instead of delete\n\t\t\tjQuery._removeData( elem, \"events\" );\n\t\t}\n\t},\n\n\ttrigger: function( event, data, elem, onlyHandlers ) {\n\t\tvar handle, ontype, cur,\n\t\t\tbubbleType, special, tmp, i,\n\t\t\teventPath = [ elem || document ],\n\t\t\ttype = hasOwn.call( event, \"type\" ) ? event.type : event,\n\t\t\tnamespaces = hasOwn.call( event, \"namespace\" ) ? event.namespace.split( \".\" ) : [];\n\n\t\tcur = tmp = elem = elem || document;\n\n\t\t// Don't do events on text and comment nodes\n\t\tif ( elem.nodeType === 3 || elem.nodeType === 8 ) {\n\t\t\treturn;\n\t\t}\n\n\t\t// focus/blur morphs to focusin/out; ensure we're not firing them right now\n\t\tif ( rfocusMorph.test( type + jQuery.event.triggered ) ) {\n\t\t\treturn;\n\t\t}\n\n\t\tif ( type.indexOf( \".\" ) > -1 ) {\n\n\t\t\t// Namespaced trigger; create a regexp to match event type in handle()\n\t\t\tnamespaces = type.split( \".\" );\n\t\t\ttype = namespaces.shift();\n\t\t\tnamespaces.sort();\n\t\t}\n\t\tontype = type.indexOf( \":\" ) < 0 && \"on\" + type;\n\n\t\t// Caller can pass in a jQuery.Event object, Object, or just an event type string\n\t\tevent = event[ jQuery.expando ] ?\n\t\t\tevent :\n\t\t\tnew jQuery.Event( type, typeof event === \"object\" && event );\n\n\t\t// Trigger bitmask: & 1 for native handlers; & 2 for jQuery (always true)\n\t\tevent.isTrigger = onlyHandlers ? 2 : 3;\n\t\tevent.namespace = namespaces.join( \".\" );\n\t\tevent.rnamespace = event.namespace ?\n\t\t\tnew RegExp( \"(^|\\\\.)\" + namespaces.join( \"\\\\.(?:.*\\\\.|)\" ) + \"(\\\\.|$)\" ) :\n\t\t\tnull;\n\n\t\t// Clean up the event in case it is being reused\n\t\tevent.result = undefined;\n\t\tif ( !event.target ) {\n\t\t\tevent.target = elem;\n\t\t}\n\n\t\t// Clone any incoming data and prepend the event, creating the handler arg list\n\t\tdata = data == null ?\n\t\t\t[ event ] :\n\t\t\tjQuery.makeArray( data, [ event ] );\n\n\t\t// Allow special events to draw outside the lines\n\t\tspecial = jQuery.event.special[ type ] || {};\n\t\tif ( !onlyHandlers && special.trigger && special.trigger.apply( elem, data ) === false ) {\n\t\t\treturn;\n\t\t}\n\n\t\t// Determine event propagation path in advance, per W3C events spec (#9951)\n\t\t// Bubble up to document, then to window; watch for a global ownerDocument var (#9724)\n\t\tif ( !onlyHandlers && !special.noBubble && !jQuery.isWindow( elem ) ) {\n\n\t\t\tbubbleType = special.delegateType || type;\n\t\t\tif ( !rfocusMorph.test( bubbleType + type ) ) {\n\t\t\t\tcur = cur.parentNode;\n\t\t\t}\n\t\t\tfor ( ; cur; cur = cur.parentNode ) {\n\t\t\t\teventPath.push( cur );\n\t\t\t\ttmp = cur;\n\t\t\t}\n\n\t\t\t// Only add window if we got to document (e.g., not plain obj or detached DOM)\n\t\t\tif ( tmp === ( elem.ownerDocument || document ) ) {\n\t\t\t\teventPath.push( tmp.defaultView || tmp.parentWindow || window );\n\t\t\t}\n\t\t}\n\n\t\t// Fire handlers on the event path\n\t\ti = 0;\n\t\twhile ( ( cur = eventPath[ i++ ] ) && !event.isPropagationStopped() ) {\n\n\t\t\tevent.type = i > 1 ?\n\t\t\t\tbubbleType :\n\t\t\t\tspecial.bindType || type;\n\n\t\t\t// jQuery handler\n\t\t\thandle = ( jQuery._data( cur, \"events\" ) || {} )[ event.type ] &&\n\t\t\t\tjQuery._data( cur, \"handle\" );\n\n\t\t\tif ( handle ) {\n\t\t\t\thandle.apply( cur, data );\n\t\t\t}\n\n\t\t\t// Native handler\n\t\t\thandle = ontype && cur[ ontype ];\n\t\t\tif ( handle && handle.apply && acceptData( cur ) ) {\n\t\t\t\tevent.result = handle.apply( cur, data );\n\t\t\t\tif ( event.result === false ) {\n\t\t\t\t\tevent.preventDefault();\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\tevent.type = type;\n\n\t\t// If nobody prevented the default action, do it now\n\t\tif ( !onlyHandlers && !event.isDefaultPrevented() ) {\n\n\t\t\tif (\n\t\t\t\t( !special._default ||\n\t\t\t\t special._default.apply( eventPath.pop(), data ) === false\n\t\t\t\t) && acceptData( elem )\n\t\t\t) {\n\n\t\t\t\t// Call a native DOM method on the target with the same name name as the event.\n\t\t\t\t// Can't use an .isFunction() check here because IE6/7 fails that test.\n\t\t\t\t// Don't do default actions on window, that's where global variables be (#6170)\n\t\t\t\tif ( ontype && elem[ type ] && !jQuery.isWindow( elem ) ) {\n\n\t\t\t\t\t// Don't re-trigger an onFOO event when we call its FOO() method\n\t\t\t\t\ttmp = elem[ ontype ];\n\n\t\t\t\t\tif ( tmp ) {\n\t\t\t\t\t\telem[ ontype ] = null;\n\t\t\t\t\t}\n\n\t\t\t\t\t// Prevent re-triggering of the same event, since we already bubbled it above\n\t\t\t\t\tjQuery.event.triggered = type;\n\t\t\t\t\ttry {\n\t\t\t\t\t\telem[ type ]();\n\t\t\t\t\t} catch ( e ) {\n\n\t\t\t\t\t\t// IE<9 dies on focus/blur to hidden element (#1486,#12518)\n\t\t\t\t\t\t// only reproducible on winXP IE8 native, not IE9 in IE8 mode\n\t\t\t\t\t}\n\t\t\t\t\tjQuery.event.triggered = undefined;\n\n\t\t\t\t\tif ( tmp ) {\n\t\t\t\t\t\telem[ ontype ] = tmp;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn event.result;\n\t},\n\n\tdispatch: function( event ) {\n\n\t\t// Make a writable jQuery.Event from the native event object\n\t\tevent = jQuery.event.fix( event );\n\n\t\tvar i, j, ret, matched, handleObj,\n\t\t\thandlerQueue = [],\n\t\t\targs = slice.call( arguments ),\n\t\t\thandlers = ( jQuery._data( this, \"events\" ) || {} )[ event.type ] || [],\n\t\t\tspecial = jQuery.event.special[ event.type ] || {};\n\n\t\t// Use the fix-ed jQuery.Event rather than the (read-only) native event\n\t\targs[ 0 ] = event;\n\t\tevent.delegateTarget = this;\n\n\t\t// Call the preDispatch hook for the mapped type, and let it bail if desired\n\t\tif ( special.preDispatch && special.preDispatch.call( this, event ) === false ) {\n\t\t\treturn;\n\t\t}\n\n\t\t// Determine handlers\n\t\thandlerQueue = jQuery.event.handlers.call( this, event, handlers );\n\n\t\t// Run delegates first; they may want to stop propagation beneath us\n\t\ti = 0;\n\t\twhile ( ( matched = handlerQueue[ i++ ] ) && !event.isPropagationStopped() ) {\n\t\t\tevent.currentTarget = matched.elem;\n\n\t\t\tj = 0;\n\t\t\twhile ( ( handleObj = matched.handlers[ j++ ] ) &&\n\t\t\t\t!event.isImmediatePropagationStopped() ) {\n\n\t\t\t\t// Triggered event must either 1) have no namespace, or 2) have namespace(s)\n\t\t\t\t// a subset or equal to those in the bound event (both can have no namespace).\n\t\t\t\tif ( !event.rnamespace || event.rnamespace.test( handleObj.namespace ) ) {\n\n\t\t\t\t\tevent.handleObj = handleObj;\n\t\t\t\t\tevent.data = handleObj.data;\n\n\t\t\t\t\tret = ( ( jQuery.event.special[ handleObj.origType ] || {} ).handle ||\n\t\t\t\t\t\thandleObj.handler ).apply( matched.elem, args );\n\n\t\t\t\t\tif ( ret !== undefined ) {\n\t\t\t\t\t\tif ( ( event.result = ret ) === false ) {\n\t\t\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\t\t\tevent.stopPropagation();\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t// Call the postDispatch hook for the mapped type\n\t\tif ( special.postDispatch ) {\n\t\t\tspecial.postDispatch.call( this, event );\n\t\t}\n\n\t\treturn event.result;\n\t},\n\n\thandlers: function( event, handlers ) {\n\t\tvar i, matches, sel, handleObj,\n\t\t\thandlerQueue = [],\n\t\t\tdelegateCount = handlers.delegateCount,\n\t\t\tcur = event.target;\n\n\t\t// Support (at least): Chrome, IE9\n\t\t// Find delegate handlers\n\t\t// Black-hole SVG <use> instance trees (#13180)\n\t\t//\n\t\t// Support: Firefox<=42+\n\t\t// Avoid non-left-click in FF but don't block IE radio events (#3861, gh-2343)\n\t\tif ( delegateCount && cur.nodeType &&\n\t\t\t( event.type !== \"click\" || isNaN( event.button ) || event.button < 1 ) ) {\n\n\t\t\t/* jshint eqeqeq: false */\n\t\t\tfor ( ; cur != this; cur = cur.parentNode || this ) {\n\t\t\t\t/* jshint eqeqeq: true */\n\n\t\t\t\t// Don't check non-elements (#13208)\n\t\t\t\t// Don't process clicks on disabled elements (#6911, #8165, #11382, #11764)\n\t\t\t\tif ( cur.nodeType === 1 && ( cur.disabled !== true || event.type !== \"click\" ) ) {\n\t\t\t\t\tmatches = [];\n\t\t\t\t\tfor ( i = 0; i < delegateCount; i++ ) {\n\t\t\t\t\t\thandleObj = handlers[ i ];\n\n\t\t\t\t\t\t// Don't conflict with Object.prototype properties (#13203)\n\t\t\t\t\t\tsel = handleObj.selector + \" \";\n\n\t\t\t\t\t\tif ( matches[ sel ] === undefined ) {\n\t\t\t\t\t\t\tmatches[ sel ] = handleObj.needsContext ?\n\t\t\t\t\t\t\t\tjQuery( sel, this ).index( cur ) > -1 :\n\t\t\t\t\t\t\t\tjQuery.find( sel, this, null, [ cur ] ).length;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif ( matches[ sel ] ) {\n\t\t\t\t\t\t\tmatches.push( handleObj );\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tif ( matches.length ) {\n\t\t\t\t\t\thandlerQueue.push( { elem: cur, handlers: matches } );\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t// Add the remaining (directly-bound) handlers\n\t\tif ( delegateCount < handlers.length ) {\n\t\t\thandlerQueue.push( { elem: this, handlers: handlers.slice( delegateCount ) } );\n\t\t}\n\n\t\treturn handlerQueue;\n\t},\n\n\tfix: function( event ) {\n\t\tif ( event[ jQuery.expando ] ) {\n\t\t\treturn event;\n\t\t}\n\n\t\t// Create a writable copy of the event object and normalize some properties\n\t\tvar i, prop, copy,\n\t\t\ttype = event.type,\n\t\t\toriginalEvent = event,\n\t\t\tfixHook = this.fixHooks[ type ];\n\n\t\tif ( !fixHook ) {\n\t\t\tthis.fixHooks[ type ] = fixHook =\n\t\t\t\trmouseEvent.test( type ) ? this.mouseHooks :\n\t\t\t\trkeyEvent.test( type ) ? this.keyHooks :\n\t\t\t\t{};\n\t\t}\n\t\tcopy = fixHook.props ? this.props.concat( fixHook.props ) : this.props;\n\n\t\tevent = new jQuery.Event( originalEvent );\n\n\t\ti = copy.length;\n\t\twhile ( i-- ) {\n\t\t\tprop = copy[ i ];\n\t\t\tevent[ prop ] = originalEvent[ prop ];\n\t\t}\n\n\t\t// Support: IE<9\n\t\t// Fix target property (#1925)\n\t\tif ( !event.target ) {\n\t\t\tevent.target = originalEvent.srcElement || document;\n\t\t}\n\n\t\t// Support: Safari 6-8+\n\t\t// Target should not be a text node (#504, #13143)\n\t\tif ( event.target.nodeType === 3 ) {\n\t\t\tevent.target = event.target.parentNode;\n\t\t}\n\n\t\t// Support: IE<9\n\t\t// For mouse/key events, metaKey==false if it's undefined (#3368, #11328)\n\t\tevent.metaKey = !!event.metaKey;\n\n\t\treturn fixHook.filter ? fixHook.filter( event, originalEvent ) : event;\n\t},\n\n\t// Includes some event props shared by KeyEvent and MouseEvent\n\tprops: ( \"altKey bubbles cancelable ctrlKey currentTarget detail eventPhase \" +\n\t\t\"metaKey relatedTarget shiftKey target timeStamp view which\" ).split( \" \" ),\n\n\tfixHooks: {},\n\n\tkeyHooks: {\n\t\tprops: \"char charCode key keyCode\".split( \" \" ),\n\t\tfilter: function( event, original ) {\n\n\t\t\t// Add which for key events\n\t\t\tif ( event.which == null ) {\n\t\t\t\tevent.which = original.charCode != null ? original.charCode : original.keyCode;\n\t\t\t}\n\n\t\t\treturn event;\n\t\t}\n\t},\n\n\tmouseHooks: {\n\t\tprops: ( \"button buttons clientX clientY fromElement offsetX offsetY \" +\n\t\t\t\"pageX pageY screenX screenY toElement\" ).split( \" \" ),\n\t\tfilter: function( event, original ) {\n\t\t\tvar body, eventDoc, doc,\n\t\t\t\tbutton = original.button,\n\t\t\t\tfromElement = original.fromElement;\n\n\t\t\t// Calculate pageX/Y if missing and clientX/Y available\n\t\t\tif ( event.pageX == null && original.clientX != null ) {\n\t\t\t\teventDoc = event.target.ownerDocument || document;\n\t\t\t\tdoc = eventDoc.documentElement;\n\t\t\t\tbody = eventDoc.body;\n\n\t\t\t\tevent.pageX = original.clientX +\n\t\t\t\t\t( doc && doc.scrollLeft || body && body.scrollLeft || 0 ) -\n\t\t\t\t\t( doc && doc.clientLeft || body && body.clientLeft || 0 );\n\t\t\t\tevent.pageY = original.clientY +\n\t\t\t\t\t( doc && doc.scrollTop || body && body.scrollTop || 0 ) -\n\t\t\t\t\t( doc && doc.clientTop || body && body.clientTop || 0 );\n\t\t\t}\n\n\t\t\t// Add relatedTarget, if necessary\n\t\t\tif ( !event.relatedTarget && fromElement ) {\n\t\t\t\tevent.relatedTarget = fromElement === event.target ?\n\t\t\t\t\toriginal.toElement :\n\t\t\t\t\tfromElement;\n\t\t\t}\n\n\t\t\t// Add which for click: 1 === left; 2 === middle; 3 === right\n\t\t\t// Note: button is not normalized, so don't use it\n\t\t\tif ( !event.which && button !== undefined ) {\n\t\t\t\tevent.which = ( button & 1 ? 1 : ( button & 2 ? 3 : ( button & 4 ? 2 : 0 ) ) );\n\t\t\t}\n\n\t\t\treturn event;\n\t\t}\n\t},\n\n\tspecial: {\n\t\tload: {\n\n\t\t\t// Prevent triggered image.load events from bubbling to window.load\n\t\t\tnoBubble: true\n\t\t},\n\t\tfocus: {\n\n\t\t\t// Fire native event if possible so blur/focus sequence is correct\n\t\t\ttrigger: function() {\n\t\t\t\tif ( this !== safeActiveElement() && this.focus ) {\n\t\t\t\t\ttry {\n\t\t\t\t\t\tthis.focus();\n\t\t\t\t\t\treturn false;\n\t\t\t\t\t} catch ( e ) {\n\n\t\t\t\t\t\t// Support: IE<9\n\t\t\t\t\t\t// If we error on focus to hidden element (#1486, #12518),\n\t\t\t\t\t\t// let .trigger() run the handlers\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t},\n\t\t\tdelegateType: \"focusin\"\n\t\t},\n\t\tblur: {\n\t\t\ttrigger: function() {\n\t\t\t\tif ( this === safeActiveElement() && this.blur ) {\n\t\t\t\t\tthis.blur();\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\t\t\t},\n\t\t\tdelegateType: \"focusout\"\n\t\t},\n\t\tclick: {\n\n\t\t\t// For checkbox, fire native event so checked state will be right\n\t\t\ttrigger: function() {\n\t\t\t\tif ( jQuery.nodeName( this, \"input\" ) && this.type === \"checkbox\" && this.click ) {\n\t\t\t\t\tthis.click();\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\t\t\t},\n\n\t\t\t// For cross-browser consistency, don't fire native .click() on links\n\t\t\t_default: function( event ) {\n\t\t\t\treturn jQuery.nodeName( event.target, \"a\" );\n\t\t\t}\n\t\t},\n\n\t\tbeforeunload: {\n\t\t\tpostDispatch: function( event ) {\n\n\t\t\t\t// Support: Firefox 20+\n\t\t\t\t// Firefox doesn't alert if the returnValue field is not set.\n\t\t\t\tif ( event.result !== undefined && event.originalEvent ) {\n\t\t\t\t\tevent.originalEvent.returnValue = event.result;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t},\n\n\t// Piggyback on a donor event to simulate a different one\n\tsimulate: function( type, elem, event ) {\n\t\tvar e = jQuery.extend(\n\t\t\tnew jQuery.Event(),\n\t\t\tevent,\n\t\t\t{\n\t\t\t\ttype: type,\n\t\t\t\tisSimulated: true\n\n\t\t\t\t// Previously, `originalEvent: {}` was set here, so stopPropagation call\n\t\t\t\t// would not be triggered on donor event, since in our own\n\t\t\t\t// jQuery.event.stopPropagation function we had a check for existence of\n\t\t\t\t// originalEvent.stopPropagation method, so, consequently it would be a noop.\n\t\t\t\t//\n\t\t\t\t// Guard for simulated events was moved to jQuery.event.stopPropagation function\n\t\t\t\t// since `originalEvent` should point to the original event for the\n\t\t\t\t// constancy with other events and for more focused logic\n\t\t\t}\n\t\t);\n\n\t\tjQuery.event.trigger( e, null, elem );\n\n\t\tif ( e.isDefaultPrevented() ) {\n\t\t\tevent.preventDefault();\n\t\t}\n\t}\n};\n\njQuery.removeEvent = document.removeEventListener ?\n\tfunction( elem, type, handle ) {\n\n\t\t// This \"if\" is needed for plain objects\n\t\tif ( elem.removeEventListener ) {\n\t\t\telem.removeEventListener( type, handle );\n\t\t}\n\t} :\n\tfunction( elem, type, handle ) {\n\t\tvar name = \"on\" + type;\n\n\t\tif ( elem.detachEvent ) {\n\n\t\t\t// #8545, #7054, preventing memory leaks for custom events in IE6-8\n\t\t\t// detachEvent needed property on element, by name of that event,\n\t\t\t// to properly expose it to GC\n\t\t\tif ( typeof elem[ name ] === \"undefined\" ) {\n\t\t\t\telem[ name ] = null;\n\t\t\t}\n\n\t\t\telem.detachEvent( name, handle );\n\t\t}\n\t};\n\njQuery.Event = function( src, props ) {\n\n\t// Allow instantiation without the 'new' keyword\n\tif ( !( this instanceof jQuery.Event ) ) {\n\t\treturn new jQuery.Event( src, props );\n\t}\n\n\t// Event object\n\tif ( src && src.type ) {\n\t\tthis.originalEvent = src;\n\t\tthis.type = src.type;\n\n\t\t// Events bubbling up the document may have been marked as prevented\n\t\t// by a handler lower down the tree; reflect the correct value.\n\t\tthis.isDefaultPrevented = src.defaultPrevented ||\n\t\t\t\tsrc.defaultPrevented === undefined &&\n\n\t\t\t\t// Support: IE < 9, Android < 4.0\n\t\t\t\tsrc.returnValue === false ?\n\t\t\treturnTrue :\n\t\t\treturnFalse;\n\n\t// Event type\n\t} else {\n\t\tthis.type = src;\n\t}\n\n\t// Put explicitly provided properties onto the event object\n\tif ( props ) {\n\t\tjQuery.extend( this, props );\n\t}\n\n\t// Create a timestamp if incoming event doesn't have one\n\tthis.timeStamp = src && src.timeStamp || jQuery.now();\n\n\t// Mark it as fixed\n\tthis[ jQuery.expando ] = true;\n};\n\n// jQuery.Event is based on DOM3 Events as specified by the ECMAScript Language Binding\n// http://www.w3.org/TR/2003/WD-DOM-Level-3-Events-20030331/ecma-script-binding.html\njQuery.Event.prototype = {\n\tconstructor: jQuery.Event,\n\tisDefaultPrevented: returnFalse,\n\tisPropagationStopped: returnFalse,\n\tisImmediatePropagationStopped: returnFalse,\n\n\tpreventDefault: function() {\n\t\tvar e = this.originalEvent;\n\n\t\tthis.isDefaultPrevented = returnTrue;\n\t\tif ( !e ) {\n\t\t\treturn;\n\t\t}\n\n\t\t// If preventDefault exists, run it on the original event\n\t\tif ( e.preventDefault ) {\n\t\t\te.preventDefault();\n\n\t\t// Support: IE\n\t\t// Otherwise set the returnValue property of the original event to false\n\t\t} else {\n\t\t\te.returnValue = false;\n\t\t}\n\t},\n\tstopPropagation: function() {\n\t\tvar e = this.originalEvent;\n\n\t\tthis.isPropagationStopped = returnTrue;\n\n\t\tif ( !e || this.isSimulated ) {\n\t\t\treturn;\n\t\t}\n\n\t\t// If stopPropagation exists, run it on the original event\n\t\tif ( e.stopPropagation ) {\n\t\t\te.stopPropagation();\n\t\t}\n\n\t\t// Support: IE\n\t\t// Set the cancelBubble property of the original event to true\n\t\te.cancelBubble = true;\n\t},\n\tstopImmediatePropagation: function() {\n\t\tvar e = this.originalEvent;\n\n\t\tthis.isImmediatePropagationStopped = returnTrue;\n\n\t\tif ( e && e.stopImmediatePropagation ) {\n\t\t\te.stopImmediatePropagation();\n\t\t}\n\n\t\tthis.stopPropagation();\n\t}\n};\n\n// Create mouseenter/leave events using mouseover/out and event-time checks\n// so that event delegation works in jQuery.\n// Do the same for pointerenter/pointerleave and pointerover/pointerout\n//\n// Support: Safari 7 only\n// Safari sends mouseenter too often; see:\n// https://code.google.com/p/chromium/issues/detail?id=470258\n// for the description of the bug (it existed in older Chrome versions as well).\njQuery.each( {\n\tmouseenter: \"mouseover\",\n\tmouseleave: \"mouseout\",\n\tpointerenter: \"pointerover\",\n\tpointerleave: \"pointerout\"\n}, function( orig, fix ) {\n\tjQuery.event.special[ orig ] = {\n\t\tdelegateType: fix,\n\t\tbindType: fix,\n\n\t\thandle: function( event ) {\n\t\t\tvar ret,\n\t\t\t\ttarget = this,\n\t\t\t\trelated = event.relatedTarget,\n\t\t\t\thandleObj = event.handleObj;\n\n\t\t\t// For mouseenter/leave call the handler if related is outside the target.\n\t\t\t// NB: No relatedTarget if the mouse left/entered the browser window\n\t\t\tif ( !related || ( related !== target && !jQuery.contains( target, related ) ) ) {\n\t\t\t\tevent.type = handleObj.origType;\n\t\t\t\tret = handleObj.handler.apply( this, arguments );\n\t\t\t\tevent.type = fix;\n\t\t\t}\n\t\t\treturn ret;\n\t\t}\n\t};\n} );\n\n// IE submit delegation\nif ( !support.submit ) {\n\n\tjQuery.event.special.submit = {\n\t\tsetup: function() {\n\n\t\t\t// Only need this for delegated form submit events\n\t\t\tif ( jQuery.nodeName( this, \"form\" ) ) {\n\t\t\t\treturn false;\n\t\t\t}\n\n\t\t\t// Lazy-add a submit handler when a descendant form may potentially be submitted\n\t\t\tjQuery.event.add( this, \"click._submit keypress._submit\", function( e ) {\n\n\t\t\t\t// Node name check avoids a VML-related crash in IE (#9807)\n\t\t\t\tvar elem = e.target,\n\t\t\t\t\tform = jQuery.nodeName( elem, \"input\" ) || jQuery.nodeName( elem, \"button\" ) ?\n\n\t\t\t\t\t\t// Support: IE <=8\n\t\t\t\t\t\t// We use jQuery.prop instead of elem.form\n\t\t\t\t\t\t// to allow fixing the IE8 delegated submit issue (gh-2332)\n\t\t\t\t\t\t// by 3rd party polyfills/workarounds.\n\t\t\t\t\t\tjQuery.prop( elem, \"form\" ) :\n\t\t\t\t\t\tundefined;\n\n\t\t\t\tif ( form && !jQuery._data( form, \"submit\" ) ) {\n\t\t\t\t\tjQuery.event.add( form, \"submit._submit\", function( event ) {\n\t\t\t\t\t\tevent._submitBubble = true;\n\t\t\t\t\t} );\n\t\t\t\t\tjQuery._data( form, \"submit\", true );\n\t\t\t\t}\n\t\t\t} );\n\n\t\t\t// return undefined since we don't need an event listener\n\t\t},\n\n\t\tpostDispatch: function( event ) {\n\n\t\t\t// If form was submitted by the user, bubble the event up the tree\n\t\t\tif ( event._submitBubble ) {\n\t\t\t\tdelete event._submitBubble;\n\t\t\t\tif ( this.parentNode && !event.isTrigger ) {\n\t\t\t\t\tjQuery.event.simulate( \"submit\", this.parentNode, event );\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\n\t\tteardown: function() {\n\n\t\t\t// Only need this for delegated form submit events\n\t\t\tif ( jQuery.nodeName( this, \"form\" ) ) {\n\t\t\t\treturn false;\n\t\t\t}\n\n\t\t\t// Remove delegated handlers; cleanData eventually reaps submit handlers attached above\n\t\t\tjQuery.event.remove( this, \"._submit\" );\n\t\t}\n\t};\n}\n\n// IE change delegation and checkbox/radio fix\nif ( !support.change ) {\n\n\tjQuery.event.special.change = {\n\n\t\tsetup: function() {\n\n\t\t\tif ( rformElems.test( this.nodeName ) ) {\n\n\t\t\t\t// IE doesn't fire change on a check/radio until blur; trigger it on click\n\t\t\t\t// after a propertychange. Eat the blur-change in special.change.handle.\n\t\t\t\t// This still fires onchange a second time for check/radio after blur.\n\t\t\t\tif ( this.type === \"checkbox\" || this.type === \"radio\" ) {\n\t\t\t\t\tjQuery.event.add( this, \"propertychange._change\", function( event ) {\n\t\t\t\t\t\tif ( event.originalEvent.propertyName === \"checked\" ) {\n\t\t\t\t\t\t\tthis._justChanged = true;\n\t\t\t\t\t\t}\n\t\t\t\t\t} );\n\t\t\t\t\tjQuery.event.add( this, \"click._change\", function( event ) {\n\t\t\t\t\t\tif ( this._justChanged && !event.isTrigger ) {\n\t\t\t\t\t\t\tthis._justChanged = false;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t// Allow triggered, simulated change events (#11500)\n\t\t\t\t\t\tjQuery.event.simulate( \"change\", this, event );\n\t\t\t\t\t} );\n\t\t\t\t}\n\t\t\t\treturn false;\n\t\t\t}\n\n\t\t\t// Delegated event; lazy-add a change handler on descendant inputs\n\t\t\tjQuery.event.add( this, \"beforeactivate._change\", function( e ) {\n\t\t\t\tvar elem = e.target;\n\n\t\t\t\tif ( rformElems.test( elem.nodeName ) && !jQuery._data( elem, \"change\" ) ) {\n\t\t\t\t\tjQuery.event.add( elem, \"change._change\", function( event ) {\n\t\t\t\t\t\tif ( this.parentNode && !event.isSimulated && !event.isTrigger ) {\n\t\t\t\t\t\t\tjQuery.event.simulate( \"change\", this.parentNode, event );\n\t\t\t\t\t\t}\n\t\t\t\t\t} );\n\t\t\t\t\tjQuery._data( elem, \"change\", true );\n\t\t\t\t}\n\t\t\t} );\n\t\t},\n\n\t\thandle: function( event ) {\n\t\t\tvar elem = event.target;\n\n\t\t\t// Swallow native change events from checkbox/radio, we already triggered them above\n\t\t\tif ( this !== elem || event.isSimulated || event.isTrigger ||\n\t\t\t\t( elem.type !== \"radio\" && elem.type !== \"checkbox\" ) ) {\n\n\t\t\t\treturn event.handleObj.handler.apply( this, arguments );\n\t\t\t}\n\t\t},\n\n\t\tteardown: function() {\n\t\t\tjQuery.event.remove( this, \"._change\" );\n\n\t\t\treturn !rformElems.test( this.nodeName );\n\t\t}\n\t};\n}\n\n// Support: Firefox\n// Firefox doesn't have focus(in | out) events\n// Related ticket - https://bugzilla.mozilla.org/show_bug.cgi?id=687787\n//\n// Support: Chrome, Safari\n// focus(in | out) events fire after focus & blur events,\n// which is spec violation - http://www.w3.org/TR/DOM-Level-3-Events/#events-focusevent-event-order\n// Related ticket - https://code.google.com/p/chromium/issues/detail?id=449857\nif ( !support.focusin ) {\n\tjQuery.each( { focus: \"focusin\", blur: \"focusout\" }, function( orig, fix ) {\n\n\t\t// Attach a single capturing handler on the document while someone wants focusin/focusout\n\t\tvar handler = function( event ) {\n\t\t\tjQuery.event.simulate( fix, event.target, jQuery.event.fix( event ) );\n\t\t};\n\n\t\tjQuery.event.special[ fix ] = {\n\t\t\tsetup: function() {\n\t\t\t\tvar doc = this.ownerDocument || this,\n\t\t\t\t\tattaches = jQuery._data( doc, fix );\n\n\t\t\t\tif ( !attaches ) {\n\t\t\t\t\tdoc.addEventListener( orig, handler, true );\n\t\t\t\t}\n\t\t\t\tjQuery._data( doc, fix, ( attaches || 0 ) + 1 );\n\t\t\t},\n\t\t\tteardown: function() {\n\t\t\t\tvar doc = this.ownerDocument || this,\n\t\t\t\t\tattaches = jQuery._data( doc, fix ) - 1;\n\n\t\t\t\tif ( !attaches ) {\n\t\t\t\t\tdoc.removeEventListener( orig, handler, true );\n\t\t\t\t\tjQuery._removeData( doc, fix );\n\t\t\t\t} else {\n\t\t\t\t\tjQuery._data( doc, fix, attaches );\n\t\t\t\t}\n\t\t\t}\n\t\t};\n\t} );\n}\n\njQuery.fn.extend( {\n\n\ton: function( types, selector, data, fn ) {\n\t\treturn on( this, types, selector, data, fn );\n\t},\n\tone: function( types, selector, data, fn ) {\n\t\treturn on( this, types, selector, data, fn, 1 );\n\t},\n\toff: function( types, selector, fn ) {\n\t\tvar handleObj, type;\n\t\tif ( types && types.preventDefault && types.handleObj ) {\n\n\t\t\t// ( event ) dispatched jQuery.Event\n\t\t\thandleObj = types.handleObj;\n\t\t\tjQuery( types.delegateTarget ).off(\n\t\t\t\thandleObj.namespace ?\n\t\t\t\t\thandleObj.origType + \".\" + handleObj.namespace :\n\t\t\t\t\thandleObj.origType,\n\t\t\t\thandleObj.selector,\n\t\t\t\thandleObj.handler\n\t\t\t);\n\t\t\treturn this;\n\t\t}\n\t\tif ( typeof types === \"object\" ) {\n\n\t\t\t// ( types-object [, selector] )\n\t\t\tfor ( type in types ) {\n\t\t\t\tthis.off( type, selector, types[ type ] );\n\t\t\t}\n\t\t\treturn this;\n\t\t}\n\t\tif ( selector === false || typeof selector === \"function\" ) {\n\n\t\t\t// ( types [, fn] )\n\t\t\tfn = selector;\n\t\t\tselector = undefined;\n\t\t}\n\t\tif ( fn === false ) {\n\t\t\tfn = returnFalse;\n\t\t}\n\t\treturn this.each( function() {\n\t\t\tjQuery.event.remove( this, types, fn, selector );\n\t\t} );\n\t},\n\n\ttrigger: function( type, data ) {\n\t\treturn this.each( function() {\n\t\t\tjQuery.event.trigger( type, data, this );\n\t\t} );\n\t},\n\ttriggerHandler: function( type, data ) {\n\t\tvar elem = this[ 0 ];\n\t\tif ( elem ) {\n\t\t\treturn jQuery.event.trigger( type, data, elem, true );\n\t\t}\n\t}\n} );\n\n\nvar rinlinejQuery = / jQuery\\d+=\"(?:null|\\d+)\"/g,\n\trnoshimcache = new RegExp( \"<(?:\" + nodeNames + \")[\\\\s/>]\", \"i\" ),\n\trxhtmlTag = /<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\\w:-]+)[^>]*)\\/>/gi,\n\n\t// Support: IE 10-11, Edge 10240+\n\t// In IE/Edge using regex groups here causes severe slowdowns.\n\t// See https://connect.microsoft.com/IE/feedback/details/1736512/\n\trnoInnerhtml = /<script|<style|<link/i,\n\n\t// checked=\"checked\" or checked\n\trchecked = /checked\\s*(?:[^=]|=\\s*.checked.)/i,\n\trscriptTypeMasked = /^true\\/(.*)/,\n\trcleanScript = /^\\s*<!(?:\\[CDATA\\[|--)|(?:\\]\\]|--)>\\s*$/g,\n\tsafeFragment = createSafeFragment( document ),\n\tfragmentDiv = safeFragment.appendChild( document.createElement( \"div\" ) );\n\n// Support: IE<8\n// Manipulating tables requires a tbody\nfunction manipulationTarget( elem, content ) {\n\treturn jQuery.nodeName( elem, \"table\" ) &&\n\t\tjQuery.nodeName( content.nodeType !== 11 ? content : content.firstChild, \"tr\" ) ?\n\n\t\telem.getElementsByTagName( \"tbody\" )[ 0 ] ||\n\t\t\telem.appendChild( elem.ownerDocument.createElement( \"tbody\" ) ) :\n\t\telem;\n}\n\n// Replace/restore the type attribute of script elements for safe DOM manipulation\nfunction disableScript( elem ) {\n\telem.type = ( jQuery.find.attr( elem, \"type\" ) !== null ) + \"/\" + elem.type;\n\treturn elem;\n}\nfunction restoreScript( elem ) {\n\tvar match = rscriptTypeMasked.exec( elem.type );\n\tif ( match ) {\n\t\telem.type = match[ 1 ];\n\t} else {\n\t\telem.removeAttribute( \"type\" );\n\t}\n\treturn elem;\n}\n\nfunction cloneCopyEvent( src, dest ) {\n\tif ( dest.nodeType !== 1 || !jQuery.hasData( src ) ) {\n\t\treturn;\n\t}\n\n\tvar type, i, l,\n\t\toldData = jQuery._data( src ),\n\t\tcurData = jQuery._data( dest, oldData ),\n\t\tevents = oldData.events;\n\n\tif ( events ) {\n\t\tdelete curData.handle;\n\t\tcurData.events = {};\n\n\t\tfor ( type in events ) {\n\t\t\tfor ( i = 0, l = events[ type ].length; i < l; i++ ) {\n\t\t\t\tjQuery.event.add( dest, type, events[ type ][ i ] );\n\t\t\t}\n\t\t}\n\t}\n\n\t// make the cloned public data object a copy from the original\n\tif ( curData.data ) {\n\t\tcurData.data = jQuery.extend( {}, curData.data );\n\t}\n}\n\nfunction fixCloneNodeIssues( src, dest ) {\n\tvar nodeName, e, data;\n\n\t// We do not need to do anything for non-Elements\n\tif ( dest.nodeType !== 1 ) {\n\t\treturn;\n\t}\n\n\tnodeName = dest.nodeName.toLowerCase();\n\n\t// IE6-8 copies events bound via attachEvent when using cloneNode.\n\tif ( !support.noCloneEvent && dest[ jQuery.expando ] ) {\n\t\tdata = jQuery._data( dest );\n\n\t\tfor ( e in data.events ) {\n\t\t\tjQuery.removeEvent( dest, e, data.handle );\n\t\t}\n\n\t\t// Event data gets referenced instead of copied if the expando gets copied too\n\t\tdest.removeAttribute( jQuery.expando );\n\t}\n\n\t// IE blanks contents when cloning scripts, and tries to evaluate newly-set text\n\tif ( nodeName === \"script\" && dest.text !== src.text ) {\n\t\tdisableScript( dest ).text = src.text;\n\t\trestoreScript( dest );\n\n\t// IE6-10 improperly clones children of object elements using classid.\n\t// IE10 throws NoModificationAllowedError if parent is null, #12132.\n\t} else if ( nodeName === \"object\" ) {\n\t\tif ( dest.parentNode ) {\n\t\t\tdest.outerHTML = src.outerHTML;\n\t\t}\n\n\t\t// This path appears unavoidable for IE9. When cloning an object\n\t\t// element in IE9, the outerHTML strategy above is not sufficient.\n\t\t// If the src has innerHTML and the destination does not,\n\t\t// copy the src.innerHTML into the dest.innerHTML. #10324\n\t\tif ( support.html5Clone && ( src.innerHTML && !jQuery.trim( dest.innerHTML ) ) ) {\n\t\t\tdest.innerHTML = src.innerHTML;\n\t\t}\n\n\t} else if ( nodeName === \"input\" && rcheckableType.test( src.type ) ) {\n\n\t\t// IE6-8 fails to persist the checked state of a cloned checkbox\n\t\t// or radio button. Worse, IE6-7 fail to give the cloned element\n\t\t// a checked appearance if the defaultChecked value isn't also set\n\n\t\tdest.defaultChecked = dest.checked = src.checked;\n\n\t\t// IE6-7 get confused and end up setting the value of a cloned\n\t\t// checkbox/radio button to an empty string instead of \"on\"\n\t\tif ( dest.value !== src.value ) {\n\t\t\tdest.value = src.value;\n\t\t}\n\n\t// IE6-8 fails to return the selected option to the default selected\n\t// state when cloning options\n\t} else if ( nodeName === \"option\" ) {\n\t\tdest.defaultSelected = dest.selected = src.defaultSelected;\n\n\t// IE6-8 fails to set the defaultValue to the correct value when\n\t// cloning other types of input fields\n\t} else if ( nodeName === \"input\" || nodeName === \"textarea\" ) {\n\t\tdest.defaultValue = src.defaultValue;\n\t}\n}\n\nfunction domManip( collection, args, callback, ignored ) {\n\n\t// Flatten any nested arrays\n\targs = concat.apply( [], args );\n\n\tvar first, node, hasScripts,\n\t\tscripts, doc, fragment,\n\t\ti = 0,\n\t\tl = collection.length,\n\t\tiNoClone = l - 1,\n\t\tvalue = args[ 0 ],\n\t\tisFunction = jQuery.isFunction( value );\n\n\t// We can't cloneNode fragments that contain checked, in WebKit\n\tif ( isFunction ||\n\t\t\t( l > 1 && typeof value === \"string\" &&\n\t\t\t\t!support.checkClone && rchecked.test( value ) ) ) {\n\t\treturn collection.each( function( index ) {\n\t\t\tvar self = collection.eq( index );\n\t\t\tif ( isFunction ) {\n\t\t\t\targs[ 0 ] = value.call( this, index, self.html() );\n\t\t\t}\n\t\t\tdomManip( self, args, callback, ignored );\n\t\t} );\n\t}\n\n\tif ( l ) {\n\t\tfragment = buildFragment( args, collection[ 0 ].ownerDocument, false, collection, ignored );\n\t\tfirst = fragment.firstChild;\n\n\t\tif ( fragment.childNodes.length === 1 ) {\n\t\t\tfragment = first;\n\t\t}\n\n\t\t// Require either new content or an interest in ignored elements to invoke the callback\n\t\tif ( first || ignored ) {\n\t\t\tscripts = jQuery.map( getAll( fragment, \"script\" ), disableScript );\n\t\t\thasScripts = scripts.length;\n\n\t\t\t// Use the original fragment for the last item\n\t\t\t// instead of the first because it can end up\n\t\t\t// being emptied incorrectly in certain situations (#8070).\n\t\t\tfor ( ; i < l; i++ ) {\n\t\t\t\tnode = fragment;\n\n\t\t\t\tif ( i !== iNoClone ) {\n\t\t\t\t\tnode = jQuery.clone( node, true, true );\n\n\t\t\t\t\t// Keep references to cloned scripts for later restoration\n\t\t\t\t\tif ( hasScripts ) {\n\n\t\t\t\t\t\t// Support: Android<4.1, PhantomJS<2\n\t\t\t\t\t\t// push.apply(_, arraylike) throws on ancient WebKit\n\t\t\t\t\t\tjQuery.merge( scripts, getAll( node, \"script\" ) );\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tcallback.call( collection[ i ], node, i );\n\t\t\t}\n\n\t\t\tif ( hasScripts ) {\n\t\t\t\tdoc = scripts[ scripts.length - 1 ].ownerDocument;\n\n\t\t\t\t// Reenable scripts\n\t\t\t\tjQuery.map( scripts, restoreScript );\n\n\t\t\t\t// Evaluate executable scripts on first document insertion\n\t\t\t\tfor ( i = 0; i < hasScripts; i++ ) {\n\t\t\t\t\tnode = scripts[ i ];\n\t\t\t\t\tif ( rscriptType.test( node.type || \"\" ) &&\n\t\t\t\t\t\t!jQuery._data( node, \"globalEval\" ) &&\n\t\t\t\t\t\tjQuery.contains( doc, node ) ) {\n\n\t\t\t\t\t\tif ( node.src ) {\n\n\t\t\t\t\t\t\t// Optional AJAX dependency, but won't run scripts if not present\n\t\t\t\t\t\t\tif ( jQuery._evalUrl ) {\n\t\t\t\t\t\t\t\tjQuery._evalUrl( node.src );\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tjQuery.globalEval(\n\t\t\t\t\t\t\t\t( node.text || node.textContent || node.innerHTML || \"\" )\n\t\t\t\t\t\t\t\t\t.replace( rcleanScript, \"\" )\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Fix #11809: Avoid leaking memory\n\t\t\tfragment = first = null;\n\t\t}\n\t}\n\n\treturn collection;\n}\n\nfunction remove( elem, selector, keepData ) {\n\tvar node,\n\t\telems = selector ? jQuery.filter( selector, elem ) : elem,\n\t\ti = 0;\n\n\tfor ( ; ( node = elems[ i ] ) != null; i++ ) {\n\n\t\tif ( !keepData && node.nodeType === 1 ) {\n\t\t\tjQuery.cleanData( getAll( node ) );\n\t\t}\n\n\t\tif ( node.parentNode ) {\n\t\t\tif ( keepData && jQuery.contains( node.ownerDocument, node ) ) {\n\t\t\t\tsetGlobalEval( getAll( node, \"script\" ) );\n\t\t\t}\n\t\t\tnode.parentNode.removeChild( node );\n\t\t}\n\t}\n\n\treturn elem;\n}\n\njQuery.extend( {\n\thtmlPrefilter: function( html ) {\n\t\treturn html.replace( rxhtmlTag, \"<$1></$2>\" );\n\t},\n\n\tclone: function( elem, dataAndEvents, deepDataAndEvents ) {\n\t\tvar destElements, node, clone, i, srcElements,\n\t\t\tinPage = jQuery.contains( elem.ownerDocument, elem );\n\n\t\tif ( support.html5Clone || jQuery.isXMLDoc( elem ) ||\n\t\t\t!rnoshimcache.test( \"<\" + elem.nodeName + \">\" ) ) {\n\n\t\t\tclone = elem.cloneNode( true );\n\n\t\t// IE<=8 does not properly clone detached, unknown element nodes\n\t\t} else {\n\t\t\tfragmentDiv.innerHTML = elem.outerHTML;\n\t\t\tfragmentDiv.removeChild( clone = fragmentDiv.firstChild );\n\t\t}\n\n\t\tif ( ( !support.noCloneEvent || !support.noCloneChecked ) &&\n\t\t\t\t( elem.nodeType === 1 || elem.nodeType === 11 ) && !jQuery.isXMLDoc( elem ) ) {\n\n\t\t\t// We eschew Sizzle here for performance reasons: http://jsperf.com/getall-vs-sizzle/2\n\t\t\tdestElements = getAll( clone );\n\t\t\tsrcElements = getAll( elem );\n\n\t\t\t// Fix all IE cloning issues\n\t\t\tfor ( i = 0; ( node = srcElements[ i ] ) != null; ++i ) {\n\n\t\t\t\t// Ensure that the destination node is not null; Fixes #9587\n\t\t\t\tif ( destElements[ i ] ) {\n\t\t\t\t\tfixCloneNodeIssues( node, destElements[ i ] );\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t// Copy the events from the original to the clone\n\t\tif ( dataAndEvents ) {\n\t\t\tif ( deepDataAndEvents ) {\n\t\t\t\tsrcElements = srcElements || getAll( elem );\n\t\t\t\tdestElements = destElements || getAll( clone );\n\n\t\t\t\tfor ( i = 0; ( node = srcElements[ i ] ) != null; i++ ) {\n\t\t\t\t\tcloneCopyEvent( node, destElements[ i ] );\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tcloneCopyEvent( elem, clone );\n\t\t\t}\n\t\t}\n\n\t\t// Preserve script evaluation history\n\t\tdestElements = getAll( clone, \"script\" );\n\t\tif ( destElements.length > 0 ) {\n\t\t\tsetGlobalEval( destElements, !inPage && getAll( elem, \"script\" ) );\n\t\t}\n\n\t\tdestElements = srcElements = node = null;\n\n\t\t// Return the cloned set\n\t\treturn clone;\n\t},\n\n\tcleanData: function( elems, /* internal */ forceAcceptData ) {\n\t\tvar elem, type, id, data,\n\t\t\ti = 0,\n\t\t\tinternalKey = jQuery.expando,\n\t\t\tcache = jQuery.cache,\n\t\t\tattributes = support.attributes,\n\t\t\tspecial = jQuery.event.special;\n\n\t\tfor ( ; ( elem = elems[ i ] ) != null; i++ ) {\n\t\t\tif ( forceAcceptData || acceptData( elem ) ) {\n\n\t\t\t\tid = elem[ internalKey ];\n\t\t\t\tdata = id && cache[ id ];\n\n\t\t\t\tif ( data ) {\n\t\t\t\t\tif ( data.events ) {\n\t\t\t\t\t\tfor ( type in data.events ) {\n\t\t\t\t\t\t\tif ( special[ type ] ) {\n\t\t\t\t\t\t\t\tjQuery.event.remove( elem, type );\n\n\t\t\t\t\t\t\t// This is a shortcut to avoid jQuery.event.remove's overhead\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\tjQuery.removeEvent( elem, type, data.handle );\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\t// Remove cache only if it was not already removed by jQuery.event.remove\n\t\t\t\t\tif ( cache[ id ] ) {\n\n\t\t\t\t\t\tdelete cache[ id ];\n\n\t\t\t\t\t\t// Support: IE<9\n\t\t\t\t\t\t// IE does not allow us to delete expando properties from nodes\n\t\t\t\t\t\t// IE creates expando attributes along with the property\n\t\t\t\t\t\t// IE does not have a removeAttribute function on Document nodes\n\t\t\t\t\t\tif ( !attributes && typeof elem.removeAttribute !== \"undefined\" ) {\n\t\t\t\t\t\t\telem.removeAttribute( internalKey );\n\n\t\t\t\t\t\t// Webkit & Blink performance suffers when deleting properties\n\t\t\t\t\t\t// from DOM nodes, so set to undefined instead\n\t\t\t\t\t\t// https://code.google.com/p/chromium/issues/detail?id=378607\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\telem[ internalKey ] = undefined;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tdeletedIds.push( id );\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n} );\n\njQuery.fn.extend( {\n\n\t// Keep domManip exposed until 3.0 (gh-2225)\n\tdomManip: domManip,\n\n\tdetach: function( selector ) {\n\t\treturn remove( this, selector, true );\n\t},\n\n\tremove: function( selector ) {\n\t\treturn remove( this, selector );\n\t},\n\n\ttext: function( value ) {\n\t\treturn access( this, function( value ) {\n\t\t\treturn value === undefined ?\n\t\t\t\tjQuery.text( this ) :\n\t\t\t\tthis.empty().append(\n\t\t\t\t\t( this[ 0 ] && this[ 0 ].ownerDocument || document ).createTextNode( value )\n\t\t\t\t);\n\t\t}, null, value, arguments.length );\n\t},\n\n\tappend: function() {\n\t\treturn domManip( this, arguments, function( elem ) {\n\t\t\tif ( this.nodeType === 1 || this.nodeType === 11 || this.nodeType === 9 ) {\n\t\t\t\tvar target = manipulationTarget( this, elem );\n\t\t\t\ttarget.appendChild( elem );\n\t\t\t}\n\t\t} );\n\t},\n\n\tprepend: function() {\n\t\treturn domManip( this, arguments, function( elem ) {\n\t\t\tif ( this.nodeType === 1 || this.nodeType === 11 || this.nodeType === 9 ) {\n\t\t\t\tvar target = manipulationTarget( this, elem );\n\t\t\t\ttarget.insertBefore( elem, target.firstChild );\n\t\t\t}\n\t\t} );\n\t},\n\n\tbefore: function() {\n\t\treturn domManip( this, arguments, function( elem ) {\n\t\t\tif ( this.parentNode ) {\n\t\t\t\tthis.parentNode.insertBefore( elem, this );\n\t\t\t}\n\t\t} );\n\t},\n\n\tafter: function() {\n\t\treturn domManip( this, arguments, function( elem ) {\n\t\t\tif ( this.parentNode ) {\n\t\t\t\tthis.parentNode.insertBefore( elem, this.nextSibling );\n\t\t\t}\n\t\t} );\n\t},\n\n\tempty: function() {\n\t\tvar elem,\n\t\t\ti = 0;\n\n\t\tfor ( ; ( elem = this[ i ] ) != null; i++ ) {\n\n\t\t\t// Remove element nodes and prevent memory leaks\n\t\t\tif ( elem.nodeType === 1 ) {\n\t\t\t\tjQuery.cleanData( getAll( elem, false ) );\n\t\t\t}\n\n\t\t\t// Remove any remaining nodes\n\t\t\twhile ( elem.firstChild ) {\n\t\t\t\telem.removeChild( elem.firstChild );\n\t\t\t}\n\n\t\t\t// If this is a select, ensure that it displays empty (#12336)\n\t\t\t// Support: IE<9\n\t\t\tif ( elem.options && jQuery.nodeName( elem, \"select\" ) ) {\n\t\t\t\telem.options.length = 0;\n\t\t\t}\n\t\t}\n\n\t\treturn this;\n\t},\n\n\tclone: function( dataAndEvents, deepDataAndEvents ) {\n\t\tdataAndEvents = dataAndEvents == null ? false : dataAndEvents;\n\t\tdeepDataAndEvents = deepDataAndEvents == null ? dataAndEvents : deepDataAndEvents;\n\n\t\treturn this.map( function() {\n\t\t\treturn jQuery.clone( this, dataAndEvents, deepDataAndEvents );\n\t\t} );\n\t},\n\n\thtml: function( value ) {\n\t\treturn access( this, function( value ) {\n\t\t\tvar elem = this[ 0 ] || {},\n\t\t\t\ti = 0,\n\t\t\t\tl = this.length;\n\n\t\t\tif ( value === undefined ) {\n\t\t\t\treturn elem.nodeType === 1 ?\n\t\t\t\t\telem.innerHTML.replace( rinlinejQuery, \"\" ) :\n\t\t\t\t\tundefined;\n\t\t\t}\n\n\t\t\t// See if we can take a shortcut and just use innerHTML\n\t\t\tif ( typeof value === \"string\" && !rnoInnerhtml.test( value ) &&\n\t\t\t\t( support.htmlSerialize || !rnoshimcache.test( value ) ) &&\n\t\t\t\t( support.leadingWhitespace || !rleadingWhitespace.test( value ) ) &&\n\t\t\t\t!wrapMap[ ( rtagName.exec( value ) || [ \"\", \"\" ] )[ 1 ].toLowerCase() ] ) {\n\n\t\t\t\tvalue = jQuery.htmlPrefilter( value );\n\n\t\t\t\ttry {\n\t\t\t\t\tfor ( ; i < l; i++ ) {\n\n\t\t\t\t\t\t// Remove element nodes and prevent memory leaks\n\t\t\t\t\t\telem = this[ i ] || {};\n\t\t\t\t\t\tif ( elem.nodeType === 1 ) {\n\t\t\t\t\t\t\tjQuery.cleanData( getAll( elem, false ) );\n\t\t\t\t\t\t\telem.innerHTML = value;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\telem = 0;\n\n\t\t\t\t// If using innerHTML throws an exception, use the fallback method\n\t\t\t\t} catch ( e ) {}\n\t\t\t}\n\n\t\t\tif ( elem ) {\n\t\t\t\tthis.empty().append( value );\n\t\t\t}\n\t\t}, null, value, arguments.length );\n\t},\n\n\treplaceWith: function() {\n\t\tvar ignored = [];\n\n\t\t// Make the changes, replacing each non-ignored context element with the new content\n\t\treturn domManip( this, arguments, function( elem ) {\n\t\t\tvar parent = this.parentNode;\n\n\t\t\tif ( jQuery.inArray( this, ignored ) < 0 ) {\n\t\t\t\tjQuery.cleanData( getAll( this ) );\n\t\t\t\tif ( parent ) {\n\t\t\t\t\tparent.replaceChild( elem, this );\n\t\t\t\t}\n\t\t\t}\n\n\t\t// Force callback invocation\n\t\t}, ignored );\n\t}\n} );\n\njQuery.each( {\n\tappendTo: \"append\",\n\tprependTo: \"prepend\",\n\tinsertBefore: \"before\",\n\tinsertAfter: \"after\",\n\treplaceAll: \"replaceWith\"\n}, function( name, original ) {\n\tjQuery.fn[ name ] = function( selector ) {\n\t\tvar elems,\n\t\t\ti = 0,\n\t\t\tret = [],\n\t\t\tinsert = jQuery( selector ),\n\t\t\tlast = insert.length - 1;\n\n\t\tfor ( ; i <= last; i++ ) {\n\t\t\telems = i === last ? this : this.clone( true );\n\t\t\tjQuery( insert[ i ] )[ original ]( elems );\n\n\t\t\t// Modern browsers can apply jQuery collections as arrays, but oldIE needs a .get()\n\t\t\tpush.apply( ret, elems.get() );\n\t\t}\n\n\t\treturn this.pushStack( ret );\n\t};\n} );\n\n\nvar iframe,\n\telemdisplay = {\n\n\t\t// Support: Firefox\n\t\t// We have to pre-define these values for FF (#10227)\n\t\tHTML: \"block\",\n\t\tBODY: \"block\"\n\t};\n\n/**\n * Retrieve the actual display of a element\n * @param {String} name nodeName of the element\n * @param {Object} doc Document object\n */\n\n// Called only from within defaultDisplay\nfunction actualDisplay( name, doc ) {\n\tvar elem = jQuery( doc.createElement( name ) ).appendTo( doc.body ),\n\n\t\tdisplay = jQuery.css( elem[ 0 ], \"display\" );\n\n\t// We don't have any data stored on the element,\n\t// so use \"detach\" method as fast way to get rid of the element\n\telem.detach();\n\n\treturn display;\n}\n\n/**\n * Try to determine the default display value of an element\n * @param {String} nodeName\n */\nfunction defaultDisplay( nodeName ) {\n\tvar doc = document,\n\t\tdisplay = elemdisplay[ nodeName ];\n\n\tif ( !display ) {\n\t\tdisplay = actualDisplay( nodeName, doc );\n\n\t\t// If the simple way fails, read from inside an iframe\n\t\tif ( display === \"none\" || !display ) {\n\n\t\t\t// Use the already-created iframe if possible\n\t\t\tiframe = ( iframe || jQuery( \"<iframe frameborder='0' width='0' height='0'/>\" ) )\n\t\t\t\t.appendTo( doc.documentElement );\n\n\t\t\t// Always write a new HTML skeleton so Webkit and Firefox don't choke on reuse\n\t\t\tdoc = ( iframe[ 0 ].contentWindow || iframe[ 0 ].contentDocument ).document;\n\n\t\t\t// Support: IE\n\t\t\tdoc.write();\n\t\t\tdoc.close();\n\n\t\t\tdisplay = actualDisplay( nodeName, doc );\n\t\t\tiframe.detach();\n\t\t}\n\n\t\t// Store the correct default display\n\t\telemdisplay[ nodeName ] = display;\n\t}\n\n\treturn display;\n}\nvar rmargin = ( /^margin/ );\n\nvar rnumnonpx = new RegExp( \"^(\" + pnum + \")(?!px)[a-z%]+$\", \"i\" );\n\nvar swap = function( elem, options, callback, args ) {\n\tvar ret, name,\n\t\told = {};\n\n\t// Remember the old values, and insert the new ones\n\tfor ( name in options ) {\n\t\told[ name ] = elem.style[ name ];\n\t\telem.style[ name ] = options[ name ];\n\t}\n\n\tret = callback.apply( elem, args || [] );\n\n\t// Revert the old values\n\tfor ( name in options ) {\n\t\telem.style[ name ] = old[ name ];\n\t}\n\n\treturn ret;\n};\n\n\nvar documentElement = document.documentElement;\n\n\n\n( function() {\n\tvar pixelPositionVal, pixelMarginRightVal, boxSizingReliableVal,\n\t\treliableHiddenOffsetsVal, reliableMarginRightVal, reliableMarginLeftVal,\n\t\tcontainer = document.createElement( \"div\" ),\n\t\tdiv = document.createElement( \"div\" );\n\n\t// Finish early in limited (non-browser) environments\n\tif ( !div.style ) {\n\t\treturn;\n\t}\n\n\tdiv.style.cssText = \"float:left;opacity:.5\";\n\n\t// Support: IE<9\n\t// Make sure that element opacity exists (as opposed to filter)\n\tsupport.opacity = div.style.opacity === \"0.5\";\n\n\t// Verify style float existence\n\t// (IE uses styleFloat instead of cssFloat)\n\tsupport.cssFloat = !!div.style.cssFloat;\n\n\tdiv.style.backgroundClip = \"content-box\";\n\tdiv.cloneNode( true ).style.backgroundClip = \"\";\n\tsupport.clearCloneStyle = div.style.backgroundClip === \"content-box\";\n\n\tcontainer = document.createElement( \"div\" );\n\tcontainer.style.cssText = \"border:0;width:8px;height:0;top:0;left:-9999px;\" +\n\t\t\"padding:0;margin-top:1px;position:absolute\";\n\tdiv.innerHTML = \"\";\n\tcontainer.appendChild( div );\n\n\t// Support: Firefox<29, Android 2.3\n\t// Vendor-prefix box-sizing\n\tsupport.boxSizing = div.style.boxSizing === \"\" || div.style.MozBoxSizing === \"\" ||\n\t\tdiv.style.WebkitBoxSizing === \"\";\n\n\tjQuery.extend( support, {\n\t\treliableHiddenOffsets: function() {\n\t\t\tif ( pixelPositionVal == null ) {\n\t\t\t\tcomputeStyleTests();\n\t\t\t}\n\t\t\treturn reliableHiddenOffsetsVal;\n\t\t},\n\n\t\tboxSizingReliable: function() {\n\n\t\t\t// We're checking for pixelPositionVal here instead of boxSizingReliableVal\n\t\t\t// since that compresses better and they're computed together anyway.\n\t\t\tif ( pixelPositionVal == null ) {\n\t\t\t\tcomputeStyleTests();\n\t\t\t}\n\t\t\treturn boxSizingReliableVal;\n\t\t},\n\n\t\tpixelMarginRight: function() {\n\n\t\t\t// Support: Android 4.0-4.3\n\t\t\tif ( pixelPositionVal == null ) {\n\t\t\t\tcomputeStyleTests();\n\t\t\t}\n\t\t\treturn pixelMarginRightVal;\n\t\t},\n\n\t\tpixelPosition: function() {\n\t\t\tif ( pixelPositionVal == null ) {\n\t\t\t\tcomputeStyleTests();\n\t\t\t}\n\t\t\treturn pixelPositionVal;\n\t\t},\n\n\t\treliableMarginRight: function() {\n\n\t\t\t// Support: Android 2.3\n\t\t\tif ( pixelPositionVal == null ) {\n\t\t\t\tcomputeStyleTests();\n\t\t\t}\n\t\t\treturn reliableMarginRightVal;\n\t\t},\n\n\t\treliableMarginLeft: function() {\n\n\t\t\t// Support: IE <=8 only, Android 4.0 - 4.3 only, Firefox <=3 - 37\n\t\t\tif ( pixelPositionVal == null ) {\n\t\t\t\tcomputeStyleTests();\n\t\t\t}\n\t\t\treturn reliableMarginLeftVal;\n\t\t}\n\t} );\n\n\tfunction computeStyleTests() {\n\t\tvar contents, divStyle,\n\t\t\tdocumentElement = document.documentElement;\n\n\t\t// Setup\n\t\tdocumentElement.appendChild( container );\n\n\t\tdiv.style.cssText =\n\n\t\t\t// Support: Android 2.3\n\t\t\t// Vendor-prefix box-sizing\n\t\t\t\"-webkit-box-sizing:border-box;box-sizing:border-box;\" +\n\t\t\t\"position:relative;display:block;\" +\n\t\t\t\"margin:auto;border:1px;padding:1px;\" +\n\t\t\t\"top:1%;width:50%\";\n\n\t\t// Support: IE<9\n\t\t// Assume reasonable values in the absence of getComputedStyle\n\t\tpixelPositionVal = boxSizingReliableVal = reliableMarginLeftVal = false;\n\t\tpixelMarginRightVal = reliableMarginRightVal = true;\n\n\t\t// Check for getComputedStyle so that this code is not run in IE<9.\n\t\tif ( window.getComputedStyle ) {\n\t\t\tdivStyle = window.getComputedStyle( div );\n\t\t\tpixelPositionVal = ( divStyle || {} ).top !== \"1%\";\n\t\t\treliableMarginLeftVal = ( divStyle || {} ).marginLeft === \"2px\";\n\t\t\tboxSizingReliableVal = ( divStyle || { width: \"4px\" } ).width === \"4px\";\n\n\t\t\t// Support: Android 4.0 - 4.3 only\n\t\t\t// Some styles come back with percentage values, even though they shouldn't\n\t\t\tdiv.style.marginRight = \"50%\";\n\t\t\tpixelMarginRightVal = ( divStyle || { marginRight: \"4px\" } ).marginRight === \"4px\";\n\n\t\t\t// Support: Android 2.3 only\n\t\t\t// Div with explicit width and no margin-right incorrectly\n\t\t\t// gets computed margin-right based on width of container (#3333)\n\t\t\t// WebKit Bug 13343 - getComputedStyle returns wrong value for margin-right\n\t\t\tcontents = div.appendChild( document.createElement( \"div\" ) );\n\n\t\t\t// Reset CSS: box-sizing; display; margin; border; padding\n\t\t\tcontents.style.cssText = div.style.cssText =\n\n\t\t\t\t// Support: Android 2.3\n\t\t\t\t// Vendor-prefix box-sizing\n\t\t\t\t\"-webkit-box-sizing:content-box;-moz-box-sizing:content-box;\" +\n\t\t\t\t\"box-sizing:content-box;display:block;margin:0;border:0;padding:0\";\n\t\t\tcontents.style.marginRight = contents.style.width = \"0\";\n\t\t\tdiv.style.width = \"1px\";\n\n\t\t\treliableMarginRightVal =\n\t\t\t\t!parseFloat( ( window.getComputedStyle( contents ) || {} ).marginRight );\n\n\t\t\tdiv.removeChild( contents );\n\t\t}\n\n\t\t// Support: IE6-8\n\t\t// First check that getClientRects works as expected\n\t\t// Check if table cells still have offsetWidth/Height when they are set\n\t\t// to display:none and there are still other visible table cells in a\n\t\t// table row; if so, offsetWidth/Height are not reliable for use when\n\t\t// determining if an element has been hidden directly using\n\t\t// display:none (it is still safe to use offsets if a parent element is\n\t\t// hidden; don safety goggles and see bug #4512 for more information).\n\t\tdiv.style.display = \"none\";\n\t\treliableHiddenOffsetsVal = div.getClientRects().length === 0;\n\t\tif ( reliableHiddenOffsetsVal ) {\n\t\t\tdiv.style.display = \"\";\n\t\t\tdiv.innerHTML = \"<table><tr><td></td><td>t</td></tr></table>\";\n\t\t\tdiv.childNodes[ 0 ].style.borderCollapse = \"separate\";\n\t\t\tcontents = div.getElementsByTagName( \"td\" );\n\t\t\tcontents[ 0 ].style.cssText = \"margin:0;border:0;padding:0;display:none\";\n\t\t\treliableHiddenOffsetsVal = contents[ 0 ].offsetHeight === 0;\n\t\t\tif ( reliableHiddenOffsetsVal ) {\n\t\t\t\tcontents[ 0 ].style.display = \"\";\n\t\t\t\tcontents[ 1 ].style.display = \"none\";\n\t\t\t\treliableHiddenOffsetsVal = contents[ 0 ].offsetHeight === 0;\n\t\t\t}\n\t\t}\n\n\t\t// Teardown\n\t\tdocumentElement.removeChild( container );\n\t}\n\n} )();\n\n\nvar getStyles, curCSS,\n\trposition = /^(top|right|bottom|left)$/;\n\nif ( window.getComputedStyle ) {\n\tgetStyles = function( elem ) {\n\n\t\t// Support: IE<=11+, Firefox<=30+ (#15098, #14150)\n\t\t// IE throws on elements created in popups\n\t\t// FF meanwhile throws on frame elements through \"defaultView.getComputedStyle\"\n\t\tvar view = elem.ownerDocument.defaultView;\n\n\t\tif ( !view || !view.opener ) {\n\t\t\tview = window;\n\t\t}\n\n\t\treturn view.getComputedStyle( elem );\n\t};\n\n\tcurCSS = function( elem, name, computed ) {\n\t\tvar width, minWidth, maxWidth, ret,\n\t\t\tstyle = elem.style;\n\n\t\tcomputed = computed || getStyles( elem );\n\n\t\t// getPropertyValue is only needed for .css('filter') in IE9, see #12537\n\t\tret = computed ? computed.getPropertyValue( name ) || computed[ name ] : undefined;\n\n\t\t// Support: Opera 12.1x only\n\t\t// Fall back to style even without computed\n\t\t// computed is undefined for elems on document fragments\n\t\tif ( ( ret === \"\" || ret === undefined ) && !jQuery.contains( elem.ownerDocument, elem ) ) {\n\t\t\tret = jQuery.style( elem, name );\n\t\t}\n\n\t\tif ( computed ) {\n\n\t\t\t// A tribute to the \"awesome hack by Dean Edwards\"\n\t\t\t// Chrome < 17 and Safari 5.0 uses \"computed value\"\n\t\t\t// instead of \"used value\" for margin-right\n\t\t\t// Safari 5.1.7 (at least) returns percentage for a larger set of values,\n\t\t\t// but width seems to be reliably pixels\n\t\t\t// this is against the CSSOM draft spec:\n\t\t\t// http://dev.w3.org/csswg/cssom/#resolved-values\n\t\t\tif ( !support.pixelMarginRight() && rnumnonpx.test( ret ) && rmargin.test( name ) ) {\n\n\t\t\t\t// Remember the original values\n\t\t\t\twidth = style.width;\n\t\t\t\tminWidth = style.minWidth;\n\t\t\t\tmaxWidth = style.maxWidth;\n\n\t\t\t\t// Put in the new values to get a computed value out\n\t\t\t\tstyle.minWidth = style.maxWidth = style.width = ret;\n\t\t\t\tret = computed.width;\n\n\t\t\t\t// Revert the changed values\n\t\t\t\tstyle.width = width;\n\t\t\t\tstyle.minWidth = minWidth;\n\t\t\t\tstyle.maxWidth = maxWidth;\n\t\t\t}\n\t\t}\n\n\t\t// Support: IE\n\t\t// IE returns zIndex value as an integer.\n\t\treturn ret === undefined ?\n\t\t\tret :\n\t\t\tret + \"\";\n\t};\n} else if ( documentElement.currentStyle ) {\n\tgetStyles = function( elem ) {\n\t\treturn elem.currentStyle;\n\t};\n\n\tcurCSS = function( elem, name, computed ) {\n\t\tvar left, rs, rsLeft, ret,\n\t\t\tstyle = elem.style;\n\n\t\tcomputed = computed || getStyles( elem );\n\t\tret = computed ? computed[ name ] : undefined;\n\n\t\t// Avoid setting ret to empty string here\n\t\t// so we don't default to auto\n\t\tif ( ret == null && style && style[ name ] ) {\n\t\t\tret = style[ name ];\n\t\t}\n\n\t\t// From the awesome hack by Dean Edwards\n\t\t// http://erik.eae.net/archives/2007/07/27/18.54.15/#comment-102291\n\n\t\t// If we're not dealing with a regular pixel number\n\t\t// but a number that has a weird ending, we need to convert it to pixels\n\t\t// but not position css attributes, as those are\n\t\t// proportional to the parent element instead\n\t\t// and we can't measure the parent instead because it\n\t\t// might trigger a \"stacking dolls\" problem\n\t\tif ( rnumnonpx.test( ret ) && !rposition.test( name ) ) {\n\n\t\t\t// Remember the original values\n\t\t\tleft = style.left;\n\t\t\trs = elem.runtimeStyle;\n\t\t\trsLeft = rs && rs.left;\n\n\t\t\t// Put in the new values to get a computed value out\n\t\t\tif ( rsLeft ) {\n\t\t\t\trs.left = elem.currentStyle.left;\n\t\t\t}\n\t\t\tstyle.left = name === \"fontSize\" ? \"1em\" : ret;\n\t\t\tret = style.pixelLeft + \"px\";\n\n\t\t\t// Revert the changed values\n\t\t\tstyle.left = left;\n\t\t\tif ( rsLeft ) {\n\t\t\t\trs.left = rsLeft;\n\t\t\t}\n\t\t}\n\n\t\t// Support: IE\n\t\t// IE returns zIndex value as an integer.\n\t\treturn ret === undefined ?\n\t\t\tret :\n\t\t\tret + \"\" || \"auto\";\n\t};\n}\n\n\n\n\nfunction addGetHookIf( conditionFn, hookFn ) {\n\n\t// Define the hook, we'll check on the first run if it's really needed.\n\treturn {\n\t\tget: function() {\n\t\t\tif ( conditionFn() ) {\n\n\t\t\t\t// Hook not needed (or it's not possible to use it due\n\t\t\t\t// to missing dependency), remove it.\n\t\t\t\tdelete this.get;\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// Hook needed; redefine it so that the support test is not executed again.\n\t\t\treturn ( this.get = hookFn ).apply( this, arguments );\n\t\t}\n\t};\n}\n\n\nvar\n\n\t\tralpha = /alpha\\([^)]*\\)/i,\n\tropacity = /opacity\\s*=\\s*([^)]*)/i,\n\n\t// swappable if display is none or starts with table except\n\t// \"table\", \"table-cell\", or \"table-caption\"\n\t// see here for display values:\n\t// https://developer.mozilla.org/en-US/docs/CSS/display\n\trdisplayswap = /^(none|table(?!-c[ea]).+)/,\n\trnumsplit = new RegExp( \"^(\" + pnum + \")(.*)$\", \"i\" ),\n\n\tcssShow = { position: \"absolute\", visibility: \"hidden\", display: \"block\" },\n\tcssNormalTransform = {\n\t\tletterSpacing: \"0\",\n\t\tfontWeight: \"400\"\n\t},\n\n\tcssPrefixes = [ \"Webkit\", \"O\", \"Moz\", \"ms\" ],\n\temptyStyle = document.createElement( \"div\" ).style;\n\n\n// return a css property mapped to a potentially vendor prefixed property\nfunction vendorPropName( name ) {\n\n\t// shortcut for names that are not vendor prefixed\n\tif ( name in emptyStyle ) {\n\t\treturn name;\n\t}\n\n\t// check for vendor prefixed names\n\tvar capName = name.charAt( 0 ).toUpperCase() + name.slice( 1 ),\n\t\ti = cssPrefixes.length;\n\n\twhile ( i-- ) {\n\t\tname = cssPrefixes[ i ] + capName;\n\t\tif ( name in emptyStyle ) {\n\t\t\treturn name;\n\t\t}\n\t}\n}\n\nfunction showHide( elements, show ) {\n\tvar display, elem, hidden,\n\t\tvalues = [],\n\t\tindex = 0,\n\t\tlength = elements.length;\n\n\tfor ( ; index < length; index++ ) {\n\t\telem = elements[ index ];\n\t\tif ( !elem.style ) {\n\t\t\tcontinue;\n\t\t}\n\n\t\tvalues[ index ] = jQuery._data( elem, \"olddisplay\" );\n\t\tdisplay = elem.style.display;\n\t\tif ( show ) {\n\n\t\t\t// Reset the inline display of this element to learn if it is\n\t\t\t// being hidden by cascaded rules or not\n\t\t\tif ( !values[ index ] && display === \"none\" ) {\n\t\t\t\telem.style.display = \"\";\n\t\t\t}\n\n\t\t\t// Set elements which have been overridden with display: none\n\t\t\t// in a stylesheet to whatever the default browser style is\n\t\t\t// for such an element\n\t\t\tif ( elem.style.display === \"\" && isHidden( elem ) ) {\n\t\t\t\tvalues[ index ] =\n\t\t\t\t\tjQuery._data( elem, \"olddisplay\", defaultDisplay( elem.nodeName ) );\n\t\t\t}\n\t\t} else {\n\t\t\thidden = isHidden( elem );\n\n\t\t\tif ( display && display !== \"none\" || !hidden ) {\n\t\t\t\tjQuery._data(\n\t\t\t\t\telem,\n\t\t\t\t\t\"olddisplay\",\n\t\t\t\t\thidden ? display : jQuery.css( elem, \"display\" )\n\t\t\t\t);\n\t\t\t}\n\t\t}\n\t}\n\n\t// Set the display of most of the elements in a second loop\n\t// to avoid the constant reflow\n\tfor ( index = 0; index < length; index++ ) {\n\t\telem = elements[ index ];\n\t\tif ( !elem.style ) {\n\t\t\tcontinue;\n\t\t}\n\t\tif ( !show || elem.style.display === \"none\" || elem.style.display === \"\" ) {\n\t\t\telem.style.display = show ? values[ index ] || \"\" : \"none\";\n\t\t}\n\t}\n\n\treturn elements;\n}\n\nfunction setPositiveNumber( elem, value, subtract ) {\n\tvar matches = rnumsplit.exec( value );\n\treturn matches ?\n\n\t\t// Guard against undefined \"subtract\", e.g., when used as in cssHooks\n\t\tMath.max( 0, matches[ 1 ] - ( subtract || 0 ) ) + ( matches[ 2 ] || \"px\" ) :\n\t\tvalue;\n}\n\nfunction augmentWidthOrHeight( elem, name, extra, isBorderBox, styles ) {\n\tvar i = extra === ( isBorderBox ? \"border\" : \"content\" ) ?\n\n\t\t// If we already have the right measurement, avoid augmentation\n\t\t4 :\n\n\t\t// Otherwise initialize for horizontal or vertical properties\n\t\tname === \"width\" ? 1 : 0,\n\n\t\tval = 0;\n\n\tfor ( ; i < 4; i += 2 ) {\n\n\t\t// both box models exclude margin, so add it if we want it\n\t\tif ( extra === \"margin\" ) {\n\t\t\tval += jQuery.css( elem, extra + cssExpand[ i ], true, styles );\n\t\t}\n\n\t\tif ( isBorderBox ) {\n\n\t\t\t// border-box includes padding, so remove it if we want content\n\t\t\tif ( extra === \"content\" ) {\n\t\t\t\tval -= jQuery.css( elem, \"padding\" + cssExpand[ i ], true, styles );\n\t\t\t}\n\n\t\t\t// at this point, extra isn't border nor margin, so remove border\n\t\t\tif ( extra !== \"margin\" ) {\n\t\t\t\tval -= jQuery.css( elem, \"border\" + cssExpand[ i ] + \"Width\", true, styles );\n\t\t\t}\n\t\t} else {\n\n\t\t\t// at this point, extra isn't content, so add padding\n\t\t\tval += jQuery.css( elem, \"padding\" + cssExpand[ i ], true, styles );\n\n\t\t\t// at this point, extra isn't content nor padding, so add border\n\t\t\tif ( extra !== \"padding\" ) {\n\t\t\t\tval += jQuery.css( elem, \"border\" + cssExpand[ i ] + \"Width\", true, styles );\n\t\t\t}\n\t\t}\n\t}\n\n\treturn val;\n}\n\nfunction getWidthOrHeight( elem, name, extra ) {\n\n\t// Start with offset property, which is equivalent to the border-box value\n\tvar valueIsBorderBox = true,\n\t\tval = name === \"width\" ? elem.offsetWidth : elem.offsetHeight,\n\t\tstyles = getStyles( elem ),\n\t\tisBorderBox = support.boxSizing &&\n\t\t\tjQuery.css( elem, \"boxSizing\", false, styles ) === \"border-box\";\n\n\t// some non-html elements return undefined for offsetWidth, so check for null/undefined\n\t// svg - https://bugzilla.mozilla.org/show_bug.cgi?id=649285\n\t// MathML - https://bugzilla.mozilla.org/show_bug.cgi?id=491668\n\tif ( val <= 0 || val == null ) {\n\n\t\t// Fall back to computed then uncomputed css if necessary\n\t\tval = curCSS( elem, name, styles );\n\t\tif ( val < 0 || val == null ) {\n\t\t\tval = elem.style[ name ];\n\t\t}\n\n\t\t// Computed unit is not pixels. Stop here and return.\n\t\tif ( rnumnonpx.test( val ) ) {\n\t\t\treturn val;\n\t\t}\n\n\t\t// we need the check for style in case a browser which returns unreliable values\n\t\t// for getComputedStyle silently falls back to the reliable elem.style\n\t\tvalueIsBorderBox = isBorderBox &&\n\t\t\t( support.boxSizingReliable() || val === elem.style[ name ] );\n\n\t\t// Normalize \"\", auto, and prepare for extra\n\t\tval = parseFloat( val ) || 0;\n\t}\n\n\t// use the active box-sizing model to add/subtract irrelevant styles\n\treturn ( val +\n\t\taugmentWidthOrHeight(\n\t\t\telem,\n\t\t\tname,\n\t\t\textra || ( isBorderBox ? \"border\" : \"content\" ),\n\t\t\tvalueIsBorderBox,\n\t\t\tstyles\n\t\t)\n\t) + \"px\";\n}\n\njQuery.extend( {\n\n\t// Add in style property hooks for overriding the default\n\t// behavior of getting and setting a style property\n\tcssHooks: {\n\t\topacity: {\n\t\t\tget: function( elem, computed ) {\n\t\t\t\tif ( computed ) {\n\n\t\t\t\t\t// We should always get a number back from opacity\n\t\t\t\t\tvar ret = curCSS( elem, \"opacity\" );\n\t\t\t\t\treturn ret === \"\" ? \"1\" : ret;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t},\n\n\t// Don't automatically add \"px\" to these possibly-unitless properties\n\tcssNumber: {\n\t\t\"animationIterationCount\": true,\n\t\t\"columnCount\": true,\n\t\t\"fillOpacity\": true,\n\t\t\"flexGrow\": true,\n\t\t\"flexShrink\": true,\n\t\t\"fontWeight\": true,\n\t\t\"lineHeight\": true,\n\t\t\"opacity\": true,\n\t\t\"order\": true,\n\t\t\"orphans\": true,\n\t\t\"widows\": true,\n\t\t\"zIndex\": true,\n\t\t\"zoom\": true\n\t},\n\n\t// Add in properties whose names you wish to fix before\n\t// setting or getting the value\n\tcssProps: {\n\n\t\t// normalize float css property\n\t\t\"float\": support.cssFloat ? \"cssFloat\" : \"styleFloat\"\n\t},\n\n\t// Get and set the style property on a DOM Node\n\tstyle: function( elem, name, value, extra ) {\n\n\t\t// Don't set styles on text and comment nodes\n\t\tif ( !elem || elem.nodeType === 3 || elem.nodeType === 8 || !elem.style ) {\n\t\t\treturn;\n\t\t}\n\n\t\t// Make sure that we're working with the right name\n\t\tvar ret, type, hooks,\n\t\t\torigName = jQuery.camelCase( name ),\n\t\t\tstyle = elem.style;\n\n\t\tname = jQuery.cssProps[ origName ] ||\n\t\t\t( jQuery.cssProps[ origName ] = vendorPropName( origName ) || origName );\n\n\t\t// gets hook for the prefixed version\n\t\t// followed by the unprefixed version\n\t\thooks = jQuery.cssHooks[ name ] || jQuery.cssHooks[ origName ];\n\n\t\t// Check if we're setting a value\n\t\tif ( value !== undefined ) {\n\t\t\ttype = typeof value;\n\n\t\t\t// Convert \"+=\" or \"-=\" to relative numbers (#7345)\n\t\t\tif ( type === \"string\" && ( ret = rcssNum.exec( value ) ) && ret[ 1 ] ) {\n\t\t\t\tvalue = adjustCSS( elem, name, ret );\n\n\t\t\t\t// Fixes bug #9237\n\t\t\t\ttype = \"number\";\n\t\t\t}\n\n\t\t\t// Make sure that null and NaN values aren't set. See: #7116\n\t\t\tif ( value == null || value !== value ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// If a number was passed in, add the unit (except for certain CSS properties)\n\t\t\tif ( type === \"number\" ) {\n\t\t\t\tvalue += ret && ret[ 3 ] || ( jQuery.cssNumber[ origName ] ? \"\" : \"px\" );\n\t\t\t}\n\n\t\t\t// Fixes #8908, it can be done more correctly by specifing setters in cssHooks,\n\t\t\t// but it would mean to define eight\n\t\t\t// (for every problematic property) identical functions\n\t\t\tif ( !support.clearCloneStyle && value === \"\" && name.indexOf( \"background\" ) === 0 ) {\n\t\t\t\tstyle[ name ] = \"inherit\";\n\t\t\t}\n\n\t\t\t// If a hook was provided, use that value, otherwise just set the specified value\n\t\t\tif ( !hooks || !( \"set\" in hooks ) ||\n\t\t\t\t( value = hooks.set( elem, value, extra ) ) !== undefined ) {\n\n\t\t\t\t// Support: IE\n\t\t\t\t// Swallow errors from 'invalid' CSS values (#5509)\n\t\t\t\ttry {\n\t\t\t\t\tstyle[ name ] = value;\n\t\t\t\t} catch ( e ) {}\n\t\t\t}\n\n\t\t} else {\n\n\t\t\t// If a hook was provided get the non-computed value from there\n\t\t\tif ( hooks && \"get\" in hooks &&\n\t\t\t\t( ret = hooks.get( elem, false, extra ) ) !== undefined ) {\n\n\t\t\t\treturn ret;\n\t\t\t}\n\n\t\t\t// Otherwise just get the value from the style object\n\t\t\treturn style[ name ];\n\t\t}\n\t},\n\n\tcss: function( elem, name, extra, styles ) {\n\t\tvar num, val, hooks,\n\t\t\torigName = jQuery.camelCase( name );\n\n\t\t// Make sure that we're working with the right name\n\t\tname = jQuery.cssProps[ origName ] ||\n\t\t\t( jQuery.cssProps[ origName ] = vendorPropName( origName ) || origName );\n\n\t\t// gets hook for the prefixed version\n\t\t// followed by the unprefixed version\n\t\thooks = jQuery.cssHooks[ name ] || jQuery.cssHooks[ origName ];\n\n\t\t// If a hook was provided get the computed value from there\n\t\tif ( hooks && \"get\" in hooks ) {\n\t\t\tval = hooks.get( elem, true, extra );\n\t\t}\n\n\t\t// Otherwise, if a way to get the computed value exists, use that\n\t\tif ( val === undefined ) {\n\t\t\tval = curCSS( elem, name, styles );\n\t\t}\n\n\t\t//convert \"normal\" to computed value\n\t\tif ( val === \"normal\" && name in cssNormalTransform ) {\n\t\t\tval = cssNormalTransform[ name ];\n\t\t}\n\n\t\t// Return, converting to number if forced or a qualifier was provided and val looks numeric\n\t\tif ( extra === \"\" || extra ) {\n\t\t\tnum = parseFloat( val );\n\t\t\treturn extra === true || isFinite( num ) ? num || 0 : val;\n\t\t}\n\t\treturn val;\n\t}\n} );\n\njQuery.each( [ \"height\", \"width\" ], function( i, name ) {\n\tjQuery.cssHooks[ name ] = {\n\t\tget: function( elem, computed, extra ) {\n\t\t\tif ( computed ) {\n\n\t\t\t\t// certain elements can have dimension info if we invisibly show them\n\t\t\t\t// however, it must have a current display style that would benefit from this\n\t\t\t\treturn rdisplayswap.test( jQuery.css( elem, \"display\" ) ) &&\n\t\t\t\t\telem.offsetWidth === 0 ?\n\t\t\t\t\t\tswap( elem, cssShow, function() {\n\t\t\t\t\t\t\treturn getWidthOrHeight( elem, name, extra );\n\t\t\t\t\t\t} ) :\n\t\t\t\t\t\tgetWidthOrHeight( elem, name, extra );\n\t\t\t}\n\t\t},\n\n\t\tset: function( elem, value, extra ) {\n\t\t\tvar styles = extra && getStyles( elem );\n\t\t\treturn setPositiveNumber( elem, value, extra ?\n\t\t\t\taugmentWidthOrHeight(\n\t\t\t\t\telem,\n\t\t\t\t\tname,\n\t\t\t\t\textra,\n\t\t\t\t\tsupport.boxSizing &&\n\t\t\t\t\t\tjQuery.css( elem, \"boxSizing\", false, styles ) === \"border-box\",\n\t\t\t\t\tstyles\n\t\t\t\t) : 0\n\t\t\t);\n\t\t}\n\t};\n} );\n\nif ( !support.opacity ) {\n\tjQuery.cssHooks.opacity = {\n\t\tget: function( elem, computed ) {\n\n\t\t\t// IE uses filters for opacity\n\t\t\treturn ropacity.test( ( computed && elem.currentStyle ?\n\t\t\t\telem.currentStyle.filter :\n\t\t\t\telem.style.filter ) || \"\" ) ?\n\t\t\t\t\t( 0.01 * parseFloat( RegExp.$1 ) ) + \"\" :\n\t\t\t\t\tcomputed ? \"1\" : \"\";\n\t\t},\n\n\t\tset: function( elem, value ) {\n\t\t\tvar style = elem.style,\n\t\t\t\tcurrentStyle = elem.currentStyle,\n\t\t\t\topacity = jQuery.isNumeric( value ) ? \"alpha(opacity=\" + value * 100 + \")\" : \"\",\n\t\t\t\tfilter = currentStyle && currentStyle.filter || style.filter || \"\";\n\n\t\t\t// IE has trouble with opacity if it does not have layout\n\t\t\t// Force it by setting the zoom level\n\t\t\tstyle.zoom = 1;\n\n\t\t\t// if setting opacity to 1, and no other filters exist -\n\t\t\t// attempt to remove filter attribute #6652\n\t\t\t// if value === \"\", then remove inline opacity #12685\n\t\t\tif ( ( value >= 1 || value === \"\" ) &&\n\t\t\t\t\tjQuery.trim( filter.replace( ralpha, \"\" ) ) === \"\" &&\n\t\t\t\t\tstyle.removeAttribute ) {\n\n\t\t\t\t// Setting style.filter to null, \"\" & \" \" still leave \"filter:\" in the cssText\n\t\t\t\t// if \"filter:\" is present at all, clearType is disabled, we want to avoid this\n\t\t\t\t// style.removeAttribute is IE Only, but so apparently is this code path...\n\t\t\t\tstyle.removeAttribute( \"filter\" );\n\n\t\t\t\t// if there is no filter style applied in a css rule\n\t\t\t\t// or unset inline opacity, we are done\n\t\t\t\tif ( value === \"\" || currentStyle && !currentStyle.filter ) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// otherwise, set new filter values\n\t\t\tstyle.filter = ralpha.test( filter ) ?\n\t\t\t\tfilter.replace( ralpha, opacity ) :\n\t\t\t\tfilter + \" \" + opacity;\n\t\t}\n\t};\n}\n\njQuery.cssHooks.marginRight = addGetHookIf( support.reliableMarginRight,\n\tfunction( elem, computed ) {\n\t\tif ( computed ) {\n\t\t\treturn swap( elem, { \"display\": \"inline-block\" },\n\t\t\t\tcurCSS, [ elem, \"marginRight\" ] );\n\t\t}\n\t}\n);\n\njQuery.cssHooks.marginLeft = addGetHookIf( support.reliableMarginLeft,\n\tfunction( elem, computed ) {\n\t\tif ( computed ) {\n\t\t\treturn (\n\t\t\t\tparseFloat( curCSS( elem, \"marginLeft\" ) ) ||\n\n\t\t\t\t// Support: IE<=11+\n\t\t\t\t// Running getBoundingClientRect on a disconnected node in IE throws an error\n\t\t\t\t// Support: IE8 only\n\t\t\t\t// getClientRects() errors on disconnected elems\n\t\t\t\t( jQuery.contains( elem.ownerDocument, elem ) ?\n\t\t\t\t\telem.getBoundingClientRect().left -\n\t\t\t\t\t\tswap( elem, { marginLeft: 0 }, function() {\n\t\t\t\t\t\t\treturn elem.getBoundingClientRect().left;\n\t\t\t\t\t\t} ) :\n\t\t\t\t\t0\n\t\t\t\t)\n\t\t\t) + \"px\";\n\t\t}\n\t}\n);\n\n// These hooks are used by animate to expand properties\njQuery.each( {\n\tmargin: \"\",\n\tpadding: \"\",\n\tborder: \"Width\"\n}, function( prefix, suffix ) {\n\tjQuery.cssHooks[ prefix + suffix ] = {\n\t\texpand: function( value ) {\n\t\t\tvar i = 0,\n\t\t\t\texpanded = {},\n\n\t\t\t\t// assumes a single number if not a string\n\t\t\t\tparts = typeof value === \"string\" ? value.split( \" \" ) : [ value ];\n\n\t\t\tfor ( ; i < 4; i++ ) {\n\t\t\t\texpanded[ prefix + cssExpand[ i ] + suffix ] =\n\t\t\t\t\tparts[ i ] || parts[ i - 2 ] || parts[ 0 ];\n\t\t\t}\n\n\t\t\treturn expanded;\n\t\t}\n\t};\n\n\tif ( !rmargin.test( prefix ) ) {\n\t\tjQuery.cssHooks[ prefix + suffix ].set = setPositiveNumber;\n\t}\n} );\n\njQuery.fn.extend( {\n\tcss: function( name, value ) {\n\t\treturn access( this, function( elem, name, value ) {\n\t\t\tvar styles, len,\n\t\t\t\tmap = {},\n\t\t\t\ti = 0;\n\n\t\t\tif ( jQuery.isArray( name ) ) {\n\t\t\t\tstyles = getStyles( elem );\n\t\t\t\tlen = name.length;\n\n\t\t\t\tfor ( ; i < len; i++ ) {\n\t\t\t\t\tmap[ name[ i ] ] = jQuery.css( elem, name[ i ], false, styles );\n\t\t\t\t}\n\n\t\t\t\treturn map;\n\t\t\t}\n\n\t\t\treturn value !== undefined ?\n\t\t\t\tjQuery.style( elem, name, value ) :\n\t\t\t\tjQuery.css( elem, name );\n\t\t}, name, value, arguments.length > 1 );\n\t},\n\tshow: function() {\n\t\treturn showHide( this, true );\n\t},\n\thide: function() {\n\t\treturn showHide( this );\n\t},\n\ttoggle: function( state ) {\n\t\tif ( typeof state === \"boolean\" ) {\n\t\t\treturn state ? this.show() : this.hide();\n\t\t}\n\n\t\treturn this.each( function() {\n\t\t\tif ( isHidden( this ) ) {\n\t\t\t\tjQuery( this ).show();\n\t\t\t} else {\n\t\t\t\tjQuery( this ).hide();\n\t\t\t}\n\t\t} );\n\t}\n} );\n\n\nfunction Tween( elem, options, prop, end, easing ) {\n\treturn new Tween.prototype.init( elem, options, prop, end, easing );\n}\njQuery.Tween = Tween;\n\nTween.prototype = {\n\tconstructor: Tween,\n\tinit: function( elem, options, prop, end, easing, unit ) {\n\t\tthis.elem = elem;\n\t\tthis.prop = prop;\n\t\tthis.easing = easing || jQuery.easing._default;\n\t\tthis.options = options;\n\t\tthis.start = this.now = this.cur();\n\t\tthis.end = end;\n\t\tthis.unit = unit || ( jQuery.cssNumber[ prop ] ? \"\" : \"px\" );\n\t},\n\tcur: function() {\n\t\tvar hooks = Tween.propHooks[ this.prop ];\n\n\t\treturn hooks && hooks.get ?\n\t\t\thooks.get( this ) :\n\t\t\tTween.propHooks._default.get( this );\n\t},\n\trun: function( percent ) {\n\t\tvar eased,\n\t\t\thooks = Tween.propHooks[ this.prop ];\n\n\t\tif ( this.options.duration ) {\n\t\t\tthis.pos = eased = jQuery.easing[ this.easing ](\n\t\t\t\tpercent, this.options.duration * percent, 0, 1, this.options.duration\n\t\t\t);\n\t\t} else {\n\t\t\tthis.pos = eased = percent;\n\t\t}\n\t\tthis.now = ( this.end - this.start ) * eased + this.start;\n\n\t\tif ( this.options.step ) {\n\t\t\tthis.options.step.call( this.elem, this.now, this );\n\t\t}\n\n\t\tif ( hooks && hooks.set ) {\n\t\t\thooks.set( this );\n\t\t} else {\n\t\t\tTween.propHooks._default.set( this );\n\t\t}\n\t\treturn this;\n\t}\n};\n\nTween.prototype.init.prototype = Tween.prototype;\n\nTween.propHooks = {\n\t_default: {\n\t\tget: function( tween ) {\n\t\t\tvar result;\n\n\t\t\t// Use a property on the element directly when it is not a DOM element,\n\t\t\t// or when there is no matching style property that exists.\n\t\t\tif ( tween.elem.nodeType !== 1 ||\n\t\t\t\ttween.elem[ tween.prop ] != null && tween.elem.style[ tween.prop ] == null ) {\n\t\t\t\treturn tween.elem[ tween.prop ];\n\t\t\t}\n\n\t\t\t// passing an empty string as a 3rd parameter to .css will automatically\n\t\t\t// attempt a parseFloat and fallback to a string if the parse fails\n\t\t\t// so, simple values such as \"10px\" are parsed to Float.\n\t\t\t// complex values such as \"rotate(1rad)\" are returned as is.\n\t\t\tresult = jQuery.css( tween.elem, tween.prop, \"\" );\n\n\t\t\t// Empty strings, null, undefined and \"auto\" are converted to 0.\n\t\t\treturn !result || result === \"auto\" ? 0 : result;\n\t\t},\n\t\tset: function( tween ) {\n\n\t\t\t// use step hook for back compat - use cssHook if its there - use .style if its\n\t\t\t// available and use plain properties where available\n\t\t\tif ( jQuery.fx.step[ tween.prop ] ) {\n\t\t\t\tjQuery.fx.step[ tween.prop ]( tween );\n\t\t\t} else if ( tween.elem.nodeType === 1 &&\n\t\t\t\t( tween.elem.style[ jQuery.cssProps[ tween.prop ] ] != null ||\n\t\t\t\t\tjQuery.cssHooks[ tween.prop ] ) ) {\n\t\t\t\tjQuery.style( tween.elem, tween.prop, tween.now + tween.unit );\n\t\t\t} else {\n\t\t\t\ttween.elem[ tween.prop ] = tween.now;\n\t\t\t}\n\t\t}\n\t}\n};\n\n// Support: IE <=9\n// Panic based approach to setting things on disconnected nodes\n\nTween.propHooks.scrollTop = Tween.propHooks.scrollLeft = {\n\tset: function( tween ) {\n\t\tif ( tween.elem.nodeType && tween.elem.parentNode ) {\n\t\t\ttween.elem[ tween.prop ] = tween.now;\n\t\t}\n\t}\n};\n\njQuery.easing = {\n\tlinear: function( p ) {\n\t\treturn p;\n\t},\n\tswing: function( p ) {\n\t\treturn 0.5 - Math.cos( p * Math.PI ) / 2;\n\t},\n\t_default: \"swing\"\n};\n\njQuery.fx = Tween.prototype.init;\n\n// Back Compat <1.8 extension point\njQuery.fx.step = {};\n\n\n\n\nvar\n\tfxNow, timerId,\n\trfxtypes = /^(?:toggle|show|hide)$/,\n\trrun = /queueHooks$/;\n\n// Animations created synchronously will run synchronously\nfunction createFxNow() {\n\twindow.setTimeout( function() {\n\t\tfxNow = undefined;\n\t} );\n\treturn ( fxNow = jQuery.now() );\n}\n\n// Generate parameters to create a standard animation\nfunction genFx( type, includeWidth ) {\n\tvar which,\n\t\tattrs = { height: type },\n\t\ti = 0;\n\n\t// if we include width, step value is 1 to do all cssExpand values,\n\t// if we don't include width, step value is 2 to skip over Left and Right\n\tincludeWidth = includeWidth ? 1 : 0;\n\tfor ( ; i < 4 ; i += 2 - includeWidth ) {\n\t\twhich = cssExpand[ i ];\n\t\tattrs[ \"margin\" + which ] = attrs[ \"padding\" + which ] = type;\n\t}\n\n\tif ( includeWidth ) {\n\t\tattrs.opacity = attrs.width = type;\n\t}\n\n\treturn attrs;\n}\n\nfunction createTween( value, prop, animation ) {\n\tvar tween,\n\t\tcollection = ( Animation.tweeners[ prop ] || [] ).concat( Animation.tweeners[ \"*\" ] ),\n\t\tindex = 0,\n\t\tlength = collection.length;\n\tfor ( ; index < length; index++ ) {\n\t\tif ( ( tween = collection[ index ].call( animation, prop, value ) ) ) {\n\n\t\t\t// we're done with this property\n\t\t\treturn tween;\n\t\t}\n\t}\n}\n\nfunction defaultPrefilter( elem, props, opts ) {\n\t/* jshint validthis: true */\n\tvar prop, value, toggle, tween, hooks, oldfire, display, checkDisplay,\n\t\tanim = this,\n\t\torig = {},\n\t\tstyle = elem.style,\n\t\thidden = elem.nodeType && isHidden( elem ),\n\t\tdataShow = jQuery._data( elem, \"fxshow\" );\n\n\t// handle queue: false promises\n\tif ( !opts.queue ) {\n\t\thooks = jQuery._queueHooks( elem, \"fx\" );\n\t\tif ( hooks.unqueued == null ) {\n\t\t\thooks.unqueued = 0;\n\t\t\toldfire = hooks.empty.fire;\n\t\t\thooks.empty.fire = function() {\n\t\t\t\tif ( !hooks.unqueued ) {\n\t\t\t\t\toldfire();\n\t\t\t\t}\n\t\t\t};\n\t\t}\n\t\thooks.unqueued++;\n\n\t\tanim.always( function() {\n\n\t\t\t// doing this makes sure that the complete handler will be called\n\t\t\t// before this completes\n\t\t\tanim.always( function() {\n\t\t\t\thooks.unqueued--;\n\t\t\t\tif ( !jQuery.queue( elem, \"fx\" ).length ) {\n\t\t\t\t\thooks.empty.fire();\n\t\t\t\t}\n\t\t\t} );\n\t\t} );\n\t}\n\n\t// height/width overflow pass\n\tif ( elem.nodeType === 1 && ( \"height\" in props || \"width\" in props ) ) {\n\n\t\t// Make sure that nothing sneaks out\n\t\t// Record all 3 overflow attributes because IE does not\n\t\t// change the overflow attribute when overflowX and\n\t\t// overflowY are set to the same value\n\t\topts.overflow = [ style.overflow, style.overflowX, style.overflowY ];\n\n\t\t// Set display property to inline-block for height/width\n\t\t// animations on inline elements that are having width/height animated\n\t\tdisplay = jQuery.css( elem, \"display\" );\n\n\t\t// Test default display if display is currently \"none\"\n\t\tcheckDisplay = display === \"none\" ?\n\t\t\tjQuery._data( elem, \"olddisplay\" ) || defaultDisplay( elem.nodeName ) : display;\n\n\t\tif ( checkDisplay === \"inline\" && jQuery.css( elem, \"float\" ) === \"none\" ) {\n\n\t\t\t// inline-level elements accept inline-block;\n\t\t\t// block-level elements need to be inline with layout\n\t\t\tif ( !support.inlineBlockNeedsLayout || defaultDisplay( elem.nodeName ) === \"inline\" ) {\n\t\t\t\tstyle.display = \"inline-block\";\n\t\t\t} else {\n\t\t\t\tstyle.zoom = 1;\n\t\t\t}\n\t\t}\n\t}\n\n\tif ( opts.overflow ) {\n\t\tstyle.overflow = \"hidden\";\n\t\tif ( !support.shrinkWrapBlocks() ) {\n\t\t\tanim.always( function() {\n\t\t\t\tstyle.overflow = opts.overflow[ 0 ];\n\t\t\t\tstyle.overflowX = opts.overflow[ 1 ];\n\t\t\t\tstyle.overflowY = opts.overflow[ 2 ];\n\t\t\t} );\n\t\t}\n\t}\n\n\t// show/hide pass\n\tfor ( prop in props ) {\n\t\tvalue = props[ prop ];\n\t\tif ( rfxtypes.exec( value ) ) {\n\t\t\tdelete props[ prop ];\n\t\t\ttoggle = toggle || value === \"toggle\";\n\t\t\tif ( value === ( hidden ? \"hide\" : \"show\" ) ) {\n\n\t\t\t\t// If there is dataShow left over from a stopped hide or show\n\t\t\t\t// and we are going to proceed with show, we should pretend to be hidden\n\t\t\t\tif ( value === \"show\" && dataShow && dataShow[ prop ] !== undefined ) {\n\t\t\t\t\thidden = true;\n\t\t\t\t} else {\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\t\t\t}\n\t\t\torig[ prop ] = dataShow && dataShow[ prop ] || jQuery.style( elem, prop );\n\n\t\t// Any non-fx value stops us from restoring the original display value\n\t\t} else {\n\t\t\tdisplay = undefined;\n\t\t}\n\t}\n\n\tif ( !jQuery.isEmptyObject( orig ) ) {\n\t\tif ( dataShow ) {\n\t\t\tif ( \"hidden\" in dataShow ) {\n\t\t\t\thidden = dataShow.hidden;\n\t\t\t}\n\t\t} else {\n\t\t\tdataShow = jQuery._data( elem, \"fxshow\", {} );\n\t\t}\n\n\t\t// store state if its toggle - enables .stop().toggle() to \"reverse\"\n\t\tif ( toggle ) {\n\t\t\tdataShow.hidden = !hidden;\n\t\t}\n\t\tif ( hidden ) {\n\t\t\tjQuery( elem ).show();\n\t\t} else {\n\t\t\tanim.done( function() {\n\t\t\t\tjQuery( elem ).hide();\n\t\t\t} );\n\t\t}\n\t\tanim.done( function() {\n\t\t\tvar prop;\n\t\t\tjQuery._removeData( elem, \"fxshow\" );\n\t\t\tfor ( prop in orig ) {\n\t\t\t\tjQuery.style( elem, prop, orig[ prop ] );\n\t\t\t}\n\t\t} );\n\t\tfor ( prop in orig ) {\n\t\t\ttween = createTween( hidden ? dataShow[ prop ] : 0, prop, anim );\n\n\t\t\tif ( !( prop in dataShow ) ) {\n\t\t\t\tdataShow[ prop ] = tween.start;\n\t\t\t\tif ( hidden ) {\n\t\t\t\t\ttween.end = tween.start;\n\t\t\t\t\ttween.start = prop === \"width\" || prop === \"height\" ? 1 : 0;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t// If this is a noop like .hide().hide(), restore an overwritten display value\n\t} else if ( ( display === \"none\" ? defaultDisplay( elem.nodeName ) : display ) === \"inline\" ) {\n\t\tstyle.display = display;\n\t}\n}\n\nfunction propFilter( props, specialEasing ) {\n\tvar index, name, easing, value, hooks;\n\n\t// camelCase, specialEasing and expand cssHook pass\n\tfor ( index in props ) {\n\t\tname = jQuery.camelCase( index );\n\t\teasing = specialEasing[ name ];\n\t\tvalue = props[ index ];\n\t\tif ( jQuery.isArray( value ) ) {\n\t\t\teasing = value[ 1 ];\n\t\t\tvalue = props[ index ] = value[ 0 ];\n\t\t}\n\n\t\tif ( index !== name ) {\n\t\t\tprops[ name ] = value;\n\t\t\tdelete props[ index ];\n\t\t}\n\n\t\thooks = jQuery.cssHooks[ name ];\n\t\tif ( hooks && \"expand\" in hooks ) {\n\t\t\tvalue = hooks.expand( value );\n\t\t\tdelete props[ name ];\n\n\t\t\t// not quite $.extend, this wont overwrite keys already present.\n\t\t\t// also - reusing 'index' from above because we have the correct \"name\"\n\t\t\tfor ( index in value ) {\n\t\t\t\tif ( !( index in props ) ) {\n\t\t\t\t\tprops[ index ] = value[ index ];\n\t\t\t\t\tspecialEasing[ index ] = easing;\n\t\t\t\t}\n\t\t\t}\n\t\t} else {\n\t\t\tspecialEasing[ name ] = easing;\n\t\t}\n\t}\n}\n\nfunction Animation( elem, properties, options ) {\n\tvar result,\n\t\tstopped,\n\t\tindex = 0,\n\t\tlength = Animation.prefilters.length,\n\t\tdeferred = jQuery.Deferred().always( function() {\n\n\t\t\t// don't match elem in the :animated selector\n\t\t\tdelete tick.elem;\n\t\t} ),\n\t\ttick = function() {\n\t\t\tif ( stopped ) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t\tvar currentTime = fxNow || createFxNow(),\n\t\t\t\tremaining = Math.max( 0, animation.startTime + animation.duration - currentTime ),\n\n\t\t\t\t// Support: Android 2.3\n\t\t\t\t// Archaic crash bug won't allow us to use `1 - ( 0.5 || 0 )` (#12497)\n\t\t\t\ttemp = remaining / animation.duration || 0,\n\t\t\t\tpercent = 1 - temp,\n\t\t\t\tindex = 0,\n\t\t\t\tlength = animation.tweens.length;\n\n\t\t\tfor ( ; index < length ; index++ ) {\n\t\t\t\tanimation.tweens[ index ].run( percent );\n\t\t\t}\n\n\t\t\tdeferred.notifyWith( elem, [ animation, percent, remaining ] );\n\n\t\t\tif ( percent < 1 && length ) {\n\t\t\t\treturn remaining;\n\t\t\t} else {\n\t\t\t\tdeferred.resolveWith( elem, [ animation ] );\n\t\t\t\treturn false;\n\t\t\t}\n\t\t},\n\t\tanimation = deferred.promise( {\n\t\t\telem: elem,\n\t\t\tprops: jQuery.extend( {}, properties ),\n\t\t\topts: jQuery.extend( true, {\n\t\t\t\tspecialEasing: {},\n\t\t\t\teasing: jQuery.easing._default\n\t\t\t}, options ),\n\t\t\toriginalProperties: properties,\n\t\t\toriginalOptions: options,\n\t\t\tstartTime: fxNow || createFxNow(),\n\t\t\tduration: options.duration,\n\t\t\ttweens: [],\n\t\t\tcreateTween: function( prop, end ) {\n\t\t\t\tvar tween = jQuery.Tween( elem, animation.opts, prop, end,\n\t\t\t\t\t\tanimation.opts.specialEasing[ prop ] || animation.opts.easing );\n\t\t\t\tanimation.tweens.push( tween );\n\t\t\t\treturn tween;\n\t\t\t},\n\t\t\tstop: function( gotoEnd ) {\n\t\t\t\tvar index = 0,\n\n\t\t\t\t\t// if we are going to the end, we want to run all the tweens\n\t\t\t\t\t// otherwise we skip this part\n\t\t\t\t\tlength = gotoEnd ? animation.tweens.length : 0;\n\t\t\t\tif ( stopped ) {\n\t\t\t\t\treturn this;\n\t\t\t\t}\n\t\t\t\tstopped = true;\n\t\t\t\tfor ( ; index < length ; index++ ) {\n\t\t\t\t\tanimation.tweens[ index ].run( 1 );\n\t\t\t\t}\n\n\t\t\t\t// resolve when we played the last frame\n\t\t\t\t// otherwise, reject\n\t\t\t\tif ( gotoEnd ) {\n\t\t\t\t\tdeferred.notifyWith( elem, [ animation, 1, 0 ] );\n\t\t\t\t\tdeferred.resolveWith( elem, [ animation, gotoEnd ] );\n\t\t\t\t} else {\n\t\t\t\t\tdeferred.rejectWith( elem, [ animation, gotoEnd ] );\n\t\t\t\t}\n\t\t\t\treturn this;\n\t\t\t}\n\t\t} ),\n\t\tprops = animation.props;\n\n\tpropFilter( props, animation.opts.specialEasing );\n\n\tfor ( ; index < length ; index++ ) {\n\t\tresult = Animation.prefilters[ index ].call( animation, elem, props, animation.opts );\n\t\tif ( result ) {\n\t\t\tif ( jQuery.isFunction( result.stop ) ) {\n\t\t\t\tjQuery._queueHooks( animation.elem, animation.opts.queue ).stop =\n\t\t\t\t\tjQuery.proxy( result.stop, result );\n\t\t\t}\n\t\t\treturn result;\n\t\t}\n\t}\n\n\tjQuery.map( props, createTween, animation );\n\n\tif ( jQuery.isFunction( animation.opts.start ) ) {\n\t\tanimation.opts.start.call( elem, animation );\n\t}\n\n\tjQuery.fx.timer(\n\t\tjQuery.extend( tick, {\n\t\t\telem: elem,\n\t\t\tanim: animation,\n\t\t\tqueue: animation.opts.queue\n\t\t} )\n\t);\n\n\t// attach callbacks from options\n\treturn animation.progress( animation.opts.progress )\n\t\t.done( animation.opts.done, animation.opts.complete )\n\t\t.fail( animation.opts.fail )\n\t\t.always( animation.opts.always );\n}\n\njQuery.Animation = jQuery.extend( Animation, {\n\n\ttweeners: {\n\t\t\"*\": [ function( prop, value ) {\n\t\t\tvar tween = this.createTween( prop, value );\n\t\t\tadjustCSS( tween.elem, prop, rcssNum.exec( value ), tween );\n\t\t\treturn tween;\n\t\t} ]\n\t},\n\n\ttweener: function( props, callback ) {\n\t\tif ( jQuery.isFunction( props ) ) {\n\t\t\tcallback = props;\n\t\t\tprops = [ \"*\" ];\n\t\t} else {\n\t\t\tprops = props.match( rnotwhite );\n\t\t}\n\n\t\tvar prop,\n\t\t\tindex = 0,\n\t\t\tlength = props.length;\n\n\t\tfor ( ; index < length ; index++ ) {\n\t\t\tprop = props[ index ];\n\t\t\tAnimation.tweeners[ prop ] = Animation.tweeners[ prop ] || [];\n\t\t\tAnimation.tweeners[ prop ].unshift( callback );\n\t\t}\n\t},\n\n\tprefilters: [ defaultPrefilter ],\n\n\tprefilter: function( callback, prepend ) {\n\t\tif ( prepend ) {\n\t\t\tAnimation.prefilters.unshift( callback );\n\t\t} else {\n\t\t\tAnimation.prefilters.push( callback );\n\t\t}\n\t}\n} );\n\njQuery.speed = function( speed, easing, fn ) {\n\tvar opt = speed && typeof speed === \"object\" ? jQuery.extend( {}, speed ) : {\n\t\tcomplete: fn || !fn && easing ||\n\t\t\tjQuery.isFunction( speed ) && speed,\n\t\tduration: speed,\n\t\teasing: fn && easing || easing && !jQuery.isFunction( easing ) && easing\n\t};\n\n\topt.duration = jQuery.fx.off ? 0 : typeof opt.duration === \"number\" ? opt.duration :\n\t\topt.duration in jQuery.fx.speeds ?\n\t\t\tjQuery.fx.speeds[ opt.duration ] : jQuery.fx.speeds._default;\n\n\t// normalize opt.queue - true/undefined/null -> \"fx\"\n\tif ( opt.queue == null || opt.queue === true ) {\n\t\topt.queue = \"fx\";\n\t}\n\n\t// Queueing\n\topt.old = opt.complete;\n\n\topt.complete = function() {\n\t\tif ( jQuery.isFunction( opt.old ) ) {\n\t\t\topt.old.call( this );\n\t\t}\n\n\t\tif ( opt.queue ) {\n\t\t\tjQuery.dequeue( this, opt.queue );\n\t\t}\n\t};\n\n\treturn opt;\n};\n\njQuery.fn.extend( {\n\tfadeTo: function( speed, to, easing, callback ) {\n\n\t\t// show any hidden elements after setting opacity to 0\n\t\treturn this.filter( isHidden ).css( \"opacity\", 0 ).show()\n\n\t\t\t// animate to the value specified\n\t\t\t.end().animate( { opacity: to }, speed, easing, callback );\n\t},\n\tanimate: function( prop, speed, easing, callback ) {\n\t\tvar empty = jQuery.isEmptyObject( prop ),\n\t\t\toptall = jQuery.speed( speed, easing, callback ),\n\t\t\tdoAnimation = function() {\n\n\t\t\t\t// Operate on a copy of prop so per-property easing won't be lost\n\t\t\t\tvar anim = Animation( this, jQuery.extend( {}, prop ), optall );\n\n\t\t\t\t// Empty animations, or finishing resolves immediately\n\t\t\t\tif ( empty || jQuery._data( this, \"finish\" ) ) {\n\t\t\t\t\tanim.stop( true );\n\t\t\t\t}\n\t\t\t};\n\t\t\tdoAnimation.finish = doAnimation;\n\n\t\treturn empty || optall.queue === false ?\n\t\t\tthis.each( doAnimation ) :\n\t\t\tthis.queue( optall.queue, doAnimation );\n\t},\n\tstop: function( type, clearQueue, gotoEnd ) {\n\t\tvar stopQueue = function( hooks ) {\n\t\t\tvar stop = hooks.stop;\n\t\t\tdelete hooks.stop;\n\t\t\tstop( gotoEnd );\n\t\t};\n\n\t\tif ( typeof type !== \"string\" ) {\n\t\t\tgotoEnd = clearQueue;\n\t\t\tclearQueue = type;\n\t\t\ttype = undefined;\n\t\t}\n\t\tif ( clearQueue && type !== false ) {\n\t\t\tthis.queue( type || \"fx\", [] );\n\t\t}\n\n\t\treturn this.each( function() {\n\t\t\tvar dequeue = true,\n\t\t\t\tindex = type != null && type + \"queueHooks\",\n\t\t\t\ttimers = jQuery.timers,\n\t\t\t\tdata = jQuery._data( this );\n\n\t\t\tif ( index ) {\n\t\t\t\tif ( data[ index ] && data[ index ].stop ) {\n\t\t\t\t\tstopQueue( data[ index ] );\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tfor ( index in data ) {\n\t\t\t\t\tif ( data[ index ] && data[ index ].stop && rrun.test( index ) ) {\n\t\t\t\t\t\tstopQueue( data[ index ] );\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tfor ( index = timers.length; index--; ) {\n\t\t\t\tif ( timers[ index ].elem === this &&\n\t\t\t\t\t( type == null || timers[ index ].queue === type ) ) {\n\n\t\t\t\t\ttimers[ index ].anim.stop( gotoEnd );\n\t\t\t\t\tdequeue = false;\n\t\t\t\t\ttimers.splice( index, 1 );\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// start the next in the queue if the last step wasn't forced\n\t\t\t// timers currently will call their complete callbacks, which will dequeue\n\t\t\t// but only if they were gotoEnd\n\t\t\tif ( dequeue || !gotoEnd ) {\n\t\t\t\tjQuery.dequeue( this, type );\n\t\t\t}\n\t\t} );\n\t},\n\tfinish: function( type ) {\n\t\tif ( type !== false ) {\n\t\t\ttype = type || \"fx\";\n\t\t}\n\t\treturn this.each( function() {\n\t\t\tvar index,\n\t\t\t\tdata = jQuery._data( this ),\n\t\t\t\tqueue = data[ type + \"queue\" ],\n\t\t\t\thooks = data[ type + \"queueHooks\" ],\n\t\t\t\ttimers = jQuery.timers,\n\t\t\t\tlength = queue ? queue.length : 0;\n\n\t\t\t// enable finishing flag on private data\n\t\t\tdata.finish = true;\n\n\t\t\t// empty the queue first\n\t\t\tjQuery.queue( this, type, [] );\n\n\t\t\tif ( hooks && hooks.stop ) {\n\t\t\t\thooks.stop.call( this, true );\n\t\t\t}\n\n\t\t\t// look for any active animations, and finish them\n\t\t\tfor ( index = timers.length; index--; ) {\n\t\t\t\tif ( timers[ index ].elem === this && timers[ index ].queue === type ) {\n\t\t\t\t\ttimers[ index ].anim.stop( true );\n\t\t\t\t\ttimers.splice( index, 1 );\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// look for any animations in the old queue and finish them\n\t\t\tfor ( index = 0; index < length; index++ ) {\n\t\t\t\tif ( queue[ index ] && queue[ index ].finish ) {\n\t\t\t\t\tqueue[ index ].finish.call( this );\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// turn off finishing flag\n\t\t\tdelete data.finish;\n\t\t} );\n\t}\n} );\n\njQuery.each( [ \"toggle\", \"show\", \"hide\" ], function( i, name ) {\n\tvar cssFn = jQuery.fn[ name ];\n\tjQuery.fn[ name ] = function( speed, easing, callback ) {\n\t\treturn speed == null || typeof speed === \"boolean\" ?\n\t\t\tcssFn.apply( this, arguments ) :\n\t\t\tthis.animate( genFx( name, true ), speed, easing, callback );\n\t};\n} );\n\n// Generate shortcuts for custom animations\njQuery.each( {\n\tslideDown: genFx( \"show\" ),\n\tslideUp: genFx( \"hide\" ),\n\tslideToggle: genFx( \"toggle\" ),\n\tfadeIn: { opacity: \"show\" },\n\tfadeOut: { opacity: \"hide\" },\n\tfadeToggle: { opacity: \"toggle\" }\n}, function( name, props ) {\n\tjQuery.fn[ name ] = function( speed, easing, callback ) {\n\t\treturn this.animate( props, speed, easing, callback );\n\t};\n} );\n\njQuery.timers = [];\njQuery.fx.tick = function() {\n\tvar timer,\n\t\ttimers = jQuery.timers,\n\t\ti = 0;\n\n\tfxNow = jQuery.now();\n\n\tfor ( ; i < timers.length; i++ ) {\n\t\ttimer = timers[ i ];\n\n\t\t// Checks the timer has not already been removed\n\t\tif ( !timer() && timers[ i ] === timer ) {\n\t\t\ttimers.splice( i--, 1 );\n\t\t}\n\t}\n\n\tif ( !timers.length ) {\n\t\tjQuery.fx.stop();\n\t}\n\tfxNow = undefined;\n};\n\njQuery.fx.timer = function( timer ) {\n\tjQuery.timers.push( timer );\n\tif ( timer() ) {\n\t\tjQuery.fx.start();\n\t} else {\n\t\tjQuery.timers.pop();\n\t}\n};\n\njQuery.fx.interval = 13;\n\njQuery.fx.start = function() {\n\tif ( !timerId ) {\n\t\ttimerId = window.setInterval( jQuery.fx.tick, jQuery.fx.interval );\n\t}\n};\n\njQuery.fx.stop = function() {\n\twindow.clearInterval( timerId );\n\ttimerId = null;\n};\n\njQuery.fx.speeds = {\n\tslow: 600,\n\tfast: 200,\n\n\t// Default speed\n\t_default: 400\n};\n\n\n// Based off of the plugin by Clint Helfers, with permission.\n// http://web.archive.org/web/20100324014747/http://blindsignals.com/index.php/2009/07/jquery-delay/\njQuery.fn.delay = function( time, type ) {\n\ttime = jQuery.fx ? jQuery.fx.speeds[ time ] || time : time;\n\ttype = type || \"fx\";\n\n\treturn this.queue( type, function( next, hooks ) {\n\t\tvar timeout = window.setTimeout( next, time );\n\t\thooks.stop = function() {\n\t\t\twindow.clearTimeout( timeout );\n\t\t};\n\t} );\n};\n\n\n( function() {\n\tvar a,\n\t\tinput = document.createElement( \"input\" ),\n\t\tdiv = document.createElement( \"div\" ),\n\t\tselect = document.createElement( \"select\" ),\n\t\topt = select.appendChild( document.createElement( \"option\" ) );\n\n\t// Setup\n\tdiv = document.createElement( \"div\" );\n\tdiv.setAttribute( \"className\", \"t\" );\n\tdiv.innerHTML = \" <link/><table></table><a href='/a'>a</a><input type='checkbox'/>\";\n\ta = div.getElementsByTagName( \"a\" )[ 0 ];\n\n\t// Support: Windows Web Apps (WWA)\n\t// `type` must use .setAttribute for WWA (#14901)\n\tinput.setAttribute( \"type\", \"checkbox\" );\n\tdiv.appendChild( input );\n\n\ta = div.getElementsByTagName( \"a\" )[ 0 ];\n\n\t// First batch of tests.\n\ta.style.cssText = \"top:1px\";\n\n\t// Test setAttribute on camelCase class.\n\t// If it works, we need attrFixes when doing get/setAttribute (ie6/7)\n\tsupport.getSetAttribute = div.className !== \"t\";\n\n\t// Get the style information from getAttribute\n\t// (IE uses .cssText instead)\n\tsupport.style = /top/.test( a.getAttribute( \"style\" ) );\n\n\t// Make sure that URLs aren't manipulated\n\t// (IE normalizes it by default)\n\tsupport.hrefNormalized = a.getAttribute( \"href\" ) === \"/a\";\n\n\t// Check the default checkbox/radio value (\"\" on WebKit; \"on\" elsewhere)\n\tsupport.checkOn = !!input.value;\n\n\t// Make sure that a selected-by-default option has a working selected property.\n\t// (WebKit defaults to false instead of true, IE too, if it's in an optgroup)\n\tsupport.optSelected = opt.selected;\n\n\t// Tests for enctype support on a form (#6743)\n\tsupport.enctype = !!document.createElement( \"form\" ).enctype;\n\n\t// Make sure that the options inside disabled selects aren't marked as disabled\n\t// (WebKit marks them as disabled)\n\tselect.disabled = true;\n\tsupport.optDisabled = !opt.disabled;\n\n\t// Support: IE8 only\n\t// Check if we can trust getAttribute(\"value\")\n\tinput = document.createElement( \"input\" );\n\tinput.setAttribute( \"value\", \"\" );\n\tsupport.input = input.getAttribute( \"value\" ) === \"\";\n\n\t// Check if an input maintains its value after becoming a radio\n\tinput.value = \"t\";\n\tinput.setAttribute( \"type\", \"radio\" );\n\tsupport.radioValue = input.value === \"t\";\n} )();\n\n\nvar rreturn = /\\r/g,\n\trspaces = /[\\x20\\t\\r\\n\\f]+/g;\n\njQuery.fn.extend( {\n\tval: function( value ) {\n\t\tvar hooks, ret, isFunction,\n\t\t\telem = this[ 0 ];\n\n\t\tif ( !arguments.length ) {\n\t\t\tif ( elem ) {\n\t\t\t\thooks = jQuery.valHooks[ elem.type ] ||\n\t\t\t\t\tjQuery.valHooks[ elem.nodeName.toLowerCase() ];\n\n\t\t\t\tif (\n\t\t\t\t\thooks &&\n\t\t\t\t\t\"get\" in hooks &&\n\t\t\t\t\t( ret = hooks.get( elem, \"value\" ) ) !== undefined\n\t\t\t\t) {\n\t\t\t\t\treturn ret;\n\t\t\t\t}\n\n\t\t\t\tret = elem.value;\n\n\t\t\t\treturn typeof ret === \"string\" ?\n\n\t\t\t\t\t// handle most common string cases\n\t\t\t\t\tret.replace( rreturn, \"\" ) :\n\n\t\t\t\t\t// handle cases where value is null/undef or number\n\t\t\t\t\tret == null ? \"\" : ret;\n\t\t\t}\n\n\t\t\treturn;\n\t\t}\n\n\t\tisFunction = jQuery.isFunction( value );\n\n\t\treturn this.each( function( i ) {\n\t\t\tvar val;\n\n\t\t\tif ( this.nodeType !== 1 ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif ( isFunction ) {\n\t\t\t\tval = value.call( this, i, jQuery( this ).val() );\n\t\t\t} else {\n\t\t\t\tval = value;\n\t\t\t}\n\n\t\t\t// Treat null/undefined as \"\"; convert numbers to string\n\t\t\tif ( val == null ) {\n\t\t\t\tval = \"\";\n\t\t\t} else if ( typeof val === \"number\" ) {\n\t\t\t\tval += \"\";\n\t\t\t} else if ( jQuery.isArray( val ) ) {\n\t\t\t\tval = jQuery.map( val, function( value ) {\n\t\t\t\t\treturn value == null ? \"\" : value + \"\";\n\t\t\t\t} );\n\t\t\t}\n\n\t\t\thooks = jQuery.valHooks[ this.type ] || jQuery.valHooks[ this.nodeName.toLowerCase() ];\n\n\t\t\t// If set returns undefined, fall back to normal setting\n\t\t\tif ( !hooks || !( \"set\" in hooks ) || hooks.set( this, val, \"value\" ) === undefined ) {\n\t\t\t\tthis.value = val;\n\t\t\t}\n\t\t} );\n\t}\n} );\n\njQuery.extend( {\n\tvalHooks: {\n\t\toption: {\n\t\t\tget: function( elem ) {\n\t\t\t\tvar val = jQuery.find.attr( elem, \"value\" );\n\t\t\t\treturn val != null ?\n\t\t\t\t\tval :\n\n\t\t\t\t\t// Support: IE10-11+\n\t\t\t\t\t// option.text throws exceptions (#14686, #14858)\n\t\t\t\t\t// Strip and collapse whitespace\n\t\t\t\t\t// https://html.spec.whatwg.org/#strip-and-collapse-whitespace\n\t\t\t\t\tjQuery.trim( jQuery.text( elem ) ).replace( rspaces, \" \" );\n\t\t\t}\n\t\t},\n\t\tselect: {\n\t\t\tget: function( elem ) {\n\t\t\t\tvar value, option,\n\t\t\t\t\toptions = elem.options,\n\t\t\t\t\tindex = elem.selectedIndex,\n\t\t\t\t\tone = elem.type === \"select-one\" || index < 0,\n\t\t\t\t\tvalues = one ? null : [],\n\t\t\t\t\tmax = one ? index + 1 : options.length,\n\t\t\t\t\ti = index < 0 ?\n\t\t\t\t\t\tmax :\n\t\t\t\t\t\tone ? index : 0;\n\n\t\t\t\t// Loop through all the selected options\n\t\t\t\tfor ( ; i < max; i++ ) {\n\t\t\t\t\toption = options[ i ];\n\n\t\t\t\t\t// oldIE doesn't update selected after form reset (#2551)\n\t\t\t\t\tif ( ( option.selected || i === index ) &&\n\n\t\t\t\t\t\t\t// Don't return options that are disabled or in a disabled optgroup\n\t\t\t\t\t\t\t( support.optDisabled ?\n\t\t\t\t\t\t\t\t!option.disabled :\n\t\t\t\t\t\t\t\toption.getAttribute( \"disabled\" ) === null ) &&\n\t\t\t\t\t\t\t( !option.parentNode.disabled ||\n\t\t\t\t\t\t\t\t!jQuery.nodeName( option.parentNode, \"optgroup\" ) ) ) {\n\n\t\t\t\t\t\t// Get the specific value for the option\n\t\t\t\t\t\tvalue = jQuery( option ).val();\n\n\t\t\t\t\t\t// We don't need an array for one selects\n\t\t\t\t\t\tif ( one ) {\n\t\t\t\t\t\t\treturn value;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t// Multi-Selects return an array\n\t\t\t\t\t\tvalues.push( value );\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\treturn values;\n\t\t\t},\n\n\t\t\tset: function( elem, value ) {\n\t\t\t\tvar optionSet, option,\n\t\t\t\t\toptions = elem.options,\n\t\t\t\t\tvalues = jQuery.makeArray( value ),\n\t\t\t\t\ti = options.length;\n\n\t\t\t\twhile ( i-- ) {\n\t\t\t\t\toption = options[ i ];\n\n\t\t\t\t\tif ( jQuery.inArray( jQuery.valHooks.option.get( option ), values ) > -1 ) {\n\n\t\t\t\t\t\t// Support: IE6\n\t\t\t\t\t\t// When new option element is added to select box we need to\n\t\t\t\t\t\t// force reflow of newly added node in order to workaround delay\n\t\t\t\t\t\t// of initialization properties\n\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\toption.selected = optionSet = true;\n\n\t\t\t\t\t\t} catch ( _ ) {\n\n\t\t\t\t\t\t\t// Will be executed only in IE6\n\t\t\t\t\t\t\toption.scrollHeight;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t} else {\n\t\t\t\t\t\toption.selected = false;\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\t// Force browsers to behave consistently when non-matching value is set\n\t\t\t\tif ( !optionSet ) {\n\t\t\t\t\telem.selectedIndex = -1;\n\t\t\t\t}\n\n\t\t\t\treturn options;\n\t\t\t}\n\t\t}\n\t}\n} );\n\n// Radios and checkboxes getter/setter\njQuery.each( [ \"radio\", \"checkbox\" ], function() {\n\tjQuery.valHooks[ this ] = {\n\t\tset: function( elem, value ) {\n\t\t\tif ( jQuery.isArray( value ) ) {\n\t\t\t\treturn ( elem.checked = jQuery.inArray( jQuery( elem ).val(), value ) > -1 );\n\t\t\t}\n\t\t}\n\t};\n\tif ( !support.checkOn ) {\n\t\tjQuery.valHooks[ this ].get = function( elem ) {\n\t\t\treturn elem.getAttribute( \"value\" ) === null ? \"on\" : elem.value;\n\t\t};\n\t}\n} );\n\n\n\n\nvar nodeHook, boolHook,\n\tattrHandle = jQuery.expr.attrHandle,\n\truseDefault = /^(?:checked|selected)$/i,\n\tgetSetAttribute = support.getSetAttribute,\n\tgetSetInput = support.input;\n\njQuery.fn.extend( {\n\tattr: function( name, value ) {\n\t\treturn access( this, jQuery.attr, name, value, arguments.length > 1 );\n\t},\n\n\tremoveAttr: function( name ) {\n\t\treturn this.each( function() {\n\t\t\tjQuery.removeAttr( this, name );\n\t\t} );\n\t}\n} );\n\njQuery.extend( {\n\tattr: function( elem, name, value ) {\n\t\tvar ret, hooks,\n\t\t\tnType = elem.nodeType;\n\n\t\t// Don't get/set attributes on text, comment and attribute nodes\n\t\tif ( nType === 3 || nType === 8 || nType === 2 ) {\n\t\t\treturn;\n\t\t}\n\n\t\t// Fallback to prop when attributes are not supported\n\t\tif ( typeof elem.getAttribute === \"undefined\" ) {\n\t\t\treturn jQuery.prop( elem, name, value );\n\t\t}\n\n\t\t// All attributes are lowercase\n\t\t// Grab necessary hook if one is defined\n\t\tif ( nType !== 1 || !jQuery.isXMLDoc( elem ) ) {\n\t\t\tname = name.toLowerCase();\n\t\t\thooks = jQuery.attrHooks[ name ] ||\n\t\t\t\t( jQuery.expr.match.bool.test( name ) ? boolHook : nodeHook );\n\t\t}\n\n\t\tif ( value !== undefined ) {\n\t\t\tif ( value === null ) {\n\t\t\t\tjQuery.removeAttr( elem, name );\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif ( hooks && \"set\" in hooks &&\n\t\t\t\t( ret = hooks.set( elem, value, name ) ) !== undefined ) {\n\t\t\t\treturn ret;\n\t\t\t}\n\n\t\t\telem.setAttribute( name, value + \"\" );\n\t\t\treturn value;\n\t\t}\n\n\t\tif ( hooks && \"get\" in hooks && ( ret = hooks.get( elem, name ) ) !== null ) {\n\t\t\treturn ret;\n\t\t}\n\n\t\tret = jQuery.find.attr( elem, name );\n\n\t\t// Non-existent attributes return null, we normalize to undefined\n\t\treturn ret == null ? undefined : ret;\n\t},\n\n\tattrHooks: {\n\t\ttype: {\n\t\t\tset: function( elem, value ) {\n\t\t\t\tif ( !support.radioValue && value === \"radio\" &&\n\t\t\t\t\tjQuery.nodeName( elem, \"input\" ) ) {\n\n\t\t\t\t\t// Setting the type on a radio button after the value resets the value in IE8-9\n\t\t\t\t\t// Reset value to default in case type is set after value during creation\n\t\t\t\t\tvar val = elem.value;\n\t\t\t\t\telem.setAttribute( \"type\", value );\n\t\t\t\t\tif ( val ) {\n\t\t\t\t\t\telem.value = val;\n\t\t\t\t\t}\n\t\t\t\t\treturn value;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t},\n\n\tremoveAttr: function( elem, value ) {\n\t\tvar name, propName,\n\t\t\ti = 0,\n\t\t\tattrNames = value && value.match( rnotwhite );\n\n\t\tif ( attrNames && elem.nodeType === 1 ) {\n\t\t\twhile ( ( name = attrNames[ i++ ] ) ) {\n\t\t\t\tpropName = jQuery.propFix[ name ] || name;\n\n\t\t\t\t// Boolean attributes get special treatment (#10870)\n\t\t\t\tif ( jQuery.expr.match.bool.test( name ) ) {\n\n\t\t\t\t\t// Set corresponding property to false\n\t\t\t\t\tif ( getSetInput && getSetAttribute || !ruseDefault.test( name ) ) {\n\t\t\t\t\t\telem[ propName ] = false;\n\n\t\t\t\t\t// Support: IE<9\n\t\t\t\t\t// Also clear defaultChecked/defaultSelected (if appropriate)\n\t\t\t\t\t} else {\n\t\t\t\t\t\telem[ jQuery.camelCase( \"default-\" + name ) ] =\n\t\t\t\t\t\t\telem[ propName ] = false;\n\t\t\t\t\t}\n\n\t\t\t\t// See #9699 for explanation of this approach (setting first, then removal)\n\t\t\t\t} else {\n\t\t\t\t\tjQuery.attr( elem, name, \"\" );\n\t\t\t\t}\n\n\t\t\t\telem.removeAttribute( getSetAttribute ? name : propName );\n\t\t\t}\n\t\t}\n\t}\n} );\n\n// Hooks for boolean attributes\nboolHook = {\n\tset: function( elem, value, name ) {\n\t\tif ( value === false ) {\n\n\t\t\t// Remove boolean attributes when set to false\n\t\t\tjQuery.removeAttr( elem, name );\n\t\t} else if ( getSetInput && getSetAttribute || !ruseDefault.test( name ) ) {\n\n\t\t\t// IE<8 needs the *property* name\n\t\t\telem.setAttribute( !getSetAttribute && jQuery.propFix[ name ] || name, name );\n\n\t\t} else {\n\n\t\t\t// Support: IE<9\n\t\t\t// Use defaultChecked and defaultSelected for oldIE\n\t\t\telem[ jQuery.camelCase( \"default-\" + name ) ] = elem[ name ] = true;\n\t\t}\n\t\treturn name;\n\t}\n};\n\njQuery.each( jQuery.expr.match.bool.source.match( /\\w+/g ), function( i, name ) {\n\tvar getter = attrHandle[ name ] || jQuery.find.attr;\n\n\tif ( getSetInput && getSetAttribute || !ruseDefault.test( name ) ) {\n\t\tattrHandle[ name ] = function( elem, name, isXML ) {\n\t\t\tvar ret, handle;\n\t\t\tif ( !isXML ) {\n\n\t\t\t\t// Avoid an infinite loop by temporarily removing this function from the getter\n\t\t\t\thandle = attrHandle[ name ];\n\t\t\t\tattrHandle[ name ] = ret;\n\t\t\t\tret = getter( elem, name, isXML ) != null ?\n\t\t\t\t\tname.toLowerCase() :\n\t\t\t\t\tnull;\n\t\t\t\tattrHandle[ name ] = handle;\n\t\t\t}\n\t\t\treturn ret;\n\t\t};\n\t} else {\n\t\tattrHandle[ name ] = function( elem, name, isXML ) {\n\t\t\tif ( !isXML ) {\n\t\t\t\treturn elem[ jQuery.camelCase( \"default-\" + name ) ] ?\n\t\t\t\t\tname.toLowerCase() :\n\t\t\t\t\tnull;\n\t\t\t}\n\t\t};\n\t}\n} );\n\n// fix oldIE attroperties\nif ( !getSetInput || !getSetAttribute ) {\n\tjQuery.attrHooks.value = {\n\t\tset: function( elem, value, name ) {\n\t\t\tif ( jQuery.nodeName( elem, \"input\" ) ) {\n\n\t\t\t\t// Does not return so that setAttribute is also used\n\t\t\t\telem.defaultValue = value;\n\t\t\t} else {\n\n\t\t\t\t// Use nodeHook if defined (#1954); otherwise setAttribute is fine\n\t\t\t\treturn nodeHook && nodeHook.set( elem, value, name );\n\t\t\t}\n\t\t}\n\t};\n}\n\n// IE6/7 do not support getting/setting some attributes with get/setAttribute\nif ( !getSetAttribute ) {\n\n\t// Use this for any attribute in IE6/7\n\t// This fixes almost every IE6/7 issue\n\tnodeHook = {\n\t\tset: function( elem, value, name ) {\n\n\t\t\t// Set the existing or create a new attribute node\n\t\t\tvar ret = elem.getAttributeNode( name );\n\t\t\tif ( !ret ) {\n\t\t\t\telem.setAttributeNode(\n\t\t\t\t\t( ret = elem.ownerDocument.createAttribute( name ) )\n\t\t\t\t);\n\t\t\t}\n\n\t\t\tret.value = value += \"\";\n\n\t\t\t// Break association with cloned elements by also using setAttribute (#9646)\n\t\t\tif ( name === \"value\" || value === elem.getAttribute( name ) ) {\n\t\t\t\treturn value;\n\t\t\t}\n\t\t}\n\t};\n\n\t// Some attributes are constructed with empty-string values when not defined\n\tattrHandle.id = attrHandle.name = attrHandle.coords =\n\t\tfunction( elem, name, isXML ) {\n\t\t\tvar ret;\n\t\t\tif ( !isXML ) {\n\t\t\t\treturn ( ret = elem.getAttributeNode( name ) ) && ret.value !== \"\" ?\n\t\t\t\t\tret.value :\n\t\t\t\t\tnull;\n\t\t\t}\n\t\t};\n\n\t// Fixing value retrieval on a button requires this module\n\tjQuery.valHooks.button = {\n\t\tget: function( elem, name ) {\n\t\t\tvar ret = elem.getAttributeNode( name );\n\t\t\tif ( ret && ret.specified ) {\n\t\t\t\treturn ret.value;\n\t\t\t}\n\t\t},\n\t\tset: nodeHook.set\n\t};\n\n\t// Set contenteditable to false on removals(#10429)\n\t// Setting to empty string throws an error as an invalid value\n\tjQuery.attrHooks.contenteditable = {\n\t\tset: function( elem, value, name ) {\n\t\t\tnodeHook.set( elem, value === \"\" ? false : value, name );\n\t\t}\n\t};\n\n\t// Set width and height to auto instead of 0 on empty string( Bug #8150 )\n\t// This is for removals\n\tjQuery.each( [ \"width\", \"height\" ], function( i, name ) {\n\t\tjQuery.attrHooks[ name ] = {\n\t\t\tset: function( elem, value ) {\n\t\t\t\tif ( value === \"\" ) {\n\t\t\t\t\telem.setAttribute( name, \"auto\" );\n\t\t\t\t\treturn value;\n\t\t\t\t}\n\t\t\t}\n\t\t};\n\t} );\n}\n\nif ( !support.style ) {\n\tjQuery.attrHooks.style = {\n\t\tget: function( elem ) {\n\n\t\t\t// Return undefined in the case of empty string\n\t\t\t// Note: IE uppercases css property names, but if we were to .toLowerCase()\n\t\t\t// .cssText, that would destroy case sensitivity in URL's, like in \"background\"\n\t\t\treturn elem.style.cssText || undefined;\n\t\t},\n\t\tset: function( elem, value ) {\n\t\t\treturn ( elem.style.cssText = value + \"\" );\n\t\t}\n\t};\n}\n\n\n\n\nvar rfocusable = /^(?:input|select|textarea|button|object)$/i,\n\trclickable = /^(?:a|area)$/i;\n\njQuery.fn.extend( {\n\tprop: function( name, value ) {\n\t\treturn access( this, jQuery.prop, name, value, arguments.length > 1 );\n\t},\n\n\tremoveProp: function( name ) {\n\t\tname = jQuery.propFix[ name ] || name;\n\t\treturn this.each( function() {\n\n\t\t\t// try/catch handles cases where IE balks (such as removing a property on window)\n\t\t\ttry {\n\t\t\t\tthis[ name ] = undefined;\n\t\t\t\tdelete this[ name ];\n\t\t\t} catch ( e ) {}\n\t\t} );\n\t}\n} );\n\njQuery.extend( {\n\tprop: function( elem, name, value ) {\n\t\tvar ret, hooks,\n\t\t\tnType = elem.nodeType;\n\n\t\t// Don't get/set properties on text, comment and attribute nodes\n\t\tif ( nType === 3 || nType === 8 || nType === 2 ) {\n\t\t\treturn;\n\t\t}\n\n\t\tif ( nType !== 1 || !jQuery.isXMLDoc( elem ) ) {\n\n\t\t\t// Fix name and attach hooks\n\t\t\tname = jQuery.propFix[ name ] || name;\n\t\t\thooks = jQuery.propHooks[ name ];\n\t\t}\n\n\t\tif ( value !== undefined ) {\n\t\t\tif ( hooks && \"set\" in hooks &&\n\t\t\t\t( ret = hooks.set( elem, value, name ) ) !== undefined ) {\n\t\t\t\treturn ret;\n\t\t\t}\n\n\t\t\treturn ( elem[ name ] = value );\n\t\t}\n\n\t\tif ( hooks && \"get\" in hooks && ( ret = hooks.get( elem, name ) ) !== null ) {\n\t\t\treturn ret;\n\t\t}\n\n\t\treturn elem[ name ];\n\t},\n\n\tpropHooks: {\n\t\ttabIndex: {\n\t\t\tget: function( elem ) {\n\n\t\t\t\t// elem.tabIndex doesn't always return the\n\t\t\t\t// correct value when it hasn't been explicitly set\n\t\t\t\t// http://fluidproject.org/blog/2008/01/09/getting-setting-and-removing-tabindex-values-with-javascript/\n\t\t\t\t// Use proper attribute retrieval(#12072)\n\t\t\t\tvar tabindex = jQuery.find.attr( elem, \"tabindex\" );\n\n\t\t\t\treturn tabindex ?\n\t\t\t\t\tparseInt( tabindex, 10 ) :\n\t\t\t\t\trfocusable.test( elem.nodeName ) ||\n\t\t\t\t\t\trclickable.test( elem.nodeName ) && elem.href ?\n\t\t\t\t\t\t\t0 :\n\t\t\t\t\t\t\t-1;\n\t\t\t}\n\t\t}\n\t},\n\n\tpropFix: {\n\t\t\"for\": \"htmlFor\",\n\t\t\"class\": \"className\"\n\t}\n} );\n\n// Some attributes require a special call on IE\n// http://msdn.microsoft.com/en-us/library/ms536429%28VS.85%29.aspx\nif ( !support.hrefNormalized ) {\n\n\t// href/src property should get the full normalized URL (#10299/#12915)\n\tjQuery.each( [ \"href\", \"src\" ], function( i, name ) {\n\t\tjQuery.propHooks[ name ] = {\n\t\t\tget: function( elem ) {\n\t\t\t\treturn elem.getAttribute( name, 4 );\n\t\t\t}\n\t\t};\n\t} );\n}\n\n// Support: Safari, IE9+\n// Accessing the selectedIndex property\n// forces the browser to respect setting selected\n// on the option\n// The getter ensures a default option is selected\n// when in an optgroup\nif ( !support.optSelected ) {\n\tjQuery.propHooks.selected = {\n\t\tget: function( elem ) {\n\t\t\tvar parent = elem.parentNode;\n\n\t\t\tif ( parent ) {\n\t\t\t\tparent.selectedIndex;\n\n\t\t\t\t// Make sure that it also works with optgroups, see #5701\n\t\t\t\tif ( parent.parentNode ) {\n\t\t\t\t\tparent.parentNode.selectedIndex;\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn null;\n\t\t},\n\t\tset: function( elem ) {\n\t\t\tvar parent = elem.parentNode;\n\t\t\tif ( parent ) {\n\t\t\t\tparent.selectedIndex;\n\n\t\t\t\tif ( parent.parentNode ) {\n\t\t\t\t\tparent.parentNode.selectedIndex;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t};\n}\n\njQuery.each( [\n\t\"tabIndex\",\n\t\"readOnly\",\n\t\"maxLength\",\n\t\"cellSpacing\",\n\t\"cellPadding\",\n\t\"rowSpan\",\n\t\"colSpan\",\n\t\"useMap\",\n\t\"frameBorder\",\n\t\"contentEditable\"\n], function() {\n\tjQuery.propFix[ this.toLowerCase() ] = this;\n} );\n\n// IE6/7 call enctype encoding\nif ( !support.enctype ) {\n\tjQuery.propFix.enctype = \"encoding\";\n}\n\n\n\n\nvar rclass = /[\\t\\r\\n\\f]/g;\n\nfunction getClass( elem ) {\n\treturn jQuery.attr( elem, \"class\" ) || \"\";\n}\n\njQuery.fn.extend( {\n\taddClass: function( value ) {\n\t\tvar classes, elem, cur, curValue, clazz, j, finalValue,\n\t\t\ti = 0;\n\n\t\tif ( jQuery.isFunction( value ) ) {\n\t\t\treturn this.each( function( j ) {\n\t\t\t\tjQuery( this ).addClass( value.call( this, j, getClass( this ) ) );\n\t\t\t} );\n\t\t}\n\n\t\tif ( typeof value === \"string\" && value ) {\n\t\t\tclasses = value.match( rnotwhite ) || [];\n\n\t\t\twhile ( ( elem = this[ i++ ] ) ) {\n\t\t\t\tcurValue = getClass( elem );\n\t\t\t\tcur = elem.nodeType === 1 &&\n\t\t\t\t\t( \" \" + curValue + \" \" ).replace( rclass, \" \" );\n\n\t\t\t\tif ( cur ) {\n\t\t\t\t\tj = 0;\n\t\t\t\t\twhile ( ( clazz = classes[ j++ ] ) ) {\n\t\t\t\t\t\tif ( cur.indexOf( \" \" + clazz + \" \" ) < 0 ) {\n\t\t\t\t\t\t\tcur += clazz + \" \";\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\t// only assign if different to avoid unneeded rendering.\n\t\t\t\t\tfinalValue = jQuery.trim( cur );\n\t\t\t\t\tif ( curValue !== finalValue ) {\n\t\t\t\t\t\tjQuery.attr( elem, \"class\", finalValue );\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn this;\n\t},\n\n\tremoveClass: function( value ) {\n\t\tvar classes, elem, cur, curValue, clazz, j, finalValue,\n\t\t\ti = 0;\n\n\t\tif ( jQuery.isFunction( value ) ) {\n\t\t\treturn this.each( function( j ) {\n\t\t\t\tjQuery( this ).removeClass( value.call( this, j, getClass( this ) ) );\n\t\t\t} );\n\t\t}\n\n\t\tif ( !arguments.length ) {\n\t\t\treturn this.attr( \"class\", \"\" );\n\t\t}\n\n\t\tif ( typeof value === \"string\" && value ) {\n\t\t\tclasses = value.match( rnotwhite ) || [];\n\n\t\t\twhile ( ( elem = this[ i++ ] ) ) {\n\t\t\t\tcurValue = getClass( elem );\n\n\t\t\t\t// This expression is here for better compressibility (see addClass)\n\t\t\t\tcur = elem.nodeType === 1 &&\n\t\t\t\t\t( \" \" + curValue + \" \" ).replace( rclass, \" \" );\n\n\t\t\t\tif ( cur ) {\n\t\t\t\t\tj = 0;\n\t\t\t\t\twhile ( ( clazz = classes[ j++ ] ) ) {\n\n\t\t\t\t\t\t// Remove *all* instances\n\t\t\t\t\t\twhile ( cur.indexOf( \" \" + clazz + \" \" ) > -1 ) {\n\t\t\t\t\t\t\tcur = cur.replace( \" \" + clazz + \" \", \" \" );\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\t// Only assign if different to avoid unneeded rendering.\n\t\t\t\t\tfinalValue = jQuery.trim( cur );\n\t\t\t\t\tif ( curValue !== finalValue ) {\n\t\t\t\t\t\tjQuery.attr( elem, \"class\", finalValue );\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn this;\n\t},\n\n\ttoggleClass: function( value, stateVal ) {\n\t\tvar type = typeof value;\n\n\t\tif ( typeof stateVal === \"boolean\" && type === \"string\" ) {\n\t\t\treturn stateVal ? this.addClass( value ) : this.removeClass( value );\n\t\t}\n\n\t\tif ( jQuery.isFunction( value ) ) {\n\t\t\treturn this.each( function( i ) {\n\t\t\t\tjQuery( this ).toggleClass(\n\t\t\t\t\tvalue.call( this, i, getClass( this ), stateVal ),\n\t\t\t\t\tstateVal\n\t\t\t\t);\n\t\t\t} );\n\t\t}\n\n\t\treturn this.each( function() {\n\t\t\tvar className, i, self, classNames;\n\n\t\t\tif ( type === \"string\" ) {\n\n\t\t\t\t// Toggle individual class names\n\t\t\t\ti = 0;\n\t\t\t\tself = jQuery( this );\n\t\t\t\tclassNames = value.match( rnotwhite ) || [];\n\n\t\t\t\twhile ( ( className = classNames[ i++ ] ) ) {\n\n\t\t\t\t\t// Check each className given, space separated list\n\t\t\t\t\tif ( self.hasClass( className ) ) {\n\t\t\t\t\t\tself.removeClass( className );\n\t\t\t\t\t} else {\n\t\t\t\t\t\tself.addClass( className );\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t// Toggle whole class name\n\t\t\t} else if ( value === undefined || type === \"boolean\" ) {\n\t\t\t\tclassName = getClass( this );\n\t\t\t\tif ( className ) {\n\n\t\t\t\t\t// store className if set\n\t\t\t\t\tjQuery._data( this, \"__className__\", className );\n\t\t\t\t}\n\n\t\t\t\t// If the element has a class name or if we're passed \"false\",\n\t\t\t\t// then remove the whole classname (if there was one, the above saved it).\n\t\t\t\t// Otherwise bring back whatever was previously saved (if anything),\n\t\t\t\t// falling back to the empty string if nothing was stored.\n\t\t\t\tjQuery.attr( this, \"class\",\n\t\t\t\t\tclassName || value === false ?\n\t\t\t\t\t\"\" :\n\t\t\t\t\tjQuery._data( this, \"__className__\" ) || \"\"\n\t\t\t\t);\n\t\t\t}\n\t\t} );\n\t},\n\n\thasClass: function( selector ) {\n\t\tvar className, elem,\n\t\t\ti = 0;\n\n\t\tclassName = \" \" + selector + \" \";\n\t\twhile ( ( elem = this[ i++ ] ) ) {\n\t\t\tif ( elem.nodeType === 1 &&\n\t\t\t\t( \" \" + getClass( elem ) + \" \" ).replace( rclass, \" \" )\n\t\t\t\t\t.indexOf( className ) > -1\n\t\t\t) {\n\t\t\t\treturn true;\n\t\t\t}\n\t\t}\n\n\t\treturn false;\n\t}\n} );\n\n\n\n\n// Return jQuery for attributes-only inclusion\n\n\njQuery.each( ( \"blur focus focusin focusout load resize scroll unload click dblclick \" +\n\t\"mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave \" +\n\t\"change select submit keydown keypress keyup error contextmenu\" ).split( \" \" ),\n\tfunction( i, name ) {\n\n\t// Handle event binding\n\tjQuery.fn[ name ] = function( data, fn ) {\n\t\treturn arguments.length > 0 ?\n\t\t\tthis.on( name, null, data, fn ) :\n\t\t\tthis.trigger( name );\n\t};\n} );\n\njQuery.fn.extend( {\n\thover: function( fnOver, fnOut ) {\n\t\treturn this.mouseenter( fnOver ).mouseleave( fnOut || fnOver );\n\t}\n} );\n\n\nvar location = window.location;\n\nvar nonce = jQuery.now();\n\nvar rquery = ( /\\?/ );\n\n\n\nvar rvalidtokens = /(,)|(\\[|{)|(}|])|\"(?:[^\"\\\\\\r\\n]|\\\\[\"\\\\\\/bfnrt]|\\\\u[\\da-fA-F]{4})*\"\\s*:?|true|false|null|-?(?!0\\d)\\d+(?:\\.\\d+|)(?:[eE][+-]?\\d+|)/g;\n\njQuery.parseJSON = function( data ) {\n\n\t// Attempt to parse using the native JSON parser first\n\tif ( window.JSON && window.JSON.parse ) {\n\n\t\t// Support: Android 2.3\n\t\t// Workaround failure to string-cast null input\n\t\treturn window.JSON.parse( data + \"\" );\n\t}\n\n\tvar requireNonComma,\n\t\tdepth = null,\n\t\tstr = jQuery.trim( data + \"\" );\n\n\t// Guard against invalid (and possibly dangerous) input by ensuring that nothing remains\n\t// after removing valid tokens\n\treturn str && !jQuery.trim( str.replace( rvalidtokens, function( token, comma, open, close ) {\n\n\t\t// Force termination if we see a misplaced comma\n\t\tif ( requireNonComma && comma ) {\n\t\t\tdepth = 0;\n\t\t}\n\n\t\t// Perform no more replacements after returning to outermost depth\n\t\tif ( depth === 0 ) {\n\t\t\treturn token;\n\t\t}\n\n\t\t// Commas must not follow \"[\", \"{\", or \",\"\n\t\trequireNonComma = open || comma;\n\n\t\t// Determine new depth\n\t\t// array/object open (\"[\" or \"{\"): depth += true - false (increment)\n\t\t// array/object close (\"]\" or \"}\"): depth += false - true (decrement)\n\t\t// other cases (\",\" or primitive): depth += true - true (numeric cast)\n\t\tdepth += !close - !open;\n\n\t\t// Remove this token\n\t\treturn \"\";\n\t} ) ) ?\n\t\t( Function( \"return \" + str ) )() :\n\t\tjQuery.error( \"Invalid JSON: \" + data );\n};\n\n\n// Cross-browser xml parsing\njQuery.parseXML = function( data ) {\n\tvar xml, tmp;\n\tif ( !data || typeof data !== \"string\" ) {\n\t\treturn null;\n\t}\n\ttry {\n\t\tif ( window.DOMParser ) { // Standard\n\t\t\ttmp = new window.DOMParser();\n\t\t\txml = tmp.parseFromString( data, \"text/xml\" );\n\t\t} else { // IE\n\t\t\txml = new window.ActiveXObject( \"Microsoft.XMLDOM\" );\n\t\t\txml.async = \"false\";\n\t\t\txml.loadXML( data );\n\t\t}\n\t} catch ( e ) {\n\t\txml = undefined;\n\t}\n\tif ( !xml || !xml.documentElement || xml.getElementsByTagName( \"parsererror\" ).length ) {\n\t\tjQuery.error( \"Invalid XML: \" + data );\n\t}\n\treturn xml;\n};\n\n\nvar\n\trhash = /#.*$/,\n\trts = /([?&])_=[^&]*/,\n\n\t// IE leaves an \\r character at EOL\n\trheaders = /^(.*?):[ \\t]*([^\\r\\n]*)\\r?$/mg,\n\n\t// #7653, #8125, #8152: local protocol detection\n\trlocalProtocol = /^(?:about|app|app-storage|.+-extension|file|res|widget):$/,\n\trnoContent = /^(?:GET|HEAD)$/,\n\trprotocol = /^\\/\\//,\n\trurl = /^([\\w.+-]+:)(?:\\/\\/(?:[^\\/?#]*@|)([^\\/?#:]*)(?::(\\d+)|)|)/,\n\n\t/* Prefilters\n\t * 1) They are useful to introduce custom dataTypes (see ajax/jsonp.js for an example)\n\t * 2) These are called:\n\t * - BEFORE asking for a transport\n\t * - AFTER param serialization (s.data is a string if s.processData is true)\n\t * 3) key is the dataType\n\t * 4) the catchall symbol \"*\" can be used\n\t * 5) execution will start with transport dataType and THEN continue down to \"*\" if needed\n\t */\n\tprefilters = {},\n\n\t/* Transports bindings\n\t * 1) key is the dataType\n\t * 2) the catchall symbol \"*\" can be used\n\t * 3) selection will start with transport dataType and THEN go to \"*\" if needed\n\t */\n\ttransports = {},\n\n\t// Avoid comment-prolog char sequence (#10098); must appease lint and evade compression\n\tallTypes = \"*/\".concat( \"*\" ),\n\n\t// Document location\n\tajaxLocation = location.href,\n\n\t// Segment location into parts\n\tajaxLocParts = rurl.exec( ajaxLocation.toLowerCase() ) || [];\n\n// Base \"constructor\" for jQuery.ajaxPrefilter and jQuery.ajaxTransport\nfunction addToPrefiltersOrTransports( structure ) {\n\n\t// dataTypeExpression is optional and defaults to \"*\"\n\treturn function( dataTypeExpression, func ) {\n\n\t\tif ( typeof dataTypeExpression !== \"string\" ) {\n\t\t\tfunc = dataTypeExpression;\n\t\t\tdataTypeExpression = \"*\";\n\t\t}\n\n\t\tvar dataType,\n\t\t\ti = 0,\n\t\t\tdataTypes = dataTypeExpression.toLowerCase().match( rnotwhite ) || [];\n\n\t\tif ( jQuery.isFunction( func ) ) {\n\n\t\t\t// For each dataType in the dataTypeExpression\n\t\t\twhile ( ( dataType = dataTypes[ i++ ] ) ) {\n\n\t\t\t\t// Prepend if requested\n\t\t\t\tif ( dataType.charAt( 0 ) === \"+\" ) {\n\t\t\t\t\tdataType = dataType.slice( 1 ) || \"*\";\n\t\t\t\t\t( structure[ dataType ] = structure[ dataType ] || [] ).unshift( func );\n\n\t\t\t\t// Otherwise append\n\t\t\t\t} else {\n\t\t\t\t\t( structure[ dataType ] = structure[ dataType ] || [] ).push( func );\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t};\n}\n\n// Base inspection function for prefilters and transports\nfunction inspectPrefiltersOrTransports( structure, options, originalOptions, jqXHR ) {\n\n\tvar inspected = {},\n\t\tseekingTransport = ( structure === transports );\n\n\tfunction inspect( dataType ) {\n\t\tvar selected;\n\t\tinspected[ dataType ] = true;\n\t\tjQuery.each( structure[ dataType ] || [], function( _, prefilterOrFactory ) {\n\t\t\tvar dataTypeOrTransport = prefilterOrFactory( options, originalOptions, jqXHR );\n\t\t\tif ( typeof dataTypeOrTransport === \"string\" &&\n\t\t\t\t!seekingTransport && !inspected[ dataTypeOrTransport ] ) {\n\n\t\t\t\toptions.dataTypes.unshift( dataTypeOrTransport );\n\t\t\t\tinspect( dataTypeOrTransport );\n\t\t\t\treturn false;\n\t\t\t} else if ( seekingTransport ) {\n\t\t\t\treturn !( selected = dataTypeOrTransport );\n\t\t\t}\n\t\t} );\n\t\treturn selected;\n\t}\n\n\treturn inspect( options.dataTypes[ 0 ] ) || !inspected[ \"*\" ] && inspect( \"*\" );\n}\n\n// A special extend for ajax options\n// that takes \"flat\" options (not to be deep extended)\n// Fixes #9887\nfunction ajaxExtend( target, src ) {\n\tvar deep, key,\n\t\tflatOptions = jQuery.ajaxSettings.flatOptions || {};\n\n\tfor ( key in src ) {\n\t\tif ( src[ key ] !== undefined ) {\n\t\t\t( flatOptions[ key ] ? target : ( deep || ( deep = {} ) ) )[ key ] = src[ key ];\n\t\t}\n\t}\n\tif ( deep ) {\n\t\tjQuery.extend( true, target, deep );\n\t}\n\n\treturn target;\n}\n\n/* Handles responses to an ajax request:\n * - finds the right dataType (mediates between content-type and expected dataType)\n * - returns the corresponding response\n */\nfunction ajaxHandleResponses( s, jqXHR, responses ) {\n\tvar firstDataType, ct, finalDataType, type,\n\t\tcontents = s.contents,\n\t\tdataTypes = s.dataTypes;\n\n\t// Remove auto dataType and get content-type in the process\n\twhile ( dataTypes[ 0 ] === \"*\" ) {\n\t\tdataTypes.shift();\n\t\tif ( ct === undefined ) {\n\t\t\tct = s.mimeType || jqXHR.getResponseHeader( \"Content-Type\" );\n\t\t}\n\t}\n\n\t// Check if we're dealing with a known content-type\n\tif ( ct ) {\n\t\tfor ( type in contents ) {\n\t\t\tif ( contents[ type ] && contents[ type ].test( ct ) ) {\n\t\t\t\tdataTypes.unshift( type );\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t}\n\n\t// Check to see if we have a response for the expected dataType\n\tif ( dataTypes[ 0 ] in responses ) {\n\t\tfinalDataType = dataTypes[ 0 ];\n\t} else {\n\n\t\t// Try convertible dataTypes\n\t\tfor ( type in responses ) {\n\t\t\tif ( !dataTypes[ 0 ] || s.converters[ type + \" \" + dataTypes[ 0 ] ] ) {\n\t\t\t\tfinalDataType = type;\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\tif ( !firstDataType ) {\n\t\t\t\tfirstDataType = type;\n\t\t\t}\n\t\t}\n\n\t\t// Or just use first one\n\t\tfinalDataType = finalDataType || firstDataType;\n\t}\n\n\t// If we found a dataType\n\t// We add the dataType to the list if needed\n\t// and return the corresponding response\n\tif ( finalDataType ) {\n\t\tif ( finalDataType !== dataTypes[ 0 ] ) {\n\t\t\tdataTypes.unshift( finalDataType );\n\t\t}\n\t\treturn responses[ finalDataType ];\n\t}\n}\n\n/* Chain conversions given the request and the original response\n * Also sets the responseXXX fields on the jqXHR instance\n */\nfunction ajaxConvert( s, response, jqXHR, isSuccess ) {\n\tvar conv2, current, conv, tmp, prev,\n\t\tconverters = {},\n\n\t\t// Work with a copy of dataTypes in case we need to modify it for conversion\n\t\tdataTypes = s.dataTypes.slice();\n\n\t// Create converters map with lowercased keys\n\tif ( dataTypes[ 1 ] ) {\n\t\tfor ( conv in s.converters ) {\n\t\t\tconverters[ conv.toLowerCase() ] = s.converters[ conv ];\n\t\t}\n\t}\n\n\tcurrent = dataTypes.shift();\n\n\t// Convert to each sequential dataType\n\twhile ( current ) {\n\n\t\tif ( s.responseFields[ current ] ) {\n\t\t\tjqXHR[ s.responseFields[ current ] ] = response;\n\t\t}\n\n\t\t// Apply the dataFilter if provided\n\t\tif ( !prev && isSuccess && s.dataFilter ) {\n\t\t\tresponse = s.dataFilter( response, s.dataType );\n\t\t}\n\n\t\tprev = current;\n\t\tcurrent = dataTypes.shift();\n\n\t\tif ( current ) {\n\n\t\t\t// There's only work to do if current dataType is non-auto\n\t\t\tif ( current === \"*\" ) {\n\n\t\t\t\tcurrent = prev;\n\n\t\t\t// Convert response if prev dataType is non-auto and differs from current\n\t\t\t} else if ( prev !== \"*\" && prev !== current ) {\n\n\t\t\t\t// Seek a direct converter\n\t\t\t\tconv = converters[ prev + \" \" + current ] || converters[ \"* \" + current ];\n\n\t\t\t\t// If none found, seek a pair\n\t\t\t\tif ( !conv ) {\n\t\t\t\t\tfor ( conv2 in converters ) {\n\n\t\t\t\t\t\t// If conv2 outputs current\n\t\t\t\t\t\ttmp = conv2.split( \" \" );\n\t\t\t\t\t\tif ( tmp[ 1 ] === current ) {\n\n\t\t\t\t\t\t\t// If prev can be converted to accepted input\n\t\t\t\t\t\t\tconv = converters[ prev + \" \" + tmp[ 0 ] ] ||\n\t\t\t\t\t\t\t\tconverters[ \"* \" + tmp[ 0 ] ];\n\t\t\t\t\t\t\tif ( conv ) {\n\n\t\t\t\t\t\t\t\t// Condense equivalence converters\n\t\t\t\t\t\t\t\tif ( conv === true ) {\n\t\t\t\t\t\t\t\t\tconv = converters[ conv2 ];\n\n\t\t\t\t\t\t\t\t// Otherwise, insert the intermediate dataType\n\t\t\t\t\t\t\t\t} else if ( converters[ conv2 ] !== true ) {\n\t\t\t\t\t\t\t\t\tcurrent = tmp[ 0 ];\n\t\t\t\t\t\t\t\t\tdataTypes.unshift( tmp[ 1 ] );\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\t// Apply converter (if not an equivalence)\n\t\t\t\tif ( conv !== true ) {\n\n\t\t\t\t\t// Unless errors are allowed to bubble, catch and return them\n\t\t\t\t\tif ( conv && s[ \"throws\" ] ) { // jscs:ignore requireDotNotation\n\t\t\t\t\t\tresponse = conv( response );\n\t\t\t\t\t} else {\n\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\tresponse = conv( response );\n\t\t\t\t\t\t} catch ( e ) {\n\t\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\t\tstate: \"parsererror\",\n\t\t\t\t\t\t\t\terror: conv ? e : \"No conversion from \" + prev + \" to \" + current\n\t\t\t\t\t\t\t};\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\treturn { state: \"success\", data: response };\n}\n\njQuery.extend( {\n\n\t// Counter for holding the number of active queries\n\tactive: 0,\n\n\t// Last-Modified header cache for next request\n\tlastModified: {},\n\tetag: {},\n\n\tajaxSettings: {\n\t\turl: ajaxLocation,\n\t\ttype: \"GET\",\n\t\tisLocal: rlocalProtocol.test( ajaxLocParts[ 1 ] ),\n\t\tglobal: true,\n\t\tprocessData: true,\n\t\tasync: true,\n\t\tcontentType: \"application/x-www-form-urlencoded; charset=UTF-8\",\n\t\t/*\n\t\ttimeout: 0,\n\t\tdata: null,\n\t\tdataType: null,\n\t\tusername: null,\n\t\tpassword: null,\n\t\tcache: null,\n\t\tthrows: false,\n\t\ttraditional: false,\n\t\theaders: {},\n\t\t*/\n\n\t\taccepts: {\n\t\t\t\"*\": allTypes,\n\t\t\ttext: \"text/plain\",\n\t\t\thtml: \"text/html\",\n\t\t\txml: \"application/xml, text/xml\",\n\t\t\tjson: \"application/json, text/javascript\"\n\t\t},\n\n\t\tcontents: {\n\t\t\txml: /\\bxml\\b/,\n\t\t\thtml: /\\bhtml/,\n\t\t\tjson: /\\bjson\\b/\n\t\t},\n\n\t\tresponseFields: {\n\t\t\txml: \"responseXML\",\n\t\t\ttext: \"responseText\",\n\t\t\tjson: \"responseJSON\"\n\t\t},\n\n\t\t// Data converters\n\t\t// Keys separate source (or catchall \"*\") and destination types with a single space\n\t\tconverters: {\n\n\t\t\t// Convert anything to text\n\t\t\t\"* text\": String,\n\n\t\t\t// Text to html (true = no transformation)\n\t\t\t\"text html\": true,\n\n\t\t\t// Evaluate text as a json expression\n\t\t\t\"text json\": jQuery.parseJSON,\n\n\t\t\t// Parse text as xml\n\t\t\t\"text xml\": jQuery.parseXML\n\t\t},\n\n\t\t// For options that shouldn't be deep extended:\n\t\t// you can add your own custom options here if\n\t\t// and when you create one that shouldn't be\n\t\t// deep extended (see ajaxExtend)\n\t\tflatOptions: {\n\t\t\turl: true,\n\t\t\tcontext: true\n\t\t}\n\t},\n\n\t// Creates a full fledged settings object into target\n\t// with both ajaxSettings and settings fields.\n\t// If target is omitted, writes into ajaxSettings.\n\tajaxSetup: function( target, settings ) {\n\t\treturn settings ?\n\n\t\t\t// Building a settings object\n\t\t\tajaxExtend( ajaxExtend( target, jQuery.ajaxSettings ), settings ) :\n\n\t\t\t// Extending ajaxSettings\n\t\t\tajaxExtend( jQuery.ajaxSettings, target );\n\t},\n\n\tajaxPrefilter: addToPrefiltersOrTransports( prefilters ),\n\tajaxTransport: addToPrefiltersOrTransports( transports ),\n\n\t// Main method\n\tajax: function( url, options ) {\n\n\t\t// If url is an object, simulate pre-1.5 signature\n\t\tif ( typeof url === \"object\" ) {\n\t\t\toptions = url;\n\t\t\turl = undefined;\n\t\t}\n\n\t\t// Force options to be an object\n\t\toptions = options || {};\n\n\t\tvar\n\n\t\t\t// Cross-domain detection vars\n\t\t\tparts,\n\n\t\t\t// Loop variable\n\t\t\ti,\n\n\t\t\t// URL without anti-cache param\n\t\t\tcacheURL,\n\n\t\t\t// Response headers as string\n\t\t\tresponseHeadersString,\n\n\t\t\t// timeout handle\n\t\t\ttimeoutTimer,\n\n\t\t\t// To know if global events are to be dispatched\n\t\t\tfireGlobals,\n\n\t\t\ttransport,\n\n\t\t\t// Response headers\n\t\t\tresponseHeaders,\n\n\t\t\t// Create the final options object\n\t\t\ts = jQuery.ajaxSetup( {}, options ),\n\n\t\t\t// Callbacks context\n\t\t\tcallbackContext = s.context || s,\n\n\t\t\t// Context for global events is callbackContext if it is a DOM node or jQuery collection\n\t\t\tglobalEventContext = s.context &&\n\t\t\t\t( callbackContext.nodeType || callbackContext.jquery ) ?\n\t\t\t\t\tjQuery( callbackContext ) :\n\t\t\t\t\tjQuery.event,\n\n\t\t\t// Deferreds\n\t\t\tdeferred = jQuery.Deferred(),\n\t\t\tcompleteDeferred = jQuery.Callbacks( \"once memory\" ),\n\n\t\t\t// Status-dependent callbacks\n\t\t\tstatusCode = s.statusCode || {},\n\n\t\t\t// Headers (they are sent all at once)\n\t\t\trequestHeaders = {},\n\t\t\trequestHeadersNames = {},\n\n\t\t\t// The jqXHR state\n\t\t\tstate = 0,\n\n\t\t\t// Default abort message\n\t\t\tstrAbort = \"canceled\",\n\n\t\t\t// Fake xhr\n\t\t\tjqXHR = {\n\t\t\t\treadyState: 0,\n\n\t\t\t\t// Builds headers hashtable if needed\n\t\t\t\tgetResponseHeader: function( key ) {\n\t\t\t\t\tvar match;\n\t\t\t\t\tif ( state === 2 ) {\n\t\t\t\t\t\tif ( !responseHeaders ) {\n\t\t\t\t\t\t\tresponseHeaders = {};\n\t\t\t\t\t\t\twhile ( ( match = rheaders.exec( responseHeadersString ) ) ) {\n\t\t\t\t\t\t\t\tresponseHeaders[ match[ 1 ].toLowerCase() ] = match[ 2 ];\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t\tmatch = responseHeaders[ key.toLowerCase() ];\n\t\t\t\t\t}\n\t\t\t\t\treturn match == null ? null : match;\n\t\t\t\t},\n\n\t\t\t\t// Raw string\n\t\t\t\tgetAllResponseHeaders: function() {\n\t\t\t\t\treturn state === 2 ? responseHeadersString : null;\n\t\t\t\t},\n\n\t\t\t\t// Caches the header\n\t\t\t\tsetRequestHeader: function( name, value ) {\n\t\t\t\t\tvar lname = name.toLowerCase();\n\t\t\t\t\tif ( !state ) {\n\t\t\t\t\t\tname = requestHeadersNames[ lname ] = requestHeadersNames[ lname ] || name;\n\t\t\t\t\t\trequestHeaders[ name ] = value;\n\t\t\t\t\t}\n\t\t\t\t\treturn this;\n\t\t\t\t},\n\n\t\t\t\t// Overrides response content-type header\n\t\t\t\toverrideMimeType: function( type ) {\n\t\t\t\t\tif ( !state ) {\n\t\t\t\t\t\ts.mimeType = type;\n\t\t\t\t\t}\n\t\t\t\t\treturn this;\n\t\t\t\t},\n\n\t\t\t\t// Status-dependent callbacks\n\t\t\t\tstatusCode: function( map ) {\n\t\t\t\t\tvar code;\n\t\t\t\t\tif ( map ) {\n\t\t\t\t\t\tif ( state < 2 ) {\n\t\t\t\t\t\t\tfor ( code in map ) {\n\n\t\t\t\t\t\t\t\t// Lazy-add the new callback in a way that preserves old ones\n\t\t\t\t\t\t\t\tstatusCode[ code ] = [ statusCode[ code ], map[ code ] ];\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t} else {\n\n\t\t\t\t\t\t\t// Execute the appropriate callbacks\n\t\t\t\t\t\t\tjqXHR.always( map[ jqXHR.status ] );\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\treturn this;\n\t\t\t\t},\n\n\t\t\t\t// Cancel the request\n\t\t\t\tabort: function( statusText ) {\n\t\t\t\t\tvar finalText = statusText || strAbort;\n\t\t\t\t\tif ( transport ) {\n\t\t\t\t\t\ttransport.abort( finalText );\n\t\t\t\t\t}\n\t\t\t\t\tdone( 0, finalText );\n\t\t\t\t\treturn this;\n\t\t\t\t}\n\t\t\t};\n\n\t\t// Attach deferreds\n\t\tdeferred.promise( jqXHR ).complete = completeDeferred.add;\n\t\tjqXHR.success = jqXHR.done;\n\t\tjqXHR.error = jqXHR.fail;\n\n\t\t// Remove hash character (#7531: and string promotion)\n\t\t// Add protocol if not provided (#5866: IE7 issue with protocol-less urls)\n\t\t// Handle falsy url in the settings object (#10093: consistency with old signature)\n\t\t// We also use the url parameter if available\n\t\ts.url = ( ( url || s.url || ajaxLocation ) + \"\" )\n\t\t\t.replace( rhash, \"\" )\n\t\t\t.replace( rprotocol, ajaxLocParts[ 1 ] + \"//\" );\n\n\t\t// Alias method option to type as per ticket #12004\n\t\ts.type = options.method || options.type || s.method || s.type;\n\n\t\t// Extract dataTypes list\n\t\ts.dataTypes = jQuery.trim( s.dataType || \"*\" ).toLowerCase().match( rnotwhite ) || [ \"\" ];\n\n\t\t// A cross-domain request is in order when we have a protocol:host:port mismatch\n\t\tif ( s.crossDomain == null ) {\n\t\t\tparts = rurl.exec( s.url.toLowerCase() );\n\t\t\ts.crossDomain = !!( parts &&\n\t\t\t\t( parts[ 1 ] !== ajaxLocParts[ 1 ] || parts[ 2 ] !== ajaxLocParts[ 2 ] ||\n\t\t\t\t\t( parts[ 3 ] || ( parts[ 1 ] === \"http:\" ? \"80\" : \"443\" ) ) !==\n\t\t\t\t\t\t( ajaxLocParts[ 3 ] || ( ajaxLocParts[ 1 ] === \"http:\" ? \"80\" : \"443\" ) ) )\n\t\t\t);\n\t\t}\n\n\t\t// Convert data if not already a string\n\t\tif ( s.data && s.processData && typeof s.data !== \"string\" ) {\n\t\t\ts.data = jQuery.param( s.data, s.traditional );\n\t\t}\n\n\t\t// Apply prefilters\n\t\tinspectPrefiltersOrTransports( prefilters, s, options, jqXHR );\n\n\t\t// If request was aborted inside a prefilter, stop there\n\t\tif ( state === 2 ) {\n\t\t\treturn jqXHR;\n\t\t}\n\n\t\t// We can fire global events as of now if asked to\n\t\t// Don't fire events if jQuery.event is undefined in an AMD-usage scenario (#15118)\n\t\tfireGlobals = jQuery.event && s.global;\n\n\t\t// Watch for a new set of requests\n\t\tif ( fireGlobals && jQuery.active++ === 0 ) {\n\t\t\tjQuery.event.trigger( \"ajaxStart\" );\n\t\t}\n\n\t\t// Uppercase the type\n\t\ts.type = s.type.toUpperCase();\n\n\t\t// Determine if request has content\n\t\ts.hasContent = !rnoContent.test( s.type );\n\n\t\t// Save the URL in case we're toying with the If-Modified-Since\n\t\t// and/or If-None-Match header later on\n\t\tcacheURL = s.url;\n\n\t\t// More options handling for requests with no content\n\t\tif ( !s.hasContent ) {\n\n\t\t\t// If data is available, append data to url\n\t\t\tif ( s.data ) {\n\t\t\t\tcacheURL = ( s.url += ( rquery.test( cacheURL ) ? \"&\" : \"?\" ) + s.data );\n\n\t\t\t\t// #9682: remove data so that it's not used in an eventual retry\n\t\t\t\tdelete s.data;\n\t\t\t}\n\n\t\t\t// Add anti-cache in url if needed\n\t\t\tif ( s.cache === false ) {\n\t\t\t\ts.url = rts.test( cacheURL ) ?\n\n\t\t\t\t\t// If there is already a '_' parameter, set its value\n\t\t\t\t\tcacheURL.replace( rts, \"$1_=\" + nonce++ ) :\n\n\t\t\t\t\t// Otherwise add one to the end\n\t\t\t\t\tcacheURL + ( rquery.test( cacheURL ) ? \"&\" : \"?\" ) + \"_=\" + nonce++;\n\t\t\t}\n\t\t}\n\n\t\t// Set the If-Modified-Since and/or If-None-Match header, if in ifModified mode.\n\t\tif ( s.ifModified ) {\n\t\t\tif ( jQuery.lastModified[ cacheURL ] ) {\n\t\t\t\tjqXHR.setRequestHeader( \"If-Modified-Since\", jQuery.lastModified[ cacheURL ] );\n\t\t\t}\n\t\t\tif ( jQuery.etag[ cacheURL ] ) {\n\t\t\t\tjqXHR.setRequestHeader( \"If-None-Match\", jQuery.etag[ cacheURL ] );\n\t\t\t}\n\t\t}\n\n\t\t// Set the correct header, if data is being sent\n\t\tif ( s.data && s.hasContent && s.contentType !== false || options.contentType ) {\n\t\t\tjqXHR.setRequestHeader( \"Content-Type\", s.contentType );\n\t\t}\n\n\t\t// Set the Accepts header for the server, depending on the dataType\n\t\tjqXHR.setRequestHeader(\n\t\t\t\"Accept\",\n\t\t\ts.dataTypes[ 0 ] && s.accepts[ s.dataTypes[ 0 ] ] ?\n\t\t\t\ts.accepts[ s.dataTypes[ 0 ] ] +\n\t\t\t\t\t( s.dataTypes[ 0 ] !== \"*\" ? \", \" + allTypes + \"; q=0.01\" : \"\" ) :\n\t\t\t\ts.accepts[ \"*\" ]\n\t\t);\n\n\t\t// Check for headers option\n\t\tfor ( i in s.headers ) {\n\t\t\tjqXHR.setRequestHeader( i, s.headers[ i ] );\n\t\t}\n\n\t\t// Allow custom headers/mimetypes and early abort\n\t\tif ( s.beforeSend &&\n\t\t\t( s.beforeSend.call( callbackContext, jqXHR, s ) === false || state === 2 ) ) {\n\n\t\t\t// Abort if not done already and return\n\t\t\treturn jqXHR.abort();\n\t\t}\n\n\t\t// aborting is no longer a cancellation\n\t\tstrAbort = \"abort\";\n\n\t\t// Install callbacks on deferreds\n\t\tfor ( i in { success: 1, error: 1, complete: 1 } ) {\n\t\t\tjqXHR[ i ]( s[ i ] );\n\t\t}\n\n\t\t// Get transport\n\t\ttransport = inspectPrefiltersOrTransports( transports, s, options, jqXHR );\n\n\t\t// If no transport, we auto-abort\n\t\tif ( !transport ) {\n\t\t\tdone( -1, \"No Transport\" );\n\t\t} else {\n\t\t\tjqXHR.readyState = 1;\n\n\t\t\t// Send global event\n\t\t\tif ( fireGlobals ) {\n\t\t\t\tglobalEventContext.trigger( \"ajaxSend\", [ jqXHR, s ] );\n\t\t\t}\n\n\t\t\t// If request was aborted inside ajaxSend, stop there\n\t\t\tif ( state === 2 ) {\n\t\t\t\treturn jqXHR;\n\t\t\t}\n\n\t\t\t// Timeout\n\t\t\tif ( s.async && s.timeout > 0 ) {\n\t\t\t\ttimeoutTimer = window.setTimeout( function() {\n\t\t\t\t\tjqXHR.abort( \"timeout\" );\n\t\t\t\t}, s.timeout );\n\t\t\t}\n\n\t\t\ttry {\n\t\t\t\tstate = 1;\n\t\t\t\ttransport.send( requestHeaders, done );\n\t\t\t} catch ( e ) {\n\n\t\t\t\t// Propagate exception as error if not done\n\t\t\t\tif ( state < 2 ) {\n\t\t\t\t\tdone( -1, e );\n\n\t\t\t\t// Simply rethrow otherwise\n\t\t\t\t} else {\n\t\t\t\t\tthrow e;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t// Callback for when everything is done\n\t\tfunction done( status, nativeStatusText, responses, headers ) {\n\t\t\tvar isSuccess, success, error, response, modified,\n\t\t\t\tstatusText = nativeStatusText;\n\n\t\t\t// Called once\n\t\t\tif ( state === 2 ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// State is \"done\" now\n\t\t\tstate = 2;\n\n\t\t\t// Clear timeout if it exists\n\t\t\tif ( timeoutTimer ) {\n\t\t\t\twindow.clearTimeout( timeoutTimer );\n\t\t\t}\n\n\t\t\t// Dereference transport for early garbage collection\n\t\t\t// (no matter how long the jqXHR object will be used)\n\t\t\ttransport = undefined;\n\n\t\t\t// Cache response headers\n\t\t\tresponseHeadersString = headers || \"\";\n\n\t\t\t// Set readyState\n\t\t\tjqXHR.readyState = status > 0 ? 4 : 0;\n\n\t\t\t// Determine if successful\n\t\t\tisSuccess = status >= 200 && status < 300 || status === 304;\n\n\t\t\t// Get response data\n\t\t\tif ( responses ) {\n\t\t\t\tresponse = ajaxHandleResponses( s, jqXHR, responses );\n\t\t\t}\n\n\t\t\t// Convert no matter what (that way responseXXX fields are always set)\n\t\t\tresponse = ajaxConvert( s, response, jqXHR, isSuccess );\n\n\t\t\t// If successful, handle type chaining\n\t\t\tif ( isSuccess ) {\n\n\t\t\t\t// Set the If-Modified-Since and/or If-None-Match header, if in ifModified mode.\n\t\t\t\tif ( s.ifModified ) {\n\t\t\t\t\tmodified = jqXHR.getResponseHeader( \"Last-Modified\" );\n\t\t\t\t\tif ( modified ) {\n\t\t\t\t\t\tjQuery.lastModified[ cacheURL ] = modified;\n\t\t\t\t\t}\n\t\t\t\t\tmodified = jqXHR.getResponseHeader( \"etag\" );\n\t\t\t\t\tif ( modified ) {\n\t\t\t\t\t\tjQuery.etag[ cacheURL ] = modified;\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\t// if no content\n\t\t\t\tif ( status === 204 || s.type === \"HEAD\" ) {\n\t\t\t\t\tstatusText = \"nocontent\";\n\n\t\t\t\t// if not modified\n\t\t\t\t} else if ( status === 304 ) {\n\t\t\t\t\tstatusText = \"notmodified\";\n\n\t\t\t\t// If we have data, let's convert it\n\t\t\t\t} else {\n\t\t\t\t\tstatusText = response.state;\n\t\t\t\t\tsuccess = response.data;\n\t\t\t\t\terror = response.error;\n\t\t\t\t\tisSuccess = !error;\n\t\t\t\t}\n\t\t\t} else {\n\n\t\t\t\t// We extract error from statusText\n\t\t\t\t// then normalize statusText and status for non-aborts\n\t\t\t\terror = statusText;\n\t\t\t\tif ( status || !statusText ) {\n\t\t\t\t\tstatusText = \"error\";\n\t\t\t\t\tif ( status < 0 ) {\n\t\t\t\t\t\tstatus = 0;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Set data for the fake xhr object\n\t\t\tjqXHR.status = status;\n\t\t\tjqXHR.statusText = ( nativeStatusText || statusText ) + \"\";\n\n\t\t\t// Success/Error\n\t\t\tif ( isSuccess ) {\n\t\t\t\tdeferred.resolveWith( callbackContext, [ success, statusText, jqXHR ] );\n\t\t\t} else {\n\t\t\t\tdeferred.rejectWith( callbackContext, [ jqXHR, statusText, error ] );\n\t\t\t}\n\n\t\t\t// Status-dependent callbacks\n\t\t\tjqXHR.statusCode( statusCode );\n\t\t\tstatusCode = undefined;\n\n\t\t\tif ( fireGlobals ) {\n\t\t\t\tglobalEventContext.trigger( isSuccess ? \"ajaxSuccess\" : \"ajaxError\",\n\t\t\t\t\t[ jqXHR, s, isSuccess ? success : error ] );\n\t\t\t}\n\n\t\t\t// Complete\n\t\t\tcompleteDeferred.fireWith( callbackContext, [ jqXHR, statusText ] );\n\n\t\t\tif ( fireGlobals ) {\n\t\t\t\tglobalEventContext.trigger( \"ajaxComplete\", [ jqXHR, s ] );\n\n\t\t\t\t// Handle the global AJAX counter\n\t\t\t\tif ( !( --jQuery.active ) ) {\n\t\t\t\t\tjQuery.event.trigger( \"ajaxStop\" );\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn jqXHR;\n\t},\n\n\tgetJSON: function( url, data, callback ) {\n\t\treturn jQuery.get( url, data, callback, \"json\" );\n\t},\n\n\tgetScript: function( url, callback ) {\n\t\treturn jQuery.get( url, undefined, callback, \"script\" );\n\t}\n} );\n\njQuery.each( [ \"get\", \"post\" ], function( i, method ) {\n\tjQuery[ method ] = function( url, data, callback, type ) {\n\n\t\t// shift arguments if data argument was omitted\n\t\tif ( jQuery.isFunction( data ) ) {\n\t\t\ttype = type || callback;\n\t\t\tcallback = data;\n\t\t\tdata = undefined;\n\t\t}\n\n\t\t// The url can be an options object (which then must have .url)\n\t\treturn jQuery.ajax( jQuery.extend( {\n\t\t\turl: url,\n\t\t\ttype: method,\n\t\t\tdataType: type,\n\t\t\tdata: data,\n\t\t\tsuccess: callback\n\t\t}, jQuery.isPlainObject( url ) && url ) );\n\t};\n} );\n\n\njQuery._evalUrl = function( url ) {\n\treturn jQuery.ajax( {\n\t\turl: url,\n\n\t\t// Make this explicit, since user can override this through ajaxSetup (#11264)\n\t\ttype: \"GET\",\n\t\tdataType: \"script\",\n\t\tcache: true,\n\t\tasync: false,\n\t\tglobal: false,\n\t\t\"throws\": true\n\t} );\n};\n\n\njQuery.fn.extend( {\n\twrapAll: function( html ) {\n\t\tif ( jQuery.isFunction( html ) ) {\n\t\t\treturn this.each( function( i ) {\n\t\t\t\tjQuery( this ).wrapAll( html.call( this, i ) );\n\t\t\t} );\n\t\t}\n\n\t\tif ( this[ 0 ] ) {\n\n\t\t\t// The elements to wrap the target around\n\t\t\tvar wrap = jQuery( html, this[ 0 ].ownerDocument ).eq( 0 ).clone( true );\n\n\t\t\tif ( this[ 0 ].parentNode ) {\n\t\t\t\twrap.insertBefore( this[ 0 ] );\n\t\t\t}\n\n\t\t\twrap.map( function() {\n\t\t\t\tvar elem = this;\n\n\t\t\t\twhile ( elem.firstChild && elem.firstChild.nodeType === 1 ) {\n\t\t\t\t\telem = elem.firstChild;\n\t\t\t\t}\n\n\t\t\t\treturn elem;\n\t\t\t} ).append( this );\n\t\t}\n\n\t\treturn this;\n\t},\n\n\twrapInner: function( html ) {\n\t\tif ( jQuery.isFunction( html ) ) {\n\t\t\treturn this.each( function( i ) {\n\t\t\t\tjQuery( this ).wrapInner( html.call( this, i ) );\n\t\t\t} );\n\t\t}\n\n\t\treturn this.each( function() {\n\t\t\tvar self = jQuery( this ),\n\t\t\t\tcontents = self.contents();\n\n\t\t\tif ( contents.length ) {\n\t\t\t\tcontents.wrapAll( html );\n\n\t\t\t} else {\n\t\t\t\tself.append( html );\n\t\t\t}\n\t\t} );\n\t},\n\n\twrap: function( html ) {\n\t\tvar isFunction = jQuery.isFunction( html );\n\n\t\treturn this.each( function( i ) {\n\t\t\tjQuery( this ).wrapAll( isFunction ? html.call( this, i ) : html );\n\t\t} );\n\t},\n\n\tunwrap: function() {\n\t\treturn this.parent().each( function() {\n\t\t\tif ( !jQuery.nodeName( this, \"body\" ) ) {\n\t\t\t\tjQuery( this ).replaceWith( this.childNodes );\n\t\t\t}\n\t\t} ).end();\n\t}\n} );\n\n\nfunction getDisplay( elem ) {\n\treturn elem.style && elem.style.display || jQuery.css( elem, \"display\" );\n}\n\nfunction filterHidden( elem ) {\n\n\t// Disconnected elements are considered hidden\n\tif ( !jQuery.contains( elem.ownerDocument || document, elem ) ) {\n\t\treturn true;\n\t}\n\twhile ( elem && elem.nodeType === 1 ) {\n\t\tif ( getDisplay( elem ) === \"none\" || elem.type === \"hidden\" ) {\n\t\t\treturn true;\n\t\t}\n\t\telem = elem.parentNode;\n\t}\n\treturn false;\n}\n\njQuery.expr.filters.hidden = function( elem ) {\n\n\t// Support: Opera <= 12.12\n\t// Opera reports offsetWidths and offsetHeights less than zero on some elements\n\treturn support.reliableHiddenOffsets() ?\n\t\t( elem.offsetWidth <= 0 && elem.offsetHeight <= 0 &&\n\t\t\t!elem.getClientRects().length ) :\n\t\t\tfilterHidden( elem );\n};\n\njQuery.expr.filters.visible = function( elem ) {\n\treturn !jQuery.expr.filters.hidden( elem );\n};\n\n\n\n\nvar r20 = /%20/g,\n\trbracket = /\\[\\]$/,\n\trCRLF = /\\r?\\n/g,\n\trsubmitterTypes = /^(?:submit|button|image|reset|file)$/i,\n\trsubmittable = /^(?:input|select|textarea|keygen)/i;\n\nfunction buildParams( prefix, obj, traditional, add ) {\n\tvar name;\n\n\tif ( jQuery.isArray( obj ) ) {\n\n\t\t// Serialize array item.\n\t\tjQuery.each( obj, function( i, v ) {\n\t\t\tif ( traditional || rbracket.test( prefix ) ) {\n\n\t\t\t\t// Treat each array item as a scalar.\n\t\t\t\tadd( prefix, v );\n\n\t\t\t} else {\n\n\t\t\t\t// Item is non-scalar (array or object), encode its numeric index.\n\t\t\t\tbuildParams(\n\t\t\t\t\tprefix + \"[\" + ( typeof v === \"object\" && v != null ? i : \"\" ) + \"]\",\n\t\t\t\t\tv,\n\t\t\t\t\ttraditional,\n\t\t\t\t\tadd\n\t\t\t\t);\n\t\t\t}\n\t\t} );\n\n\t} else if ( !traditional && jQuery.type( obj ) === \"object\" ) {\n\n\t\t// Serialize object item.\n\t\tfor ( name in obj ) {\n\t\t\tbuildParams( prefix + \"[\" + name + \"]\", obj[ name ], traditional, add );\n\t\t}\n\n\t} else {\n\n\t\t// Serialize scalar item.\n\t\tadd( prefix, obj );\n\t}\n}\n\n// Serialize an array of form elements or a set of\n// key/values into a query string\njQuery.param = function( a, traditional ) {\n\tvar prefix,\n\t\ts = [],\n\t\tadd = function( key, value ) {\n\n\t\t\t// If value is a function, invoke it and return its value\n\t\t\tvalue = jQuery.isFunction( value ) ? value() : ( value == null ? \"\" : value );\n\t\t\ts[ s.length ] = encodeURIComponent( key ) + \"=\" + encodeURIComponent( value );\n\t\t};\n\n\t// Set traditional to true for jQuery <= 1.3.2 behavior.\n\tif ( traditional === undefined ) {\n\t\ttraditional = jQuery.ajaxSettings && jQuery.ajaxSettings.traditional;\n\t}\n\n\t// If an array was passed in, assume that it is an array of form elements.\n\tif ( jQuery.isArray( a ) || ( a.jquery && !jQuery.isPlainObject( a ) ) ) {\n\n\t\t// Serialize the form elements\n\t\tjQuery.each( a, function() {\n\t\t\tadd( this.name, this.value );\n\t\t} );\n\n\t} else {\n\n\t\t// If traditional, encode the \"old\" way (the way 1.3.2 or older\n\t\t// did it), otherwise encode params recursively.\n\t\tfor ( prefix in a ) {\n\t\t\tbuildParams( prefix, a[ prefix ], traditional, add );\n\t\t}\n\t}\n\n\t// Return the resulting serialization\n\treturn s.join( \"&\" ).replace( r20, \"+\" );\n};\n\njQuery.fn.extend( {\n\tserialize: function() {\n\t\treturn jQuery.param( this.serializeArray() );\n\t},\n\tserializeArray: function() {\n\t\treturn this.map( function() {\n\n\t\t\t// Can add propHook for \"elements\" to filter or add form elements\n\t\t\tvar elements = jQuery.prop( this, \"elements\" );\n\t\t\treturn elements ? jQuery.makeArray( elements ) : this;\n\t\t} )\n\t\t.filter( function() {\n\t\t\tvar type = this.type;\n\n\t\t\t// Use .is(\":disabled\") so that fieldset[disabled] works\n\t\t\treturn this.name && !jQuery( this ).is( \":disabled\" ) &&\n\t\t\t\trsubmittable.test( this.nodeName ) && !rsubmitterTypes.test( type ) &&\n\t\t\t\t( this.checked || !rcheckableType.test( type ) );\n\t\t} )\n\t\t.map( function( i, elem ) {\n\t\t\tvar val = jQuery( this ).val();\n\n\t\t\treturn val == null ?\n\t\t\t\tnull :\n\t\t\t\tjQuery.isArray( val ) ?\n\t\t\t\t\tjQuery.map( val, function( val ) {\n\t\t\t\t\t\treturn { name: elem.name, value: val.replace( rCRLF, \"\\r\\n\" ) };\n\t\t\t\t\t} ) :\n\t\t\t\t\t{ name: elem.name, value: val.replace( rCRLF, \"\\r\\n\" ) };\n\t\t} ).get();\n\t}\n} );\n\n\n// Create the request object\n// (This is still attached to ajaxSettings for backward compatibility)\njQuery.ajaxSettings.xhr = window.ActiveXObject !== undefined ?\n\n\t// Support: IE6-IE8\n\tfunction() {\n\n\t\t// XHR cannot access local files, always use ActiveX for that case\n\t\tif ( this.isLocal ) {\n\t\t\treturn createActiveXHR();\n\t\t}\n\n\t\t// Support: IE 9-11\n\t\t// IE seems to error on cross-domain PATCH requests when ActiveX XHR\n\t\t// is used. In IE 9+ always use the native XHR.\n\t\t// Note: this condition won't catch Edge as it doesn't define\n\t\t// document.documentMode but it also doesn't support ActiveX so it won't\n\t\t// reach this code.\n\t\tif ( document.documentMode > 8 ) {\n\t\t\treturn createStandardXHR();\n\t\t}\n\n\t\t// Support: IE<9\n\t\t// oldIE XHR does not support non-RFC2616 methods (#13240)\n\t\t// See http://msdn.microsoft.com/en-us/library/ie/ms536648(v=vs.85).aspx\n\t\t// and http://www.w3.org/Protocols/rfc2616/rfc2616-sec9.html#sec9\n\t\t// Although this check for six methods instead of eight\n\t\t// since IE also does not support \"trace\" and \"connect\"\n\t\treturn /^(get|post|head|put|delete|options)$/i.test( this.type ) &&\n\t\t\tcreateStandardXHR() || createActiveXHR();\n\t} :\n\n\t// For all other browsers, use the standard XMLHttpRequest object\n\tcreateStandardXHR;\n\nvar xhrId = 0,\n\txhrCallbacks = {},\n\txhrSupported = jQuery.ajaxSettings.xhr();\n\n// Support: IE<10\n// Open requests must be manually aborted on unload (#5280)\n// See https://support.microsoft.com/kb/2856746 for more info\nif ( window.attachEvent ) {\n\twindow.attachEvent( \"onunload\", function() {\n\t\tfor ( var key in xhrCallbacks ) {\n\t\t\txhrCallbacks[ key ]( undefined, true );\n\t\t}\n\t} );\n}\n\n// Determine support properties\nsupport.cors = !!xhrSupported && ( \"withCredentials\" in xhrSupported );\nxhrSupported = support.ajax = !!xhrSupported;\n\n// Create transport if the browser can provide an xhr\nif ( xhrSupported ) {\n\n\tjQuery.ajaxTransport( function( options ) {\n\n\t\t// Cross domain only allowed if supported through XMLHttpRequest\n\t\tif ( !options.crossDomain || support.cors ) {\n\n\t\t\tvar callback;\n\n\t\t\treturn {\n\t\t\t\tsend: function( headers, complete ) {\n\t\t\t\t\tvar i,\n\t\t\t\t\t\txhr = options.xhr(),\n\t\t\t\t\t\tid = ++xhrId;\n\n\t\t\t\t\t// Open the socket\n\t\t\t\t\txhr.open(\n\t\t\t\t\t\toptions.type,\n\t\t\t\t\t\toptions.url,\n\t\t\t\t\t\toptions.async,\n\t\t\t\t\t\toptions.username,\n\t\t\t\t\t\toptions.password\n\t\t\t\t\t);\n\n\t\t\t\t\t// Apply custom fields if provided\n\t\t\t\t\tif ( options.xhrFields ) {\n\t\t\t\t\t\tfor ( i in options.xhrFields ) {\n\t\t\t\t\t\t\txhr[ i ] = options.xhrFields[ i ];\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\t// Override mime type if needed\n\t\t\t\t\tif ( options.mimeType && xhr.overrideMimeType ) {\n\t\t\t\t\t\txhr.overrideMimeType( options.mimeType );\n\t\t\t\t\t}\n\n\t\t\t\t\t// X-Requested-With header\n\t\t\t\t\t// For cross-domain requests, seeing as conditions for a preflight are\n\t\t\t\t\t// akin to a jigsaw puzzle, we simply never set it to be sure.\n\t\t\t\t\t// (it can always be set on a per-request basis or even using ajaxSetup)\n\t\t\t\t\t// For same-domain requests, won't change header if already provided.\n\t\t\t\t\tif ( !options.crossDomain && !headers[ \"X-Requested-With\" ] ) {\n\t\t\t\t\t\theaders[ \"X-Requested-With\" ] = \"XMLHttpRequest\";\n\t\t\t\t\t}\n\n\t\t\t\t\t// Set headers\n\t\t\t\t\tfor ( i in headers ) {\n\n\t\t\t\t\t\t// Support: IE<9\n\t\t\t\t\t\t// IE's ActiveXObject throws a 'Type Mismatch' exception when setting\n\t\t\t\t\t\t// request header to a null-value.\n\t\t\t\t\t\t//\n\t\t\t\t\t\t// To keep consistent with other XHR implementations, cast the value\n\t\t\t\t\t\t// to string and ignore `undefined`.\n\t\t\t\t\t\tif ( headers[ i ] !== undefined ) {\n\t\t\t\t\t\t\txhr.setRequestHeader( i, headers[ i ] + \"\" );\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\t// Do send the request\n\t\t\t\t\t// This may raise an exception which is actually\n\t\t\t\t\t// handled in jQuery.ajax (so no try/catch here)\n\t\t\t\t\txhr.send( ( options.hasContent && options.data ) || null );\n\n\t\t\t\t\t// Listener\n\t\t\t\t\tcallback = function( _, isAbort ) {\n\t\t\t\t\t\tvar status, statusText, responses;\n\n\t\t\t\t\t\t// Was never called and is aborted or complete\n\t\t\t\t\t\tif ( callback && ( isAbort || xhr.readyState === 4 ) ) {\n\n\t\t\t\t\t\t\t// Clean up\n\t\t\t\t\t\t\tdelete xhrCallbacks[ id ];\n\t\t\t\t\t\t\tcallback = undefined;\n\t\t\t\t\t\t\txhr.onreadystatechange = jQuery.noop;\n\n\t\t\t\t\t\t\t// Abort manually if needed\n\t\t\t\t\t\t\tif ( isAbort ) {\n\t\t\t\t\t\t\t\tif ( xhr.readyState !== 4 ) {\n\t\t\t\t\t\t\t\t\txhr.abort();\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\tresponses = {};\n\t\t\t\t\t\t\t\tstatus = xhr.status;\n\n\t\t\t\t\t\t\t\t// Support: IE<10\n\t\t\t\t\t\t\t\t// Accessing binary-data responseText throws an exception\n\t\t\t\t\t\t\t\t// (#11426)\n\t\t\t\t\t\t\t\tif ( typeof xhr.responseText === \"string\" ) {\n\t\t\t\t\t\t\t\t\tresponses.text = xhr.responseText;\n\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t// Firefox throws an exception when accessing\n\t\t\t\t\t\t\t\t// statusText for faulty cross-domain requests\n\t\t\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\t\t\tstatusText = xhr.statusText;\n\t\t\t\t\t\t\t\t} catch ( e ) {\n\n\t\t\t\t\t\t\t\t\t// We normalize with Webkit giving an empty statusText\n\t\t\t\t\t\t\t\t\tstatusText = \"\";\n\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t// Filter status for non standard behaviors\n\n\t\t\t\t\t\t\t\t// If the request is local and we have data: assume a success\n\t\t\t\t\t\t\t\t// (success with no data won't get notified, that's the best we\n\t\t\t\t\t\t\t\t// can do given current implementations)\n\t\t\t\t\t\t\t\tif ( !status && options.isLocal && !options.crossDomain ) {\n\t\t\t\t\t\t\t\t\tstatus = responses.text ? 200 : 404;\n\n\t\t\t\t\t\t\t\t// IE - #1450: sometimes returns 1223 when it should be 204\n\t\t\t\t\t\t\t\t} else if ( status === 1223 ) {\n\t\t\t\t\t\t\t\t\tstatus = 204;\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t// Call complete if needed\n\t\t\t\t\t\tif ( responses ) {\n\t\t\t\t\t\t\tcomplete( status, statusText, responses, xhr.getAllResponseHeaders() );\n\t\t\t\t\t\t}\n\t\t\t\t\t};\n\n\t\t\t\t\t// Do send the request\n\t\t\t\t\t// `xhr.send` may raise an exception, but it will be\n\t\t\t\t\t// handled in jQuery.ajax (so no try/catch here)\n\t\t\t\t\tif ( !options.async ) {\n\n\t\t\t\t\t\t// If we're in sync mode we fire the callback\n\t\t\t\t\t\tcallback();\n\t\t\t\t\t} else if ( xhr.readyState === 4 ) {\n\n\t\t\t\t\t\t// (IE6 & IE7) if it's in cache and has been\n\t\t\t\t\t\t// retrieved directly we need to fire the callback\n\t\t\t\t\t\twindow.setTimeout( callback );\n\t\t\t\t\t} else {\n\n\t\t\t\t\t\t// Register the callback, but delay it in case `xhr.send` throws\n\t\t\t\t\t\t// Add to the list of active xhr callbacks\n\t\t\t\t\t\txhr.onreadystatechange = xhrCallbacks[ id ] = callback;\n\t\t\t\t\t}\n\t\t\t\t},\n\n\t\t\t\tabort: function() {\n\t\t\t\t\tif ( callback ) {\n\t\t\t\t\t\tcallback( undefined, true );\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t};\n\t\t}\n\t} );\n}\n\n// Functions to create xhrs\nfunction createStandardXHR() {\n\ttry {\n\t\treturn new window.XMLHttpRequest();\n\t} catch ( e ) {}\n}\n\nfunction createActiveXHR() {\n\ttry {\n\t\treturn new window.ActiveXObject( \"Microsoft.XMLHTTP\" );\n\t} catch ( e ) {}\n}\n\n\n\n\n// Prevent auto-execution of scripts when no explicit dataType was provided (See gh-2432)\n// https://oktainc.atlassian.net/browse/OKTA-131142\njQuery.ajaxPrefilter( function( s ) {\n\tif ( s.crossDomain ) {\n\t\ts.contents.script = false;\n\t}\n} );\n\n// Install script dataType\njQuery.ajaxSetup( {\n\taccepts: {\n\t\tscript: \"text/javascript, application/javascript, \" +\n\t\t\t\"application/ecmascript, application/x-ecmascript\"\n\t},\n\tcontents: {\n\t\tscript: /\\b(?:java|ecma)script\\b/\n\t},\n\tconverters: {\n\t\t\"text script\": function( text ) {\n\t\t\tjQuery.globalEval( text );\n\t\t\treturn text;\n\t\t}\n\t}\n} );\n\n// Handle cache's special case and global\njQuery.ajaxPrefilter( \"script\", function( s ) {\n\tif ( s.cache === undefined ) {\n\t\ts.cache = false;\n\t}\n\tif ( s.crossDomain ) {\n\t\ts.type = \"GET\";\n\t\ts.global = false;\n\t}\n} );\n\n// Bind script tag hack transport\njQuery.ajaxTransport( \"script\", function( s ) {\n\n\t// This transport only deals with cross domain requests\n\tif ( s.crossDomain ) {\n\n\t\tvar script,\n\t\t\thead = document.head || jQuery( \"head\" )[ 0 ] || document.documentElement;\n\n\t\treturn {\n\n\t\t\tsend: function( _, callback ) {\n\n\t\t\t\tscript = document.createElement( \"script\" );\n\n\t\t\t\tscript.async = true;\n\n\t\t\t\tif ( s.scriptCharset ) {\n\t\t\t\t\tscript.charset = s.scriptCharset;\n\t\t\t\t}\n\n\t\t\t\tscript.src = s.url;\n\n\t\t\t\t// Attach handlers for all browsers\n\t\t\t\tscript.onload = script.onreadystatechange = function( _, isAbort ) {\n\n\t\t\t\t\tif ( isAbort || !script.readyState || /loaded|complete/.test( script.readyState ) ) {\n\n\t\t\t\t\t\t// Handle memory leak in IE\n\t\t\t\t\t\tscript.onload = script.onreadystatechange = null;\n\n\t\t\t\t\t\t// Remove the script\n\t\t\t\t\t\tif ( script.parentNode ) {\n\t\t\t\t\t\t\tscript.parentNode.removeChild( script );\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t// Dereference the script\n\t\t\t\t\t\tscript = null;\n\n\t\t\t\t\t\t// Callback if not abort\n\t\t\t\t\t\tif ( !isAbort ) {\n\t\t\t\t\t\t\tcallback( 200, \"success\" );\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t};\n\n\t\t\t\t// Circumvent IE6 bugs with base elements (#2709 and #4378) by prepending\n\t\t\t\t// Use native DOM manipulation to avoid our domManip AJAX trickery\n\t\t\t\thead.insertBefore( script, head.firstChild );\n\t\t\t},\n\n\t\t\tabort: function() {\n\t\t\t\tif ( script ) {\n\t\t\t\t\tscript.onload( undefined, true );\n\t\t\t\t}\n\t\t\t}\n\t\t};\n\t}\n} );\n\n\n\n\nvar oldCallbacks = [],\n\trjsonp = /(=)\\?(?=&|$)|\\?\\?/;\n\n// Default jsonp settings\njQuery.ajaxSetup( {\n\tjsonp: \"callback\",\n\tjsonpCallback: function() {\n\t\tvar callback = oldCallbacks.pop() || ( jQuery.expando + \"_\" + ( nonce++ ) );\n\t\tthis[ callback ] = true;\n\t\treturn callback;\n\t}\n} );\n\n// Detect, normalize options and install callbacks for jsonp requests\njQuery.ajaxPrefilter( \"json jsonp\", function( s, originalSettings, jqXHR ) {\n\n\tvar callbackName, overwritten, responseContainer,\n\t\tjsonProp = s.jsonp !== false && ( rjsonp.test( s.url ) ?\n\t\t\t\"url\" :\n\t\t\ttypeof s.data === \"string\" &&\n\t\t\t\t( s.contentType || \"\" )\n\t\t\t\t\t.indexOf( \"application/x-www-form-urlencoded\" ) === 0 &&\n\t\t\t\trjsonp.test( s.data ) && \"data\"\n\t\t);\n\n\t// Handle iff the expected data type is \"jsonp\" or we have a parameter to set\n\tif ( jsonProp || s.dataTypes[ 0 ] === \"jsonp\" ) {\n\n\t\t// Get callback name, remembering preexisting value associated with it\n\t\tcallbackName = s.jsonpCallback = jQuery.isFunction( s.jsonpCallback ) ?\n\t\t\ts.jsonpCallback() :\n\t\t\ts.jsonpCallback;\n\n\t\t// Insert callback into url or form data\n\t\tif ( jsonProp ) {\n\t\t\ts[ jsonProp ] = s[ jsonProp ].replace( rjsonp, \"$1\" + callbackName );\n\t\t} else if ( s.jsonp !== false ) {\n\t\t\ts.url += ( rquery.test( s.url ) ? \"&\" : \"?\" ) + s.jsonp + \"=\" + callbackName;\n\t\t}\n\n\t\t// Use data converter to retrieve json after script execution\n\t\ts.converters[ \"script json\" ] = function() {\n\t\t\tif ( !responseContainer ) {\n\t\t\t\tjQuery.error( callbackName + \" was not called\" );\n\t\t\t}\n\t\t\treturn responseContainer[ 0 ];\n\t\t};\n\n\t\t// force json dataType\n\t\ts.dataTypes[ 0 ] = \"json\";\n\n\t\t// Install callback\n\t\toverwritten = window[ callbackName ];\n\t\twindow[ callbackName ] = function() {\n\t\t\tresponseContainer = arguments;\n\t\t};\n\n\t\t// Clean-up function (fires after converters)\n\t\tjqXHR.always( function() {\n\n\t\t\t// If previous value didn't exist - remove it\n\t\t\tif ( overwritten === undefined ) {\n\t\t\t\tjQuery( window ).removeProp( callbackName );\n\n\t\t\t// Otherwise restore preexisting value\n\t\t\t} else {\n\t\t\t\twindow[ callbackName ] = overwritten;\n\t\t\t}\n\n\t\t\t// Save back as free\n\t\t\tif ( s[ callbackName ] ) {\n\n\t\t\t\t// make sure that re-using the options doesn't screw things around\n\t\t\t\ts.jsonpCallback = originalSettings.jsonpCallback;\n\n\t\t\t\t// save the callback name for future use\n\t\t\t\toldCallbacks.push( callbackName );\n\t\t\t}\n\n\t\t\t// Call if it was a function and we have a response\n\t\t\tif ( responseContainer && jQuery.isFunction( overwritten ) ) {\n\t\t\t\toverwritten( responseContainer[ 0 ] );\n\t\t\t}\n\n\t\t\tresponseContainer = overwritten = undefined;\n\t\t} );\n\n\t\t// Delegate to script\n\t\treturn \"script\";\n\t}\n} );\n\n\n\n\n// data: string of html\n// context (optional): If specified, the fragment will be created in this context,\n// defaults to document\n// keepScripts (optional): If true, will include scripts passed in the html string\njQuery.parseHTML = function( data, context, keepScripts ) {\n\tif ( !data || typeof data !== \"string\" ) {\n\t\treturn null;\n\t}\n\tif ( typeof context === \"boolean\" ) {\n\t\tkeepScripts = context;\n\t\tcontext = false;\n\t}\n\tcontext = context || document;\n\n\tvar parsed = rsingleTag.exec( data ),\n\t\tscripts = !keepScripts && [];\n\n\t// Single tag\n\tif ( parsed ) {\n\t\treturn [ context.createElement( parsed[ 1 ] ) ];\n\t}\n\n\tparsed = buildFragment( [ data ], context, scripts );\n\n\tif ( scripts && scripts.length ) {\n\t\tjQuery( scripts ).remove();\n\t}\n\n\treturn jQuery.merge( [], parsed.childNodes );\n};\n\n\n// Keep a copy of the old load method\nvar _load = jQuery.fn.load;\n\n/**\n * Load a url into a page\n */\njQuery.fn.load = function( url, params, callback ) {\n\tif ( typeof url !== \"string\" && _load ) {\n\t\treturn _load.apply( this, arguments );\n\t}\n\n\tvar selector, type, response,\n\t\tself = this,\n\t\toff = url.indexOf( \" \" );\n\n\tif ( off > -1 ) {\n\t\tselector = jQuery.trim( url.slice( off, url.length ) );\n\t\turl = url.slice( 0, off );\n\t}\n\n\t// If it's a function\n\tif ( jQuery.isFunction( params ) ) {\n\n\t\t// We assume that it's the callback\n\t\tcallback = params;\n\t\tparams = undefined;\n\n\t// Otherwise, build a param string\n\t} else if ( params && typeof params === \"object\" ) {\n\t\ttype = \"POST\";\n\t}\n\n\t// If we have elements to modify, make the request\n\tif ( self.length > 0 ) {\n\t\tjQuery.ajax( {\n\t\t\turl: url,\n\n\t\t\t// If \"type\" variable is undefined, then \"GET\" method will be used.\n\t\t\t// Make value of this field explicit since\n\t\t\t// user can override it through ajaxSetup method\n\t\t\ttype: type || \"GET\",\n\t\t\tdataType: \"html\",\n\t\t\tdata: params\n\t\t} ).done( function( responseText ) {\n\n\t\t\t// Save response for use in complete callback\n\t\t\tresponse = arguments;\n\n\t\t\tself.html( selector ?\n\n\t\t\t\t// If a selector was specified, locate the right elements in a dummy div\n\t\t\t\t// Exclude scripts to avoid IE 'Permission Denied' errors\n\t\t\t\tjQuery( \"<div>\" ).append( jQuery.parseHTML( responseText ) ).find( selector ) :\n\n\t\t\t\t// Otherwise use the full result\n\t\t\t\tresponseText );\n\n\t\t// If the request succeeds, this function gets \"data\", \"status\", \"jqXHR\"\n\t\t// but they are ignored because response was set above.\n\t\t// If it fails, this function gets \"jqXHR\", \"status\", \"error\"\n\t\t} ).always( callback && function( jqXHR, status ) {\n\t\t\tself.each( function() {\n\t\t\t\tcallback.apply( this, response || [ jqXHR.responseText, status, jqXHR ] );\n\t\t\t} );\n\t\t} );\n\t}\n\n\treturn this;\n};\n\n\n\n\n// Attach a bunch of functions for handling common AJAX events\njQuery.each( [\n\t\"ajaxStart\",\n\t\"ajaxStop\",\n\t\"ajaxComplete\",\n\t\"ajaxError\",\n\t\"ajaxSuccess\",\n\t\"ajaxSend\"\n], function( i, type ) {\n\tjQuery.fn[ type ] = function( fn ) {\n\t\treturn this.on( type, fn );\n\t};\n} );\n\n\n\n\njQuery.expr.filters.animated = function( elem ) {\n\treturn jQuery.grep( jQuery.timers, function( fn ) {\n\t\treturn elem === fn.elem;\n\t} ).length;\n};\n\n\n\n\n\n/**\n * Gets a window from an element\n */\nfunction getWindow( elem ) {\n\treturn jQuery.isWindow( elem ) ?\n\t\telem :\n\t\telem.nodeType === 9 ?\n\t\t\telem.defaultView || elem.parentWindow :\n\t\t\tfalse;\n}\n\njQuery.offset = {\n\tsetOffset: function( elem, options, i ) {\n\t\tvar curPosition, curLeft, curCSSTop, curTop, curOffset, curCSSLeft, calculatePosition,\n\t\t\tposition = jQuery.css( elem, \"position\" ),\n\t\t\tcurElem = jQuery( elem ),\n\t\t\tprops = {};\n\n\t\t// set position first, in-case top/left are set even on static elem\n\t\tif ( position === \"static\" ) {\n\t\t\telem.style.position = \"relative\";\n\t\t}\n\n\t\tcurOffset = curElem.offset();\n\t\tcurCSSTop = jQuery.css( elem, \"top\" );\n\t\tcurCSSLeft = jQuery.css( elem, \"left\" );\n\t\tcalculatePosition = ( position === \"absolute\" || position === \"fixed\" ) &&\n\t\t\tjQuery.inArray( \"auto\", [ curCSSTop, curCSSLeft ] ) > -1;\n\n\t\t// need to be able to calculate position if either top or left\n\t\t// is auto and position is either absolute or fixed\n\t\tif ( calculatePosition ) {\n\t\t\tcurPosition = curElem.position();\n\t\t\tcurTop = curPosition.top;\n\t\t\tcurLeft = curPosition.left;\n\t\t} else {\n\t\t\tcurTop = parseFloat( curCSSTop ) || 0;\n\t\t\tcurLeft = parseFloat( curCSSLeft ) || 0;\n\t\t}\n\n\t\tif ( jQuery.isFunction( options ) ) {\n\n\t\t\t// Use jQuery.extend here to allow modification of coordinates argument (gh-1848)\n\t\t\toptions = options.call( elem, i, jQuery.extend( {}, curOffset ) );\n\t\t}\n\n\t\tif ( options.top != null ) {\n\t\t\tprops.top = ( options.top - curOffset.top ) + curTop;\n\t\t}\n\t\tif ( options.left != null ) {\n\t\t\tprops.left = ( options.left - curOffset.left ) + curLeft;\n\t\t}\n\n\t\tif ( \"using\" in options ) {\n\t\t\toptions.using.call( elem, props );\n\t\t} else {\n\t\t\tcurElem.css( props );\n\t\t}\n\t}\n};\n\njQuery.fn.extend( {\n\toffset: function( options ) {\n\t\tif ( arguments.length ) {\n\t\t\treturn options === undefined ?\n\t\t\t\tthis :\n\t\t\t\tthis.each( function( i ) {\n\t\t\t\t\tjQuery.offset.setOffset( this, options, i );\n\t\t\t\t} );\n\t\t}\n\n\t\tvar docElem, win,\n\t\t\tbox = { top: 0, left: 0 },\n\t\t\telem = this[ 0 ],\n\t\t\tdoc = elem && elem.ownerDocument;\n\n\t\tif ( !doc ) {\n\t\t\treturn;\n\t\t}\n\n\t\tdocElem = doc.documentElement;\n\n\t\t// Make sure it's not a disconnected DOM node\n\t\tif ( !jQuery.contains( docElem, elem ) ) {\n\t\t\treturn box;\n\t\t}\n\n\t\t// If we don't have gBCR, just use 0,0 rather than error\n\t\t// BlackBerry 5, iOS 3 (original iPhone)\n\t\tif ( typeof elem.getBoundingClientRect !== \"undefined\" ) {\n\t\t\tbox = elem.getBoundingClientRect();\n\t\t}\n\t\twin = getWindow( doc );\n\t\treturn {\n\t\t\ttop: box.top + ( win.pageYOffset || docElem.scrollTop ) - ( docElem.clientTop || 0 ),\n\t\t\tleft: box.left + ( win.pageXOffset || docElem.scrollLeft ) - ( docElem.clientLeft || 0 )\n\t\t};\n\t},\n\n\tposition: function() {\n\t\tif ( !this[ 0 ] ) {\n\t\t\treturn;\n\t\t}\n\n\t\tvar offsetParent, offset,\n\t\t\tparentOffset = { top: 0, left: 0 },\n\t\t\telem = this[ 0 ];\n\n\t\t// Fixed elements are offset from window (parentOffset = {top:0, left: 0},\n\t\t// because it is its only offset parent\n\t\tif ( jQuery.css( elem, \"position\" ) === \"fixed\" ) {\n\n\t\t\t// we assume that getBoundingClientRect is available when computed position is fixed\n\t\t\toffset = elem.getBoundingClientRect();\n\t\t} else {\n\n\t\t\t// Get *real* offsetParent\n\t\t\toffsetParent = this.offsetParent();\n\n\t\t\t// Get correct offsets\n\t\t\toffset = this.offset();\n\t\t\tif ( !jQuery.nodeName( offsetParent[ 0 ], \"html\" ) ) {\n\t\t\t\tparentOffset = offsetParent.offset();\n\t\t\t}\n\n\t\t\t// Add offsetParent borders\n\t\t\tparentOffset.top += jQuery.css( offsetParent[ 0 ], \"borderTopWidth\", true );\n\t\t\tparentOffset.left += jQuery.css( offsetParent[ 0 ], \"borderLeftWidth\", true );\n\t\t}\n\n\t\t// Subtract parent offsets and element margins\n\t\t// note: when an element has margin: auto the offsetLeft and marginLeft\n\t\t// are the same in Safari causing offset.left to incorrectly be 0\n\t\treturn {\n\t\t\ttop: offset.top - parentOffset.top - jQuery.css( elem, \"marginTop\", true ),\n\t\t\tleft: offset.left - parentOffset.left - jQuery.css( elem, \"marginLeft\", true )\n\t\t};\n\t},\n\n\toffsetParent: function() {\n\t\treturn this.map( function() {\n\t\t\tvar offsetParent = this.offsetParent;\n\n\t\t\twhile ( offsetParent && ( !jQuery.nodeName( offsetParent, \"html\" ) &&\n\t\t\t\tjQuery.css( offsetParent, \"position\" ) === \"static\" ) ) {\n\t\t\t\toffsetParent = offsetParent.offsetParent;\n\t\t\t}\n\t\t\treturn offsetParent || documentElement;\n\t\t} );\n\t}\n} );\n\n// Create scrollLeft and scrollTop methods\njQuery.each( { scrollLeft: \"pageXOffset\", scrollTop: \"pageYOffset\" }, function( method, prop ) {\n\tvar top = /Y/.test( prop );\n\n\tjQuery.fn[ method ] = function( val ) {\n\t\treturn access( this, function( elem, method, val ) {\n\t\t\tvar win = getWindow( elem );\n\n\t\t\tif ( val === undefined ) {\n\t\t\t\treturn win ? ( prop in win ) ? win[ prop ] :\n\t\t\t\t\twin.document.documentElement[ method ] :\n\t\t\t\t\telem[ method ];\n\t\t\t}\n\n\t\t\tif ( win ) {\n\t\t\t\twin.scrollTo(\n\t\t\t\t\t!top ? val : jQuery( win ).scrollLeft(),\n\t\t\t\t\ttop ? val : jQuery( win ).scrollTop()\n\t\t\t\t);\n\n\t\t\t} else {\n\t\t\t\telem[ method ] = val;\n\t\t\t}\n\t\t}, method, val, arguments.length, null );\n\t};\n} );\n\n// Support: Safari<7-8+, Chrome<37-44+\n// Add the top/left cssHooks using jQuery.fn.position\n// Webkit bug: https://bugs.webkit.org/show_bug.cgi?id=29084\n// getComputedStyle returns percent when specified for top/left/bottom/right\n// rather than make the css module depend on the offset module, we just check for it here\njQuery.each( [ \"top\", \"left\" ], function( i, prop ) {\n\tjQuery.cssHooks[ prop ] = addGetHookIf( support.pixelPosition,\n\t\tfunction( elem, computed ) {\n\t\t\tif ( computed ) {\n\t\t\t\tcomputed = curCSS( elem, prop );\n\n\t\t\t\t// if curCSS returns percentage, fallback to offset\n\t\t\t\treturn rnumnonpx.test( computed ) ?\n\t\t\t\t\tjQuery( elem ).position()[ prop ] + \"px\" :\n\t\t\t\t\tcomputed;\n\t\t\t}\n\t\t}\n\t);\n} );\n\n\n// Create innerHeight, innerWidth, height, width, outerHeight and outerWidth methods\njQuery.each( { Height: \"height\", Width: \"width\" }, function( name, type ) {\n\tjQuery.each( { padding: \"inner\" + name, content: type, \"\": \"outer\" + name },\n\tfunction( defaultExtra, funcName ) {\n\n\t\t// margin is only for outerHeight, outerWidth\n\t\tjQuery.fn[ funcName ] = function( margin, value ) {\n\t\t\tvar chainable = arguments.length && ( defaultExtra || typeof margin !== \"boolean\" ),\n\t\t\t\textra = defaultExtra || ( margin === true || value === true ? \"margin\" : \"border\" );\n\n\t\t\treturn access( this, function( elem, type, value ) {\n\t\t\t\tvar doc;\n\n\t\t\t\tif ( jQuery.isWindow( elem ) ) {\n\n\t\t\t\t\t// As of 5/8/2012 this will yield incorrect results for Mobile Safari, but there\n\t\t\t\t\t// isn't a whole lot we can do. See pull request at this URL for discussion:\n\t\t\t\t\t// https://github.com/jquery/jquery/pull/764\n\t\t\t\t\treturn elem.document.documentElement[ \"client\" + name ];\n\t\t\t\t}\n\n\t\t\t\t// Get document width or height\n\t\t\t\tif ( elem.nodeType === 9 ) {\n\t\t\t\t\tdoc = elem.documentElement;\n\n\t\t\t\t\t// Either scroll[Width/Height] or offset[Width/Height] or client[Width/Height],\n\t\t\t\t\t// whichever is greatest\n\t\t\t\t\t// unfortunately, this causes bug #3838 in IE6/8 only,\n\t\t\t\t\t// but there is currently no good, small way to fix it.\n\t\t\t\t\treturn Math.max(\n\t\t\t\t\t\telem.body[ \"scroll\" + name ], doc[ \"scroll\" + name ],\n\t\t\t\t\t\telem.body[ \"offset\" + name ], doc[ \"offset\" + name ],\n\t\t\t\t\t\tdoc[ \"client\" + name ]\n\t\t\t\t\t);\n\t\t\t\t}\n\n\t\t\t\treturn value === undefined ?\n\n\t\t\t\t\t// Get width or height on the element, requesting but not forcing parseFloat\n\t\t\t\t\tjQuery.css( elem, type, extra ) :\n\n\t\t\t\t\t// Set width or height on the element\n\t\t\t\t\tjQuery.style( elem, type, value, extra );\n\t\t\t}, type, chainable ? margin : undefined, chainable, null );\n\t\t};\n\t} );\n} );\n\n\njQuery.fn.extend( {\n\n\tbind: function( types, data, fn ) {\n\t\treturn this.on( types, null, data, fn );\n\t},\n\tunbind: function( types, fn ) {\n\t\treturn this.off( types, null, fn );\n\t},\n\n\tdelegate: function( selector, types, data, fn ) {\n\t\treturn this.on( types, selector, data, fn );\n\t},\n\tundelegate: function( selector, types, fn ) {\n\n\t\t// ( namespace ) or ( selector, types [, fn] )\n\t\treturn arguments.length === 1 ?\n\t\t\tthis.off( selector, \"**\" ) :\n\t\t\tthis.off( types, selector || \"**\", fn );\n\t}\n} );\n\n// The number of elements contained in the matched element set\njQuery.fn.size = function() {\n\treturn this.length;\n};\n\njQuery.fn.andSelf = jQuery.fn.addBack;\n\n\n\n\n// Register as a named AMD module, since jQuery can be concatenated with other\n// files that may use define, but not via a proper concatenation script that\n// understands anonymous AMD modules. A named AMD is safest and most robust\n// way to register. Lowercase jquery is used because AMD module names are\n// derived from file names, and jQuery is normally delivered in a lowercase\n// file name. Do this after creating the global so that if an AMD module wants\n// to call noConflict to hide this version of jQuery, it will work.\n\n// Note that for maximum portability, libraries that are not jQuery should\n// declare themselves as anonymous modules, and avoid setting a global if an\n// AMD loader is present. jQuery is a special case. For more information, see\n// https://github.com/jrburke/requirejs/wiki/Updating-existing-libraries#wiki-anon\n\nif ( true ) {\n\t!(__WEBPACK_AMD_DEFINE_ARRAY__ = [], __WEBPACK_AMD_DEFINE_RESULT__ = (function() {\n\t\treturn jQuery;\n\t}).apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n}\n\n\n\nvar\n\n\t// Map over jQuery in case of overwrite\n\t_jQuery = window.jQuery,\n\n\t// Map over the $ in case of overwrite\n\t_$ = window.$;\n\njQuery.noConflict = function( deep ) {\n\tif ( window.$ === jQuery ) {\n\t\twindow.$ = _$;\n\t}\n\n\tif ( deep && window.jQuery === jQuery ) {\n\t\twindow.jQuery = _jQuery;\n\t}\n\n\treturn jQuery;\n};\n\n// Expose jQuery and $ identifiers, even in\n// AMD (#7102#comment:10, https://github.com/jquery/jquery/pull/557)\n// and CommonJS for browser emulators (#13566)\n\n//9/10/2018 - OKTA-187649 - Expose jQuery in the global window object to externalize it\n//OKTA-Core used to load separate jquery as part of the saasure.min.js file along with the one that is bundled in dll.common\nif ( !noGlobal || window.__OKTA_EXPORT_JQUERY__ ) {\n\twindow.jQuery = window.$ = jQuery;\n}\n\nreturn jQuery;\n}));\n\n\n/***/ }),\n/* 121 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\nvar __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;\n\nvar _stringify = __webpack_require__(77);\n\nvar _stringify2 = _interopRequireDefault(_stringify);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/*!\n * Copyright (c) 2015-2016, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n\n!(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(120), __webpack_require__(151), __webpack_require__(233), __webpack_require__(17), __webpack_require__(494), __webpack_require__(495), __webpack_require__(57), __webpack_require__(152), __webpack_require__(58)], __WEBPACK_AMD_DEFINE_RESULT__ = (function ($, _, Handlebars, Q, login, country, Logger, config, BrowserFeatures) {\n\n var STORAGE_KEY = 'osw.languages';\n\n var bundlePathTpl = Handlebars.compile('/labels/jsonp/{{bundle}}_{{languageCode}}.jsonp');\n\n /**\n * Converts options to our internal format, which distinguishes between\n * login and country bundles.\n *\n * Example options.i18n passed in by the developer:\n * {\n * 'en': {\n * 'needhelp': 'need help override',\n * 'primaryauth.title': 'new sign in text',\n * 'country.JP' = 'Japan, Japan'\n * }\n * }\n *\n * Parsed:\n * {\n * 'en': {\n * 'login': {\n * 'needhelp': 'need help override',\n * 'primaryauth.title': 'new sign in text',\n * },\n * 'country': {\n * 'JP': 'Japan, Japan'\n * }\n * }\n * }\n */\n function parseOverrides(i18n) {\n if (!i18n) {\n return {};\n }\n\n var i18nWithLowerCaseKeys = {};\n\n _.each(_.keys(i18n), function (key) {\n i18nWithLowerCaseKeys[key.toLowerCase()] = i18n[key];\n });\n\n return _.mapObject(i18nWithLowerCaseKeys, function (props) {\n var mapped = { login: {}, country: {} };\n if (!_.isObject(props)) {\n throw new Error('Invalid format for \"i18n\"');\n }\n _.each(props, function (val, key) {\n var split = key.split(/^country\\./);\n if (split.length > 1) {\n mapped.country[split[1]] = val;\n } else {\n mapped.login[split[0]] = val;\n }\n });\n return mapped;\n });\n }\n\n // Caching: We only bundle English by default in the Sign-In Widget. Other\n // languages are loaded on demand and cached in localStorage. These languages\n // are tied to the version of the widget - when it bumps, we reset the cache.\n\n function getCachedLanguages() {\n var storage = JSON.parse(localStorage.getItem(STORAGE_KEY));\n if (!storage || storage.version !== config.version) {\n storage = {\n version: config.version\n };\n }\n return storage;\n }\n\n function addLanguageToCache(language, loginJson, countryJson) {\n var current = getCachedLanguages();\n current[language] = {\n login: loginJson,\n country: countryJson\n };\n localStorage.setItem(STORAGE_KEY, (0, _stringify2.default)(current));\n }\n\n // We use jsonp to get around any CORS issues if the developer is using\n // the hosted version of the widget - by default, the assets.bundleUrl is\n // tied to the Okta CDN.\n //\n // There are two overrides available for modifying where we load the asset\n // bundles from:\n //\n // 1. assets.baseUrl\n //\n // This is the base path the OSW pulls assets from, which in this case is\n // the Okta CDN. Override this config option if you want to host the\n // files on your own domain, or if you're using a new version of the\n // widget whose language files haven't been published to the CDN yet.\n //\n // 2. assets.rewrite\n //\n // This is a function that can be used to modify the path + fileName of\n // the bundle we're loading, relative to the baseUrl. When called, it\n // will pass the current path, and expect the new path to be returned.\n // This is useful, for example, if your build process has an extra\n // cachebusting step, i.e:\n //\n // function rewrite(file) {\n // // file: /labels/jsonp/login_ja.jsonp\n // return file.replace('.jsonp', '.' + md5file(file) + '.jsonp');\n // }\n //\n // Note: Most developers will not need to use these overrides - the default\n // is to use the Okta CDN and to use the same path + file structure the\n // widget module publishes by default.\n function fetchJsonp(bundle, language, assets) {\n var languageCode, path;\n\n // Our bundles use _ to separate country and region, i.e:\n // zh-CN -> zh_CN\n languageCode = language.replace('-', '_');\n\n path = assets.rewrite(bundlePathTpl({\n bundle: bundle,\n languageCode: languageCode\n }));\n\n return $.ajax({\n url: assets.baseUrl + path,\n dataType: 'jsonp',\n cache: true,\n // jQuery jsonp doesn't handle errors, so set a long timeout as a\n // fallback option\n timeout: 5000,\n jsonpCallback: 'jsonp_' + bundle\n });\n }\n\n function getBundles(language, assets) {\n // Two special cases:\n // 1. English is already bundled with the widget\n // 2. If the language is not in our config file, it means that they've\n // probably defined it on their own.\n if (language === 'en' || !_.contains(config.supportedLanguages, language)) {\n return Q({});\n }\n\n //local storage does not work correctly with android web views (embeded browers)\n //so skip the caching and just make the request to get the local info\n var localStorageIsSupported = !BrowserFeatures.localStorageIsNotSupported();\n if (localStorageIsSupported) {\n var cached = getCachedLanguages();\n if (cached[language]) {\n return Q(cached[language]);\n }\n }\n\n return Q.all([fetchJsonp('login', language, assets), fetchJsonp('country', language, assets)]).spread(function (loginJson, countryJson) {\n if (localStorageIsSupported) {\n addLanguageToCache(language, loginJson, countryJson);\n }\n return { login: loginJson, country: countryJson };\n }).fail(function () {\n // If there is an error, this will default to the bundled language and\n // we will no longer try to load the language this session.\n Logger.warn('Unable to load language: ' + language);\n return {};\n });\n }\n\n return {\n login: login,\n country: country,\n // Courage components within the sign in widget point to courage bundle to look\n // up i18nkeys. Since we dont have courage.properties inside the sign in widget\n // we are pointing courage bundle to login.\n courage: login,\n\n currentLanguage: null,\n\n isLoaded: function isLoaded(language) {\n return this.currentLanguage === language;\n },\n\n remove: function remove() {\n this.currentLanguage = null;\n },\n\n loadLanguage: function loadLanguage(language, overrides, assets) {\n var parsedOverrides = parseOverrides(overrides);\n var lowerCaseLanguage = language.toLowerCase();\n return getBundles(language, assets).then(_.bind(function (bundles) {\n // Always extend from the built in defaults in the event that some\n // properties are not translated\n this.login = _.extend({}, login, bundles.login);\n this.country = _.extend({}, country, bundles.country);\n this.courage = _.extend({}, login, bundles.login);\n if (parsedOverrides[lowerCaseLanguage]) {\n _.extend(this.login, parsedOverrides[lowerCaseLanguage]['login']);\n _.extend(this.country, parsedOverrides[lowerCaseLanguage]['country']);\n _.extend(this.courage, parsedOverrides[lowerCaseLanguage]['login']);\n }\n this.currentLanguage = language;\n }, this));\n }\n\n };\n}).apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\n/***/ }),\n/* 122 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\nvar __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;\n\n/*!\n * Copyright (c) 2015-2016, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n/* eslint complexity: [2, 13] */\n!(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(0), __webpack_require__(17), __webpack_require__(18), __webpack_require__(13), __webpack_require__(33), __webpack_require__(96)], __WEBPACK_AMD_DEFINE_RESULT__ = (function (Okta, Q, factorUtil, Util, Errors, BaseLoginModel) {\n var _ = Okta._;\n\n // Avoid setting interval to same value as keep-alive time (5 seconds) because it\n // caused an occasional issue with network connection lost errors in Safari and IE\n var PUSH_INTERVAL = 4000;\n\n var Factor = BaseLoginModel.extend({\n extraProperties: true,\n flat: false,\n\n props: {\n id: 'string',\n factorType: {\n type: 'string',\n values: ['sms', 'call', 'email', 'token', 'token:software:totp', 'token:hotp', 'token:hardware', 'question', 'push', 'u2f', 'password', 'assertion:saml2', 'assertion:oidc', 'claims_provider', 'webauthn']\n },\n provider: {\n type: 'string',\n values: ['OKTA', 'RSA', 'DEL_OATH', 'SYMANTEC', 'GOOGLE', 'YUBICO', 'FIDO', 'CUSTOM', 'GENERIC_SAML', 'GENERIC_OIDC']\n },\n enrollment: {\n type: 'string',\n values: ['OPTIONAL', 'REQUIRED']\n },\n status: {\n type: 'string',\n values: ['NOT_SETUP', 'ACTIVE']\n },\n profile: ['object'],\n vendorName: 'string',\n policy: ['object'],\n profiles: ['object']\n },\n\n local: {\n 'answer': 'string',\n 'password': 'string',\n 'backupFactor': 'object',\n 'showAnswer': 'boolean',\n 'rememberDevice': 'boolean',\n 'autoPush': ['boolean', true, false]\n },\n\n derived: {\n isOktaFactor: {\n deps: ['provider'],\n fn: function fn(provider) {\n return provider === 'OKTA';\n }\n },\n factorName: {\n deps: ['provider', 'factorType'],\n fn: factorUtil.getFactorName\n },\n factorLabel: {\n deps: ['provider', 'factorType', 'vendorName'],\n fn: function fn(provider, factorType, vendorName) {\n if (_.contains(['DEL_OATH', 'GENERIC_SAML', 'GENERIC_OIDC', 'CUSTOM'], provider)) {\n return vendorName;\n }\n return factorUtil.getFactorLabel.apply(this, [provider, factorType]);\n }\n },\n factorDescription: {\n deps: ['provider', 'factorType'],\n fn: factorUtil.getFactorDescription\n },\n sortOrder: {\n deps: ['provider', 'factorType'],\n fn: factorUtil.getFactorSortOrder\n },\n iconClassName: {\n deps: ['provider', 'factorType'],\n fn: factorUtil.getFactorIconClassName\n },\n securityQuestion: {\n deps: ['profile', 'factorType'],\n fn: function fn(profile, factorType) {\n if (factorType !== 'question') {\n return null;\n }\n return profile && factorUtil.getSecurityQuestionLabel(profile);\n }\n },\n phoneNumber: {\n deps: ['profile', 'factorType'],\n fn: function fn(profile, factorType) {\n if (_.contains(['sms', 'call'], factorType)) {\n return profile && profile.phoneNumber;\n }\n return null;\n }\n },\n email: {\n deps: ['profile', 'factorType'],\n fn: function fn(profile, factorType) {\n if (factorType === 'email') {\n return profile && profile.email;\n }\n return null;\n }\n },\n deviceName: {\n deps: ['profile', 'factorType'],\n fn: function fn(profile, factorType) {\n if (factorType !== 'push') {\n return null;\n }\n return profile && profile.name;\n }\n },\n enrolled: {\n deps: ['status'],\n fn: function fn(status) {\n return status === 'ACTIVE';\n }\n },\n cardinality: {\n deps: ['policy', 'profiles'],\n fn: function fn(policy, profiles) {\n if (profiles && profiles.length > 0) {\n //assume for now we only get one profile (multiple profiles are not supported yet)\n var profile = profiles[0];\n var enrolled = profile._embedded.enrolledFactors.length;\n var adoption = _.findWhere(profile._embedded.features, { type: 'adoption' });\n if (adoption && adoption.cardinality) {\n return {\n enrolled: enrolled,\n minimum: adoption.cardinality.min,\n maximum: adoption.cardinality.max\n };\n }\n return false;\n } else if (policy && policy.enrollment) {\n return policy.enrollment;\n } else {\n return false;\n }\n }\n },\n additionalEnrollment: {\n deps: ['cardinality'],\n fn: function fn(cardinality) {\n if (cardinality) {\n return cardinality.enrolled !== 0 && cardinality.enrolled < cardinality.maximum;\n } else {\n return false;\n }\n }\n },\n required: {\n deps: ['enrollment'],\n fn: function fn(enrollment) {\n return enrollment === 'REQUIRED';\n }\n },\n canUseResend: {\n deps: ['provider', 'factorType'],\n fn: function fn(provider, factorType) {\n // Only push, sms and call have resend links.\n return provider === 'OKTA' && _.contains(['push', 'sms', 'call', 'email'], factorType);\n }\n },\n isAnswerRequired: {\n deps: ['factorType'],\n fn: function fn(factorType) {\n return _.contains(['sms', 'call', 'email', 'token', 'token:software:totp', 'question'], factorType);\n }\n },\n isFactorTypeVerification: {\n deps: ['provider', 'id'],\n fn: function fn(provider, id) {\n return provider === undefined && id === undefined;\n }\n }\n },\n\n parse: function parse(attributes) {\n this.settings = attributes.settings;\n this.appState = attributes.appState;\n // set the initial value for remember device.\n attributes.rememberDevice = factorUtil.getRememberDeviceValue(this.appState);\n\n // Add vendorname for custom totp enroll\n this.setCustomHotpVendorName(attributes);\n return _.omit(attributes, ['settings', 'appState']);\n },\n\n validate: function validate() {\n if (this.get('isAnswerRequired') && !this.get('answer')) {\n return { 'answer': Okta.loc('model.validation.field.blank') };\n } else if (this.get('factorType') === 'password' && !this.get('password')) {\n return { 'password': Okta.loc('error.password.required') };\n }\n },\n needsPasscode: function needsPasscode() {\n // we don't need passcode for email with magic link flow\n return !(this.options.appState.get('isIdxStateToken') && this.get('factorType') === 'email');\n },\n resend: function resend() {\n this.trigger('form:clear-errors');\n return this.manageTransaction(function (transaction) {\n var firstLink = transaction.data._links.resend[0];\n return transaction.resend(firstLink.name);\n });\n },\n\n save: function save() {\n var rememberDevice = !!this.get('rememberDevice');\n // Set/Remove the remember device cookie based on the remember device input.\n var self = this;\n\n return this.manageTransaction(function (transaction, setTransaction) {\n var data = {\n rememberDevice: rememberDevice\n };\n if (this.get('factorType') === 'question') {\n data.answer = this.get('answer');\n } else if (this.get('factorType') === 'password') {\n data.password = this.get('password');\n } else if (this.needsPasscode()) {\n data.passCode = this.get('answer');\n }\n\n if (this.pushFactorHasAutoPush()) {\n data.autoPush = this.get('autoPush');\n }\n\n var promise;\n // MFA_REQUIRED, FACTOR_REQUIRED or UNAUTHENTICATED with factors (passwordlessAuth)\n if (transaction.status === 'MFA_REQUIRED' || transaction.status === 'FACTOR_REQUIRED' || this.appState.get('promptForFactorInUnauthenticated')) {\n var factor = this._findFactor(transaction);\n promise = factor.verify(data);\n }\n\n // MFA_CHALLENGE/ FACTOR_CHALLENGE\n else if (this.get('canUseResend') && !this.get('answer') && transaction.resend) {\n var firstLink = transaction.data._links.resend[0];\n promise = transaction.resend(firstLink.name);\n } else {\n promise = transaction.verify(data);\n }\n //the 'save' event here is triggered and used in the BaseLoginController\n //to disable the primary button on the factor form\n this.trigger('save');\n\n return promise.then(function (trans) {\n var options = {\n 'delay': PUSH_INTERVAL,\n 'transactionCallBack': function transactionCallBack(transaction) {\n self.options.appState.set('lastAuthResponse', transaction);\n }\n };\n setTransaction(trans);\n // In Okta verify case we initiate poll.\n if (trans.status === 'MFA_CHALLENGE' && trans.poll || trans.status === 'FACTOR_CHALLENGE' && trans.poll) {\n var deferred = Q.defer();\n var initiatePollTimout = Util.callAfterTimeout(deferred.resolve, PUSH_INTERVAL);\n self.listenToOnce(self.options.appState, 'factorSwitched', function () {\n clearTimeout(initiatePollTimout);\n deferred.reject(new Errors.AuthStopPollInitiationError());\n });\n return deferred.promise.then(function () {\n // Stop listening if factor was not switched before poll.\n self.stopListening(self.options.appState, 'factorSwitched');\n if (self.pushFactorHasAutoPush()) {\n options.autoPush = function () {\n return self.get('autoPush');\n };\n options.rememberDevice = function () {\n return self.get('rememberDevice');\n };\n }\n return trans.poll(options).then(function (trans) {\n self.options.appState.set('lastAuthResponse', trans.data);\n setTransaction(trans);\n });\n });\n }\n });\n });\n },\n\n _findFactor: function _findFactor(transaction) {\n var factor;\n if (transaction.factorTypes) {\n factor = _.findWhere(transaction.factorTypes, {\n factorType: this.get('factorType')\n });\n }\n if (!factor) {\n factor = _.findWhere(transaction.factors, {\n id: this.get('id')\n });\n }\n return factor;\n },\n\n pushFactorHasAutoPush: function pushFactorHasAutoPush() {\n return this.settings.get('features.autoPush') && this.get('factorType') === 'push';\n },\n\n setCustomHotpVendorName: function setCustomHotpVendorName(attributes) {\n // If factor is token:hotp and not enrolled, we assume the first profile is the default.\n // If factor is enrolled, we only support one profile to be enrolled, so find that one\n // and display as enrolled profile. We do this by populating profile name in vendorName.\n if (attributes.factorType === 'token:hotp' && attributes.profiles) {\n if (attributes.status === 'NOT_SETUP') {\n attributes.vendorName = attributes.profiles[0].name;\n } else if (attributes.status === 'ACTIVE') {\n var enrolledProfiles = attributes.profiles.filter(function (profile) {\n return profile._embedded.enrolledFactors.length > 0;\n });\n attributes.vendorName = enrolledProfiles[0].name;\n }\n }\n return attributes;\n }\n });\n\n var Factors = Okta.Collection.extend({\n\n model: Factor,\n comparator: 'sortOrder',\n\n // One override necessary here - When Okta Verify OTP and Push are in the list,\n // they are presented in the view as one factor - in the beacon menu,\n // there's only one option (Okta Verify), and we show a form with Push\n // with an inline totp option. What we need to do is to add totp\n // as a \"backupFactor\" for push\n parse: function parse(factors) {\n // Keep a track of the last used factor, since\n // we need it to determine the default factor.\n this.lastUsedFactor = factors[0];\n\n var oktaPushFactor = _.findWhere(factors, { provider: 'OKTA', factorType: 'push' });\n var totpFactor;\n if (_.where(factors, { factorType: 'push' }).length > 1) {\n totpFactor = _.findWhere(factors, { factorType: 'token:software:totp' });\n } else {\n totpFactor = _.findWhere(factors, { provider: 'OKTA', factorType: 'token:software:totp' });\n }\n if (!oktaPushFactor || !totpFactor) {\n return factors;\n }\n\n var isTotpFirst = totpFactor === factors[0];\n\n var parsedFactors = _.reduce(factors, function (memo, factor) {\n var isOkta = factor.provider === 'OKTA';\n var isOktaTotp = isOkta && factor.factorType === 'token:software:totp';\n var isOktaPush = isOkta && factor.factorType === 'push';\n var notEnrolled = factor.status !== 'ACTIVE';\n\n var hideOktaTotp = isOktaTotp && (notEnrolled || oktaPushFactor.status === 'ACTIVE');\n var hideOktaPush = isOktaPush && notEnrolled && totpFactor.status === 'ACTIVE';\n\n if (hideOktaTotp || hideOktaPush) {\n return memo;\n }\n\n if (isOktaPush) {\n factor.backupFactor = new Factor(totpFactor, { parse: true });\n }\n memo.push(factor);\n return memo;\n }, []);\n\n // Use push factor instead of TOTP, if TOTP is first in the list\n // (since it is stored as backupFactor for push).\n if (isTotpFirst) {\n this.lastUsedFactor = oktaPushFactor;\n }\n\n return parsedFactors;\n },\n\n // Will need to update this to use HAL link to get last used factor:\n // https://oktainc.atlassian.net/browse/OKTA-58380\n // However, current code returns last used factor as first factor in list.\n // Also, will need to add priority - i.e. if they do not have a last used\n // factor, should try Okta Verify, then Okta SMS, etc.\n getDefaultFactor: function getDefaultFactor() {\n var factor = _.pick(this.lastUsedFactor, 'factorType', 'provider');\n return this.findWhere(factor);\n },\n\n getFirstUnenrolledRequiredFactor: function getFirstUnenrolledRequiredFactor() {\n return this.findWhere({ required: true, enrolled: false });\n },\n\n _getFactorsOfType: function _getFactorsOfType(factorType) {\n return this.where({ factorType: factorType });\n },\n\n getFactorIndex: function getFactorIndex(factorType, factorId) {\n return this._getFactorsOfType(factorType).findIndex(function (factor) {\n return factor.get('id') === factorId;\n });\n },\n\n hasMultipleFactorsOfSameType: function hasMultipleFactorsOfSameType(factorType) {\n return this._getFactorsOfType(factorType).length > 1;\n },\n\n getFactorByTypeAndIndex: function getFactorByTypeAndIndex(factorType, factorIndex) {\n return this._getFactorsOfType(factorType)[factorIndex];\n }\n\n });\n\n return {\n Model: Factor,\n Collection: Factors\n };\n}).apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\n/***/ }),\n/* 123 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\nvar __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;\n\n/*!\n * Copyright (c) 2015-2016, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n\n/* eslint max-statements: [2, 15] */\n\n!(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(17), __webpack_require__(6)], __WEBPACK_AMD_DEFINE_RESULT__ = (function (Q, Enums) {\n\n var SWAP_PAGE_TIME = 200;\n\n var fn = {};\n\n function zoom($el, start, finish) {\n var deferred = Q.defer();\n $el.animate({\n 'text-indent': 1\n }, {\n duration: 200,\n easing: 'swing',\n step: function step(now, fx) {\n fx.start = start;\n fx.end = finish;\n $el.css('transform', 'scale(' + now + ', ' + now + ')');\n },\n always: function always() {\n deferred.resolve($el);\n }\n });\n return deferred.promise;\n }\n\n function rotate($el, start, finish) {\n var deferred = Q.defer();\n $el.animate({\n 'text-indent': 1\n }, {\n duration: 150,\n easing: 'swing',\n step: function step(now, fx) {\n fx.start = start;\n fx.end = finish;\n $el.css('transform', 'rotate(' + now + 'deg)');\n },\n always: function always() {\n deferred.resolve($el);\n }\n });\n return deferred.promise;\n }\n\n // Note: It is necessary to pass in a success callback because we must\n // remove the old dom node (and controller) in the same tick of the event\n // loop. Waiting for \"then\" results in a glitchy animation.\n fn.swapPages = function (options) {\n var deferred = Q.defer();\n var $parent = options.$parent;\n var $oldRoot = options.$oldRoot;\n var $newRoot = options.$newRoot;\n var success = options.success;\n var ctx = options.ctx;\n var directionClassName = 'transition-from-right';\n\n if (options.dir && options.dir === Enums.DIRECTION_BACK) {\n directionClassName = 'transition-from-left';\n }\n\n $newRoot.addClass(directionClassName);\n $parent.append($newRoot);\n\n $parent.addClass('animation-container-overflow');\n $newRoot.animate({ left: '0px', top: '0px', opacity: 1 }, SWAP_PAGE_TIME, function () {\n $parent.removeClass('animation-container-overflow');\n $newRoot.removeClass(directionClassName);\n $newRoot.removeAttr('style');\n success.call(ctx);\n deferred.resolve();\n });\n\n $oldRoot.animate({ height: $newRoot.height(), opacity: 0 }, SWAP_PAGE_TIME * 0.8);\n\n return deferred.promise;\n };\n\n fn.swapBeacons = function (options) {\n var $el = options.$el,\n swap = options.swap,\n ctx = options.ctx;\n\n return this.implode($el).then(function () {\n swap.call(ctx);\n return $el;\n }).then(this.explode);\n };\n\n fn.explode = function ($el) {\n return zoom($el, 0, 1); //zoom in\n };\n\n fn.implode = function ($el) {\n return zoom($el, 1, 0); //zoom out\n };\n\n fn.radialProgressBar = function (options) {\n var radialProgressBar = options.$el,\n swap = options.swap,\n circles = radialProgressBar.children();\n\n return rotate(circles, 0, 180).then(function () {\n radialProgressBar.css({ 'clip': 'auto' });\n }).then(function () {\n var leftHalf = circles.eq(0);\n swap();\n return rotate(leftHalf, 180, 360);\n }).then(function () {\n //reset values to initial state\n radialProgressBar.css({ 'clip': 'rect(0px, 96px, 96px, 48px)' });\n circles.css({\n 'transform': 'rotate(0deg)',\n 'text-indent': '1px'\n });\n });\n };\n\n return fn;\n}).apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\n/***/ }),\n/* 124 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar isObject = __webpack_require__(8);\nvar document = __webpack_require__(5).document;\n// typeof document.createElement is 'object' in old IE\nvar is = isObject(document) && isObject(document.createElement);\nmodule.exports = function (it) {\n return is ? document.createElement(it) : {};\n};\n\n\n/***/ }),\n/* 125 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar global = __webpack_require__(5);\nvar core = __webpack_require__(34);\nvar LIBRARY = __webpack_require__(53);\nvar wksExt = __webpack_require__(184);\nvar defineProperty = __webpack_require__(15).f;\nmodule.exports = function (name) {\n var $Symbol = core.Symbol || (core.Symbol = LIBRARY ? {} : global.Symbol || {});\n if (name.charAt(0) != '_' && !(name in $Symbol)) defineProperty($Symbol, name, { value: wksExt.f(name) });\n};\n\n\n/***/ }),\n/* 126 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar shared = __webpack_require__(84)('keys');\nvar uid = __webpack_require__(61);\nmodule.exports = function (key) {\n return shared[key] || (shared[key] = uid(key));\n};\n\n\n/***/ }),\n/* 127 */\n/***/ (function(module, exports) {\n\n// IE 8- don't enum bug keys\nmodule.exports = (\n 'constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf'\n).split(',');\n\n\n/***/ }),\n/* 128 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar document = __webpack_require__(5).document;\nmodule.exports = document && document.documentElement;\n\n\n/***/ }),\n/* 129 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// Works with __proto__ only. Old v8 can't work with null proto objects.\n/* eslint-disable no-proto */\nvar isObject = __webpack_require__(8);\nvar anObject = __webpack_require__(3);\nvar check = function (O, proto) {\n anObject(O);\n if (!isObject(proto) && proto !== null) throw TypeError(proto + \": can't set as prototype!\");\n};\nmodule.exports = {\n set: Object.setPrototypeOf || ('__proto__' in {} ? // eslint-disable-line\n function (test, buggy, set) {\n try {\n set = __webpack_require__(35)(Function.call, __webpack_require__(31).f(Object.prototype, '__proto__').set, 2);\n set(test, []);\n buggy = !(test instanceof Array);\n } catch (e) { buggy = true; }\n return function setPrototypeOf(O, proto) {\n check(O, proto);\n if (buggy) O.__proto__ = proto;\n else set(O, proto);\n return O;\n };\n }({}, false) : undefined),\n check: check\n};\n\n\n/***/ }),\n/* 130 */\n/***/ (function(module, exports) {\n\nmodule.exports = '\\x09\\x0A\\x0B\\x0C\\x0D\\x20\\xA0\\u1680\\u180E\\u2000\\u2001\\u2002\\u2003' +\n '\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200A\\u202F\\u205F\\u3000\\u2028\\u2029\\uFEFF';\n\n\n/***/ }),\n/* 131 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar isObject = __webpack_require__(8);\nvar setPrototypeOf = __webpack_require__(129).set;\nmodule.exports = function (that, target, C) {\n var S = target.constructor;\n var P;\n if (S !== C && typeof S == 'function' && (P = S.prototype) !== C.prototype && isObject(P) && setPrototypeOf) {\n setPrototypeOf(that, P);\n } return that;\n};\n\n\n/***/ }),\n/* 132 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar toInteger = __webpack_require__(37);\nvar defined = __webpack_require__(42);\n\nmodule.exports = function repeat(count) {\n var str = String(defined(this));\n var res = '';\n var n = toInteger(count);\n if (n < 0 || n == Infinity) throw RangeError(\"Count can't be negative\");\n for (;n > 0; (n >>>= 1) && (str += str)) if (n & 1) res += str;\n return res;\n};\n\n\n/***/ }),\n/* 133 */\n/***/ (function(module, exports) {\n\n// 20.2.2.28 Math.sign(x)\nmodule.exports = Math.sign || function sign(x) {\n // eslint-disable-next-line no-self-compare\n return (x = +x) == 0 || x != x ? x : x < 0 ? -1 : 1;\n};\n\n\n/***/ }),\n/* 134 */\n/***/ (function(module, exports) {\n\n// 20.2.2.14 Math.expm1(x)\nvar $expm1 = Math.expm1;\nmodule.exports = (!$expm1\n // Old FF bug\n || $expm1(10) > 22025.465794806719 || $expm1(10) < 22025.4657948067165168\n // Tor Browser bug\n || $expm1(-2e-17) != -2e-17\n) ? function expm1(x) {\n return (x = +x) == 0 ? x : x > -1e-6 && x < 1e-6 ? x + x * x / 2 : Math.exp(x) - 1;\n} : $expm1;\n\n\n/***/ }),\n/* 135 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar LIBRARY = __webpack_require__(53);\nvar $export = __webpack_require__(1);\nvar redefine = __webpack_require__(26);\nvar hide = __webpack_require__(25);\nvar Iterators = __webpack_require__(76);\nvar $iterCreate = __webpack_require__(136);\nvar setToStringTag = __webpack_require__(73);\nvar getPrototypeOf = __webpack_require__(32);\nvar ITERATOR = __webpack_require__(10)('iterator');\nvar BUGGY = !([].keys && 'next' in [].keys()); // Safari has buggy iterators w/o `next`\nvar FF_ITERATOR = '@@iterator';\nvar KEYS = 'keys';\nvar VALUES = 'values';\n\nvar returnThis = function () { return this; };\n\nmodule.exports = function (Base, NAME, Constructor, next, DEFAULT, IS_SET, FORCED) {\n $iterCreate(Constructor, NAME, next);\n var getMethod = function (kind) {\n if (!BUGGY && kind in proto) return proto[kind];\n switch (kind) {\n case KEYS: return function keys() { return new Constructor(this, kind); };\n case VALUES: return function values() { return new Constructor(this, kind); };\n } return function entries() { return new Constructor(this, kind); };\n };\n var TAG = NAME + ' Iterator';\n var DEF_VALUES = DEFAULT == VALUES;\n var VALUES_BUG = false;\n var proto = Base.prototype;\n var $native = proto[ITERATOR] || proto[FF_ITERATOR] || DEFAULT && proto[DEFAULT];\n var $default = $native || getMethod(DEFAULT);\n var $entries = DEFAULT ? !DEF_VALUES ? $default : getMethod('entries') : undefined;\n var $anyNative = NAME == 'Array' ? proto.entries || $native : $native;\n var methods, key, IteratorPrototype;\n // Fix native\n if ($anyNative) {\n IteratorPrototype = getPrototypeOf($anyNative.call(new Base()));\n if (IteratorPrototype !== Object.prototype && IteratorPrototype.next) {\n // Set @@toStringTag to native iterators\n setToStringTag(IteratorPrototype, TAG, true);\n // fix for some old engines\n if (!LIBRARY && typeof IteratorPrototype[ITERATOR] != 'function') hide(IteratorPrototype, ITERATOR, returnThis);\n }\n }\n // fix Array#{values, @@iterator}.name in V8 / FF\n if (DEF_VALUES && $native && $native.name !== VALUES) {\n VALUES_BUG = true;\n $default = function values() { return $native.call(this); };\n }\n // Define iterator\n if ((!LIBRARY || FORCED) && (BUGGY || VALUES_BUG || !proto[ITERATOR])) {\n hide(proto, ITERATOR, $default);\n }\n // Plug for library\n Iterators[NAME] = $default;\n Iterators[TAG] = returnThis;\n if (DEFAULT) {\n methods = {\n values: DEF_VALUES ? $default : getMethod(VALUES),\n keys: IS_SET ? $default : getMethod(KEYS),\n entries: $entries\n };\n if (FORCED) for (key in methods) {\n if (!(key in proto)) redefine(proto, key, methods[key]);\n } else $export($export.P + $export.F * (BUGGY || VALUES_BUG), NAME, methods);\n }\n return methods;\n};\n\n\n/***/ }),\n/* 136 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar create = __webpack_require__(64);\nvar descriptor = __webpack_require__(60);\nvar setToStringTag = __webpack_require__(73);\nvar IteratorPrototype = {};\n\n// 25.1.2.1.1 %IteratorPrototype%[@@iterator]()\n__webpack_require__(25)(IteratorPrototype, __webpack_require__(10)('iterator'), function () { return this; });\n\nmodule.exports = function (Constructor, NAME, next) {\n Constructor.prototype = create(IteratorPrototype, { next: descriptor(1, next) });\n setToStringTag(Constructor, NAME + ' Iterator');\n};\n\n\n/***/ }),\n/* 137 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// helper for String#{startsWith, endsWith, includes}\nvar isRegExp = __webpack_require__(105);\nvar defined = __webpack_require__(42);\n\nmodule.exports = function (that, searchString, NAME) {\n if (isRegExp(searchString)) throw TypeError('String#' + NAME + \" doesn't accept regex!\");\n return String(defined(that));\n};\n\n\n/***/ }),\n/* 138 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar MATCH = __webpack_require__(10)('match');\nmodule.exports = function (KEY) {\n var re = /./;\n try {\n '/./'[KEY](re);\n } catch (e) {\n try {\n re[MATCH] = false;\n return !'/./'[KEY](re);\n } catch (f) { /* empty */ }\n } return true;\n};\n\n\n/***/ }),\n/* 139 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// check on default Array iterator\nvar Iterators = __webpack_require__(76);\nvar ITERATOR = __webpack_require__(10)('iterator');\nvar ArrayProto = Array.prototype;\n\nmodule.exports = function (it) {\n return it !== undefined && (Iterators.Array === it || ArrayProto[ITERATOR] === it);\n};\n\n\n/***/ }),\n/* 140 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar $defineProperty = __webpack_require__(15);\nvar createDesc = __webpack_require__(60);\n\nmodule.exports = function (object, index, value) {\n if (index in object) $defineProperty.f(object, index, createDesc(0, value));\n else object[index] = value;\n};\n\n\n/***/ }),\n/* 141 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar classof = __webpack_require__(74);\nvar ITERATOR = __webpack_require__(10)('iterator');\nvar Iterators = __webpack_require__(76);\nmodule.exports = __webpack_require__(34).getIteratorMethod = function (it) {\n if (it != undefined) return it[ITERATOR]\n || it['@@iterator']\n || Iterators[classof(it)];\n};\n\n\n/***/ }),\n/* 142 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 9.4.2.3 ArraySpeciesCreate(originalArray, length)\nvar speciesConstructor = __webpack_require__(365);\n\nmodule.exports = function (original, length) {\n return new (speciesConstructor(original))(length);\n};\n\n\n/***/ }),\n/* 143 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n// 22.1.3.6 Array.prototype.fill(value, start = 0, end = this.length)\n\nvar toObject = __webpack_require__(16);\nvar toAbsoluteIndex = __webpack_require__(63);\nvar toLength = __webpack_require__(11);\nmodule.exports = function fill(value /* , start = 0, end = @length */) {\n var O = toObject(this);\n var length = toLength(O.length);\n var aLen = arguments.length;\n var index = toAbsoluteIndex(aLen > 1 ? arguments[1] : undefined, length);\n var end = aLen > 2 ? arguments[2] : undefined;\n var endPos = end === undefined ? length : toAbsoluteIndex(end, length);\n while (endPos > index) O[index++] = value;\n return O;\n};\n\n\n/***/ }),\n/* 144 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar addToUnscopables = __webpack_require__(55);\nvar step = __webpack_require__(201);\nvar Iterators = __webpack_require__(76);\nvar toIObject = __webpack_require__(30);\n\n// 22.1.3.4 Array.prototype.entries()\n// 22.1.3.13 Array.prototype.keys()\n// 22.1.3.29 Array.prototype.values()\n// 22.1.3.30 Array.prototype[@@iterator]()\nmodule.exports = __webpack_require__(135)(Array, 'Array', function (iterated, kind) {\n this._t = toIObject(iterated); // target\n this._i = 0; // next index\n this._k = kind; // kind\n// 22.1.5.2.1 %ArrayIteratorPrototype%.next()\n}, function () {\n var O = this._t;\n var kind = this._k;\n var index = this._i++;\n if (!O || index >= O.length) {\n this._t = undefined;\n return step(1);\n }\n if (kind == 'keys') return step(0, index);\n if (kind == 'values') return step(0, O[index]);\n return step(0, [index, O[index]]);\n}, 'values');\n\n// argumentsList[@@iterator] is %ArrayProto_values% (9.4.4.6, 9.4.4.7)\nIterators.Arguments = Iterators.Array;\n\naddToUnscopables('keys');\naddToUnscopables('values');\naddToUnscopables('entries');\n\n\n/***/ }),\n/* 145 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar regexpFlags = __webpack_require__(87);\n\nvar nativeExec = RegExp.prototype.exec;\n// This always refers to the native implementation, because the\n// String#replace polyfill uses ./fix-regexp-well-known-symbol-logic.js,\n// which loads this file before patching the method.\nvar nativeReplace = String.prototype.replace;\n\nvar patchedExec = nativeExec;\n\nvar LAST_INDEX = 'lastIndex';\n\nvar UPDATES_LAST_INDEX_WRONG = (function () {\n var re1 = /a/,\n re2 = /b*/g;\n nativeExec.call(re1, 'a');\n nativeExec.call(re2, 'a');\n return re1[LAST_INDEX] !== 0 || re2[LAST_INDEX] !== 0;\n})();\n\n// nonparticipating capturing group, copied from es5-shim's String#split patch.\nvar NPCG_INCLUDED = /()??/.exec('')[1] !== undefined;\n\nvar PATCH = UPDATES_LAST_INDEX_WRONG || NPCG_INCLUDED;\n\nif (PATCH) {\n patchedExec = function exec(str) {\n var re = this;\n var lastIndex, reCopy, match, i;\n\n if (NPCG_INCLUDED) {\n reCopy = new RegExp('^' + re.source + '$(?!\\\\s)', regexpFlags.call(re));\n }\n if (UPDATES_LAST_INDEX_WRONG) lastIndex = re[LAST_INDEX];\n\n match = nativeExec.call(re, str);\n\n if (UPDATES_LAST_INDEX_WRONG && match) {\n re[LAST_INDEX] = re.global ? match.index + match[0].length : lastIndex;\n }\n if (NPCG_INCLUDED && match && match.length > 1) {\n // Fix browsers whose `exec` methods don't consistently return `undefined`\n // for NPCG, like IE8. NOTE: This doesn' work for /(.?)?/\n // eslint-disable-next-line no-loop-func\n nativeReplace.call(match[0], reCopy, function () {\n for (i = 1; i < arguments.length - 2; i++) {\n if (arguments[i] === undefined) match[i] = undefined;\n }\n });\n }\n\n return match;\n };\n}\n\nmodule.exports = patchedExec;\n\n\n/***/ }),\n/* 146 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar at = __webpack_require__(104)(true);\n\n // `AdvanceStringIndex` abstract operation\n// https://tc39.github.io/ecma262/#sec-advancestringindex\nmodule.exports = function (S, index, unicode) {\n return index + (unicode ? at(S, index).length : 1);\n};\n\n\n/***/ }),\n/* 147 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar ctx = __webpack_require__(35);\nvar invoke = __webpack_require__(191);\nvar html = __webpack_require__(128);\nvar cel = __webpack_require__(124);\nvar global = __webpack_require__(5);\nvar process = global.process;\nvar setTask = global.setImmediate;\nvar clearTask = global.clearImmediate;\nvar MessageChannel = global.MessageChannel;\nvar Dispatch = global.Dispatch;\nvar counter = 0;\nvar queue = {};\nvar ONREADYSTATECHANGE = 'onreadystatechange';\nvar defer, channel, port;\nvar run = function () {\n var id = +this;\n // eslint-disable-next-line no-prototype-builtins\n if (queue.hasOwnProperty(id)) {\n var fn = queue[id];\n delete queue[id];\n fn();\n }\n};\nvar listener = function (event) {\n run.call(event.data);\n};\n// Node.js 0.9+ & IE10+ has setImmediate, otherwise:\nif (!setTask || !clearTask) {\n setTask = function setImmediate(fn) {\n var args = [];\n var i = 1;\n while (arguments.length > i) args.push(arguments[i++]);\n queue[++counter] = function () {\n // eslint-disable-next-line no-new-func\n invoke(typeof fn == 'function' ? fn : Function(fn), args);\n };\n defer(counter);\n return counter;\n };\n clearTask = function clearImmediate(id) {\n delete queue[id];\n };\n // Node.js 0.8-\n if (__webpack_require__(36)(process) == 'process') {\n defer = function (id) {\n process.nextTick(ctx(run, id, 1));\n };\n // Sphere (JS game engine) Dispatch API\n } else if (Dispatch && Dispatch.now) {\n defer = function (id) {\n Dispatch.now(ctx(run, id, 1));\n };\n // Browsers with MessageChannel, includes WebWorkers\n } else if (MessageChannel) {\n channel = new MessageChannel();\n port = channel.port2;\n channel.port1.onmessage = listener;\n defer = ctx(port.postMessage, port, 1);\n // Browsers with postMessage, skip WebWorkers\n // IE8 has postMessage, but it's sync & typeof its postMessage is 'object'\n } else if (global.addEventListener && typeof postMessage == 'function' && !global.importScripts) {\n defer = function (id) {\n global.postMessage(id + '', '*');\n };\n global.addEventListener('message', listener, false);\n // IE8-\n } else if (ONREADYSTATECHANGE in cel('script')) {\n defer = function (id) {\n html.appendChild(cel('script'))[ONREADYSTATECHANGE] = function () {\n html.removeChild(this);\n run.call(id);\n };\n };\n // Rest old browsers\n } else {\n defer = function (id) {\n setTimeout(ctx(run, id, 1), 0);\n };\n }\n}\nmodule.exports = {\n set: setTask,\n clear: clearTask\n};\n\n\n/***/ }),\n/* 148 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar global = __webpack_require__(5);\nvar macrotask = __webpack_require__(147).set;\nvar Observer = global.MutationObserver || global.WebKitMutationObserver;\nvar process = global.process;\nvar Promise = global.Promise;\nvar isNode = __webpack_require__(36)(process) == 'process';\n\nmodule.exports = function () {\n var head, last, notify;\n\n var flush = function () {\n var parent, fn;\n if (isNode && (parent = process.domain)) parent.exit();\n while (head) {\n fn = head.fn;\n head = head.next;\n try {\n fn();\n } catch (e) {\n if (head) notify();\n else last = undefined;\n throw e;\n }\n } last = undefined;\n if (parent) parent.enter();\n };\n\n // Node.js\n if (isNode) {\n notify = function () {\n process.nextTick(flush);\n };\n // browsers with MutationObserver, except iOS Safari - https://github.com/zloirock/core-js/issues/339\n } else if (Observer && !(global.navigator && global.navigator.standalone)) {\n var toggle = true;\n var node = document.createTextNode('');\n new Observer(flush).observe(node, { characterData: true }); // eslint-disable-line no-new\n notify = function () {\n node.data = toggle = !toggle;\n };\n // environments with maybe non-completely correct, but existent Promise\n } else if (Promise && Promise.resolve) {\n // Promise.resolve without an argument throws an error in LG WebOS 2\n var promise = Promise.resolve(undefined);\n notify = function () {\n promise.then(flush);\n };\n // for other environments - macrotask based on:\n // - setImmediate\n // - MessageChannel\n // - window.postMessag\n // - onreadystatechange\n // - setTimeout\n } else {\n notify = function () {\n // strange IE + webpack dev server bug - use .call(global)\n macrotask.call(global, flush);\n };\n }\n\n return function (fn) {\n var task = { fn: fn, next: undefined };\n if (last) last.next = task;\n if (!head) {\n head = task;\n notify();\n } last = task;\n };\n};\n\n\n/***/ }),\n/* 149 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n// 25.4.1.5 NewPromiseCapability(C)\nvar aFunction = __webpack_require__(20);\n\nfunction PromiseCapability(C) {\n var resolve, reject;\n this.promise = new C(function ($$resolve, $$reject) {\n if (resolve !== undefined || reject !== undefined) throw TypeError('Bad Promise constructor');\n resolve = $$resolve;\n reject = $$reject;\n });\n this.resolve = aFunction(resolve);\n this.reject = aFunction(reject);\n}\n\nmodule.exports.f = function (C) {\n return new PromiseCapability(C);\n};\n\n\n/***/ }),\n/* 150 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar global = __webpack_require__(5);\nvar DESCRIPTORS = __webpack_require__(12);\nvar LIBRARY = __webpack_require__(53);\nvar $typed = __webpack_require__(111);\nvar hide = __webpack_require__(25);\nvar redefineAll = __webpack_require__(69);\nvar fails = __webpack_require__(7);\nvar anInstance = __webpack_require__(67);\nvar toInteger = __webpack_require__(37);\nvar toLength = __webpack_require__(11);\nvar toIndex = __webpack_require__(211);\nvar gOPN = __webpack_require__(65).f;\nvar dP = __webpack_require__(15).f;\nvar arrayFill = __webpack_require__(143);\nvar setToStringTag = __webpack_require__(73);\nvar ARRAY_BUFFER = 'ArrayBuffer';\nvar DATA_VIEW = 'DataView';\nvar PROTOTYPE = 'prototype';\nvar WRONG_LENGTH = 'Wrong length!';\nvar WRONG_INDEX = 'Wrong index!';\nvar $ArrayBuffer = global[ARRAY_BUFFER];\nvar $DataView = global[DATA_VIEW];\nvar Math = global.Math;\nvar RangeError = global.RangeError;\n// eslint-disable-next-line no-shadow-restricted-names\nvar Infinity = global.Infinity;\nvar BaseBuffer = $ArrayBuffer;\nvar abs = Math.abs;\nvar pow = Math.pow;\nvar floor = Math.floor;\nvar log = Math.log;\nvar LN2 = Math.LN2;\nvar BUFFER = 'buffer';\nvar BYTE_LENGTH = 'byteLength';\nvar BYTE_OFFSET = 'byteOffset';\nvar $BUFFER = DESCRIPTORS ? '_b' : BUFFER;\nvar $LENGTH = DESCRIPTORS ? '_l' : BYTE_LENGTH;\nvar $OFFSET = DESCRIPTORS ? '_o' : BYTE_OFFSET;\n\n// IEEE754 conversions based on https://github.com/feross/ieee754\nfunction packIEEE754(value, mLen, nBytes) {\n var buffer = new Array(nBytes);\n var eLen = nBytes * 8 - mLen - 1;\n var eMax = (1 << eLen) - 1;\n var eBias = eMax >> 1;\n var rt = mLen === 23 ? pow(2, -24) - pow(2, -77) : 0;\n var i = 0;\n var s = value < 0 || value === 0 && 1 / value < 0 ? 1 : 0;\n var e, m, c;\n value = abs(value);\n // eslint-disable-next-line no-self-compare\n if (value != value || value === Infinity) {\n // eslint-disable-next-line no-self-compare\n m = value != value ? 1 : 0;\n e = eMax;\n } else {\n e = floor(log(value) / LN2);\n if (value * (c = pow(2, -e)) < 1) {\n e--;\n c *= 2;\n }\n if (e + eBias >= 1) {\n value += rt / c;\n } else {\n value += rt * pow(2, 1 - eBias);\n }\n if (value * c >= 2) {\n e++;\n c /= 2;\n }\n if (e + eBias >= eMax) {\n m = 0;\n e = eMax;\n } else if (e + eBias >= 1) {\n m = (value * c - 1) * pow(2, mLen);\n e = e + eBias;\n } else {\n m = value * pow(2, eBias - 1) * pow(2, mLen);\n e = 0;\n }\n }\n for (; mLen >= 8; buffer[i++] = m & 255, m /= 256, mLen -= 8);\n e = e << mLen | m;\n eLen += mLen;\n for (; eLen > 0; buffer[i++] = e & 255, e /= 256, eLen -= 8);\n buffer[--i] |= s * 128;\n return buffer;\n}\nfunction unpackIEEE754(buffer, mLen, nBytes) {\n var eLen = nBytes * 8 - mLen - 1;\n var eMax = (1 << eLen) - 1;\n var eBias = eMax >> 1;\n var nBits = eLen - 7;\n var i = nBytes - 1;\n var s = buffer[i--];\n var e = s & 127;\n var m;\n s >>= 7;\n for (; nBits > 0; e = e * 256 + buffer[i], i--, nBits -= 8);\n m = e & (1 << -nBits) - 1;\n e >>= -nBits;\n nBits += mLen;\n for (; nBits > 0; m = m * 256 + buffer[i], i--, nBits -= 8);\n if (e === 0) {\n e = 1 - eBias;\n } else if (e === eMax) {\n return m ? NaN : s ? -Infinity : Infinity;\n } else {\n m = m + pow(2, mLen);\n e = e - eBias;\n } return (s ? -1 : 1) * m * pow(2, e - mLen);\n}\n\nfunction unpackI32(bytes) {\n return bytes[3] << 24 | bytes[2] << 16 | bytes[1] << 8 | bytes[0];\n}\nfunction packI8(it) {\n return [it & 0xff];\n}\nfunction packI16(it) {\n return [it & 0xff, it >> 8 & 0xff];\n}\nfunction packI32(it) {\n return [it & 0xff, it >> 8 & 0xff, it >> 16 & 0xff, it >> 24 & 0xff];\n}\nfunction packF64(it) {\n return packIEEE754(it, 52, 8);\n}\nfunction packF32(it) {\n return packIEEE754(it, 23, 4);\n}\n\nfunction addGetter(C, key, internal) {\n dP(C[PROTOTYPE], key, { get: function () { return this[internal]; } });\n}\n\nfunction get(view, bytes, index, isLittleEndian) {\n var numIndex = +index;\n var intIndex = toIndex(numIndex);\n if (intIndex + bytes > view[$LENGTH]) throw RangeError(WRONG_INDEX);\n var store = view[$BUFFER]._b;\n var start = intIndex + view[$OFFSET];\n var pack = store.slice(start, start + bytes);\n return isLittleEndian ? pack : pack.reverse();\n}\nfunction set(view, bytes, index, conversion, value, isLittleEndian) {\n var numIndex = +index;\n var intIndex = toIndex(numIndex);\n if (intIndex + bytes > view[$LENGTH]) throw RangeError(WRONG_INDEX);\n var store = view[$BUFFER]._b;\n var start = intIndex + view[$OFFSET];\n var pack = conversion(+value);\n for (var i = 0; i < bytes; i++) store[start + i] = pack[isLittleEndian ? i : bytes - i - 1];\n}\n\nif (!$typed.ABV) {\n $ArrayBuffer = function ArrayBuffer(length) {\n anInstance(this, $ArrayBuffer, ARRAY_BUFFER);\n var byteLength = toIndex(length);\n this._b = arrayFill.call(new Array(byteLength), 0);\n this[$LENGTH] = byteLength;\n };\n\n $DataView = function DataView(buffer, byteOffset, byteLength) {\n anInstance(this, $DataView, DATA_VIEW);\n anInstance(buffer, $ArrayBuffer, DATA_VIEW);\n var bufferLength = buffer[$LENGTH];\n var offset = toInteger(byteOffset);\n if (offset < 0 || offset > bufferLength) throw RangeError('Wrong offset!');\n byteLength = byteLength === undefined ? bufferLength - offset : toLength(byteLength);\n if (offset + byteLength > bufferLength) throw RangeError(WRONG_LENGTH);\n this[$BUFFER] = buffer;\n this[$OFFSET] = offset;\n this[$LENGTH] = byteLength;\n };\n\n if (DESCRIPTORS) {\n addGetter($ArrayBuffer, BYTE_LENGTH, '_l');\n addGetter($DataView, BUFFER, '_b');\n addGetter($DataView, BYTE_LENGTH, '_l');\n addGetter($DataView, BYTE_OFFSET, '_o');\n }\n\n redefineAll($DataView[PROTOTYPE], {\n getInt8: function getInt8(byteOffset) {\n return get(this, 1, byteOffset)[0] << 24 >> 24;\n },\n getUint8: function getUint8(byteOffset) {\n return get(this, 1, byteOffset)[0];\n },\n getInt16: function getInt16(byteOffset /* , littleEndian */) {\n var bytes = get(this, 2, byteOffset, arguments[1]);\n return (bytes[1] << 8 | bytes[0]) << 16 >> 16;\n },\n getUint16: function getUint16(byteOffset /* , littleEndian */) {\n var bytes = get(this, 2, byteOffset, arguments[1]);\n return bytes[1] << 8 | bytes[0];\n },\n getInt32: function getInt32(byteOffset /* , littleEndian */) {\n return unpackI32(get(this, 4, byteOffset, arguments[1]));\n },\n getUint32: function getUint32(byteOffset /* , littleEndian */) {\n return unpackI32(get(this, 4, byteOffset, arguments[1])) >>> 0;\n },\n getFloat32: function getFloat32(byteOffset /* , littleEndian */) {\n return unpackIEEE754(get(this, 4, byteOffset, arguments[1]), 23, 4);\n },\n getFloat64: function getFloat64(byteOffset /* , littleEndian */) {\n return unpackIEEE754(get(this, 8, byteOffset, arguments[1]), 52, 8);\n },\n setInt8: function setInt8(byteOffset, value) {\n set(this, 1, byteOffset, packI8, value);\n },\n setUint8: function setUint8(byteOffset, value) {\n set(this, 1, byteOffset, packI8, value);\n },\n setInt16: function setInt16(byteOffset, value /* , littleEndian */) {\n set(this, 2, byteOffset, packI16, value, arguments[2]);\n },\n setUint16: function setUint16(byteOffset, value /* , littleEndian */) {\n set(this, 2, byteOffset, packI16, value, arguments[2]);\n },\n setInt32: function setInt32(byteOffset, value /* , littleEndian */) {\n set(this, 4, byteOffset, packI32, value, arguments[2]);\n },\n setUint32: function setUint32(byteOffset, value /* , littleEndian */) {\n set(this, 4, byteOffset, packI32, value, arguments[2]);\n },\n setFloat32: function setFloat32(byteOffset, value /* , littleEndian */) {\n set(this, 4, byteOffset, packF32, value, arguments[2]);\n },\n setFloat64: function setFloat64(byteOffset, value /* , littleEndian */) {\n set(this, 8, byteOffset, packF64, value, arguments[2]);\n }\n });\n} else {\n if (!fails(function () {\n $ArrayBuffer(1);\n }) || !fails(function () {\n new $ArrayBuffer(-1); // eslint-disable-line no-new\n }) || fails(function () {\n new $ArrayBuffer(); // eslint-disable-line no-new\n new $ArrayBuffer(1.5); // eslint-disable-line no-new\n new $ArrayBuffer(NaN); // eslint-disable-line no-new\n return $ArrayBuffer.name != ARRAY_BUFFER;\n })) {\n $ArrayBuffer = function ArrayBuffer(length) {\n anInstance(this, $ArrayBuffer);\n return new BaseBuffer(toIndex(length));\n };\n var ArrayBufferProto = $ArrayBuffer[PROTOTYPE] = BaseBuffer[PROTOTYPE];\n for (var keys = gOPN(BaseBuffer), j = 0, key; keys.length > j;) {\n if (!((key = keys[j++]) in $ArrayBuffer)) hide($ArrayBuffer, key, BaseBuffer[key]);\n }\n if (!LIBRARY) ArrayBufferProto.constructor = $ArrayBuffer;\n }\n // iOS Safari 7.x bug\n var view = new $DataView(new $ArrayBuffer(2));\n var $setInt8 = $DataView[PROTOTYPE].setInt8;\n view.setInt8(0, 2147483648);\n view.setInt8(1, 2147483649);\n if (view.getInt8(0) || !view.getInt8(1)) redefineAll($DataView[PROTOTYPE], {\n setInt8: function setInt8(byteOffset, value) {\n $setInt8.call(this, byteOffset, value << 24 >> 24);\n },\n setUint8: function setUint8(byteOffset, value) {\n $setInt8.call(this, byteOffset, value << 24 >> 24);\n }\n }, true);\n}\nsetToStringTag($ArrayBuffer, ARRAY_BUFFER);\nsetToStringTag($DataView, DATA_VIEW);\nhide($DataView[PROTOTYPE], $typed.VIEW, true);\nexports[ARRAY_BUFFER] = $ArrayBuffer;\nexports[DATA_VIEW] = $DataView;\n\n\n/***/ }),\n/* 151 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;// Underscore.js 1.8.3\n// http://underscorejs.org\n// (c) 2009-2015 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n// Underscore may be freely distributed under the MIT license.\n\n(function() {\n\n // Baseline setup\n // --------------\n\n // Establish the root object, `window` in the browser, or `exports` on the server.\n var root = this;\n\n // Save the previous value of the `_` variable.\n var previousUnderscore = root._;\n\n // Save bytes in the minified (but not gzipped) version:\n var ArrayProto = Array.prototype, ObjProto = Object.prototype, FuncProto = Function.prototype;\n\n // Create quick reference variables for speed access to core prototypes.\n var\n push = ArrayProto.push,\n slice = ArrayProto.slice,\n toString = ObjProto.toString,\n hasOwnProperty = ObjProto.hasOwnProperty;\n\n // All **ECMAScript 5** native function implementations that we hope to use\n // are declared here.\n var\n nativeIsArray = Array.isArray,\n nativeKeys = Object.keys,\n nativeBind = FuncProto.bind,\n nativeCreate = Object.create;\n\n // Naked function reference for surrogate-prototype-swapping.\n var Ctor = function(){};\n\n // Create a safe reference to the Underscore object for use below.\n var _ = function(obj) {\n if (obj instanceof _) return obj;\n if (!(this instanceof _)) return new _(obj);\n this._wrapped = obj;\n };\n\n // Export the Underscore object for **Node.js**, with\n // backwards-compatibility for the old `require()` API. If we're in\n // the browser, add `_` as a global object.\n if (true) {\n if (typeof module !== 'undefined' && module.exports) {\n exports = module.exports = _;\n }\n exports._ = _;\n } else {\n root._ = _;\n }\n\n // Current version.\n _.VERSION = '1.8.3';\n\n // Internal function that returns an efficient (for current engines) version\n // of the passed-in callback, to be repeatedly applied in other Underscore\n // functions.\n var optimizeCb = function(func, context, argCount) {\n if (context === void 0) return func;\n switch (argCount == null ? 3 : argCount) {\n case 1: return function(value) {\n return func.call(context, value);\n };\n case 2: return function(value, other) {\n return func.call(context, value, other);\n };\n case 3: return function(value, index, collection) {\n return func.call(context, value, index, collection);\n };\n case 4: return function(accumulator, value, index, collection) {\n return func.call(context, accumulator, value, index, collection);\n };\n }\n return function() {\n return func.apply(context, arguments);\n };\n };\n\n // A mostly-internal function to generate callbacks that can be applied\n // to each element in a collection, returning the desired result — either\n // identity, an arbitrary callback, a property matcher, or a property accessor.\n var cb = function(value, context, argCount) {\n if (value == null) return _.identity;\n if (_.isFunction(value)) return optimizeCb(value, context, argCount);\n if (_.isObject(value)) return _.matcher(value);\n return _.property(value);\n };\n _.iteratee = function(value, context) {\n return cb(value, context, Infinity);\n };\n\n // An internal function for creating assigner functions.\n var createAssigner = function(keysFunc, undefinedOnly) {\n return function(obj) {\n var length = arguments.length;\n if (length < 2 || obj == null) return obj;\n for (var index = 1; index < length; index++) {\n var source = arguments[index],\n keys = keysFunc(source),\n l = keys.length;\n for (var i = 0; i < l; i++) {\n var key = keys[i];\n if (!undefinedOnly || obj[key] === void 0) obj[key] = source[key];\n }\n }\n return obj;\n };\n };\n\n // An internal function for creating a new object that inherits from another.\n var baseCreate = function(prototype) {\n if (!_.isObject(prototype)) return {};\n if (nativeCreate) return nativeCreate(prototype);\n Ctor.prototype = prototype;\n var result = new Ctor;\n Ctor.prototype = null;\n return result;\n };\n\n var property = function(key) {\n return function(obj) {\n return obj == null ? void 0 : obj[key];\n };\n };\n\n // Helper for collection methods to determine whether a collection\n // should be iterated as an array or as an object\n // Related: http://people.mozilla.org/~jorendorff/es6-draft.html#sec-tolength\n // Avoids a very nasty iOS 8 JIT bug on ARM-64. #2094\n var MAX_ARRAY_INDEX = Math.pow(2, 53) - 1;\n var getLength = property('length');\n var isArrayLike = function(collection) {\n var length = getLength(collection);\n return typeof length == 'number' && length >= 0 && length <= MAX_ARRAY_INDEX;\n };\n\n // Collection Functions\n // --------------------\n\n // The cornerstone, an `each` implementation, aka `forEach`.\n // Handles raw objects in addition to array-likes. Treats all\n // sparse array-likes as if they were dense.\n _.each = _.forEach = function(obj, iteratee, context) {\n iteratee = optimizeCb(iteratee, context);\n var i, length;\n if (isArrayLike(obj)) {\n for (i = 0, length = obj.length; i < length; i++) {\n iteratee(obj[i], i, obj);\n }\n } else {\n var keys = _.keys(obj);\n for (i = 0, length = keys.length; i < length; i++) {\n iteratee(obj[keys[i]], keys[i], obj);\n }\n }\n return obj;\n };\n\n // Return the results of applying the iteratee to each element.\n _.map = _.collect = function(obj, iteratee, context) {\n iteratee = cb(iteratee, context);\n var keys = !isArrayLike(obj) && _.keys(obj),\n length = (keys || obj).length,\n results = Array(length);\n for (var index = 0; index < length; index++) {\n var currentKey = keys ? keys[index] : index;\n results[index] = iteratee(obj[currentKey], currentKey, obj);\n }\n return results;\n };\n\n // Create a reducing function iterating left or right.\n function createReduce(dir) {\n // Optimized iterator function as using arguments.length\n // in the main function will deoptimize the, see #1991.\n function iterator(obj, iteratee, memo, keys, index, length) {\n for (; index >= 0 && index < length; index += dir) {\n var currentKey = keys ? keys[index] : index;\n memo = iteratee(memo, obj[currentKey], currentKey, obj);\n }\n return memo;\n }\n\n return function(obj, iteratee, memo, context) {\n iteratee = optimizeCb(iteratee, context, 4);\n var keys = !isArrayLike(obj) && _.keys(obj),\n length = (keys || obj).length,\n index = dir > 0 ? 0 : length - 1;\n // Determine the initial value if none is provided.\n if (arguments.length < 3) {\n memo = obj[keys ? keys[index] : index];\n index += dir;\n }\n return iterator(obj, iteratee, memo, keys, index, length);\n };\n }\n\n // **Reduce** builds up a single result from a list of values, aka `inject`,\n // or `foldl`.\n _.reduce = _.foldl = _.inject = createReduce(1);\n\n // The right-associative version of reduce, also known as `foldr`.\n _.reduceRight = _.foldr = createReduce(-1);\n\n // Return the first value which passes a truth test. Aliased as `detect`.\n _.find = _.detect = function(obj, predicate, context) {\n var key;\n if (isArrayLike(obj)) {\n key = _.findIndex(obj, predicate, context);\n } else {\n key = _.findKey(obj, predicate, context);\n }\n if (key !== void 0 && key !== -1) return obj[key];\n };\n\n // Return all the elements that pass a truth test.\n // Aliased as `select`.\n _.filter = _.select = function(obj, predicate, context) {\n var results = [];\n predicate = cb(predicate, context);\n _.each(obj, function(value, index, list) {\n if (predicate(value, index, list)) results.push(value);\n });\n return results;\n };\n\n // Return all the elements for which a truth test fails.\n _.reject = function(obj, predicate, context) {\n return _.filter(obj, _.negate(cb(predicate)), context);\n };\n\n // Determine whether all of the elements match a truth test.\n // Aliased as `all`.\n _.every = _.all = function(obj, predicate, context) {\n predicate = cb(predicate, context);\n var keys = !isArrayLike(obj) && _.keys(obj),\n length = (keys || obj).length;\n for (var index = 0; index < length; index++) {\n var currentKey = keys ? keys[index] : index;\n if (!predicate(obj[currentKey], currentKey, obj)) return false;\n }\n return true;\n };\n\n // Determine if at least one element in the object matches a truth test.\n // Aliased as `any`.\n _.some = _.any = function(obj, predicate, context) {\n predicate = cb(predicate, context);\n var keys = !isArrayLike(obj) && _.keys(obj),\n length = (keys || obj).length;\n for (var index = 0; index < length; index++) {\n var currentKey = keys ? keys[index] : index;\n if (predicate(obj[currentKey], currentKey, obj)) return true;\n }\n return false;\n };\n\n // Determine if the array or object contains a given item (using `===`).\n // Aliased as `includes` and `include`.\n _.contains = _.includes = _.include = function(obj, item, fromIndex, guard) {\n if (!isArrayLike(obj)) obj = _.values(obj);\n if (typeof fromIndex != 'number' || guard) fromIndex = 0;\n return _.indexOf(obj, item, fromIndex) >= 0;\n };\n\n // Invoke a method (with arguments) on every item in a collection.\n _.invoke = function(obj, method) {\n var args = slice.call(arguments, 2);\n var isFunc = _.isFunction(method);\n return _.map(obj, function(value) {\n var func = isFunc ? method : value[method];\n return func == null ? func : func.apply(value, args);\n });\n };\n\n // Convenience version of a common use case of `map`: fetching a property.\n _.pluck = function(obj, key) {\n return _.map(obj, _.property(key));\n };\n\n // Convenience version of a common use case of `filter`: selecting only objects\n // containing specific `key:value` pairs.\n _.where = function(obj, attrs) {\n return _.filter(obj, _.matcher(attrs));\n };\n\n // Convenience version of a common use case of `find`: getting the first object\n // containing specific `key:value` pairs.\n _.findWhere = function(obj, attrs) {\n return _.find(obj, _.matcher(attrs));\n };\n\n // Return the maximum element (or element-based computation).\n _.max = function(obj, iteratee, context) {\n var result = -Infinity, lastComputed = -Infinity,\n value, computed;\n if (iteratee == null && obj != null) {\n obj = isArrayLike(obj) ? obj : _.values(obj);\n for (var i = 0, length = obj.length; i < length; i++) {\n value = obj[i];\n if (value > result) {\n result = value;\n }\n }\n } else {\n iteratee = cb(iteratee, context);\n _.each(obj, function(value, index, list) {\n computed = iteratee(value, index, list);\n if (computed > lastComputed || computed === -Infinity && result === -Infinity) {\n result = value;\n lastComputed = computed;\n }\n });\n }\n return result;\n };\n\n // Return the minimum element (or element-based computation).\n _.min = function(obj, iteratee, context) {\n var result = Infinity, lastComputed = Infinity,\n value, computed;\n if (iteratee == null && obj != null) {\n obj = isArrayLike(obj) ? obj : _.values(obj);\n for (var i = 0, length = obj.length; i < length; i++) {\n value = obj[i];\n if (value < result) {\n result = value;\n }\n }\n } else {\n iteratee = cb(iteratee, context);\n _.each(obj, function(value, index, list) {\n computed = iteratee(value, index, list);\n if (computed < lastComputed || computed === Infinity && result === Infinity) {\n result = value;\n lastComputed = computed;\n }\n });\n }\n return result;\n };\n\n // Shuffle a collection, using the modern version of the\n // [Fisher-Yates shuffle](http://en.wikipedia.org/wiki/Fisher–Yates_shuffle).\n _.shuffle = function(obj) {\n var set = isArrayLike(obj) ? obj : _.values(obj);\n var length = set.length;\n var shuffled = Array(length);\n for (var index = 0, rand; index < length; index++) {\n rand = _.random(0, index);\n if (rand !== index) shuffled[index] = shuffled[rand];\n shuffled[rand] = set[index];\n }\n return shuffled;\n };\n\n // Sample **n** random values from a collection.\n // If **n** is not specified, returns a single random element.\n // The internal `guard` argument allows it to work with `map`.\n _.sample = function(obj, n, guard) {\n if (n == null || guard) {\n if (!isArrayLike(obj)) obj = _.values(obj);\n return obj[_.random(obj.length - 1)];\n }\n return _.shuffle(obj).slice(0, Math.max(0, n));\n };\n\n // Sort the object's values by a criterion produced by an iteratee.\n _.sortBy = function(obj, iteratee, context) {\n iteratee = cb(iteratee, context);\n return _.pluck(_.map(obj, function(value, index, list) {\n return {\n value: value,\n index: index,\n criteria: iteratee(value, index, list)\n };\n }).sort(function(left, right) {\n var a = left.criteria;\n var b = right.criteria;\n if (a !== b) {\n if (a > b || a === void 0) return 1;\n if (a < b || b === void 0) return -1;\n }\n return left.index - right.index;\n }), 'value');\n };\n\n // An internal function used for aggregate \"group by\" operations.\n var group = function(behavior) {\n return function(obj, iteratee, context) {\n var result = {};\n iteratee = cb(iteratee, context);\n _.each(obj, function(value, index) {\n var key = iteratee(value, index, obj);\n behavior(result, value, key);\n });\n return result;\n };\n };\n\n // Groups the object's values by a criterion. Pass either a string attribute\n // to group by, or a function that returns the criterion.\n _.groupBy = group(function(result, value, key) {\n if (_.has(result, key)) result[key].push(value); else result[key] = [value];\n });\n\n // Indexes the object's values by a criterion, similar to `groupBy`, but for\n // when you know that your index values will be unique.\n _.indexBy = group(function(result, value, key) {\n result[key] = value;\n });\n\n // Counts instances of an object that group by a certain criterion. Pass\n // either a string attribute to count by, or a function that returns the\n // criterion.\n _.countBy = group(function(result, value, key) {\n if (_.has(result, key)) result[key]++; else result[key] = 1;\n });\n\n // Safely create a real, live array from anything iterable.\n _.toArray = function(obj) {\n if (!obj) return [];\n if (_.isArray(obj)) return slice.call(obj);\n if (isArrayLike(obj)) return _.map(obj, _.identity);\n return _.values(obj);\n };\n\n // Return the number of elements in an object.\n _.size = function(obj) {\n if (obj == null) return 0;\n return isArrayLike(obj) ? obj.length : _.keys(obj).length;\n };\n\n // Split a collection into two arrays: one whose elements all satisfy the given\n // predicate, and one whose elements all do not satisfy the predicate.\n _.partition = function(obj, predicate, context) {\n predicate = cb(predicate, context);\n var pass = [], fail = [];\n _.each(obj, function(value, key, obj) {\n (predicate(value, key, obj) ? pass : fail).push(value);\n });\n return [pass, fail];\n };\n\n // Array Functions\n // ---------------\n\n // Get the first element of an array. Passing **n** will return the first N\n // values in the array. Aliased as `head` and `take`. The **guard** check\n // allows it to work with `_.map`.\n _.first = _.head = _.take = function(array, n, guard) {\n if (array == null) return void 0;\n if (n == null || guard) return array[0];\n return _.initial(array, array.length - n);\n };\n\n // Returns everything but the last entry of the array. Especially useful on\n // the arguments object. Passing **n** will return all the values in\n // the array, excluding the last N.\n _.initial = function(array, n, guard) {\n return slice.call(array, 0, Math.max(0, array.length - (n == null || guard ? 1 : n)));\n };\n\n // Get the last element of an array. Passing **n** will return the last N\n // values in the array.\n _.last = function(array, n, guard) {\n if (array == null) return void 0;\n if (n == null || guard) return array[array.length - 1];\n return _.rest(array, Math.max(0, array.length - n));\n };\n\n // Returns everything but the first entry of the array. Aliased as `tail` and `drop`.\n // Especially useful on the arguments object. Passing an **n** will return\n // the rest N values in the array.\n _.rest = _.tail = _.drop = function(array, n, guard) {\n return slice.call(array, n == null || guard ? 1 : n);\n };\n\n // Trim out all falsy values from an array.\n _.compact = function(array) {\n return _.filter(array, _.identity);\n };\n\n // Internal implementation of a recursive `flatten` function.\n var flatten = function(input, shallow, strict, startIndex) {\n var output = [], idx = 0;\n for (var i = startIndex || 0, length = getLength(input); i < length; i++) {\n var value = input[i];\n if (isArrayLike(value) && (_.isArray(value) || _.isArguments(value))) {\n //flatten current level of array or arguments object\n if (!shallow) value = flatten(value, shallow, strict);\n var j = 0, len = value.length;\n output.length += len;\n while (j < len) {\n output[idx++] = value[j++];\n }\n } else if (!strict) {\n output[idx++] = value;\n }\n }\n return output;\n };\n\n // Flatten out an array, either recursively (by default), or just one level.\n _.flatten = function(array, shallow) {\n return flatten(array, shallow, false);\n };\n\n // Return a version of the array that does not contain the specified value(s).\n _.without = function(array) {\n return _.difference(array, slice.call(arguments, 1));\n };\n\n // Produce a duplicate-free version of the array. If the array has already\n // been sorted, you have the option of using a faster algorithm.\n // Aliased as `unique`.\n _.uniq = _.unique = function(array, isSorted, iteratee, context) {\n if (!_.isBoolean(isSorted)) {\n context = iteratee;\n iteratee = isSorted;\n isSorted = false;\n }\n if (iteratee != null) iteratee = cb(iteratee, context);\n var result = [];\n var seen = [];\n for (var i = 0, length = getLength(array); i < length; i++) {\n var value = array[i],\n computed = iteratee ? iteratee(value, i, array) : value;\n if (isSorted) {\n if (!i || seen !== computed) result.push(value);\n seen = computed;\n } else if (iteratee) {\n if (!_.contains(seen, computed)) {\n seen.push(computed);\n result.push(value);\n }\n } else if (!_.contains(result, value)) {\n result.push(value);\n }\n }\n return result;\n };\n\n // Produce an array that contains the union: each distinct element from all of\n // the passed-in arrays.\n _.union = function() {\n return _.uniq(flatten(arguments, true, true));\n };\n\n // Produce an array that contains every item shared between all the\n // passed-in arrays.\n _.intersection = function(array) {\n var result = [];\n var argsLength = arguments.length;\n for (var i = 0, length = getLength(array); i < length; i++) {\n var item = array[i];\n if (_.contains(result, item)) continue;\n for (var j = 1; j < argsLength; j++) {\n if (!_.contains(arguments[j], item)) break;\n }\n if (j === argsLength) result.push(item);\n }\n return result;\n };\n\n // Take the difference between one array and a number of other arrays.\n // Only the elements present in just the first array will remain.\n _.difference = function(array) {\n var rest = flatten(arguments, true, true, 1);\n return _.filter(array, function(value){\n return !_.contains(rest, value);\n });\n };\n\n // Zip together multiple lists into a single array -- elements that share\n // an index go together.\n _.zip = function() {\n return _.unzip(arguments);\n };\n\n // Complement of _.zip. Unzip accepts an array of arrays and groups\n // each array's elements on shared indices\n _.unzip = function(array) {\n var length = array && _.max(array, getLength).length || 0;\n var result = Array(length);\n\n for (var index = 0; index < length; index++) {\n result[index] = _.pluck(array, index);\n }\n return result;\n };\n\n // Converts lists into objects. Pass either a single array of `[key, value]`\n // pairs, or two parallel arrays of the same length -- one of keys, and one of\n // the corresponding values.\n _.object = function(list, values) {\n var result = {};\n for (var i = 0, length = getLength(list); i < length; i++) {\n if (values) {\n result[list[i]] = values[i];\n } else {\n result[list[i][0]] = list[i][1];\n }\n }\n return result;\n };\n\n // Generator function to create the findIndex and findLastIndex functions\n function createPredicateIndexFinder(dir) {\n return function(array, predicate, context) {\n predicate = cb(predicate, context);\n var length = getLength(array);\n var index = dir > 0 ? 0 : length - 1;\n for (; index >= 0 && index < length; index += dir) {\n if (predicate(array[index], index, array)) return index;\n }\n return -1;\n };\n }\n\n // Returns the first index on an array-like that passes a predicate test\n _.findIndex = createPredicateIndexFinder(1);\n _.findLastIndex = createPredicateIndexFinder(-1);\n\n // Use a comparator function to figure out the smallest index at which\n // an object should be inserted so as to maintain order. Uses binary search.\n _.sortedIndex = function(array, obj, iteratee, context) {\n iteratee = cb(iteratee, context, 1);\n var value = iteratee(obj);\n var low = 0, high = getLength(array);\n while (low < high) {\n var mid = Math.floor((low + high) / 2);\n if (iteratee(array[mid]) < value) low = mid + 1; else high = mid;\n }\n return low;\n };\n\n // Generator function to create the indexOf and lastIndexOf functions\n function createIndexFinder(dir, predicateFind, sortedIndex) {\n return function(array, item, idx) {\n var i = 0, length = getLength(array);\n if (typeof idx == 'number') {\n if (dir > 0) {\n i = idx >= 0 ? idx : Math.max(idx + length, i);\n } else {\n length = idx >= 0 ? Math.min(idx + 1, length) : idx + length + 1;\n }\n } else if (sortedIndex && idx && length) {\n idx = sortedIndex(array, item);\n return array[idx] === item ? idx : -1;\n }\n if (item !== item) {\n idx = predicateFind(slice.call(array, i, length), _.isNaN);\n return idx >= 0 ? idx + i : -1;\n }\n for (idx = dir > 0 ? i : length - 1; idx >= 0 && idx < length; idx += dir) {\n if (array[idx] === item) return idx;\n }\n return -1;\n };\n }\n\n // Return the position of the first occurrence of an item in an array,\n // or -1 if the item is not included in the array.\n // If the array is large and already in sort order, pass `true`\n // for **isSorted** to use binary search.\n _.indexOf = createIndexFinder(1, _.findIndex, _.sortedIndex);\n _.lastIndexOf = createIndexFinder(-1, _.findLastIndex);\n\n // Generate an integer Array containing an arithmetic progression. A port of\n // the native Python `range()` function. See\n // [the Python documentation](http://docs.python.org/library/functions.html#range).\n _.range = function(start, stop, step) {\n if (stop == null) {\n stop = start || 0;\n start = 0;\n }\n step = step || 1;\n\n var length = Math.max(Math.ceil((stop - start) / step), 0);\n var range = Array(length);\n\n for (var idx = 0; idx < length; idx++, start += step) {\n range[idx] = start;\n }\n\n return range;\n };\n\n // Function (ahem) Functions\n // ------------------\n\n // Determines whether to execute a function as a constructor\n // or a normal function with the provided arguments\n var executeBound = function(sourceFunc, boundFunc, context, callingContext, args) {\n if (!(callingContext instanceof boundFunc)) return sourceFunc.apply(context, args);\n var self = baseCreate(sourceFunc.prototype);\n var result = sourceFunc.apply(self, args);\n if (_.isObject(result)) return result;\n return self;\n };\n\n // Create a function bound to a given object (assigning `this`, and arguments,\n // optionally). Delegates to **ECMAScript 5**'s native `Function.bind` if\n // available.\n _.bind = function(func, context) {\n if (nativeBind && func.bind === nativeBind) return nativeBind.apply(func, slice.call(arguments, 1));\n if (!_.isFunction(func)) throw new TypeError('Bind must be called on a function');\n var args = slice.call(arguments, 2);\n var bound = function() {\n return executeBound(func, bound, context, this, args.concat(slice.call(arguments)));\n };\n return bound;\n };\n\n // Partially apply a function by creating a version that has had some of its\n // arguments pre-filled, without changing its dynamic `this` context. _ acts\n // as a placeholder, allowing any combination of arguments to be pre-filled.\n _.partial = function(func) {\n var boundArgs = slice.call(arguments, 1);\n var bound = function() {\n var position = 0, length = boundArgs.length;\n var args = Array(length);\n for (var i = 0; i < length; i++) {\n args[i] = boundArgs[i] === _ ? arguments[position++] : boundArgs[i];\n }\n while (position < arguments.length) args.push(arguments[position++]);\n return executeBound(func, bound, this, this, args);\n };\n return bound;\n };\n\n // Bind a number of an object's methods to that object. Remaining arguments\n // are the method names to be bound. Useful for ensuring that all callbacks\n // defined on an object belong to it.\n _.bindAll = function(obj) {\n var i, length = arguments.length, key;\n if (length <= 1) throw new Error('bindAll must be passed function names');\n for (i = 1; i < length; i++) {\n key = arguments[i];\n obj[key] = _.bind(obj[key], obj);\n }\n return obj;\n };\n\n // Memoize an expensive function by storing its results.\n _.memoize = function(func, hasher) {\n var memoize = function(key) {\n var cache = memoize.cache;\n var address = '' + (hasher ? hasher.apply(this, arguments) : key);\n if (!_.has(cache, address)) cache[address] = func.apply(this, arguments);\n return cache[address];\n };\n memoize.cache = {};\n return memoize;\n };\n\n // Delays a function for the given number of milliseconds, and then calls\n // it with the arguments supplied.\n _.delay = function(func, wait) {\n var args = slice.call(arguments, 2);\n return setTimeout(function(){\n return func.apply(null, args);\n }, wait);\n };\n\n // Defers a function, scheduling it to run after the current call stack has\n // cleared.\n _.defer = _.partial(_.delay, _, 1);\n\n // Returns a function, that, when invoked, will only be triggered at most once\n // during a given window of time. Normally, the throttled function will run\n // as much as it can, without ever going more than once per `wait` duration;\n // but if you'd like to disable the execution on the leading edge, pass\n // `{leading: false}`. To disable execution on the trailing edge, ditto.\n _.throttle = function(func, wait, options) {\n var context, args, result;\n var timeout = null;\n var previous = 0;\n if (!options) options = {};\n var later = function() {\n previous = options.leading === false ? 0 : _.now();\n timeout = null;\n result = func.apply(context, args);\n if (!timeout) context = args = null;\n };\n return function() {\n var now = _.now();\n if (!previous && options.leading === false) previous = now;\n var remaining = wait - (now - previous);\n context = this;\n args = arguments;\n if (remaining <= 0 || remaining > wait) {\n if (timeout) {\n clearTimeout(timeout);\n timeout = null;\n }\n previous = now;\n result = func.apply(context, args);\n if (!timeout) context = args = null;\n } else if (!timeout && options.trailing !== false) {\n timeout = setTimeout(later, remaining);\n }\n return result;\n };\n };\n\n // Returns a function, that, as long as it continues to be invoked, will not\n // be triggered. The function will be called after it stops being called for\n // N milliseconds. If `immediate` is passed, trigger the function on the\n // leading edge, instead of the trailing.\n _.debounce = function(func, wait, immediate) {\n var timeout, args, context, timestamp, result;\n\n var later = function() {\n var last = _.now() - timestamp;\n\n if (last < wait && last >= 0) {\n timeout = setTimeout(later, wait - last);\n } else {\n timeout = null;\n if (!immediate) {\n result = func.apply(context, args);\n if (!timeout) context = args = null;\n }\n }\n };\n\n return function() {\n context = this;\n args = arguments;\n timestamp = _.now();\n var callNow = immediate && !timeout;\n if (!timeout) timeout = setTimeout(later, wait);\n if (callNow) {\n result = func.apply(context, args);\n context = args = null;\n }\n\n return result;\n };\n };\n\n // Returns the first function passed as an argument to the second,\n // allowing you to adjust arguments, run code before and after, and\n // conditionally execute the original function.\n _.wrap = function(func, wrapper) {\n return _.partial(wrapper, func);\n };\n\n // Returns a negated version of the passed-in predicate.\n _.negate = function(predicate) {\n return function() {\n return !predicate.apply(this, arguments);\n };\n };\n\n // Returns a function that is the composition of a list of functions, each\n // consuming the return value of the function that follows.\n _.compose = function() {\n var args = arguments;\n var start = args.length - 1;\n return function() {\n var i = start;\n var result = args[start].apply(this, arguments);\n while (i--) result = args[i].call(this, result);\n return result;\n };\n };\n\n // Returns a function that will only be executed on and after the Nth call.\n _.after = function(times, func) {\n return function() {\n if (--times < 1) {\n return func.apply(this, arguments);\n }\n };\n };\n\n // Returns a function that will only be executed up to (but not including) the Nth call.\n _.before = function(times, func) {\n var memo;\n return function() {\n if (--times > 0) {\n memo = func.apply(this, arguments);\n }\n if (times <= 1) func = null;\n return memo;\n };\n };\n\n // Returns a function that will be executed at most one time, no matter how\n // often you call it. Useful for lazy initialization.\n _.once = _.partial(_.before, 2);\n\n // Object Functions\n // ----------------\n\n // Keys in IE < 9 that won't be iterated by `for key in ...` and thus missed.\n var hasEnumBug = !{toString: null}.propertyIsEnumerable('toString');\n var nonEnumerableProps = ['valueOf', 'isPrototypeOf', 'toString',\n 'propertyIsEnumerable', 'hasOwnProperty', 'toLocaleString'];\n\n function collectNonEnumProps(obj, keys) {\n var nonEnumIdx = nonEnumerableProps.length;\n var constructor = obj.constructor;\n var proto = (_.isFunction(constructor) && constructor.prototype) || ObjProto;\n\n // Constructor is a special case.\n var prop = 'constructor';\n if (_.has(obj, prop) && !_.contains(keys, prop)) keys.push(prop);\n\n while (nonEnumIdx--) {\n prop = nonEnumerableProps[nonEnumIdx];\n if (prop in obj && obj[prop] !== proto[prop] && !_.contains(keys, prop)) {\n keys.push(prop);\n }\n }\n }\n\n // Retrieve the names of an object's own properties.\n // Delegates to **ECMAScript 5**'s native `Object.keys`\n _.keys = function(obj) {\n if (!_.isObject(obj)) return [];\n if (nativeKeys) return nativeKeys(obj);\n var keys = [];\n for (var key in obj) if (_.has(obj, key)) keys.push(key);\n // Ahem, IE < 9.\n if (hasEnumBug) collectNonEnumProps(obj, keys);\n return keys;\n };\n\n // Retrieve all the property names of an object.\n _.allKeys = function(obj) {\n if (!_.isObject(obj)) return [];\n var keys = [];\n for (var key in obj) keys.push(key);\n // Ahem, IE < 9.\n if (hasEnumBug) collectNonEnumProps(obj, keys);\n return keys;\n };\n\n // Retrieve the values of an object's properties.\n _.values = function(obj) {\n var keys = _.keys(obj);\n var length = keys.length;\n var values = Array(length);\n for (var i = 0; i < length; i++) {\n values[i] = obj[keys[i]];\n }\n return values;\n };\n\n // Returns the results of applying the iteratee to each element of the object\n // In contrast to _.map it returns an object\n _.mapObject = function(obj, iteratee, context) {\n iteratee = cb(iteratee, context);\n var keys = _.keys(obj),\n length = keys.length,\n results = {},\n currentKey;\n for (var index = 0; index < length; index++) {\n currentKey = keys[index];\n results[currentKey] = iteratee(obj[currentKey], currentKey, obj);\n }\n return results;\n };\n\n // Convert an object into a list of `[key, value]` pairs.\n _.pairs = function(obj) {\n var keys = _.keys(obj);\n var length = keys.length;\n var pairs = Array(length);\n for (var i = 0; i < length; i++) {\n pairs[i] = [keys[i], obj[keys[i]]];\n }\n return pairs;\n };\n\n // Invert the keys and values of an object. The values must be serializable.\n _.invert = function(obj) {\n var result = {};\n var keys = _.keys(obj);\n for (var i = 0, length = keys.length; i < length; i++) {\n result[obj[keys[i]]] = keys[i];\n }\n return result;\n };\n\n // Return a sorted list of the function names available on the object.\n // Aliased as `methods`\n _.functions = _.methods = function(obj) {\n var names = [];\n for (var key in obj) {\n if (_.isFunction(obj[key])) names.push(key);\n }\n return names.sort();\n };\n\n // Extend a given object with all the properties in passed-in object(s).\n _.extend = createAssigner(_.allKeys);\n\n // Assigns a given object with all the own properties in the passed-in object(s)\n // (https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Object/assign)\n _.extendOwn = _.assign = createAssigner(_.keys);\n\n // Returns the first key on an object that passes a predicate test\n _.findKey = function(obj, predicate, context) {\n predicate = cb(predicate, context);\n var keys = _.keys(obj), key;\n for (var i = 0, length = keys.length; i < length; i++) {\n key = keys[i];\n if (predicate(obj[key], key, obj)) return key;\n }\n };\n\n // Return a copy of the object only containing the whitelisted properties.\n _.pick = function(object, oiteratee, context) {\n var result = {}, obj = object, iteratee, keys;\n if (obj == null) return result;\n if (_.isFunction(oiteratee)) {\n keys = _.allKeys(obj);\n iteratee = optimizeCb(oiteratee, context);\n } else {\n keys = flatten(arguments, false, false, 1);\n iteratee = function(value, key, obj) { return key in obj; };\n obj = Object(obj);\n }\n for (var i = 0, length = keys.length; i < length; i++) {\n var key = keys[i];\n var value = obj[key];\n if (iteratee(value, key, obj)) result[key] = value;\n }\n return result;\n };\n\n // Return a copy of the object without the blacklisted properties.\n _.omit = function(obj, iteratee, context) {\n if (_.isFunction(iteratee)) {\n iteratee = _.negate(iteratee);\n } else {\n var keys = _.map(flatten(arguments, false, false, 1), String);\n iteratee = function(value, key) {\n return !_.contains(keys, key);\n };\n }\n return _.pick(obj, iteratee, context);\n };\n\n // Fill in a given object with default properties.\n _.defaults = createAssigner(_.allKeys, true);\n\n // Creates an object that inherits from the given prototype object.\n // If additional properties are provided then they will be added to the\n // created object.\n _.create = function(prototype, props) {\n var result = baseCreate(prototype);\n if (props) _.extendOwn(result, props);\n return result;\n };\n\n // Create a (shallow-cloned) duplicate of an object.\n _.clone = function(obj) {\n if (!_.isObject(obj)) return obj;\n return _.isArray(obj) ? obj.slice() : _.extend({}, obj);\n };\n\n // Invokes interceptor with the obj, and then returns obj.\n // The primary purpose of this method is to \"tap into\" a method chain, in\n // order to perform operations on intermediate results within the chain.\n _.tap = function(obj, interceptor) {\n interceptor(obj);\n return obj;\n };\n\n // Returns whether an object has a given set of `key:value` pairs.\n _.isMatch = function(object, attrs) {\n var keys = _.keys(attrs), length = keys.length;\n if (object == null) return !length;\n var obj = Object(object);\n for (var i = 0; i < length; i++) {\n var key = keys[i];\n if (attrs[key] !== obj[key] || !(key in obj)) return false;\n }\n return true;\n };\n\n\n // Internal recursive comparison function for `isEqual`.\n var eq = function(a, b, aStack, bStack) {\n // Identical objects are equal. `0 === -0`, but they aren't identical.\n // See the [Harmony `egal` proposal](http://wiki.ecmascript.org/doku.php?id=harmony:egal).\n if (a === b) return a !== 0 || 1 / a === 1 / b;\n // A strict comparison is necessary because `null == undefined`.\n if (a == null || b == null) return a === b;\n // Unwrap any wrapped objects.\n if (a instanceof _) a = a._wrapped;\n if (b instanceof _) b = b._wrapped;\n // Compare `[[Class]]` names.\n var className = toString.call(a);\n if (className !== toString.call(b)) return false;\n switch (className) {\n // Strings, numbers, regular expressions, dates, and booleans are compared by value.\n case '[object RegExp]':\n // RegExps are coerced to strings for comparison (Note: '' + /a/i === '/a/i')\n case '[object String]':\n // Primitives and their corresponding object wrappers are equivalent; thus, `\"5\"` is\n // equivalent to `new String(\"5\")`.\n return '' + a === '' + b;\n case '[object Number]':\n // `NaN`s are equivalent, but non-reflexive.\n // Object(NaN) is equivalent to NaN\n if (+a !== +a) return +b !== +b;\n // An `egal` comparison is performed for other numeric values.\n return +a === 0 ? 1 / +a === 1 / b : +a === +b;\n case '[object Date]':\n case '[object Boolean]':\n // Coerce dates and booleans to numeric primitive values. Dates are compared by their\n // millisecond representations. Note that invalid dates with millisecond representations\n // of `NaN` are not equivalent.\n return +a === +b;\n }\n\n var areArrays = className === '[object Array]';\n if (!areArrays) {\n if (typeof a != 'object' || typeof b != 'object') return false;\n\n // Objects with different constructors are not equivalent, but `Object`s or `Array`s\n // from different frames are.\n var aCtor = a.constructor, bCtor = b.constructor;\n if (aCtor !== bCtor && !(_.isFunction(aCtor) && aCtor instanceof aCtor &&\n _.isFunction(bCtor) && bCtor instanceof bCtor)\n && ('constructor' in a && 'constructor' in b)) {\n return false;\n }\n }\n // Assume equality for cyclic structures. The algorithm for detecting cyclic\n // structures is adapted from ES 5.1 section 15.12.3, abstract operation `JO`.\n\n // Initializing stack of traversed objects.\n // It's done here since we only need them for objects and arrays comparison.\n aStack = aStack || [];\n bStack = bStack || [];\n var length = aStack.length;\n while (length--) {\n // Linear search. Performance is inversely proportional to the number of\n // unique nested structures.\n if (aStack[length] === a) return bStack[length] === b;\n }\n\n // Add the first object to the stack of traversed objects.\n aStack.push(a);\n bStack.push(b);\n\n // Recursively compare objects and arrays.\n if (areArrays) {\n // Compare array lengths to determine if a deep comparison is necessary.\n length = a.length;\n if (length !== b.length) return false;\n // Deep compare the contents, ignoring non-numeric properties.\n while (length--) {\n if (!eq(a[length], b[length], aStack, bStack)) return false;\n }\n } else {\n // Deep compare objects.\n var keys = _.keys(a), key;\n length = keys.length;\n // Ensure that both objects contain the same number of properties before comparing deep equality.\n if (_.keys(b).length !== length) return false;\n while (length--) {\n // Deep compare each member\n key = keys[length];\n if (!(_.has(b, key) && eq(a[key], b[key], aStack, bStack))) return false;\n }\n }\n // Remove the first object from the stack of traversed objects.\n aStack.pop();\n bStack.pop();\n return true;\n };\n\n // Perform a deep comparison to check if two objects are equal.\n _.isEqual = function(a, b) {\n return eq(a, b);\n };\n\n // Is a given array, string, or object empty?\n // An \"empty\" object has no enumerable own-properties.\n _.isEmpty = function(obj) {\n if (obj == null) return true;\n if (isArrayLike(obj) && (_.isArray(obj) || _.isString(obj) || _.isArguments(obj))) return obj.length === 0;\n return _.keys(obj).length === 0;\n };\n\n // Is a given value a DOM element?\n _.isElement = function(obj) {\n return !!(obj && obj.nodeType === 1);\n };\n\n // Is a given value an array?\n // Delegates to ECMA5's native Array.isArray\n _.isArray = nativeIsArray || function(obj) {\n return toString.call(obj) === '[object Array]';\n };\n\n // Is a given variable an object?\n _.isObject = function(obj) {\n var type = typeof obj;\n return type === 'function' || type === 'object' && !!obj;\n };\n\n // Add some isType methods: isArguments, isFunction, isString, isNumber, isDate, isRegExp, isError.\n _.each(['Arguments', 'Function', 'String', 'Number', 'Date', 'RegExp', 'Error'], function(name) {\n _['is' + name] = function(obj) {\n return toString.call(obj) === '[object ' + name + ']';\n };\n });\n\n // Define a fallback version of the method in browsers (ahem, IE < 9), where\n // there isn't any inspectable \"Arguments\" type.\n if (!_.isArguments(arguments)) {\n _.isArguments = function(obj) {\n return _.has(obj, 'callee');\n };\n }\n\n // Optimize `isFunction` if appropriate. Work around some typeof bugs in old v8,\n // IE 11 (#1621), and in Safari 8 (#1929).\n if (typeof /./ != 'function' && typeof Int8Array != 'object') {\n _.isFunction = function(obj) {\n return typeof obj == 'function' || false;\n };\n }\n\n // Is a given object a finite number?\n _.isFinite = function(obj) {\n return isFinite(obj) && !isNaN(parseFloat(obj));\n };\n\n // Is the given value `NaN`? (NaN is the only number which does not equal itself).\n _.isNaN = function(obj) {\n return _.isNumber(obj) && obj !== +obj;\n };\n\n // Is a given value a boolean?\n _.isBoolean = function(obj) {\n return obj === true || obj === false || toString.call(obj) === '[object Boolean]';\n };\n\n // Is a given value equal to null?\n _.isNull = function(obj) {\n return obj === null;\n };\n\n // Is a given variable undefined?\n _.isUndefined = function(obj) {\n return obj === void 0;\n };\n\n // Shortcut function for checking if an object has a given property directly\n // on itself (in other words, not on a prototype).\n _.has = function(obj, key) {\n return obj != null && hasOwnProperty.call(obj, key);\n };\n\n // Utility Functions\n // -----------------\n\n // Run Underscore.js in *noConflict* mode, returning the `_` variable to its\n // previous owner. Returns a reference to the Underscore object.\n _.noConflict = function() {\n root._ = previousUnderscore;\n return this;\n };\n\n // Keep the identity function around for default iteratees.\n _.identity = function(value) {\n return value;\n };\n\n // Predicate-generating functions. Often useful outside of Underscore.\n _.constant = function(value) {\n return function() {\n return value;\n };\n };\n\n _.noop = function(){};\n\n _.property = property;\n\n // Generates a function for a given object that returns a given property.\n _.propertyOf = function(obj) {\n return obj == null ? function(){} : function(key) {\n return obj[key];\n };\n };\n\n // Returns a predicate for checking whether an object has a given set of\n // `key:value` pairs.\n _.matcher = _.matches = function(attrs) {\n attrs = _.extendOwn({}, attrs);\n return function(obj) {\n return _.isMatch(obj, attrs);\n };\n };\n\n // Run a function **n** times.\n _.times = function(n, iteratee, context) {\n var accum = Array(Math.max(0, n));\n iteratee = optimizeCb(iteratee, context, 1);\n for (var i = 0; i < n; i++) accum[i] = iteratee(i);\n return accum;\n };\n\n // Return a random integer between min and max (inclusive).\n _.random = function(min, max) {\n if (max == null) {\n max = min;\n min = 0;\n }\n return min + Math.floor(Math.random() * (max - min + 1));\n };\n\n // A (possibly faster) way to get the current timestamp as an integer.\n _.now = Date.now || function() {\n return new Date().getTime();\n };\n\n // List of HTML entities for escaping.\n var escapeMap = {\n '&': '&',\n '<': '<',\n '>': '>',\n '\"': '"',\n \"'\": ''',\n '`': '`'\n };\n var unescapeMap = _.invert(escapeMap);\n\n // Functions for escaping and unescaping strings to/from HTML interpolation.\n var createEscaper = function(map) {\n var escaper = function(match) {\n return map[match];\n };\n // Regexes for identifying a key that needs to be escaped\n var source = '(?:' + _.keys(map).join('|') + ')';\n var testRegexp = RegExp(source);\n var replaceRegexp = RegExp(source, 'g');\n return function(string) {\n string = string == null ? '' : '' + string;\n return testRegexp.test(string) ? string.replace(replaceRegexp, escaper) : string;\n };\n };\n _.escape = createEscaper(escapeMap);\n _.unescape = createEscaper(unescapeMap);\n\n // If the value of the named `property` is a function then invoke it with the\n // `object` as context; otherwise, return it.\n _.result = function(object, property, fallback) {\n var value = object == null ? void 0 : object[property];\n if (value === void 0) {\n value = fallback;\n }\n return _.isFunction(value) ? value.call(object) : value;\n };\n\n // Generate a unique integer id (unique within the entire client session).\n // Useful for temporary DOM ids.\n var idCounter = 0;\n _.uniqueId = function(prefix) {\n var id = ++idCounter + '';\n return prefix ? prefix + id : id;\n };\n\n // By default, Underscore uses ERB-style template delimiters, change the\n // following template settings to use alternative delimiters.\n _.templateSettings = {\n evaluate : /<%([\\s\\S]+?)%>/g,\n interpolate : /<%=([\\s\\S]+?)%>/g,\n escape : /<%-([\\s\\S]+?)%>/g\n };\n\n // When customizing `templateSettings`, if you don't want to define an\n // interpolation, evaluation or escaping regex, we need one that is\n // guaranteed not to match.\n var noMatch = /(.)^/;\n\n // Certain characters need to be escaped so that they can be put into a\n // string literal.\n var escapes = {\n \"'\": \"'\",\n '\\\\': '\\\\',\n '\\r': 'r',\n '\\n': 'n',\n '\\u2028': 'u2028',\n '\\u2029': 'u2029'\n };\n\n var escaper = /\\\\|'|\\r|\\n|\\u2028|\\u2029/g;\n\n var escapeChar = function(match) {\n return '\\\\' + escapes[match];\n };\n\n // JavaScript micro-templating, similar to John Resig's implementation.\n // Underscore templating handles arbitrary delimiters, preserves whitespace,\n // and correctly escapes quotes within interpolated code.\n // NB: `oldSettings` only exists for backwards compatibility.\n _.template = function(text, settings, oldSettings) {\n if (!settings && oldSettings) settings = oldSettings;\n settings = _.defaults({}, settings, _.templateSettings);\n\n // Combine delimiters into one regular expression via alternation.\n var matcher = RegExp([\n (settings.escape || noMatch).source,\n (settings.interpolate || noMatch).source,\n (settings.evaluate || noMatch).source\n ].join('|') + '|$', 'g');\n\n // Compile the template source, escaping string literals appropriately.\n var index = 0;\n var source = \"__p+='\";\n text.replace(matcher, function(match, escape, interpolate, evaluate, offset) {\n source += text.slice(index, offset).replace(escaper, escapeChar);\n index = offset + match.length;\n\n if (escape) {\n source += \"'+\\n((__t=(\" + escape + \"))==null?'':_.escape(__t))+\\n'\";\n } else if (interpolate) {\n source += \"'+\\n((__t=(\" + interpolate + \"))==null?'':__t)+\\n'\";\n } else if (evaluate) {\n source += \"';\\n\" + evaluate + \"\\n__p+='\";\n }\n\n // Adobe VMs need the match returned to produce the correct offest.\n return match;\n });\n source += \"';\\n\";\n\n // If a variable is not specified, place data values in local scope.\n if (!settings.variable) source = 'with(obj||{}){\\n' + source + '}\\n';\n\n source = \"var __t,__p='',__j=Array.prototype.join,\" +\n \"print=function(){__p+=__j.call(arguments,'');};\\n\" +\n source + 'return __p;\\n';\n\n try {\n var render = new Function(settings.variable || 'obj', '_', source);\n } catch (e) {\n e.source = source;\n throw e;\n }\n\n var template = function(data) {\n return render.call(this, data, _);\n };\n\n // Provide the compiled source as a convenience for precompilation.\n var argument = settings.variable || 'obj';\n template.source = 'function(' + argument + '){\\n' + source + '}';\n\n return template;\n };\n\n // Add a \"chain\" function. Start chaining a wrapped Underscore object.\n _.chain = function(obj) {\n var instance = _(obj);\n instance._chain = true;\n return instance;\n };\n\n // OOP\n // ---------------\n // If Underscore is called as a function, it returns a wrapped object that\n // can be used OO-style. This wrapper holds altered versions of all the\n // underscore functions. Wrapped objects may be chained.\n\n // Helper function to continue chaining intermediate results.\n var result = function(instance, obj) {\n return instance._chain ? _(obj).chain() : obj;\n };\n\n // Add your own custom functions to the Underscore object.\n _.mixin = function(obj) {\n _.each(_.functions(obj), function(name) {\n var func = _[name] = obj[name];\n _.prototype[name] = function() {\n var args = [this._wrapped];\n push.apply(args, arguments);\n return result(this, func.apply(_, args));\n };\n });\n };\n\n // Add all of the Underscore functions to the wrapper object.\n _.mixin(_);\n\n // Add all mutator Array functions to the wrapper.\n _.each(['pop', 'push', 'reverse', 'shift', 'sort', 'splice', 'unshift'], function(name) {\n var method = ArrayProto[name];\n _.prototype[name] = function() {\n var obj = this._wrapped;\n method.apply(obj, arguments);\n if ((name === 'shift' || name === 'splice') && obj.length === 0) delete obj[0];\n return result(this, obj);\n };\n });\n\n // Add all accessor Array functions to the wrapper.\n _.each(['concat', 'join', 'slice'], function(name) {\n var method = ArrayProto[name];\n _.prototype[name] = function() {\n return result(this, method.apply(this._wrapped, arguments));\n };\n });\n\n // Extracts the result from a wrapped and chained object.\n _.prototype.value = function() {\n return this._wrapped;\n };\n\n // Provide unwrapping proxy for some methods used in engine operations\n // such as arithmetic and JSON stringification.\n _.prototype.valueOf = _.prototype.toJSON = _.prototype.value;\n\n _.prototype.toString = function() {\n return '' + this._wrapped;\n };\n\n // AMD registration happens at the end for compatibility with AMD loaders\n // that may not enforce next-turn semantics on modules. Even though general\n // practice for AMD registration is to be anonymous, underscore registers\n // as a named module because, like jQuery, it is a base library that is\n // popular enough to be bundled in a third party lib, but not be part of\n // an AMD load request. Those cases could generate an error when an\n // anonymous define() is called outside of a loader request.\n if (true) {\n !(__WEBPACK_AMD_DEFINE_ARRAY__ = [], __WEBPACK_AMD_DEFINE_RESULT__ = (function() {\n return _;\n }).apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n }\n}.call(this));\n\n\n/***/ }),\n/* 152 */\n/***/ (function(module, exports) {\n\nmodule.exports = {\"version\":\"3.9.2\",\"supportedLanguages\":[\"en\",\"cs\",\"da\",\"de\",\"el\",\"es\",\"fi\",\"fr\",\"hu\",\"id\",\"in\",\"it\",\"ja\",\"ko\",\"ms\",\"nb\",\"nl-NL\",\"pl\",\"pt-BR\",\"ro\",\"ru\",\"sv\",\"th\",\"tr\",\"uk\",\"vi\",\"zh-CN\",\"zh-TW\"]}\n\n/***/ }),\n/* 153 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\nvar __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;\n\n/*!\n * Copyright (c) 2015-2016, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n\n!(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(0), __webpack_require__(6), __webpack_require__(33), __webpack_require__(13)], __WEBPACK_AMD_DEFINE_RESULT__ = (function (Okta, Enums, Errors, Util) {\n\n var util = {};\n var _ = Okta._;\n\n function hasResponseType(params, type) {\n if (_.isArray(params.responseType)) {\n return _.contains(params.responseType, type);\n } else {\n return type === params.responseType;\n }\n }\n\n /**\n * Get the tokens in the OIDC/OAUTH flows\n *\n * @param settings - settings model object\n * @param params - {idp: 'xxx'} for social auth\n * {sessionToken: 'xxx'} for okta idp\n */\n util.getTokens = function (settings, params, controller) {\n\n function success(result) {\n settings.callGlobalSuccess(Enums.SUCCESS, result);\n }\n\n function error(error) {\n // OKTA-104330- Handle error case where user is not assigned to OIDC client\n if (error.errorCode === 'access_denied') {\n controller.model.trigger('error', controller.model, { 'responseJSON': error });\n controller.model.appState.trigger('removeLoading');\n }\n Util.triggerAfterError(controller, new Errors.OAuthError(error.message), settings);\n }\n\n var authClient = settings.getAuthClient(),\n options = settings.toJSON({ verbose: true }),\n oauthParams = {},\n extraOptions = {};\n\n _.extend(oauthParams, _.pick(options, 'clientId', 'redirectUri'), _.pick(options.authParams, 'pkce', 'grantType', // deprecated\n 'responseType', 'responseMode', 'display', 'scopes', 'state', 'nonce'), params);\n\n // Extra Options for Social Idp popup window title and id_token response timeout\n extraOptions.popupTitle = Okta.loc('socialauth.popup.title', 'login');\n extraOptions.timeout = options.oAuthTimeout;\n\n _.extend(extraOptions, _.pick(options.authParams, 'issuer', 'authorizeUrl'));\n\n // Redirect flow - this can be used when logging into an external IDP, or\n // converting the Okta sessionToken to an access_token, id_token, and/or\n // authorization code. Note: The authorization code flow will always redirect.\n if (oauthParams.display === 'page' || hasResponseType(oauthParams, 'code')) {\n authClient.token.getWithRedirect(oauthParams, extraOptions).fail(error);\n }\n\n // Default flow if logging in with Okta as the IDP - convert sessionToken to\n // tokens in a hidden iframe. Used in Single Page Apps where the app does\n // not want to redirect away from the page to convert the token.\n else if (oauthParams.sessionToken) {\n authClient.token.getWithoutPrompt(oauthParams, extraOptions).then(success).fail(error).done();\n }\n\n // Default flow if logging in with an external IDP - opens a popup and\n // gets the token from a postMessage response.\n else {\n authClient.token.getWithPopup(oauthParams, extraOptions).then(success).fail(error).done();\n }\n };\n\n // Parse through the OAuth 'authParams' object to ensure the 'openid' scope is\n // included (if required)\n util.addOrRemoveOpenIdScope = function (authParams) {\n if (!authParams.responseType) {\n return;\n }\n\n // Convert scope into an Array\n var scope = Array.isArray(authParams.scopes) ? authParams.scopes : authParams.scopes.split(' ');\n\n // Remove the 'openid' scope, as it is only required if an 'id_token' is requested\n if (scope.includes('openid')) {\n scope.splice(scope.indexOf('openid'), 1);\n }\n\n // Add the 'openid' scope\n if (authParams.responseType.includes('id_token')) {\n scope.push('openid');\n }\n\n return scope;\n };\n\n // Utility handlers for mapping convenience keys to OAuth params\n util.getResponseType = function (options) {\n var responseType = [];\n if (options.getIdToken !== false) {\n responseType.push('id_token');\n }\n\n if (options.getAccessToken) {\n responseType.push('token');\n }\n\n return responseType;\n };\n\n util.transformShowSignInToGetTokensOptions = function (options) {\n var config = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n // Override specific OAuth/OIDC values\n if (!options.clientId && !config.clientId) {\n throw new Errors.ConfigError('showSignInToGetTokens() requires a \"clientId\" property.');\n }\n\n var renderOptions = {\n clientId: options.clientId,\n redirectUri: options.redirectUri,\n authParams: {\n issuer: options.authorizationServerId || 'default',\n display: 'page',\n responseMode: 'fragment',\n responseType: util.getResponseType(options),\n scopes: options.scope || config.authParams && config.authParams.scopes || ['openid']\n }\n };\n\n // Ensure the 'openid' scope is provided when an 'id_token' is requested.\n // If the 'openid' scope is present and isn't needed, remove it.\n renderOptions.authParams.scopes = util.addOrRemoveOpenIdScope(renderOptions.authParams);\n\n return renderOptions;\n };\n\n return util;\n}).apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\n/***/ }),\n/* 154 */\n/***/ (function(module, exports) {\n\n// 7.1.4 ToInteger\nvar ceil = Math.ceil;\nvar floor = Math.floor;\nmodule.exports = function (it) {\n return isNaN(it = +it) ? 0 : (it > 0 ? floor : ceil)(it);\n};\n\n\n/***/ }),\n/* 155 */\n/***/ (function(module, exports) {\n\n// 7.2.1 RequireObjectCoercible(argument)\nmodule.exports = function (it) {\n if (it == undefined) throw TypeError(\"Can't call method on \" + it);\n return it;\n};\n\n\n/***/ }),\n/* 156 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar isObject = __webpack_require__(46);\nvar document = __webpack_require__(22).document;\n// typeof document.createElement is 'object' in old IE\nvar is = isObject(document) && isObject(document.createElement);\nmodule.exports = function (it) {\n return is ? document.createElement(it) : {};\n};\n\n\n/***/ }),\n/* 157 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 7.1.1 ToPrimitive(input [, PreferredType])\nvar isObject = __webpack_require__(46);\n// instead of the ES6 spec version, we didn't implement @@toPrimitive case\n// and the second argument - flag - preferred type is a string\nmodule.exports = function (it, S) {\n if (!isObject(it)) return it;\n var fn, val;\n if (S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it))) return val;\n if (typeof (fn = it.valueOf) == 'function' && !isObject(val = fn.call(it))) return val;\n if (!S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it))) return val;\n throw TypeError(\"Can't convert object to primitive value\");\n};\n\n\n/***/ }),\n/* 158 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 19.1.2.2 / 15.2.3.5 Object.create(O [, Properties])\nvar anObject = __webpack_require__(45);\nvar dPs = __webpack_require__(223);\nvar enumBugKeys = __webpack_require__(162);\nvar IE_PROTO = __webpack_require__(160)('IE_PROTO');\nvar Empty = function () { /* empty */ };\nvar PROTOTYPE = 'prototype';\n\n// Create object with fake `null` prototype: use iframe Object with cleared prototype\nvar createDict = function () {\n // Thrash, waste and sodomy: IE GC bug\n var iframe = __webpack_require__(156)('iframe');\n var i = enumBugKeys.length;\n var lt = '<';\n var gt = '>';\n var iframeDocument;\n iframe.style.display = 'none';\n __webpack_require__(226).appendChild(iframe);\n iframe.src = 'javascript:'; // eslint-disable-line no-script-url\n // createDict = iframe.contentWindow.Object;\n // html.removeChild(iframe);\n iframeDocument = iframe.contentWindow.document;\n iframeDocument.open();\n iframeDocument.write(lt + 'script' + gt + 'document.F=Object' + lt + '/script' + gt);\n iframeDocument.close();\n createDict = iframeDocument.F;\n while (i--) delete createDict[PROTOTYPE][enumBugKeys[i]];\n return createDict();\n};\n\nmodule.exports = Object.create || function create(O, Properties) {\n var result;\n if (O !== null) {\n Empty[PROTOTYPE] = anObject(O);\n result = new Empty();\n Empty[PROTOTYPE] = null;\n // add \"__proto__\" for Object.getPrototypeOf polyfill\n result[IE_PROTO] = O;\n } else result = createDict();\n return Properties === undefined ? result : dPs(result, Properties);\n};\n\n\n/***/ }),\n/* 159 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 7.1.15 ToLength\nvar toInteger = __webpack_require__(154);\nvar min = Math.min;\nmodule.exports = function (it) {\n return it > 0 ? min(toInteger(it), 0x1fffffffffffff) : 0; // pow(2, 53) - 1 == 9007199254740991\n};\n\n\n/***/ }),\n/* 160 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar shared = __webpack_require__(161)('keys');\nvar uid = __webpack_require__(116);\nmodule.exports = function (key) {\n return shared[key] || (shared[key] = uid(key));\n};\n\n\n/***/ }),\n/* 161 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar core = __webpack_require__(9);\nvar global = __webpack_require__(22);\nvar SHARED = '__core-js_shared__';\nvar store = global[SHARED] || (global[SHARED] = {});\n\n(module.exports = function (key, value) {\n return store[key] || (store[key] = value !== undefined ? value : {});\n})('versions', []).push({\n version: core.version,\n mode: __webpack_require__(91) ? 'pure' : 'global',\n copyright: '© 2019 Denis Pushkarev (zloirock.ru)'\n});\n\n\n/***/ }),\n/* 162 */\n/***/ (function(module, exports) {\n\n// IE 8- don't enum bug keys\nmodule.exports = (\n 'constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf'\n).split(',');\n\n\n/***/ }),\n/* 163 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar global = __webpack_require__(22);\nvar core = __webpack_require__(9);\nvar LIBRARY = __webpack_require__(91);\nvar wksExt = __webpack_require__(119);\nvar defineProperty = __webpack_require__(50).f;\nmodule.exports = function (name) {\n var $Symbol = core.Symbol || (core.Symbol = LIBRARY ? {} : global.Symbol || {});\n if (name.charAt(0) != '_' && !(name in $Symbol)) defineProperty($Symbol, name, { value: wksExt.f(name) });\n};\n\n\n/***/ }),\n/* 164 */\n/***/ (function(module, exports) {\n\nexports.f = Object.getOwnPropertySymbols;\n\n\n/***/ }),\n/* 165 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar pIE = __webpack_require__(94);\nvar createDesc = __webpack_require__(92);\nvar toIObject = __webpack_require__(56);\nvar toPrimitive = __webpack_require__(157);\nvar has = __webpack_require__(72);\nvar IE8_DOM_DEFINE = __webpack_require__(221);\nvar gOPD = Object.getOwnPropertyDescriptor;\n\nexports.f = __webpack_require__(39) ? gOPD : function getOwnPropertyDescriptor(O, P) {\n O = toIObject(O);\n P = toPrimitive(P, true);\n if (IE8_DOM_DEFINE) try {\n return gOPD(O, P);\n } catch (e) { /* empty */ }\n if (has(O, P)) return createDesc(!pIE.f.call(O, P), O[P]);\n};\n\n\n/***/ }),\n/* 166 */\n/***/ (function(module, exports) {\n\n\n\n/***/ }),\n/* 167 */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = { \"default\": __webpack_require__(490), __esModule: true };\n\n/***/ }),\n/* 168 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;/* @okta/qtip2 v3.0.3-5-g | Plugins: tips modal viewport svg imagemap ie6 | Styles: core basic css3 | qtip2.com | Licensed MIT | Wed May 24 2017 01:22:57 */\n\n!function(a,b,c){!function(a){\"use strict\"; true?!(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(120)], __WEBPACK_AMD_DEFINE_FACTORY__ = (a),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)):jQuery&&!jQuery.fn.qtip&&a(jQuery)}(function(d){\"use strict\";function e(a,b,c,e){this.id=c,this.target=a,this.tooltip=F,this.elements={target:a},this._id=S+\"-\"+c,this.timers={img:{}},this.options=b,this.plugins={},this.cache={event:{},target:d(),disabled:E,attr:e,onTooltip:E,lastClass:\"\"},this.rendered=this.destroyed=this.disabled=this.waiting=this.hiddenDuringWait=this.positioning=this.triggering=E}function f(a){return a===F||\"object\"!==d.type(a)}function g(a){return!(d.isFunction(a)||a&&a.attr||a.length||\"object\"===d.type(a)&&(a.jquery||a.then))}function h(a){var b,c,e,h;return f(a)?E:(f(a.metadata)&&(a.metadata={type:a.metadata}),\"content\"in a&&(b=a.content,f(b)||b.jquery||b.done?(c=g(b)?E:b,b=a.content={text:c}):c=b.text,\"ajax\"in b&&(e=b.ajax,h=e&&e.once!==E,delete b.ajax,b.text=function(a,b){var f=c||d(this).attr(b.options.content.attr)||\"Loading...\",g=d.ajax(d.extend({},e,{context:b})).then(e.success,F,e.error).then(function(a){return a&&h&&b.set(\"content.text\",a),a},function(a,c,d){b.destroyed||0===a.status||b.set(\"content.text\",c+\": \"+d)});return h?f:(b.set(\"content.text\",f),g)}),\"title\"in b&&(d.isPlainObject(b.title)&&(b.button=b.title.button,b.title=b.title.text),g(b.title||E)&&(b.title=E))),\"position\"in a&&f(a.position)&&(a.position={my:a.position,at:a.position}),\"show\"in a&&f(a.show)&&(a.show=a.show.jquery?{target:a.show}:a.show===D?{ready:D}:{event:a.show}),\"hide\"in a&&f(a.hide)&&(a.hide=a.hide.jquery?{target:a.hide}:{event:a.hide}),\"style\"in a&&f(a.style)&&(a.style={classes:a.style}),d.each(R,function(){this.sanitize&&this.sanitize(a)}),a)}function i(a,b){for(var c,d=0,e=a,f=b.split(\".\");e=e[f[d++]];)d<f.length&&(c=e);return[c||a,f.pop()]}function j(a,b){var c,d,e;for(c in this.checks)if(this.checks.hasOwnProperty(c))for(d in this.checks[c])this.checks[c].hasOwnProperty(d)&&(e=new RegExp(d,\"i\").exec(a))&&(b.push(e),(\"builtin\"===c||this.plugins[c])&&this.checks[c][d].apply(this.plugins[c]||this,b))}function k(a){return V.concat(\"\").join(a?\"-\"+a+\" \":\" \")}function l(a,b){return b>0?setTimeout(d.proxy(a,this),b):void a.call(this)}function m(a){this.tooltip.hasClass(aa)||(clearTimeout(this.timers.show),clearTimeout(this.timers.hide),this.timers.show=l.call(this,function(){this.toggle(D,a)},this.options.show.delay))}function n(a){if(!this.tooltip.hasClass(aa)&&!this.destroyed){var b=d(a.relatedTarget),c=b.closest(W)[0]===this.tooltip[0],e=b[0]===this.options.show.target[0];if(clearTimeout(this.timers.show),clearTimeout(this.timers.hide),this!==b[0]&&\"mouse\"===this.options.position.target&&c||this.options.hide.fixed&&/mouse(out|leave|move)/.test(a.type)&&(c||e))try{a.preventDefault(),a.stopImmediatePropagation()}catch(f){}else this.timers.hide=l.call(this,function(){this.toggle(E,a)},this.options.hide.delay,this)}}function o(a){!this.tooltip.hasClass(aa)&&this.options.hide.inactive&&(clearTimeout(this.timers.inactive),this.timers.inactive=l.call(this,function(){this.hide(a)},this.options.hide.inactive))}function p(a){this.rendered&&this.tooltip[0].offsetWidth>0&&this.reposition(a)}function q(a,c,e){d(b.body).delegate(a,(c.split?c:c.join(\".\"+S+\" \"))+\".\"+S,function(){var a=y.api[d.attr(this,U)];a&&!a.disabled&&e.apply(a,arguments)})}function r(a,c,f){var g,i,j,k,l,m=d(b.body),n=a[0]===b?m:a,o=a.metadata?a.metadata(f.metadata):F,p=\"html5\"===f.metadata.type&&o?o[f.metadata.name]:F,q=a.data(f.metadata.name||\"qtipopts\");try{q=\"string\"==typeof q?d.parseJSON(q):q}catch(r){}if(k=d.extend(D,{},y.defaults,f,\"object\"==typeof q?h(q):F,h(p||o)),i=k.position,k.id=c,\"boolean\"==typeof k.content.text){if(j=a.attr(k.content.attr),k.content.attr===E||!j)return E;k.content.text=j}if(i.container.length||(i.container=m),i.target===E&&(i.target=n),k.show.target===E&&(k.show.target=n),k.show.solo===D&&(k.show.solo=i.container.closest(\"body\")),k.hide.target===E&&(k.hide.target=n),k.position.viewport===D&&(k.position.viewport=i.container),i.container=i.container.eq(0),i.at=new A(i.at,D),i.my=new A(i.my),a.data(S))if(k.overwrite)a.qtip(\"destroy\",!0);else if(k.overwrite===E)return E;return a.attr(T,c),k.suppress&&(l=a.attr(\"title\"))&&a.removeAttr(\"title\").attr(ca,l).attr(\"title\",\"\"),g=new e(a,k,c,(!!j)),a.data(S,g),g}function s(a){return a.charAt(0).toUpperCase()+a.slice(1)}function t(a,b){var d,e,f=b.charAt(0).toUpperCase()+b.slice(1),g=(b+\" \"+va.join(f+\" \")+f).split(\" \"),h=0;if(ua[b])return a.css(ua[b]);for(;d=g[h++];)if((e=a.css(d))!==c)return ua[b]=d,e}function u(a,b){return Math.ceil(parseFloat(t(a,b)))}function v(a,b){this._ns=\"tip\",this.options=b,this.offset=b.offset,this.size=[b.width,b.height],this.qtip=a,this.init(a)}function w(a,b){this.options=b,this._ns=\"-modal\",this.qtip=a,this.init(a)}function x(a){this._ns=\"ie6\",this.qtip=a,this.init(a)}var y,z,A,B,C,D=!0,E=!1,F=null,G=\"x\",H=\"y\",I=\"width\",J=\"height\",K=\"top\",L=\"left\",M=\"bottom\",N=\"right\",O=\"center\",P=\"flipinvert\",Q=\"shift\",R={},S=\"qtip\",T=\"data-hasqtip\",U=\"data-qtip-id\",V=[\"ui-widget\",\"ui-tooltip\"],W=\".\"+S,X=\"click dblclick mousedown mouseup mousemove mouseleave mouseenter\".split(\" \"),Y=S+\"-fixed\",Z=S+\"-default\",$=S+\"-focus\",_=S+\"-hover\",aa=S+\"-disabled\",ba=\"_replacedByqTip\",ca=\"oldtitle\",da={ie:function(){var a,c;for(a=4,c=b.createElement(\"div\");(c.innerHTML=\"<!--[if gt IE \"+a+\"]><i></i><![endif]-->\")&&c.getElementsByTagName(\"i\")[0];a+=1);return a>4?a:NaN}(),iOS:parseFloat((\"\"+(/CPU.*OS ([0-9_]{1,5})|(CPU like).*AppleWebKit.*Mobile/i.exec(navigator.userAgent)||[0,\"\"])[1]).replace(\"undefined\",\"3_2\").replace(\"_\",\".\").replace(\"_\",\"\"))||E};z=e.prototype,z._when=function(a){return d.when.apply(d,a)},z.render=function(a){if(this.rendered||this.destroyed)return this;var b=this,c=this.options,e=this.cache,f=this.elements,g=c.content.text,h=c.content.title,i=c.content.button,j=c.position,k=[];return d.attr(this.target[0],\"aria-describedby\",this._id),e.posClass=this._createPosClass((this.position={my:j.my,at:j.at}).my),this.tooltip=f.tooltip=d(\"<div/>\",{id:this._id,\"class\":[S,Z,c.style.classes,e.posClass].join(\" \"),width:c.style.width||\"\",height:c.style.height||\"\",tracking:\"mouse\"===j.target&&j.adjust.mouse,role:\"alert\",\"aria-live\":\"polite\",\"aria-atomic\":E,\"aria-describedby\":this._id+\"-content\",\"aria-hidden\":D}).toggleClass(aa,this.disabled).attr(U,this.id).data(S,this).appendTo(j.container).append(f.content=d(\"<div />\",{\"class\":S+\"-content\",id:this._id+\"-content\",\"aria-atomic\":D})),this.rendered=-1,this.positioning=D,h&&(this._createTitle(),d.isFunction(h)||k.push(this._updateTitle(h,E))),i&&this._createButton(),d.isFunction(g)||k.push(this._updateContent(g,E)),this.rendered=D,this._setWidget(),d.each(R,function(a){var c;\"render\"===this.initialize&&(c=this(b))&&(b.plugins[a]=c)}),this._unassignEvents(),this._assignEvents(),this._when(k).then(function(){b._trigger(\"render\"),b.positioning=E,b.hiddenDuringWait||!c.show.ready&&!a||b.toggle(D,e.event,E),b.hiddenDuringWait=E}),y.api[this.id]=this,this},z.destroy=function(a){function b(){if(!this.destroyed){this.destroyed=D;var a,b=this.target,c=b.attr(ca);this.rendered&&this.tooltip.stop(1,0).find(\"*\").remove().end().remove(),d.each(this.plugins,function(){this.destroy&&this.destroy()});for(a in this.timers)this.timers.hasOwnProperty(a)&&clearTimeout(this.timers[a]);b.removeData(S).removeAttr(U).removeAttr(T).removeAttr(\"aria-describedby\"),this.options.suppress&&c&&b.attr(\"title\",c).removeAttr(ca),this._unassignEvents(),this.options=this.elements=this.cache=this.timers=this.plugins=this.mouse=F,delete y.api[this.id]}}return this.destroyed?this.target:(a===D&&\"hide\"!==this.triggering||!this.rendered?b.call(this):(this.tooltip.one(\"tooltiphidden\",d.proxy(b,this)),!this.triggering&&this.hide()),this.target)},B=z.checks={builtin:{\"^id$\":function(a,b,c,e){var f=c===D?y.nextid:c,g=S+\"-\"+f;f!==E&&f.length>0&&!d(\"#\"+g).length?(this._id=g,this.rendered&&(this.tooltip[0].id=this._id,this.elements.content[0].id=this._id+\"-content\",this.elements.title[0].id=this._id+\"-title\")):a[b]=e},\"^prerender\":function(a,b,c){c&&!this.rendered&&this.render(this.options.show.ready)},\"^content.text$\":function(a,b,c){this._updateContent(c)},\"^content.attr$\":function(a,b,c,d){this.options.content.text===this.target.attr(d)&&this._updateContent(this.target.attr(c))},\"^content.title$\":function(a,b,c){return c?(c&&!this.elements.title&&this._createTitle(),void this._updateTitle(c)):this._removeTitle()},\"^content.button$\":function(a,b,c){this._updateButton(c)},\"^content.title.(text|button)$\":function(a,b,c){this.set(\"content.\"+b,c)},\"^position.(my|at)$\":function(a,b,c){\"string\"==typeof c&&(this.position[b]=a[b]=new A(c,\"at\"===b))},\"^position.container$\":function(a,b,c){this.rendered&&this.tooltip.appendTo(c)},\"^show.ready$\":function(a,b,c){c&&(!this.rendered&&this.render(D)||this.toggle(D))},\"^style.classes$\":function(a,b,c,d){this.rendered&&this.tooltip.removeClass(d).addClass(c)},\"^style.(width|height)\":function(a,b,c){this.rendered&&this.tooltip.css(b,c)},\"^style.widget|content.title\":function(){this.rendered&&this._setWidget()},\"^style.def\":function(a,b,c){this.rendered&&this.tooltip.toggleClass(Z,!!c)},\"^events.(render|show|move|hide|focus|blur)$\":function(a,b,c){this.rendered&&this.tooltip[(d.isFunction(c)?\"\":\"un\")+\"bind\"](\"tooltip\"+b,c)},\"^(show|hide|position).(event|target|fixed|inactive|leave|distance|viewport|adjust)\":function(){if(this.rendered){var a=this.options.position;this.tooltip.attr(\"tracking\",\"mouse\"===a.target&&a.adjust.mouse),this._unassignEvents(),this._assignEvents()}}}},z.get=function(a){if(this.destroyed)return this;var b=i(this.options,a.toLowerCase()),c=b[0][b[1]];return c.precedance?c.string():c};var ea=/^position\\.(my|at|adjust|target|container|viewport)|style|content|show\\.ready/i,fa=/^prerender|show\\.ready/i;z.set=function(a,b){if(this.destroyed)return this;var c,e=this.rendered,f=E,g=this.options;return\"string\"==typeof a?(c=a,a={},a[c]=b):a=d.extend({},a),d.each(a,function(b,c){if(e&&fa.test(b))return void delete a[b];var h,j=i(g,b.toLowerCase());h=j[0][j[1]],j[0][j[1]]=c&&c.nodeType?d(c):c,f=ea.test(b)||f,a[b]=[j[0],j[1],c,h]}),h(g),this.positioning=D,d.each(a,d.proxy(j,this)),this.positioning=E,this.rendered&&this.tooltip[0].offsetWidth>0&&f&&this.reposition(\"mouse\"===g.position.target?F:this.cache.event),this},z._update=function(a,b){var c=this,e=this.cache;return this.rendered&&a?(d.isFunction(a)&&(a=a.call(this.elements.target,e.event,this)||\"\"),d.isFunction(a.then)?(e.waiting=D,a.then(function(a){return e.waiting=E,c._update(a,b)},F,function(a){return c._update(a,b)})):a===E||!a&&\"\"!==a?E:(a.jquery&&a.length>0?b.empty().append(a.css({display:\"block\",visibility:\"visible\"})):b.html(a),this._waitForContent(b).then(function(a){c.rendered&&c.tooltip[0].offsetWidth>0&&c.reposition(e.event,!a.length)}))):E},z._waitForContent=function(a){var b=this.cache;return b.waiting=D,(d.fn.imagesLoaded?a.imagesLoaded():(new d.Deferred).resolve([])).done(function(){b.waiting=E}).promise()},z._updateContent=function(a,b){this._update(a,this.elements.content,b)},z._updateTitle=function(a,b){this._update(a,this.elements.title,b)===E&&this._removeTitle(E)},z._createTitle=function(){var a=this.elements,b=this._id+\"-title\";a.titlebar&&this._removeTitle(),a.titlebar=d(\"<div />\",{\"class\":S+\"-titlebar \"+(this.options.style.widget?k(\"header\"):\"\")}).append(a.title=d(\"<div />\",{id:b,\"class\":S+\"-title\",\"aria-atomic\":D})).insertBefore(a.content).delegate(\".qtip-close\",\"mousedown keydown mouseup keyup mouseout\",function(a){d(this).toggleClass(\"ui-state-active ui-state-focus\",\"down\"===a.type.substr(-4))}).delegate(\".qtip-close\",\"mouseover mouseout\",function(a){d(this).toggleClass(\"ui-state-hover\",\"mouseover\"===a.type)}),this.options.content.button&&this._createButton()},z._removeTitle=function(a){var b=this.elements;b.title&&(b.titlebar.remove(),b.titlebar=b.title=b.button=F,a!==E&&this.reposition())},z._createPosClass=function(a){return S+\"-pos-\"+(a||this.options.position.my).abbrev()},z.reposition=function(c,e){if(!this.rendered||this.positioning||this.destroyed)return this;this.positioning=D;var f,g,h,i,j=this.cache,k=this.tooltip,l=this.options.position,m=l.target,n=l.my,o=l.at,p=l.viewport,q=l.container,r=l.adjust,s=r.method.split(\" \"),t=k.outerWidth(E),u=k.outerHeight(E),v=0,w=0,x=k.css(\"position\"),y={left:0,top:0},z=k[0].offsetWidth>0,A=c&&\"scroll\"===c.type,B=d(a),C=q[0].ownerDocument,F=this.mouse;if(d.isArray(m)&&2===m.length)o={x:L,y:K},y={left:m[0],top:m[1]};else if(\"mouse\"===m)o={x:L,y:K},(!r.mouse||this.options.hide.distance)&&j.origin&&j.origin.pageX?c=j.origin:!c||c&&(\"resize\"===c.type||\"scroll\"===c.type)?c=j.event:F&&F.pageX&&(c=F),\"static\"!==x&&(y=q.offset()),C.body.offsetWidth!==(a.innerWidth||C.documentElement.clientWidth)&&(g=d(b.body).offset()),y={left:c.pageX-y.left+(g&&g.left||0),top:c.pageY-y.top+(g&&g.top||0)},r.mouse&&A&&F&&(y.left-=(F.scrollX||0)-B.scrollLeft(),y.top-=(F.scrollY||0)-B.scrollTop());else{if(\"event\"===m?c&&c.target&&\"scroll\"!==c.type&&\"resize\"!==c.type?j.target=d(c.target):c.target||(j.target=this.elements.target):\"event\"!==m&&(j.target=d(m.jquery?m:this.elements.target)),m=j.target,m=d(m).eq(0),0===m.length)return this;m[0]===b||m[0]===a?(v=da.iOS?a.innerWidth:m.width(),w=da.iOS?a.innerHeight:m.height(),m[0]===a&&(y={top:(p||m).scrollTop(),left:(p||m).scrollLeft()})):R.imagemap&&m.is(\"area\")?f=R.imagemap(this,m,o,R.viewport?s:E):R.svg&&m&&m[0].ownerSVGElement?f=R.svg(this,m,o,R.viewport?s:E):(v=m.outerWidth(E),w=m.outerHeight(E),y=m.offset()),f&&(v=f.width,w=f.height,g=f.offset,y=f.position),y=this.reposition.offset(m,y,q),(da.iOS>3.1&&da.iOS<4.1||da.iOS>=4.3&&da.iOS<4.33||!da.iOS&&\"fixed\"===x)&&(y.left-=B.scrollLeft(),y.top-=B.scrollTop()),(!f||f&&f.adjustable!==E)&&(y.left+=o.x===N?v:o.x===O?v/2:0,y.top+=o.y===M?w:o.y===O?w/2:0)}return y.left+=r.x+(n.x===N?-t:n.x===O?-t/2:0),y.top+=r.y+(n.y===M?-u:n.y===O?-u/2:0),R.viewport?(h=y.adjusted=R.viewport(this,y,l,v,w,t,u),g&&h.left&&(y.left+=g.left),g&&h.top&&(y.top+=g.top),h.my&&(this.position.my=h.my)):y.adjusted={left:0,top:0},j.posClass!==(i=this._createPosClass(this.position.my))&&(j.posClass=i,k.removeClass(j.posClass).addClass(i)),this._trigger(\"move\",[y,p.elem||p],c)?(delete y.adjusted,e===E||!z||isNaN(y.left)||isNaN(y.top)||\"mouse\"===m||!d.isFunction(l.effect)?k.css(y):d.isFunction(l.effect)&&(l.effect.call(k,this,d.extend({},y)),k.queue(function(a){d(this).css({opacity:\"\",height:\"\"}),da.ie&&this.style.removeAttribute(\"filter\"),a()})),this.positioning=E,this):this},z.reposition.offset=function(a,c,e){function f(a,b){c.left+=b*a.scrollLeft(),c.top+=b*a.scrollTop()}if(!e[0])return c;var g,h,i,j,k=d(a[0].ownerDocument),l=!!da.ie&&\"CSS1Compat\"!==b.compatMode,m=e[0];do\"static\"!==(h=d.css(m,\"position\"))&&(\"fixed\"===h?(i=m.getBoundingClientRect(),f(k,-1)):(i=d(m).position(),i.left+=parseFloat(d.css(m,\"borderLeftWidth\"))||0,i.top+=parseFloat(d.css(m,\"borderTopWidth\"))||0),c.left-=i.left+(parseFloat(d.css(m,\"marginLeft\"))||0),c.top-=i.top+(parseFloat(d.css(m,\"marginTop\"))||0),g||\"hidden\"===(j=d.css(m,\"overflow\"))||\"visible\"===j||\"BODY\"===d.prop(m,\"tagName\")||(g=d(m)));while(m=m.offsetParent);return g&&(g[0]!==k[0]||l)&&f(g,1),c};var ga=(A=z.reposition.Corner=function(a,b){a=(\"\"+a).replace(/([A-Z])/,\" $1\").replace(/middle/gi,O).toLowerCase(),this.x=(a.match(/left|right/i)||a.match(/center/)||[\"inherit\"])[0].toLowerCase(),this.y=(a.match(/top|bottom|center/i)||[\"inherit\"])[0].toLowerCase(),this.forceY=!!b;var c=a.charAt(0);this.precedance=\"t\"===c||\"b\"===c?H:G}).prototype;ga.invert=function(a,b){this[a]=this[a]===L?N:this[a]===N?L:b||this[a]},ga.string=function(a){var b=this.x,c=this.y,d=b!==c?\"center\"===b||\"center\"!==c&&(this.precedance===H||this.forceY)?[c,b]:[b,c]:[b];return a!==!1?d.join(\" \"):d},ga.abbrev=function(){var a=this.string(!1);return a[0].charAt(0)+(a[1]&&a[1].charAt(0)||\"\")},ga.clone=function(){return new A(this.string(),this.forceY)},z.toggle=function(a,c){var e=this.cache,f=this.options,g=this.tooltip;if(c){if(/over|enter/.test(c.type)&&e.event&&/out|leave/.test(e.event.type)&&f.show.target.add(c.target).length===f.show.target.length&&g.has(c.relatedTarget).length)return this;e.event=d.event.fix(c)}if(this.waiting&&!a&&(this.hiddenDuringWait=D),!this.rendered)return a?this.render(1):this;if(this.destroyed||this.disabled)return this;var h,i,j,k=a?\"show\":\"hide\",l=this.options[k],m=this.options.position,n=this.options.content,o=this.tooltip.css(\"width\"),p=this.tooltip.is(\":visible\"),q=a||1===l.target.length,r=!c||l.target.length<2||e.target[0]===c.target;return(typeof a).search(\"boolean|number\")&&(a=!p),h=!g.is(\":animated\")&&p===a&&r,i=h?F:!!this._trigger(k,[90]),this.destroyed?this:(i!==E&&a&&this.focus(c),!i||h?this:(d.attr(g[0],\"aria-hidden\",!a),a?(this.mouse&&(e.origin=d.event.fix(this.mouse)),d.isFunction(n.text)&&this._updateContent(n.text,E),d.isFunction(n.title)&&this._updateTitle(n.title,E),!C&&\"mouse\"===m.target&&m.adjust.mouse&&(d(b).bind(\"mousemove.\"+S,this._storeMouse),C=D),o||g.css(\"width\",g.outerWidth(E)),this.reposition(c,arguments[2]),o||g.css(\"width\",\"\"),l.solo&&(\"string\"==typeof l.solo?d(l.solo):d(W,l.solo)).not(g).not(l.target).qtip(\"hide\",new d.Event(\"tooltipsolo\"))):(clearTimeout(this.timers.show),delete e.origin,C&&!d(W+'[tracking=\"true\"]:visible',l.solo).not(g).length&&(d(b).unbind(\"mousemove.\"+S),C=E),this.blur(c)),j=d.proxy(function(){a?(da.ie&&g[0].style.removeAttribute(\"filter\"),g.css(\"overflow\",\"\"),\"string\"==typeof l.autofocus&&d(this.options.show.autofocus,g).focus(),this.options.show.target.trigger(\"qtip-\"+this.id+\"-inactive\")):g.css({display:\"\",visibility:\"\",opacity:\"\",left:\"\",top:\"\"}),this._trigger(a?\"visible\":\"hidden\")},this),l.effect===E||q===E?(g[k](),j()):d.isFunction(l.effect)?(g.stop(1,1),l.effect.call(g,this),g.queue(\"fx\",function(a){j(),a()})):g.fadeTo(90,a?1:0,j),a&&l.target.trigger(\"qtip-\"+this.id+\"-inactive\"),this))},z.show=function(a){return this.toggle(D,a)},z.hide=function(a){return this.toggle(E,a)},z.focus=function(a){if(!this.rendered||this.destroyed)return this;var b=d(W),c=this.tooltip,e=parseInt(c[0].style.zIndex,10),f=y.zindex+b.length;return c.hasClass($)||this._trigger(\"focus\",[f],a)&&(e!==f&&(b.each(function(){this.style.zIndex>e&&(this.style.zIndex=this.style.zIndex-1)}),b.filter(\".\"+$).qtip(\"blur\",a)),c.addClass($)[0].style.zIndex=f),this},z.blur=function(a){return!this.rendered||this.destroyed?this:(this.tooltip.removeClass($),this._trigger(\"blur\",[this.tooltip.css(\"zIndex\")],a),this)},z.disable=function(a){return this.destroyed?this:(\"toggle\"===a?a=!(this.rendered?this.tooltip.hasClass(aa):this.disabled):\"boolean\"!=typeof a&&(a=D),this.rendered&&this.tooltip.toggleClass(aa,a).attr(\"aria-disabled\",a),this.disabled=!!a,this)},z.enable=function(){return this.disable(E)},z._createButton=function(){var a=this,b=this.elements,c=b.tooltip,e=this.options.content.button,f=\"string\"==typeof e,g=f?e:\"Close tooltip\";b.button&&b.button.remove(),e.jquery?b.button=e:b.button=d(\"<a />\",{\"class\":\"qtip-close \"+(this.options.style.widget?\"\":S+\"-icon\"),title:g,\"aria-label\":g}).prepend(d(\"<span />\",{\"class\":\"ui-icon ui-icon-close\",html:\"×\"})),b.button.appendTo(b.titlebar||c).attr(\"role\",\"button\").click(function(b){return c.hasClass(aa)||a.hide(b),E})},z._updateButton=function(a){if(!this.rendered)return E;var b=this.elements.button;a?this._createButton():b.remove()},z._setWidget=function(){var a=this.options.style.widget,b=this.elements,c=b.tooltip,d=c.hasClass(aa);c.removeClass(aa),aa=a?\"ui-state-disabled\":\"qtip-disabled\",c.toggleClass(aa,d),c.toggleClass(\"ui-helper-reset \"+k(),a).toggleClass(Z,this.options.style.def&&!a),b.content&&b.content.toggleClass(k(\"content\"),a),b.titlebar&&b.titlebar.toggleClass(k(\"header\"),a),b.button&&b.button.toggleClass(S+\"-icon\",!a)},z._storeMouse=function(a){return(this.mouse=d.event.fix(a)).type=\"mousemove\",this},z._bind=function(a,b,c,e,f){if(a&&c&&b.length){var g=\".\"+this._id+(e?\"-\"+e:\"\");return d(a).bind((b.split?b:b.join(g+\" \"))+g,d.proxy(c,f||this)),this}},z._unbind=function(a,b){return a&&d(a).unbind(\".\"+this._id+(b?\"-\"+b:\"\")),this},z._trigger=function(a,b,c){var e=new d.Event(\"tooltip\"+a);return e.originalEvent=c&&d.extend({},c)||this.cache.event||F,this.triggering=a,this.tooltip.trigger(e,[this].concat(b||[])),this.triggering=E,!e.isDefaultPrevented()},z._bindEvents=function(a,b,c,e,f,g){var h=c.filter(e).add(e.filter(c)),i=[];h.length&&(d.each(b,function(b,c){var e=d.inArray(c,a);e>-1&&i.push(a.splice(e,1)[0])}),i.length&&(this._bind(h,i,function(a){var b=!!this.rendered&&this.tooltip[0].offsetWidth>0;(b?g:f).call(this,a)}),c=c.not(h),e=e.not(h))),this._bind(c,a,f),this._bind(e,b,g)},z._assignInitialEvents=function(a){function b(a){return this.disabled||this.destroyed?E:(this.cache.event=a&&d.event.fix(a),this.cache.target=a&&d(a.target),clearTimeout(this.timers.show),void(this.timers.show=l.call(this,function(){this.render(\"object\"==typeof a||c.show.ready)},c.prerender?0:c.show.delay)))}var c=this.options,e=c.show.target,f=c.hide.target,g=c.show.event?d.trim(\"\"+c.show.event).split(\" \"):[],h=c.hide.event?d.trim(\"\"+c.hide.event).split(\" \"):[];this._bind(this.elements.target,[\"remove\",\"removeqtip\"],function(){this.destroy(!0)},\"destroy\"),/mouse(over|enter)/i.test(c.show.event)&&!/mouse(out|leave)/i.test(c.hide.event)&&h.push(\"mouseleave\"),this._bind(e,\"mousemove\",function(a){this._storeMouse(a),this.cache.onTarget=D}),this._bindEvents(g,h,e,f,b,function(){return this.timers?void clearTimeout(this.timers.show):E}),(c.show.ready||c.prerender)&&b.call(this,a)},z._assignEvents=function(){var c=this,e=this.options,f=e.position,g=this.tooltip,h=e.show.target,i=e.hide.target,j=f.container,k=f.viewport,l=d(b),q=d(a),r=e.show.event?d.trim(\"\"+e.show.event).split(\" \"):[],s=e.hide.event?d.trim(\"\"+e.hide.event).split(\" \"):[];d.each(e.events,function(a,b){c._bind(g,\"toggle\"===a?[\"tooltipshow\",\"tooltiphide\"]:[\"tooltip\"+a],b,null,g)}),/mouse(out|leave)/i.test(e.hide.event)&&\"window\"===e.hide.leave&&this._bind(l,[\"mouseout\",\"blur\"],function(a){/select|option/.test(a.target.nodeName)||a.relatedTarget||this.hide(a)}),e.hide.fixed?i=i.add(g.addClass(Y)):/mouse(over|enter)/i.test(e.show.event)&&this._bind(i,\"mouseleave\",function(){clearTimeout(this.timers.show)}),(\"\"+e.hide.event).indexOf(\"unfocus\")>-1&&this._bind(j.closest(\"html\"),[\"mousedown\",\"touchstart\"],function(a){var b=d(a.target),c=this.rendered&&!this.tooltip.hasClass(aa)&&this.tooltip[0].offsetWidth>0,e=b.parents(W).filter(this.tooltip[0]).length>0;b[0]===this.target[0]||b[0]===this.tooltip[0]||e||this.target.has(b[0]).length||!c||this.hide(a)}),\"number\"==typeof e.hide.inactive&&(this._bind(h,\"qtip-\"+this.id+\"-inactive\",o,\"inactive\"),this._bind(i.add(g),y.inactiveEvents,o)),this._bindEvents(r,s,h,i,m,n),this._bind(h.add(g),\"mousemove\",function(a){if(\"number\"==typeof e.hide.distance){var b=this.cache.origin||{},c=this.options.hide.distance,d=Math.abs;(d(a.pageX-b.pageX)>=c||d(a.pageY-b.pageY)>=c)&&this.hide(a)}this._storeMouse(a)}),\"mouse\"===f.target&&f.adjust.mouse&&(e.hide.event&&this._bind(h,[\"mouseenter\",\"mouseleave\"],function(a){return this.cache?void(this.cache.onTarget=\"mouseenter\"===a.type):E}),this._bind(l,\"mousemove\",function(a){this.rendered&&this.cache.onTarget&&!this.tooltip.hasClass(aa)&&this.tooltip[0].offsetWidth>0&&this.reposition(a)})),(f.adjust.resize||k.length)&&this._bind(d.event.special.resize?k:q,\"resize\",p),f.adjust.scroll&&this._bind(q.add(f.container),\"scroll\",p)},z._unassignEvents=function(){var c=this.options,e=c.show.target,f=c.hide.target,g=d.grep([this.elements.target[0],this.rendered&&this.tooltip[0],c.position.container[0],c.position.viewport[0],c.position.container.closest(\"html\")[0],a,b],function(a){return\"object\"==typeof a});e&&e.toArray&&(g=g.concat(e.toArray())),f&&f.toArray&&(g=g.concat(f.toArray())),this._unbind(g)._unbind(g,\"destroy\")._unbind(g,\"inactive\")},d(function(){q(W,[\"mouseenter\",\"mouseleave\"],function(a){var b=\"mouseenter\"===a.type,c=d(a.currentTarget),e=d(a.relatedTarget||a.target),f=this.options;b?(this.focus(a),c.hasClass(Y)&&!c.hasClass(aa)&&clearTimeout(this.timers.hide)):\"mouse\"===f.position.target&&f.position.adjust.mouse&&f.hide.event&&f.show.target&&!e.closest(f.show.target[0]).length&&this.hide(a),c.toggleClass(_,b)}),q(\"[\"+U+\"]\",X,o)}),y=d.fn.qtip=function(a,b,e){var f=(\"\"+a).toLowerCase(),g=F,i=d.makeArray(arguments).slice(1),j=i[i.length-1],k=this[0]?d.data(this[0],S):F;return!arguments.length&&k||\"api\"===f?k:\"string\"==typeof a?(this.each(function(){var a=d.data(this,S);if(!a)return D;if(j&&j.timeStamp&&(a.cache.event=j),!b||\"option\"!==f&&\"options\"!==f)a[f]&&a[f].apply(a,i);else{if(e===c&&!d.isPlainObject(b))return g=a.get(b),E;a.set(b,e)}}),g!==F?g:this):\"object\"!=typeof a&&arguments.length?void 0:(k=h(d.extend(D,{},a)),this.each(function(a){var b,c;return c=d.isArray(k.id)?k.id[a]:k.id,c=!c||c===E||c.length<1||y.api[c]?y.nextid++:c,b=r(d(this),c,k),b===E?D:(y.api[c]=b,d.each(R,function(){\"initialize\"===this.initialize&&this(b)}),void b._assignInitialEvents(j))}))},d.qtip=e,y.api={},d.each({attr:function(a,b){if(this.length){var c=this[0],e=\"title\",f=d.data(c,\"qtip\");if(a===e&&f&&f.options&&\"object\"==typeof f&&\"object\"==typeof f.options&&f.options.suppress)return arguments.length<2?d.attr(c,ca):(f&&f.options.content.attr===e&&f.cache.attr&&f.set(\"content.text\",b),this.attr(ca,b))}return d.fn[\"attr\"+ba].apply(this,arguments)},clone:function(a){var b=d.fn[\"clone\"+ba].apply(this,arguments);return a||b.filter(\"[\"+ca+\"]\").attr(\"title\",function(){return d.attr(this,ca)}).removeAttr(ca),b}},function(a,b){if(!b||d.fn[a+ba])return D;var c=d.fn[a+ba]=d.fn[a];d.fn[a]=function(){return b.apply(this,arguments)||c.apply(this,arguments)}}),d.ui||(d[\"cleanData\"+ba]=d.cleanData,d.cleanData=function(a){for(var b,c=0;(b=d(a[c])).length;c++)if(b.attr(T))try{b.triggerHandler(\"removeqtip\")}catch(e){}d[\"cleanData\"+ba].apply(this,arguments)}),y.version=\"3.0.3-5-g\",y.nextid=0,y.inactiveEvents=X,y.zindex=15e3,y.defaults={prerender:E,id:E,overwrite:D,suppress:D,content:{text:D,attr:\"title\",title:E,button:E},position:{my:\"top left\",at:\"bottom right\",target:E,container:E,viewport:E,adjust:{x:0,y:0,mouse:D,scroll:D,resize:D,method:\"flipinvert flipinvert\"},effect:function(a,b){d(this).animate(b,{duration:200,queue:E})}},show:{target:E,event:\"mouseenter\",effect:D,delay:90,solo:E,ready:E,autofocus:E},hide:{target:E,event:\"mouseleave\",effect:D,delay:0,fixed:E,inactive:E,leave:\"window\",distance:E},style:{classes:\"\",widget:E,width:E,height:E,def:D},events:{render:F,move:F,show:F,hide:F,toggle:F,visible:F,hidden:F,focus:F,blur:F}};var ha,ia,ja,ka,la,ma=\"margin\",na=\"border\",oa=\"color\",pa=\"background-color\",qa=\"transparent\",ra=\" !important\",sa=!!b.createElement(\"canvas\").getContext,ta=/rgba?\\(0, 0, 0(, 0)?\\)|transparent|#123456/i,ua={},va=[\"Webkit\",\"O\",\"Moz\",\"ms\"];sa?(ka=a.devicePixelRatio||1,la=function(){var a=b.createElement(\"canvas\").getContext(\"2d\");return a.backingStorePixelRatio||a.webkitBackingStorePixelRatio||a.mozBackingStorePixelRatio||a.msBackingStorePixelRatio||a.oBackingStorePixelRatio||1}(),ja=ka/la):ia=function(a,b,c){return\"<qtipvml:\"+a+' xmlns=\"urn:schemas-microsoft.com:vml\" class=\"qtip-vml\" '+(b||\"\")+' style=\"behavior: url(#default#VML); '+(c||\"\")+'\" />'},d.extend(v.prototype,{init:function(a){var b,c;c=this.element=a.elements.tip=d(\"<div />\",{\"class\":S+\"-tip\"}).prependTo(a.tooltip),sa?(b=d(\"<canvas />\").appendTo(this.element)[0].getContext(\"2d\"),b.lineJoin=\"miter\",b.miterLimit=1e5,b.save()):(b=ia(\"shape\",'coordorigin=\"0,0\"',\"position:absolute;\"),this.element.html(b+b),a._bind(d(\"*\",c).add(c),[\"click\",\"mousedown\"],function(a){a.stopPropagation()},this._ns)),a._bind(a.tooltip,\"tooltipmove\",this.reposition,this._ns,this),this.create()},_swapDimensions:function(){this.size[0]=this.options.height,this.size[1]=this.options.width},_resetDimensions:function(){this.size[0]=this.options.width,this.size[1]=this.options.height},_useTitle:function(a){var b=this.qtip.elements.titlebar;return b&&(a.y===K||a.y===O&&this.element.position().top+this.size[1]/2+this.options.offset<b.outerHeight(D))},_parseCorner:function(a){var b=this.qtip.options.position.my;return a===E||b===E?a=E:a===D?a=new A(b.string()):a.string||(a=new A(a),a.fixed=D),a},_parseWidth:function(a,b,c){var d=this.qtip.elements,e=na+s(b)+\"Width\";return(c?u(c,e):u(d.content,e)||u(this._useTitle(a)&&d.titlebar||d.content,e)||u(d.tooltip,e))||0},_parseRadius:function(a){var b=this.qtip.elements,c=na+s(a.y)+s(a.x)+\"Radius\";return da.ie<9?0:u(this._useTitle(a)&&b.titlebar||b.content,c)||u(b.tooltip,c)||0},_invalidColour:function(a,b,c){var d=a.css(b);return!d||c&&d===a.css(c)||ta.test(d)?E:d},_parseColours:function(a){var b=this.qtip.elements,c=this.element.css(\"cssText\",\"\"),e=na+s(a[a.precedance])+s(oa),f=this._useTitle(a)&&b.titlebar||b.content,g=this._invalidColour,h=[];return h[0]=g(c,pa)||g(f,pa)||g(b.content,pa)||g(b.tooltip,pa)||c.css(pa),h[1]=g(c,e,oa)||g(f,e,oa)||g(b.content,e,oa)||g(b.tooltip,e,oa)||b.tooltip.css(e),d(\"*\",c).add(c).css(\"cssText\",pa+\":\"+qa+ra+\";\"+na+\":0\"+ra+\";\"),h},_calculateSize:function(a){var b,c,d,e=a.precedance===H,f=this.options.width,g=this.options.height,h=\"c\"===a.abbrev(),i=(e?f:g)*(h?.5:1),j=Math.pow,k=Math.round,l=Math.sqrt(j(i,2)+j(g,2)),m=[this.border/i*l,this.border/g*l];return m[2]=Math.sqrt(j(m[0],2)-j(this.border,2)),m[3]=Math.sqrt(j(m[1],2)-j(this.border,2)),b=l+m[2]+m[3]+(h?0:m[0]),c=b/l,d=[k(c*f),k(c*g)],e?d:d.reverse()},_calculateTip:function(a,b,c){c=c||1,b=b||this.size;var d=b[0]*c,e=b[1]*c,f=Math.ceil(d/2),g=Math.ceil(e/2),h={br:[0,0,d,e,d,0],bl:[0,0,d,0,0,e],tr:[0,e,d,0,d,e],tl:[0,0,0,e,d,e],tc:[0,e,f,0,d,e],bc:[0,0,d,0,f,e],rc:[0,0,d,g,0,e],lc:[d,0,d,e,0,g]};return h.lt=h.br,h.rt=h.bl,h.lb=h.tr,h.rb=h.tl,h[a.abbrev()]},_drawCoords:function(a,b){a.beginPath(),a.moveTo(b[0],b[1]),a.lineTo(b[2],b[3]),a.lineTo(b[4],b[5]),a.closePath()},create:function(){var a=this.corner=(sa||da.ie)&&this._parseCorner(this.options.corner);return this.enabled=!!this.corner&&\"c\"!==this.corner.abbrev(),this.enabled&&(this.qtip.cache.corner=a.clone(),this.update()),this.element.toggle(this.enabled),this.corner},update:function(b,c){if(!this.enabled)return this;var e,f,g,h,i,j,k,l,m=this.qtip.elements,n=this.element,o=n.children(),p=this.options,q=this.size,r=p.mimic,s=Math.round;b||(b=this.qtip.cache.corner||this.corner),r===E?r=b:(r=new A(r),r.precedance=b.precedance,\"inherit\"===r.x?r.x=b.x:\"inherit\"===r.y?r.y=b.y:r.x===r.y&&(r[b.precedance]=b[b.precedance])),f=r.precedance,b.precedance===G?this._swapDimensions():this._resetDimensions(),e=this.color=this._parseColours(b),e[1]!==qa?(l=this.border=this._parseWidth(b,b[b.precedance]),p.border&&l<1&&!ta.test(e[1])&&(e[0]=e[1]),this.border=l=p.border!==D?p.border:l):this.border=l=0,k=this.size=this._calculateSize(b),n.css({width:k[0],height:k[1],lineHeight:k[1]+\"px\"}),j=b.precedance===H?[s(r.x===L?l:r.x===N?k[0]-q[0]-l:(k[0]-q[0])/2),s(r.y===K?k[1]-q[1]:0)]:[s(r.x===L?k[0]-q[0]:0),s(r.y===K?l:r.y===M?k[1]-q[1]-l:(k[1]-q[1])/2)],sa?(g=o[0].getContext(\"2d\"),g.restore(),g.save(),g.clearRect(0,0,6e3,6e3),h=this._calculateTip(r,q,ja),i=this._calculateTip(r,this.size,ja),o.attr(I,k[0]*ja).attr(J,k[1]*ja),o.css(I,k[0]).css(J,k[1]),this._drawCoords(g,i),g.fillStyle=e[1],g.fill(),g.translate(j[0]*ja,j[1]*ja),this._drawCoords(g,h),g.fillStyle=e[0],g.fill()):(h=this._calculateTip(r),h=\"m\"+h[0]+\",\"+h[1]+\" l\"+h[2]+\",\"+h[3]+\" \"+h[4]+\",\"+h[5]+\" xe\",j[2]=l&&/^(r|b)/i.test(b.string())?8===da.ie?2:1:0,o.css({coordsize:k[0]+l+\" \"+k[1]+l,antialias:\"\"+(r.string().indexOf(O)>-1),left:j[0]-j[2]*Number(f===G),top:j[1]-j[2]*Number(f===H),width:k[0]+l,height:k[1]+l}).each(function(a){var b=d(this);b[b.prop?\"prop\":\"attr\"]({coordsize:k[0]+l+\" \"+k[1]+l,path:h,fillcolor:e[0],filled:!!a,stroked:!a}).toggle(!(!l&&!a)),!a&&b.html(ia(\"stroke\",'weight=\"'+2*l+'px\" color=\"'+e[1]+'\" miterlimit=\"1000\" joinstyle=\"miter\"'))})),a.opera&&setTimeout(function(){m.tip.css({display:\"inline-block\",visibility:\"visible\"})},1),c!==E&&this.calculate(b,k)},calculate:function(a,b){if(!this.enabled)return E;\nvar c,e,f=this,g=this.qtip.elements,h=this.element,i=this.options.offset,j={};return a=a||this.corner,c=a.precedance,b=b||this._calculateSize(a),e=[a.x,a.y],c===G&&e.reverse(),d.each(e,function(d,e){var h,k,l;e===O?(h=c===H?L:K,j[h]=\"50%\",j[ma+\"-\"+h]=-Math.round(b[c===H?0:1]/2)+i):(h=f._parseWidth(a,e,g.tooltip),k=f._parseWidth(a,e,g.content),l=f._parseRadius(a),j[e]=Math.max(-f.border,d?k:i+(l>h?l:-h)))}),j[a[c]]-=b[c===G?0:1],h.css({margin:\"\",top:\"\",bottom:\"\",left:\"\",right:\"\"}).css(j),j},reposition:function(a,b,d){function e(a,b,c,d,e){a===Q&&j.precedance===b&&k[d]&&j[c]!==O?j.precedance=j.precedance===G?H:G:a!==Q&&k[d]&&(j[b]=j[b]===O?k[d]>0?d:e:j[b]===d?e:d)}function f(a,b,e){j[a]===O?p[ma+\"-\"+b]=o[a]=g[ma+\"-\"+b]-k[b]:(h=g[e]!==c?[k[b],-g[b]]:[-k[b],g[b]],(o[a]=Math.max(h[0],h[1]))>h[0]&&(d[b]-=k[b],o[b]=E),p[g[e]!==c?e:b]=o[a])}if(this.enabled){var g,h,i=b.cache,j=this.corner.clone(),k=d.adjusted,l=b.options.position.adjust.method.split(\" \"),m=l[0],n=l[1]||l[0],o={left:E,top:E,x:0,y:0},p={};this.corner.fixed!==D&&(e(m,G,H,L,N),e(n,H,G,K,M),j.string()===i.corner.string()&&i.cornerTop===k.top&&i.cornerLeft===k.left||this.update(j,E)),g=this.calculate(j),g.right!==c&&(g.left=-g.right),g.bottom!==c&&(g.top=-g.bottom),g.user=this.offset,o.left=m===Q&&!!k.left,o.left&&f(G,L,N),o.top=n===Q&&!!k.top,o.top&&f(H,K,M),this.element.css(p).toggle(!(o.x&&o.y||j.x===O&&o.y||j.y===O&&o.x)),d.left-=g.left.charAt?g.user:m!==Q||o.top||!o.left&&!o.top?g.left+this.border:0,d.top-=g.top.charAt?g.user:n!==Q||o.left||!o.left&&!o.top?g.top+this.border:0,i.cornerLeft=k.left,i.cornerTop=k.top,i.corner=j.clone()}},destroy:function(){this.qtip._unbind(this.qtip.tooltip,this._ns),this.qtip.elements.tip&&this.qtip.elements.tip.find(\"*\").remove().end().remove()}}),ha=R.tip=function(a){return new v(a,a.options.style.tip)},ha.initialize=\"render\",ha.sanitize=function(a){if(a.style&&\"tip\"in a.style){var b=a.style.tip;\"object\"!=typeof b&&(b=a.style.tip={corner:b}),/string|boolean/i.test(typeof b.corner)||(b.corner=D)}},B.tip={\"^position.my|style.tip.(corner|mimic|border)$\":function(){this.create(),this.qtip.reposition()},\"^style.tip.(height|width)$\":function(a){this.size=[a.width,a.height],this.update(),this.qtip.reposition()},\"^content.title|style.(classes|widget)$\":function(){this.update()}},d.extend(D,y.defaults,{style:{tip:{corner:D,mimic:E,width:6,height:6,border:D,offset:0}}});var wa,xa,ya=\"qtip-modal\",za=\".\"+ya;xa=function(){function a(a){if(d.expr[\":\"].focusable)return d.expr[\":\"].focusable;var b,c,e,f=!isNaN(d.attr(a,\"tabindex\")),g=a.nodeName&&a.nodeName.toLowerCase();return\"area\"===g?(b=a.parentNode,c=b.name,!(!a.href||!c||\"map\"!==b.nodeName.toLowerCase())&&(e=d(\"img[usemap=#\"+c+\"]\")[0],!!e&&e.is(\":visible\"))):/input|select|textarea|button|object/.test(g)?!a.disabled:\"a\"===g?a.href||f:f}function c(a){j.length<1&&a.length?a.not(\"body\").blur():j.first().focus()}function e(a){if(h.is(\":visible\")){var b,e=d(a.target),g=f.tooltip,i=e.closest(W);b=i.length<1?E:parseInt(i[0].style.zIndex,10)>parseInt(g[0].style.zIndex,10),b||e.closest(W)[0]===g[0]||c(e)}}var f,g,h,i=this,j={};d.extend(i,{init:function(){return h=i.elem=d(\"<div />\",{id:\"qtip-overlay\",html:\"<div></div>\",mousedown:function(){return E}}).hide(),d(b.body).bind(\"focusin\"+za,e),d(b).bind(\"keydown\"+za,function(a){f&&f.options.show.modal.escape&&27===a.keyCode&&f.hide(a)}),h.bind(\"click\"+za,function(a){f&&f.options.show.modal.blur&&f.hide(a)}),i},update:function(b){f=b,j=b.options.show.modal.stealfocus!==E?b.tooltip.find(\"*\").filter(function(){return a(this)}):[]},toggle:function(a,e,j){var k=a.tooltip,l=a.options.show.modal,m=l.effect,n=e?\"show\":\"hide\",o=h.is(\":visible\"),p=d(za).filter(\":visible:not(:animated)\").not(k);return i.update(a),e&&l.stealfocus!==E&&c(d(\":focus\")),h.toggleClass(\"blurs\",l.blur),e&&h.appendTo(b.body),h.is(\":animated\")&&o===e&&g!==E||!e&&p.length?i:(h.stop(D,E),d.isFunction(m)?m.call(h,e):m===E?h[n]():h.fadeTo(parseInt(j,10)||90,e?1:0,function(){e||h.hide()}),e||h.queue(function(a){h.css({left:\"\",top:\"\"}),d(za).length||h.detach(),a()}),g=e,f.destroyed&&(f=F),i)}}),i.init()},xa=new xa,d.extend(w.prototype,{init:function(a){var b=a.tooltip;return this.options.on?(a.elements.overlay=xa.elem,b.addClass(ya).css(\"z-index\",y.modal_zindex+d(za).length),a._bind(b,[\"tooltipshow\",\"tooltiphide\"],function(a,c,e){var f=a.originalEvent;if(a.target===b[0])if(f&&\"tooltiphide\"===a.type&&/mouse(leave|enter)/.test(f.type)&&d(f.relatedTarget).closest(xa.elem[0]).length)try{a.preventDefault()}catch(g){}else(!f||f&&\"tooltipsolo\"!==f.type)&&this.toggle(a,\"tooltipshow\"===a.type,e)},this._ns,this),a._bind(b,\"tooltipfocus\",function(a,c){if(!a.isDefaultPrevented()&&a.target===b[0]){var e=d(za),f=y.modal_zindex+e.length,g=parseInt(b[0].style.zIndex,10);xa.elem[0].style.zIndex=f-1,e.each(function(){this.style.zIndex>g&&(this.style.zIndex-=1)}),e.filter(\".\"+$).qtip(\"blur\",a.originalEvent),b.addClass($)[0].style.zIndex=f,xa.update(c);try{a.preventDefault()}catch(h){}}},this._ns,this),void a._bind(b,\"tooltiphide\",function(a){a.target===b[0]&&d(za).filter(\":visible\").not(b).last().qtip(\"focus\",a)},this._ns,this)):this},toggle:function(a,b,c){return a&&a.isDefaultPrevented()?this:void xa.toggle(this.qtip,!!b,c)},destroy:function(){this.qtip.tooltip.removeClass(ya),this.qtip._unbind(this.qtip.tooltip,this._ns),xa.toggle(this.qtip,E),delete this.qtip.elements.overlay}}),wa=R.modal=function(a){return new w(a,a.options.show.modal)},wa.sanitize=function(a){a.show&&(\"object\"!=typeof a.show.modal?a.show.modal={on:!!a.show.modal}:\"undefined\"==typeof a.show.modal.on&&(a.show.modal.on=D))},y.modal_zindex=y.zindex-200,wa.initialize=\"render\",B.modal={\"^show.modal.(on|blur)$\":function(){this.destroy(),this.init(),this.qtip.elems.overlay.toggle(this.qtip.tooltip[0].offsetWidth>0)}},d.extend(D,y.defaults,{show:{modal:{on:E,effect:D,blur:D,stealfocus:D,escape:D}}}),R.viewport=function(c,d,e,f,g,h,i){function j(a,b,c,e,f,g,h,i,j){var k=d[f],s=u[a],t=v[a],w=c===Q,x=s===f?j:s===g?-j:-j/2,y=t===f?i:t===g?-i:-i/2,z=q[f]+r[f]-(n?0:m[f]),A=z-k,B=k+j-(h===I?o:p)-z,C=x-(u.precedance===a||s===u[b]?y:0)-(t===O?i/2:0);return w?(C=(s===f?1:-1)*x,d[f]+=A>0?A:B>0?-B:0,d[f]=Math.max(-m[f]+r[f],k-C,Math.min(Math.max(-m[f]+r[f]+(h===I?o:p),k+C),d[f],\"center\"===s?k-x:1e9))):(e*=c===P?2:0,A>0&&(s!==f||B>0)?(d[f]-=C+e,l.invert(a,f)):B>0&&(s!==g||A>0)&&(d[f]-=(s===O?-C:C)+e,l.invert(a,g)),d[f]<q[f]&&-d[f]>B&&(d[f]=k,l=u.clone())),d[f]-k}var k,l,m,n,o,p,q,r,s=e.target,t=c.elements.tooltip,u=e.my,v=e.at,w=e.adjust,x=w.method.split(\" \"),y=x[0],z=x[1]||x[0],A=e.viewport,B=e.container,C={left:0,top:0};return A.jquery&&s[0]!==a&&s[0]!==b.body&&\"none\"!==w.method?(m=B.offset()||C,n=\"static\"===B.css(\"position\"),k=\"fixed\"===t.css(\"position\"),o=A[0]===a?A.width():A.outerWidth(E),p=A[0]===a?A.height():A.outerHeight(E),q={left:k?0:A.scrollLeft(),top:k?0:A.scrollTop()},r=A.offset()||C,\"shift\"===y&&\"shift\"===z||(l=u.clone()),C={left:\"none\"!==y?j(G,H,y,w.x,L,N,I,f,h):0,top:\"none\"!==z?j(H,G,z,w.y,K,M,J,g,i):0,my:l}):C},R.polys={polygon:function(a,b){var c,d,e,f={width:0,height:0,position:{top:1e10,right:0,bottom:0,left:1e10},adjustable:E},g=0,h=[],i=1,j=1,k=0,l=0;for(g=a.length;g--;)c=[parseInt(a[--g],10),parseInt(a[g+1],10)],c[0]>f.position.right&&(f.position.right=c[0]),c[0]<f.position.left&&(f.position.left=c[0]),c[1]>f.position.bottom&&(f.position.bottom=c[1]),c[1]<f.position.top&&(f.position.top=c[1]),h.push(c);if(d=f.width=Math.abs(f.position.right-f.position.left),e=f.height=Math.abs(f.position.bottom-f.position.top),\"c\"===b.abbrev())f.position={left:f.position.left+f.width/2,top:f.position.top+f.height/2};else{for(;d>0&&e>0&&i>0&&j>0;)for(d=Math.floor(d/2),e=Math.floor(e/2),b.x===L?i=d:b.x===N?i=f.width-d:i+=Math.floor(d/2),b.y===K?j=e:b.y===M?j=f.height-e:j+=Math.floor(e/2),g=h.length;g--&&!(h.length<2);)k=h[g][0]-f.position.left,l=h[g][1]-f.position.top,(b.x===L&&k>=i||b.x===N&&k<=i||b.x===O&&(k<i||k>f.width-i)||b.y===K&&l>=j||b.y===M&&l<=j||b.y===O&&(l<j||l>f.height-j))&&h.splice(g,1);f.position={left:h[0][0],top:h[0][1]}}return f},rect:function(a,b,c,d){return{width:Math.abs(c-a),height:Math.abs(d-b),position:{left:Math.min(a,c),top:Math.min(b,d)}}},_angles:{tc:1.5,tr:7/4,tl:5/4,bc:.5,br:.25,bl:.75,rc:2,lc:1,c:0},ellipse:function(a,b,c,d,e){var f=R.polys._angles[e.abbrev()],g=0===f?0:c*Math.cos(f*Math.PI),h=d*Math.sin(f*Math.PI);return{width:2*c-Math.abs(g),height:2*d-Math.abs(h),position:{left:a+g,top:b+h},adjustable:E}},circle:function(a,b,c,d){return R.polys.ellipse(a,b,c,c,d)}},R.svg=function(a,c,e){for(var f,g,h,i,j,k,l,m,n,o=c[0],p=d(o.ownerSVGElement),q=o.ownerDocument,r=(parseInt(c.css(\"stroke-width\"),10)||0)/2;!o.getBBox;)o=o.parentNode;if(!o.getBBox||!o.parentNode)return E;switch(o.nodeName){case\"ellipse\":case\"circle\":m=R.polys.ellipse(o.cx.baseVal.value,o.cy.baseVal.value,(o.rx||o.r).baseVal.value+r,(o.ry||o.r).baseVal.value+r,e);break;case\"line\":case\"polygon\":case\"polyline\":for(l=o.points||[{x:o.x1.baseVal.value,y:o.y1.baseVal.value},{x:o.x2.baseVal.value,y:o.y2.baseVal.value}],m=[],k=-1,i=l.numberOfItems||l.length;++k<i;)j=l.getItem?l.getItem(k):l[k],m.push.apply(m,[j.x,j.y]);m=R.polys.polygon(m,e);break;default:m=o.getBBox(),m={width:m.width,height:m.height,position:{left:m.x,top:m.y}}}return n=m.position,p=p[0],p.createSVGPoint&&(g=o.getScreenCTM(),l=p.createSVGPoint(),l.x=n.left,l.y=n.top,h=l.matrixTransform(g),n.left=h.x,n.top=h.y),q!==b&&\"mouse\"!==a.position.target&&(f=d((q.defaultView||q.parentWindow).frameElement).offset(),f&&(n.left+=f.left,n.top+=f.top)),q=d(q),n.left+=q.scrollLeft(),n.top+=q.scrollTop(),m},R.imagemap=function(a,b,c){b.jquery||(b=d(b));var e,f,g,h,i,j=(b.attr(\"shape\")||\"rect\").toLowerCase().replace(\"poly\",\"polygon\"),k=d('img[usemap=\"#'+b.parent(\"map\").attr(\"name\")+'\"]'),l=d.trim(b.attr(\"coords\")),m=l.replace(/,$/,\"\").split(\",\");if(!k.length)return E;if(\"polygon\"===j)h=R.polys.polygon(m,c);else{if(!R.polys[j])return E;for(g=-1,i=m.length,f=[];++g<i;)f.push(parseInt(m[g],10));h=R.polys[j].apply(this,f.concat(c))}return e=k.offset(),e.left+=Math.ceil((k.outerWidth(E)-k.width())/2),e.top+=Math.ceil((k.outerHeight(E)-k.height())/2),h.position.left+=e.left,h.position.top+=e.top,h};var Aa,Ba='<iframe class=\"qtip-bgiframe\" frameborder=\"0\" tabindex=\"-1\" src=\"javascript:\\'\\';\" style=\"display:block; position:absolute; z-index:-1; filter:alpha(opacity=0); -ms-filter:\"progid:DXImageTransform.Microsoft.Alpha(Opacity=0)\";\"></iframe>';d.extend(x.prototype,{_scroll:function(){var b=this.qtip.elements.overlay;b&&(b[0].style.top=d(a).scrollTop()+\"px\")},init:function(c){var e=c.tooltip;d(\"select, object\").length<1&&(this.bgiframe=c.elements.bgiframe=d(Ba).appendTo(e),c._bind(e,\"tooltipmove\",this.adjustBGIFrame,this._ns,this)),this.redrawContainer=d(\"<div/>\",{id:S+\"-rcontainer\"}).appendTo(b.body),c.elements.overlay&&c.elements.overlay.addClass(\"qtipmodal-ie6fix\")&&(c._bind(a,[\"scroll\",\"resize\"],this._scroll,this._ns,this),c._bind(e,[\"tooltipshow\"],this._scroll,this._ns,this)),this.redraw()},adjustBGIFrame:function(){var a,b,c=this.qtip.tooltip,d={height:c.outerHeight(E),width:c.outerWidth(E)},e=this.qtip.plugins.tip,f=this.qtip.elements.tip;b=parseInt(c.css(\"borderLeftWidth\"),10)||0,b={left:-b,top:-b},e&&f&&(a=\"x\"===e.corner.precedance?[I,L]:[J,K],b[a[1]]-=f[a[0]]()),this.bgiframe.css(b).css(d)},redraw:function(){if(this.qtip.rendered<1||this.drawing)return this;var a,b,c,d,e=this.qtip.tooltip,f=this.qtip.options.style,g=this.qtip.options.position.container;return this.qtip.drawing=1,f.height&&e.css(J,f.height),f.width?e.css(I,f.width):(e.css(I,\"\").appendTo(this.redrawContainer),b=e.width(),b%2<1&&(b+=1),c=e.css(\"maxWidth\")||\"\",d=e.css(\"minWidth\")||\"\",a=(c+d).indexOf(\"%\")>-1?g.width()/100:0,c=(c.indexOf(\"%\")>-1?a:1*parseInt(c,10))||b,d=(d.indexOf(\"%\")>-1?a:1*parseInt(d,10))||0,b=c+d?Math.min(Math.max(b,d),c):b,e.css(I,Math.round(b)).appendTo(g)),this.drawing=0,this},destroy:function(){this.bgiframe&&this.bgiframe.remove(),this.qtip._unbind([a,this.qtip.tooltip],this._ns)}}),Aa=R.ie6=function(a){return 6===da.ie?new x(a):E},Aa.initialize=\"render\",B.ie6={\"^content|style$\":function(){this.redraw()}}})}(window,document);\n//# sourceMappingURL=jquery.qtip.min.map\n\n/***/ }),\n/* 169 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar classof = __webpack_require__(170);\nvar ITERATOR = __webpack_require__(23)('iterator');\nvar Iterators = __webpack_require__(80);\nmodule.exports = __webpack_require__(9).getIteratorMethod = function (it) {\n if (it != undefined) return it[ITERATOR]\n || it['@@iterator']\n || Iterators[classof(it)];\n};\n\n\n/***/ }),\n/* 170 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// getting tag from 19.1.3.6 Object.prototype.toString()\nvar cof = __webpack_require__(93);\nvar TAG = __webpack_require__(23)('toStringTag');\n// ES3 wrong here\nvar ARG = cof(function () { return arguments; }()) == 'Arguments';\n\n// fallback for IE11 Script Access Denied error\nvar tryGet = function (it, key) {\n try {\n return it[key];\n } catch (e) { /* empty */ }\n};\n\nmodule.exports = function (it) {\n var O, T, B;\n return it === undefined ? 'Undefined' : it === null ? 'Null'\n // @@toStringTag case\n : typeof (T = tryGet(O = Object(it), TAG)) == 'string' ? T\n // builtinTag case\n : ARG ? cof(O)\n // ES3 arguments fallback\n : (B = cof(O)) == 'Object' && typeof O.callee == 'function' ? 'Arguments' : B;\n};\n\n\n/***/ }),\n/* 171 */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = { \"default\": __webpack_require__(513), __esModule: true };\n\n/***/ }),\n/* 172 */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = { \"default\": __webpack_require__(515), __esModule: true };\n\n/***/ }),\n/* 173 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n// 25.4.1.5 NewPromiseCapability(C)\nvar aFunction = __webpack_require__(115);\n\nfunction PromiseCapability(C) {\n var resolve, reject;\n this.promise = new C(function ($$resolve, $$reject) {\n if (resolve !== undefined || reject !== undefined) throw TypeError('Bad Promise constructor');\n resolve = $$resolve;\n reject = $$reject;\n });\n this.resolve = aFunction(resolve);\n this.reject = aFunction(reject);\n}\n\nmodule.exports.f = function (C) {\n return new PromiseCapability(C);\n};\n\n\n/***/ }),\n/* 174 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\nvar __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;\n\nvar _stringify = __webpack_require__(77);\n\nvar _stringify2 = _interopRequireDefault(_stringify);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/*!\n * Copyright (c) 2015-2016, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n\n!(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(17), __webpack_require__(0)], __WEBPACK_AMD_DEFINE_RESULT__ = (function (Q, Okta) {\n\n var $ = Okta.$;\n return {\n getUserAgent: function getUserAgent() {\n return navigator.userAgent;\n },\n isAndroid: function isAndroid() {\n return (/Android/i.test(this.getUserAgent())\n );\n },\n isMessageFromCorrectSource: function isMessageFromCorrectSource($iframe, event) {\n return event.source === $iframe[0].contentWindow;\n },\n generateDeviceFingerprint: function generateDeviceFingerprint(oktaDomainUrl, element) {\n var userAgent = this.getUserAgent();\n if (!userAgent) {\n return Q.reject('user agent is not defined');\n } else if (isWindowsPhone(userAgent)) {\n return Q.reject('device fingerprint is not supported on Windows phones');\n }\n\n var deferred = Q.defer();\n var self = this;\n var $iframe;\n\n function isWindowsPhone(userAgent) {\n return userAgent.match(/windows phone|iemobile|wpdesktop/i);\n }\n\n function removeIframe() {\n $iframe.off();\n $iframe.remove();\n window.removeEventListener('message', onMessageReceivedFromOkta, false);\n }\n\n function handleError(reason) {\n removeIframe();\n deferred.reject(reason);\n }\n\n function onMessageReceivedFromOkta(event) {\n if (!self.isMessageFromCorrectSource($iframe, event)) {\n return;\n }\n if (!event || !event.data || event.origin !== oktaDomainUrl) {\n handleError('no data');\n return;\n }\n try {\n var message = JSON.parse(event.data);\n if (message && message.type === 'FingerprintServiceReady') {\n sendMessageToOkta({ type: 'GetFingerprint' });\n } else if (message && message.type === 'FingerprintAvailable') {\n removeIframe();\n deferred.resolve(message.fingerprint);\n } else {\n handleError('no data');\n }\n } catch (error) {\n //Ignore any errors since we could get other messages too\n }\n }\n\n function sendMessageToOkta(message) {\n var win = $iframe[0].contentWindow;\n if (win) {\n win.postMessage((0, _stringify2.default)(message), oktaDomainUrl);\n }\n }\n\n // Attach listener\n window.addEventListener('message', onMessageReceivedFromOkta, false);\n // Create and Load devicefingerprint page inside the iframe\n $iframe = $('<iframe>', {\n style: 'display: none;',\n src: oktaDomainUrl + '/auth/services/devicefingerprint'\n });\n element.append($iframe);\n\n return deferred.promise;\n }\n };\n}).apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\n/***/ }),\n/* 175 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\nvar __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;\n\n/*!\n * Copyright (c) 2015-2016, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n\n!(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(0), __webpack_require__(96), __webpack_require__(176), __webpack_require__(6)], __WEBPACK_AMD_DEFINE_RESULT__ = (function (Okta, BaseLoginModel, CookieUtil, Enums) {\n\n var _ = Okta._;\n\n return BaseLoginModel.extend({\n\n props: function props() {\n var cookieUsername = CookieUtil.getCookieUsername(),\n properties = this.getUsernameAndRemember(cookieUsername);\n\n var props = {\n username: {\n type: 'string',\n validate: function validate(value) {\n if (_.isEmpty(value)) {\n return Okta.loc('error.username.required', 'login');\n }\n },\n value: properties.username\n },\n lastUsername: ['string', false, cookieUsername],\n context: ['object', false],\n remember: ['boolean', true, properties.remember],\n multiOptionalFactorEnroll: ['boolean', true]\n };\n if (!(this.settings && this.settings.get('features.passwordlessAuth'))) {\n props.password = {\n type: 'string',\n validate: function validate(value) {\n if (_.isEmpty(value)) {\n return Okta.loc('error.password.required', 'login');\n }\n }\n };\n }\n return props;\n },\n\n getUsernameAndRemember: function getUsernameAndRemember(cookieUsername) {\n var settingsUsername = this.settings && this.settings.get('username'),\n rememberMeEnabled = this.settings && this.settings.get('features.rememberMe'),\n remember = false,\n username;\n\n if (settingsUsername) {\n username = settingsUsername;\n remember = rememberMeEnabled && username === cookieUsername;\n } else if (rememberMeEnabled && cookieUsername) {\n // Only respect the cookie if the feature is enabled.\n // Allows us to force prompting when necessary, e.g. SAML ForceAuthn\n username = cookieUsername;\n remember = true;\n }\n\n return {\n username: username,\n remember: remember\n };\n },\n\n constructor: function constructor(options) {\n this.settings = options && options.settings;\n this.appState = options && options.appState;\n Okta.Model.apply(this, arguments);\n this.listenTo(this, 'change:username', function (model, username) {\n this.set({ remember: username === this.get('lastUsername') });\n });\n },\n parse: function parse(options) {\n return _.omit(options, ['settings', 'appState']);\n },\n\n save: function save() {\n var username = this.settings.transformUsername(this.get('username'), Enums.PRIMARY_AUTH),\n remember = this.get('remember'),\n lastUsername = this.get('lastUsername');\n\n this.setUsernameCookie(username, remember, lastUsername);\n\n //the 'save' event here is triggered and used in the BaseLoginController\n //to disable the primary button on the primary auth form\n this.trigger('save');\n\n this.appState.trigger('loading', true);\n\n var signInArgs = this.getSignInArgs(username);\n\n var primaryAuthPromise;\n\n if (this.appState.get('isUnauthenticated')) {\n var authClient = this.appState.settings.authClient;\n // bootstrapped with stateToken\n if (this.appState.get('isIdxStateToken')) {\n // if its an idx stateToken, we send the parameter as identifier to login API\n primaryAuthPromise = this.doTransaction(function (transaction) {\n return this.doPrimaryAuth(authClient, signInArgs, transaction.login);\n });\n } else {\n primaryAuthPromise = this.doTransaction(function (transaction) {\n return this.doPrimaryAuth(authClient, signInArgs, transaction.authenticate);\n });\n }\n } else {\n //normal username/password flow without stateToken\n primaryAuthPromise = this.startTransaction(function (authClient) {\n return this.doPrimaryAuth(authClient, signInArgs, _.bind(authClient.signIn, authClient));\n });\n }\n\n return primaryAuthPromise.fail(_.bind(function () {\n // Specific event handled by the Header for the case where the security image is not\n // enabled and we want to show a spinner. (Triggered only here and handled only by Header).\n this.appState.trigger('removeLoading');\n CookieUtil.removeUsernameCookie();\n }, this)).fin(_.bind(function () {\n this.appState.trigger('loading', false);\n }, this));\n },\n\n getSignInArgs: function getSignInArgs(username) {\n var multiOptionalFactorEnroll = this.get('multiOptionalFactorEnroll');\n var signInArgs = {};\n\n if (!this.settings.get('features.passwordlessAuth')) {\n signInArgs.password = this.get('password');\n }\n\n // if its an idx stateToken, we send the parameter as identifier to login API\n if (this.appState.get('isIdxStateToken')) {\n signInArgs.identifier = username;\n } else {\n //only post options param for non-idx flows\n signInArgs.username = username;\n signInArgs.options = {\n warnBeforePasswordExpired: true,\n multiOptionalFactorEnroll: multiOptionalFactorEnroll\n };\n }\n return signInArgs;\n },\n\n setUsernameCookie: function setUsernameCookie(username, remember, lastUsername) {\n // Do not modify the cookie when feature is disabled, relevant for SAML ForceAuthn prompts\n if (this.settings.get('features.rememberMe')) {\n // Only delete the cookie if its owner says so. This allows other\n // users to log in on a one-off basis.\n if (!remember && lastUsername === username) {\n CookieUtil.removeUsernameCookie();\n } else if (remember) {\n CookieUtil.setUsernameCookie(username);\n }\n }\n },\n\n doPrimaryAuth: function doPrimaryAuth(authClient, signInArgs, func) {\n var deviceFingerprintEnabled = this.settings.get('features.deviceFingerprinting'),\n typingPatternEnabled = this.settings.get('features.trackTypingPattern');\n\n // Add the custom header for fingerprint, typing pattern if needed, and then remove it afterwards\n // Since we only need to send it for primary auth\n if (deviceFingerprintEnabled) {\n authClient.options.headers['X-Device-Fingerprint'] = this.appState.get('deviceFingerprint');\n }\n if (typingPatternEnabled) {\n authClient.options.headers['X-Typing-Pattern'] = this.appState.get('typingPattern');\n }\n var self = this;\n return func(signInArgs).fin(function () {\n if (deviceFingerprintEnabled) {\n delete authClient.options.headers['X-Device-Fingerprint'];\n self.appState.unset('deviceFingerprint'); //Fingerprint can only be used once\n }\n if (typingPatternEnabled) {\n delete authClient.options.headers['X-Typing-Pattern'];\n self.appState.unset('typingPattern');\n }\n });\n }\n });\n}).apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\n/***/ }),\n/* 176 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\nvar __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;\n\n/*!\n * Copyright (c) 2015-2016, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n\n!(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(0)], __WEBPACK_AMD_DEFINE_RESULT__ = (function (Okta) {\n var Cookie = Okta.internal.util.Cookie;\n var LAST_USERNAME_COOKIE_NAME = 'ln';\n var DAYS_SAVE_REMEMBER = 365;\n\n var fn = {};\n\n fn.getCookieUsername = function () {\n return Cookie.getCookie(LAST_USERNAME_COOKIE_NAME);\n };\n\n fn.setUsernameCookie = function (username) {\n Cookie.setCookie(LAST_USERNAME_COOKIE_NAME, username, {\n expires: DAYS_SAVE_REMEMBER,\n path: '/'\n });\n };\n\n fn.removeUsernameCookie = function () {\n Cookie.removeCookie(LAST_USERNAME_COOKIE_NAME, { path: '/' });\n };\n\n return fn;\n}).apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\n/***/ }),\n/* 177 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nexports.__esModule = true;\n\nvar _defineProperty = __webpack_require__(167);\n\nvar _defineProperty2 = _interopRequireDefault(_defineProperty);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = function (obj, key, value) {\n if (key in obj) {\n (0, _defineProperty2.default)(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\n/***/ }),\n/* 178 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\nvar __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;\n\n/*!\n * Copyright (c) 2019, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n\n!(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(0), __webpack_require__(6)], __WEBPACK_AMD_DEFINE_RESULT__ = (function (Okta, Enums) {\n return Okta.View.extend({\n template: '\\\n <a href=\"#\" class=\"link help\" data-se=\"back-link\">\\\n {{i18n code=\"goback\" bundle=\"login\"}}\\\n </a>\\\n ',\n className: 'auth-footer',\n events: {\n 'click .help': function clickHelp(e) {\n e.preventDefault();\n this.back();\n }\n },\n back: function back() {\n this.state.set('navigateDir', Enums.DIRECTION_BACK);\n this.options.appState.trigger('navigate', '');\n }\n });\n}).apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\n/***/ }),\n/* 179 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\nvar __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;\n\n/*!\n * Copyright (c) 2015-2016, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n\n/* eslint complexity:[2, 9] */\n\n!(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(0)], __WEBPACK_AMD_DEFINE_RESULT__ = (function (Okta) {\n var fn = {};\n\n fn.getU2fEnrollErrorMessageKeyByCode = function (errorCode) {\n switch (errorCode) {\n default:\n case 1:\n return 'u2f.error.other';\n case 2:\n case 3:\n return 'u2f.error.badRequest';\n case 4:\n return 'u2f.error.unsupported';\n case 5:\n return 'u2f.error.timeout';\n }\n };\n\n fn.getU2fVerifyErrorMessageKeyByCode = function (errorCode, isOneFactor) {\n switch (errorCode) {\n case 1:\n // OTHER_ERROR\n return isOneFactor ? 'u2f.error.other.oneFactor' : 'u2f.error.other';\n case 2: // BAD_REQUEST\n case 3:\n // CONFIGURATION_UNSUPPORTED\n return isOneFactor ? 'u2f.error.badRequest.oneFactor' : 'u2f.error.badRequest';\n case 4:\n // DEVICE_INELIGIBLE\n return isOneFactor ? 'u2f.error.unsupported.oneFactor' : 'u2f.error.unsupported';\n case 5:\n // TIMEOUT\n return 'u2f.error.timeout';\n }\n };\n\n fn.getU2fEnrollErrorMessageByCode = function (errorCode) {\n return Okta.loc(fn.getU2fEnrollErrorMessageKeyByCode(errorCode), 'login');\n };\n\n fn.getU2fVerifyErrorMessageByCode = function (errorCode, isOneFactor) {\n return Okta.loc(fn.getU2fVerifyErrorMessageKeyByCode(errorCode, isOneFactor), 'login');\n };\n\n fn.getU2fVersion = function () {\n return 'U2F_V2';\n };\n\n fn.isU2fAvailable = function () {\n return window.hasOwnProperty('u2f');\n };\n\n return fn;\n}).apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\n/***/ }),\n/* 180 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\nvar __WEBPACK_AMD_DEFINE_RESULT__;\n\n/*!\n * Copyright (c) 2015-2016, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n\n/* global Uint8Array */\n\n!(__WEBPACK_AMD_DEFINE_RESULT__ = (function () {\n var fn = {};\n\n /**\n * Light weight hashing algorithm that hashes string into an integer between 0 and 4294967295\n * Not recommended for data set of size greater than 10000\n * https://www.npmjs.com/package/string-hash\n *\n * @param str the string to be hashed\n * @returns string hash of integer type\n */\n fn.getStringHash = function (str) {\n var hash = 5381,\n i = str.length;\n while (i) {\n hash = hash * 33 ^ str.charCodeAt(--i);\n }\n return hash >>> 0;\n };\n\n /**\n * Converts any url safe characters in a base64 string to regular base64 characters\n * @param str base64 string that might contain url safe characters\n * @returns base64 formatted string\n */\n fn.base64UrlSafeToBase64 = function (str) {\n return str.replace(new RegExp('_', 'g'), '/').replace(new RegExp('-', 'g'), '+');\n };\n\n /**\n * Converts an ArrayBuffer object that contains binary data to base64 encoded string\n * @param bin ArrayBuffer object\n * @returns base64 encoded string\n */\n fn.binToStr = function (bin) {\n return btoa(new Uint8Array(bin).reduce(function (s, byte) {\n return s + String.fromCharCode(byte);\n }, ''));\n };\n\n /**\n * Converts base64 string to binary data view\n * @param str in base64 or base64UrlSafe format\n * @returns converted Uint8Array view of binary data\n */\n fn.strToBin = function (str) {\n return Uint8Array.from(atob(this.base64UrlSafeToBase64(str)), function (c) {\n return c.charCodeAt(0);\n });\n };\n\n return fn;\n}).call(exports, __webpack_require__, exports, module),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\n/***/ }),\n/* 181 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\nvar __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;\n\n/*!\n * Copyright (c) 2015-2016, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n\n!(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(0), __webpack_require__(121), __webpack_require__(595)], __WEBPACK_AMD_DEFINE_RESULT__ = (function (Okta, bundles, countryCallingCodes) {\n var _ = Okta._;\n var fn = {};\n\n // () => [{ countryCode: countryName }], sorted by countryName\n fn.getCountries = function () {\n // HM, BV, and TF do not have phone prefixes, so don't give the\n // user the option to choose these countries. FYI it appears that these\n // countries do not have calling codes because they are ~~uninhabited~~\n var countries = _.omit(bundles.country, 'HM', 'BV', 'TF');\n\n // Sort it; figure out if there is a better way to do this (best would\n // be to sort it in the properties file!!)\n var collection = _.map(countries, function (name, code) {\n return { name: name, code: code };\n });\n collection = _.sortBy(collection, 'name');\n var sorted = {};\n _.each(collection, function (country) {\n sorted[country.code] = country.name;\n });\n\n return sorted;\n };\n\n fn.getCallingCodeForCountry = function (countryCode) {\n return countryCallingCodes[countryCode];\n };\n\n return fn;\n}).apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\n/***/ }),\n/* 182 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\nvar __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;\n\n/*!\n * Copyright (c) 2015-2016, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n\n!(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(0), __webpack_require__(18), __webpack_require__(24)], __WEBPACK_AMD_DEFINE_RESULT__ = (function (Okta, FactorUtil, RouterUtil) {\n\n var _ = Okta._;\n\n return Okta.View.extend({\n className: 'scan-instructions clearfix',\n template: '\\\n <div class=\"scan-instructions-details-wrapper\">\\\n <div class=\"scan-instructions-details\">\\\n <p>{{instructions}}</p>\\\n </div>\\\n </div>\\\n <div class=\"scan-instructions-qrcode-wrapper\">\\\n <div class=\"qrcode-wrap\">\\\n <img data-se=\"qrcode\" class=\"qrcode-image\" src=\"{{qrcode}}\">\\\n <div data-se=\"qrcode-success\" class=\"qrcode-success\"></div>\\\n <div data-se=\"qrcode-error\" class=\"qrcode-error\"></div>\\\n </div>\\\n <a href=\"#\" data-type=\"manual-setup\" data-se=\"manual-setup\" class=\"link manual-setup\">\\\n {{i18n code=\"enroll.totp.cannotScan\" bundle=\"login\"}}\\\n </a>\\\n <a href=\"#\" data-type=\"refresh-qrcode\" data-se=\"refresh-qrcode\" class=\"link refresh-qrcode\">\\\n {{i18n code=\"enroll.totp.refreshBarcode\" bundle=\"login\"}}\\\n </a>\\\n </div>\\\n ',\n\n events: {\n 'click [data-type=\"manual-setup\"]': function clickDataTypeManualSetup(e) {\n var _this = this;\n\n e.preventDefault();\n var url = RouterUtil.createActivateFactorUrl(this.model.get('__provider__'), this.model.get('__factorType__'), 'manual');\n if (this.model.get('__factorType__') === 'push') {\n // cancel the poll and navigate to manual setup.\n this.model.doTransaction(function (transaction) {\n return transaction.prev().then(function (trans) {\n var factor = _.findWhere(trans.factors, {\n factorType: 'push',\n provider: 'OKTA'\n });\n return factor.enroll();\n });\n }).then(function () {\n _this.options.appState.trigger('navigate', url);\n });\n } else {\n this.options.appState.trigger('navigate', url);\n }\n },\n 'click [data-type=\"refresh-qrcode\"]': function clickDataTypeRefreshQrcode(e) {\n e.preventDefault();\n this.model.trigger('errors:clear');\n\n var self = this;\n this.model.doTransaction(function (transaction) {\n if (this.appState.get('isWaitingForActivation')) {\n return transaction.poll();\n } else {\n return transaction.activate();\n }\n }).then(function (trans) {\n var res = trans.data;\n if ((res.status === 'MFA_ENROLL_ACTIVATE' || res.status === 'FACTOR_ENROLL_ACTIVATE') && res.factorResult === 'WAITING') {\n // defer the render here to have a lastResponse set in AppState\n // so that we get new QRcode rendered\n _.defer(_.bind(self.render, self));\n }\n });\n }\n },\n\n initialize: function initialize() {\n this.listenTo(this.options.appState, 'change:lastAuthResponse', function () {\n if (this.options.appState.get('isMfaEnrollActivate')) {\n this.$el.toggleClass('qrcode-expired', !this.options.appState.get('isWaitingForActivation'));\n } else if (this.options.appState.get('isSuccessResponse')) {\n this.$el.addClass('qrcode-success');\n }\n });\n this.listenTo(this.model, 'error', function () {\n if (this.options.appState.get('isMfaEnrollActivate')) {\n this.$el.toggleClass('qrcode-expired', true);\n }\n });\n },\n\n getTemplateData: function getTemplateData() {\n var factorName = FactorUtil.getFactorLabel(this.model.get('__provider__'), this.model.get('__factorType__'));\n var instructions;\n if (this.model.get('__provider__') === 'GOOGLE') {\n instructions = Okta.loc('enroll.totp.setupGoogleAuthApp', 'login', [factorName]);\n } else {\n instructions = Okta.loc('enroll.totp.setupApp', 'login', [factorName]);\n }\n return {\n instructions: instructions,\n qrcode: this.options.appState.get('qrcode')\n };\n }\n });\n}).apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\n/***/ }),\n/* 183 */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = !__webpack_require__(12) && !__webpack_require__(7)(function () {\n return Object.defineProperty(__webpack_require__(124)('div'), 'a', { get: function () { return 7; } }).a != 7;\n});\n\n\n/***/ }),\n/* 184 */\n/***/ (function(module, exports, __webpack_require__) {\n\nexports.f = __webpack_require__(10);\n\n\n/***/ }),\n/* 185 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar has = __webpack_require__(29);\nvar toIObject = __webpack_require__(30);\nvar arrayIndexOf = __webpack_require__(101)(false);\nvar IE_PROTO = __webpack_require__(126)('IE_PROTO');\n\nmodule.exports = function (object, names) {\n var O = toIObject(object);\n var i = 0;\n var result = [];\n var key;\n for (key in O) if (key != IE_PROTO) has(O, key) && result.push(key);\n // Don't enum bug & hidden keys\n while (names.length > i) if (has(O, key = names[i++])) {\n ~arrayIndexOf(result, key) || result.push(key);\n }\n return result;\n};\n\n\n/***/ }),\n/* 186 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar dP = __webpack_require__(15);\nvar anObject = __webpack_require__(3);\nvar getKeys = __webpack_require__(62);\n\nmodule.exports = __webpack_require__(12) ? Object.defineProperties : function defineProperties(O, Properties) {\n anObject(O);\n var keys = getKeys(Properties);\n var length = keys.length;\n var i = 0;\n var P;\n while (length > i) dP.f(O, P = keys[i++], Properties[P]);\n return O;\n};\n\n\n/***/ }),\n/* 187 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// fallback for IE11 buggy Object.getOwnPropertyNames with iframe and window\nvar toIObject = __webpack_require__(30);\nvar gOPN = __webpack_require__(65).f;\nvar toString = {}.toString;\n\nvar windowNames = typeof window == 'object' && window && Object.getOwnPropertyNames\n ? Object.getOwnPropertyNames(window) : [];\n\nvar getWindowNames = function (it) {\n try {\n return gOPN(it);\n } catch (e) {\n return windowNames.slice();\n }\n};\n\nmodule.exports.f = function getOwnPropertyNames(it) {\n return windowNames && toString.call(it) == '[object Window]' ? getWindowNames(it) : gOPN(toIObject(it));\n};\n\n\n/***/ }),\n/* 188 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n// 19.1.2.1 Object.assign(target, source, ...)\nvar DESCRIPTORS = __webpack_require__(12);\nvar getKeys = __webpack_require__(62);\nvar gOPS = __webpack_require__(102);\nvar pIE = __webpack_require__(86);\nvar toObject = __webpack_require__(16);\nvar IObject = __webpack_require__(85);\nvar $assign = Object.assign;\n\n// should work with symbols and should have deterministic property order (V8 bug)\nmodule.exports = !$assign || __webpack_require__(7)(function () {\n var A = {};\n var B = {};\n // eslint-disable-next-line no-undef\n var S = Symbol();\n var K = 'abcdefghijklmnopqrst';\n A[S] = 7;\n K.split('').forEach(function (k) { B[k] = k; });\n return $assign({}, A)[S] != 7 || Object.keys($assign({}, B)).join('') != K;\n}) ? function assign(target, source) { // eslint-disable-line no-unused-vars\n var T = toObject(target);\n var aLen = arguments.length;\n var index = 1;\n var getSymbols = gOPS.f;\n var isEnum = pIE.f;\n while (aLen > index) {\n var S = IObject(arguments[index++]);\n var keys = getSymbols ? getKeys(S).concat(getSymbols(S)) : getKeys(S);\n var length = keys.length;\n var j = 0;\n var key;\n while (length > j) {\n key = keys[j++];\n if (!DESCRIPTORS || isEnum.call(S, key)) T[key] = S[key];\n }\n } return T;\n} : $assign;\n\n\n/***/ }),\n/* 189 */\n/***/ (function(module, exports) {\n\n// 7.2.9 SameValue(x, y)\nmodule.exports = Object.is || function is(x, y) {\n // eslint-disable-next-line no-self-compare\n return x === y ? x !== 0 || 1 / x === 1 / y : x != x && y != y;\n};\n\n\n/***/ }),\n/* 190 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar aFunction = __webpack_require__(20);\nvar isObject = __webpack_require__(8);\nvar invoke = __webpack_require__(191);\nvar arraySlice = [].slice;\nvar factories = {};\n\nvar construct = function (F, len, args) {\n if (!(len in factories)) {\n for (var n = [], i = 0; i < len; i++) n[i] = 'a[' + i + ']';\n // eslint-disable-next-line no-new-func\n factories[len] = Function('F,a', 'return new F(' + n.join(',') + ')');\n } return factories[len](F, args);\n};\n\nmodule.exports = Function.bind || function bind(that /* , ...args */) {\n var fn = aFunction(this);\n var partArgs = arraySlice.call(arguments, 1);\n var bound = function (/* args... */) {\n var args = partArgs.concat(arraySlice.call(arguments));\n return this instanceof bound ? construct(fn, args.length, args) : invoke(fn, args, that);\n };\n if (isObject(fn.prototype)) bound.prototype = fn.prototype;\n return bound;\n};\n\n\n/***/ }),\n/* 191 */\n/***/ (function(module, exports) {\n\n// fast apply, http://jsperf.lnkit.com/fast-apply/5\nmodule.exports = function (fn, args, that) {\n var un = that === undefined;\n switch (args.length) {\n case 0: return un ? fn()\n : fn.call(that);\n case 1: return un ? fn(args[0])\n : fn.call(that, args[0]);\n case 2: return un ? fn(args[0], args[1])\n : fn.call(that, args[0], args[1]);\n case 3: return un ? fn(args[0], args[1], args[2])\n : fn.call(that, args[0], args[1], args[2]);\n case 4: return un ? fn(args[0], args[1], args[2], args[3])\n : fn.call(that, args[0], args[1], args[2], args[3]);\n } return fn.apply(that, args);\n};\n\n\n/***/ }),\n/* 192 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar $parseInt = __webpack_require__(5).parseInt;\nvar $trim = __webpack_require__(75).trim;\nvar ws = __webpack_require__(130);\nvar hex = /^[-+]?0[xX]/;\n\nmodule.exports = $parseInt(ws + '08') !== 8 || $parseInt(ws + '0x16') !== 22 ? function parseInt(str, radix) {\n var string = $trim(String(str), 3);\n return $parseInt(string, (radix >>> 0) || (hex.test(string) ? 16 : 10));\n} : $parseInt;\n\n\n/***/ }),\n/* 193 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar $parseFloat = __webpack_require__(5).parseFloat;\nvar $trim = __webpack_require__(75).trim;\n\nmodule.exports = 1 / $parseFloat(__webpack_require__(130) + '-0') !== -Infinity ? function parseFloat(str) {\n var string = $trim(String(str), 3);\n var result = $parseFloat(string);\n return result === 0 && string.charAt(0) == '-' ? -0 : result;\n} : $parseFloat;\n\n\n/***/ }),\n/* 194 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar cof = __webpack_require__(36);\nmodule.exports = function (it, msg) {\n if (typeof it != 'number' && cof(it) != 'Number') throw TypeError(msg);\n return +it;\n};\n\n\n/***/ }),\n/* 195 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 20.1.2.3 Number.isInteger(number)\nvar isObject = __webpack_require__(8);\nvar floor = Math.floor;\nmodule.exports = function isInteger(it) {\n return !isObject(it) && isFinite(it) && floor(it) === it;\n};\n\n\n/***/ }),\n/* 196 */\n/***/ (function(module, exports) {\n\n// 20.2.2.20 Math.log1p(x)\nmodule.exports = Math.log1p || function log1p(x) {\n return (x = +x) > -1e-8 && x < 1e-8 ? x - x * x / 2 : Math.log(1 + x);\n};\n\n\n/***/ }),\n/* 197 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 20.2.2.16 Math.fround(x)\nvar sign = __webpack_require__(133);\nvar pow = Math.pow;\nvar EPSILON = pow(2, -52);\nvar EPSILON32 = pow(2, -23);\nvar MAX32 = pow(2, 127) * (2 - EPSILON32);\nvar MIN32 = pow(2, -126);\n\nvar roundTiesToEven = function (n) {\n return n + 1 / EPSILON - 1 / EPSILON;\n};\n\nmodule.exports = Math.fround || function fround(x) {\n var $abs = Math.abs(x);\n var $sign = sign(x);\n var a, result;\n if ($abs < MIN32) return $sign * roundTiesToEven($abs / MIN32 / EPSILON32) * MIN32 * EPSILON32;\n a = (1 + EPSILON32 / EPSILON) * $abs;\n result = a - (a - $abs);\n // eslint-disable-next-line no-self-compare\n if (result > MAX32 || result != result) return $sign * Infinity;\n return $sign * result;\n};\n\n\n/***/ }),\n/* 198 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// call something on iterator step with safe closing on error\nvar anObject = __webpack_require__(3);\nmodule.exports = function (iterator, fn, value, entries) {\n try {\n return entries ? fn(anObject(value)[0], value[1]) : fn(value);\n // 7.4.6 IteratorClose(iterator, completion)\n } catch (e) {\n var ret = iterator['return'];\n if (ret !== undefined) anObject(ret.call(iterator));\n throw e;\n }\n};\n\n\n/***/ }),\n/* 199 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar aFunction = __webpack_require__(20);\nvar toObject = __webpack_require__(16);\nvar IObject = __webpack_require__(85);\nvar toLength = __webpack_require__(11);\n\nmodule.exports = function (that, callbackfn, aLen, memo, isRight) {\n aFunction(callbackfn);\n var O = toObject(that);\n var self = IObject(O);\n var length = toLength(O.length);\n var index = isRight ? length - 1 : 0;\n var i = isRight ? -1 : 1;\n if (aLen < 2) for (;;) {\n if (index in self) {\n memo = self[index];\n index += i;\n break;\n }\n index += i;\n if (isRight ? index < 0 : length <= index) {\n throw TypeError('Reduce of empty array with no initial value');\n }\n }\n for (;isRight ? index >= 0 : length > index; index += i) if (index in self) {\n memo = callbackfn(memo, self[index], index, O);\n }\n return memo;\n};\n\n\n/***/ }),\n/* 200 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n// 22.1.3.3 Array.prototype.copyWithin(target, start, end = this.length)\n\nvar toObject = __webpack_require__(16);\nvar toAbsoluteIndex = __webpack_require__(63);\nvar toLength = __webpack_require__(11);\n\nmodule.exports = [].copyWithin || function copyWithin(target /* = 0 */, start /* = 0, end = @length */) {\n var O = toObject(this);\n var len = toLength(O.length);\n var to = toAbsoluteIndex(target, len);\n var from = toAbsoluteIndex(start, len);\n var end = arguments.length > 2 ? arguments[2] : undefined;\n var count = Math.min((end === undefined ? len : toAbsoluteIndex(end, len)) - from, len - to);\n var inc = 1;\n if (from < to && to < from + count) {\n inc = -1;\n from += count - 1;\n to += count - 1;\n }\n while (count-- > 0) {\n if (from in O) O[to] = O[from];\n else delete O[to];\n to += inc;\n from += inc;\n } return O;\n};\n\n\n/***/ }),\n/* 201 */\n/***/ (function(module, exports) {\n\nmodule.exports = function (done, value) {\n return { value: value, done: !!done };\n};\n\n\n/***/ }),\n/* 202 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar regexpExec = __webpack_require__(145);\n__webpack_require__(1)({\n target: 'RegExp',\n proto: true,\n forced: regexpExec !== /./.exec\n}, {\n exec: regexpExec\n});\n\n\n/***/ }),\n/* 203 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 21.2.5.3 get RegExp.prototype.flags()\nif (__webpack_require__(12) && /./g.flags != 'g') __webpack_require__(15).f(RegExp.prototype, 'flags', {\n configurable: true,\n get: __webpack_require__(87)\n});\n\n\n/***/ }),\n/* 204 */\n/***/ (function(module, exports) {\n\nmodule.exports = function (exec) {\n try {\n return { e: false, v: exec() };\n } catch (e) {\n return { e: true, v: e };\n }\n};\n\n\n/***/ }),\n/* 205 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar anObject = __webpack_require__(3);\nvar isObject = __webpack_require__(8);\nvar newPromiseCapability = __webpack_require__(149);\n\nmodule.exports = function (C, x) {\n anObject(C);\n if (isObject(x) && x.constructor === C) return x;\n var promiseCapability = newPromiseCapability.f(C);\n var resolve = promiseCapability.resolve;\n resolve(x);\n return promiseCapability.promise;\n};\n\n\n/***/ }),\n/* 206 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar strong = __webpack_require__(207);\nvar validate = __webpack_require__(70);\nvar MAP = 'Map';\n\n// 23.1 Map Objects\nmodule.exports = __webpack_require__(110)(MAP, function (get) {\n return function Map() { return get(this, arguments.length > 0 ? arguments[0] : undefined); };\n}, {\n // 23.1.3.6 Map.prototype.get(key)\n get: function get(key) {\n var entry = strong.getEntry(validate(this, MAP), key);\n return entry && entry.v;\n },\n // 23.1.3.9 Map.prototype.set(key, value)\n set: function set(key, value) {\n return strong.def(validate(this, MAP), key === 0 ? 0 : key, value);\n }\n}, strong, true);\n\n\n/***/ }),\n/* 207 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar dP = __webpack_require__(15).f;\nvar create = __webpack_require__(64);\nvar redefineAll = __webpack_require__(69);\nvar ctx = __webpack_require__(35);\nvar anInstance = __webpack_require__(67);\nvar forOf = __webpack_require__(68);\nvar $iterDefine = __webpack_require__(135);\nvar step = __webpack_require__(201);\nvar setSpecies = __webpack_require__(66);\nvar DESCRIPTORS = __webpack_require__(12);\nvar fastKey = __webpack_require__(54).fastKey;\nvar validate = __webpack_require__(70);\nvar SIZE = DESCRIPTORS ? '_s' : 'size';\n\nvar getEntry = function (that, key) {\n // fast case\n var index = fastKey(key);\n var entry;\n if (index !== 'F') return that._i[index];\n // frozen object case\n for (entry = that._f; entry; entry = entry.n) {\n if (entry.k == key) return entry;\n }\n};\n\nmodule.exports = {\n getConstructor: function (wrapper, NAME, IS_MAP, ADDER) {\n var C = wrapper(function (that, iterable) {\n anInstance(that, C, NAME, '_i');\n that._t = NAME; // collection type\n that._i = create(null); // index\n that._f = undefined; // first entry\n that._l = undefined; // last entry\n that[SIZE] = 0; // size\n if (iterable != undefined) forOf(iterable, IS_MAP, that[ADDER], that);\n });\n redefineAll(C.prototype, {\n // 23.1.3.1 Map.prototype.clear()\n // 23.2.3.2 Set.prototype.clear()\n clear: function clear() {\n for (var that = validate(this, NAME), data = that._i, entry = that._f; entry; entry = entry.n) {\n entry.r = true;\n if (entry.p) entry.p = entry.p.n = undefined;\n delete data[entry.i];\n }\n that._f = that._l = undefined;\n that[SIZE] = 0;\n },\n // 23.1.3.3 Map.prototype.delete(key)\n // 23.2.3.4 Set.prototype.delete(value)\n 'delete': function (key) {\n var that = validate(this, NAME);\n var entry = getEntry(that, key);\n if (entry) {\n var next = entry.n;\n var prev = entry.p;\n delete that._i[entry.i];\n entry.r = true;\n if (prev) prev.n = next;\n if (next) next.p = prev;\n if (that._f == entry) that._f = next;\n if (that._l == entry) that._l = prev;\n that[SIZE]--;\n } return !!entry;\n },\n // 23.2.3.6 Set.prototype.forEach(callbackfn, thisArg = undefined)\n // 23.1.3.5 Map.prototype.forEach(callbackfn, thisArg = undefined)\n forEach: function forEach(callbackfn /* , that = undefined */) {\n validate(this, NAME);\n var f = ctx(callbackfn, arguments.length > 1 ? arguments[1] : undefined, 3);\n var entry;\n while (entry = entry ? entry.n : this._f) {\n f(entry.v, entry.k, this);\n // revert to the last existing entry\n while (entry && entry.r) entry = entry.p;\n }\n },\n // 23.1.3.7 Map.prototype.has(key)\n // 23.2.3.7 Set.prototype.has(value)\n has: function has(key) {\n return !!getEntry(validate(this, NAME), key);\n }\n });\n if (DESCRIPTORS) dP(C.prototype, 'size', {\n get: function () {\n return validate(this, NAME)[SIZE];\n }\n });\n return C;\n },\n def: function (that, key, value) {\n var entry = getEntry(that, key);\n var prev, index;\n // change existing entry\n if (entry) {\n entry.v = value;\n // create new entry\n } else {\n that._l = entry = {\n i: index = fastKey(key, true), // <- index\n k: key, // <- key\n v: value, // <- value\n p: prev = that._l, // <- previous entry\n n: undefined, // <- next entry\n r: false // <- removed\n };\n if (!that._f) that._f = entry;\n if (prev) prev.n = entry;\n that[SIZE]++;\n // add to index\n if (index !== 'F') that._i[index] = entry;\n } return that;\n },\n getEntry: getEntry,\n setStrong: function (C, NAME, IS_MAP) {\n // add .keys, .values, .entries, [@@iterator]\n // 23.1.3.4, 23.1.3.8, 23.1.3.11, 23.1.3.12, 23.2.3.5, 23.2.3.8, 23.2.3.10, 23.2.3.11\n $iterDefine(C, NAME, function (iterated, kind) {\n this._t = validate(iterated, NAME); // target\n this._k = kind; // kind\n this._l = undefined; // previous\n }, function () {\n var that = this;\n var kind = that._k;\n var entry = that._l;\n // revert to the last existing entry\n while (entry && entry.r) entry = entry.p;\n // get next entry\n if (!that._t || !(that._l = entry = entry ? entry.n : that._t._f)) {\n // or finish the iteration\n that._t = undefined;\n return step(1);\n }\n // return step by kind\n if (kind == 'keys') return step(0, entry.k);\n if (kind == 'values') return step(0, entry.v);\n return step(0, [entry.k, entry.v]);\n }, IS_MAP ? 'entries' : 'values', !IS_MAP, true);\n\n // add [@@species], 23.1.2.2, 23.2.2.2\n setSpecies(NAME);\n }\n};\n\n\n/***/ }),\n/* 208 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar strong = __webpack_require__(207);\nvar validate = __webpack_require__(70);\nvar SET = 'Set';\n\n// 23.2 Set Objects\nmodule.exports = __webpack_require__(110)(SET, function (get) {\n return function Set() { return get(this, arguments.length > 0 ? arguments[0] : undefined); };\n}, {\n // 23.2.3.1 Set.prototype.add(value)\n add: function add(value) {\n return strong.def(validate(this, SET), value = value === 0 ? 0 : value, value);\n }\n}, strong);\n\n\n/***/ }),\n/* 209 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar global = __webpack_require__(5);\nvar each = __webpack_require__(44)(0);\nvar redefine = __webpack_require__(26);\nvar meta = __webpack_require__(54);\nvar assign = __webpack_require__(188);\nvar weak = __webpack_require__(210);\nvar isObject = __webpack_require__(8);\nvar validate = __webpack_require__(70);\nvar NATIVE_WEAK_MAP = __webpack_require__(70);\nvar IS_IE11 = !global.ActiveXObject && 'ActiveXObject' in global;\nvar WEAK_MAP = 'WeakMap';\nvar getWeak = meta.getWeak;\nvar isExtensible = Object.isExtensible;\nvar uncaughtFrozenStore = weak.ufstore;\nvar InternalMap;\n\nvar wrapper = function (get) {\n return function WeakMap() {\n return get(this, arguments.length > 0 ? arguments[0] : undefined);\n };\n};\n\nvar methods = {\n // 23.3.3.3 WeakMap.prototype.get(key)\n get: function get(key) {\n if (isObject(key)) {\n var data = getWeak(key);\n if (data === true) return uncaughtFrozenStore(validate(this, WEAK_MAP)).get(key);\n return data ? data[this._i] : undefined;\n }\n },\n // 23.3.3.5 WeakMap.prototype.set(key, value)\n set: function set(key, value) {\n return weak.def(validate(this, WEAK_MAP), key, value);\n }\n};\n\n// 23.3 WeakMap Objects\nvar $WeakMap = module.exports = __webpack_require__(110)(WEAK_MAP, wrapper, methods, weak, true, true);\n\n// IE11 WeakMap frozen keys fix\nif (NATIVE_WEAK_MAP && IS_IE11) {\n InternalMap = weak.getConstructor(wrapper, WEAK_MAP);\n assign(InternalMap.prototype, methods);\n meta.NEED = true;\n each(['delete', 'has', 'get', 'set'], function (key) {\n var proto = $WeakMap.prototype;\n var method = proto[key];\n redefine(proto, key, function (a, b) {\n // store frozen objects on internal weakmap shim\n if (isObject(a) && !isExtensible(a)) {\n if (!this._f) this._f = new InternalMap();\n var result = this._f[key](a, b);\n return key == 'set' ? this : result;\n // store all the rest on native weakmap\n } return method.call(this, a, b);\n });\n });\n}\n\n\n/***/ }),\n/* 210 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar redefineAll = __webpack_require__(69);\nvar getWeak = __webpack_require__(54).getWeak;\nvar anObject = __webpack_require__(3);\nvar isObject = __webpack_require__(8);\nvar anInstance = __webpack_require__(67);\nvar forOf = __webpack_require__(68);\nvar createArrayMethod = __webpack_require__(44);\nvar $has = __webpack_require__(29);\nvar validate = __webpack_require__(70);\nvar arrayFind = createArrayMethod(5);\nvar arrayFindIndex = createArrayMethod(6);\nvar id = 0;\n\n// fallback for uncaught frozen keys\nvar uncaughtFrozenStore = function (that) {\n return that._l || (that._l = new UncaughtFrozenStore());\n};\nvar UncaughtFrozenStore = function () {\n this.a = [];\n};\nvar findUncaughtFrozen = function (store, key) {\n return arrayFind(store.a, function (it) {\n return it[0] === key;\n });\n};\nUncaughtFrozenStore.prototype = {\n get: function (key) {\n var entry = findUncaughtFrozen(this, key);\n if (entry) return entry[1];\n },\n has: function (key) {\n return !!findUncaughtFrozen(this, key);\n },\n set: function (key, value) {\n var entry = findUncaughtFrozen(this, key);\n if (entry) entry[1] = value;\n else this.a.push([key, value]);\n },\n 'delete': function (key) {\n var index = arrayFindIndex(this.a, function (it) {\n return it[0] === key;\n });\n if (~index) this.a.splice(index, 1);\n return !!~index;\n }\n};\n\nmodule.exports = {\n getConstructor: function (wrapper, NAME, IS_MAP, ADDER) {\n var C = wrapper(function (that, iterable) {\n anInstance(that, C, NAME, '_i');\n that._t = NAME; // collection type\n that._i = id++; // collection id\n that._l = undefined; // leak store for uncaught frozen objects\n if (iterable != undefined) forOf(iterable, IS_MAP, that[ADDER], that);\n });\n redefineAll(C.prototype, {\n // 23.3.3.2 WeakMap.prototype.delete(key)\n // 23.4.3.3 WeakSet.prototype.delete(value)\n 'delete': function (key) {\n if (!isObject(key)) return false;\n var data = getWeak(key);\n if (data === true) return uncaughtFrozenStore(validate(this, NAME))['delete'](key);\n return data && $has(data, this._i) && delete data[this._i];\n },\n // 23.3.3.4 WeakMap.prototype.has(key)\n // 23.4.3.4 WeakSet.prototype.has(value)\n has: function has(key) {\n if (!isObject(key)) return false;\n var data = getWeak(key);\n if (data === true) return uncaughtFrozenStore(validate(this, NAME)).has(key);\n return data && $has(data, this._i);\n }\n });\n return C;\n },\n def: function (that, key, value) {\n var data = getWeak(anObject(key), true);\n if (data === true) uncaughtFrozenStore(that).set(key, value);\n else data[that._i] = value;\n return that;\n },\n ufstore: uncaughtFrozenStore\n};\n\n\n/***/ }),\n/* 211 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// https://tc39.github.io/ecma262/#sec-toindex\nvar toInteger = __webpack_require__(37);\nvar toLength = __webpack_require__(11);\nmodule.exports = function (it) {\n if (it === undefined) return 0;\n var number = toInteger(it);\n var length = toLength(number);\n if (number !== length) throw RangeError('Wrong length!');\n return length;\n};\n\n\n/***/ }),\n/* 212 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// all object keys, includes non-enumerable and symbols\nvar gOPN = __webpack_require__(65);\nvar gOPS = __webpack_require__(102);\nvar anObject = __webpack_require__(3);\nvar Reflect = __webpack_require__(5).Reflect;\nmodule.exports = Reflect && Reflect.ownKeys || function ownKeys(it) {\n var keys = gOPN.f(anObject(it));\n var getSymbols = gOPS.f;\n return getSymbols ? keys.concat(getSymbols(it)) : keys;\n};\n\n\n/***/ }),\n/* 213 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n// https://tc39.github.io/proposal-flatMap/#sec-FlattenIntoArray\nvar isArray = __webpack_require__(103);\nvar isObject = __webpack_require__(8);\nvar toLength = __webpack_require__(11);\nvar ctx = __webpack_require__(35);\nvar IS_CONCAT_SPREADABLE = __webpack_require__(10)('isConcatSpreadable');\n\nfunction flattenIntoArray(target, original, source, sourceLen, start, depth, mapper, thisArg) {\n var targetIndex = start;\n var sourceIndex = 0;\n var mapFn = mapper ? ctx(mapper, thisArg, 3) : false;\n var element, spreadable;\n\n while (sourceIndex < sourceLen) {\n if (sourceIndex in source) {\n element = mapFn ? mapFn(source[sourceIndex], sourceIndex, original) : source[sourceIndex];\n\n spreadable = false;\n if (isObject(element)) {\n spreadable = element[IS_CONCAT_SPREADABLE];\n spreadable = spreadable !== undefined ? !!spreadable : isArray(element);\n }\n\n if (spreadable && depth > 0) {\n targetIndex = flattenIntoArray(target, original, element, toLength(element.length), targetIndex, depth - 1) - 1;\n } else {\n if (targetIndex >= 0x1fffffffffffff) throw TypeError();\n target[targetIndex] = element;\n }\n\n targetIndex++;\n }\n sourceIndex++;\n }\n return targetIndex;\n}\n\nmodule.exports = flattenIntoArray;\n\n\n/***/ }),\n/* 214 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// https://github.com/tc39/proposal-string-pad-start-end\nvar toLength = __webpack_require__(11);\nvar repeat = __webpack_require__(132);\nvar defined = __webpack_require__(42);\n\nmodule.exports = function (that, maxLength, fillString, left) {\n var S = String(defined(that));\n var stringLength = S.length;\n var fillStr = fillString === undefined ? ' ' : String(fillString);\n var intMaxLength = toLength(maxLength);\n if (intMaxLength <= stringLength || fillStr == '') return S;\n var fillLen = intMaxLength - stringLength;\n var stringFiller = repeat.call(fillStr, Math.ceil(fillLen / fillStr.length));\n if (stringFiller.length > fillLen) stringFiller = stringFiller.slice(0, fillLen);\n return left ? stringFiller + S : S + stringFiller;\n};\n\n\n/***/ }),\n/* 215 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar DESCRIPTORS = __webpack_require__(12);\nvar getKeys = __webpack_require__(62);\nvar toIObject = __webpack_require__(30);\nvar isEnum = __webpack_require__(86).f;\nmodule.exports = function (isEntries) {\n return function (it) {\n var O = toIObject(it);\n var keys = getKeys(O);\n var length = keys.length;\n var i = 0;\n var result = [];\n var key;\n while (length > i) {\n key = keys[i++];\n if (!DESCRIPTORS || isEnum.call(O, key)) {\n result.push(isEntries ? [key, O[key]] : O[key]);\n }\n }\n return result;\n };\n};\n\n\n/***/ }),\n/* 216 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// https://github.com/DavidBruant/Map-Set.prototype.toJSON\nvar classof = __webpack_require__(74);\nvar from = __webpack_require__(217);\nmodule.exports = function (NAME) {\n return function toJSON() {\n if (classof(this) != NAME) throw TypeError(NAME + \"#toJSON isn't generic\");\n return from(this);\n };\n};\n\n\n/***/ }),\n/* 217 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar forOf = __webpack_require__(68);\n\nmodule.exports = function (iter, ITERATOR) {\n var result = [];\n forOf(iter, false, result.push, result, ITERATOR);\n return result;\n};\n\n\n/***/ }),\n/* 218 */\n/***/ (function(module, exports) {\n\n// https://rwaldron.github.io/proposal-math-extensions/\nmodule.exports = Math.scale || function scale(x, inLow, inHigh, outLow, outHigh) {\n if (\n arguments.length === 0\n // eslint-disable-next-line no-self-compare\n || x != x\n // eslint-disable-next-line no-self-compare\n || inLow != inLow\n // eslint-disable-next-line no-self-compare\n || inHigh != inHigh\n // eslint-disable-next-line no-self-compare\n || outLow != outLow\n // eslint-disable-next-line no-self-compare\n || outHigh != outHigh\n ) return NaN;\n if (x === Infinity || x === -Infinity) return x;\n return (x - inLow) * (outHigh - outLow) / (inHigh - inLow) + outLow;\n};\n\n\n/***/ }),\n/* 219 */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = { \"default\": __webpack_require__(477), __esModule: true };\n\n/***/ }),\n/* 220 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar LIBRARY = __webpack_require__(91);\nvar $export = __webpack_require__(21);\nvar redefine = __webpack_require__(222);\nvar hide = __webpack_require__(71);\nvar Iterators = __webpack_require__(80);\nvar $iterCreate = __webpack_require__(479);\nvar setToStringTag = __webpack_require__(117);\nvar getPrototypeOf = __webpack_require__(227);\nvar ITERATOR = __webpack_require__(23)('iterator');\nvar BUGGY = !([].keys && 'next' in [].keys()); // Safari has buggy iterators w/o `next`\nvar FF_ITERATOR = '@@iterator';\nvar KEYS = 'keys';\nvar VALUES = 'values';\n\nvar returnThis = function () { return this; };\n\nmodule.exports = function (Base, NAME, Constructor, next, DEFAULT, IS_SET, FORCED) {\n $iterCreate(Constructor, NAME, next);\n var getMethod = function (kind) {\n if (!BUGGY && kind in proto) return proto[kind];\n switch (kind) {\n case KEYS: return function keys() { return new Constructor(this, kind); };\n case VALUES: return function values() { return new Constructor(this, kind); };\n } return function entries() { return new Constructor(this, kind); };\n };\n var TAG = NAME + ' Iterator';\n var DEF_VALUES = DEFAULT == VALUES;\n var VALUES_BUG = false;\n var proto = Base.prototype;\n var $native = proto[ITERATOR] || proto[FF_ITERATOR] || DEFAULT && proto[DEFAULT];\n var $default = $native || getMethod(DEFAULT);\n var $entries = DEFAULT ? !DEF_VALUES ? $default : getMethod('entries') : undefined;\n var $anyNative = NAME == 'Array' ? proto.entries || $native : $native;\n var methods, key, IteratorPrototype;\n // Fix native\n if ($anyNative) {\n IteratorPrototype = getPrototypeOf($anyNative.call(new Base()));\n if (IteratorPrototype !== Object.prototype && IteratorPrototype.next) {\n // Set @@toStringTag to native iterators\n setToStringTag(IteratorPrototype, TAG, true);\n // fix for some old engines\n if (!LIBRARY && typeof IteratorPrototype[ITERATOR] != 'function') hide(IteratorPrototype, ITERATOR, returnThis);\n }\n }\n // fix Array#{values, @@iterator}.name in V8 / FF\n if (DEF_VALUES && $native && $native.name !== VALUES) {\n VALUES_BUG = true;\n $default = function values() { return $native.call(this); };\n }\n // Define iterator\n if ((!LIBRARY || FORCED) && (BUGGY || VALUES_BUG || !proto[ITERATOR])) {\n hide(proto, ITERATOR, $default);\n }\n // Plug for library\n Iterators[NAME] = $default;\n Iterators[TAG] = returnThis;\n if (DEFAULT) {\n methods = {\n values: DEF_VALUES ? $default : getMethod(VALUES),\n keys: IS_SET ? $default : getMethod(KEYS),\n entries: $entries\n };\n if (FORCED) for (key in methods) {\n if (!(key in proto)) redefine(proto, key, methods[key]);\n } else $export($export.P + $export.F * (BUGGY || VALUES_BUG), NAME, methods);\n }\n return methods;\n};\n\n\n/***/ }),\n/* 221 */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = !__webpack_require__(39) && !__webpack_require__(79)(function () {\n return Object.defineProperty(__webpack_require__(156)('div'), 'a', { get: function () { return 7; } }).a != 7;\n});\n\n\n/***/ }),\n/* 222 */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = __webpack_require__(71);\n\n\n/***/ }),\n/* 223 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar dP = __webpack_require__(50);\nvar anObject = __webpack_require__(45);\nvar getKeys = __webpack_require__(81);\n\nmodule.exports = __webpack_require__(39) ? Object.defineProperties : function defineProperties(O, Properties) {\n anObject(O);\n var keys = getKeys(Properties);\n var length = keys.length;\n var i = 0;\n var P;\n while (length > i) dP.f(O, P = keys[i++], Properties[P]);\n return O;\n};\n\n\n/***/ }),\n/* 224 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar has = __webpack_require__(72);\nvar toIObject = __webpack_require__(56);\nvar arrayIndexOf = __webpack_require__(480)(false);\nvar IE_PROTO = __webpack_require__(160)('IE_PROTO');\n\nmodule.exports = function (object, names) {\n var O = toIObject(object);\n var i = 0;\n var result = [];\n var key;\n for (key in O) if (key != IE_PROTO) has(O, key) && result.push(key);\n // Don't enum bug & hidden keys\n while (names.length > i) if (has(O, key = names[i++])) {\n ~arrayIndexOf(result, key) || result.push(key);\n }\n return result;\n};\n\n\n/***/ }),\n/* 225 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// fallback for non-array-like ES3 and non-enumerable old V8 strings\nvar cof = __webpack_require__(93);\n// eslint-disable-next-line no-prototype-builtins\nmodule.exports = Object('z').propertyIsEnumerable(0) ? Object : function (it) {\n return cof(it) == 'String' ? it.split('') : Object(it);\n};\n\n\n/***/ }),\n/* 226 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar document = __webpack_require__(22).document;\nmodule.exports = document && document.documentElement;\n\n\n/***/ }),\n/* 227 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 19.1.2.9 / 15.2.3.2 Object.getPrototypeOf(O)\nvar has = __webpack_require__(72);\nvar toObject = __webpack_require__(82);\nvar IE_PROTO = __webpack_require__(160)('IE_PROTO');\nvar ObjectProto = Object.prototype;\n\nmodule.exports = Object.getPrototypeOf || function (O) {\n O = toObject(O);\n if (has(O, IE_PROTO)) return O[IE_PROTO];\n if (typeof O.constructor == 'function' && O instanceof O.constructor) {\n return O.constructor.prototype;\n } return O instanceof Object ? ObjectProto : null;\n};\n\n\n/***/ }),\n/* 228 */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = { \"default\": __webpack_require__(485), __esModule: true };\n\n/***/ }),\n/* 229 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n// ECMAScript 6 symbols shim\nvar global = __webpack_require__(22);\nvar has = __webpack_require__(72);\nvar DESCRIPTORS = __webpack_require__(39);\nvar $export = __webpack_require__(21);\nvar redefine = __webpack_require__(222);\nvar META = __webpack_require__(230).KEY;\nvar $fails = __webpack_require__(79);\nvar shared = __webpack_require__(161);\nvar setToStringTag = __webpack_require__(117);\nvar uid = __webpack_require__(116);\nvar wks = __webpack_require__(23);\nvar wksExt = __webpack_require__(119);\nvar wksDefine = __webpack_require__(163);\nvar enumKeys = __webpack_require__(486);\nvar isArray = __webpack_require__(487);\nvar anObject = __webpack_require__(45);\nvar isObject = __webpack_require__(46);\nvar toObject = __webpack_require__(82);\nvar toIObject = __webpack_require__(56);\nvar toPrimitive = __webpack_require__(157);\nvar createDesc = __webpack_require__(92);\nvar _create = __webpack_require__(158);\nvar gOPNExt = __webpack_require__(231);\nvar $GOPD = __webpack_require__(165);\nvar $GOPS = __webpack_require__(164);\nvar $DP = __webpack_require__(50);\nvar $keys = __webpack_require__(81);\nvar gOPD = $GOPD.f;\nvar dP = $DP.f;\nvar gOPN = gOPNExt.f;\nvar $Symbol = global.Symbol;\nvar $JSON = global.JSON;\nvar _stringify = $JSON && $JSON.stringify;\nvar PROTOTYPE = 'prototype';\nvar HIDDEN = wks('_hidden');\nvar TO_PRIMITIVE = wks('toPrimitive');\nvar isEnum = {}.propertyIsEnumerable;\nvar SymbolRegistry = shared('symbol-registry');\nvar AllSymbols = shared('symbols');\nvar OPSymbols = shared('op-symbols');\nvar ObjectProto = Object[PROTOTYPE];\nvar USE_NATIVE = typeof $Symbol == 'function' && !!$GOPS.f;\nvar QObject = global.QObject;\n// Don't use setters in Qt Script, https://github.com/zloirock/core-js/issues/173\nvar setter = !QObject || !QObject[PROTOTYPE] || !QObject[PROTOTYPE].findChild;\n\n// fallback for old Android, https://code.google.com/p/v8/issues/detail?id=687\nvar setSymbolDesc = DESCRIPTORS && $fails(function () {\n return _create(dP({}, 'a', {\n get: function () { return dP(this, 'a', { value: 7 }).a; }\n })).a != 7;\n}) ? function (it, key, D) {\n var protoDesc = gOPD(ObjectProto, key);\n if (protoDesc) delete ObjectProto[key];\n dP(it, key, D);\n if (protoDesc && it !== ObjectProto) dP(ObjectProto, key, protoDesc);\n} : dP;\n\nvar wrap = function (tag) {\n var sym = AllSymbols[tag] = _create($Symbol[PROTOTYPE]);\n sym._k = tag;\n return sym;\n};\n\nvar isSymbol = USE_NATIVE && typeof $Symbol.iterator == 'symbol' ? function (it) {\n return typeof it == 'symbol';\n} : function (it) {\n return it instanceof $Symbol;\n};\n\nvar $defineProperty = function defineProperty(it, key, D) {\n if (it === ObjectProto) $defineProperty(OPSymbols, key, D);\n anObject(it);\n key = toPrimitive(key, true);\n anObject(D);\n if (has(AllSymbols, key)) {\n if (!D.enumerable) {\n if (!has(it, HIDDEN)) dP(it, HIDDEN, createDesc(1, {}));\n it[HIDDEN][key] = true;\n } else {\n if (has(it, HIDDEN) && it[HIDDEN][key]) it[HIDDEN][key] = false;\n D = _create(D, { enumerable: createDesc(0, false) });\n } return setSymbolDesc(it, key, D);\n } return dP(it, key, D);\n};\nvar $defineProperties = function defineProperties(it, P) {\n anObject(it);\n var keys = enumKeys(P = toIObject(P));\n var i = 0;\n var l = keys.length;\n var key;\n while (l > i) $defineProperty(it, key = keys[i++], P[key]);\n return it;\n};\nvar $create = function create(it, P) {\n return P === undefined ? _create(it) : $defineProperties(_create(it), P);\n};\nvar $propertyIsEnumerable = function propertyIsEnumerable(key) {\n var E = isEnum.call(this, key = toPrimitive(key, true));\n if (this === ObjectProto && has(AllSymbols, key) && !has(OPSymbols, key)) return false;\n return E || !has(this, key) || !has(AllSymbols, key) || has(this, HIDDEN) && this[HIDDEN][key] ? E : true;\n};\nvar $getOwnPropertyDescriptor = function getOwnPropertyDescriptor(it, key) {\n it = toIObject(it);\n key = toPrimitive(key, true);\n if (it === ObjectProto && has(AllSymbols, key) && !has(OPSymbols, key)) return;\n var D = gOPD(it, key);\n if (D && has(AllSymbols, key) && !(has(it, HIDDEN) && it[HIDDEN][key])) D.enumerable = true;\n return D;\n};\nvar $getOwnPropertyNames = function getOwnPropertyNames(it) {\n var names = gOPN(toIObject(it));\n var result = [];\n var i = 0;\n var key;\n while (names.length > i) {\n if (!has(AllSymbols, key = names[i++]) && key != HIDDEN && key != META) result.push(key);\n } return result;\n};\nvar $getOwnPropertySymbols = function getOwnPropertySymbols(it) {\n var IS_OP = it === ObjectProto;\n var names = gOPN(IS_OP ? OPSymbols : toIObject(it));\n var result = [];\n var i = 0;\n var key;\n while (names.length > i) {\n if (has(AllSymbols, key = names[i++]) && (IS_OP ? has(ObjectProto, key) : true)) result.push(AllSymbols[key]);\n } return result;\n};\n\n// 19.4.1.1 Symbol([description])\nif (!USE_NATIVE) {\n $Symbol = function Symbol() {\n if (this instanceof $Symbol) throw TypeError('Symbol is not a constructor!');\n var tag = uid(arguments.length > 0 ? arguments[0] : undefined);\n var $set = function (value) {\n if (this === ObjectProto) $set.call(OPSymbols, value);\n if (has(this, HIDDEN) && has(this[HIDDEN], tag)) this[HIDDEN][tag] = false;\n setSymbolDesc(this, tag, createDesc(1, value));\n };\n if (DESCRIPTORS && setter) setSymbolDesc(ObjectProto, tag, { configurable: true, set: $set });\n return wrap(tag);\n };\n redefine($Symbol[PROTOTYPE], 'toString', function toString() {\n return this._k;\n });\n\n $GOPD.f = $getOwnPropertyDescriptor;\n $DP.f = $defineProperty;\n __webpack_require__(232).f = gOPNExt.f = $getOwnPropertyNames;\n __webpack_require__(94).f = $propertyIsEnumerable;\n $GOPS.f = $getOwnPropertySymbols;\n\n if (DESCRIPTORS && !__webpack_require__(91)) {\n redefine(ObjectProto, 'propertyIsEnumerable', $propertyIsEnumerable, true);\n }\n\n wksExt.f = function (name) {\n return wrap(wks(name));\n };\n}\n\n$export($export.G + $export.W + $export.F * !USE_NATIVE, { Symbol: $Symbol });\n\nfor (var es6Symbols = (\n // 19.4.2.2, 19.4.2.3, 19.4.2.4, 19.4.2.6, 19.4.2.8, 19.4.2.9, 19.4.2.10, 19.4.2.11, 19.4.2.12, 19.4.2.13, 19.4.2.14\n 'hasInstance,isConcatSpreadable,iterator,match,replace,search,species,split,toPrimitive,toStringTag,unscopables'\n).split(','), j = 0; es6Symbols.length > j;)wks(es6Symbols[j++]);\n\nfor (var wellKnownSymbols = $keys(wks.store), k = 0; wellKnownSymbols.length > k;) wksDefine(wellKnownSymbols[k++]);\n\n$export($export.S + $export.F * !USE_NATIVE, 'Symbol', {\n // 19.4.2.1 Symbol.for(key)\n 'for': function (key) {\n return has(SymbolRegistry, key += '')\n ? SymbolRegistry[key]\n : SymbolRegistry[key] = $Symbol(key);\n },\n // 19.4.2.5 Symbol.keyFor(sym)\n keyFor: function keyFor(sym) {\n if (!isSymbol(sym)) throw TypeError(sym + ' is not a symbol!');\n for (var key in SymbolRegistry) if (SymbolRegistry[key] === sym) return key;\n },\n useSetter: function () { setter = true; },\n useSimple: function () { setter = false; }\n});\n\n$export($export.S + $export.F * !USE_NATIVE, 'Object', {\n // 19.1.2.2 Object.create(O [, Properties])\n create: $create,\n // 19.1.2.4 Object.defineProperty(O, P, Attributes)\n defineProperty: $defineProperty,\n // 19.1.2.3 Object.defineProperties(O, Properties)\n defineProperties: $defineProperties,\n // 19.1.2.6 Object.getOwnPropertyDescriptor(O, P)\n getOwnPropertyDescriptor: $getOwnPropertyDescriptor,\n // 19.1.2.7 Object.getOwnPropertyNames(O)\n getOwnPropertyNames: $getOwnPropertyNames,\n // 19.1.2.8 Object.getOwnPropertySymbols(O)\n getOwnPropertySymbols: $getOwnPropertySymbols\n});\n\n// Chrome 38 and 39 `Object.getOwnPropertySymbols` fails on primitives\n// https://bugs.chromium.org/p/v8/issues/detail?id=3443\nvar FAILS_ON_PRIMITIVES = $fails(function () { $GOPS.f(1); });\n\n$export($export.S + $export.F * FAILS_ON_PRIMITIVES, 'Object', {\n getOwnPropertySymbols: function getOwnPropertySymbols(it) {\n return $GOPS.f(toObject(it));\n }\n});\n\n// 24.3.2 JSON.stringify(value [, replacer [, space]])\n$JSON && $export($export.S + $export.F * (!USE_NATIVE || $fails(function () {\n var S = $Symbol();\n // MS Edge converts symbol values to JSON as {}\n // WebKit converts symbol values to JSON as null\n // V8 throws on boxed symbols\n return _stringify([S]) != '[null]' || _stringify({ a: S }) != '{}' || _stringify(Object(S)) != '{}';\n})), 'JSON', {\n stringify: function stringify(it) {\n var args = [it];\n var i = 1;\n var replacer, $replacer;\n while (arguments.length > i) args.push(arguments[i++]);\n $replacer = replacer = args[1];\n if (!isObject(replacer) && it === undefined || isSymbol(it)) return; // IE8 returns string on undefined\n if (!isArray(replacer)) replacer = function (key, value) {\n if (typeof $replacer == 'function') value = $replacer.call(this, key, value);\n if (!isSymbol(value)) return value;\n };\n args[1] = replacer;\n return _stringify.apply($JSON, args);\n }\n});\n\n// 19.4.3.4 Symbol.prototype[@@toPrimitive](hint)\n$Symbol[PROTOTYPE][TO_PRIMITIVE] || __webpack_require__(71)($Symbol[PROTOTYPE], TO_PRIMITIVE, $Symbol[PROTOTYPE].valueOf);\n// 19.4.3.5 Symbol.prototype[@@toStringTag]\nsetToStringTag($Symbol, 'Symbol');\n// 20.2.1.9 Math[@@toStringTag]\nsetToStringTag(Math, 'Math', true);\n// 24.3.3 JSON[@@toStringTag]\nsetToStringTag(global.JSON, 'JSON', true);\n\n\n/***/ }),\n/* 230 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar META = __webpack_require__(116)('meta');\nvar isObject = __webpack_require__(46);\nvar has = __webpack_require__(72);\nvar setDesc = __webpack_require__(50).f;\nvar id = 0;\nvar isExtensible = Object.isExtensible || function () {\n return true;\n};\nvar FREEZE = !__webpack_require__(79)(function () {\n return isExtensible(Object.preventExtensions({}));\n});\nvar setMeta = function (it) {\n setDesc(it, META, { value: {\n i: 'O' + ++id, // object ID\n w: {} // weak collections IDs\n } });\n};\nvar fastKey = function (it, create) {\n // return primitive with prefix\n if (!isObject(it)) return typeof it == 'symbol' ? it : (typeof it == 'string' ? 'S' : 'P') + it;\n if (!has(it, META)) {\n // can't set metadata to uncaught frozen object\n if (!isExtensible(it)) return 'F';\n // not necessary to add metadata\n if (!create) return 'E';\n // add missing metadata\n setMeta(it);\n // return object ID\n } return it[META].i;\n};\nvar getWeak = function (it, create) {\n if (!has(it, META)) {\n // can't set metadata to uncaught frozen object\n if (!isExtensible(it)) return true;\n // not necessary to add metadata\n if (!create) return false;\n // add missing metadata\n setMeta(it);\n // return hash weak collections IDs\n } return it[META].w;\n};\n// add metadata on freeze-family methods calling\nvar onFreeze = function (it) {\n if (FREEZE && meta.NEED && isExtensible(it) && !has(it, META)) setMeta(it);\n return it;\n};\nvar meta = module.exports = {\n KEY: META,\n NEED: false,\n fastKey: fastKey,\n getWeak: getWeak,\n onFreeze: onFreeze\n};\n\n\n/***/ }),\n/* 231 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// fallback for IE11 buggy Object.getOwnPropertyNames with iframe and window\nvar toIObject = __webpack_require__(56);\nvar gOPN = __webpack_require__(232).f;\nvar toString = {}.toString;\n\nvar windowNames = typeof window == 'object' && window && Object.getOwnPropertyNames\n ? Object.getOwnPropertyNames(window) : [];\n\nvar getWindowNames = function (it) {\n try {\n return gOPN(it);\n } catch (e) {\n return windowNames.slice();\n }\n};\n\nmodule.exports.f = function getOwnPropertyNames(it) {\n return windowNames && toString.call(it) == '[object Window]' ? getWindowNames(it) : gOPN(toIObject(it));\n};\n\n\n/***/ }),\n/* 232 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 19.1.2.7 / 15.2.3.4 Object.getOwnPropertyNames(O)\nvar $keys = __webpack_require__(224);\nvar hiddenKeys = __webpack_require__(162).concat('length', 'prototype');\n\nexports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {\n return $keys(O, hiddenKeys);\n};\n\n\n/***/ }),\n/* 233 */\n/***/ (function(module, exports, __webpack_require__) {\n\n/**!\n\n @license\n handlebars v4.7.6\n\nCopyright (C) 2011-2019 by Yehuda Katz\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in\nall copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\nTHE SOFTWARE.\n\n*/\n(function webpackUniversalModuleDefinition(root, factory) {\n\tif(true)\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"Handlebars\"] = factory();\n\telse\n\t\troot[\"Handlebars\"] = factory();\n})(this, function() {\nreturn /******/ (function(modules) { // webpackBootstrap\n/******/ \t// The module cache\n/******/ \tvar installedModules = {};\n\n/******/ \t// The require function\n/******/ \tfunction __webpack_require__(moduleId) {\n\n/******/ \t\t// Check if module is in cache\n/******/ \t\tif(installedModules[moduleId])\n/******/ \t\t\treturn installedModules[moduleId].exports;\n\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = installedModules[moduleId] = {\n/******/ \t\t\texports: {},\n/******/ \t\t\tid: moduleId,\n/******/ \t\t\tloaded: false\n/******/ \t\t};\n\n/******/ \t\t// Execute the module function\n/******/ \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n/******/ \t\t// Flag the module as loaded\n/******/ \t\tmodule.loaded = true;\n\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n\n\n/******/ \t// expose the modules object (__webpack_modules__)\n/******/ \t__webpack_require__.m = modules;\n\n/******/ \t// expose the module cache\n/******/ \t__webpack_require__.c = installedModules;\n\n/******/ \t// __webpack_public_path__\n/******/ \t__webpack_require__.p = \"\";\n\n/******/ \t// Load entry module and return exports\n/******/ \treturn __webpack_require__(0);\n/******/ })\n/************************************************************************/\n/******/ ([\n/* 0 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\n\tvar _interopRequireDefault = __webpack_require__(1)['default'];\n\n\texports.__esModule = true;\n\n\tvar _handlebarsRuntime = __webpack_require__(2);\n\n\tvar _handlebarsRuntime2 = _interopRequireDefault(_handlebarsRuntime);\n\n\t// Compiler imports\n\n\tvar _handlebarsCompilerAst = __webpack_require__(45);\n\n\tvar _handlebarsCompilerAst2 = _interopRequireDefault(_handlebarsCompilerAst);\n\n\tvar _handlebarsCompilerBase = __webpack_require__(46);\n\n\tvar _handlebarsCompilerCompiler = __webpack_require__(51);\n\n\tvar _handlebarsCompilerJavascriptCompiler = __webpack_require__(52);\n\n\tvar _handlebarsCompilerJavascriptCompiler2 = _interopRequireDefault(_handlebarsCompilerJavascriptCompiler);\n\n\tvar _handlebarsCompilerVisitor = __webpack_require__(49);\n\n\tvar _handlebarsCompilerVisitor2 = _interopRequireDefault(_handlebarsCompilerVisitor);\n\n\tvar _handlebarsNoConflict = __webpack_require__(44);\n\n\tvar _handlebarsNoConflict2 = _interopRequireDefault(_handlebarsNoConflict);\n\n\tvar _create = _handlebarsRuntime2['default'].create;\n\tfunction create() {\n\t var hb = _create();\n\n\t hb.compile = function (input, options) {\n\t return _handlebarsCompilerCompiler.compile(input, options, hb);\n\t };\n\t hb.precompile = function (input, options) {\n\t return _handlebarsCompilerCompiler.precompile(input, options, hb);\n\t };\n\n\t hb.AST = _handlebarsCompilerAst2['default'];\n\t hb.Compiler = _handlebarsCompilerCompiler.Compiler;\n\t hb.JavaScriptCompiler = _handlebarsCompilerJavascriptCompiler2['default'];\n\t hb.Parser = _handlebarsCompilerBase.parser;\n\t hb.parse = _handlebarsCompilerBase.parse;\n\t hb.parseWithoutProcessing = _handlebarsCompilerBase.parseWithoutProcessing;\n\n\t return hb;\n\t}\n\n\tvar inst = create();\n\tinst.create = create;\n\n\t_handlebarsNoConflict2['default'](inst);\n\n\tinst.Visitor = _handlebarsCompilerVisitor2['default'];\n\n\tinst['default'] = inst;\n\n\texports['default'] = inst;\n\tmodule.exports = exports['default'];\n\n/***/ }),\n/* 1 */\n/***/ (function(module, exports) {\n\n\t\"use strict\";\n\n\texports[\"default\"] = function (obj) {\n\t return obj && obj.__esModule ? obj : {\n\t \"default\": obj\n\t };\n\t};\n\n\texports.__esModule = true;\n\n/***/ }),\n/* 2 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\n\tvar _interopRequireWildcard = __webpack_require__(3)['default'];\n\n\tvar _interopRequireDefault = __webpack_require__(1)['default'];\n\n\texports.__esModule = true;\n\n\tvar _handlebarsBase = __webpack_require__(4);\n\n\tvar base = _interopRequireWildcard(_handlebarsBase);\n\n\t// Each of these augment the Handlebars object. No need to setup here.\n\t// (This is done to easily share code between commonjs and browse envs)\n\n\tvar _handlebarsSafeString = __webpack_require__(37);\n\n\tvar _handlebarsSafeString2 = _interopRequireDefault(_handlebarsSafeString);\n\n\tvar _handlebarsException = __webpack_require__(6);\n\n\tvar _handlebarsException2 = _interopRequireDefault(_handlebarsException);\n\n\tvar _handlebarsUtils = __webpack_require__(5);\n\n\tvar Utils = _interopRequireWildcard(_handlebarsUtils);\n\n\tvar _handlebarsRuntime = __webpack_require__(38);\n\n\tvar runtime = _interopRequireWildcard(_handlebarsRuntime);\n\n\tvar _handlebarsNoConflict = __webpack_require__(44);\n\n\tvar _handlebarsNoConflict2 = _interopRequireDefault(_handlebarsNoConflict);\n\n\t// For compatibility and usage outside of module systems, make the Handlebars object a namespace\n\tfunction create() {\n\t var hb = new base.HandlebarsEnvironment();\n\n\t Utils.extend(hb, base);\n\t hb.SafeString = _handlebarsSafeString2['default'];\n\t hb.Exception = _handlebarsException2['default'];\n\t hb.Utils = Utils;\n\t hb.escapeExpression = Utils.escapeExpression;\n\n\t hb.VM = runtime;\n\t hb.template = function (spec) {\n\t return runtime.template(spec, hb);\n\t };\n\n\t return hb;\n\t}\n\n\tvar inst = create();\n\tinst.create = create;\n\n\t_handlebarsNoConflict2['default'](inst);\n\n\tinst['default'] = inst;\n\n\texports['default'] = inst;\n\tmodule.exports = exports['default'];\n\n/***/ }),\n/* 3 */\n/***/ (function(module, exports) {\n\n\t\"use strict\";\n\n\texports[\"default\"] = function (obj) {\n\t if (obj && obj.__esModule) {\n\t return obj;\n\t } else {\n\t var newObj = {};\n\n\t if (obj != null) {\n\t for (var key in obj) {\n\t if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key];\n\t }\n\t }\n\n\t newObj[\"default\"] = obj;\n\t return newObj;\n\t }\n\t};\n\n\texports.__esModule = true;\n\n/***/ }),\n/* 4 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\n\tvar _interopRequireDefault = __webpack_require__(1)['default'];\n\n\texports.__esModule = true;\n\texports.HandlebarsEnvironment = HandlebarsEnvironment;\n\n\tvar _utils = __webpack_require__(5);\n\n\tvar _exception = __webpack_require__(6);\n\n\tvar _exception2 = _interopRequireDefault(_exception);\n\n\tvar _helpers = __webpack_require__(10);\n\n\tvar _decorators = __webpack_require__(30);\n\n\tvar _logger = __webpack_require__(32);\n\n\tvar _logger2 = _interopRequireDefault(_logger);\n\n\tvar _internalProtoAccess = __webpack_require__(33);\n\n\tvar VERSION = '4.7.6';\n\texports.VERSION = VERSION;\n\tvar COMPILER_REVISION = 8;\n\texports.COMPILER_REVISION = COMPILER_REVISION;\n\tvar LAST_COMPATIBLE_COMPILER_REVISION = 7;\n\n\texports.LAST_COMPATIBLE_COMPILER_REVISION = LAST_COMPATIBLE_COMPILER_REVISION;\n\tvar REVISION_CHANGES = {\n\t 1: '<= 1.0.rc.2', // 1.0.rc.2 is actually rev2 but doesn't report it\n\t 2: '== 1.0.0-rc.3',\n\t 3: '== 1.0.0-rc.4',\n\t 4: '== 1.x.x',\n\t 5: '== 2.0.0-alpha.x',\n\t 6: '>= 2.0.0-beta.1',\n\t 7: '>= 4.0.0 <4.3.0',\n\t 8: '>= 4.3.0'\n\t};\n\n\texports.REVISION_CHANGES = REVISION_CHANGES;\n\tvar objectType = '[object Object]';\n\n\tfunction HandlebarsEnvironment(helpers, partials, decorators) {\n\t this.helpers = helpers || {};\n\t this.partials = partials || {};\n\t this.decorators = decorators || {};\n\n\t _helpers.registerDefaultHelpers(this);\n\t _decorators.registerDefaultDecorators(this);\n\t}\n\n\tHandlebarsEnvironment.prototype = {\n\t constructor: HandlebarsEnvironment,\n\n\t logger: _logger2['default'],\n\t log: _logger2['default'].log,\n\n\t registerHelper: function registerHelper(name, fn) {\n\t if (_utils.toString.call(name) === objectType) {\n\t if (fn) {\n\t throw new _exception2['default']('Arg not supported with multiple helpers');\n\t }\n\t _utils.extend(this.helpers, name);\n\t } else {\n\t this.helpers[name] = fn;\n\t }\n\t },\n\t unregisterHelper: function unregisterHelper(name) {\n\t delete this.helpers[name];\n\t },\n\n\t registerPartial: function registerPartial(name, partial) {\n\t if (_utils.toString.call(name) === objectType) {\n\t _utils.extend(this.partials, name);\n\t } else {\n\t if (typeof partial === 'undefined') {\n\t throw new _exception2['default']('Attempting to register a partial called \"' + name + '\" as undefined');\n\t }\n\t this.partials[name] = partial;\n\t }\n\t },\n\t unregisterPartial: function unregisterPartial(name) {\n\t delete this.partials[name];\n\t },\n\n\t registerDecorator: function registerDecorator(name, fn) {\n\t if (_utils.toString.call(name) === objectType) {\n\t if (fn) {\n\t throw new _exception2['default']('Arg not supported with multiple decorators');\n\t }\n\t _utils.extend(this.decorators, name);\n\t } else {\n\t this.decorators[name] = fn;\n\t }\n\t },\n\t unregisterDecorator: function unregisterDecorator(name) {\n\t delete this.decorators[name];\n\t },\n\t /**\n\t * Reset the memory of illegal property accesses that have already been logged.\n\t * @deprecated should only be used in handlebars test-cases\n\t */\n\t resetLoggedPropertyAccesses: function resetLoggedPropertyAccesses() {\n\t _internalProtoAccess.resetLoggedProperties();\n\t }\n\t};\n\n\tvar log = _logger2['default'].log;\n\n\texports.log = log;\n\texports.createFrame = _utils.createFrame;\n\texports.logger = _logger2['default'];\n\n/***/ }),\n/* 5 */\n/***/ (function(module, exports) {\n\n\t'use strict';\n\n\texports.__esModule = true;\n\texports.extend = extend;\n\texports.indexOf = indexOf;\n\texports.escapeExpression = escapeExpression;\n\texports.isEmpty = isEmpty;\n\texports.createFrame = createFrame;\n\texports.blockParams = blockParams;\n\texports.appendContextPath = appendContextPath;\n\tvar escape = {\n\t '&': '&',\n\t '<': '<',\n\t '>': '>',\n\t '\"': '"',\n\t \"'\": ''',\n\t '`': '`',\n\t '=': '='\n\t};\n\n\tvar badChars = /[&<>\"'`=]/g,\n\t possible = /[&<>\"'`=]/;\n\n\tfunction escapeChar(chr) {\n\t return escape[chr];\n\t}\n\n\tfunction extend(obj /* , ...source */) {\n\t for (var i = 1; i < arguments.length; i++) {\n\t for (var key in arguments[i]) {\n\t if (Object.prototype.hasOwnProperty.call(arguments[i], key)) {\n\t obj[key] = arguments[i][key];\n\t }\n\t }\n\t }\n\n\t return obj;\n\t}\n\n\tvar toString = Object.prototype.toString;\n\n\texports.toString = toString;\n\t// Sourced from lodash\n\t// https://github.com/bestiejs/lodash/blob/master/LICENSE.txt\n\t/* eslint-disable func-style */\n\tvar isFunction = function isFunction(value) {\n\t return typeof value === 'function';\n\t};\n\t// fallback for older versions of Chrome and Safari\n\t/* istanbul ignore next */\n\tif (isFunction(/x/)) {\n\t exports.isFunction = isFunction = function (value) {\n\t return typeof value === 'function' && toString.call(value) === '[object Function]';\n\t };\n\t}\n\texports.isFunction = isFunction;\n\n\t/* eslint-enable func-style */\n\n\t/* istanbul ignore next */\n\tvar isArray = Array.isArray || function (value) {\n\t return value && typeof value === 'object' ? toString.call(value) === '[object Array]' : false;\n\t};\n\n\texports.isArray = isArray;\n\t// Older IE versions do not directly support indexOf so we must implement our own, sadly.\n\n\tfunction indexOf(array, value) {\n\t for (var i = 0, len = array.length; i < len; i++) {\n\t if (array[i] === value) {\n\t return i;\n\t }\n\t }\n\t return -1;\n\t}\n\n\tfunction escapeExpression(string) {\n\t if (typeof string !== 'string') {\n\t // don't escape SafeStrings, since they're already safe\n\t if (string && string.toHTML) {\n\t return string.toHTML();\n\t } else if (string == null) {\n\t return '';\n\t } else if (!string) {\n\t return string + '';\n\t }\n\n\t // Force a string conversion as this will be done by the append regardless and\n\t // the regex test will do this transparently behind the scenes, causing issues if\n\t // an object's to string has escaped characters in it.\n\t string = '' + string;\n\t }\n\n\t if (!possible.test(string)) {\n\t return string;\n\t }\n\t return string.replace(badChars, escapeChar);\n\t}\n\n\tfunction isEmpty(value) {\n\t if (!value && value !== 0) {\n\t return true;\n\t } else if (isArray(value) && value.length === 0) {\n\t return true;\n\t } else {\n\t return false;\n\t }\n\t}\n\n\tfunction createFrame(object) {\n\t var frame = extend({}, object);\n\t frame._parent = object;\n\t return frame;\n\t}\n\n\tfunction blockParams(params, ids) {\n\t params.path = ids;\n\t return params;\n\t}\n\n\tfunction appendContextPath(contextPath, id) {\n\t return (contextPath ? contextPath + '.' : '') + id;\n\t}\n\n/***/ }),\n/* 6 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\n\tvar _Object$defineProperty = __webpack_require__(7)['default'];\n\n\texports.__esModule = true;\n\tvar errorProps = ['description', 'fileName', 'lineNumber', 'endLineNumber', 'message', 'name', 'number', 'stack'];\n\n\tfunction Exception(message, node) {\n\t var loc = node && node.loc,\n\t line = undefined,\n\t endLineNumber = undefined,\n\t column = undefined,\n\t endColumn = undefined;\n\n\t if (loc) {\n\t line = loc.start.line;\n\t endLineNumber = loc.end.line;\n\t column = loc.start.column;\n\t endColumn = loc.end.column;\n\n\t message += ' - ' + line + ':' + column;\n\t }\n\n\t var tmp = Error.prototype.constructor.call(this, message);\n\n\t // Unfortunately errors are not enumerable in Chrome (at least), so `for prop in tmp` doesn't work.\n\t for (var idx = 0; idx < errorProps.length; idx++) {\n\t this[errorProps[idx]] = tmp[errorProps[idx]];\n\t }\n\n\t /* istanbul ignore else */\n\t if (Error.captureStackTrace) {\n\t Error.captureStackTrace(this, Exception);\n\t }\n\n\t try {\n\t if (loc) {\n\t this.lineNumber = line;\n\t this.endLineNumber = endLineNumber;\n\n\t // Work around issue under safari where we can't directly set the column value\n\t /* istanbul ignore next */\n\t if (_Object$defineProperty) {\n\t Object.defineProperty(this, 'column', {\n\t value: column,\n\t enumerable: true\n\t });\n\t Object.defineProperty(this, 'endColumn', {\n\t value: endColumn,\n\t enumerable: true\n\t });\n\t } else {\n\t this.column = column;\n\t this.endColumn = endColumn;\n\t }\n\t }\n\t } catch (nop) {\n\t /* Ignore if the browser is very particular */\n\t }\n\t}\n\n\tException.prototype = new Error();\n\n\texports['default'] = Exception;\n\tmodule.exports = exports['default'];\n\n/***/ }),\n/* 7 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\tmodule.exports = { \"default\": __webpack_require__(8), __esModule: true };\n\n/***/ }),\n/* 8 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar $ = __webpack_require__(9);\n\tmodule.exports = function defineProperty(it, key, desc){\n\t return $.setDesc(it, key, desc);\n\t};\n\n/***/ }),\n/* 9 */\n/***/ (function(module, exports) {\n\n\tvar $Object = Object;\n\tmodule.exports = {\n\t create: $Object.create,\n\t getProto: $Object.getPrototypeOf,\n\t isEnum: {}.propertyIsEnumerable,\n\t getDesc: $Object.getOwnPropertyDescriptor,\n\t setDesc: $Object.defineProperty,\n\t setDescs: $Object.defineProperties,\n\t getKeys: $Object.keys,\n\t getNames: $Object.getOwnPropertyNames,\n\t getSymbols: $Object.getOwnPropertySymbols,\n\t each: [].forEach\n\t};\n\n/***/ }),\n/* 10 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\n\tvar _interopRequireDefault = __webpack_require__(1)['default'];\n\n\texports.__esModule = true;\n\texports.registerDefaultHelpers = registerDefaultHelpers;\n\texports.moveHelperToHooks = moveHelperToHooks;\n\n\tvar _helpersBlockHelperMissing = __webpack_require__(11);\n\n\tvar _helpersBlockHelperMissing2 = _interopRequireDefault(_helpersBlockHelperMissing);\n\n\tvar _helpersEach = __webpack_require__(12);\n\n\tvar _helpersEach2 = _interopRequireDefault(_helpersEach);\n\n\tvar _helpersHelperMissing = __webpack_require__(25);\n\n\tvar _helpersHelperMissing2 = _interopRequireDefault(_helpersHelperMissing);\n\n\tvar _helpersIf = __webpack_require__(26);\n\n\tvar _helpersIf2 = _interopRequireDefault(_helpersIf);\n\n\tvar _helpersLog = __webpack_require__(27);\n\n\tvar _helpersLog2 = _interopRequireDefault(_helpersLog);\n\n\tvar _helpersLookup = __webpack_require__(28);\n\n\tvar _helpersLookup2 = _interopRequireDefault(_helpersLookup);\n\n\tvar _helpersWith = __webpack_require__(29);\n\n\tvar _helpersWith2 = _interopRequireDefault(_helpersWith);\n\n\tfunction registerDefaultHelpers(instance) {\n\t _helpersBlockHelperMissing2['default'](instance);\n\t _helpersEach2['default'](instance);\n\t _helpersHelperMissing2['default'](instance);\n\t _helpersIf2['default'](instance);\n\t _helpersLog2['default'](instance);\n\t _helpersLookup2['default'](instance);\n\t _helpersWith2['default'](instance);\n\t}\n\n\tfunction moveHelperToHooks(instance, helperName, keepHelper) {\n\t if (instance.helpers[helperName]) {\n\t instance.hooks[helperName] = instance.helpers[helperName];\n\t if (!keepHelper) {\n\t delete instance.helpers[helperName];\n\t }\n\t }\n\t}\n\n/***/ }),\n/* 11 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\n\texports.__esModule = true;\n\n\tvar _utils = __webpack_require__(5);\n\n\texports['default'] = function (instance) {\n\t instance.registerHelper('blockHelperMissing', function (context, options) {\n\t var inverse = options.inverse,\n\t fn = options.fn;\n\n\t if (context === true) {\n\t return fn(this);\n\t } else if (context === false || context == null) {\n\t return inverse(this);\n\t } else if (_utils.isArray(context)) {\n\t if (context.length > 0) {\n\t if (options.ids) {\n\t options.ids = [options.name];\n\t }\n\n\t return instance.helpers.each(context, options);\n\t } else {\n\t return inverse(this);\n\t }\n\t } else {\n\t if (options.data && options.ids) {\n\t var data = _utils.createFrame(options.data);\n\t data.contextPath = _utils.appendContextPath(options.data.contextPath, options.name);\n\t options = { data: data };\n\t }\n\n\t return fn(context, options);\n\t }\n\t });\n\t};\n\n\tmodule.exports = exports['default'];\n\n/***/ }),\n/* 12 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t/* WEBPACK VAR INJECTION */(function(global) {'use strict';\n\n\tvar _Object$keys = __webpack_require__(13)['default'];\n\n\tvar _interopRequireDefault = __webpack_require__(1)['default'];\n\n\texports.__esModule = true;\n\n\tvar _utils = __webpack_require__(5);\n\n\tvar _exception = __webpack_require__(6);\n\n\tvar _exception2 = _interopRequireDefault(_exception);\n\n\texports['default'] = function (instance) {\n\t instance.registerHelper('each', function (context, options) {\n\t if (!options) {\n\t throw new _exception2['default']('Must pass iterator to #each');\n\t }\n\n\t var fn = options.fn,\n\t inverse = options.inverse,\n\t i = 0,\n\t ret = '',\n\t data = undefined,\n\t contextPath = undefined;\n\n\t if (options.data && options.ids) {\n\t contextPath = _utils.appendContextPath(options.data.contextPath, options.ids[0]) + '.';\n\t }\n\n\t if (_utils.isFunction(context)) {\n\t context = context.call(this);\n\t }\n\n\t if (options.data) {\n\t data = _utils.createFrame(options.data);\n\t }\n\n\t function execIteration(field, index, last) {\n\t if (data) {\n\t data.key = field;\n\t data.index = index;\n\t data.first = index === 0;\n\t data.last = !!last;\n\n\t if (contextPath) {\n\t data.contextPath = contextPath + field;\n\t }\n\t }\n\n\t ret = ret + fn(context[field], {\n\t data: data,\n\t blockParams: _utils.blockParams([context[field], field], [contextPath + field, null])\n\t });\n\t }\n\n\t if (context && typeof context === 'object') {\n\t if (_utils.isArray(context)) {\n\t for (var j = context.length; i < j; i++) {\n\t if (i in context) {\n\t execIteration(i, i, i === context.length - 1);\n\t }\n\t }\n\t } else if (global.Symbol && context[global.Symbol.iterator]) {\n\t var newContext = [];\n\t var iterator = context[global.Symbol.iterator]();\n\t for (var it = iterator.next(); !it.done; it = iterator.next()) {\n\t newContext.push(it.value);\n\t }\n\t context = newContext;\n\t for (var j = context.length; i < j; i++) {\n\t execIteration(i, i, i === context.length - 1);\n\t }\n\t } else {\n\t (function () {\n\t var priorKey = undefined;\n\n\t _Object$keys(context).forEach(function (key) {\n\t // We're running the iterations one step out of sync so we can detect\n\t // the last iteration without have to scan the object twice and create\n\t // an itermediate keys array.\n\t if (priorKey !== undefined) {\n\t execIteration(priorKey, i - 1);\n\t }\n\t priorKey = key;\n\t i++;\n\t });\n\t if (priorKey !== undefined) {\n\t execIteration(priorKey, i - 1, true);\n\t }\n\t })();\n\t }\n\t }\n\n\t if (i === 0) {\n\t ret = inverse(this);\n\t }\n\n\t return ret;\n\t });\n\t};\n\n\tmodule.exports = exports['default'];\n\t/* WEBPACK VAR INJECTION */}.call(exports, (function() { return this; }())))\n\n/***/ }),\n/* 13 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\tmodule.exports = { \"default\": __webpack_require__(14), __esModule: true };\n\n/***/ }),\n/* 14 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t__webpack_require__(15);\n\tmodule.exports = __webpack_require__(21).Object.keys;\n\n/***/ }),\n/* 15 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t// 19.1.2.14 Object.keys(O)\n\tvar toObject = __webpack_require__(16);\n\n\t__webpack_require__(18)('keys', function($keys){\n\t return function keys(it){\n\t return $keys(toObject(it));\n\t };\n\t});\n\n/***/ }),\n/* 16 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t// 7.1.13 ToObject(argument)\n\tvar defined = __webpack_require__(17);\n\tmodule.exports = function(it){\n\t return Object(defined(it));\n\t};\n\n/***/ }),\n/* 17 */\n/***/ (function(module, exports) {\n\n\t// 7.2.1 RequireObjectCoercible(argument)\n\tmodule.exports = function(it){\n\t if(it == undefined)throw TypeError(\"Can't call method on \" + it);\n\t return it;\n\t};\n\n/***/ }),\n/* 18 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t// most Object methods by ES6 should accept primitives\n\tvar $export = __webpack_require__(19)\n\t , core = __webpack_require__(21)\n\t , fails = __webpack_require__(24);\n\tmodule.exports = function(KEY, exec){\n\t var fn = (core.Object || {})[KEY] || Object[KEY]\n\t , exp = {};\n\t exp[KEY] = exec(fn);\n\t $export($export.S + $export.F * fails(function(){ fn(1); }), 'Object', exp);\n\t};\n\n/***/ }),\n/* 19 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar global = __webpack_require__(20)\n\t , core = __webpack_require__(21)\n\t , ctx = __webpack_require__(22)\n\t , PROTOTYPE = 'prototype';\n\n\tvar $export = function(type, name, source){\n\t var IS_FORCED = type & $export.F\n\t , IS_GLOBAL = type & $export.G\n\t , IS_STATIC = type & $export.S\n\t , IS_PROTO = type & $export.P\n\t , IS_BIND = type & $export.B\n\t , IS_WRAP = type & $export.W\n\t , exports = IS_GLOBAL ? core : core[name] || (core[name] = {})\n\t , target = IS_GLOBAL ? global : IS_STATIC ? global[name] : (global[name] || {})[PROTOTYPE]\n\t , key, own, out;\n\t if(IS_GLOBAL)source = name;\n\t for(key in source){\n\t // contains in native\n\t own = !IS_FORCED && target && key in target;\n\t if(own && key in exports)continue;\n\t // export native or passed\n\t out = own ? target[key] : source[key];\n\t // prevent global pollution for namespaces\n\t exports[key] = IS_GLOBAL && typeof target[key] != 'function' ? source[key]\n\t // bind timers to global for call from export context\n\t : IS_BIND && own ? ctx(out, global)\n\t // wrap global constructors for prevent change them in library\n\t : IS_WRAP && target[key] == out ? (function(C){\n\t var F = function(param){\n\t return this instanceof C ? new C(param) : C(param);\n\t };\n\t F[PROTOTYPE] = C[PROTOTYPE];\n\t return F;\n\t // make static versions for prototype methods\n\t })(out) : IS_PROTO && typeof out == 'function' ? ctx(Function.call, out) : out;\n\t if(IS_PROTO)(exports[PROTOTYPE] || (exports[PROTOTYPE] = {}))[key] = out;\n\t }\n\t};\n\t// type bitmap\n\t$export.F = 1; // forced\n\t$export.G = 2; // global\n\t$export.S = 4; // static\n\t$export.P = 8; // proto\n\t$export.B = 16; // bind\n\t$export.W = 32; // wrap\n\tmodule.exports = $export;\n\n/***/ }),\n/* 20 */\n/***/ (function(module, exports) {\n\n\t// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028\n\tvar global = module.exports = typeof window != 'undefined' && window.Math == Math\n\t ? window : typeof self != 'undefined' && self.Math == Math ? self : Function('return this')();\n\tif(typeof __g == 'number')__g = global; // eslint-disable-line no-undef\n\n/***/ }),\n/* 21 */\n/***/ (function(module, exports) {\n\n\tvar core = module.exports = {version: '1.2.6'};\n\tif(typeof __e == 'number')__e = core; // eslint-disable-line no-undef\n\n/***/ }),\n/* 22 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t// optional / simple context binding\n\tvar aFunction = __webpack_require__(23);\n\tmodule.exports = function(fn, that, length){\n\t aFunction(fn);\n\t if(that === undefined)return fn;\n\t switch(length){\n\t case 1: return function(a){\n\t return fn.call(that, a);\n\t };\n\t case 2: return function(a, b){\n\t return fn.call(that, a, b);\n\t };\n\t case 3: return function(a, b, c){\n\t return fn.call(that, a, b, c);\n\t };\n\t }\n\t return function(/* ...args */){\n\t return fn.apply(that, arguments);\n\t };\n\t};\n\n/***/ }),\n/* 23 */\n/***/ (function(module, exports) {\n\n\tmodule.exports = function(it){\n\t if(typeof it != 'function')throw TypeError(it + ' is not a function!');\n\t return it;\n\t};\n\n/***/ }),\n/* 24 */\n/***/ (function(module, exports) {\n\n\tmodule.exports = function(exec){\n\t try {\n\t return !!exec();\n\t } catch(e){\n\t return true;\n\t }\n\t};\n\n/***/ }),\n/* 25 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\n\tvar _interopRequireDefault = __webpack_require__(1)['default'];\n\n\texports.__esModule = true;\n\n\tvar _exception = __webpack_require__(6);\n\n\tvar _exception2 = _interopRequireDefault(_exception);\n\n\texports['default'] = function (instance) {\n\t instance.registerHelper('helperMissing', function () /* [args, ]options */{\n\t if (arguments.length === 1) {\n\t // A missing field in a {{foo}} construct.\n\t return undefined;\n\t } else {\n\t // Someone is actually trying to call something, blow up.\n\t throw new _exception2['default']('Missing helper: \"' + arguments[arguments.length - 1].name + '\"');\n\t }\n\t });\n\t};\n\n\tmodule.exports = exports['default'];\n\n/***/ }),\n/* 26 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\n\tvar _interopRequireDefault = __webpack_require__(1)['default'];\n\n\texports.__esModule = true;\n\n\tvar _utils = __webpack_require__(5);\n\n\tvar _exception = __webpack_require__(6);\n\n\tvar _exception2 = _interopRequireDefault(_exception);\n\n\texports['default'] = function (instance) {\n\t instance.registerHelper('if', function (conditional, options) {\n\t if (arguments.length != 2) {\n\t throw new _exception2['default']('#if requires exactly one argument');\n\t }\n\t if (_utils.isFunction(conditional)) {\n\t conditional = conditional.call(this);\n\t }\n\n\t // Default behavior is to render the positive path if the value is truthy and not empty.\n\t // The `includeZero` option may be set to treat the condtional as purely not empty based on the\n\t // behavior of isEmpty. Effectively this determines if 0 is handled by the positive path or negative.\n\t if (!options.hash.includeZero && !conditional || _utils.isEmpty(conditional)) {\n\t return options.inverse(this);\n\t } else {\n\t return options.fn(this);\n\t }\n\t });\n\n\t instance.registerHelper('unless', function (conditional, options) {\n\t if (arguments.length != 2) {\n\t throw new _exception2['default']('#unless requires exactly one argument');\n\t }\n\t return instance.helpers['if'].call(this, conditional, {\n\t fn: options.inverse,\n\t inverse: options.fn,\n\t hash: options.hash\n\t });\n\t });\n\t};\n\n\tmodule.exports = exports['default'];\n\n/***/ }),\n/* 27 */\n/***/ (function(module, exports) {\n\n\t'use strict';\n\n\texports.__esModule = true;\n\n\texports['default'] = function (instance) {\n\t instance.registerHelper('log', function () /* message, options */{\n\t var args = [undefined],\n\t options = arguments[arguments.length - 1];\n\t for (var i = 0; i < arguments.length - 1; i++) {\n\t args.push(arguments[i]);\n\t }\n\n\t var level = 1;\n\t if (options.hash.level != null) {\n\t level = options.hash.level;\n\t } else if (options.data && options.data.level != null) {\n\t level = options.data.level;\n\t }\n\t args[0] = level;\n\n\t instance.log.apply(instance, args);\n\t });\n\t};\n\n\tmodule.exports = exports['default'];\n\n/***/ }),\n/* 28 */\n/***/ (function(module, exports) {\n\n\t'use strict';\n\n\texports.__esModule = true;\n\n\texports['default'] = function (instance) {\n\t instance.registerHelper('lookup', function (obj, field, options) {\n\t if (!obj) {\n\t // Note for 5.0: Change to \"obj == null\" in 5.0\n\t return obj;\n\t }\n\t return options.lookupProperty(obj, field);\n\t });\n\t};\n\n\tmodule.exports = exports['default'];\n\n/***/ }),\n/* 29 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\n\tvar _interopRequireDefault = __webpack_require__(1)['default'];\n\n\texports.__esModule = true;\n\n\tvar _utils = __webpack_require__(5);\n\n\tvar _exception = __webpack_require__(6);\n\n\tvar _exception2 = _interopRequireDefault(_exception);\n\n\texports['default'] = function (instance) {\n\t instance.registerHelper('with', function (context, options) {\n\t if (arguments.length != 2) {\n\t throw new _exception2['default']('#with requires exactly one argument');\n\t }\n\t if (_utils.isFunction(context)) {\n\t context = context.call(this);\n\t }\n\n\t var fn = options.fn;\n\n\t if (!_utils.isEmpty(context)) {\n\t var data = options.data;\n\t if (options.data && options.ids) {\n\t data = _utils.createFrame(options.data);\n\t data.contextPath = _utils.appendContextPath(options.data.contextPath, options.ids[0]);\n\t }\n\n\t return fn(context, {\n\t data: data,\n\t blockParams: _utils.blockParams([context], [data && data.contextPath])\n\t });\n\t } else {\n\t return options.inverse(this);\n\t }\n\t });\n\t};\n\n\tmodule.exports = exports['default'];\n\n/***/ }),\n/* 30 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\n\tvar _interopRequireDefault = __webpack_require__(1)['default'];\n\n\texports.__esModule = true;\n\texports.registerDefaultDecorators = registerDefaultDecorators;\n\n\tvar _decoratorsInline = __webpack_require__(31);\n\n\tvar _decoratorsInline2 = _interopRequireDefault(_decoratorsInline);\n\n\tfunction registerDefaultDecorators(instance) {\n\t _decoratorsInline2['default'](instance);\n\t}\n\n/***/ }),\n/* 31 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\n\texports.__esModule = true;\n\n\tvar _utils = __webpack_require__(5);\n\n\texports['default'] = function (instance) {\n\t instance.registerDecorator('inline', function (fn, props, container, options) {\n\t var ret = fn;\n\t if (!props.partials) {\n\t props.partials = {};\n\t ret = function (context, options) {\n\t // Create a new partials stack frame prior to exec.\n\t var original = container.partials;\n\t container.partials = _utils.extend({}, original, props.partials);\n\t var ret = fn(context, options);\n\t container.partials = original;\n\t return ret;\n\t };\n\t }\n\n\t props.partials[options.args[0]] = options.fn;\n\n\t return ret;\n\t });\n\t};\n\n\tmodule.exports = exports['default'];\n\n/***/ }),\n/* 32 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\n\texports.__esModule = true;\n\n\tvar _utils = __webpack_require__(5);\n\n\tvar logger = {\n\t methodMap: ['debug', 'info', 'warn', 'error'],\n\t level: 'info',\n\n\t // Maps a given level value to the `methodMap` indexes above.\n\t lookupLevel: function lookupLevel(level) {\n\t if (typeof level === 'string') {\n\t var levelMap = _utils.indexOf(logger.methodMap, level.toLowerCase());\n\t if (levelMap >= 0) {\n\t level = levelMap;\n\t } else {\n\t level = parseInt(level, 10);\n\t }\n\t }\n\n\t return level;\n\t },\n\n\t // Can be overridden in the host environment\n\t log: function log(level) {\n\t level = logger.lookupLevel(level);\n\n\t if (typeof console !== 'undefined' && logger.lookupLevel(logger.level) <= level) {\n\t var method = logger.methodMap[level];\n\t // eslint-disable-next-line no-console\n\t if (!console[method]) {\n\t method = 'log';\n\t }\n\n\t for (var _len = arguments.length, message = Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n\t message[_key - 1] = arguments[_key];\n\t }\n\n\t console[method].apply(console, message); // eslint-disable-line no-console\n\t }\n\t }\n\t};\n\n\texports['default'] = logger;\n\tmodule.exports = exports['default'];\n\n/***/ }),\n/* 33 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\n\tvar _Object$create = __webpack_require__(34)['default'];\n\n\tvar _Object$keys = __webpack_require__(13)['default'];\n\n\tvar _interopRequireWildcard = __webpack_require__(3)['default'];\n\n\texports.__esModule = true;\n\texports.createProtoAccessControl = createProtoAccessControl;\n\texports.resultIsAllowed = resultIsAllowed;\n\texports.resetLoggedProperties = resetLoggedProperties;\n\n\tvar _createNewLookupObject = __webpack_require__(36);\n\n\tvar _logger = __webpack_require__(32);\n\n\tvar logger = _interopRequireWildcard(_logger);\n\n\tvar loggedProperties = _Object$create(null);\n\n\tfunction createProtoAccessControl(runtimeOptions) {\n\t var defaultMethodWhiteList = _Object$create(null);\n\t defaultMethodWhiteList['constructor'] = false;\n\t defaultMethodWhiteList['__defineGetter__'] = false;\n\t defaultMethodWhiteList['__defineSetter__'] = false;\n\t defaultMethodWhiteList['__lookupGetter__'] = false;\n\n\t var defaultPropertyWhiteList = _Object$create(null);\n\t // eslint-disable-next-line no-proto\n\t defaultPropertyWhiteList['__proto__'] = false;\n\n\t return {\n\t properties: {\n\t whitelist: _createNewLookupObject.createNewLookupObject(defaultPropertyWhiteList, runtimeOptions.allowedProtoProperties),\n\t defaultValue: runtimeOptions.allowProtoPropertiesByDefault\n\t },\n\t methods: {\n\t whitelist: _createNewLookupObject.createNewLookupObject(defaultMethodWhiteList, runtimeOptions.allowedProtoMethods),\n\t defaultValue: runtimeOptions.allowProtoMethodsByDefault\n\t }\n\t };\n\t}\n\n\tfunction resultIsAllowed(result, protoAccessControl, propertyName) {\n\t if (typeof result === 'function') {\n\t return checkWhiteList(protoAccessControl.methods, propertyName);\n\t } else {\n\t return checkWhiteList(protoAccessControl.properties, propertyName);\n\t }\n\t}\n\n\tfunction checkWhiteList(protoAccessControlForType, propertyName) {\n\t if (protoAccessControlForType.whitelist[propertyName] !== undefined) {\n\t return protoAccessControlForType.whitelist[propertyName] === true;\n\t }\n\t if (protoAccessControlForType.defaultValue !== undefined) {\n\t return protoAccessControlForType.defaultValue;\n\t }\n\t logUnexpecedPropertyAccessOnce(propertyName);\n\t return false;\n\t}\n\n\tfunction logUnexpecedPropertyAccessOnce(propertyName) {\n\t if (loggedProperties[propertyName] !== true) {\n\t loggedProperties[propertyName] = true;\n\t logger.log('error', 'Handlebars: Access has been denied to resolve the property \"' + propertyName + '\" because it is not an \"own property\" of its parent.\\n' + 'You can add a runtime option to disable the check or this warning:\\n' + 'See https://handlebarsjs.com/api-reference/runtime-options.html#options-to-control-prototype-access for details');\n\t }\n\t}\n\n\tfunction resetLoggedProperties() {\n\t _Object$keys(loggedProperties).forEach(function (propertyName) {\n\t delete loggedProperties[propertyName];\n\t });\n\t}\n\n/***/ }),\n/* 34 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\tmodule.exports = { \"default\": __webpack_require__(35), __esModule: true };\n\n/***/ }),\n/* 35 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar $ = __webpack_require__(9);\n\tmodule.exports = function create(P, D){\n\t return $.create(P, D);\n\t};\n\n/***/ }),\n/* 36 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\n\tvar _Object$create = __webpack_require__(34)['default'];\n\n\texports.__esModule = true;\n\texports.createNewLookupObject = createNewLookupObject;\n\n\tvar _utils = __webpack_require__(5);\n\n\t/**\n\t * Create a new object with \"null\"-prototype to avoid truthy results on prototype properties.\n\t * The resulting object can be used with \"object[property]\" to check if a property exists\n\t * @param {...object} sources a varargs parameter of source objects that will be merged\n\t * @returns {object}\n\t */\n\n\tfunction createNewLookupObject() {\n\t for (var _len = arguments.length, sources = Array(_len), _key = 0; _key < _len; _key++) {\n\t sources[_key] = arguments[_key];\n\t }\n\n\t return _utils.extend.apply(undefined, [_Object$create(null)].concat(sources));\n\t}\n\n/***/ }),\n/* 37 */\n/***/ (function(module, exports) {\n\n\t// Build out our basic SafeString type\n\t'use strict';\n\n\texports.__esModule = true;\n\tfunction SafeString(string) {\n\t this.string = string;\n\t}\n\n\tSafeString.prototype.toString = SafeString.prototype.toHTML = function () {\n\t return '' + this.string;\n\t};\n\n\texports['default'] = SafeString;\n\tmodule.exports = exports['default'];\n\n/***/ }),\n/* 38 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\n\tvar _Object$seal = __webpack_require__(39)['default'];\n\n\tvar _Object$keys = __webpack_require__(13)['default'];\n\n\tvar _interopRequireWildcard = __webpack_require__(3)['default'];\n\n\tvar _interopRequireDefault = __webpack_require__(1)['default'];\n\n\texports.__esModule = true;\n\texports.checkRevision = checkRevision;\n\texports.template = template;\n\texports.wrapProgram = wrapProgram;\n\texports.resolvePartial = resolvePartial;\n\texports.invokePartial = invokePartial;\n\texports.noop = noop;\n\n\tvar _utils = __webpack_require__(5);\n\n\tvar Utils = _interopRequireWildcard(_utils);\n\n\tvar _exception = __webpack_require__(6);\n\n\tvar _exception2 = _interopRequireDefault(_exception);\n\n\tvar _base = __webpack_require__(4);\n\n\tvar _helpers = __webpack_require__(10);\n\n\tvar _internalWrapHelper = __webpack_require__(43);\n\n\tvar _internalProtoAccess = __webpack_require__(33);\n\n\tfunction checkRevision(compilerInfo) {\n\t var compilerRevision = compilerInfo && compilerInfo[0] || 1,\n\t currentRevision = _base.COMPILER_REVISION;\n\n\t if (compilerRevision >= _base.LAST_COMPATIBLE_COMPILER_REVISION && compilerRevision <= _base.COMPILER_REVISION) {\n\t return;\n\t }\n\n\t if (compilerRevision < _base.LAST_COMPATIBLE_COMPILER_REVISION) {\n\t var runtimeVersions = _base.REVISION_CHANGES[currentRevision],\n\t compilerVersions = _base.REVISION_CHANGES[compilerRevision];\n\t throw new _exception2['default']('Template was precompiled with an older version of Handlebars than the current runtime. ' + 'Please update your precompiler to a newer version (' + runtimeVersions + ') or downgrade your runtime to an older version (' + compilerVersions + ').');\n\t } else {\n\t // Use the embedded version info since the runtime doesn't know about this revision yet\n\t throw new _exception2['default']('Template was precompiled with a newer version of Handlebars than the current runtime. ' + 'Please update your runtime to a newer version (' + compilerInfo[1] + ').');\n\t }\n\t}\n\n\tfunction template(templateSpec, env) {\n\t /* istanbul ignore next */\n\t if (!env) {\n\t throw new _exception2['default']('No environment passed to template');\n\t }\n\t if (!templateSpec || !templateSpec.main) {\n\t throw new _exception2['default']('Unknown template object: ' + typeof templateSpec);\n\t }\n\n\t templateSpec.main.decorator = templateSpec.main_d;\n\n\t // Note: Using env.VM references rather than local var references throughout this section to allow\n\t // for external users to override these as pseudo-supported APIs.\n\t env.VM.checkRevision(templateSpec.compiler);\n\n\t // backwards compatibility for precompiled templates with compiler-version 7 (<4.3.0)\n\t var templateWasPrecompiledWithCompilerV7 = templateSpec.compiler && templateSpec.compiler[0] === 7;\n\n\t function invokePartialWrapper(partial, context, options) {\n\t if (options.hash) {\n\t context = Utils.extend({}, context, options.hash);\n\t if (options.ids) {\n\t options.ids[0] = true;\n\t }\n\t }\n\t partial = env.VM.resolvePartial.call(this, partial, context, options);\n\n\t var extendedOptions = Utils.extend({}, options, {\n\t hooks: this.hooks,\n\t protoAccessControl: this.protoAccessControl\n\t });\n\n\t var result = env.VM.invokePartial.call(this, partial, context, extendedOptions);\n\n\t if (result == null && env.compile) {\n\t options.partials[options.name] = env.compile(partial, templateSpec.compilerOptions, env);\n\t result = options.partials[options.name](context, extendedOptions);\n\t }\n\t if (result != null) {\n\t if (options.indent) {\n\t var lines = result.split('\\n');\n\t for (var i = 0, l = lines.length; i < l; i++) {\n\t if (!lines[i] && i + 1 === l) {\n\t break;\n\t }\n\n\t lines[i] = options.indent + lines[i];\n\t }\n\t result = lines.join('\\n');\n\t }\n\t return result;\n\t } else {\n\t throw new _exception2['default']('The partial ' + options.name + ' could not be compiled when running in runtime-only mode');\n\t }\n\t }\n\n\t // Just add water\n\t var container = {\n\t strict: function strict(obj, name, loc) {\n\t if (!obj || !(name in obj)) {\n\t throw new _exception2['default']('\"' + name + '\" not defined in ' + obj, {\n\t loc: loc\n\t });\n\t }\n\t return obj[name];\n\t },\n\t lookupProperty: function lookupProperty(parent, propertyName) {\n\t var result = parent[propertyName];\n\t if (result == null) {\n\t return result;\n\t }\n\t if (Object.prototype.hasOwnProperty.call(parent, propertyName)) {\n\t return result;\n\t }\n\n\t if (_internalProtoAccess.resultIsAllowed(result, container.protoAccessControl, propertyName)) {\n\t return result;\n\t }\n\t return undefined;\n\t },\n\t lookup: function lookup(depths, name) {\n\t var len = depths.length;\n\t for (var i = 0; i < len; i++) {\n\t var result = depths[i] && container.lookupProperty(depths[i], name);\n\t if (result != null) {\n\t return depths[i][name];\n\t }\n\t }\n\t },\n\t lambda: function lambda(current, context) {\n\t return typeof current === 'function' ? current.call(context) : current;\n\t },\n\n\t escapeExpression: Utils.escapeExpression,\n\t invokePartial: invokePartialWrapper,\n\n\t fn: function fn(i) {\n\t var ret = templateSpec[i];\n\t ret.decorator = templateSpec[i + '_d'];\n\t return ret;\n\t },\n\n\t programs: [],\n\t program: function program(i, data, declaredBlockParams, blockParams, depths) {\n\t var programWrapper = this.programs[i],\n\t fn = this.fn(i);\n\t if (data || depths || blockParams || declaredBlockParams) {\n\t programWrapper = wrapProgram(this, i, fn, data, declaredBlockParams, blockParams, depths);\n\t } else if (!programWrapper) {\n\t programWrapper = this.programs[i] = wrapProgram(this, i, fn);\n\t }\n\t return programWrapper;\n\t },\n\n\t data: function data(value, depth) {\n\t while (value && depth--) {\n\t value = value._parent;\n\t }\n\t return value;\n\t },\n\t mergeIfNeeded: function mergeIfNeeded(param, common) {\n\t var obj = param || common;\n\n\t if (param && common && param !== common) {\n\t obj = Utils.extend({}, common, param);\n\t }\n\n\t return obj;\n\t },\n\t // An empty object to use as replacement for null-contexts\n\t nullContext: _Object$seal({}),\n\n\t noop: env.VM.noop,\n\t compilerInfo: templateSpec.compiler\n\t };\n\n\t function ret(context) {\n\t var options = arguments.length <= 1 || arguments[1] === undefined ? {} : arguments[1];\n\n\t var data = options.data;\n\n\t ret._setup(options);\n\t if (!options.partial && templateSpec.useData) {\n\t data = initData(context, data);\n\t }\n\t var depths = undefined,\n\t blockParams = templateSpec.useBlockParams ? [] : undefined;\n\t if (templateSpec.useDepths) {\n\t if (options.depths) {\n\t depths = context != options.depths[0] ? [context].concat(options.depths) : options.depths;\n\t } else {\n\t depths = [context];\n\t }\n\t }\n\n\t function main(context /*, options*/) {\n\t return '' + templateSpec.main(container, context, container.helpers, container.partials, data, blockParams, depths);\n\t }\n\n\t main = executeDecorators(templateSpec.main, main, container, options.depths || [], data, blockParams);\n\t return main(context, options);\n\t }\n\n\t ret.isTop = true;\n\n\t ret._setup = function (options) {\n\t if (!options.partial) {\n\t var mergedHelpers = Utils.extend({}, env.helpers, options.helpers);\n\t wrapHelpersToPassLookupProperty(mergedHelpers, container);\n\t container.helpers = mergedHelpers;\n\n\t if (templateSpec.usePartial) {\n\t // Use mergeIfNeeded here to prevent compiling global partials multiple times\n\t container.partials = container.mergeIfNeeded(options.partials, env.partials);\n\t }\n\t if (templateSpec.usePartial || templateSpec.useDecorators) {\n\t container.decorators = Utils.extend({}, env.decorators, options.decorators);\n\t }\n\n\t container.hooks = {};\n\t container.protoAccessControl = _internalProtoAccess.createProtoAccessControl(options);\n\n\t var keepHelperInHelpers = options.allowCallsToHelperMissing || templateWasPrecompiledWithCompilerV7;\n\t _helpers.moveHelperToHooks(container, 'helperMissing', keepHelperInHelpers);\n\t _helpers.moveHelperToHooks(container, 'blockHelperMissing', keepHelperInHelpers);\n\t } else {\n\t container.protoAccessControl = options.protoAccessControl; // internal option\n\t container.helpers = options.helpers;\n\t container.partials = options.partials;\n\t container.decorators = options.decorators;\n\t container.hooks = options.hooks;\n\t }\n\t };\n\n\t ret._child = function (i, data, blockParams, depths) {\n\t if (templateSpec.useBlockParams && !blockParams) {\n\t throw new _exception2['default']('must pass block params');\n\t }\n\t if (templateSpec.useDepths && !depths) {\n\t throw new _exception2['default']('must pass parent depths');\n\t }\n\n\t return wrapProgram(container, i, templateSpec[i], data, 0, blockParams, depths);\n\t };\n\t return ret;\n\t}\n\n\tfunction wrapProgram(container, i, fn, data, declaredBlockParams, blockParams, depths) {\n\t function prog(context) {\n\t var options = arguments.length <= 1 || arguments[1] === undefined ? {} : arguments[1];\n\n\t var currentDepths = depths;\n\t if (depths && context != depths[0] && !(context === container.nullContext && depths[0] === null)) {\n\t currentDepths = [context].concat(depths);\n\t }\n\n\t return fn(container, context, container.helpers, container.partials, options.data || data, blockParams && [options.blockParams].concat(blockParams), currentDepths);\n\t }\n\n\t prog = executeDecorators(fn, prog, container, depths, data, blockParams);\n\n\t prog.program = i;\n\t prog.depth = depths ? depths.length : 0;\n\t prog.blockParams = declaredBlockParams || 0;\n\t return prog;\n\t}\n\n\t/**\n\t * This is currently part of the official API, therefore implementation details should not be changed.\n\t */\n\n\tfunction resolvePartial(partial, context, options) {\n\t if (!partial) {\n\t if (options.name === '@partial-block') {\n\t partial = options.data['partial-block'];\n\t } else {\n\t partial = options.partials[options.name];\n\t }\n\t } else if (!partial.call && !options.name) {\n\t // This is a dynamic partial that returned a string\n\t options.name = partial;\n\t partial = options.partials[partial];\n\t }\n\t return partial;\n\t}\n\n\tfunction invokePartial(partial, context, options) {\n\t // Use the current closure context to save the partial-block if this partial\n\t var currentPartialBlock = options.data && options.data['partial-block'];\n\t options.partial = true;\n\t if (options.ids) {\n\t options.data.contextPath = options.ids[0] || options.data.contextPath;\n\t }\n\n\t var partialBlock = undefined;\n\t if (options.fn && options.fn !== noop) {\n\t (function () {\n\t options.data = _base.createFrame(options.data);\n\t // Wrapper function to get access to currentPartialBlock from the closure\n\t var fn = options.fn;\n\t partialBlock = options.data['partial-block'] = function partialBlockWrapper(context) {\n\t var options = arguments.length <= 1 || arguments[1] === undefined ? {} : arguments[1];\n\n\t // Restore the partial-block from the closure for the execution of the block\n\t // i.e. the part inside the block of the partial call.\n\t options.data = _base.createFrame(options.data);\n\t options.data['partial-block'] = currentPartialBlock;\n\t return fn(context, options);\n\t };\n\t if (fn.partials) {\n\t options.partials = Utils.extend({}, options.partials, fn.partials);\n\t }\n\t })();\n\t }\n\n\t if (partial === undefined && partialBlock) {\n\t partial = partialBlock;\n\t }\n\n\t if (partial === undefined) {\n\t throw new _exception2['default']('The partial ' + options.name + ' could not be found');\n\t } else if (partial instanceof Function) {\n\t return partial(context, options);\n\t }\n\t}\n\n\tfunction noop() {\n\t return '';\n\t}\n\n\tfunction initData(context, data) {\n\t if (!data || !('root' in data)) {\n\t data = data ? _base.createFrame(data) : {};\n\t data.root = context;\n\t }\n\t return data;\n\t}\n\n\tfunction executeDecorators(fn, prog, container, depths, data, blockParams) {\n\t if (fn.decorator) {\n\t var props = {};\n\t prog = fn.decorator(prog, props, container, depths && depths[0], data, blockParams, depths);\n\t Utils.extend(prog, props);\n\t }\n\t return prog;\n\t}\n\n\tfunction wrapHelpersToPassLookupProperty(mergedHelpers, container) {\n\t _Object$keys(mergedHelpers).forEach(function (helperName) {\n\t var helper = mergedHelpers[helperName];\n\t mergedHelpers[helperName] = passLookupPropertyOption(helper, container);\n\t });\n\t}\n\n\tfunction passLookupPropertyOption(helper, container) {\n\t var lookupProperty = container.lookupProperty;\n\t return _internalWrapHelper.wrapHelper(helper, function (options) {\n\t return Utils.extend({ lookupProperty: lookupProperty }, options);\n\t });\n\t}\n\n/***/ }),\n/* 39 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\tmodule.exports = { \"default\": __webpack_require__(40), __esModule: true };\n\n/***/ }),\n/* 40 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t__webpack_require__(41);\n\tmodule.exports = __webpack_require__(21).Object.seal;\n\n/***/ }),\n/* 41 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t// 19.1.2.17 Object.seal(O)\n\tvar isObject = __webpack_require__(42);\n\n\t__webpack_require__(18)('seal', function($seal){\n\t return function seal(it){\n\t return $seal && isObject(it) ? $seal(it) : it;\n\t };\n\t});\n\n/***/ }),\n/* 42 */\n/***/ (function(module, exports) {\n\n\tmodule.exports = function(it){\n\t return typeof it === 'object' ? it !== null : typeof it === 'function';\n\t};\n\n/***/ }),\n/* 43 */\n/***/ (function(module, exports) {\n\n\t'use strict';\n\n\texports.__esModule = true;\n\texports.wrapHelper = wrapHelper;\n\n\tfunction wrapHelper(helper, transformOptionsFn) {\n\t if (typeof helper !== 'function') {\n\t // This should not happen, but apparently it does in https://github.com/wycats/handlebars.js/issues/1639\n\t // We try to make the wrapper least-invasive by not wrapping it, if the helper is not a function.\n\t return helper;\n\t }\n\t var wrapper = function wrapper() /* dynamic arguments */{\n\t var options = arguments[arguments.length - 1];\n\t arguments[arguments.length - 1] = transformOptionsFn(options);\n\t return helper.apply(this, arguments);\n\t };\n\t return wrapper;\n\t}\n\n/***/ }),\n/* 44 */\n/***/ (function(module, exports) {\n\n\t/* WEBPACK VAR INJECTION */(function(global) {'use strict';\n\n\texports.__esModule = true;\n\n\texports['default'] = function (Handlebars) {\n\t /* istanbul ignore next */\n\t var root = typeof global !== 'undefined' ? global : window,\n\t $Handlebars = root.Handlebars;\n\t /* istanbul ignore next */\n\t Handlebars.noConflict = function () {\n\t if (root.Handlebars === Handlebars) {\n\t root.Handlebars = $Handlebars;\n\t }\n\t return Handlebars;\n\t };\n\t};\n\n\tmodule.exports = exports['default'];\n\t/* WEBPACK VAR INJECTION */}.call(exports, (function() { return this; }())))\n\n/***/ }),\n/* 45 */\n/***/ (function(module, exports) {\n\n\t'use strict';\n\n\texports.__esModule = true;\n\tvar AST = {\n\t // Public API used to evaluate derived attributes regarding AST nodes\n\t helpers: {\n\t // a mustache is definitely a helper if:\n\t // * it is an eligible helper, and\n\t // * it has at least one parameter or hash segment\n\t helperExpression: function helperExpression(node) {\n\t return node.type === 'SubExpression' || (node.type === 'MustacheStatement' || node.type === 'BlockStatement') && !!(node.params && node.params.length || node.hash);\n\t },\n\n\t scopedId: function scopedId(path) {\n\t return (/^\\.|this\\b/.test(path.original)\n\t );\n\t },\n\n\t // an ID is simple if it only has one part, and that part is not\n\t // `..` or `this`.\n\t simpleId: function simpleId(path) {\n\t return path.parts.length === 1 && !AST.helpers.scopedId(path) && !path.depth;\n\t }\n\t }\n\t};\n\n\t// Must be exported as an object rather than the root of the module as the jison lexer\n\t// must modify the object to operate properly.\n\texports['default'] = AST;\n\tmodule.exports = exports['default'];\n\n/***/ }),\n/* 46 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\n\tvar _interopRequireDefault = __webpack_require__(1)['default'];\n\n\tvar _interopRequireWildcard = __webpack_require__(3)['default'];\n\n\texports.__esModule = true;\n\texports.parseWithoutProcessing = parseWithoutProcessing;\n\texports.parse = parse;\n\n\tvar _parser = __webpack_require__(47);\n\n\tvar _parser2 = _interopRequireDefault(_parser);\n\n\tvar _whitespaceControl = __webpack_require__(48);\n\n\tvar _whitespaceControl2 = _interopRequireDefault(_whitespaceControl);\n\n\tvar _helpers = __webpack_require__(50);\n\n\tvar Helpers = _interopRequireWildcard(_helpers);\n\n\tvar _utils = __webpack_require__(5);\n\n\texports.parser = _parser2['default'];\n\n\tvar yy = {};\n\t_utils.extend(yy, Helpers);\n\n\tfunction parseWithoutProcessing(input, options) {\n\t // Just return if an already-compiled AST was passed in.\n\t if (input.type === 'Program') {\n\t return input;\n\t }\n\n\t _parser2['default'].yy = yy;\n\n\t // Altering the shared object here, but this is ok as parser is a sync operation\n\t yy.locInfo = function (locInfo) {\n\t return new yy.SourceLocation(options && options.srcName, locInfo);\n\t };\n\n\t var ast = _parser2['default'].parse(input);\n\n\t return ast;\n\t}\n\n\tfunction parse(input, options) {\n\t var ast = parseWithoutProcessing(input, options);\n\t var strip = new _whitespaceControl2['default'](options);\n\n\t return strip.accept(ast);\n\t}\n\n/***/ }),\n/* 47 */\n/***/ (function(module, exports) {\n\n\t// File ignored in coverage tests via setting in .istanbul.yml\n\t/* Jison generated parser */\n\t\"use strict\";\n\n\texports.__esModule = true;\n\tvar handlebars = (function () {\n\t var parser = { trace: function trace() {},\n\t yy: {},\n\t symbols_: { \"error\": 2, \"root\": 3, \"program\": 4, \"EOF\": 5, \"program_repetition0\": 6, \"statement\": 7, \"mustache\": 8, \"block\": 9, \"rawBlock\": 10, \"partial\": 11, \"partialBlock\": 12, \"content\": 13, \"COMMENT\": 14, \"CONTENT\": 15, \"openRawBlock\": 16, \"rawBlock_repetition0\": 17, \"END_RAW_BLOCK\": 18, \"OPEN_RAW_BLOCK\": 19, \"helperName\": 20, \"openRawBlock_repetition0\": 21, \"openRawBlock_option0\": 22, \"CLOSE_RAW_BLOCK\": 23, \"openBlock\": 24, \"block_option0\": 25, \"closeBlock\": 26, \"openInverse\": 27, \"block_option1\": 28, \"OPEN_BLOCK\": 29, \"openBlock_repetition0\": 30, \"openBlock_option0\": 31, \"openBlock_option1\": 32, \"CLOSE\": 33, \"OPEN_INVERSE\": 34, \"openInverse_repetition0\": 35, \"openInverse_option0\": 36, \"openInverse_option1\": 37, \"openInverseChain\": 38, \"OPEN_INVERSE_CHAIN\": 39, \"openInverseChain_repetition0\": 40, \"openInverseChain_option0\": 41, \"openInverseChain_option1\": 42, \"inverseAndProgram\": 43, \"INVERSE\": 44, \"inverseChain\": 45, \"inverseChain_option0\": 46, \"OPEN_ENDBLOCK\": 47, \"OPEN\": 48, \"mustache_repetition0\": 49, \"mustache_option0\": 50, \"OPEN_UNESCAPED\": 51, \"mustache_repetition1\": 52, \"mustache_option1\": 53, \"CLOSE_UNESCAPED\": 54, \"OPEN_PARTIAL\": 55, \"partialName\": 56, \"partial_repetition0\": 57, \"partial_option0\": 58, \"openPartialBlock\": 59, \"OPEN_PARTIAL_BLOCK\": 60, \"openPartialBlock_repetition0\": 61, \"openPartialBlock_option0\": 62, \"param\": 63, \"sexpr\": 64, \"OPEN_SEXPR\": 65, \"sexpr_repetition0\": 66, \"sexpr_option0\": 67, \"CLOSE_SEXPR\": 68, \"hash\": 69, \"hash_repetition_plus0\": 70, \"hashSegment\": 71, \"ID\": 72, \"EQUALS\": 73, \"blockParams\": 74, \"OPEN_BLOCK_PARAMS\": 75, \"blockParams_repetition_plus0\": 76, \"CLOSE_BLOCK_PARAMS\": 77, \"path\": 78, \"dataName\": 79, \"STRING\": 80, \"NUMBER\": 81, \"BOOLEAN\": 82, \"UNDEFINED\": 83, \"NULL\": 84, \"DATA\": 85, \"pathSegments\": 86, \"SEP\": 87, \"$accept\": 0, \"$end\": 1 },\n\t terminals_: { 2: \"error\", 5: \"EOF\", 14: \"COMMENT\", 15: \"CONTENT\", 18: \"END_RAW_BLOCK\", 19: \"OPEN_RAW_BLOCK\", 23: \"CLOSE_RAW_BLOCK\", 29: \"OPEN_BLOCK\", 33: \"CLOSE\", 34: \"OPEN_INVERSE\", 39: \"OPEN_INVERSE_CHAIN\", 44: \"INVERSE\", 47: \"OPEN_ENDBLOCK\", 48: \"OPEN\", 51: \"OPEN_UNESCAPED\", 54: \"CLOSE_UNESCAPED\", 55: \"OPEN_PARTIAL\", 60: \"OPEN_PARTIAL_BLOCK\", 65: \"OPEN_SEXPR\", 68: \"CLOSE_SEXPR\", 72: \"ID\", 73: \"EQUALS\", 75: \"OPEN_BLOCK_PARAMS\", 77: \"CLOSE_BLOCK_PARAMS\", 80: \"STRING\", 81: \"NUMBER\", 82: \"BOOLEAN\", 83: \"UNDEFINED\", 84: \"NULL\", 85: \"DATA\", 87: \"SEP\" },\n\t productions_: [0, [3, 2], [4, 1], [7, 1], [7, 1], [7, 1], [7, 1], [7, 1], [7, 1], [7, 1], [13, 1], [10, 3], [16, 5], [9, 4], [9, 4], [24, 6], [27, 6], [38, 6], [43, 2], [45, 3], [45, 1], [26, 3], [8, 5], [8, 5], [11, 5], [12, 3], [59, 5], [63, 1], [63, 1], [64, 5], [69, 1], [71, 3], [74, 3], [20, 1], [20, 1], [20, 1], [20, 1], [20, 1], [20, 1], [20, 1], [56, 1], [56, 1], [79, 2], [78, 1], [86, 3], [86, 1], [6, 0], [6, 2], [17, 0], [17, 2], [21, 0], [21, 2], [22, 0], [22, 1], [25, 0], [25, 1], [28, 0], [28, 1], [30, 0], [30, 2], [31, 0], [31, 1], [32, 0], [32, 1], [35, 0], [35, 2], [36, 0], [36, 1], [37, 0], [37, 1], [40, 0], [40, 2], [41, 0], [41, 1], [42, 0], [42, 1], [46, 0], [46, 1], [49, 0], [49, 2], [50, 0], [50, 1], [52, 0], [52, 2], [53, 0], [53, 1], [57, 0], [57, 2], [58, 0], [58, 1], [61, 0], [61, 2], [62, 0], [62, 1], [66, 0], [66, 2], [67, 0], [67, 1], [70, 1], [70, 2], [76, 1], [76, 2]],\n\t performAction: function anonymous(yytext, yyleng, yylineno, yy, yystate, $$, _$) {\n\n\t var $0 = $$.length - 1;\n\t switch (yystate) {\n\t case 1:\n\t return $$[$0 - 1];\n\t break;\n\t case 2:\n\t this.$ = yy.prepareProgram($$[$0]);\n\t break;\n\t case 3:\n\t this.$ = $$[$0];\n\t break;\n\t case 4:\n\t this.$ = $$[$0];\n\t break;\n\t case 5:\n\t this.$ = $$[$0];\n\t break;\n\t case 6:\n\t this.$ = $$[$0];\n\t break;\n\t case 7:\n\t this.$ = $$[$0];\n\t break;\n\t case 8:\n\t this.$ = $$[$0];\n\t break;\n\t case 9:\n\t this.$ = {\n\t type: 'CommentStatement',\n\t value: yy.stripComment($$[$0]),\n\t strip: yy.stripFlags($$[$0], $$[$0]),\n\t loc: yy.locInfo(this._$)\n\t };\n\n\t break;\n\t case 10:\n\t this.$ = {\n\t type: 'ContentStatement',\n\t original: $$[$0],\n\t value: $$[$0],\n\t loc: yy.locInfo(this._$)\n\t };\n\n\t break;\n\t case 11:\n\t this.$ = yy.prepareRawBlock($$[$0 - 2], $$[$0 - 1], $$[$0], this._$);\n\t break;\n\t case 12:\n\t this.$ = { path: $$[$0 - 3], params: $$[$0 - 2], hash: $$[$0 - 1] };\n\t break;\n\t case 13:\n\t this.$ = yy.prepareBlock($$[$0 - 3], $$[$0 - 2], $$[$0 - 1], $$[$0], false, this._$);\n\t break;\n\t case 14:\n\t this.$ = yy.prepareBlock($$[$0 - 3], $$[$0 - 2], $$[$0 - 1], $$[$0], true, this._$);\n\t break;\n\t case 15:\n\t this.$ = { open: $$[$0 - 5], path: $$[$0 - 4], params: $$[$0 - 3], hash: $$[$0 - 2], blockParams: $$[$0 - 1], strip: yy.stripFlags($$[$0 - 5], $$[$0]) };\n\t break;\n\t case 16:\n\t this.$ = { path: $$[$0 - 4], params: $$[$0 - 3], hash: $$[$0 - 2], blockParams: $$[$0 - 1], strip: yy.stripFlags($$[$0 - 5], $$[$0]) };\n\t break;\n\t case 17:\n\t this.$ = { path: $$[$0 - 4], params: $$[$0 - 3], hash: $$[$0 - 2], blockParams: $$[$0 - 1], strip: yy.stripFlags($$[$0 - 5], $$[$0]) };\n\t break;\n\t case 18:\n\t this.$ = { strip: yy.stripFlags($$[$0 - 1], $$[$0 - 1]), program: $$[$0] };\n\t break;\n\t case 19:\n\t var inverse = yy.prepareBlock($$[$0 - 2], $$[$0 - 1], $$[$0], $$[$0], false, this._$),\n\t program = yy.prepareProgram([inverse], $$[$0 - 1].loc);\n\t program.chained = true;\n\n\t this.$ = { strip: $$[$0 - 2].strip, program: program, chain: true };\n\n\t break;\n\t case 20:\n\t this.$ = $$[$0];\n\t break;\n\t case 21:\n\t this.$ = { path: $$[$0 - 1], strip: yy.stripFlags($$[$0 - 2], $$[$0]) };\n\t break;\n\t case 22:\n\t this.$ = yy.prepareMustache($$[$0 - 3], $$[$0 - 2], $$[$0 - 1], $$[$0 - 4], yy.stripFlags($$[$0 - 4], $$[$0]), this._$);\n\t break;\n\t case 23:\n\t this.$ = yy.prepareMustache($$[$0 - 3], $$[$0 - 2], $$[$0 - 1], $$[$0 - 4], yy.stripFlags($$[$0 - 4], $$[$0]), this._$);\n\t break;\n\t case 24:\n\t this.$ = {\n\t type: 'PartialStatement',\n\t name: $$[$0 - 3],\n\t params: $$[$0 - 2],\n\t hash: $$[$0 - 1],\n\t indent: '',\n\t strip: yy.stripFlags($$[$0 - 4], $$[$0]),\n\t loc: yy.locInfo(this._$)\n\t };\n\n\t break;\n\t case 25:\n\t this.$ = yy.preparePartialBlock($$[$0 - 2], $$[$0 - 1], $$[$0], this._$);\n\t break;\n\t case 26:\n\t this.$ = { path: $$[$0 - 3], params: $$[$0 - 2], hash: $$[$0 - 1], strip: yy.stripFlags($$[$0 - 4], $$[$0]) };\n\t break;\n\t case 27:\n\t this.$ = $$[$0];\n\t break;\n\t case 28:\n\t this.$ = $$[$0];\n\t break;\n\t case 29:\n\t this.$ = {\n\t type: 'SubExpression',\n\t path: $$[$0 - 3],\n\t params: $$[$0 - 2],\n\t hash: $$[$0 - 1],\n\t loc: yy.locInfo(this._$)\n\t };\n\n\t break;\n\t case 30:\n\t this.$ = { type: 'Hash', pairs: $$[$0], loc: yy.locInfo(this._$) };\n\t break;\n\t case 31:\n\t this.$ = { type: 'HashPair', key: yy.id($$[$0 - 2]), value: $$[$0], loc: yy.locInfo(this._$) };\n\t break;\n\t case 32:\n\t this.$ = yy.id($$[$0 - 1]);\n\t break;\n\t case 33:\n\t this.$ = $$[$0];\n\t break;\n\t case 34:\n\t this.$ = $$[$0];\n\t break;\n\t case 35:\n\t this.$ = { type: 'StringLiteral', value: $$[$0], original: $$[$0], loc: yy.locInfo(this._$) };\n\t break;\n\t case 36:\n\t this.$ = { type: 'NumberLiteral', value: Number($$[$0]), original: Number($$[$0]), loc: yy.locInfo(this._$) };\n\t break;\n\t case 37:\n\t this.$ = { type: 'BooleanLiteral', value: $$[$0] === 'true', original: $$[$0] === 'true', loc: yy.locInfo(this._$) };\n\t break;\n\t case 38:\n\t this.$ = { type: 'UndefinedLiteral', original: undefined, value: undefined, loc: yy.locInfo(this._$) };\n\t break;\n\t case 39:\n\t this.$ = { type: 'NullLiteral', original: null, value: null, loc: yy.locInfo(this._$) };\n\t break;\n\t case 40:\n\t this.$ = $$[$0];\n\t break;\n\t case 41:\n\t this.$ = $$[$0];\n\t break;\n\t case 42:\n\t this.$ = yy.preparePath(true, $$[$0], this._$);\n\t break;\n\t case 43:\n\t this.$ = yy.preparePath(false, $$[$0], this._$);\n\t break;\n\t case 44:\n\t $$[$0 - 2].push({ part: yy.id($$[$0]), original: $$[$0], separator: $$[$0 - 1] });this.$ = $$[$0 - 2];\n\t break;\n\t case 45:\n\t this.$ = [{ part: yy.id($$[$0]), original: $$[$0] }];\n\t break;\n\t case 46:\n\t this.$ = [];\n\t break;\n\t case 47:\n\t $$[$0 - 1].push($$[$0]);\n\t break;\n\t case 48:\n\t this.$ = [];\n\t break;\n\t case 49:\n\t $$[$0 - 1].push($$[$0]);\n\t break;\n\t case 50:\n\t this.$ = [];\n\t break;\n\t case 51:\n\t $$[$0 - 1].push($$[$0]);\n\t break;\n\t case 58:\n\t this.$ = [];\n\t break;\n\t case 59:\n\t $$[$0 - 1].push($$[$0]);\n\t break;\n\t case 64:\n\t this.$ = [];\n\t break;\n\t case 65:\n\t $$[$0 - 1].push($$[$0]);\n\t break;\n\t case 70:\n\t this.$ = [];\n\t break;\n\t case 71:\n\t $$[$0 - 1].push($$[$0]);\n\t break;\n\t case 78:\n\t this.$ = [];\n\t break;\n\t case 79:\n\t $$[$0 - 1].push($$[$0]);\n\t break;\n\t case 82:\n\t this.$ = [];\n\t break;\n\t case 83:\n\t $$[$0 - 1].push($$[$0]);\n\t break;\n\t case 86:\n\t this.$ = [];\n\t break;\n\t case 87:\n\t $$[$0 - 1].push($$[$0]);\n\t break;\n\t case 90:\n\t this.$ = [];\n\t break;\n\t case 91:\n\t $$[$0 - 1].push($$[$0]);\n\t break;\n\t case 94:\n\t this.$ = [];\n\t break;\n\t case 95:\n\t $$[$0 - 1].push($$[$0]);\n\t break;\n\t case 98:\n\t this.$ = [$$[$0]];\n\t break;\n\t case 99:\n\t $$[$0 - 1].push($$[$0]);\n\t break;\n\t case 100:\n\t this.$ = [$$[$0]];\n\t break;\n\t case 101:\n\t $$[$0 - 1].push($$[$0]);\n\t break;\n\t }\n\t },\n\t table: [{ 3: 1, 4: 2, 5: [2, 46], 6: 3, 14: [2, 46], 15: [2, 46], 19: [2, 46], 29: [2, 46], 34: [2, 46], 48: [2, 46], 51: [2, 46], 55: [2, 46], 60: [2, 46] }, { 1: [3] }, { 5: [1, 4] }, { 5: [2, 2], 7: 5, 8: 6, 9: 7, 10: 8, 11: 9, 12: 10, 13: 11, 14: [1, 12], 15: [1, 20], 16: 17, 19: [1, 23], 24: 15, 27: 16, 29: [1, 21], 34: [1, 22], 39: [2, 2], 44: [2, 2], 47: [2, 2], 48: [1, 13], 51: [1, 14], 55: [1, 18], 59: 19, 60: [1, 24] }, { 1: [2, 1] }, { 5: [2, 47], 14: [2, 47], 15: [2, 47], 19: [2, 47], 29: [2, 47], 34: [2, 47], 39: [2, 47], 44: [2, 47], 47: [2, 47], 48: [2, 47], 51: [2, 47], 55: [2, 47], 60: [2, 47] }, { 5: [2, 3], 14: [2, 3], 15: [2, 3], 19: [2, 3], 29: [2, 3], 34: [2, 3], 39: [2, 3], 44: [2, 3], 47: [2, 3], 48: [2, 3], 51: [2, 3], 55: [2, 3], 60: [2, 3] }, { 5: [2, 4], 14: [2, 4], 15: [2, 4], 19: [2, 4], 29: [2, 4], 34: [2, 4], 39: [2, 4], 44: [2, 4], 47: [2, 4], 48: [2, 4], 51: [2, 4], 55: [2, 4], 60: [2, 4] }, { 5: [2, 5], 14: [2, 5], 15: [2, 5], 19: [2, 5], 29: [2, 5], 34: [2, 5], 39: [2, 5], 44: [2, 5], 47: [2, 5], 48: [2, 5], 51: [2, 5], 55: [2, 5], 60: [2, 5] }, { 5: [2, 6], 14: [2, 6], 15: [2, 6], 19: [2, 6], 29: [2, 6], 34: [2, 6], 39: [2, 6], 44: [2, 6], 47: [2, 6], 48: [2, 6], 51: [2, 6], 55: [2, 6], 60: [2, 6] }, { 5: [2, 7], 14: [2, 7], 15: [2, 7], 19: [2, 7], 29: [2, 7], 34: [2, 7], 39: [2, 7], 44: [2, 7], 47: [2, 7], 48: [2, 7], 51: [2, 7], 55: [2, 7], 60: [2, 7] }, { 5: [2, 8], 14: [2, 8], 15: [2, 8], 19: [2, 8], 29: [2, 8], 34: [2, 8], 39: [2, 8], 44: [2, 8], 47: [2, 8], 48: [2, 8], 51: [2, 8], 55: [2, 8], 60: [2, 8] }, { 5: [2, 9], 14: [2, 9], 15: [2, 9], 19: [2, 9], 29: [2, 9], 34: [2, 9], 39: [2, 9], 44: [2, 9], 47: [2, 9], 48: [2, 9], 51: [2, 9], 55: [2, 9], 60: [2, 9] }, { 20: 25, 72: [1, 35], 78: 26, 79: 27, 80: [1, 28], 81: [1, 29], 82: [1, 30], 83: [1, 31], 84: [1, 32], 85: [1, 34], 86: 33 }, { 20: 36, 72: [1, 35], 78: 26, 79: 27, 80: [1, 28], 81: [1, 29], 82: [1, 30], 83: [1, 31], 84: [1, 32], 85: [1, 34], 86: 33 }, { 4: 37, 6: 3, 14: [2, 46], 15: [2, 46], 19: [2, 46], 29: [2, 46], 34: [2, 46], 39: [2, 46], 44: [2, 46], 47: [2, 46], 48: [2, 46], 51: [2, 46], 55: [2, 46], 60: [2, 46] }, { 4: 38, 6: 3, 14: [2, 46], 15: [2, 46], 19: [2, 46], 29: [2, 46], 34: [2, 46], 44: [2, 46], 47: [2, 46], 48: [2, 46], 51: [2, 46], 55: [2, 46], 60: [2, 46] }, { 15: [2, 48], 17: 39, 18: [2, 48] }, { 20: 41, 56: 40, 64: 42, 65: [1, 43], 72: [1, 35], 78: 26, 79: 27, 80: [1, 28], 81: [1, 29], 82: [1, 30], 83: [1, 31], 84: [1, 32], 85: [1, 34], 86: 33 }, { 4: 44, 6: 3, 14: [2, 46], 15: [2, 46], 19: [2, 46], 29: [2, 46], 34: [2, 46], 47: [2, 46], 48: [2, 46], 51: [2, 46], 55: [2, 46], 60: [2, 46] }, { 5: [2, 10], 14: [2, 10], 15: [2, 10], 18: [2, 10], 19: [2, 10], 29: [2, 10], 34: [2, 10], 39: [2, 10], 44: [2, 10], 47: [2, 10], 48: [2, 10], 51: [2, 10], 55: [2, 10], 60: [2, 10] }, { 20: 45, 72: [1, 35], 78: 26, 79: 27, 80: [1, 28], 81: [1, 29], 82: [1, 30], 83: [1, 31], 84: [1, 32], 85: [1, 34], 86: 33 }, { 20: 46, 72: [1, 35], 78: 26, 79: 27, 80: [1, 28], 81: [1, 29], 82: [1, 30], 83: [1, 31], 84: [1, 32], 85: [1, 34], 86: 33 }, { 20: 47, 72: [1, 35], 78: 26, 79: 27, 80: [1, 28], 81: [1, 29], 82: [1, 30], 83: [1, 31], 84: [1, 32], 85: [1, 34], 86: 33 }, { 20: 41, 56: 48, 64: 42, 65: [1, 43], 72: [1, 35], 78: 26, 79: 27, 80: [1, 28], 81: [1, 29], 82: [1, 30], 83: [1, 31], 84: [1, 32], 85: [1, 34], 86: 33 }, { 33: [2, 78], 49: 49, 65: [2, 78], 72: [2, 78], 80: [2, 78], 81: [2, 78], 82: [2, 78], 83: [2, 78], 84: [2, 78], 85: [2, 78] }, { 23: [2, 33], 33: [2, 33], 54: [2, 33], 65: [2, 33], 68: [2, 33], 72: [2, 33], 75: [2, 33], 80: [2, 33], 81: [2, 33], 82: [2, 33], 83: [2, 33], 84: [2, 33], 85: [2, 33] }, { 23: [2, 34], 33: [2, 34], 54: [2, 34], 65: [2, 34], 68: [2, 34], 72: [2, 34], 75: [2, 34], 80: [2, 34], 81: [2, 34], 82: [2, 34], 83: [2, 34], 84: [2, 34], 85: [2, 34] }, { 23: [2, 35], 33: [2, 35], 54: [2, 35], 65: [2, 35], 68: [2, 35], 72: [2, 35], 75: [2, 35], 80: [2, 35], 81: [2, 35], 82: [2, 35], 83: [2, 35], 84: [2, 35], 85: [2, 35] }, { 23: [2, 36], 33: [2, 36], 54: [2, 36], 65: [2, 36], 68: [2, 36], 72: [2, 36], 75: [2, 36], 80: [2, 36], 81: [2, 36], 82: [2, 36], 83: [2, 36], 84: [2, 36], 85: [2, 36] }, { 23: [2, 37], 33: [2, 37], 54: [2, 37], 65: [2, 37], 68: [2, 37], 72: [2, 37], 75: [2, 37], 80: [2, 37], 81: [2, 37], 82: [2, 37], 83: [2, 37], 84: [2, 37], 85: [2, 37] }, { 23: [2, 38], 33: [2, 38], 54: [2, 38], 65: [2, 38], 68: [2, 38], 72: [2, 38], 75: [2, 38], 80: [2, 38], 81: [2, 38], 82: [2, 38], 83: [2, 38], 84: [2, 38], 85: [2, 38] }, { 23: [2, 39], 33: [2, 39], 54: [2, 39], 65: [2, 39], 68: [2, 39], 72: [2, 39], 75: [2, 39], 80: [2, 39], 81: [2, 39], 82: [2, 39], 83: [2, 39], 84: [2, 39], 85: [2, 39] }, { 23: [2, 43], 33: [2, 43], 54: [2, 43], 65: [2, 43], 68: [2, 43], 72: [2, 43], 75: [2, 43], 80: [2, 43], 81: [2, 43], 82: [2, 43], 83: [2, 43], 84: [2, 43], 85: [2, 43], 87: [1, 50] }, { 72: [1, 35], 86: 51 }, { 23: [2, 45], 33: [2, 45], 54: [2, 45], 65: [2, 45], 68: [2, 45], 72: [2, 45], 75: [2, 45], 80: [2, 45], 81: [2, 45], 82: [2, 45], 83: [2, 45], 84: [2, 45], 85: [2, 45], 87: [2, 45] }, { 52: 52, 54: [2, 82], 65: [2, 82], 72: [2, 82], 80: [2, 82], 81: [2, 82], 82: [2, 82], 83: [2, 82], 84: [2, 82], 85: [2, 82] }, { 25: 53, 38: 55, 39: [1, 57], 43: 56, 44: [1, 58], 45: 54, 47: [2, 54] }, { 28: 59, 43: 60, 44: [1, 58], 47: [2, 56] }, { 13: 62, 15: [1, 20], 18: [1, 61] }, { 33: [2, 86], 57: 63, 65: [2, 86], 72: [2, 86], 80: [2, 86], 81: [2, 86], 82: [2, 86], 83: [2, 86], 84: [2, 86], 85: [2, 86] }, { 33: [2, 40], 65: [2, 40], 72: [2, 40], 80: [2, 40], 81: [2, 40], 82: [2, 40], 83: [2, 40], 84: [2, 40], 85: [2, 40] }, { 33: [2, 41], 65: [2, 41], 72: [2, 41], 80: [2, 41], 81: [2, 41], 82: [2, 41], 83: [2, 41], 84: [2, 41], 85: [2, 41] }, { 20: 64, 72: [1, 35], 78: 26, 79: 27, 80: [1, 28], 81: [1, 29], 82: [1, 30], 83: [1, 31], 84: [1, 32], 85: [1, 34], 86: 33 }, { 26: 65, 47: [1, 66] }, { 30: 67, 33: [2, 58], 65: [2, 58], 72: [2, 58], 75: [2, 58], 80: [2, 58], 81: [2, 58], 82: [2, 58], 83: [2, 58], 84: [2, 58], 85: [2, 58] }, { 33: [2, 64], 35: 68, 65: [2, 64], 72: [2, 64], 75: [2, 64], 80: [2, 64], 81: [2, 64], 82: [2, 64], 83: [2, 64], 84: [2, 64], 85: [2, 64] }, { 21: 69, 23: [2, 50], 65: [2, 50], 72: [2, 50], 80: [2, 50], 81: [2, 50], 82: [2, 50], 83: [2, 50], 84: [2, 50], 85: [2, 50] }, { 33: [2, 90], 61: 70, 65: [2, 90], 72: [2, 90], 80: [2, 90], 81: [2, 90], 82: [2, 90], 83: [2, 90], 84: [2, 90], 85: [2, 90] }, { 20: 74, 33: [2, 80], 50: 71, 63: 72, 64: 75, 65: [1, 43], 69: 73, 70: 76, 71: 77, 72: [1, 78], 78: 26, 79: 27, 80: [1, 28], 81: [1, 29], 82: [1, 30], 83: [1, 31], 84: [1, 32], 85: [1, 34], 86: 33 }, { 72: [1, 79] }, { 23: [2, 42], 33: [2, 42], 54: [2, 42], 65: [2, 42], 68: [2, 42], 72: [2, 42], 75: [2, 42], 80: [2, 42], 81: [2, 42], 82: [2, 42], 83: [2, 42], 84: [2, 42], 85: [2, 42], 87: [1, 50] }, { 20: 74, 53: 80, 54: [2, 84], 63: 81, 64: 75, 65: [1, 43], 69: 82, 70: 76, 71: 77, 72: [1, 78], 78: 26, 79: 27, 80: [1, 28], 81: [1, 29], 82: [1, 30], 83: [1, 31], 84: [1, 32], 85: [1, 34], 86: 33 }, { 26: 83, 47: [1, 66] }, { 47: [2, 55] }, { 4: 84, 6: 3, 14: [2, 46], 15: [2, 46], 19: [2, 46], 29: [2, 46], 34: [2, 46], 39: [2, 46], 44: [2, 46], 47: [2, 46], 48: [2, 46], 51: [2, 46], 55: [2, 46], 60: [2, 46] }, { 47: [2, 20] }, { 20: 85, 72: [1, 35], 78: 26, 79: 27, 80: [1, 28], 81: [1, 29], 82: [1, 30], 83: [1, 31], 84: [1, 32], 85: [1, 34], 86: 33 }, { 4: 86, 6: 3, 14: [2, 46], 15: [2, 46], 19: [2, 46], 29: [2, 46], 34: [2, 46], 47: [2, 46], 48: [2, 46], 51: [2, 46], 55: [2, 46], 60: [2, 46] }, { 26: 87, 47: [1, 66] }, { 47: [2, 57] }, { 5: [2, 11], 14: [2, 11], 15: [2, 11], 19: [2, 11], 29: [2, 11], 34: [2, 11], 39: [2, 11], 44: [2, 11], 47: [2, 11], 48: [2, 11], 51: [2, 11], 55: [2, 11], 60: [2, 11] }, { 15: [2, 49], 18: [2, 49] }, { 20: 74, 33: [2, 88], 58: 88, 63: 89, 64: 75, 65: [1, 43], 69: 90, 70: 76, 71: 77, 72: [1, 78], 78: 26, 79: 27, 80: [1, 28], 81: [1, 29], 82: [1, 30], 83: [1, 31], 84: [1, 32], 85: [1, 34], 86: 33 }, { 65: [2, 94], 66: 91, 68: [2, 94], 72: [2, 94], 80: [2, 94], 81: [2, 94], 82: [2, 94], 83: [2, 94], 84: [2, 94], 85: [2, 94] }, { 5: [2, 25], 14: [2, 25], 15: [2, 25], 19: [2, 25], 29: [2, 25], 34: [2, 25], 39: [2, 25], 44: [2, 25], 47: [2, 25], 48: [2, 25], 51: [2, 25], 55: [2, 25], 60: [2, 25] }, { 20: 92, 72: [1, 35], 78: 26, 79: 27, 80: [1, 28], 81: [1, 29], 82: [1, 30], 83: [1, 31], 84: [1, 32], 85: [1, 34], 86: 33 }, { 20: 74, 31: 93, 33: [2, 60], 63: 94, 64: 75, 65: [1, 43], 69: 95, 70: 76, 71: 77, 72: [1, 78], 75: [2, 60], 78: 26, 79: 27, 80: [1, 28], 81: [1, 29], 82: [1, 30], 83: [1, 31], 84: [1, 32], 85: [1, 34], 86: 33 }, { 20: 74, 33: [2, 66], 36: 96, 63: 97, 64: 75, 65: [1, 43], 69: 98, 70: 76, 71: 77, 72: [1, 78], 75: [2, 66], 78: 26, 79: 27, 80: [1, 28], 81: [1, 29], 82: [1, 30], 83: [1, 31], 84: [1, 32], 85: [1, 34], 86: 33 }, { 20: 74, 22: 99, 23: [2, 52], 63: 100, 64: 75, 65: [1, 43], 69: 101, 70: 76, 71: 77, 72: [1, 78], 78: 26, 79: 27, 80: [1, 28], 81: [1, 29], 82: [1, 30], 83: [1, 31], 84: [1, 32], 85: [1, 34], 86: 33 }, { 20: 74, 33: [2, 92], 62: 102, 63: 103, 64: 75, 65: [1, 43], 69: 104, 70: 76, 71: 77, 72: [1, 78], 78: 26, 79: 27, 80: [1, 28], 81: [1, 29], 82: [1, 30], 83: [1, 31], 84: [1, 32], 85: [1, 34], 86: 33 }, { 33: [1, 105] }, { 33: [2, 79], 65: [2, 79], 72: [2, 79], 80: [2, 79], 81: [2, 79], 82: [2, 79], 83: [2, 79], 84: [2, 79], 85: [2, 79] }, { 33: [2, 81] }, { 23: [2, 27], 33: [2, 27], 54: [2, 27], 65: [2, 27], 68: [2, 27], 72: [2, 27], 75: [2, 27], 80: [2, 27], 81: [2, 27], 82: [2, 27], 83: [2, 27], 84: [2, 27], 85: [2, 27] }, { 23: [2, 28], 33: [2, 28], 54: [2, 28], 65: [2, 28], 68: [2, 28], 72: [2, 28], 75: [2, 28], 80: [2, 28], 81: [2, 28], 82: [2, 28], 83: [2, 28], 84: [2, 28], 85: [2, 28] }, { 23: [2, 30], 33: [2, 30], 54: [2, 30], 68: [2, 30], 71: 106, 72: [1, 107], 75: [2, 30] }, { 23: [2, 98], 33: [2, 98], 54: [2, 98], 68: [2, 98], 72: [2, 98], 75: [2, 98] }, { 23: [2, 45], 33: [2, 45], 54: [2, 45], 65: [2, 45], 68: [2, 45], 72: [2, 45], 73: [1, 108], 75: [2, 45], 80: [2, 45], 81: [2, 45], 82: [2, 45], 83: [2, 45], 84: [2, 45], 85: [2, 45], 87: [2, 45] }, { 23: [2, 44], 33: [2, 44], 54: [2, 44], 65: [2, 44], 68: [2, 44], 72: [2, 44], 75: [2, 44], 80: [2, 44], 81: [2, 44], 82: [2, 44], 83: [2, 44], 84: [2, 44], 85: [2, 44], 87: [2, 44] }, { 54: [1, 109] }, { 54: [2, 83], 65: [2, 83], 72: [2, 83], 80: [2, 83], 81: [2, 83], 82: [2, 83], 83: [2, 83], 84: [2, 83], 85: [2, 83] }, { 54: [2, 85] }, { 5: [2, 13], 14: [2, 13], 15: [2, 13], 19: [2, 13], 29: [2, 13], 34: [2, 13], 39: [2, 13], 44: [2, 13], 47: [2, 13], 48: [2, 13], 51: [2, 13], 55: [2, 13], 60: [2, 13] }, { 38: 55, 39: [1, 57], 43: 56, 44: [1, 58], 45: 111, 46: 110, 47: [2, 76] }, { 33: [2, 70], 40: 112, 65: [2, 70], 72: [2, 70], 75: [2, 70], 80: [2, 70], 81: [2, 70], 82: [2, 70], 83: [2, 70], 84: [2, 70], 85: [2, 70] }, { 47: [2, 18] }, { 5: [2, 14], 14: [2, 14], 15: [2, 14], 19: [2, 14], 29: [2, 14], 34: [2, 14], 39: [2, 14], 44: [2, 14], 47: [2, 14], 48: [2, 14], 51: [2, 14], 55: [2, 14], 60: [2, 14] }, { 33: [1, 113] }, { 33: [2, 87], 65: [2, 87], 72: [2, 87], 80: [2, 87], 81: [2, 87], 82: [2, 87], 83: [2, 87], 84: [2, 87], 85: [2, 87] }, { 33: [2, 89] }, { 20: 74, 63: 115, 64: 75, 65: [1, 43], 67: 114, 68: [2, 96], 69: 116, 70: 76, 71: 77, 72: [1, 78], 78: 26, 79: 27, 80: [1, 28], 81: [1, 29], 82: [1, 30], 83: [1, 31], 84: [1, 32], 85: [1, 34], 86: 33 }, { 33: [1, 117] }, { 32: 118, 33: [2, 62], 74: 119, 75: [1, 120] }, { 33: [2, 59], 65: [2, 59], 72: [2, 59], 75: [2, 59], 80: [2, 59], 81: [2, 59], 82: [2, 59], 83: [2, 59], 84: [2, 59], 85: [2, 59] }, { 33: [2, 61], 75: [2, 61] }, { 33: [2, 68], 37: 121, 74: 122, 75: [1, 120] }, { 33: [2, 65], 65: [2, 65], 72: [2, 65], 75: [2, 65], 80: [2, 65], 81: [2, 65], 82: [2, 65], 83: [2, 65], 84: [2, 65], 85: [2, 65] }, { 33: [2, 67], 75: [2, 67] }, { 23: [1, 123] }, { 23: [2, 51], 65: [2, 51], 72: [2, 51], 80: [2, 51], 81: [2, 51], 82: [2, 51], 83: [2, 51], 84: [2, 51], 85: [2, 51] }, { 23: [2, 53] }, { 33: [1, 124] }, { 33: [2, 91], 65: [2, 91], 72: [2, 91], 80: [2, 91], 81: [2, 91], 82: [2, 91], 83: [2, 91], 84: [2, 91], 85: [2, 91] }, { 33: [2, 93] }, { 5: [2, 22], 14: [2, 22], 15: [2, 22], 19: [2, 22], 29: [2, 22], 34: [2, 22], 39: [2, 22], 44: [2, 22], 47: [2, 22], 48: [2, 22], 51: [2, 22], 55: [2, 22], 60: [2, 22] }, { 23: [2, 99], 33: [2, 99], 54: [2, 99], 68: [2, 99], 72: [2, 99], 75: [2, 99] }, { 73: [1, 108] }, { 20: 74, 63: 125, 64: 75, 65: [1, 43], 72: [1, 35], 78: 26, 79: 27, 80: [1, 28], 81: [1, 29], 82: [1, 30], 83: [1, 31], 84: [1, 32], 85: [1, 34], 86: 33 }, { 5: [2, 23], 14: [2, 23], 15: [2, 23], 19: [2, 23], 29: [2, 23], 34: [2, 23], 39: [2, 23], 44: [2, 23], 47: [2, 23], 48: [2, 23], 51: [2, 23], 55: [2, 23], 60: [2, 23] }, { 47: [2, 19] }, { 47: [2, 77] }, { 20: 74, 33: [2, 72], 41: 126, 63: 127, 64: 75, 65: [1, 43], 69: 128, 70: 76, 71: 77, 72: [1, 78], 75: [2, 72], 78: 26, 79: 27, 80: [1, 28], 81: [1, 29], 82: [1, 30], 83: [1, 31], 84: [1, 32], 85: [1, 34], 86: 33 }, { 5: [2, 24], 14: [2, 24], 15: [2, 24], 19: [2, 24], 29: [2, 24], 34: [2, 24], 39: [2, 24], 44: [2, 24], 47: [2, 24], 48: [2, 24], 51: [2, 24], 55: [2, 24], 60: [2, 24] }, { 68: [1, 129] }, { 65: [2, 95], 68: [2, 95], 72: [2, 95], 80: [2, 95], 81: [2, 95], 82: [2, 95], 83: [2, 95], 84: [2, 95], 85: [2, 95] }, { 68: [2, 97] }, { 5: [2, 21], 14: [2, 21], 15: [2, 21], 19: [2, 21], 29: [2, 21], 34: [2, 21], 39: [2, 21], 44: [2, 21], 47: [2, 21], 48: [2, 21], 51: [2, 21], 55: [2, 21], 60: [2, 21] }, { 33: [1, 130] }, { 33: [2, 63] }, { 72: [1, 132], 76: 131 }, { 33: [1, 133] }, { 33: [2, 69] }, { 15: [2, 12], 18: [2, 12] }, { 14: [2, 26], 15: [2, 26], 19: [2, 26], 29: [2, 26], 34: [2, 26], 47: [2, 26], 48: [2, 26], 51: [2, 26], 55: [2, 26], 60: [2, 26] }, { 23: [2, 31], 33: [2, 31], 54: [2, 31], 68: [2, 31], 72: [2, 31], 75: [2, 31] }, { 33: [2, 74], 42: 134, 74: 135, 75: [1, 120] }, { 33: [2, 71], 65: [2, 71], 72: [2, 71], 75: [2, 71], 80: [2, 71], 81: [2, 71], 82: [2, 71], 83: [2, 71], 84: [2, 71], 85: [2, 71] }, { 33: [2, 73], 75: [2, 73] }, { 23: [2, 29], 33: [2, 29], 54: [2, 29], 65: [2, 29], 68: [2, 29], 72: [2, 29], 75: [2, 29], 80: [2, 29], 81: [2, 29], 82: [2, 29], 83: [2, 29], 84: [2, 29], 85: [2, 29] }, { 14: [2, 15], 15: [2, 15], 19: [2, 15], 29: [2, 15], 34: [2, 15], 39: [2, 15], 44: [2, 15], 47: [2, 15], 48: [2, 15], 51: [2, 15], 55: [2, 15], 60: [2, 15] }, { 72: [1, 137], 77: [1, 136] }, { 72: [2, 100], 77: [2, 100] }, { 14: [2, 16], 15: [2, 16], 19: [2, 16], 29: [2, 16], 34: [2, 16], 44: [2, 16], 47: [2, 16], 48: [2, 16], 51: [2, 16], 55: [2, 16], 60: [2, 16] }, { 33: [1, 138] }, { 33: [2, 75] }, { 33: [2, 32] }, { 72: [2, 101], 77: [2, 101] }, { 14: [2, 17], 15: [2, 17], 19: [2, 17], 29: [2, 17], 34: [2, 17], 39: [2, 17], 44: [2, 17], 47: [2, 17], 48: [2, 17], 51: [2, 17], 55: [2, 17], 60: [2, 17] }],\n\t defaultActions: { 4: [2, 1], 54: [2, 55], 56: [2, 20], 60: [2, 57], 73: [2, 81], 82: [2, 85], 86: [2, 18], 90: [2, 89], 101: [2, 53], 104: [2, 93], 110: [2, 19], 111: [2, 77], 116: [2, 97], 119: [2, 63], 122: [2, 69], 135: [2, 75], 136: [2, 32] },\n\t parseError: function parseError(str, hash) {\n\t throw new Error(str);\n\t },\n\t parse: function parse(input) {\n\t var self = this,\n\t stack = [0],\n\t vstack = [null],\n\t lstack = [],\n\t table = this.table,\n\t yytext = \"\",\n\t yylineno = 0,\n\t yyleng = 0,\n\t recovering = 0,\n\t TERROR = 2,\n\t EOF = 1;\n\t this.lexer.setInput(input);\n\t this.lexer.yy = this.yy;\n\t this.yy.lexer = this.lexer;\n\t this.yy.parser = this;\n\t if (typeof this.lexer.yylloc == \"undefined\") this.lexer.yylloc = {};\n\t var yyloc = this.lexer.yylloc;\n\t lstack.push(yyloc);\n\t var ranges = this.lexer.options && this.lexer.options.ranges;\n\t if (typeof this.yy.parseError === \"function\") this.parseError = this.yy.parseError;\n\t function popStack(n) {\n\t stack.length = stack.length - 2 * n;\n\t vstack.length = vstack.length - n;\n\t lstack.length = lstack.length - n;\n\t }\n\t function lex() {\n\t var token;\n\t token = self.lexer.lex() || 1;\n\t if (typeof token !== \"number\") {\n\t token = self.symbols_[token] || token;\n\t }\n\t return token;\n\t }\n\t var symbol,\n\t preErrorSymbol,\n\t state,\n\t action,\n\t a,\n\t r,\n\t yyval = {},\n\t p,\n\t len,\n\t newState,\n\t expected;\n\t while (true) {\n\t state = stack[stack.length - 1];\n\t if (this.defaultActions[state]) {\n\t action = this.defaultActions[state];\n\t } else {\n\t if (symbol === null || typeof symbol == \"undefined\") {\n\t symbol = lex();\n\t }\n\t action = table[state] && table[state][symbol];\n\t }\n\t if (typeof action === \"undefined\" || !action.length || !action[0]) {\n\t var errStr = \"\";\n\t if (!recovering) {\n\t expected = [];\n\t for (p in table[state]) if (this.terminals_[p] && p > 2) {\n\t expected.push(\"'\" + this.terminals_[p] + \"'\");\n\t }\n\t if (this.lexer.showPosition) {\n\t errStr = \"Parse error on line \" + (yylineno + 1) + \":\\n\" + this.lexer.showPosition() + \"\\nExpecting \" + expected.join(\", \") + \", got '\" + (this.terminals_[symbol] || symbol) + \"'\";\n\t } else {\n\t errStr = \"Parse error on line \" + (yylineno + 1) + \": Unexpected \" + (symbol == 1 ? \"end of input\" : \"'\" + (this.terminals_[symbol] || symbol) + \"'\");\n\t }\n\t this.parseError(errStr, { text: this.lexer.match, token: this.terminals_[symbol] || symbol, line: this.lexer.yylineno, loc: yyloc, expected: expected });\n\t }\n\t }\n\t if (action[0] instanceof Array && action.length > 1) {\n\t throw new Error(\"Parse Error: multiple actions possible at state: \" + state + \", token: \" + symbol);\n\t }\n\t switch (action[0]) {\n\t case 1:\n\t stack.push(symbol);\n\t vstack.push(this.lexer.yytext);\n\t lstack.push(this.lexer.yylloc);\n\t stack.push(action[1]);\n\t symbol = null;\n\t if (!preErrorSymbol) {\n\t yyleng = this.lexer.yyleng;\n\t yytext = this.lexer.yytext;\n\t yylineno = this.lexer.yylineno;\n\t yyloc = this.lexer.yylloc;\n\t if (recovering > 0) recovering--;\n\t } else {\n\t symbol = preErrorSymbol;\n\t preErrorSymbol = null;\n\t }\n\t break;\n\t case 2:\n\t len = this.productions_[action[1]][1];\n\t yyval.$ = vstack[vstack.length - len];\n\t yyval._$ = { first_line: lstack[lstack.length - (len || 1)].first_line, last_line: lstack[lstack.length - 1].last_line, first_column: lstack[lstack.length - (len || 1)].first_column, last_column: lstack[lstack.length - 1].last_column };\n\t if (ranges) {\n\t yyval._$.range = [lstack[lstack.length - (len || 1)].range[0], lstack[lstack.length - 1].range[1]];\n\t }\n\t r = this.performAction.call(yyval, yytext, yyleng, yylineno, this.yy, action[1], vstack, lstack);\n\t if (typeof r !== \"undefined\") {\n\t return r;\n\t }\n\t if (len) {\n\t stack = stack.slice(0, -1 * len * 2);\n\t vstack = vstack.slice(0, -1 * len);\n\t lstack = lstack.slice(0, -1 * len);\n\t }\n\t stack.push(this.productions_[action[1]][0]);\n\t vstack.push(yyval.$);\n\t lstack.push(yyval._$);\n\t newState = table[stack[stack.length - 2]][stack[stack.length - 1]];\n\t stack.push(newState);\n\t break;\n\t case 3:\n\t return true;\n\t }\n\t }\n\t return true;\n\t }\n\t };\n\t /* Jison generated lexer */\n\t var lexer = (function () {\n\t var lexer = { EOF: 1,\n\t parseError: function parseError(str, hash) {\n\t if (this.yy.parser) {\n\t this.yy.parser.parseError(str, hash);\n\t } else {\n\t throw new Error(str);\n\t }\n\t },\n\t setInput: function setInput(input) {\n\t this._input = input;\n\t this._more = this._less = this.done = false;\n\t this.yylineno = this.yyleng = 0;\n\t this.yytext = this.matched = this.match = '';\n\t this.conditionStack = ['INITIAL'];\n\t this.yylloc = { first_line: 1, first_column: 0, last_line: 1, last_column: 0 };\n\t if (this.options.ranges) this.yylloc.range = [0, 0];\n\t this.offset = 0;\n\t return this;\n\t },\n\t input: function input() {\n\t var ch = this._input[0];\n\t this.yytext += ch;\n\t this.yyleng++;\n\t this.offset++;\n\t this.match += ch;\n\t this.matched += ch;\n\t var lines = ch.match(/(?:\\r\\n?|\\n).*/g);\n\t if (lines) {\n\t this.yylineno++;\n\t this.yylloc.last_line++;\n\t } else {\n\t this.yylloc.last_column++;\n\t }\n\t if (this.options.ranges) this.yylloc.range[1]++;\n\n\t this._input = this._input.slice(1);\n\t return ch;\n\t },\n\t unput: function unput(ch) {\n\t var len = ch.length;\n\t var lines = ch.split(/(?:\\r\\n?|\\n)/g);\n\n\t this._input = ch + this._input;\n\t this.yytext = this.yytext.substr(0, this.yytext.length - len - 1);\n\t //this.yyleng -= len;\n\t this.offset -= len;\n\t var oldLines = this.match.split(/(?:\\r\\n?|\\n)/g);\n\t this.match = this.match.substr(0, this.match.length - 1);\n\t this.matched = this.matched.substr(0, this.matched.length - 1);\n\n\t if (lines.length - 1) this.yylineno -= lines.length - 1;\n\t var r = this.yylloc.range;\n\n\t this.yylloc = { first_line: this.yylloc.first_line,\n\t last_line: this.yylineno + 1,\n\t first_column: this.yylloc.first_column,\n\t last_column: lines ? (lines.length === oldLines.length ? this.yylloc.first_column : 0) + oldLines[oldLines.length - lines.length].length - lines[0].length : this.yylloc.first_column - len\n\t };\n\n\t if (this.options.ranges) {\n\t this.yylloc.range = [r[0], r[0] + this.yyleng - len];\n\t }\n\t return this;\n\t },\n\t more: function more() {\n\t this._more = true;\n\t return this;\n\t },\n\t less: function less(n) {\n\t this.unput(this.match.slice(n));\n\t },\n\t pastInput: function pastInput() {\n\t var past = this.matched.substr(0, this.matched.length - this.match.length);\n\t return (past.length > 20 ? '...' : '') + past.substr(-20).replace(/\\n/g, \"\");\n\t },\n\t upcomingInput: function upcomingInput() {\n\t var next = this.match;\n\t if (next.length < 20) {\n\t next += this._input.substr(0, 20 - next.length);\n\t }\n\t return (next.substr(0, 20) + (next.length > 20 ? '...' : '')).replace(/\\n/g, \"\");\n\t },\n\t showPosition: function showPosition() {\n\t var pre = this.pastInput();\n\t var c = new Array(pre.length + 1).join(\"-\");\n\t return pre + this.upcomingInput() + \"\\n\" + c + \"^\";\n\t },\n\t next: function next() {\n\t if (this.done) {\n\t return this.EOF;\n\t }\n\t if (!this._input) this.done = true;\n\n\t var token, match, tempMatch, index, col, lines;\n\t if (!this._more) {\n\t this.yytext = '';\n\t this.match = '';\n\t }\n\t var rules = this._currentRules();\n\t for (var i = 0; i < rules.length; i++) {\n\t tempMatch = this._input.match(this.rules[rules[i]]);\n\t if (tempMatch && (!match || tempMatch[0].length > match[0].length)) {\n\t match = tempMatch;\n\t index = i;\n\t if (!this.options.flex) break;\n\t }\n\t }\n\t if (match) {\n\t lines = match[0].match(/(?:\\r\\n?|\\n).*/g);\n\t if (lines) this.yylineno += lines.length;\n\t this.yylloc = { first_line: this.yylloc.last_line,\n\t last_line: this.yylineno + 1,\n\t first_column: this.yylloc.last_column,\n\t last_column: lines ? lines[lines.length - 1].length - lines[lines.length - 1].match(/\\r?\\n?/)[0].length : this.yylloc.last_column + match[0].length };\n\t this.yytext += match[0];\n\t this.match += match[0];\n\t this.matches = match;\n\t this.yyleng = this.yytext.length;\n\t if (this.options.ranges) {\n\t this.yylloc.range = [this.offset, this.offset += this.yyleng];\n\t }\n\t this._more = false;\n\t this._input = this._input.slice(match[0].length);\n\t this.matched += match[0];\n\t token = this.performAction.call(this, this.yy, this, rules[index], this.conditionStack[this.conditionStack.length - 1]);\n\t if (this.done && this._input) this.done = false;\n\t if (token) return token;else return;\n\t }\n\t if (this._input === \"\") {\n\t return this.EOF;\n\t } else {\n\t return this.parseError('Lexical error on line ' + (this.yylineno + 1) + '. Unrecognized text.\\n' + this.showPosition(), { text: \"\", token: null, line: this.yylineno });\n\t }\n\t },\n\t lex: function lex() {\n\t var r = this.next();\n\t if (typeof r !== 'undefined') {\n\t return r;\n\t } else {\n\t return this.lex();\n\t }\n\t },\n\t begin: function begin(condition) {\n\t this.conditionStack.push(condition);\n\t },\n\t popState: function popState() {\n\t return this.conditionStack.pop();\n\t },\n\t _currentRules: function _currentRules() {\n\t return this.conditions[this.conditionStack[this.conditionStack.length - 1]].rules;\n\t },\n\t topState: function topState() {\n\t return this.conditionStack[this.conditionStack.length - 2];\n\t },\n\t pushState: function begin(condition) {\n\t this.begin(condition);\n\t } };\n\t lexer.options = {};\n\t lexer.performAction = function anonymous(yy, yy_, $avoiding_name_collisions, YY_START) {\n\n\t function strip(start, end) {\n\t return yy_.yytext = yy_.yytext.substring(start, yy_.yyleng - end + start);\n\t }\n\n\t var YYSTATE = YY_START;\n\t switch ($avoiding_name_collisions) {\n\t case 0:\n\t if (yy_.yytext.slice(-2) === \"\\\\\\\\\") {\n\t strip(0, 1);\n\t this.begin(\"mu\");\n\t } else if (yy_.yytext.slice(-1) === \"\\\\\") {\n\t strip(0, 1);\n\t this.begin(\"emu\");\n\t } else {\n\t this.begin(\"mu\");\n\t }\n\t if (yy_.yytext) return 15;\n\n\t break;\n\t case 1:\n\t return 15;\n\t break;\n\t case 2:\n\t this.popState();\n\t return 15;\n\n\t break;\n\t case 3:\n\t this.begin('raw');return 15;\n\t break;\n\t case 4:\n\t this.popState();\n\t // Should be using `this.topState()` below, but it currently\n\t // returns the second top instead of the first top. Opened an\n\t // issue about it at https://github.com/zaach/jison/issues/291\n\t if (this.conditionStack[this.conditionStack.length - 1] === 'raw') {\n\t return 15;\n\t } else {\n\t strip(5, 9);\n\t return 'END_RAW_BLOCK';\n\t }\n\n\t break;\n\t case 5:\n\t return 15;\n\t break;\n\t case 6:\n\t this.popState();\n\t return 14;\n\n\t break;\n\t case 7:\n\t return 65;\n\t break;\n\t case 8:\n\t return 68;\n\t break;\n\t case 9:\n\t return 19;\n\t break;\n\t case 10:\n\t this.popState();\n\t this.begin('raw');\n\t return 23;\n\n\t break;\n\t case 11:\n\t return 55;\n\t break;\n\t case 12:\n\t return 60;\n\t break;\n\t case 13:\n\t return 29;\n\t break;\n\t case 14:\n\t return 47;\n\t break;\n\t case 15:\n\t this.popState();return 44;\n\t break;\n\t case 16:\n\t this.popState();return 44;\n\t break;\n\t case 17:\n\t return 34;\n\t break;\n\t case 18:\n\t return 39;\n\t break;\n\t case 19:\n\t return 51;\n\t break;\n\t case 20:\n\t return 48;\n\t break;\n\t case 21:\n\t this.unput(yy_.yytext);\n\t this.popState();\n\t this.begin('com');\n\n\t break;\n\t case 22:\n\t this.popState();\n\t return 14;\n\n\t break;\n\t case 23:\n\t return 48;\n\t break;\n\t case 24:\n\t return 73;\n\t break;\n\t case 25:\n\t return 72;\n\t break;\n\t case 26:\n\t return 72;\n\t break;\n\t case 27:\n\t return 87;\n\t break;\n\t case 28:\n\t // ignore whitespace\n\t break;\n\t case 29:\n\t this.popState();return 54;\n\t break;\n\t case 30:\n\t this.popState();return 33;\n\t break;\n\t case 31:\n\t yy_.yytext = strip(1, 2).replace(/\\\\\"/g, '\"');return 80;\n\t break;\n\t case 32:\n\t yy_.yytext = strip(1, 2).replace(/\\\\'/g, \"'\");return 80;\n\t break;\n\t case 33:\n\t return 85;\n\t break;\n\t case 34:\n\t return 82;\n\t break;\n\t case 35:\n\t return 82;\n\t break;\n\t case 36:\n\t return 83;\n\t break;\n\t case 37:\n\t return 84;\n\t break;\n\t case 38:\n\t return 81;\n\t break;\n\t case 39:\n\t return 75;\n\t break;\n\t case 40:\n\t return 77;\n\t break;\n\t case 41:\n\t return 72;\n\t break;\n\t case 42:\n\t yy_.yytext = yy_.yytext.replace(/\\\\([\\\\\\]])/g, '$1');return 72;\n\t break;\n\t case 43:\n\t return 'INVALID';\n\t break;\n\t case 44:\n\t return 5;\n\t break;\n\t }\n\t };\n\t lexer.rules = [/^(?:[^\\x00]*?(?=(\\{\\{)))/, /^(?:[^\\x00]+)/, /^(?:[^\\x00]{2,}?(?=(\\{\\{|\\\\\\{\\{|\\\\\\\\\\{\\{|$)))/, /^(?:\\{\\{\\{\\{(?=[^\\/]))/, /^(?:\\{\\{\\{\\{\\/[^\\s!\"#%-,\\.\\/;->@\\[-\\^`\\{-~]+(?=[=}\\s\\/.])\\}\\}\\}\\})/, /^(?:[^\\x00]+?(?=(\\{\\{\\{\\{)))/, /^(?:[\\s\\S]*?--(~)?\\}\\})/, /^(?:\\()/, /^(?:\\))/, /^(?:\\{\\{\\{\\{)/, /^(?:\\}\\}\\}\\})/, /^(?:\\{\\{(~)?>)/, /^(?:\\{\\{(~)?#>)/, /^(?:\\{\\{(~)?#\\*?)/, /^(?:\\{\\{(~)?\\/)/, /^(?:\\{\\{(~)?\\^\\s*(~)?\\}\\})/, /^(?:\\{\\{(~)?\\s*else\\s*(~)?\\}\\})/, /^(?:\\{\\{(~)?\\^)/, /^(?:\\{\\{(~)?\\s*else\\b)/, /^(?:\\{\\{(~)?\\{)/, /^(?:\\{\\{(~)?&)/, /^(?:\\{\\{(~)?!--)/, /^(?:\\{\\{(~)?![\\s\\S]*?\\}\\})/, /^(?:\\{\\{(~)?\\*?)/, /^(?:=)/, /^(?:\\.\\.)/, /^(?:\\.(?=([=~}\\s\\/.)|])))/, /^(?:[\\/.])/, /^(?:\\s+)/, /^(?:\\}(~)?\\}\\})/, /^(?:(~)?\\}\\})/, /^(?:\"(\\\\[\"]|[^\"])*\")/, /^(?:'(\\\\[']|[^'])*')/, /^(?:@)/, /^(?:true(?=([~}\\s)])))/, /^(?:false(?=([~}\\s)])))/, /^(?:undefined(?=([~}\\s)])))/, /^(?:null(?=([~}\\s)])))/, /^(?:-?[0-9]+(?:\\.[0-9]+)?(?=([~}\\s)])))/, /^(?:as\\s+\\|)/, /^(?:\\|)/, /^(?:([^\\s!\"#%-,\\.\\/;->@\\[-\\^`\\{-~]+(?=([=~}\\s\\/.)|]))))/, /^(?:\\[(\\\\\\]|[^\\]])*\\])/, /^(?:.)/, /^(?:$)/];\n\t lexer.conditions = { \"mu\": { \"rules\": [7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44], \"inclusive\": false }, \"emu\": { \"rules\": [2], \"inclusive\": false }, \"com\": { \"rules\": [6], \"inclusive\": false }, \"raw\": { \"rules\": [3, 4, 5], \"inclusive\": false }, \"INITIAL\": { \"rules\": [0, 1, 44], \"inclusive\": true } };\n\t return lexer;\n\t })();\n\t parser.lexer = lexer;\n\t function Parser() {\n\t this.yy = {};\n\t }Parser.prototype = parser;parser.Parser = Parser;\n\t return new Parser();\n\t})();exports[\"default\"] = handlebars;\n\tmodule.exports = exports[\"default\"];\n\n/***/ }),\n/* 48 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\n\tvar _interopRequireDefault = __webpack_require__(1)['default'];\n\n\texports.__esModule = true;\n\n\tvar _visitor = __webpack_require__(49);\n\n\tvar _visitor2 = _interopRequireDefault(_visitor);\n\n\tfunction WhitespaceControl() {\n\t var options = arguments.length <= 0 || arguments[0] === undefined ? {} : arguments[0];\n\n\t this.options = options;\n\t}\n\tWhitespaceControl.prototype = new _visitor2['default']();\n\n\tWhitespaceControl.prototype.Program = function (program) {\n\t var doStandalone = !this.options.ignoreStandalone;\n\n\t var isRoot = !this.isRootSeen;\n\t this.isRootSeen = true;\n\n\t var body = program.body;\n\t for (var i = 0, l = body.length; i < l; i++) {\n\t var current = body[i],\n\t strip = this.accept(current);\n\n\t if (!strip) {\n\t continue;\n\t }\n\n\t var _isPrevWhitespace = isPrevWhitespace(body, i, isRoot),\n\t _isNextWhitespace = isNextWhitespace(body, i, isRoot),\n\t openStandalone = strip.openStandalone && _isPrevWhitespace,\n\t closeStandalone = strip.closeStandalone && _isNextWhitespace,\n\t inlineStandalone = strip.inlineStandalone && _isPrevWhitespace && _isNextWhitespace;\n\n\t if (strip.close) {\n\t omitRight(body, i, true);\n\t }\n\t if (strip.open) {\n\t omitLeft(body, i, true);\n\t }\n\n\t if (doStandalone && inlineStandalone) {\n\t omitRight(body, i);\n\n\t if (omitLeft(body, i)) {\n\t // If we are on a standalone node, save the indent info for partials\n\t if (current.type === 'PartialStatement') {\n\t // Pull out the whitespace from the final line\n\t current.indent = /([ \\t]+$)/.exec(body[i - 1].original)[1];\n\t }\n\t }\n\t }\n\t if (doStandalone && openStandalone) {\n\t omitRight((current.program || current.inverse).body);\n\n\t // Strip out the previous content node if it's whitespace only\n\t omitLeft(body, i);\n\t }\n\t if (doStandalone && closeStandalone) {\n\t // Always strip the next node\n\t omitRight(body, i);\n\n\t omitLeft((current.inverse || current.program).body);\n\t }\n\t }\n\n\t return program;\n\t};\n\n\tWhitespaceControl.prototype.BlockStatement = WhitespaceControl.prototype.DecoratorBlock = WhitespaceControl.prototype.PartialBlockStatement = function (block) {\n\t this.accept(block.program);\n\t this.accept(block.inverse);\n\n\t // Find the inverse program that is involed with whitespace stripping.\n\t var program = block.program || block.inverse,\n\t inverse = block.program && block.inverse,\n\t firstInverse = inverse,\n\t lastInverse = inverse;\n\n\t if (inverse && inverse.chained) {\n\t firstInverse = inverse.body[0].program;\n\n\t // Walk the inverse chain to find the last inverse that is actually in the chain.\n\t while (lastInverse.chained) {\n\t lastInverse = lastInverse.body[lastInverse.body.length - 1].program;\n\t }\n\t }\n\n\t var strip = {\n\t open: block.openStrip.open,\n\t close: block.closeStrip.close,\n\n\t // Determine the standalone candiacy. Basically flag our content as being possibly standalone\n\t // so our parent can determine if we actually are standalone\n\t openStandalone: isNextWhitespace(program.body),\n\t closeStandalone: isPrevWhitespace((firstInverse || program).body)\n\t };\n\n\t if (block.openStrip.close) {\n\t omitRight(program.body, null, true);\n\t }\n\n\t if (inverse) {\n\t var inverseStrip = block.inverseStrip;\n\n\t if (inverseStrip.open) {\n\t omitLeft(program.body, null, true);\n\t }\n\n\t if (inverseStrip.close) {\n\t omitRight(firstInverse.body, null, true);\n\t }\n\t if (block.closeStrip.open) {\n\t omitLeft(lastInverse.body, null, true);\n\t }\n\n\t // Find standalone else statments\n\t if (!this.options.ignoreStandalone && isPrevWhitespace(program.body) && isNextWhitespace(firstInverse.body)) {\n\t omitLeft(program.body);\n\t omitRight(firstInverse.body);\n\t }\n\t } else if (block.closeStrip.open) {\n\t omitLeft(program.body, null, true);\n\t }\n\n\t return strip;\n\t};\n\n\tWhitespaceControl.prototype.Decorator = WhitespaceControl.prototype.MustacheStatement = function (mustache) {\n\t return mustache.strip;\n\t};\n\n\tWhitespaceControl.prototype.PartialStatement = WhitespaceControl.prototype.CommentStatement = function (node) {\n\t /* istanbul ignore next */\n\t var strip = node.strip || {};\n\t return {\n\t inlineStandalone: true,\n\t open: strip.open,\n\t close: strip.close\n\t };\n\t};\n\n\tfunction isPrevWhitespace(body, i, isRoot) {\n\t if (i === undefined) {\n\t i = body.length;\n\t }\n\n\t // Nodes that end with newlines are considered whitespace (but are special\n\t // cased for strip operations)\n\t var prev = body[i - 1],\n\t sibling = body[i - 2];\n\t if (!prev) {\n\t return isRoot;\n\t }\n\n\t if (prev.type === 'ContentStatement') {\n\t return (sibling || !isRoot ? /\\r?\\n\\s*?$/ : /(^|\\r?\\n)\\s*?$/).test(prev.original);\n\t }\n\t}\n\tfunction isNextWhitespace(body, i, isRoot) {\n\t if (i === undefined) {\n\t i = -1;\n\t }\n\n\t var next = body[i + 1],\n\t sibling = body[i + 2];\n\t if (!next) {\n\t return isRoot;\n\t }\n\n\t if (next.type === 'ContentStatement') {\n\t return (sibling || !isRoot ? /^\\s*?\\r?\\n/ : /^\\s*?(\\r?\\n|$)/).test(next.original);\n\t }\n\t}\n\n\t// Marks the node to the right of the position as omitted.\n\t// I.e. {{foo}}' ' will mark the ' ' node as omitted.\n\t//\n\t// If i is undefined, then the first child will be marked as such.\n\t//\n\t// If mulitple is truthy then all whitespace will be stripped out until non-whitespace\n\t// content is met.\n\tfunction omitRight(body, i, multiple) {\n\t var current = body[i == null ? 0 : i + 1];\n\t if (!current || current.type !== 'ContentStatement' || !multiple && current.rightStripped) {\n\t return;\n\t }\n\n\t var original = current.value;\n\t current.value = current.value.replace(multiple ? /^\\s+/ : /^[ \\t]*\\r?\\n?/, '');\n\t current.rightStripped = current.value !== original;\n\t}\n\n\t// Marks the node to the left of the position as omitted.\n\t// I.e. ' '{{foo}} will mark the ' ' node as omitted.\n\t//\n\t// If i is undefined then the last child will be marked as such.\n\t//\n\t// If mulitple is truthy then all whitespace will be stripped out until non-whitespace\n\t// content is met.\n\tfunction omitLeft(body, i, multiple) {\n\t var current = body[i == null ? body.length - 1 : i - 1];\n\t if (!current || current.type !== 'ContentStatement' || !multiple && current.leftStripped) {\n\t return;\n\t }\n\n\t // We omit the last node if it's whitespace only and not preceded by a non-content node.\n\t var original = current.value;\n\t current.value = current.value.replace(multiple ? /\\s+$/ : /[ \\t]+$/, '');\n\t current.leftStripped = current.value !== original;\n\t return current.leftStripped;\n\t}\n\n\texports['default'] = WhitespaceControl;\n\tmodule.exports = exports['default'];\n\n/***/ }),\n/* 49 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\n\tvar _interopRequireDefault = __webpack_require__(1)['default'];\n\n\texports.__esModule = true;\n\n\tvar _exception = __webpack_require__(6);\n\n\tvar _exception2 = _interopRequireDefault(_exception);\n\n\tfunction Visitor() {\n\t this.parents = [];\n\t}\n\n\tVisitor.prototype = {\n\t constructor: Visitor,\n\t mutating: false,\n\n\t // Visits a given value. If mutating, will replace the value if necessary.\n\t acceptKey: function acceptKey(node, name) {\n\t var value = this.accept(node[name]);\n\t if (this.mutating) {\n\t // Hacky sanity check: This may have a few false positives for type for the helper\n\t // methods but will generally do the right thing without a lot of overhead.\n\t if (value && !Visitor.prototype[value.type]) {\n\t throw new _exception2['default']('Unexpected node type \"' + value.type + '\" found when accepting ' + name + ' on ' + node.type);\n\t }\n\t node[name] = value;\n\t }\n\t },\n\n\t // Performs an accept operation with added sanity check to ensure\n\t // required keys are not removed.\n\t acceptRequired: function acceptRequired(node, name) {\n\t this.acceptKey(node, name);\n\n\t if (!node[name]) {\n\t throw new _exception2['default'](node.type + ' requires ' + name);\n\t }\n\t },\n\n\t // Traverses a given array. If mutating, empty respnses will be removed\n\t // for child elements.\n\t acceptArray: function acceptArray(array) {\n\t for (var i = 0, l = array.length; i < l; i++) {\n\t this.acceptKey(array, i);\n\n\t if (!array[i]) {\n\t array.splice(i, 1);\n\t i--;\n\t l--;\n\t }\n\t }\n\t },\n\n\t accept: function accept(object) {\n\t if (!object) {\n\t return;\n\t }\n\n\t /* istanbul ignore next: Sanity code */\n\t if (!this[object.type]) {\n\t throw new _exception2['default']('Unknown type: ' + object.type, object);\n\t }\n\n\t if (this.current) {\n\t this.parents.unshift(this.current);\n\t }\n\t this.current = object;\n\n\t var ret = this[object.type](object);\n\n\t this.current = this.parents.shift();\n\n\t if (!this.mutating || ret) {\n\t return ret;\n\t } else if (ret !== false) {\n\t return object;\n\t }\n\t },\n\n\t Program: function Program(program) {\n\t this.acceptArray(program.body);\n\t },\n\n\t MustacheStatement: visitSubExpression,\n\t Decorator: visitSubExpression,\n\n\t BlockStatement: visitBlock,\n\t DecoratorBlock: visitBlock,\n\n\t PartialStatement: visitPartial,\n\t PartialBlockStatement: function PartialBlockStatement(partial) {\n\t visitPartial.call(this, partial);\n\n\t this.acceptKey(partial, 'program');\n\t },\n\n\t ContentStatement: function ContentStatement() /* content */{},\n\t CommentStatement: function CommentStatement() /* comment */{},\n\n\t SubExpression: visitSubExpression,\n\n\t PathExpression: function PathExpression() /* path */{},\n\n\t StringLiteral: function StringLiteral() /* string */{},\n\t NumberLiteral: function NumberLiteral() /* number */{},\n\t BooleanLiteral: function BooleanLiteral() /* bool */{},\n\t UndefinedLiteral: function UndefinedLiteral() /* literal */{},\n\t NullLiteral: function NullLiteral() /* literal */{},\n\n\t Hash: function Hash(hash) {\n\t this.acceptArray(hash.pairs);\n\t },\n\t HashPair: function HashPair(pair) {\n\t this.acceptRequired(pair, 'value');\n\t }\n\t};\n\n\tfunction visitSubExpression(mustache) {\n\t this.acceptRequired(mustache, 'path');\n\t this.acceptArray(mustache.params);\n\t this.acceptKey(mustache, 'hash');\n\t}\n\tfunction visitBlock(block) {\n\t visitSubExpression.call(this, block);\n\n\t this.acceptKey(block, 'program');\n\t this.acceptKey(block, 'inverse');\n\t}\n\tfunction visitPartial(partial) {\n\t this.acceptRequired(partial, 'name');\n\t this.acceptArray(partial.params);\n\t this.acceptKey(partial, 'hash');\n\t}\n\n\texports['default'] = Visitor;\n\tmodule.exports = exports['default'];\n\n/***/ }),\n/* 50 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\n\tvar _interopRequireDefault = __webpack_require__(1)['default'];\n\n\texports.__esModule = true;\n\texports.SourceLocation = SourceLocation;\n\texports.id = id;\n\texports.stripFlags = stripFlags;\n\texports.stripComment = stripComment;\n\texports.preparePath = preparePath;\n\texports.prepareMustache = prepareMustache;\n\texports.prepareRawBlock = prepareRawBlock;\n\texports.prepareBlock = prepareBlock;\n\texports.prepareProgram = prepareProgram;\n\texports.preparePartialBlock = preparePartialBlock;\n\n\tvar _exception = __webpack_require__(6);\n\n\tvar _exception2 = _interopRequireDefault(_exception);\n\n\tfunction validateClose(open, close) {\n\t close = close.path ? close.path.original : close;\n\n\t if (open.path.original !== close) {\n\t var errorNode = { loc: open.path.loc };\n\n\t throw new _exception2['default'](open.path.original + \" doesn't match \" + close, errorNode);\n\t }\n\t}\n\n\tfunction SourceLocation(source, locInfo) {\n\t this.source = source;\n\t this.start = {\n\t line: locInfo.first_line,\n\t column: locInfo.first_column\n\t };\n\t this.end = {\n\t line: locInfo.last_line,\n\t column: locInfo.last_column\n\t };\n\t}\n\n\tfunction id(token) {\n\t if (/^\\[.*\\]$/.test(token)) {\n\t return token.substring(1, token.length - 1);\n\t } else {\n\t return token;\n\t }\n\t}\n\n\tfunction stripFlags(open, close) {\n\t return {\n\t open: open.charAt(2) === '~',\n\t close: close.charAt(close.length - 3) === '~'\n\t };\n\t}\n\n\tfunction stripComment(comment) {\n\t return comment.replace(/^\\{\\{~?!-?-?/, '').replace(/-?-?~?\\}\\}$/, '');\n\t}\n\n\tfunction preparePath(data, parts, loc) {\n\t loc = this.locInfo(loc);\n\n\t var original = data ? '@' : '',\n\t dig = [],\n\t depth = 0;\n\n\t for (var i = 0, l = parts.length; i < l; i++) {\n\t var part = parts[i].part,\n\n\t // If we have [] syntax then we do not treat path references as operators,\n\t // i.e. foo.[this] resolves to approximately context.foo['this']\n\t isLiteral = parts[i].original !== part;\n\t original += (parts[i].separator || '') + part;\n\n\t if (!isLiteral && (part === '..' || part === '.' || part === 'this')) {\n\t if (dig.length > 0) {\n\t throw new _exception2['default']('Invalid path: ' + original, { loc: loc });\n\t } else if (part === '..') {\n\t depth++;\n\t }\n\t } else {\n\t dig.push(part);\n\t }\n\t }\n\n\t return {\n\t type: 'PathExpression',\n\t data: data,\n\t depth: depth,\n\t parts: dig,\n\t original: original,\n\t loc: loc\n\t };\n\t}\n\n\tfunction prepareMustache(path, params, hash, open, strip, locInfo) {\n\t // Must use charAt to support IE pre-10\n\t var escapeFlag = open.charAt(3) || open.charAt(2),\n\t escaped = escapeFlag !== '{' && escapeFlag !== '&';\n\n\t var decorator = /\\*/.test(open);\n\t return {\n\t type: decorator ? 'Decorator' : 'MustacheStatement',\n\t path: path,\n\t params: params,\n\t hash: hash,\n\t escaped: escaped,\n\t strip: strip,\n\t loc: this.locInfo(locInfo)\n\t };\n\t}\n\n\tfunction prepareRawBlock(openRawBlock, contents, close, locInfo) {\n\t validateClose(openRawBlock, close);\n\n\t locInfo = this.locInfo(locInfo);\n\t var program = {\n\t type: 'Program',\n\t body: contents,\n\t strip: {},\n\t loc: locInfo\n\t };\n\n\t return {\n\t type: 'BlockStatement',\n\t path: openRawBlock.path,\n\t params: openRawBlock.params,\n\t hash: openRawBlock.hash,\n\t program: program,\n\t openStrip: {},\n\t inverseStrip: {},\n\t closeStrip: {},\n\t loc: locInfo\n\t };\n\t}\n\n\tfunction prepareBlock(openBlock, program, inverseAndProgram, close, inverted, locInfo) {\n\t if (close && close.path) {\n\t validateClose(openBlock, close);\n\t }\n\n\t var decorator = /\\*/.test(openBlock.open);\n\n\t program.blockParams = openBlock.blockParams;\n\n\t var inverse = undefined,\n\t inverseStrip = undefined;\n\n\t if (inverseAndProgram) {\n\t if (decorator) {\n\t throw new _exception2['default']('Unexpected inverse block on decorator', inverseAndProgram);\n\t }\n\n\t if (inverseAndProgram.chain) {\n\t inverseAndProgram.program.body[0].closeStrip = close.strip;\n\t }\n\n\t inverseStrip = inverseAndProgram.strip;\n\t inverse = inverseAndProgram.program;\n\t }\n\n\t if (inverted) {\n\t inverted = inverse;\n\t inverse = program;\n\t program = inverted;\n\t }\n\n\t return {\n\t type: decorator ? 'DecoratorBlock' : 'BlockStatement',\n\t path: openBlock.path,\n\t params: openBlock.params,\n\t hash: openBlock.hash,\n\t program: program,\n\t inverse: inverse,\n\t openStrip: openBlock.strip,\n\t inverseStrip: inverseStrip,\n\t closeStrip: close && close.strip,\n\t loc: this.locInfo(locInfo)\n\t };\n\t}\n\n\tfunction prepareProgram(statements, loc) {\n\t if (!loc && statements.length) {\n\t var firstLoc = statements[0].loc,\n\t lastLoc = statements[statements.length - 1].loc;\n\n\t /* istanbul ignore else */\n\t if (firstLoc && lastLoc) {\n\t loc = {\n\t source: firstLoc.source,\n\t start: {\n\t line: firstLoc.start.line,\n\t column: firstLoc.start.column\n\t },\n\t end: {\n\t line: lastLoc.end.line,\n\t column: lastLoc.end.column\n\t }\n\t };\n\t }\n\t }\n\n\t return {\n\t type: 'Program',\n\t body: statements,\n\t strip: {},\n\t loc: loc\n\t };\n\t}\n\n\tfunction preparePartialBlock(open, program, close, locInfo) {\n\t validateClose(open, close);\n\n\t return {\n\t type: 'PartialBlockStatement',\n\t name: open.path,\n\t params: open.params,\n\t hash: open.hash,\n\t program: program,\n\t openStrip: open.strip,\n\t closeStrip: close && close.strip,\n\t loc: this.locInfo(locInfo)\n\t };\n\t}\n\n/***/ }),\n/* 51 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t/* eslint-disable new-cap */\n\n\t'use strict';\n\n\tvar _Object$create = __webpack_require__(34)['default'];\n\n\tvar _interopRequireDefault = __webpack_require__(1)['default'];\n\n\texports.__esModule = true;\n\texports.Compiler = Compiler;\n\texports.precompile = precompile;\n\texports.compile = compile;\n\n\tvar _exception = __webpack_require__(6);\n\n\tvar _exception2 = _interopRequireDefault(_exception);\n\n\tvar _utils = __webpack_require__(5);\n\n\tvar _ast = __webpack_require__(45);\n\n\tvar _ast2 = _interopRequireDefault(_ast);\n\n\tvar slice = [].slice;\n\n\tfunction Compiler() {}\n\n\t// the foundHelper register will disambiguate helper lookup from finding a\n\t// function in a context. This is necessary for mustache compatibility, which\n\t// requires that context functions in blocks are evaluated by blockHelperMissing,\n\t// and then proceed as if the resulting value was provided to blockHelperMissing.\n\n\tCompiler.prototype = {\n\t compiler: Compiler,\n\n\t equals: function equals(other) {\n\t var len = this.opcodes.length;\n\t if (other.opcodes.length !== len) {\n\t return false;\n\t }\n\n\t for (var i = 0; i < len; i++) {\n\t var opcode = this.opcodes[i],\n\t otherOpcode = other.opcodes[i];\n\t if (opcode.opcode !== otherOpcode.opcode || !argEquals(opcode.args, otherOpcode.args)) {\n\t return false;\n\t }\n\t }\n\n\t // We know that length is the same between the two arrays because they are directly tied\n\t // to the opcode behavior above.\n\t len = this.children.length;\n\t for (var i = 0; i < len; i++) {\n\t if (!this.children[i].equals(other.children[i])) {\n\t return false;\n\t }\n\t }\n\n\t return true;\n\t },\n\n\t guid: 0,\n\n\t compile: function compile(program, options) {\n\t this.sourceNode = [];\n\t this.opcodes = [];\n\t this.children = [];\n\t this.options = options;\n\t this.stringParams = options.stringParams;\n\t this.trackIds = options.trackIds;\n\n\t options.blockParams = options.blockParams || [];\n\n\t options.knownHelpers = _utils.extend(_Object$create(null), {\n\t helperMissing: true,\n\t blockHelperMissing: true,\n\t each: true,\n\t 'if': true,\n\t unless: true,\n\t 'with': true,\n\t log: true,\n\t lookup: true\n\t }, options.knownHelpers);\n\n\t return this.accept(program);\n\t },\n\n\t compileProgram: function compileProgram(program) {\n\t var childCompiler = new this.compiler(),\n\t // eslint-disable-line new-cap\n\t result = childCompiler.compile(program, this.options),\n\t guid = this.guid++;\n\n\t this.usePartial = this.usePartial || result.usePartial;\n\n\t this.children[guid] = result;\n\t this.useDepths = this.useDepths || result.useDepths;\n\n\t return guid;\n\t },\n\n\t accept: function accept(node) {\n\t /* istanbul ignore next: Sanity code */\n\t if (!this[node.type]) {\n\t throw new _exception2['default']('Unknown type: ' + node.type, node);\n\t }\n\n\t this.sourceNode.unshift(node);\n\t var ret = this[node.type](node);\n\t this.sourceNode.shift();\n\t return ret;\n\t },\n\n\t Program: function Program(program) {\n\t this.options.blockParams.unshift(program.blockParams);\n\n\t var body = program.body,\n\t bodyLength = body.length;\n\t for (var i = 0; i < bodyLength; i++) {\n\t this.accept(body[i]);\n\t }\n\n\t this.options.blockParams.shift();\n\n\t this.isSimple = bodyLength === 1;\n\t this.blockParams = program.blockParams ? program.blockParams.length : 0;\n\n\t return this;\n\t },\n\n\t BlockStatement: function BlockStatement(block) {\n\t transformLiteralToPath(block);\n\n\t var program = block.program,\n\t inverse = block.inverse;\n\n\t program = program && this.compileProgram(program);\n\t inverse = inverse && this.compileProgram(inverse);\n\n\t var type = this.classifySexpr(block);\n\n\t if (type === 'helper') {\n\t this.helperSexpr(block, program, inverse);\n\t } else if (type === 'simple') {\n\t this.simpleSexpr(block);\n\n\t // now that the simple mustache is resolved, we need to\n\t // evaluate it by executing `blockHelperMissing`\n\t this.opcode('pushProgram', program);\n\t this.opcode('pushProgram', inverse);\n\t this.opcode('emptyHash');\n\t this.opcode('blockValue', block.path.original);\n\t } else {\n\t this.ambiguousSexpr(block, program, inverse);\n\n\t // now that the simple mustache is resolved, we need to\n\t // evaluate it by executing `blockHelperMissing`\n\t this.opcode('pushProgram', program);\n\t this.opcode('pushProgram', inverse);\n\t this.opcode('emptyHash');\n\t this.opcode('ambiguousBlockValue');\n\t }\n\n\t this.opcode('append');\n\t },\n\n\t DecoratorBlock: function DecoratorBlock(decorator) {\n\t var program = decorator.program && this.compileProgram(decorator.program);\n\t var params = this.setupFullMustacheParams(decorator, program, undefined),\n\t path = decorator.path;\n\n\t this.useDecorators = true;\n\t this.opcode('registerDecorator', params.length, path.original);\n\t },\n\n\t PartialStatement: function PartialStatement(partial) {\n\t this.usePartial = true;\n\n\t var program = partial.program;\n\t if (program) {\n\t program = this.compileProgram(partial.program);\n\t }\n\n\t var params = partial.params;\n\t if (params.length > 1) {\n\t throw new _exception2['default']('Unsupported number of partial arguments: ' + params.length, partial);\n\t } else if (!params.length) {\n\t if (this.options.explicitPartialContext) {\n\t this.opcode('pushLiteral', 'undefined');\n\t } else {\n\t params.push({ type: 'PathExpression', parts: [], depth: 0 });\n\t }\n\t }\n\n\t var partialName = partial.name.original,\n\t isDynamic = partial.name.type === 'SubExpression';\n\t if (isDynamic) {\n\t this.accept(partial.name);\n\t }\n\n\t this.setupFullMustacheParams(partial, program, undefined, true);\n\n\t var indent = partial.indent || '';\n\t if (this.options.preventIndent && indent) {\n\t this.opcode('appendContent', indent);\n\t indent = '';\n\t }\n\n\t this.opcode('invokePartial', isDynamic, partialName, indent);\n\t this.opcode('append');\n\t },\n\t PartialBlockStatement: function PartialBlockStatement(partialBlock) {\n\t this.PartialStatement(partialBlock);\n\t },\n\n\t MustacheStatement: function MustacheStatement(mustache) {\n\t this.SubExpression(mustache);\n\n\t if (mustache.escaped && !this.options.noEscape) {\n\t this.opcode('appendEscaped');\n\t } else {\n\t this.opcode('append');\n\t }\n\t },\n\t Decorator: function Decorator(decorator) {\n\t this.DecoratorBlock(decorator);\n\t },\n\n\t ContentStatement: function ContentStatement(content) {\n\t if (content.value) {\n\t this.opcode('appendContent', content.value);\n\t }\n\t },\n\n\t CommentStatement: function CommentStatement() {},\n\n\t SubExpression: function SubExpression(sexpr) {\n\t transformLiteralToPath(sexpr);\n\t var type = this.classifySexpr(sexpr);\n\n\t if (type === 'simple') {\n\t this.simpleSexpr(sexpr);\n\t } else if (type === 'helper') {\n\t this.helperSexpr(sexpr);\n\t } else {\n\t this.ambiguousSexpr(sexpr);\n\t }\n\t },\n\t ambiguousSexpr: function ambiguousSexpr(sexpr, program, inverse) {\n\t var path = sexpr.path,\n\t name = path.parts[0],\n\t isBlock = program != null || inverse != null;\n\n\t this.opcode('getContext', path.depth);\n\n\t this.opcode('pushProgram', program);\n\t this.opcode('pushProgram', inverse);\n\n\t path.strict = true;\n\t this.accept(path);\n\n\t this.opcode('invokeAmbiguous', name, isBlock);\n\t },\n\n\t simpleSexpr: function simpleSexpr(sexpr) {\n\t var path = sexpr.path;\n\t path.strict = true;\n\t this.accept(path);\n\t this.opcode('resolvePossibleLambda');\n\t },\n\n\t helperSexpr: function helperSexpr(sexpr, program, inverse) {\n\t var params = this.setupFullMustacheParams(sexpr, program, inverse),\n\t path = sexpr.path,\n\t name = path.parts[0];\n\n\t if (this.options.knownHelpers[name]) {\n\t this.opcode('invokeKnownHelper', params.length, name);\n\t } else if (this.options.knownHelpersOnly) {\n\t throw new _exception2['default']('You specified knownHelpersOnly, but used the unknown helper ' + name, sexpr);\n\t } else {\n\t path.strict = true;\n\t path.falsy = true;\n\n\t this.accept(path);\n\t this.opcode('invokeHelper', params.length, path.original, _ast2['default'].helpers.simpleId(path));\n\t }\n\t },\n\n\t PathExpression: function PathExpression(path) {\n\t this.addDepth(path.depth);\n\t this.opcode('getContext', path.depth);\n\n\t var name = path.parts[0],\n\t scoped = _ast2['default'].helpers.scopedId(path),\n\t blockParamId = !path.depth && !scoped && this.blockParamIndex(name);\n\n\t if (blockParamId) {\n\t this.opcode('lookupBlockParam', blockParamId, path.parts);\n\t } else if (!name) {\n\t // Context reference, i.e. `{{foo .}}` or `{{foo ..}}`\n\t this.opcode('pushContext');\n\t } else if (path.data) {\n\t this.options.data = true;\n\t this.opcode('lookupData', path.depth, path.parts, path.strict);\n\t } else {\n\t this.opcode('lookupOnContext', path.parts, path.falsy, path.strict, scoped);\n\t }\n\t },\n\n\t StringLiteral: function StringLiteral(string) {\n\t this.opcode('pushString', string.value);\n\t },\n\n\t NumberLiteral: function NumberLiteral(number) {\n\t this.opcode('pushLiteral', number.value);\n\t },\n\n\t BooleanLiteral: function BooleanLiteral(bool) {\n\t this.opcode('pushLiteral', bool.value);\n\t },\n\n\t UndefinedLiteral: function UndefinedLiteral() {\n\t this.opcode('pushLiteral', 'undefined');\n\t },\n\n\t NullLiteral: function NullLiteral() {\n\t this.opcode('pushLiteral', 'null');\n\t },\n\n\t Hash: function Hash(hash) {\n\t var pairs = hash.pairs,\n\t i = 0,\n\t l = pairs.length;\n\n\t this.opcode('pushHash');\n\n\t for (; i < l; i++) {\n\t this.pushParam(pairs[i].value);\n\t }\n\t while (i--) {\n\t this.opcode('assignToHash', pairs[i].key);\n\t }\n\t this.opcode('popHash');\n\t },\n\n\t // HELPERS\n\t opcode: function opcode(name) {\n\t this.opcodes.push({\n\t opcode: name,\n\t args: slice.call(arguments, 1),\n\t loc: this.sourceNode[0].loc\n\t });\n\t },\n\n\t addDepth: function addDepth(depth) {\n\t if (!depth) {\n\t return;\n\t }\n\n\t this.useDepths = true;\n\t },\n\n\t classifySexpr: function classifySexpr(sexpr) {\n\t var isSimple = _ast2['default'].helpers.simpleId(sexpr.path);\n\n\t var isBlockParam = isSimple && !!this.blockParamIndex(sexpr.path.parts[0]);\n\n\t // a mustache is an eligible helper if:\n\t // * its id is simple (a single part, not `this` or `..`)\n\t var isHelper = !isBlockParam && _ast2['default'].helpers.helperExpression(sexpr);\n\n\t // if a mustache is an eligible helper but not a definite\n\t // helper, it is ambiguous, and will be resolved in a later\n\t // pass or at runtime.\n\t var isEligible = !isBlockParam && (isHelper || isSimple);\n\n\t // if ambiguous, we can possibly resolve the ambiguity now\n\t // An eligible helper is one that does not have a complex path, i.e. `this.foo`, `../foo` etc.\n\t if (isEligible && !isHelper) {\n\t var _name = sexpr.path.parts[0],\n\t options = this.options;\n\t if (options.knownHelpers[_name]) {\n\t isHelper = true;\n\t } else if (options.knownHelpersOnly) {\n\t isEligible = false;\n\t }\n\t }\n\n\t if (isHelper) {\n\t return 'helper';\n\t } else if (isEligible) {\n\t return 'ambiguous';\n\t } else {\n\t return 'simple';\n\t }\n\t },\n\n\t pushParams: function pushParams(params) {\n\t for (var i = 0, l = params.length; i < l; i++) {\n\t this.pushParam(params[i]);\n\t }\n\t },\n\n\t pushParam: function pushParam(val) {\n\t var value = val.value != null ? val.value : val.original || '';\n\n\t if (this.stringParams) {\n\t if (value.replace) {\n\t value = value.replace(/^(\\.?\\.\\/)*/g, '').replace(/\\//g, '.');\n\t }\n\n\t if (val.depth) {\n\t this.addDepth(val.depth);\n\t }\n\t this.opcode('getContext', val.depth || 0);\n\t this.opcode('pushStringParam', value, val.type);\n\n\t if (val.type === 'SubExpression') {\n\t // SubExpressions get evaluated and passed in\n\t // in string params mode.\n\t this.accept(val);\n\t }\n\t } else {\n\t if (this.trackIds) {\n\t var blockParamIndex = undefined;\n\t if (val.parts && !_ast2['default'].helpers.scopedId(val) && !val.depth) {\n\t blockParamIndex = this.blockParamIndex(val.parts[0]);\n\t }\n\t if (blockParamIndex) {\n\t var blockParamChild = val.parts.slice(1).join('.');\n\t this.opcode('pushId', 'BlockParam', blockParamIndex, blockParamChild);\n\t } else {\n\t value = val.original || value;\n\t if (value.replace) {\n\t value = value.replace(/^this(?:\\.|$)/, '').replace(/^\\.\\//, '').replace(/^\\.$/, '');\n\t }\n\n\t this.opcode('pushId', val.type, value);\n\t }\n\t }\n\t this.accept(val);\n\t }\n\t },\n\n\t setupFullMustacheParams: function setupFullMustacheParams(sexpr, program, inverse, omitEmpty) {\n\t var params = sexpr.params;\n\t this.pushParams(params);\n\n\t this.opcode('pushProgram', program);\n\t this.opcode('pushProgram', inverse);\n\n\t if (sexpr.hash) {\n\t this.accept(sexpr.hash);\n\t } else {\n\t this.opcode('emptyHash', omitEmpty);\n\t }\n\n\t return params;\n\t },\n\n\t blockParamIndex: function blockParamIndex(name) {\n\t for (var depth = 0, len = this.options.blockParams.length; depth < len; depth++) {\n\t var blockParams = this.options.blockParams[depth],\n\t param = blockParams && _utils.indexOf(blockParams, name);\n\t if (blockParams && param >= 0) {\n\t return [depth, param];\n\t }\n\t }\n\t }\n\t};\n\n\tfunction precompile(input, options, env) {\n\t if (input == null || typeof input !== 'string' && input.type !== 'Program') {\n\t throw new _exception2['default']('You must pass a string or Handlebars AST to Handlebars.precompile. You passed ' + input);\n\t }\n\n\t options = options || {};\n\t if (!('data' in options)) {\n\t options.data = true;\n\t }\n\t if (options.compat) {\n\t options.useDepths = true;\n\t }\n\n\t var ast = env.parse(input, options),\n\t environment = new env.Compiler().compile(ast, options);\n\t return new env.JavaScriptCompiler().compile(environment, options);\n\t}\n\n\tfunction compile(input, options, env) {\n\t if (options === undefined) options = {};\n\n\t if (input == null || typeof input !== 'string' && input.type !== 'Program') {\n\t throw new _exception2['default']('You must pass a string or Handlebars AST to Handlebars.compile. You passed ' + input);\n\t }\n\n\t options = _utils.extend({}, options);\n\t if (!('data' in options)) {\n\t options.data = true;\n\t }\n\t if (options.compat) {\n\t options.useDepths = true;\n\t }\n\n\t var compiled = undefined;\n\n\t function compileInput() {\n\t var ast = env.parse(input, options),\n\t environment = new env.Compiler().compile(ast, options),\n\t templateSpec = new env.JavaScriptCompiler().compile(environment, options, undefined, true);\n\t return env.template(templateSpec);\n\t }\n\n\t // Template is only compiled on first use and cached after that point.\n\t function ret(context, execOptions) {\n\t if (!compiled) {\n\t compiled = compileInput();\n\t }\n\t return compiled.call(this, context, execOptions);\n\t }\n\t ret._setup = function (setupOptions) {\n\t if (!compiled) {\n\t compiled = compileInput();\n\t }\n\t return compiled._setup(setupOptions);\n\t };\n\t ret._child = function (i, data, blockParams, depths) {\n\t if (!compiled) {\n\t compiled = compileInput();\n\t }\n\t return compiled._child(i, data, blockParams, depths);\n\t };\n\t return ret;\n\t}\n\n\tfunction argEquals(a, b) {\n\t if (a === b) {\n\t return true;\n\t }\n\n\t if (_utils.isArray(a) && _utils.isArray(b) && a.length === b.length) {\n\t for (var i = 0; i < a.length; i++) {\n\t if (!argEquals(a[i], b[i])) {\n\t return false;\n\t }\n\t }\n\t return true;\n\t }\n\t}\n\n\tfunction transformLiteralToPath(sexpr) {\n\t if (!sexpr.path.parts) {\n\t var literal = sexpr.path;\n\t // Casting to string here to make false and 0 literal values play nicely with the rest\n\t // of the system.\n\t sexpr.path = {\n\t type: 'PathExpression',\n\t data: false,\n\t depth: 0,\n\t parts: [literal.original + ''],\n\t original: literal.original + '',\n\t loc: literal.loc\n\t };\n\t }\n\t}\n\n/***/ }),\n/* 52 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\n\tvar _Object$keys = __webpack_require__(13)['default'];\n\n\tvar _interopRequireDefault = __webpack_require__(1)['default'];\n\n\texports.__esModule = true;\n\n\tvar _base = __webpack_require__(4);\n\n\tvar _exception = __webpack_require__(6);\n\n\tvar _exception2 = _interopRequireDefault(_exception);\n\n\tvar _utils = __webpack_require__(5);\n\n\tvar _codeGen = __webpack_require__(53);\n\n\tvar _codeGen2 = _interopRequireDefault(_codeGen);\n\n\tfunction Literal(value) {\n\t this.value = value;\n\t}\n\n\tfunction JavaScriptCompiler() {}\n\n\tJavaScriptCompiler.prototype = {\n\t // PUBLIC API: You can override these methods in a subclass to provide\n\t // alternative compiled forms for name lookup and buffering semantics\n\t nameLookup: function nameLookup(parent, name /*, type */) {\n\t return this.internalNameLookup(parent, name);\n\t },\n\t depthedLookup: function depthedLookup(name) {\n\t return [this.aliasable('container.lookup'), '(depths, \"', name, '\")'];\n\t },\n\n\t compilerInfo: function compilerInfo() {\n\t var revision = _base.COMPILER_REVISION,\n\t versions = _base.REVISION_CHANGES[revision];\n\t return [revision, versions];\n\t },\n\n\t appendToBuffer: function appendToBuffer(source, location, explicit) {\n\t // Force a source as this simplifies the merge logic.\n\t if (!_utils.isArray(source)) {\n\t source = [source];\n\t }\n\t source = this.source.wrap(source, location);\n\n\t if (this.environment.isSimple) {\n\t return ['return ', source, ';'];\n\t } else if (explicit) {\n\t // This is a case where the buffer operation occurs as a child of another\n\t // construct, generally braces. We have to explicitly output these buffer\n\t // operations to ensure that the emitted code goes in the correct location.\n\t return ['buffer += ', source, ';'];\n\t } else {\n\t source.appendToBuffer = true;\n\t return source;\n\t }\n\t },\n\n\t initializeBuffer: function initializeBuffer() {\n\t return this.quotedString('');\n\t },\n\t // END PUBLIC API\n\t internalNameLookup: function internalNameLookup(parent, name) {\n\t this.lookupPropertyFunctionIsUsed = true;\n\t return ['lookupProperty(', parent, ',', JSON.stringify(name), ')'];\n\t },\n\n\t lookupPropertyFunctionIsUsed: false,\n\n\t compile: function compile(environment, options, context, asObject) {\n\t this.environment = environment;\n\t this.options = options;\n\t this.stringParams = this.options.stringParams;\n\t this.trackIds = this.options.trackIds;\n\t this.precompile = !asObject;\n\n\t this.name = this.environment.name;\n\t this.isChild = !!context;\n\t this.context = context || {\n\t decorators: [],\n\t programs: [],\n\t environments: []\n\t };\n\n\t this.preamble();\n\n\t this.stackSlot = 0;\n\t this.stackVars = [];\n\t this.aliases = {};\n\t this.registers = { list: [] };\n\t this.hashes = [];\n\t this.compileStack = [];\n\t this.inlineStack = [];\n\t this.blockParams = [];\n\n\t this.compileChildren(environment, options);\n\n\t this.useDepths = this.useDepths || environment.useDepths || environment.useDecorators || this.options.compat;\n\t this.useBlockParams = this.useBlockParams || environment.useBlockParams;\n\n\t var opcodes = environment.opcodes,\n\t opcode = undefined,\n\t firstLoc = undefined,\n\t i = undefined,\n\t l = undefined;\n\n\t for (i = 0, l = opcodes.length; i < l; i++) {\n\t opcode = opcodes[i];\n\n\t this.source.currentLocation = opcode.loc;\n\t firstLoc = firstLoc || opcode.loc;\n\t this[opcode.opcode].apply(this, opcode.args);\n\t }\n\n\t // Flush any trailing content that might be pending.\n\t this.source.currentLocation = firstLoc;\n\t this.pushSource('');\n\n\t /* istanbul ignore next */\n\t if (this.stackSlot || this.inlineStack.length || this.compileStack.length) {\n\t throw new _exception2['default']('Compile completed with content left on stack');\n\t }\n\n\t if (!this.decorators.isEmpty()) {\n\t this.useDecorators = true;\n\n\t this.decorators.prepend(['var decorators = container.decorators, ', this.lookupPropertyFunctionVarDeclaration(), ';\\n']);\n\t this.decorators.push('return fn;');\n\n\t if (asObject) {\n\t this.decorators = Function.apply(this, ['fn', 'props', 'container', 'depth0', 'data', 'blockParams', 'depths', this.decorators.merge()]);\n\t } else {\n\t this.decorators.prepend('function(fn, props, container, depth0, data, blockParams, depths) {\\n');\n\t this.decorators.push('}\\n');\n\t this.decorators = this.decorators.merge();\n\t }\n\t } else {\n\t this.decorators = undefined;\n\t }\n\n\t var fn = this.createFunctionContext(asObject);\n\t if (!this.isChild) {\n\t var ret = {\n\t compiler: this.compilerInfo(),\n\t main: fn\n\t };\n\n\t if (this.decorators) {\n\t ret.main_d = this.decorators; // eslint-disable-line camelcase\n\t ret.useDecorators = true;\n\t }\n\n\t var _context = this.context;\n\t var programs = _context.programs;\n\t var decorators = _context.decorators;\n\n\t for (i = 0, l = programs.length; i < l; i++) {\n\t if (programs[i]) {\n\t ret[i] = programs[i];\n\t if (decorators[i]) {\n\t ret[i + '_d'] = decorators[i];\n\t ret.useDecorators = true;\n\t }\n\t }\n\t }\n\n\t if (this.environment.usePartial) {\n\t ret.usePartial = true;\n\t }\n\t if (this.options.data) {\n\t ret.useData = true;\n\t }\n\t if (this.useDepths) {\n\t ret.useDepths = true;\n\t }\n\t if (this.useBlockParams) {\n\t ret.useBlockParams = true;\n\t }\n\t if (this.options.compat) {\n\t ret.compat = true;\n\t }\n\n\t if (!asObject) {\n\t ret.compiler = JSON.stringify(ret.compiler);\n\n\t this.source.currentLocation = { start: { line: 1, column: 0 } };\n\t ret = this.objectLiteral(ret);\n\n\t if (options.srcName) {\n\t ret = ret.toStringWithSourceMap({ file: options.destName });\n\t ret.map = ret.map && ret.map.toString();\n\t } else {\n\t ret = ret.toString();\n\t }\n\t } else {\n\t ret.compilerOptions = this.options;\n\t }\n\n\t return ret;\n\t } else {\n\t return fn;\n\t }\n\t },\n\n\t preamble: function preamble() {\n\t // track the last context pushed into place to allow skipping the\n\t // getContext opcode when it would be a noop\n\t this.lastContext = 0;\n\t this.source = new _codeGen2['default'](this.options.srcName);\n\t this.decorators = new _codeGen2['default'](this.options.srcName);\n\t },\n\n\t createFunctionContext: function createFunctionContext(asObject) {\n\t // istanbul ignore next\n\n\t var _this = this;\n\n\t var varDeclarations = '';\n\n\t var locals = this.stackVars.concat(this.registers.list);\n\t if (locals.length > 0) {\n\t varDeclarations += ', ' + locals.join(', ');\n\t }\n\n\t // Generate minimizer alias mappings\n\t //\n\t // When using true SourceNodes, this will update all references to the given alias\n\t // as the source nodes are reused in situ. For the non-source node compilation mode,\n\t // aliases will not be used, but this case is already being run on the client and\n\t // we aren't concern about minimizing the template size.\n\t var aliasCount = 0;\n\t _Object$keys(this.aliases).forEach(function (alias) {\n\t var node = _this.aliases[alias];\n\t if (node.children && node.referenceCount > 1) {\n\t varDeclarations += ', alias' + ++aliasCount + '=' + alias;\n\t node.children[0] = 'alias' + aliasCount;\n\t }\n\t });\n\n\t if (this.lookupPropertyFunctionIsUsed) {\n\t varDeclarations += ', ' + this.lookupPropertyFunctionVarDeclaration();\n\t }\n\n\t var params = ['container', 'depth0', 'helpers', 'partials', 'data'];\n\n\t if (this.useBlockParams || this.useDepths) {\n\t params.push('blockParams');\n\t }\n\t if (this.useDepths) {\n\t params.push('depths');\n\t }\n\n\t // Perform a second pass over the output to merge content when possible\n\t var source = this.mergeSource(varDeclarations);\n\n\t if (asObject) {\n\t params.push(source);\n\n\t return Function.apply(this, params);\n\t } else {\n\t return this.source.wrap(['function(', params.join(','), ') {\\n ', source, '}']);\n\t }\n\t },\n\t mergeSource: function mergeSource(varDeclarations) {\n\t var isSimple = this.environment.isSimple,\n\t appendOnly = !this.forceBuffer,\n\t appendFirst = undefined,\n\t sourceSeen = undefined,\n\t bufferStart = undefined,\n\t bufferEnd = undefined;\n\t this.source.each(function (line) {\n\t if (line.appendToBuffer) {\n\t if (bufferStart) {\n\t line.prepend(' + ');\n\t } else {\n\t bufferStart = line;\n\t }\n\t bufferEnd = line;\n\t } else {\n\t if (bufferStart) {\n\t if (!sourceSeen) {\n\t appendFirst = true;\n\t } else {\n\t bufferStart.prepend('buffer += ');\n\t }\n\t bufferEnd.add(';');\n\t bufferStart = bufferEnd = undefined;\n\t }\n\n\t sourceSeen = true;\n\t if (!isSimple) {\n\t appendOnly = false;\n\t }\n\t }\n\t });\n\n\t if (appendOnly) {\n\t if (bufferStart) {\n\t bufferStart.prepend('return ');\n\t bufferEnd.add(';');\n\t } else if (!sourceSeen) {\n\t this.source.push('return \"\";');\n\t }\n\t } else {\n\t varDeclarations += ', buffer = ' + (appendFirst ? '' : this.initializeBuffer());\n\n\t if (bufferStart) {\n\t bufferStart.prepend('return buffer + ');\n\t bufferEnd.add(';');\n\t } else {\n\t this.source.push('return buffer;');\n\t }\n\t }\n\n\t if (varDeclarations) {\n\t this.source.prepend('var ' + varDeclarations.substring(2) + (appendFirst ? '' : ';\\n'));\n\t }\n\n\t return this.source.merge();\n\t },\n\n\t lookupPropertyFunctionVarDeclaration: function lookupPropertyFunctionVarDeclaration() {\n\t return '\\n lookupProperty = container.lookupProperty || function(parent, propertyName) {\\n if (Object.prototype.hasOwnProperty.call(parent, propertyName)) {\\n return parent[propertyName];\\n }\\n return undefined\\n }\\n '.trim();\n\t },\n\n\t // [blockValue]\n\t //\n\t // On stack, before: hash, inverse, program, value\n\t // On stack, after: return value of blockHelperMissing\n\t //\n\t // The purpose of this opcode is to take a block of the form\n\t // `{{#this.foo}}...{{/this.foo}}`, resolve the value of `foo`, and\n\t // replace it on the stack with the result of properly\n\t // invoking blockHelperMissing.\n\t blockValue: function blockValue(name) {\n\t var blockHelperMissing = this.aliasable('container.hooks.blockHelperMissing'),\n\t params = [this.contextName(0)];\n\t this.setupHelperArgs(name, 0, params);\n\n\t var blockName = this.popStack();\n\t params.splice(1, 0, blockName);\n\n\t this.push(this.source.functionCall(blockHelperMissing, 'call', params));\n\t },\n\n\t // [ambiguousBlockValue]\n\t //\n\t // On stack, before: hash, inverse, program, value\n\t // Compiler value, before: lastHelper=value of last found helper, if any\n\t // On stack, after, if no lastHelper: same as [blockValue]\n\t // On stack, after, if lastHelper: value\n\t ambiguousBlockValue: function ambiguousBlockValue() {\n\t // We're being a bit cheeky and reusing the options value from the prior exec\n\t var blockHelperMissing = this.aliasable('container.hooks.blockHelperMissing'),\n\t params = [this.contextName(0)];\n\t this.setupHelperArgs('', 0, params, true);\n\n\t this.flushInline();\n\n\t var current = this.topStack();\n\t params.splice(1, 0, current);\n\n\t this.pushSource(['if (!', this.lastHelper, ') { ', current, ' = ', this.source.functionCall(blockHelperMissing, 'call', params), '}']);\n\t },\n\n\t // [appendContent]\n\t //\n\t // On stack, before: ...\n\t // On stack, after: ...\n\t //\n\t // Appends the string value of `content` to the current buffer\n\t appendContent: function appendContent(content) {\n\t if (this.pendingContent) {\n\t content = this.pendingContent + content;\n\t } else {\n\t this.pendingLocation = this.source.currentLocation;\n\t }\n\n\t this.pendingContent = content;\n\t },\n\n\t // [append]\n\t //\n\t // On stack, before: value, ...\n\t // On stack, after: ...\n\t //\n\t // Coerces `value` to a String and appends it to the current buffer.\n\t //\n\t // If `value` is truthy, or 0, it is coerced into a string and appended\n\t // Otherwise, the empty string is appended\n\t append: function append() {\n\t if (this.isInline()) {\n\t this.replaceStack(function (current) {\n\t return [' != null ? ', current, ' : \"\"'];\n\t });\n\n\t this.pushSource(this.appendToBuffer(this.popStack()));\n\t } else {\n\t var local = this.popStack();\n\t this.pushSource(['if (', local, ' != null) { ', this.appendToBuffer(local, undefined, true), ' }']);\n\t if (this.environment.isSimple) {\n\t this.pushSource(['else { ', this.appendToBuffer(\"''\", undefined, true), ' }']);\n\t }\n\t }\n\t },\n\n\t // [appendEscaped]\n\t //\n\t // On stack, before: value, ...\n\t // On stack, after: ...\n\t //\n\t // Escape `value` and append it to the buffer\n\t appendEscaped: function appendEscaped() {\n\t this.pushSource(this.appendToBuffer([this.aliasable('container.escapeExpression'), '(', this.popStack(), ')']));\n\t },\n\n\t // [getContext]\n\t //\n\t // On stack, before: ...\n\t // On stack, after: ...\n\t // Compiler value, after: lastContext=depth\n\t //\n\t // Set the value of the `lastContext` compiler value to the depth\n\t getContext: function getContext(depth) {\n\t this.lastContext = depth;\n\t },\n\n\t // [pushContext]\n\t //\n\t // On stack, before: ...\n\t // On stack, after: currentContext, ...\n\t //\n\t // Pushes the value of the current context onto the stack.\n\t pushContext: function pushContext() {\n\t this.pushStackLiteral(this.contextName(this.lastContext));\n\t },\n\n\t // [lookupOnContext]\n\t //\n\t // On stack, before: ...\n\t // On stack, after: currentContext[name], ...\n\t //\n\t // Looks up the value of `name` on the current context and pushes\n\t // it onto the stack.\n\t lookupOnContext: function lookupOnContext(parts, falsy, strict, scoped) {\n\t var i = 0;\n\n\t if (!scoped && this.options.compat && !this.lastContext) {\n\t // The depthed query is expected to handle the undefined logic for the root level that\n\t // is implemented below, so we evaluate that directly in compat mode\n\t this.push(this.depthedLookup(parts[i++]));\n\t } else {\n\t this.pushContext();\n\t }\n\n\t this.resolvePath('context', parts, i, falsy, strict);\n\t },\n\n\t // [lookupBlockParam]\n\t //\n\t // On stack, before: ...\n\t // On stack, after: blockParam[name], ...\n\t //\n\t // Looks up the value of `parts` on the given block param and pushes\n\t // it onto the stack.\n\t lookupBlockParam: function lookupBlockParam(blockParamId, parts) {\n\t this.useBlockParams = true;\n\n\t this.push(['blockParams[', blockParamId[0], '][', blockParamId[1], ']']);\n\t this.resolvePath('context', parts, 1);\n\t },\n\n\t // [lookupData]\n\t //\n\t // On stack, before: ...\n\t // On stack, after: data, ...\n\t //\n\t // Push the data lookup operator\n\t lookupData: function lookupData(depth, parts, strict) {\n\t if (!depth) {\n\t this.pushStackLiteral('data');\n\t } else {\n\t this.pushStackLiteral('container.data(data, ' + depth + ')');\n\t }\n\n\t this.resolvePath('data', parts, 0, true, strict);\n\t },\n\n\t resolvePath: function resolvePath(type, parts, i, falsy, strict) {\n\t // istanbul ignore next\n\n\t var _this2 = this;\n\n\t if (this.options.strict || this.options.assumeObjects) {\n\t this.push(strictLookup(this.options.strict && strict, this, parts, type));\n\t return;\n\t }\n\n\t var len = parts.length;\n\t for (; i < len; i++) {\n\t /* eslint-disable no-loop-func */\n\t this.replaceStack(function (current) {\n\t var lookup = _this2.nameLookup(current, parts[i], type);\n\t // We want to ensure that zero and false are handled properly if the context (falsy flag)\n\t // needs to have the special handling for these values.\n\t if (!falsy) {\n\t return [' != null ? ', lookup, ' : ', current];\n\t } else {\n\t // Otherwise we can use generic falsy handling\n\t return [' && ', lookup];\n\t }\n\t });\n\t /* eslint-enable no-loop-func */\n\t }\n\t },\n\n\t // [resolvePossibleLambda]\n\t //\n\t // On stack, before: value, ...\n\t // On stack, after: resolved value, ...\n\t //\n\t // If the `value` is a lambda, replace it on the stack by\n\t // the return value of the lambda\n\t resolvePossibleLambda: function resolvePossibleLambda() {\n\t this.push([this.aliasable('container.lambda'), '(', this.popStack(), ', ', this.contextName(0), ')']);\n\t },\n\n\t // [pushStringParam]\n\t //\n\t // On stack, before: ...\n\t // On stack, after: string, currentContext, ...\n\t //\n\t // This opcode is designed for use in string mode, which\n\t // provides the string value of a parameter along with its\n\t // depth rather than resolving it immediately.\n\t pushStringParam: function pushStringParam(string, type) {\n\t this.pushContext();\n\t this.pushString(type);\n\n\t // If it's a subexpression, the string result\n\t // will be pushed after this opcode.\n\t if (type !== 'SubExpression') {\n\t if (typeof string === 'string') {\n\t this.pushString(string);\n\t } else {\n\t this.pushStackLiteral(string);\n\t }\n\t }\n\t },\n\n\t emptyHash: function emptyHash(omitEmpty) {\n\t if (this.trackIds) {\n\t this.push('{}'); // hashIds\n\t }\n\t if (this.stringParams) {\n\t this.push('{}'); // hashContexts\n\t this.push('{}'); // hashTypes\n\t }\n\t this.pushStackLiteral(omitEmpty ? 'undefined' : '{}');\n\t },\n\t pushHash: function pushHash() {\n\t if (this.hash) {\n\t this.hashes.push(this.hash);\n\t }\n\t this.hash = { values: {}, types: [], contexts: [], ids: [] };\n\t },\n\t popHash: function popHash() {\n\t var hash = this.hash;\n\t this.hash = this.hashes.pop();\n\n\t if (this.trackIds) {\n\t this.push(this.objectLiteral(hash.ids));\n\t }\n\t if (this.stringParams) {\n\t this.push(this.objectLiteral(hash.contexts));\n\t this.push(this.objectLiteral(hash.types));\n\t }\n\n\t this.push(this.objectLiteral(hash.values));\n\t },\n\n\t // [pushString]\n\t //\n\t // On stack, before: ...\n\t // On stack, after: quotedString(string), ...\n\t //\n\t // Push a quoted version of `string` onto the stack\n\t pushString: function pushString(string) {\n\t this.pushStackLiteral(this.quotedString(string));\n\t },\n\n\t // [pushLiteral]\n\t //\n\t // On stack, before: ...\n\t // On stack, after: value, ...\n\t //\n\t // Pushes a value onto the stack. This operation prevents\n\t // the compiler from creating a temporary variable to hold\n\t // it.\n\t pushLiteral: function pushLiteral(value) {\n\t this.pushStackLiteral(value);\n\t },\n\n\t // [pushProgram]\n\t //\n\t // On stack, before: ...\n\t // On stack, after: program(guid), ...\n\t //\n\t // Push a program expression onto the stack. This takes\n\t // a compile-time guid and converts it into a runtime-accessible\n\t // expression.\n\t pushProgram: function pushProgram(guid) {\n\t if (guid != null) {\n\t this.pushStackLiteral(this.programExpression(guid));\n\t } else {\n\t this.pushStackLiteral(null);\n\t }\n\t },\n\n\t // [registerDecorator]\n\t //\n\t // On stack, before: hash, program, params..., ...\n\t // On stack, after: ...\n\t //\n\t // Pops off the decorator's parameters, invokes the decorator,\n\t // and inserts the decorator into the decorators list.\n\t registerDecorator: function registerDecorator(paramSize, name) {\n\t var foundDecorator = this.nameLookup('decorators', name, 'decorator'),\n\t options = this.setupHelperArgs(name, paramSize);\n\n\t this.decorators.push(['fn = ', this.decorators.functionCall(foundDecorator, '', ['fn', 'props', 'container', options]), ' || fn;']);\n\t },\n\n\t // [invokeHelper]\n\t //\n\t // On stack, before: hash, inverse, program, params..., ...\n\t // On stack, after: result of helper invocation\n\t //\n\t // Pops off the helper's parameters, invokes the helper,\n\t // and pushes the helper's return value onto the stack.\n\t //\n\t // If the helper is not found, `helperMissing` is called.\n\t invokeHelper: function invokeHelper(paramSize, name, isSimple) {\n\t var nonHelper = this.popStack(),\n\t helper = this.setupHelper(paramSize, name);\n\n\t var possibleFunctionCalls = [];\n\n\t if (isSimple) {\n\t // direct call to helper\n\t possibleFunctionCalls.push(helper.name);\n\t }\n\t // call a function from the input object\n\t possibleFunctionCalls.push(nonHelper);\n\t if (!this.options.strict) {\n\t possibleFunctionCalls.push(this.aliasable('container.hooks.helperMissing'));\n\t }\n\n\t var functionLookupCode = ['(', this.itemsSeparatedBy(possibleFunctionCalls, '||'), ')'];\n\t var functionCall = this.source.functionCall(functionLookupCode, 'call', helper.callParams);\n\t this.push(functionCall);\n\t },\n\n\t itemsSeparatedBy: function itemsSeparatedBy(items, separator) {\n\t var result = [];\n\t result.push(items[0]);\n\t for (var i = 1; i < items.length; i++) {\n\t result.push(separator, items[i]);\n\t }\n\t return result;\n\t },\n\t // [invokeKnownHelper]\n\t //\n\t // On stack, before: hash, inverse, program, params..., ...\n\t // On stack, after: result of helper invocation\n\t //\n\t // This operation is used when the helper is known to exist,\n\t // so a `helperMissing` fallback is not required.\n\t invokeKnownHelper: function invokeKnownHelper(paramSize, name) {\n\t var helper = this.setupHelper(paramSize, name);\n\t this.push(this.source.functionCall(helper.name, 'call', helper.callParams));\n\t },\n\n\t // [invokeAmbiguous]\n\t //\n\t // On stack, before: hash, inverse, program, params..., ...\n\t // On stack, after: result of disambiguation\n\t //\n\t // This operation is used when an expression like `{{foo}}`\n\t // is provided, but we don't know at compile-time whether it\n\t // is a helper or a path.\n\t //\n\t // This operation emits more code than the other options,\n\t // and can be avoided by passing the `knownHelpers` and\n\t // `knownHelpersOnly` flags at compile-time.\n\t invokeAmbiguous: function invokeAmbiguous(name, helperCall) {\n\t this.useRegister('helper');\n\n\t var nonHelper = this.popStack();\n\n\t this.emptyHash();\n\t var helper = this.setupHelper(0, name, helperCall);\n\n\t var helperName = this.lastHelper = this.nameLookup('helpers', name, 'helper');\n\n\t var lookup = ['(', '(helper = ', helperName, ' || ', nonHelper, ')'];\n\t if (!this.options.strict) {\n\t lookup[0] = '(helper = ';\n\t lookup.push(' != null ? helper : ', this.aliasable('container.hooks.helperMissing'));\n\t }\n\n\t this.push(['(', lookup, helper.paramsInit ? ['),(', helper.paramsInit] : [], '),', '(typeof helper === ', this.aliasable('\"function\"'), ' ? ', this.source.functionCall('helper', 'call', helper.callParams), ' : helper))']);\n\t },\n\n\t // [invokePartial]\n\t //\n\t // On stack, before: context, ...\n\t // On stack after: result of partial invocation\n\t //\n\t // This operation pops off a context, invokes a partial with that context,\n\t // and pushes the result of the invocation back.\n\t invokePartial: function invokePartial(isDynamic, name, indent) {\n\t var params = [],\n\t options = this.setupParams(name, 1, params);\n\n\t if (isDynamic) {\n\t name = this.popStack();\n\t delete options.name;\n\t }\n\n\t if (indent) {\n\t options.indent = JSON.stringify(indent);\n\t }\n\t options.helpers = 'helpers';\n\t options.partials = 'partials';\n\t options.decorators = 'container.decorators';\n\n\t if (!isDynamic) {\n\t params.unshift(this.nameLookup('partials', name, 'partial'));\n\t } else {\n\t params.unshift(name);\n\t }\n\n\t if (this.options.compat) {\n\t options.depths = 'depths';\n\t }\n\t options = this.objectLiteral(options);\n\t params.push(options);\n\n\t this.push(this.source.functionCall('container.invokePartial', '', params));\n\t },\n\n\t // [assignToHash]\n\t //\n\t // On stack, before: value, ..., hash, ...\n\t // On stack, after: ..., hash, ...\n\t //\n\t // Pops a value off the stack and assigns it to the current hash\n\t assignToHash: function assignToHash(key) {\n\t var value = this.popStack(),\n\t context = undefined,\n\t type = undefined,\n\t id = undefined;\n\n\t if (this.trackIds) {\n\t id = this.popStack();\n\t }\n\t if (this.stringParams) {\n\t type = this.popStack();\n\t context = this.popStack();\n\t }\n\n\t var hash = this.hash;\n\t if (context) {\n\t hash.contexts[key] = context;\n\t }\n\t if (type) {\n\t hash.types[key] = type;\n\t }\n\t if (id) {\n\t hash.ids[key] = id;\n\t }\n\t hash.values[key] = value;\n\t },\n\n\t pushId: function pushId(type, name, child) {\n\t if (type === 'BlockParam') {\n\t this.pushStackLiteral('blockParams[' + name[0] + '].path[' + name[1] + ']' + (child ? ' + ' + JSON.stringify('.' + child) : ''));\n\t } else if (type === 'PathExpression') {\n\t this.pushString(name);\n\t } else if (type === 'SubExpression') {\n\t this.pushStackLiteral('true');\n\t } else {\n\t this.pushStackLiteral('null');\n\t }\n\t },\n\n\t // HELPERS\n\n\t compiler: JavaScriptCompiler,\n\n\t compileChildren: function compileChildren(environment, options) {\n\t var children = environment.children,\n\t child = undefined,\n\t compiler = undefined;\n\n\t for (var i = 0, l = children.length; i < l; i++) {\n\t child = children[i];\n\t compiler = new this.compiler(); // eslint-disable-line new-cap\n\n\t var existing = this.matchExistingProgram(child);\n\n\t if (existing == null) {\n\t this.context.programs.push(''); // Placeholder to prevent name conflicts for nested children\n\t var index = this.context.programs.length;\n\t child.index = index;\n\t child.name = 'program' + index;\n\t this.context.programs[index] = compiler.compile(child, options, this.context, !this.precompile);\n\t this.context.decorators[index] = compiler.decorators;\n\t this.context.environments[index] = child;\n\n\t this.useDepths = this.useDepths || compiler.useDepths;\n\t this.useBlockParams = this.useBlockParams || compiler.useBlockParams;\n\t child.useDepths = this.useDepths;\n\t child.useBlockParams = this.useBlockParams;\n\t } else {\n\t child.index = existing.index;\n\t child.name = 'program' + existing.index;\n\n\t this.useDepths = this.useDepths || existing.useDepths;\n\t this.useBlockParams = this.useBlockParams || existing.useBlockParams;\n\t }\n\t }\n\t },\n\t matchExistingProgram: function matchExistingProgram(child) {\n\t for (var i = 0, len = this.context.environments.length; i < len; i++) {\n\t var environment = this.context.environments[i];\n\t if (environment && environment.equals(child)) {\n\t return environment;\n\t }\n\t }\n\t },\n\n\t programExpression: function programExpression(guid) {\n\t var child = this.environment.children[guid],\n\t programParams = [child.index, 'data', child.blockParams];\n\n\t if (this.useBlockParams || this.useDepths) {\n\t programParams.push('blockParams');\n\t }\n\t if (this.useDepths) {\n\t programParams.push('depths');\n\t }\n\n\t return 'container.program(' + programParams.join(', ') + ')';\n\t },\n\n\t useRegister: function useRegister(name) {\n\t if (!this.registers[name]) {\n\t this.registers[name] = true;\n\t this.registers.list.push(name);\n\t }\n\t },\n\n\t push: function push(expr) {\n\t if (!(expr instanceof Literal)) {\n\t expr = this.source.wrap(expr);\n\t }\n\n\t this.inlineStack.push(expr);\n\t return expr;\n\t },\n\n\t pushStackLiteral: function pushStackLiteral(item) {\n\t this.push(new Literal(item));\n\t },\n\n\t pushSource: function pushSource(source) {\n\t if (this.pendingContent) {\n\t this.source.push(this.appendToBuffer(this.source.quotedString(this.pendingContent), this.pendingLocation));\n\t this.pendingContent = undefined;\n\t }\n\n\t if (source) {\n\t this.source.push(source);\n\t }\n\t },\n\n\t replaceStack: function replaceStack(callback) {\n\t var prefix = ['('],\n\t stack = undefined,\n\t createdStack = undefined,\n\t usedLiteral = undefined;\n\n\t /* istanbul ignore next */\n\t if (!this.isInline()) {\n\t throw new _exception2['default']('replaceStack on non-inline');\n\t }\n\n\t // We want to merge the inline statement into the replacement statement via ','\n\t var top = this.popStack(true);\n\n\t if (top instanceof Literal) {\n\t // Literals do not need to be inlined\n\t stack = [top.value];\n\t prefix = ['(', stack];\n\t usedLiteral = true;\n\t } else {\n\t // Get or create the current stack name for use by the inline\n\t createdStack = true;\n\t var _name = this.incrStack();\n\n\t prefix = ['((', this.push(_name), ' = ', top, ')'];\n\t stack = this.topStack();\n\t }\n\n\t var item = callback.call(this, stack);\n\n\t if (!usedLiteral) {\n\t this.popStack();\n\t }\n\t if (createdStack) {\n\t this.stackSlot--;\n\t }\n\t this.push(prefix.concat(item, ')'));\n\t },\n\n\t incrStack: function incrStack() {\n\t this.stackSlot++;\n\t if (this.stackSlot > this.stackVars.length) {\n\t this.stackVars.push('stack' + this.stackSlot);\n\t }\n\t return this.topStackName();\n\t },\n\t topStackName: function topStackName() {\n\t return 'stack' + this.stackSlot;\n\t },\n\t flushInline: function flushInline() {\n\t var inlineStack = this.inlineStack;\n\t this.inlineStack = [];\n\t for (var i = 0, len = inlineStack.length; i < len; i++) {\n\t var entry = inlineStack[i];\n\t /* istanbul ignore if */\n\t if (entry instanceof Literal) {\n\t this.compileStack.push(entry);\n\t } else {\n\t var stack = this.incrStack();\n\t this.pushSource([stack, ' = ', entry, ';']);\n\t this.compileStack.push(stack);\n\t }\n\t }\n\t },\n\t isInline: function isInline() {\n\t return this.inlineStack.length;\n\t },\n\n\t popStack: function popStack(wrapped) {\n\t var inline = this.isInline(),\n\t item = (inline ? this.inlineStack : this.compileStack).pop();\n\n\t if (!wrapped && item instanceof Literal) {\n\t return item.value;\n\t } else {\n\t if (!inline) {\n\t /* istanbul ignore next */\n\t if (!this.stackSlot) {\n\t throw new _exception2['default']('Invalid stack pop');\n\t }\n\t this.stackSlot--;\n\t }\n\t return item;\n\t }\n\t },\n\n\t topStack: function topStack() {\n\t var stack = this.isInline() ? this.inlineStack : this.compileStack,\n\t item = stack[stack.length - 1];\n\n\t /* istanbul ignore if */\n\t if (item instanceof Literal) {\n\t return item.value;\n\t } else {\n\t return item;\n\t }\n\t },\n\n\t contextName: function contextName(context) {\n\t if (this.useDepths && context) {\n\t return 'depths[' + context + ']';\n\t } else {\n\t return 'depth' + context;\n\t }\n\t },\n\n\t quotedString: function quotedString(str) {\n\t return this.source.quotedString(str);\n\t },\n\n\t objectLiteral: function objectLiteral(obj) {\n\t return this.source.objectLiteral(obj);\n\t },\n\n\t aliasable: function aliasable(name) {\n\t var ret = this.aliases[name];\n\t if (ret) {\n\t ret.referenceCount++;\n\t return ret;\n\t }\n\n\t ret = this.aliases[name] = this.source.wrap(name);\n\t ret.aliasable = true;\n\t ret.referenceCount = 1;\n\n\t return ret;\n\t },\n\n\t setupHelper: function setupHelper(paramSize, name, blockHelper) {\n\t var params = [],\n\t paramsInit = this.setupHelperArgs(name, paramSize, params, blockHelper);\n\t var foundHelper = this.nameLookup('helpers', name, 'helper'),\n\t callContext = this.aliasable(this.contextName(0) + ' != null ? ' + this.contextName(0) + ' : (container.nullContext || {})');\n\n\t return {\n\t params: params,\n\t paramsInit: paramsInit,\n\t name: foundHelper,\n\t callParams: [callContext].concat(params)\n\t };\n\t },\n\n\t setupParams: function setupParams(helper, paramSize, params) {\n\t var options = {},\n\t contexts = [],\n\t types = [],\n\t ids = [],\n\t objectArgs = !params,\n\t param = undefined;\n\n\t if (objectArgs) {\n\t params = [];\n\t }\n\n\t options.name = this.quotedString(helper);\n\t options.hash = this.popStack();\n\n\t if (this.trackIds) {\n\t options.hashIds = this.popStack();\n\t }\n\t if (this.stringParams) {\n\t options.hashTypes = this.popStack();\n\t options.hashContexts = this.popStack();\n\t }\n\n\t var inverse = this.popStack(),\n\t program = this.popStack();\n\n\t // Avoid setting fn and inverse if neither are set. This allows\n\t // helpers to do a check for `if (options.fn)`\n\t if (program || inverse) {\n\t options.fn = program || 'container.noop';\n\t options.inverse = inverse || 'container.noop';\n\t }\n\n\t // The parameters go on to the stack in order (making sure that they are evaluated in order)\n\t // so we need to pop them off the stack in reverse order\n\t var i = paramSize;\n\t while (i--) {\n\t param = this.popStack();\n\t params[i] = param;\n\n\t if (this.trackIds) {\n\t ids[i] = this.popStack();\n\t }\n\t if (this.stringParams) {\n\t types[i] = this.popStack();\n\t contexts[i] = this.popStack();\n\t }\n\t }\n\n\t if (objectArgs) {\n\t options.args = this.source.generateArray(params);\n\t }\n\n\t if (this.trackIds) {\n\t options.ids = this.source.generateArray(ids);\n\t }\n\t if (this.stringParams) {\n\t options.types = this.source.generateArray(types);\n\t options.contexts = this.source.generateArray(contexts);\n\t }\n\n\t if (this.options.data) {\n\t options.data = 'data';\n\t }\n\t if (this.useBlockParams) {\n\t options.blockParams = 'blockParams';\n\t }\n\t return options;\n\t },\n\n\t setupHelperArgs: function setupHelperArgs(helper, paramSize, params, useRegister) {\n\t var options = this.setupParams(helper, paramSize, params);\n\t options.loc = JSON.stringify(this.source.currentLocation);\n\t options = this.objectLiteral(options);\n\t if (useRegister) {\n\t this.useRegister('options');\n\t params.push('options');\n\t return ['options=', options];\n\t } else if (params) {\n\t params.push(options);\n\t return '';\n\t } else {\n\t return options;\n\t }\n\t }\n\t};\n\n\t(function () {\n\t var reservedWords = ('break else new var' + ' case finally return void' + ' catch for switch while' + ' continue function this with' + ' default if throw' + ' delete in try' + ' do instanceof typeof' + ' abstract enum int short' + ' boolean export interface static' + ' byte extends long super' + ' char final native synchronized' + ' class float package throws' + ' const goto private transient' + ' debugger implements protected volatile' + ' double import public let yield await' + ' null true false').split(' ');\n\n\t var compilerWords = JavaScriptCompiler.RESERVED_WORDS = {};\n\n\t for (var i = 0, l = reservedWords.length; i < l; i++) {\n\t compilerWords[reservedWords[i]] = true;\n\t }\n\t})();\n\n\t/**\n\t * @deprecated May be removed in the next major version\n\t */\n\tJavaScriptCompiler.isValidJavaScriptVariableName = function (name) {\n\t return !JavaScriptCompiler.RESERVED_WORDS[name] && /^[a-zA-Z_$][0-9a-zA-Z_$]*$/.test(name);\n\t};\n\n\tfunction strictLookup(requireTerminal, compiler, parts, type) {\n\t var stack = compiler.popStack(),\n\t i = 0,\n\t len = parts.length;\n\t if (requireTerminal) {\n\t len--;\n\t }\n\n\t for (; i < len; i++) {\n\t stack = compiler.nameLookup(stack, parts[i], type);\n\t }\n\n\t if (requireTerminal) {\n\t return [compiler.aliasable('container.strict'), '(', stack, ', ', compiler.quotedString(parts[i]), ', ', JSON.stringify(compiler.source.currentLocation), ' )'];\n\t } else {\n\t return stack;\n\t }\n\t}\n\n\texports['default'] = JavaScriptCompiler;\n\tmodule.exports = exports['default'];\n\n/***/ }),\n/* 53 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t/* global define */\n\t'use strict';\n\n\tvar _Object$keys = __webpack_require__(13)['default'];\n\n\texports.__esModule = true;\n\n\tvar _utils = __webpack_require__(5);\n\n\tvar SourceNode = undefined;\n\n\ttry {\n\t /* istanbul ignore next */\n\t if (false) {\n\t // We don't support this in AMD environments. For these environments, we asusme that\n\t // they are running on the browser and thus have no need for the source-map library.\n\t var SourceMap = require('source-map');\n\t SourceNode = SourceMap.SourceNode;\n\t }\n\t} catch (err) {}\n\t/* NOP */\n\n\t/* istanbul ignore if: tested but not covered in istanbul due to dist build */\n\tif (!SourceNode) {\n\t SourceNode = function (line, column, srcFile, chunks) {\n\t this.src = '';\n\t if (chunks) {\n\t this.add(chunks);\n\t }\n\t };\n\t /* istanbul ignore next */\n\t SourceNode.prototype = {\n\t add: function add(chunks) {\n\t if (_utils.isArray(chunks)) {\n\t chunks = chunks.join('');\n\t }\n\t this.src += chunks;\n\t },\n\t prepend: function prepend(chunks) {\n\t if (_utils.isArray(chunks)) {\n\t chunks = chunks.join('');\n\t }\n\t this.src = chunks + this.src;\n\t },\n\t toStringWithSourceMap: function toStringWithSourceMap() {\n\t return { code: this.toString() };\n\t },\n\t toString: function toString() {\n\t return this.src;\n\t }\n\t };\n\t}\n\n\tfunction castChunk(chunk, codeGen, loc) {\n\t if (_utils.isArray(chunk)) {\n\t var ret = [];\n\n\t for (var i = 0, len = chunk.length; i < len; i++) {\n\t ret.push(codeGen.wrap(chunk[i], loc));\n\t }\n\t return ret;\n\t } else if (typeof chunk === 'boolean' || typeof chunk === 'number') {\n\t // Handle primitives that the SourceNode will throw up on\n\t return chunk + '';\n\t }\n\t return chunk;\n\t}\n\n\tfunction CodeGen(srcFile) {\n\t this.srcFile = srcFile;\n\t this.source = [];\n\t}\n\n\tCodeGen.prototype = {\n\t isEmpty: function isEmpty() {\n\t return !this.source.length;\n\t },\n\t prepend: function prepend(source, loc) {\n\t this.source.unshift(this.wrap(source, loc));\n\t },\n\t push: function push(source, loc) {\n\t this.source.push(this.wrap(source, loc));\n\t },\n\n\t merge: function merge() {\n\t var source = this.empty();\n\t this.each(function (line) {\n\t source.add([' ', line, '\\n']);\n\t });\n\t return source;\n\t },\n\n\t each: function each(iter) {\n\t for (var i = 0, len = this.source.length; i < len; i++) {\n\t iter(this.source[i]);\n\t }\n\t },\n\n\t empty: function empty() {\n\t var loc = this.currentLocation || { start: {} };\n\t return new SourceNode(loc.start.line, loc.start.column, this.srcFile);\n\t },\n\t wrap: function wrap(chunk) {\n\t var loc = arguments.length <= 1 || arguments[1] === undefined ? this.currentLocation || { start: {} } : arguments[1];\n\n\t if (chunk instanceof SourceNode) {\n\t return chunk;\n\t }\n\n\t chunk = castChunk(chunk, this, loc);\n\n\t return new SourceNode(loc.start.line, loc.start.column, this.srcFile, chunk);\n\t },\n\n\t functionCall: function functionCall(fn, type, params) {\n\t params = this.generateList(params);\n\t return this.wrap([fn, type ? '.' + type + '(' : '(', params, ')']);\n\t },\n\n\t quotedString: function quotedString(str) {\n\t return '\"' + (str + '').replace(/\\\\/g, '\\\\\\\\').replace(/\"/g, '\\\\\"').replace(/\\n/g, '\\\\n').replace(/\\r/g, '\\\\r').replace(/\\u2028/g, '\\\\u2028') // Per Ecma-262 7.3 + 7.8.4\n\t .replace(/\\u2029/g, '\\\\u2029') + '\"';\n\t },\n\n\t objectLiteral: function objectLiteral(obj) {\n\t // istanbul ignore next\n\n\t var _this = this;\n\n\t var pairs = [];\n\n\t _Object$keys(obj).forEach(function (key) {\n\t var value = castChunk(obj[key], _this);\n\t if (value !== 'undefined') {\n\t pairs.push([_this.quotedString(key), ':', value]);\n\t }\n\t });\n\n\t var ret = this.generateList(pairs);\n\t ret.prepend('{');\n\t ret.add('}');\n\t return ret;\n\t },\n\n\t generateList: function generateList(entries) {\n\t var ret = this.empty();\n\n\t for (var i = 0, len = entries.length; i < len; i++) {\n\t if (i) {\n\t ret.add(',');\n\t }\n\n\t ret.add(castChunk(entries[i], this));\n\t }\n\n\t return ret;\n\t },\n\n\t generateArray: function generateArray(entries) {\n\t var ret = this.generateList(entries);\n\t ret.prepend('[');\n\t ret.add(']');\n\n\t return ret;\n\t }\n\t};\n\n\texports['default'] = CodeGen;\n\tmodule.exports = exports['default'];\n\n/***/ })\n/******/ ])\n});\n;\n\n/***/ }),\n/* 234 */\n/***/ (function(module, exports) {\n\nmodule.exports = function(module) {\r\n\tif(!module.webpackPolyfill) {\r\n\t\tmodule.deprecate = function() {};\r\n\t\tmodule.paths = [];\r\n\t\t// module.parent = undefined by default\r\n\t\tif(!module.children) module.children = [];\r\n\t\tObject.defineProperty(module, \"loaded\", {\r\n\t\t\tenumerable: true,\r\n\t\t\tget: function() {\r\n\t\t\t\treturn module.l;\r\n\t\t\t}\r\n\t\t});\r\n\t\tObject.defineProperty(module, \"id\", {\r\n\t\t\tenumerable: true,\r\n\t\t\tget: function() {\r\n\t\t\t\treturn module.i;\r\n\t\t\t}\r\n\t\t});\r\n\t\tmodule.webpackPolyfill = 1;\r\n\t}\r\n\treturn module;\r\n};\r\n\n\n/***/ }),\n/* 235 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// call something on iterator step with safe closing on error\nvar anObject = __webpack_require__(45);\nmodule.exports = function (iterator, fn, value, entries) {\n try {\n return entries ? fn(anObject(value)[0], value[1]) : fn(value);\n // 7.4.6 IteratorClose(iterator, completion)\n } catch (e) {\n var ret = iterator['return'];\n if (ret !== undefined) anObject(ret.call(iterator));\n throw e;\n }\n};\n\n\n/***/ }),\n/* 236 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// check on default Array iterator\nvar Iterators = __webpack_require__(80);\nvar ITERATOR = __webpack_require__(23)('iterator');\nvar ArrayProto = Array.prototype;\n\nmodule.exports = function (it) {\n return it !== undefined && (Iterators.Array === it || ArrayProto[ITERATOR] === it);\n};\n\n\n/***/ }),\n/* 237 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar ITERATOR = __webpack_require__(23)('iterator');\nvar SAFE_CLOSING = false;\n\ntry {\n var riter = [7][ITERATOR]();\n riter['return'] = function () { SAFE_CLOSING = true; };\n // eslint-disable-next-line no-throw-literal\n Array.from(riter, function () { throw 2; });\n} catch (e) { /* empty */ }\n\nmodule.exports = function (exec, skipClosing) {\n if (!skipClosing && !SAFE_CLOSING) return false;\n var safe = false;\n try {\n var arr = [7];\n var iter = arr[ITERATOR]();\n iter.next = function () { return { done: safe = true }; };\n arr[ITERATOR] = function () { return iter; };\n exec(arr);\n } catch (e) { /* empty */ }\n return safe;\n};\n\n\n/***/ }),\n/* 238 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 7.3.20 SpeciesConstructor(O, defaultConstructor)\nvar anObject = __webpack_require__(45);\nvar aFunction = __webpack_require__(115);\nvar SPECIES = __webpack_require__(23)('species');\nmodule.exports = function (O, D) {\n var C = anObject(O).constructor;\n var S;\n return C === undefined || (S = anObject(C)[SPECIES]) == undefined ? D : aFunction(S);\n};\n\n\n/***/ }),\n/* 239 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar ctx = __webpack_require__(78);\nvar invoke = __webpack_require__(519);\nvar html = __webpack_require__(226);\nvar cel = __webpack_require__(156);\nvar global = __webpack_require__(22);\nvar process = global.process;\nvar setTask = global.setImmediate;\nvar clearTask = global.clearImmediate;\nvar MessageChannel = global.MessageChannel;\nvar Dispatch = global.Dispatch;\nvar counter = 0;\nvar queue = {};\nvar ONREADYSTATECHANGE = 'onreadystatechange';\nvar defer, channel, port;\nvar run = function () {\n var id = +this;\n // eslint-disable-next-line no-prototype-builtins\n if (queue.hasOwnProperty(id)) {\n var fn = queue[id];\n delete queue[id];\n fn();\n }\n};\nvar listener = function (event) {\n run.call(event.data);\n};\n// Node.js 0.9+ & IE10+ has setImmediate, otherwise:\nif (!setTask || !clearTask) {\n setTask = function setImmediate(fn) {\n var args = [];\n var i = 1;\n while (arguments.length > i) args.push(arguments[i++]);\n queue[++counter] = function () {\n // eslint-disable-next-line no-new-func\n invoke(typeof fn == 'function' ? fn : Function(fn), args);\n };\n defer(counter);\n return counter;\n };\n clearTask = function clearImmediate(id) {\n delete queue[id];\n };\n // Node.js 0.8-\n if (__webpack_require__(93)(process) == 'process') {\n defer = function (id) {\n process.nextTick(ctx(run, id, 1));\n };\n // Sphere (JS game engine) Dispatch API\n } else if (Dispatch && Dispatch.now) {\n defer = function (id) {\n Dispatch.now(ctx(run, id, 1));\n };\n // Browsers with MessageChannel, includes WebWorkers\n } else if (MessageChannel) {\n channel = new MessageChannel();\n port = channel.port2;\n channel.port1.onmessage = listener;\n defer = ctx(port.postMessage, port, 1);\n // Browsers with postMessage, skip WebWorkers\n // IE8 has postMessage, but it's sync & typeof its postMessage is 'object'\n } else if (global.addEventListener && typeof postMessage == 'function' && !global.importScripts) {\n defer = function (id) {\n global.postMessage(id + '', '*');\n };\n global.addEventListener('message', listener, false);\n // IE8-\n } else if (ONREADYSTATECHANGE in cel('script')) {\n defer = function (id) {\n html.appendChild(cel('script'))[ONREADYSTATECHANGE] = function () {\n html.removeChild(this);\n run.call(id);\n };\n };\n // Rest old browsers\n } else {\n defer = function (id) {\n setTimeout(ctx(run, id, 1), 0);\n };\n }\n}\nmodule.exports = {\n set: setTask,\n clear: clearTask\n};\n\n\n/***/ }),\n/* 240 */\n/***/ (function(module, exports) {\n\nmodule.exports = function (exec) {\n try {\n return { e: false, v: exec() };\n } catch (e) {\n return { e: true, v: e };\n }\n};\n\n\n/***/ }),\n/* 241 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar anObject = __webpack_require__(45);\nvar isObject = __webpack_require__(46);\nvar newPromiseCapability = __webpack_require__(173);\n\nmodule.exports = function (C, x) {\n anObject(C);\n if (isObject(x) && x.constructor === C) return x;\n var promiseCapability = newPromiseCapability.f(C);\n var resolve = promiseCapability.resolve;\n resolve(x);\n return promiseCapability.promise;\n};\n\n\n/***/ }),\n/* 242 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\nvar __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;\n\n/*!\n * Copyright (c) 2015-2016, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n\n!(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(0), __webpack_require__(243), __webpack_require__(245), __webpack_require__(547), __webpack_require__(175), __webpack_require__(246), __webpack_require__(83), __webpack_require__(174)], __WEBPACK_AMD_DEFINE_RESULT__ = (function (Okta, PrimaryAuthForm, CustomButtons, FooterRegistration, PrimaryAuthModel, Footer, BaseLoginController, DeviceFingerprint) {\n\n var $ = Okta.$;\n\n return BaseLoginController.extend({\n className: 'primary-auth',\n\n state: { enabled: true },\n\n View: PrimaryAuthForm,\n\n constructor: function constructor(options) {\n options.appState.unset('username');\n\n this.model = new PrimaryAuthModel({\n multiOptionalFactorEnroll: options.settings.get('features.multiOptionalFactorEnroll'),\n settings: options.settings,\n appState: options.appState\n }, { parse: true });\n\n BaseLoginController.apply(this, arguments);\n\n this.addListeners();\n\n // If social auth is configured, 'socialAuthPositionTop' will determine\n // the order in which the social auth and primary auth are shown on the screen.\n if (options.settings.get('hasConfiguredButtons')) {\n this.add(CustomButtons, {\n prepend: options.settings.get('socialAuthPositionTop'),\n options: {\n // To trigger an afterError event, we require the current controller\n currentController: this\n }\n });\n }\n\n this.addFooter(options);\n\n this.setUsername();\n },\n\n addFooter: function addFooter(options) {\n this.add(new Footer(this.toJSON({ appState: options.appState })));\n\n if (options.settings.get('features.registration') || options.appState.get('isIdxStateToken')) {\n this.add(new FooterRegistration({\n settings: this.settings,\n appState: options.appState\n }));\n }\n },\n\n setUsername: function setUsername() {\n var username = this.model.get('username');\n if (username) {\n this.options.appState.set('username', username);\n }\n },\n\n events: {\n 'focusout input[name=username]': function focusoutInputNameUsername() {\n if (this.shouldComputeDeviceFingerprint()) {\n var self = this;\n DeviceFingerprint.generateDeviceFingerprint(this.settings.get('baseUrl'), this.$el).then(function (fingerprint) {\n self.options.appState.set('deviceFingerprint', fingerprint);\n self.options.appState.set('username', self.model.get('username'));\n }).fail(function () {\n // Keep going even if device fingerprint fails\n self.options.appState.set('username', self.model.get('username'));\n });\n } else {\n this.options.appState.set('username', this.model.get('username'));\n }\n },\n 'focusin input': function focusinInput(e) {\n $(e.target.parentElement).addClass('focused-input');\n },\n 'focusout input': function focusoutInput(e) {\n $(e.target.parentElement).removeClass('focused-input');\n },\n 'click .button-show': function clickButtonShow() {\n this.trigger('passwordRevealed');\n }\n },\n\n // This model and the AppState both have a username property.\n // The controller updates the AppState's username when the user is\n // done editing (on blur) or deletes the username (see below).\n initialize: function initialize() {\n this.options.appState.unset('deviceFingerprint');\n this.listenTo(this.model, 'change:username', function (model, value) {\n if (!value) {\n // reset AppState to an undefined user.\n this.options.appState.set('username', '');\n }\n });\n this.listenTo(this.model, 'save', function () {\n this.state.set('enabled', false);\n });\n this.listenTo(this.model, 'error', function () {\n this.state.set('enabled', true);\n });\n },\n\n shouldComputeDeviceFingerprint: function shouldComputeDeviceFingerprint() {\n return this.settings.get('features.securityImage') && this.settings.get('features.deviceFingerprinting') && this.settings.get('features.useDeviceFingerprintForSecurityImage');\n }\n });\n}).apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\n/***/ }),\n/* 243 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\nvar __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;\n\n/*!\n * Copyright (c) 2015-2016, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n\n!(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(0), __webpack_require__(14), __webpack_require__(174), __webpack_require__(539), __webpack_require__(13)], __WEBPACK_AMD_DEFINE_RESULT__ = (function (Okta, TextBox, DeviceFingerprint, TypingUtil, Util) {\n\n var _ = Okta._;\n\n return Okta.Form.extend({\n className: 'primary-auth-form',\n noCancelButton: true,\n attributes: { 'novalidate': 'novalidate' },\n save: function save() {\n if (this.settings.get('features.passwordlessAuth')) {\n return Okta.loc('oform.next', 'login');\n }\n return Okta.loc('primaryauth.submit', 'login');\n },\n saveId: 'okta-signin-submit',\n layout: 'o-form-theme',\n\n // If socialAuth is configured, the title moves from the form to\n // the top of the container (and is rendered in socialAuth).\n title: function title() {\n var formTitle = Okta.loc('primaryauth.title', 'login');\n if (this.settings.get('socialAuthPositionTop')) {\n formTitle = '';\n }\n return formTitle;\n },\n\n initialize: function initialize() {\n var trackTypingPattern = this.settings.get('features.trackTypingPattern');\n this.listenTo(this, 'save', function () {\n if (trackTypingPattern) {\n var typingPattern = TypingUtil.getTypingPattern();\n this.options.appState.set('typingPattern', typingPattern);\n }\n var self = this;\n var creds = {\n username: this.model.get('username')\n };\n if (!this.settings.get('features.passwordlessAuth')) {\n creds.password = this.model.get('password');\n }\n this.settings.processCreds(creds).then(function () {\n if (!self.settings.get('features.deviceFingerprinting')) {\n return;\n }\n return DeviceFingerprint.generateDeviceFingerprint(self.settings.get('baseUrl'), self.$el).then(function (fingerprint) {\n self.options.appState.set('deviceFingerprint', fingerprint);\n }).fail(function () {\n // Keep going even if device fingerprint fails\n });\n }).then(_.bind(this.model.save, this.model));\n });\n\n this.stateEnableChange();\n },\n\n stateEnableChange: function stateEnableChange() {\n this.listenTo(this.state, 'change:enabled', function (model, enable) {\n if (enable) {\n this.enable();\n } else {\n this.disable();\n }\n });\n },\n\n inputs: function inputs() {\n var inputs = [];\n inputs.push(this.getUsernameField());\n if (!this.settings.get('features.passwordlessAuth')) {\n inputs.push(this.getPasswordField());\n }\n if (this.settings.get('features.rememberMe')) {\n inputs.push(this.getRemeberMeCheckbox());\n }\n return inputs;\n },\n\n getUsernameField: function getUsernameField() {\n var _this = this;\n\n var userNameFieldObject = {\n className: 'margin-btm-5',\n label: Okta.loc('primaryauth.username.placeholder', 'login'),\n 'label-top': true,\n explain: function explain() {\n if (_this.settings.get('features.hideDefaultTip') && !_this.isCustomized('primaryauth.username.tooltip')) {\n return false;\n }\n\n return Util.createInputExplain('primaryauth.username.tooltip', 'primaryauth.username.placeholder', 'login');\n },\n 'explain-top': true,\n name: 'username',\n input: TextBox,\n inputId: 'okta-signin-username',\n type: 'text',\n disabled: this.options.appState.get('disableUsername'),\n // TODO: support a11y attrs in Courage - OKTA-279025\n render: function render() {\n this.$('input[name=' + this.options.name + ']').prop('required', true);\n }\n };\n\n return userNameFieldObject;\n },\n\n getPasswordField: function getPasswordField() {\n var _this2 = this;\n\n var passwordFieldObject = {\n className: 'margin-btm-30',\n label: Okta.loc('primaryauth.password.placeholder', 'login'),\n 'label-top': true,\n explain: function explain() {\n if (_this2.settings.get('features.hideDefaultTip') && !_this2.isCustomized('primaryauth.password.tooltip')) {\n return false;\n }\n\n return Util.createInputExplain('primaryauth.password.tooltip', 'primaryauth.password.placeholder', 'login');\n },\n 'explain-top': true,\n name: 'password',\n inputId: 'okta-signin-password',\n validateOnlyIfDirty: true,\n type: 'password',\n // TODO: support a11y attrs in Courage - OKTA-279025\n render: function render() {\n this.$('input[name=' + this.options.name + ']').prop('required', true);\n }\n };\n if (this.settings.get('features.showPasswordToggleOnSignInPage')) {\n passwordFieldObject.params = {};\n passwordFieldObject.params.showPasswordToggle = true;\n }\n return passwordFieldObject;\n },\n\n isCustomized: function isCustomized(property) {\n var language = this.settings.get('language');\n var i18n = this.settings.get('i18n');\n var customizedProperty = i18n && i18n[language] && i18n[language][property];\n return !!customizedProperty;\n },\n\n getRemeberMeCheckbox: function getRemeberMeCheckbox() {\n return {\n label: false,\n placeholder: Okta.loc('remember', 'login'),\n name: 'remember',\n type: 'checkbox',\n 'label-top': true,\n className: 'margin-btm-0',\n initialize: function initialize() {\n this.listenTo(this.model, 'change:remember', function (model, val) {\n // OKTA-98946: We normally re-render on changes to model values,\n // but in this case we will manually update the checkbox due to\n // iOS Safari and how it handles autofill - it will autofill the\n // form anytime the dom elements are re-rendered, which prevents\n // the user from editing their username.\n this.$(':checkbox').prop('checked', val).trigger('updateState');\n });\n }\n };\n },\n\n focus: function focus() {\n if (!this.model.get('username')) {\n this.getInputs().first().focus();\n } else if (!this.settings.get('features.passwordlessAuth')) {\n this.getInputs().toArray()[1].focus();\n }\n if (this.settings.get('features.trackTypingPattern')) {\n TypingUtil.track('okta-signin-username');\n }\n }\n\n });\n}).apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\n/***/ }),\n/* 244 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nexports.__esModule = true;\n\nvar _isIterable2 = __webpack_require__(541);\n\nvar _isIterable3 = _interopRequireDefault(_isIterable2);\n\nvar _getIterator2 = __webpack_require__(544);\n\nvar _getIterator3 = _interopRequireDefault(_getIterator2);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = function () {\n function sliceIterator(arr, i) {\n var _arr = [];\n var _n = true;\n var _d = false;\n var _e = undefined;\n\n try {\n for (var _i = (0, _getIterator3.default)(arr), _s; !(_n = (_s = _i.next()).done); _n = true) {\n _arr.push(_s.value);\n\n if (i && _arr.length === i) break;\n }\n } catch (err) {\n _d = true;\n _e = err;\n } finally {\n try {\n if (!_n && _i[\"return\"]) _i[\"return\"]();\n } finally {\n if (_d) throw _e;\n }\n }\n\n return _arr;\n }\n\n return function (arr, i) {\n if (Array.isArray(arr)) {\n return arr;\n } else if ((0, _isIterable3.default)(Object(arr))) {\n return sliceIterator(arr, i);\n } else {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance\");\n }\n };\n}();\n\n/***/ }),\n/* 245 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\nvar __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;\n\n/*!\n * Copyright (c) 2015-2016, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n\n!(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(0), __webpack_require__(153)], __WEBPACK_AMD_DEFINE_RESULT__ = (function (Okta, OAuth2Util) {\n\n var _ = Okta._,\n $ = Okta.$,\n SharedUtil = Okta.internal.util.Util;\n\n var dividerTpl = Okta.tpl('<div class=\"auth-divider\">\\\n <span class=\"auth-divider-text\">{{text}}</span>\\\n </div>');\n var formTitleTpl = Okta.tpl('<h2 data-se=\"o-form-head\" class=\"okta-form-title o-form-head\">{{title}}</h2>');\n\n return Okta.View.extend({\n\n className: 'primary-auth-container',\n\n children: function children() {\n var children = [],\n socialIdpButtons = this.settings.get('configuredSocialIdps'),\n pivButton = this.settings.get('piv'),\n customButtons = this.settings.get('customButtons'),\n divider = dividerTpl({ text: Okta.loc('socialauth.divider.text', 'login') });\n\n if (this.settings.get('hasPivCard')) {\n children.push(this._createPivButton(pivButton));\n }\n\n _.each(socialIdpButtons, function (button) {\n children.push(this._createSocialIdpButton(button));\n }, this);\n\n _.each(customButtons, function (button) {\n children.push(this._createCustomButton(button));\n }, this);\n\n // If the social auth buttons have to be above the Okta form, the title moves from\n // primary auth form to the social auth (above the buttons) and the divider goes below\n // the buttons (in between social auth and primary auth). If social auth needs to go below\n // Okta form, just add the divider at the top of the social auth container. The title still\n // lives in primary auth form.\n if (this.settings.get('socialAuthPositionTop')) {\n children.unshift(formTitleTpl({ title: Okta.loc('primaryauth.title', 'login') }));\n // Divider between Primary Auth and the Social Auth\n children.push(divider);\n } else {\n children.unshift(divider);\n }\n\n return children;\n },\n\n _createSocialIdpButton: function _createSocialIdpButton(options) {\n return Okta.createButton({\n attributes: {\n 'data-se': options.dataAttr\n },\n className: options.className,\n title: function title() {\n return options.text || Okta.loc(options.i18nKey);\n },\n click: function click(e) {\n e.preventDefault();\n if (this.settings.get('oauth2Enabled')) {\n OAuth2Util.getTokens(this.settings, { idp: options.id }, this.options.currentController);\n } else {\n var baseUrl = this.settings.get('baseUrl');\n var params = $.param({\n fromURI: this.settings.get('relayState')\n });\n var targetUri = baseUrl + '/sso/idps/' + options.id + '?' + params;\n SharedUtil.redirect(targetUri);\n }\n }\n });\n },\n\n _createPivButton: function _createPivButton(options) {\n var className = options.className || '';\n return Okta.createButton({\n attributes: {\n 'data-se': 'piv-card-button'\n },\n className: className + ' piv-button',\n title: options.text || Okta.loc('piv.cac.card', 'login'),\n click: function click(e) {\n e.preventDefault();\n this.options.appState.trigger('navigate', 'signin/verify/piv');\n }\n });\n },\n\n _createCustomButton: function _createCustomButton(options) {\n return Okta.createButton({\n attributes: {\n 'data-se': options.dataAttr\n },\n className: options.className + ' default-custom-button',\n title: options.title,\n click: options.click\n });\n }\n\n });\n}).apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\n/***/ }),\n/* 246 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\nvar __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;\n\n/*!\n * Copyright (c) 2015-2016, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n\n!(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(0)], __WEBPACK_AMD_DEFINE_RESULT__ = (function (Okta) {\n var Util = Okta.internal.util.Util;\n\n var _ = Okta._;\n\n return Okta.View.extend({\n template: '\\\n <a href=\"#\" data-se=\"needhelp\" aria-expanded=\"false\" \\\n aria-controls=\"help-links-container\" class=\"link help js-help\">\\\n {{i18n code=\"needhelp\" bundle=\"login\"}}\\\n </a>\\\n <ul class=\"help-links js-help-links\" id=\"help-links-container\">\\\n <li>\\\n <a href=\"#\" data-se=\"forgot-password\" class=\"link js-forgot-password\">\\\n {{i18n code=\"forgotpassword\" bundle=\"login\"}}\\\n </a>\\\n </li>\\\n {{#if features.selfServiceUnlock}}\\\n <li>\\\n <a href=\"#\" data-se=\"unlock\" class=\"link js-unlock\">\\\n {{i18n code=\"unlockaccount\" bundle=\"login\"}}\\\n </a>\\\n </li>\\\n {{/if}}\\\n {{#each helpLinks.custom}}\\\n <li>\\\n <a href=\"{{href}}\" class=\"link js-custom\" rel=\"noopener noreferrer\"\\\n {{#if target}}target=\"{{target}}\"{{/if}}>{{text}}</a>\\\n </li>\\\n {{/each}}\\\n <li>\\\n <a href=\"{{helpLinkUrl}}\" data-se=\"help-link\" class=\"link js-help-link\"\\\n rel=\"noopener noreferrer\" target=\"_blank\">\\\n {{i18n code=\"help\" bundle=\"login\"}}\\\n </a>\\\n </li>\\\n </ul>\\\n ',\n className: 'auth-footer',\n\n initialize: function initialize() {\n this.listenTo(this.state, 'change:enabled', function (model, enable) {\n this.$(':link').toggleClass('o-form-disabled', !enable);\n });\n },\n\n getTemplateData: function getTemplateData() {\n var helpLinkUrl;\n var customHelpPage = this.settings.get('helpLinks.help');\n if (customHelpPage) {\n helpLinkUrl = customHelpPage;\n } else {\n helpLinkUrl = Okta.tpl('{{baseUrl}}/help/login')({ baseUrl: this.settings.get('baseUrl') });\n }\n return _.extend(this.settings.toJSON({ verbose: true }), { helpLinkUrl: helpLinkUrl });\n },\n postRender: function postRender() {\n this.$('.js-help-links').hide();\n },\n toggleLinks: function toggleLinks(e) {\n e.preventDefault();\n\n this.$('.js-help-links').slideToggle(200, _.bind(function () {\n this.$('.js-help').attr('aria-expanded', this.$('.js-help-links').is(':visible'));\n }, this));\n },\n events: {\n 'click .js-help': function clickJsHelp(e) {\n e.preventDefault();\n if (!this.state.get('enabled')) {\n return;\n }\n\n this.toggleLinks(e);\n },\n 'click .js-forgot-password': function clickJsForgotPassword(e) {\n e.preventDefault();\n if (!this.state.get('enabled')) {\n return;\n }\n\n var customResetPasswordPage = this.settings.get('helpLinks.forgotPassword');\n if (customResetPasswordPage) {\n Util.redirect(customResetPasswordPage);\n } else {\n this.options.appState.trigger('navigate', 'signin/forgot-password');\n }\n },\n 'click .js-unlock': function clickJsUnlock(e) {\n e.preventDefault();\n if (!this.state.get('enabled')) {\n return;\n }\n\n var customUnlockPage = this.settings.get('helpLinks.unlock');\n if (customUnlockPage) {\n Util.redirect(customUnlockPage);\n } else {\n this.options.appState.trigger('navigate', 'signin/unlock');\n }\n }\n }\n });\n}).apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\n/***/ }),\n/* 247 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;\n\nvar _typeof2 = __webpack_require__(89);\n\nvar _typeof3 = _interopRequireDefault(_typeof2);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * \n * This file has been modified to override doPostBack\n * Check out the doPostBack function below for more details.\n * Override the doPostBack function when upgrading.\n * Unable to make a wrapper because it is invoked using an internal name within \n * this library.\n * \n * Current Verison = https://github.com/duosecurity/duo_web_sdk/blob/7aec8dd895ea4bd4549069e76076850eccfe07f2/index.js\n * PS: they dont seem to version correctly hence using commit.\n */\n\n/**\n * Duo Web SDK v2\n * Copyright 2019, Duo Security\n */\n\n(function (root, factory) {\n /*eslint-disable */\n if (true) {\n // AMD. Register as an anonymous module.\n !(__WEBPACK_AMD_DEFINE_ARRAY__ = [], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n /*eslint-enable */\n } else if ((typeof module === 'undefined' ? 'undefined' : (0, _typeof3.default)(module)) === 'object' && module.exports) {\n // Node. Does not work with strict CommonJS, but\n // only CommonJS-like environments that support module.exports,\n // like Node.\n module.exports = factory();\n } else {\n // Browser globals (root is window)\n var Duo = factory();\n // If the Javascript was loaded via a script tag, attempt to autoload\n // the frame.\n Duo._onReady(Duo.init);\n\n // Attach Duo to the `window` object\n root.Duo = Duo;\n }\n})(undefined, function () {\n var DUO_MESSAGE_FORMAT = /^(?:AUTH|ENROLL)+\\|[A-Za-z0-9\\+\\/=]+\\|[A-Za-z0-9\\+\\/=]+$/;\n var DUO_ERROR_FORMAT = /^ERR\\|[\\w\\s\\.\\(\\)]+$/;\n var DUO_OPEN_WINDOW_FORMAT = /^DUO_OPEN_WINDOW\\|/;\n var VALID_OPEN_WINDOW_DOMAINS = ['duo.com', 'duosecurity.com', 'duomobile.s3-us-west-1.amazonaws.com'];\n\n var postAction, postArgument, host, sigRequest, duoSig, appSig, iframe, submitCallback;\n\n // We use this function instead of setting initial values in the var\n // declarations to make sure the initial values and subsequent\n // re-initializations are always the same.\n initializeStatefulVariables();\n\n /**\n * Set local variables to whatever they should be before you call init().\n */\n function initializeStatefulVariables() {\n postAction = '';\n postArgument = 'sig_response';\n host = undefined;\n sigRequest = undefined;\n duoSig = undefined;\n appSig = undefined;\n iframe = undefined;\n submitCallback = undefined;\n }\n\n function throwError(message, givenUrl) {\n var url = givenUrl || 'https://www.duosecurity.com/docs/duoweb#3.-show-the-iframe';\n throw new Error('Duo Web SDK error: ' + message + (url ? '\\n' + 'See ' + url + ' for more information' : ''));\n }\n\n function hyphenize(str) {\n return str.replace(/([a-z])([A-Z])/, '$1-$2').toLowerCase();\n }\n\n // cross-browser data attributes\n function getDataAttribute(element, name) {\n if ('dataset' in element) {\n return element.dataset[name];\n } else {\n return element.getAttribute('data-' + hyphenize(name));\n }\n }\n\n // cross-browser event binding/unbinding\n function on(context, event, fallbackEvent, callback) {\n if ('addEventListener' in window) {\n context.addEventListener(event, callback, false);\n } else {\n context.attachEvent(fallbackEvent, callback);\n }\n }\n\n function off(context, event, fallbackEvent, callback) {\n if ('removeEventListener' in window) {\n context.removeEventListener(event, callback, false);\n } else {\n context.detachEvent(fallbackEvent, callback);\n }\n }\n\n function onReady(callback) {\n on(document, 'DOMContentLoaded', 'onreadystatechange', callback);\n }\n\n function offReady(callback) {\n off(document, 'DOMContentLoaded', 'onreadystatechange', callback);\n }\n\n function onMessage(callback) {\n on(window, 'message', 'onmessage', callback);\n }\n\n function offMessage(callback) {\n off(window, 'message', 'onmessage', callback);\n }\n\n /**\n * Parse the sig_request parameter, throwing errors if the token contains\n * a server error or if the token is invalid.\n *\n * @param {String} sig Request token\n */\n function parseSigRequest(sig) {\n if (!sig) {\n // nothing to do\n return;\n }\n\n // see if the token contains an error, throwing it if it does\n if (sig.indexOf('ERR|') === 0) {\n throwError(sig.split('|')[1]);\n }\n\n // validate the token\n if (sig.indexOf(':') === -1 || sig.split(':').length !== 2) {\n throwError('Duo was given a bad token. This might indicate a configuration ' + 'problem with one of Duo\\'s client libraries.');\n }\n\n var sigParts = sig.split(':');\n\n // hang on to the token, and the parsed duo and app sigs\n sigRequest = sig;\n duoSig = sigParts[0];\n appSig = sigParts[1];\n\n return {\n sigRequest: sig,\n duoSig: sigParts[0],\n appSig: sigParts[1]\n };\n }\n\n /**\n * Validate that a MessageEvent came from the Duo service, and that it\n * is a properly formatted payload.\n *\n * The Google Chrome sign-in page injects some JS into pages that also\n * make use of postMessage, so we need to do additional validation above\n * and beyond the origin.\n *\n * @param {MessageEvent} event Message received via postMessage\n */\n function isDuoMessage(event) {\n return Boolean(event.origin === 'https://' + host && typeof event.data === 'string' && (event.data.match(DUO_MESSAGE_FORMAT) || event.data.match(DUO_ERROR_FORMAT) || event.data.match(DUO_OPEN_WINDOW_FORMAT)));\n }\n\n /**\n * Validate the request token and prepare for the iframe to become ready.\n *\n * All options below can be passed into an options hash to `Duo.init`, or\n * specified on the iframe using `data-` attributes.\n *\n * Options specified using the options hash will take precedence over\n * `data-` attributes.\n *\n * Example using options hash:\n * ```javascript\n * Duo.init({\n * iframe: \"some_other_id\",\n * host: \"api-main.duo.test\",\n * sig_request: \"...\",\n * post_action: \"/auth\",\n * post_argument: \"resp\"\n * });\n * ```\n *\n * Example using `data-` attributes:\n * ```html\n * <iframe id=\"duo_iframe\"\n * data-host=\"api-main.duo.test\"\n * data-sig-request=\"...\"\n * data-post-action=\"/auth\"\n * data-post-argument=\"resp\"\n * >\n * </iframe>\n * ```\n *\n * Some browsers (especially embedded browsers) don't like it when the Duo\n * Web SDK changes the `src` attribute on the iframe. To prevent this, there\n * is an alternative way to use the Duo Web SDK:\n *\n * Add a div (or any other container element) instead of an iframe to the\n * DOM with an id of \"duo_iframe\", or pass that element to the\n * `iframeContainer` parameter of `Duo.init`. An iframe will be created and\n * inserted into that container element, preventing `src` change related\n * bugs. WARNING: All other elements in the container will be deleted.\n *\n * The `iframeAttributes` parameter of `Duo.init` is available to set any\n * attributes on the inserted iframe if the Duo Web SDK is inserting the\n * iframe. For details, see the parameter documentation below.\n *\n * @param {Object} options\n * @param {String} options.host - Hostname for the Duo Prompt.\n * @param {String} options.sig_request - Request token.\n * @param {String|HTMLElement} [options.iframe] - The iframe, or id of an\n * iframe that will be used for the Duo Prompt. If you don't provide\n * this or the `iframeContainer` parameter the Duo Web SDK will default\n * to using whatever element has an id of \"duo_iframe\".\n * @param {String|HTMLElement} [options.iframeContainer] - The element you\n * want the Duo Prompt inserted into, or the id of that element.\n * Anything inside this element will be deleted and replaced with an\n * iframe hosting the Duo prompt. If you don't provide this or the\n * `iframe` parameter the Duo Web SDK will default to using whatever\n * element has an id of \"duo_iframe\".\n * @param {Object} [options.iframeAttributes] - Object with names and\n * values coresponding to attributes you want added to the Duo Prompt\n * iframe, like `title`, `width` and `allow`. WARNING: this parameter\n * only works if you use the `iframeContainer` parameter or add an id\n * of \"duo_iframe\" to an element that isn't an iframe. If you have\n * added an iframe to the DOM yourself, you should set those attributes\n * directly on the iframe.\n * @param {String} [options.post_action=''] - URL to POST back to after a\n * successful auth.\n * @param {String} [options.post_argument='sig_response'] - Parameter name\n * to use for response token.\n * @param {Function} [options.submit_callback] - If provided, the Duo Web\n * SDK will not submit the form. Instead it will execute this callback\n * function passing in a reference to the \"duo_form\" form object.\n * `submit_callback`` can be used to prevent the webpage from reloading.\n */\n function init(options) {\n // If init() is called more than once we have to reset all the local\n // variables to ensure init() will work the same way every time. This\n // helps people making single page applications. SPAs may periodically\n // remove the iframe and add a new one that has to be initialized.\n initializeStatefulVariables();\n\n if (options) {\n if (options.host) {\n host = options.host;\n }\n\n if (options.sig_request) {\n parseSigRequest(options.sig_request);\n }\n\n if (options.post_action) {\n postAction = options.post_action;\n }\n\n if (options.post_argument) {\n postArgument = options.post_argument;\n }\n\n if (typeof options.submit_callback === 'function') {\n submitCallback = options.submit_callback;\n }\n }\n\n var promptElement = getPromptElement(options);\n if (promptElement) {\n // If we can get the element that will host the prompt, set it.\n ready(promptElement, options.iframeAttributes || {});\n } else {\n // If the element that will host the prompt isn't available yet, set\n // it up after the DOM finishes loading.\n asyncReady(options);\n }\n\n // always clean up after yourself!\n offReady(init);\n }\n\n /**\n * Given the options from init(), get the iframe or iframe container that\n * should be used for the Duo Prompt. Returns `null` if nothing was found.\n */\n function getPromptElement(options) {\n var result;\n\n if (options.iframe && options.iframeContainer) {\n throwError('Passing both `iframe` and `iframeContainer` arguments at the' + ' same time is not allowed.');\n } else if (options.iframe) {\n // If we are getting an iframe, try to get it and raise if the\n // element we find is NOT an iframe.\n result = getUserDefinedElement(options.iframe);\n validateIframe(result);\n } else if (options.iframeContainer) {\n result = getUserDefinedElement(options.iframeContainer);\n validateIframeContainer(result);\n } else {\n result = document.getElementById('duo_iframe');\n }\n\n return result;\n }\n\n /**\n * When given an HTMLElement, return it. When given a string, get an element\n * with that id, else return null.\n */\n function getUserDefinedElement(object) {\n if (object.tagName) {\n return object;\n } else if (typeof object == 'string') {\n return document.getElementById(object);\n }\n return null;\n }\n\n /**\n * Check if the given thing is an iframe.\n */\n function isIframe(element) {\n return element && element.tagName && element.tagName.toLowerCase() === 'iframe';\n }\n\n /**\n * Throw an error if we are given an element that is NOT an iframe.\n */\n function validateIframe(element) {\n if (element && !isIframe(element)) {\n throwError('`iframe` only accepts an iframe element or the id of an' + ' iframe. To use a non-iframe element, use the' + ' `iframeContainer` argument.');\n }\n }\n\n /**\n * Throw an error if we are given an element that IS an iframe instead of an\n * element that we can insert an iframe into.\n */\n function validateIframeContainer(element) {\n if (element && isIframe(element)) {\n throwError('`iframeContainer` only accepts a non-iframe element or the' + ' id of a non-iframe. To use a non-iframe element, use the' + ' `iframeContainer` argument on Duo.init().');\n }\n }\n\n /**\n * Generate the URL that goes to the Duo Prompt.\n */\n function generateIframeSrc() {\n return ['https://', host, '/frame/web/v1/auth?tx=', duoSig, '&parent=', encodeURIComponent(document.location.href), '&v=2.8'].join('');\n }\n\n /**\n * This function is called when a message was received from another domain\n * using the `postMessage` API. Check that the event came from the Duo\n * service domain, and that the message is a properly formatted payload,\n * then perform the post back to the primary service.\n *\n * @param event Event object (contains origin and data)\n */\n function onReceivedMessage(event) {\n if (isDuoMessage(event)) {\n if (event.data.match(DUO_OPEN_WINDOW_FORMAT)) {\n var url = event.data.substring(\"DUO_OPEN_WINDOW|\".length);\n if (isValidUrlToOpen(url)) {\n // Open the URL that comes after the DUO_WINDOW_OPEN token.\n window.open(url, \"_self\");\n }\n } else {\n // the event came from duo, do the post back\n doPostBack(event.data);\n\n // always clean up after yourself!\n offMessage(onReceivedMessage);\n }\n }\n }\n\n /**\n * Validate that this passed in URL is one that we will actually allow to\n * be opened.\n * @param url String URL that the message poster wants to open\n * @returns {boolean} true if we allow this url to be opened in the window\n */\n function isValidUrlToOpen(url) {\n if (!url) {\n return false;\n }\n\n var parser = document.createElement('a');\n parser.href = url;\n\n if (parser.protocol === \"duotrustedendpoints:\") {\n return true;\n } else if (parser.protocol !== \"https:\") {\n return false;\n }\n\n for (var i = 0; i < VALID_OPEN_WINDOW_DOMAINS.length; i++) {\n if (parser.hostname.endsWith(\".\" + VALID_OPEN_WINDOW_DOMAINS[i]) || parser.hostname === VALID_OPEN_WINDOW_DOMAINS[i]) {\n return true;\n }\n }\n return false;\n }\n\n /**\n * Register a callback to call ready() after the DOM has loaded.\n */\n function asyncReady(options) {\n var callback = function callback() {\n var promptElement = getPromptElement(options);\n if (!promptElement) {\n throwError('This page does not contain an iframe for Duo to use.' + ' Add an element like' + ' <iframe id=\"duo_iframe\"></iframe> to this page.');\n }\n\n ready(promptElement, options.iframeAttributes || {});\n\n // Always clean up after yourself.\n offReady(callback);\n };\n\n onReady(callback);\n }\n\n /**\n * Point the iframe at Duo, then wait for it to postMessage back to us.\n */\n function ready(promptElement, iframeAttributes) {\n if (!host) {\n host = getDataAttribute(promptElement, 'host');\n\n if (!host) {\n throwError('No API hostname is given for Duo to use. Be sure to pass ' + 'a `host` parameter to Duo.init, or through the `data-host` ' + 'attribute on the iframe element.');\n }\n }\n\n if (!duoSig || !appSig) {\n parseSigRequest(getDataAttribute(promptElement, 'sigRequest'));\n\n if (!duoSig || !appSig) {\n throwError('No valid signed request is given. Be sure to give the ' + '`sig_request` parameter to Duo.init, or use the ' + '`data-sig-request` attribute on the iframe element.');\n }\n }\n\n // if postAction/Argument are defaults, see if they are specified\n // as data attributes on the iframe\n if (postAction === '') {\n postAction = getDataAttribute(promptElement, 'postAction') || postAction;\n }\n\n if (postArgument === 'sig_response') {\n postArgument = getDataAttribute(promptElement, 'postArgument') || postArgument;\n }\n\n if (isIframe(promptElement)) {\n iframe = promptElement;\n iframe.src = generateIframeSrc();\n } else {\n // If given a container to put an iframe in, clean out any children\n // child elements in case `init()` was called more than once.\n while (promptElement.firstChild) {\n // We call `removeChild()` instead of doing `innerHTML = \"\"`\n // to make sure we unbind any events.\n promptElement.removeChild(promptElement.firstChild);\n }\n\n iframe = document.createElement('iframe');\n\n // Set the src and all other attributes on the new iframe.\n iframeAttributes['src'] = generateIframeSrc();\n for (var name in iframeAttributes) {\n iframe.setAttribute(name, iframeAttributes[name]);\n }\n\n promptElement.appendChild(iframe);\n }\n\n // listen for the 'message' event\n onMessage(onReceivedMessage);\n }\n\n /**\n * We received a postMessage from Duo. POST back to the primary service\n * with the response token, and any additional user-supplied parameters\n * given in form#duo_form.\n */\n // function doPostBack(response) {\n // // create a hidden input to contain the response token\n // var input = document.createElement('input');\n // input.type = 'hidden';\n // input.name = postArgument;\n // input.value = response + ':' + appSig;\n\n // // user may supply their own form with additional inputs\n // var form = document.getElementById('duo_form');\n\n // // if the form doesn't exist, create one\n // if (!form) {\n // form = document.createElement('form');\n\n // // insert the new form after the iframe\n // iframe.parentElement.insertBefore(form, iframe.nextSibling);\n // }\n\n // // make sure we are actually posting to the right place\n // form.method = 'POST';\n // form.action = postAction;\n\n // // add the response token input to the form\n // form.appendChild(input);\n\n // // away we go!\n // if (typeof submitCallback === \"function\") {\n // submitCallback.call(null, form);\n // } else {\n // form.submit();\n // }\n // }\n\n // OKTA: Overriding their doPostBack logic because we want to submit this\n // through ajax, not a postBack\n function doPostBack(response) {\n postAction(response + ':' + appSig);\n }\n\n return {\n init: init,\n _onReady: onReady,\n _parseSigRequest: parseSigRequest,\n _isDuoMessage: isDuoMessage,\n _doPostBack: doPostBack\n };\n});\n\n/***/ }),\n/* 248 */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = __webpack_require__(562);\n\n\n/***/ }),\n/* 249 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nexports.__esModule = true;\n\nvar _promise = __webpack_require__(172);\n\nvar _promise2 = _interopRequireDefault(_promise);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = function (fn) {\n return function () {\n var gen = fn.apply(this, arguments);\n return new _promise2.default(function (resolve, reject) {\n function step(key, arg) {\n try {\n var info = gen[key](arg);\n var value = info.value;\n } catch (error) {\n reject(error);\n return;\n }\n\n if (info.done) {\n resolve(value);\n } else {\n return _promise2.default.resolve(value).then(function (value) {\n step(\"next\", value);\n }, function (err) {\n step(\"throw\", err);\n });\n }\n }\n\n return step(\"next\");\n });\n };\n};\n\n/***/ }),\n/* 250 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\nvar __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;\n\n/*!\n * Copyright (c) 2020-present, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n\n!(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(0), __webpack_require__(6)], __WEBPACK_AMD_DEFINE_RESULT__ = (function (Okta, Enums) {\n\n var _ = Okta._;\n\n return Okta.View.extend({\n className: 'hide resend-email-infobox',\n template: '<div class=\"infobox infobox-warning\">' + '<span class=\"icon warning-16\"></span>' + '<p>' + '<span>{{i18n code=\"email.code.not.received\" bundle=\"login\"}}</span>' + '<a href=\"#\" class=\"resend-email-btn\">' + '{{i18n code=\"email.button.resend\" bundle=\"login\"}}' + '</a>' + '</p>' + '</div>',\n\n events: {\n 'click .resend-email-btn': 'resendEmail'\n },\n\n postRender: function postRender() {\n this.showResendCallout();\n },\n\n showResendCallout: function showResendCallout() {\n var _this = this;\n\n _.delay(function () {\n _this.$el.removeClass('hide');\n }, Enums.API_RATE_LIMIT);\n },\n\n hideResendCallout: function hideResendCallout() {\n this.$el.addClass('hide');\n },\n\n resendEmail: function resendEmail(e) {\n e.preventDefault();\n this.hideResendCallout();\n this.model.resend().finally(this.showResendCallout.bind(this));\n }\n });\n}).apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\n/***/ }),\n/* 251 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\nvar __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;\n\n/*!\n * Copyright (c) 2015-2016, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n\n!(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(0)], __WEBPACK_AMD_DEFINE_RESULT__ = (function (Okta) {\n\n return Okta.View.extend({\n className: 'okta-waiting-spinner',\n attributes: {\n 'data-se': 'o-form-okta-waiting-spinner'\n },\n modelEvents: {\n 'spinner:show': 'show',\n 'spinner:hide': 'hide'\n },\n\n initialize: function initialize(options) {\n if (options && options.visible === false) {\n this.hide();\n }\n },\n\n show: function show() {\n this.$el.removeClass('hide');\n },\n\n hide: function hide() {\n this.$el.addClass('hide');\n }\n });\n}).apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\n/***/ }),\n/* 252 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n//Copyright 2014-2015 Google Inc. All rights reserved.\n\n//Use of this source code is governed by a BSD-style\n//license that can be found in the LICENSE file or at\n//https://developers.google.com/open-source/licenses/bsd\n\n/**\n * @fileoverview The U2F api.\n */\n\n\n(function (){\n var isChrome = 'chrome' in window && window.navigator.userAgent.indexOf('Edge') < 0;\n if ('u2f' in window || !isChrome) {\n return;\n }\n\n /** Namespace for the U2F api.\n * @type {Object}\n */\n var u2f = window.u2f = {};\n\n /**\n * FIDO U2F Javascript API Version\n * @number\n */\n var js_api_version;\n\n /**\n * The U2F extension id\n * @const {string}\n */\n // The Chrome packaged app extension ID.\n // Uncomment this if you want to deploy a server instance that uses\n // the package Chrome app and does not require installing the U2F Chrome extension.\n u2f.EXTENSION_ID = 'kmendfapggjehodndflmmgagdbamhnfd';\n // The U2F Chrome extension ID.\n // Uncomment this if you want to deploy a server instance that uses\n // the U2F Chrome extension to authenticate.\n // u2f.EXTENSION_ID = 'pfboblefjcgdjicmnffhdgionmgcdmne';\n\n\n /**\n * Message types for messsages to/from the extension\n * @const\n * @enum {string}\n */\n u2f.MessageTypes = {\n 'U2F_REGISTER_REQUEST': 'u2f_register_request',\n 'U2F_REGISTER_RESPONSE': 'u2f_register_response',\n 'U2F_SIGN_REQUEST': 'u2f_sign_request',\n 'U2F_SIGN_RESPONSE': 'u2f_sign_response',\n 'U2F_GET_API_VERSION_REQUEST': 'u2f_get_api_version_request',\n 'U2F_GET_API_VERSION_RESPONSE': 'u2f_get_api_version_response'\n };\n\n\n /**\n * Response status codes\n * @const\n * @enum {number}\n */\n u2f.ErrorCodes = {\n 'OK': 0,\n 'OTHER_ERROR': 1,\n 'BAD_REQUEST': 2,\n 'CONFIGURATION_UNSUPPORTED': 3,\n 'DEVICE_INELIGIBLE': 4,\n 'TIMEOUT': 5\n };\n\n\n /**\n * A message for registration requests\n * @typedef {{\n * type: u2f.MessageTypes,\n * appId: ?string,\n * timeoutSeconds: ?number,\n * requestId: ?number\n * }}\n */\n u2f.U2fRequest;\n\n\n /**\n * A message for registration responses\n * @typedef {{\n * type: u2f.MessageTypes,\n * responseData: (u2f.Error | u2f.RegisterResponse | u2f.SignResponse),\n * requestId: ?number\n * }}\n */\n u2f.U2fResponse;\n\n\n /**\n * An error object for responses\n * @typedef {{\n * errorCode: u2f.ErrorCodes,\n * errorMessage: ?string\n * }}\n */\n u2f.Error;\n\n /**\n * Data object for a single sign request.\n * @typedef {enum {BLUETOOTH_RADIO, BLUETOOTH_LOW_ENERGY, USB, NFC}}\n */\n u2f.Transport;\n\n\n /**\n * Data object for a single sign request.\n * @typedef {Array<u2f.Transport>}\n */\n u2f.Transports;\n\n /**\n * Data object for a single sign request.\n * @typedef {{\n * version: string,\n * challenge: string,\n * keyHandle: string,\n * appId: string\n * }}\n */\n u2f.SignRequest;\n\n\n /**\n * Data object for a sign response.\n * @typedef {{\n * keyHandle: string,\n * signatureData: string,\n * clientData: string\n * }}\n */\n u2f.SignResponse;\n\n\n /**\n * Data object for a registration request.\n * @typedef {{\n * version: string,\n * challenge: string\n * }}\n */\n u2f.RegisterRequest;\n\n\n /**\n * Data object for a registration response.\n * @typedef {{\n * version: string,\n * keyHandle: string,\n * transports: Transports,\n * appId: string\n * }}\n */\n u2f.RegisterResponse;\n\n\n /**\n * Data object for a registered key.\n * @typedef {{\n * version: string,\n * keyHandle: string,\n * transports: ?Transports,\n * appId: ?string\n * }}\n */\n u2f.RegisteredKey;\n\n\n /**\n * Data object for a get API register response.\n * @typedef {{\n * js_api_version: number\n * }}\n */\n u2f.GetJsApiVersionResponse;\n\n\n //Low level MessagePort API support\n\n /**\n * Sets up a MessagePort to the U2F extension using the\n * available mechanisms.\n * @param {function((MessagePort|u2f.WrappedChromeRuntimePort_))} callback\n */\n u2f.getMessagePort = function(callback) {\n if (typeof chrome != 'undefined' && chrome.runtime) {\n // The actual message here does not matter, but we need to get a reply\n // for the callback to run. Thus, send an empty signature request\n // in order to get a failure response.\n var msg = {\n type: u2f.MessageTypes.U2F_SIGN_REQUEST,\n signRequests: []\n };\n chrome.runtime.sendMessage(u2f.EXTENSION_ID, msg, function() {\n if (!chrome.runtime.lastError) {\n // We are on a whitelisted origin and can talk directly\n // with the extension.\n u2f.getChromeRuntimePort_(callback);\n } else {\n // chrome.runtime was available, but we couldn't message\n // the extension directly, use iframe\n u2f.getIframePort_(callback);\n }\n });\n } else if (u2f.isAndroidChrome_()) {\n u2f.getAuthenticatorPort_(callback);\n } else if (u2f.isIosChrome_()) {\n u2f.getIosPort_(callback);\n } else {\n // chrome.runtime was not available at all, which is normal\n // when this origin doesn't have access to any extensions.\n u2f.getIframePort_(callback);\n }\n };\n\n /**\n * Detect chrome running on android based on the browser's useragent.\n * @private\n */\n u2f.isAndroidChrome_ = function() {\n var userAgent = navigator.userAgent;\n return userAgent.indexOf('Chrome') != -1 &&\n userAgent.indexOf('Android') != -1;\n };\n\n /**\n * Detect chrome running on iOS based on the browser's platform.\n * @private\n */\n u2f.isIosChrome_ = function() {\n return [\"iPhone\", \"iPad\", \"iPod\"].indexOf(navigator.platform) > -1;\n };\n\n /**\n * Connects directly to the extension via chrome.runtime.connect.\n * @param {function(u2f.WrappedChromeRuntimePort_)} callback\n * @private\n */\n u2f.getChromeRuntimePort_ = function(callback) {\n var port = chrome.runtime.connect(u2f.EXTENSION_ID,\n {'includeTlsChannelId': true});\n setTimeout(function() {\n callback(new u2f.WrappedChromeRuntimePort_(port));\n }, 0);\n };\n\n /**\n * Return a 'port' abstraction to the Authenticator app.\n * @param {function(u2f.WrappedAuthenticatorPort_)} callback\n * @private\n */\n u2f.getAuthenticatorPort_ = function(callback) {\n setTimeout(function() {\n callback(new u2f.WrappedAuthenticatorPort_());\n }, 0);\n };\n\n /**\n * Return a 'port' abstraction to the iOS client app.\n * @param {function(u2f.WrappedIosPort_)} callback\n * @private\n */\n u2f.getIosPort_ = function(callback) {\n setTimeout(function() {\n callback(new u2f.WrappedIosPort_());\n }, 0);\n };\n\n /**\n * A wrapper for chrome.runtime.Port that is compatible with MessagePort.\n * @param {Port} port\n * @constructor\n * @private\n */\n u2f.WrappedChromeRuntimePort_ = function(port) {\n this.port_ = port;\n };\n\n /**\n * Format and return a sign request compliant with the JS API version supported by the extension.\n * @param {Array<u2f.SignRequest>} signRequests\n * @param {number} timeoutSeconds\n * @param {number} reqId\n * @return {Object}\n */\n u2f.formatSignRequest_ =\n function(appId, challenge, registeredKeys, timeoutSeconds, reqId) {\n if (js_api_version === undefined || js_api_version < 1.1) {\n // Adapt request to the 1.0 JS API\n var signRequests = [];\n for (var i = 0; i < registeredKeys.length; i++) {\n signRequests[i] = {\n version: registeredKeys[i].version,\n challenge: challenge,\n keyHandle: registeredKeys[i].keyHandle,\n appId: appId\n };\n }\n return {\n type: u2f.MessageTypes.U2F_SIGN_REQUEST,\n signRequests: signRequests,\n timeoutSeconds: timeoutSeconds,\n requestId: reqId\n };\n }\n // JS 1.1 API\n return {\n type: u2f.MessageTypes.U2F_SIGN_REQUEST,\n appId: appId,\n challenge: challenge,\n registeredKeys: registeredKeys,\n timeoutSeconds: timeoutSeconds,\n requestId: reqId\n };\n };\n\n /**\n * Format and return a register request compliant with the JS API version supported by the extension..\n * @param {Array<u2f.SignRequest>} signRequests\n * @param {Array<u2f.RegisterRequest>} signRequests\n * @param {number} timeoutSeconds\n * @param {number} reqId\n * @return {Object}\n */\n u2f.formatRegisterRequest_ =\n function(appId, registeredKeys, registerRequests, timeoutSeconds, reqId) {\n if (js_api_version === undefined || js_api_version < 1.1) {\n // Adapt request to the 1.0 JS API\n for (var i = 0; i < registerRequests.length; i++) {\n registerRequests[i].appId = appId;\n }\n var signRequests = [];\n for (var i = 0; i < registeredKeys.length; i++) {\n signRequests[i] = {\n version: registeredKeys[i].version,\n challenge: registerRequests[0],\n keyHandle: registeredKeys[i].keyHandle,\n appId: appId\n };\n }\n return {\n type: u2f.MessageTypes.U2F_REGISTER_REQUEST,\n signRequests: signRequests,\n registerRequests: registerRequests,\n timeoutSeconds: timeoutSeconds,\n requestId: reqId\n };\n }\n // JS 1.1 API\n return {\n type: u2f.MessageTypes.U2F_REGISTER_REQUEST,\n appId: appId,\n registerRequests: registerRequests,\n registeredKeys: registeredKeys,\n timeoutSeconds: timeoutSeconds,\n requestId: reqId\n };\n };\n\n\n /**\n * Posts a message on the underlying channel.\n * @param {Object} message\n */\n u2f.WrappedChromeRuntimePort_.prototype.postMessage = function(message) {\n this.port_.postMessage(message);\n };\n\n\n /**\n * Emulates the HTML 5 addEventListener interface. Works only for the\n * onmessage event, which is hooked up to the chrome.runtime.Port.onMessage.\n * @param {string} eventName\n * @param {function({data: Object})} handler\n */\n u2f.WrappedChromeRuntimePort_.prototype.addEventListener =\n function(eventName, handler) {\n var name = eventName.toLowerCase();\n if (name == 'message' || name == 'onmessage') {\n this.port_.onMessage.addListener(function(message) {\n // Emulate a minimal MessageEvent object\n handler({'data': message});\n });\n } else {\n console.error('WrappedChromeRuntimePort only supports onMessage');\n }\n };\n\n /**\n * Wrap the Authenticator app with a MessagePort interface.\n * @constructor\n * @private\n */\n u2f.WrappedAuthenticatorPort_ = function() {\n this.requestId_ = -1;\n this.requestObject_ = null;\n }\n\n /**\n * Launch the Authenticator intent.\n * @param {Object} message\n */\n u2f.WrappedAuthenticatorPort_.prototype.postMessage = function(message) {\n var intentUrl =\n u2f.WrappedAuthenticatorPort_.INTENT_URL_BASE_ +\n ';S.request=' + encodeURIComponent(JSON.stringify(message)) +\n ';end';\n document.location = intentUrl;\n };\n\n /**\n * Tells what type of port this is.\n * @return {String} port type\n */\n u2f.WrappedAuthenticatorPort_.prototype.getPortType = function() {\n return \"WrappedAuthenticatorPort_\";\n };\n\n\n /**\n * Emulates the HTML 5 addEventListener interface.\n * @param {string} eventName\n * @param {function({data: Object})} handler\n */\n u2f.WrappedAuthenticatorPort_.prototype.addEventListener = function(eventName, handler) {\n var name = eventName.toLowerCase();\n if (name == 'message') {\n var self = this;\n /* Register a callback to that executes when\n * chrome injects the response. */\n window.addEventListener(\n 'message', self.onRequestUpdate_.bind(self, handler), false);\n } else {\n console.error('WrappedAuthenticatorPort only supports message');\n }\n };\n\n /**\n * Callback invoked when a response is received from the Authenticator.\n * @param function({data: Object}) callback\n * @param {Object} message message Object\n */\n u2f.WrappedAuthenticatorPort_.prototype.onRequestUpdate_ =\n function(callback, message) {\n var messageObject = JSON.parse(message.data);\n var intentUrl = messageObject['intentURL'];\n\n var errorCode = messageObject['errorCode'];\n var responseObject = null;\n if (messageObject.hasOwnProperty('data')) {\n responseObject = /** @type {Object} */ (\n JSON.parse(messageObject['data']));\n }\n\n callback({'data': responseObject});\n };\n\n /**\n * Base URL for intents to Authenticator.\n * @const\n * @private\n */\n u2f.WrappedAuthenticatorPort_.INTENT_URL_BASE_ =\n 'intent:#Intent;action=com.google.android.apps.authenticator.AUTHENTICATE';\n\n /**\n * Wrap the iOS client app with a MessagePort interface.\n * @constructor\n * @private\n */\n u2f.WrappedIosPort_ = function() {};\n\n /**\n * Launch the iOS client app request\n * @param {Object} message\n */\n u2f.WrappedIosPort_.prototype.postMessage = function(message) {\n var str = JSON.stringify(message);\n var url = \"u2f://auth?\" + encodeURI(str);\n location.replace(url);\n };\n\n /**\n * Tells what type of port this is.\n * @return {String} port type\n */\n u2f.WrappedIosPort_.prototype.getPortType = function() {\n return \"WrappedIosPort_\";\n };\n\n /**\n * Emulates the HTML 5 addEventListener interface.\n * @param {string} eventName\n * @param {function({data: Object})} handler\n */\n u2f.WrappedIosPort_.prototype.addEventListener = function(eventName, handler) {\n var name = eventName.toLowerCase();\n if (name !== 'message') {\n console.error('WrappedIosPort only supports message');\n }\n };\n\n /**\n * Sets up an embedded trampoline iframe, sourced from the extension.\n * @param {function(MessagePort)} callback\n * @private\n */\n u2f.getIframePort_ = function(callback) {\n // Create the iframe\n var iframeOrigin = 'chrome-extension://' + u2f.EXTENSION_ID;\n var iframe = document.createElement('iframe');\n iframe.src = iframeOrigin + '/u2f-comms.html';\n iframe.setAttribute('style', 'display:none');\n document.body.appendChild(iframe);\n\n var channel = new MessageChannel();\n var ready = function(message) {\n if (message.data == 'ready') {\n channel.port1.removeEventListener('message', ready);\n callback(channel.port1);\n } else {\n console.error('First event on iframe port was not \"ready\"');\n }\n };\n channel.port1.addEventListener('message', ready);\n channel.port1.start();\n\n iframe.addEventListener('load', function() {\n // Deliver the port to the iframe and initialize\n iframe.contentWindow.postMessage('init', iframeOrigin, [channel.port2]);\n });\n };\n\n\n //High-level JS API\n\n /**\n * Default extension response timeout in seconds.\n * @const\n */\n u2f.EXTENSION_TIMEOUT_SEC = 30;\n\n /**\n * A singleton instance for a MessagePort to the extension.\n * @type {MessagePort|u2f.WrappedChromeRuntimePort_}\n * @private\n */\n u2f.port_ = null;\n\n /**\n * Callbacks waiting for a port\n * @type {Array<function((MessagePort|u2f.WrappedChromeRuntimePort_))>}\n * @private\n */\n u2f.waitingForPort_ = [];\n\n /**\n * A counter for requestIds.\n * @type {number}\n * @private\n */\n u2f.reqCounter_ = 0;\n\n /**\n * A map from requestIds to client callbacks\n * @type {Object.<number,(function((u2f.Error|u2f.RegisterResponse))\n * |function((u2f.Error|u2f.SignResponse)))>}\n * @private\n */\n u2f.callbackMap_ = {};\n\n /**\n * Creates or retrieves the MessagePort singleton to use.\n * @param {function((MessagePort|u2f.WrappedChromeRuntimePort_))} callback\n * @private\n */\n u2f.getPortSingleton_ = function(callback) {\n if (u2f.port_) {\n callback(u2f.port_);\n } else {\n if (u2f.waitingForPort_.length == 0) {\n u2f.getMessagePort(function(port) {\n u2f.port_ = port;\n u2f.port_.addEventListener('message',\n /** @type {function(Event)} */ (u2f.responseHandler_));\n\n // Careful, here be async callbacks. Maybe.\n while (u2f.waitingForPort_.length)\n u2f.waitingForPort_.shift()(u2f.port_);\n });\n }\n u2f.waitingForPort_.push(callback);\n }\n };\n\n /**\n * Handles response messages from the extension.\n * @param {MessageEvent.<u2f.Response>} message\n * @private\n */\n u2f.responseHandler_ = function(message) {\n var response = message.data;\n var reqId = response['requestId'];\n if (!reqId || !u2f.callbackMap_[reqId]) {\n console.error('Unknown or missing requestId in response.');\n return;\n }\n var cb = u2f.callbackMap_[reqId];\n delete u2f.callbackMap_[reqId];\n cb(response['responseData']);\n };\n\n /**\n * Dispatches an array of sign requests to available U2F tokens.\n * If the JS API version supported by the extension is unknown, it first sends a\n * message to the extension to find out the supported API version and then it sends\n * the sign request.\n * @param {string=} appId\n * @param {string=} challenge\n * @param {Array<u2f.RegisteredKey>} registeredKeys\n * @param {function((u2f.Error|u2f.SignResponse))} callback\n * @param {number=} opt_timeoutSeconds\n */\n u2f.sign = function(appId, challenge, registeredKeys, callback, opt_timeoutSeconds) {\n if (js_api_version === undefined) {\n // Send a message to get the extension to JS API version, then send the actual sign request.\n u2f.getApiVersion(\n function (response) {\n js_api_version = response['js_api_version'] === undefined ? 0 : response['js_api_version'];\n console.log(\"Extension JS API Version: \", js_api_version);\n u2f.sendSignRequest(appId, challenge, registeredKeys, callback, opt_timeoutSeconds);\n });\n } else {\n // We know the JS API version. Send the actual sign request in the supported API version.\n u2f.sendSignRequest(appId, challenge, registeredKeys, callback, opt_timeoutSeconds);\n }\n };\n\n /**\n * Dispatches an array of sign requests to available U2F tokens.\n * @param {string=} appId\n * @param {string=} challenge\n * @param {Array<u2f.RegisteredKey>} registeredKeys\n * @param {function((u2f.Error|u2f.SignResponse))} callback\n * @param {number=} opt_timeoutSeconds\n */\n u2f.sendSignRequest = function(appId, challenge, registeredKeys, callback, opt_timeoutSeconds) {\n u2f.getPortSingleton_(function(port) {\n var reqId = ++u2f.reqCounter_;\n u2f.callbackMap_[reqId] = callback;\n var timeoutSeconds = (typeof opt_timeoutSeconds !== 'undefined' ?\n opt_timeoutSeconds : u2f.EXTENSION_TIMEOUT_SEC);\n var req = u2f.formatSignRequest_(appId, challenge, registeredKeys, timeoutSeconds, reqId);\n port.postMessage(req);\n });\n };\n\n /**\n * Dispatches register requests to available U2F tokens. An array of sign\n * requests identifies already registered tokens.\n * If the JS API version supported by the extension is unknown, it first sends a\n * message to the extension to find out the supported API version and then it sends\n * the register request.\n * @param {string=} appId\n * @param {Array<u2f.RegisterRequest>} registerRequests\n * @param {Array<u2f.RegisteredKey>} registeredKeys\n * @param {function((u2f.Error|u2f.RegisterResponse))} callback\n * @param {number=} opt_timeoutSeconds\n */\n u2f.register = function(appId, registerRequests, registeredKeys, callback, opt_timeoutSeconds) {\n if (js_api_version === undefined) {\n // Send a message to get the extension to JS API version, then send the actual register request.\n u2f.getApiVersion(\n function (response) {\n js_api_version = response['js_api_version'] === undefined ? 0: response['js_api_version'];\n console.log(\"Extension JS API Version: \", js_api_version);\n u2f.sendRegisterRequest(appId, registerRequests, registeredKeys,\n callback, opt_timeoutSeconds);\n });\n } else {\n // We know the JS API version. Send the actual register request in the supported API version.\n u2f.sendRegisterRequest(appId, registerRequests, registeredKeys,\n callback, opt_timeoutSeconds);\n }\n };\n\n /**\n * Dispatches register requests to available U2F tokens. An array of sign\n * requests identifies already registered tokens.\n * @param {string=} appId\n * @param {Array<u2f.RegisterRequest>} registerRequests\n * @param {Array<u2f.RegisteredKey>} registeredKeys\n * @param {function((u2f.Error|u2f.RegisterResponse))} callback\n * @param {number=} opt_timeoutSeconds\n */\n u2f.sendRegisterRequest = function(appId, registerRequests, registeredKeys, callback, opt_timeoutSeconds) {\n u2f.getPortSingleton_(function(port) {\n var reqId = ++u2f.reqCounter_;\n u2f.callbackMap_[reqId] = callback;\n var timeoutSeconds = (typeof opt_timeoutSeconds !== 'undefined' ?\n opt_timeoutSeconds : u2f.EXTENSION_TIMEOUT_SEC);\n var req = u2f.formatRegisterRequest_(\n appId, registeredKeys, registerRequests, timeoutSeconds, reqId);\n port.postMessage(req);\n });\n };\n\n\n /**\n * Dispatches a message to the extension to find out the supported\n * JS API version.\n * If the user is on a mobile phone and is thus using Google Authenticator instead\n * of the Chrome extension, don't send the request and simply return 0.\n * @param {function((u2f.Error|u2f.GetJsApiVersionResponse))} callback\n * @param {number=} opt_timeoutSeconds\n */\n u2f.getApiVersion = function(callback, opt_timeoutSeconds) {\n u2f.getPortSingleton_(function(port) {\n // If we are using Android Google Authenticator or iOS client app,\n // do not fire an intent to ask which JS API version to use.\n if (port.getPortType) {\n var apiVersion;\n switch (port.getPortType()) {\n case 'WrappedIosPort_':\n case 'WrappedAuthenticatorPort_':\n apiVersion = 1.1;\n break;\n\n default:\n apiVersion = 0;\n break;\n }\n callback({ 'js_api_version': apiVersion });\n return;\n }\n var reqId = ++u2f.reqCounter_;\n u2f.callbackMap_[reqId] = callback;\n var req = {\n type: u2f.MessageTypes.U2F_GET_API_VERSION_REQUEST,\n timeoutSeconds: (typeof opt_timeoutSeconds !== 'undefined' ?\n opt_timeoutSeconds : u2f.EXTENSION_TIMEOUT_SEC),\n requestId: reqId\n };\n port.postMessage(req);\n });\n };\n})();\n\n\n/***/ }),\n/* 253 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\nvar __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;\n\n/*!\n * Copyright (c) 2015-2016, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n\n!(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(0), __webpack_require__(24), __webpack_require__(18)], __WEBPACK_AMD_DEFINE_RESULT__ = (function (Okta, RouterUtil, FactorUtil) {\n\n var _ = Okta._,\n cardinalityTextTpl = Okta.tpl('<span class=\"factor-cardinality\">{{cardinalityText}}</span>');\n\n var FactorRow = Okta.View.extend({\n className: 'enroll-factor-row clearfix',\n\n template: '\\\n <div class=\"enroll-factor-icon-container\">\\\n <div class=\"factor-icon enroll-factor-icon {{iconClassName}}\">\\\n </div>\\\n </div>\\\n <div class=\"enroll-factor-description\">\\\n <h3 class=\"enroll-factor-label\">{{factorLabel}}</h3>\\\n {{#if factorDescription}}\\\n <p>{{factorDescription}}</p>\\\n {{/if}}\\\n <div class=\"enroll-factor-button\"></div>\\\n </div>\\\n ',\n\n attributes: function attributes() {\n return { 'data-se': this.model.get('factorName') };\n },\n\n children: function children() {\n var children = [],\n enrolled = this.model.get('enrolled'),\n required = this.model.get('required'),\n cardinality = this.model.get('cardinality');\n\n if (this.options.showInlineSetupButton) {\n return [[Okta.createButton({\n className: 'button',\n title: this.getSetupButtonText(),\n click: function click() {\n this.options.appState.trigger('navigate', RouterUtil.createEnrollFactorUrl(this.model.get('provider'), this.model.get('factorType')));\n }\n }), '.enroll-factor-button']];\n } else if (enrolled) {\n children.push(['<span class=\"icon success-16-green\"></span>', '.enroll-factor-label']);\n } else if (required) {\n children.push(['<span class=\"icon success-16-gray\"></span>', '.enroll-factor-label']);\n }\n\n var cardinalityText = FactorUtil.getCardinalityText(enrolled, required, cardinality);\n if (cardinalityText) {\n children.push([cardinalityTextTpl({ cardinalityText: cardinalityText }), '.enroll-factor-description']);\n }\n return children;\n },\n\n minimize: function minimize() {\n this.$el.addClass('enroll-factor-row-min');\n },\n\n maximize: function maximize() {\n this.$el.removeClass('enroll-factor-row-min');\n },\n\n getSetupButtonText: function getSetupButtonText() {\n return this.model.get('additionalEnrollment') ? Okta.loc('enroll.choices.setup.another', 'login') : Okta.loc('enroll.choices.setup', 'login');\n }\n });\n\n return Okta.ListView.extend({\n\n className: 'enroll-factor-list',\n\n item: FactorRow,\n\n itemSelector: '.list-content',\n\n template: '\\\n {{#if listTitle}}\\\n <div class=\"list-title\">{{listTitle}}</div>\\\n {{/if}}\\\n <div class=\"list-content\"></div>\\\n ',\n\n getTemplateData: function getTemplateData() {\n var json = Okta.ListView.prototype.getTemplateData.call(this);\n _.extend(json, this);\n return json;\n },\n\n postRender: function postRender() {\n if (this.options.minimize) {\n this.invoke('minimize');\n }\n }\n\n });\n}).apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\n/***/ }),\n/* 254 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\nvar __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;\n\n/*!\n * Copyright (c) 2015-2016, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n\n!(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(0)], __WEBPACK_AMD_DEFINE_RESULT__ = (function (Okta) {\n\n var _ = Okta._;\n var TextBox = Okta.internal.views.forms.inputs.TextBox;\n\n\n return TextBox.extend({\n\n template: Okta.tpl('\\\n <span class=\"okta-form-label-inline o-form-label-inline\">{{countryCallingCode}}</span>\\\n <span class=\"okta-form-input-field input-fix o-form-control\">\\\n <input type=\"{{type}}\" placeholder=\"{{placeholder}}\" name=\"{{name}}\" \\\n id=\"{{inputId}}\" value=\"{{value}}\" autocomplete=\"off\"/>\\\n </span>\\\n '),\n\n initialize: function initialize() {\n this.listenTo(this.model, 'change:countryCallingCode', function () {\n this.$('.o-form-label-inline').text(this.model.get('countryCallingCode'));\n });\n },\n\n preRender: function preRender() {\n this.options.countryCallingCode = this.model.get('countryCallingCode');\n },\n\n postRender: function postRender() {\n // This is a hack - once inputGroups are done, get rid of it!!\n this.$el.removeClass('input-fix o-form-control');\n _.defer(_.bind(function () {\n this.$el.parent().addClass('o-form-input-group');\n }, this));\n }\n\n });\n}).apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\n/***/ }),\n/* 255 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\nvar __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;\n\n/*!\n * Copyright (c) 2018-2019, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n\n!(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(0), __webpack_require__(2), __webpack_require__(19)], __WEBPACK_AMD_DEFINE_RESULT__ = (function (Okta, FormController, Footer) {\n\n var _ = Okta._;\n var Util = Okta.internal.util.Util;\n\n\n return FormController.extend({\n className: 'enroll-custom-factor',\n Model: {\n local: {\n provider: 'string',\n factorType: 'string'\n },\n save: function save() {\n var _this = this;\n\n return this.manageTransaction(function (transaction, setTransaction) {\n var factor = _.findWhere(transaction.factors, {\n provider: _this.get('provider'),\n factorType: _this.get('factorType')\n });\n return factor.enroll().then(function (trans) {\n setTransaction(trans);\n var url = _this.appState.get('enrollCustomFactorRedirectUrl');\n if (url !== null) {\n Util.redirect(url);\n }\n }).fail(function (err) {\n throw err;\n });\n });\n }\n },\n\n Form: function Form() {\n var factors = this.options.appState.get('factors');\n var factor = factors.findWhere({\n provider: this.options.provider,\n factorType: this.options.factorType\n });\n var vendorName = factor.get('vendorName');\n var subtitle = Okta.loc('enroll.customFactor.subtitle', 'login', [vendorName]);\n var saveText = Okta.loc('enroll.customFactor.save', 'login');\n return {\n autoSave: true,\n title: vendorName,\n subtitle: subtitle,\n save: saveText\n };\n },\n\n trapAuthResponse: function trapAuthResponse() {\n if (this.options.appState.get('isMfaEnrollActivate')) {\n return true;\n }\n },\n\n initialize: function initialize() {\n this.model.set('provider', this.options.provider);\n this.model.set('factorType', this.options.factorType);\n },\n\n Footer: Footer\n\n });\n}).apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\n/***/ }),\n/* 256 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\nvar __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;\n\n/* eslint max-statements: [2, 22], complexity: [2, 12] */\n\n/*!\n * Copyright (c) 2015-2016, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n\n!(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(0), __webpack_require__(17), __webpack_require__(33), __webpack_require__(58), __webpack_require__(13), __webpack_require__(57), __webpack_require__(152)], __WEBPACK_AMD_DEFINE_RESULT__ = (function (Okta, Q, Errors, BrowserFeatures, Util, Logger, config) {\n\n var SharedUtil = Okta.internal.util.Util;\n\n var DEFAULT_LANGUAGE = 'en';\n\n var supportedIdps = ['facebook', 'google', 'linkedin', 'microsoft'],\n supportedResponseTypes = ['token', 'id_token', 'code'],\n oauthRedirectTpl = Okta.tpl('{{origin}}');\n\n var _ = Okta._,\n ConfigError = Errors.ConfigError,\n UnsupportedBrowserError = Errors.UnsupportedBrowserError;\n\n var assetBaseUrlTpl = Okta.tpl('https://ok1static.oktacdn.com/assets/js/sdk/okta-signin-widget/{{version}}');\n\n return Okta.Model.extend({\n\n flat: true,\n authClient: undefined,\n\n local: {\n 'baseUrl': ['string', true],\n 'recoveryToken': ['string', false, undefined],\n 'stateToken': ['string', false, undefined],\n 'username': ['string', false],\n 'signOutLink': ['string', false],\n 'relayState': ['string', false],\n\n // Function to transform the username before passing it to the API\n // for Primary Auth, Forgot Password and Unlock Account.\n 'transformUsername': ['function', false],\n\n // CALLBACKS\n 'globalSuccessFn': 'function',\n 'globalErrorFn': 'function',\n 'processCreds': 'function',\n\n // IMAGES\n 'logo': 'string',\n 'logoText': ['string', false],\n 'helpSupportNumber': 'string',\n\n // FEATURES\n 'features.router': ['boolean', true, false],\n 'features.securityImage': ['boolean', true, false],\n 'features.rememberMe': ['boolean', true, true],\n 'features.autoPush': ['boolean', true, false],\n 'features.smsRecovery': ['boolean', true, false],\n 'features.callRecovery': ['boolean', true, false],\n 'features.emailRecovery': ['boolean', false, true],\n 'features.webauthn': ['boolean', true, false],\n 'features.selfServiceUnlock': ['boolean', true, false],\n 'features.multiOptionalFactorEnroll': ['boolean', true, false],\n 'features.preventBrowserFromSavingOktaPassword': ['boolean', true, true],\n 'features.deviceFingerprinting': ['boolean', false, false],\n 'features.hideSignOutLinkInMFA': ['boolean', false, false],\n 'features.hideBackToSignInForReset': ['boolean', false, false],\n 'features.customExpiredPassword': ['boolean', true, false],\n 'features.registration': ['boolean', false, false],\n 'features.consent': ['boolean', false, false],\n 'features.idpDiscovery': ['boolean', false, false],\n 'features.passwordlessAuth': ['boolean', false, false],\n 'features.showPasswordToggleOnSignInPage': ['boolean', false, false],\n 'features.trackTypingPattern': ['boolean', false, false],\n 'features.redirectByFormSubmit': ['boolean', false, false],\n 'features.useDeviceFingerprintForSecurityImage': ['boolean', false, true],\n 'features.restrictRedirectToForeground': ['boolean', true, false],\n 'features.hideDefaultTip': ['boolean', false, true],\n\n // I18N\n 'language': ['any', false], // Can be a string or a function\n 'i18n': ['object', false],\n\n // ASSETS\n 'assets.baseUrl': ['string', false],\n 'assets.rewrite': {\n type: 'function',\n value: _.identity\n },\n\n // OAUTH2\n 'authScheme': ['string', false, 'OAUTH2'],\n 'authParams.display': {\n type: 'string',\n values: ['none', 'popup', 'page']\n },\n\n // Note: It shouldn't be necessary to override/pass in this property -\n // it will be set correctly depending on what the value of display is\n // and whether we are using Okta or a social IDP.\n 'authParams.responseMode': {\n type: 'string',\n values: ['query', 'fragment', 'form_post', 'okta_post_message']\n },\n\n // Can either be a string or an array, i.e.\n // - Single value: 'id_token', 'token', or 'code'\n // - Multiple values: ['id_token', 'token']\n 'authParams.responseType': ['any', false, 'id_token'],\n 'authParams.scopes': ['array', false],\n\n 'authParams.issuer': ['string', false],\n 'authParams.authorizeUrl': ['string', false],\n 'authParams.state': ['string', false],\n 'authParams.nonce': ['string', false],\n\n 'policyId': 'string',\n 'clientId': 'string',\n 'redirectUri': 'string',\n 'idps': ['array', false, []],\n 'idpDisplay': {\n type: 'string',\n values: ['PRIMARY', 'SECONDARY'],\n value: 'SECONDARY'\n },\n 'oAuthTimeout': ['number', false],\n\n // HELP LINKS\n 'helpLinks.help': 'string',\n 'helpLinks.forgotPassword': 'string',\n 'helpLinks.unlock': 'string',\n 'helpLinks.custom': 'array',\n\n //Custom Buttons\n 'customButtons': ['array', false, []],\n\n //Registration\n 'registration.click': 'function',\n 'registration.parseSchema': 'function',\n 'registration.preSubmit': 'function',\n 'registration.postSubmit': 'function',\n\n //Consent\n 'consent.cancel': 'function',\n\n //IDP Discovery\n 'idpDiscovery.requestContext': 'string',\n\n //Colors\n 'colors.brand': 'string',\n\n //Descriptions\n 'brandName': 'string',\n\n //PIV\n 'piv': ['object', false, {}]\n },\n\n derived: {\n redirectUtilFn: {\n deps: ['features.redirectByFormSubmit'],\n fn: function fn(redirectByFormSubmit) {\n return redirectByFormSubmit ? Util.redirectWithFormGet.bind(Util) : SharedUtil.redirect.bind(SharedUtil);\n },\n cache: true\n },\n supportedLanguages: {\n deps: ['i18n'],\n fn: function fn(i18n) {\n // Developers can pass in their own languages\n return _.union(config.supportedLanguages, _.keys(i18n));\n },\n cache: true\n },\n languageCode: {\n deps: ['language', 'supportedLanguages'],\n fn: function fn(language, supportedLanguages) {\n var userLanguages = BrowserFeatures.getUserLanguages(),\n preferred = _.clone(userLanguages),\n supportedLowerCase = Util.toLower(supportedLanguages),\n expanded;\n\n // Any developer defined \"language\" takes highest priority:\n // As a string, i.e. 'en', 'ja', 'zh-CN'\n if (_.isString(language)) {\n preferred.unshift(language);\n }\n // As a callback function, which is passed the list of supported\n // languages and detected user languages. This function must return\n // a languageCode, i.e. 'en', 'ja', 'zh-CN'\n else if (_.isFunction(language)) {\n preferred.unshift(language(supportedLanguages, userLanguages));\n }\n\n // Add english as the default, and expand to include any language\n // codes that do not include region, dialect, etc.\n preferred.push(DEFAULT_LANGUAGE);\n expanded = Util.toLower(Util.expandLanguages(preferred));\n\n // Perform a case insensitive search - this is necessary in the case\n // of browsers like Safari\n var i, supportedPos;\n for (i = 0; i < expanded.length; i++) {\n supportedPos = supportedLowerCase.indexOf(expanded[i]);\n if (supportedPos > -1) {\n return supportedLanguages[supportedPos];\n }\n }\n }\n },\n oauth2Enabled: {\n deps: ['clientId', 'authScheme', 'authParams.responseType'],\n fn: function fn(clientId, authScheme, responseType) {\n if (!clientId) {\n return false;\n }\n if (authScheme.toLowerCase() !== 'oauth2') {\n return false;\n }\n var responseTypes = _.isArray(responseType) ? responseType : [responseType];\n return _.intersection(responseTypes, supportedResponseTypes).length > 0;\n },\n cache: true\n },\n // Redirect Uri to provide in the oauth API\n oauthRedirectUri: {\n deps: ['redirectUri'],\n fn: function fn(redirectUri) {\n if (redirectUri) {\n return redirectUri;\n }\n\n var origin = window.location.origin;\n // IE8\n if (!origin) {\n var href = window.location.href;\n var path = window.location.pathname;\n if (path !== '') {\n origin = href.substring(0, href.lastIndexOf(path));\n }\n }\n\n return oauthRedirectTpl({\n origin: origin\n });\n }\n },\n // Adjusts the idps passed into the widget based on if they get explicit support\n configuredSocialIdps: {\n deps: ['idps'],\n fn: function fn(idps) {\n return _.map(idps, function (idp) {\n var type = idp.type && idp.type.toLowerCase();\n if (!(type && _.contains(supportedIdps, type))) {\n type = 'general-idp';\n idp.text = idp.text || '{ Please provide a text value }';\n }\n\n idp.className = ['social-auth-button', 'social-auth-' + type + '-button ', idp.className ? idp.className : ''].join(' ');\n idp.dataAttr = 'social-auth-' + type + '-button';\n idp.i18nKey = 'socialauth.' + type + '.label';\n return idp;\n });\n },\n cache: true\n },\n // Can support piv authentication\n hasPivCard: {\n deps: ['piv'],\n fn: function fn(piv) {\n return piv && piv.certAuthUrl;\n },\n cache: true\n },\n // social auth buttons order - 'above'/'below' the primary auth form (boolean)\n socialAuthPositionTop: {\n deps: ['configuredSocialIdps', 'hasPivCard', 'idpDisplay'],\n fn: function fn(configuredSocialIdps, hasPivCard, idpDisplay) {\n return (!_.isEmpty(configuredSocialIdps) || hasPivCard) && idpDisplay.toUpperCase() === 'PRIMARY';\n },\n cache: true\n },\n hasConfiguredButtons: {\n deps: ['configuredSocialIdps', 'customButtons', 'hasPivCard'],\n fn: function fn(configuredSocialIdps, customButtons, hasPivCard) {\n return !_.isEmpty(configuredSocialIdps) || !_.isEmpty(customButtons) || hasPivCard;\n },\n cache: true\n }\n },\n\n initialize: function initialize(options) {\n if (!options.baseUrl) {\n this.callGlobalError(new ConfigError(Okta.loc('error.required.baseUrl')));\n } else if (options.colors && _.isString(options.colors.brand) && !options.colors.brand.match(/^#[0-9A-Fa-f]{6}$/)) {\n this.callGlobalError(new ConfigError(Okta.loc('error.invalid.colors.brand')));\n } else if (BrowserFeatures.corsIsNotSupported()) {\n this.callGlobalError(new UnsupportedBrowserError(Okta.loc('error.unsupported.cors')));\n }\n },\n\n setAcceptLanguageHeader: function setAcceptLanguageHeader(authClient) {\n if (authClient && authClient.options && authClient.options.headers) {\n authClient.options.headers['Accept-Language'] = this.get('languageCode');\n }\n },\n\n setAuthClient: function setAuthClient(authClient) {\n this.setAcceptLanguageHeader(authClient);\n this.authClient = authClient;\n },\n\n getAuthClient: function getAuthClient() {\n return this.authClient;\n },\n\n set: function set() {\n try {\n return Okta.Model.prototype.set.apply(this, arguments);\n } catch (e) {\n var message = e.message ? e.message : e;\n this.callGlobalError(new ConfigError(message));\n }\n },\n\n // Invokes the global success function. This should only be called on a\n // terminal part of the code (i.e. authStatus SUCCESS or after sending\n // a recovery email)\n callGlobalSuccess: function callGlobalSuccess(status, data) {\n // Defer this to ensure that our functions have rendered completely\n // before invoking their function\n var res = _.extend(data, { status: status });\n _.defer(_.partial(this.get('globalSuccessFn'), res));\n },\n\n // Invokes the global error function. This should only be called on non\n // recoverable errors (i.e. configuration errors, browser unsupported\n // errors, etc)\n callGlobalError: function callGlobalError(err) {\n // Note: Must use \"this.options.globalErrorFn\" when they've passed invalid\n // arguments - globalErrorFn will not have been set yet\n var globalErrorFn = this.get('globalErrorFn') || this.options.globalErrorFn;\n if (globalErrorFn) {\n globalErrorFn(err);\n } else {\n // Only throw the error if they have not registered a globalErrorFn\n throw err;\n }\n },\n\n // Get the username by applying the transform function if it exists.\n transformUsername: function transformUsername(username, operation) {\n var transformFn = this.get('transformUsername');\n if (transformFn && _.isFunction(transformFn)) {\n return transformFn(username, operation);\n }\n return username;\n },\n\n processCreds: function processCreds(creds) {\n var processCreds = this.get('processCreds');\n return Q.Promise(function (resolve) {\n if (!_.isFunction(processCreds)) {\n resolve();\n } else if (processCreds.length === 2) {\n processCreds(creds, resolve);\n } else {\n processCreds(creds);\n resolve();\n }\n });\n },\n\n parseSchema: function parseSchema(schema, onSuccess, onFailure) {\n var parseSchema = this.get('registration.parseSchema');\n //check for parseSchema callback\n if (_.isFunction(parseSchema)) {\n parseSchema(schema, function (schema) {\n onSuccess(schema);\n }, function (error) {\n error = error || { 'errorSummary': Okta.loc('registration.default.callbackhook.error') };\n error['callback'] = 'parseSchema';\n onFailure(error);\n });\n } else {\n //no callback\n onSuccess(schema);\n }\n },\n\n preSubmit: function preSubmit(postData, onSuccess, onFailure) {\n var preSubmit = this.get('registration.preSubmit');\n //check for preSubmit callback\n if (_.isFunction(preSubmit)) {\n preSubmit(postData, function (postData) {\n onSuccess(postData);\n }, function (error) {\n error = error || { 'errorSummary': Okta.loc('registration.default.callbackhook.error') };\n error['callback'] = 'preSubmit';\n onFailure(error);\n });\n } else {\n //no callback\n onSuccess(postData);\n }\n },\n\n postSubmit: function postSubmit(response, onSuccess, onFailure) {\n var postSubmit = this.get('registration.postSubmit');\n //check for postSubmit callback\n if (_.isFunction(postSubmit)) {\n postSubmit(response, function (response) {\n onSuccess(response);\n }, function (error) {\n error = error || { 'errorSummary': Okta.loc('registration.default.callbackhook.error') };\n error['callback'] = 'postSubmit';\n onFailure(error);\n });\n } else {\n //no callback\n onSuccess(response);\n }\n },\n\n // Use the parse function to transform config options to the standard\n // settings we currently support. This is a good place to deprecate old\n // option formats.\n parse: function parse(options) {\n // PKCE flow: automatically set responseType to 'code'\n if (options.authParams && options.authParams.pkce) {\n options.authParams.responseType = 'code';\n }\n\n if (options.authParams && options.authParams.scope) {\n Logger.deprecate('Use \"scopes\" instead of \"scope\"');\n options.authParams.scopes = options.authParams.scope;\n delete options.authParams.scope;\n }\n\n if (options.labels || options.country) {\n Logger.deprecate('Use \"i18n\" instead of \"labels\" and \"country\"');\n var overrides = options.labels || {};\n _.each(options.country, function (val, key) {\n overrides['country.' + key] = val;\n });\n // Old behavior is to treat the override as a global override, so we\n // need to add these overrides to each language\n options.i18n = {};\n _.each(config.supportedLanguages, function (language) {\n options.i18n[language] = overrides;\n });\n delete options.labels;\n delete options.country;\n }\n\n // Default the assets.baseUrl to the cdn, or remove any trailing slashes\n if (!options.assets) {\n options.assets = {};\n }\n var abu = options.assets.baseUrl;\n if (!abu) {\n options.assets.baseUrl = assetBaseUrlTpl({ version: config.version });\n } else if (abu[abu.length - 1] === '/') {\n options.assets.baseUrl = abu.substring(0, abu.length - 1);\n }\n\n return options;\n }\n\n });\n}).apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\n/***/ }),\n/* 257 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\nvar __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;\n\n/*!\n * Copyright (c) 2015-2016, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n\n!(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(0), __webpack_require__(123), __webpack_require__(608)], __WEBPACK_AMD_DEFINE_RESULT__ = (function (Okta, Animations, LoadingBeacon) {\n\n var NO_BEACON_CLS = 'no-beacon';\n var LOADING_BEACON_CLS = 'beacon-small beacon-loading';\n\n function isLoadingBeacon(beacon) {\n return beacon && beacon.equals(LoadingBeacon);\n }\n\n function removeBeacon(view) {\n // There are some timing issues with removing beacons (i.e. the case of\n // transitioning from loadingBeacon -> loadingBeacon)\n if (!view.currentBeacon) {\n return;\n }\n view.currentBeacon.remove();\n view.currentBeacon = null;\n }\n\n function addBeacon(view, NextBeacon, selector, options) {\n view.add(NextBeacon, {\n selector: selector,\n options: options\n });\n view.currentBeacon = view.first();\n }\n\n function typeOfTransition(currentBeacon, NextBeacon, options) {\n if (!currentBeacon && !NextBeacon) {\n return 'none';\n }\n // Show Loading beacon\n if (!currentBeacon && options.loading) {\n return 'load';\n }\n // Swap/Hide Loading beacon\n if (currentBeacon && isLoadingBeacon(currentBeacon)) {\n return NextBeacon ? 'swap' : 'unload';\n }\n if (currentBeacon && currentBeacon.equals(NextBeacon, options)) {\n return 'same';\n }\n if (!currentBeacon && NextBeacon) {\n return 'add';\n }\n if (currentBeacon && !NextBeacon) {\n return 'remove';\n }\n if (currentBeacon instanceof NextBeacon) {\n return 'fade';\n }\n // If none of the above\n // then we are changing the type of beacon\n // ex. from SecurityBeacon to FactorBeacon\n return 'swap';\n }\n\n return Okta.View.extend({\n\n currentBeacon: null,\n\n template: '\\\n <div class=\"okta-sign-in-header auth-header\">\\\n {{#if logo}}\\\n <img src=\"{{logo}}\" class=\"auth-org-logo\" alt=\"{{logoText}}\"/>\\\n {{/if}}\\\n <div data-type=\"beacon-container\" class=\"beacon-container\"></div>\\\n </div>\\\n <div class=\"auth-content\"><div class=\"auth-content-inner\"></div></div>\\\n ',\n\n // Attach a 'no-beacon' class if the security image feature\n // is not passed in to prevent the beacon from jumping.\n initialize: function initialize(options) {\n if (!options.settings.get('features.securityImage')) {\n this.$el.addClass(NO_BEACON_CLS);\n // To show/hide the spinner when there is no security image,\n // listen to the appState's loading/removeLoading events.\n this.listenTo(options.appState, 'loading', this.setLoadingBeacon);\n this.listenTo(options.appState, 'removeLoading', this.removeLoadingBeacon);\n }\n },\n\n /* eslint complexity: 0 */\n setBeacon: function setBeacon(NextBeacon, options) {\n var selector = '[data-type=\"beacon-container\"]',\n container = this.$(selector),\n transition = typeOfTransition(this.currentBeacon, NextBeacon, options),\n self = this;\n\n switch (transition) {\n case 'none':\n this.$el.addClass(NO_BEACON_CLS);\n return;\n case 'same':\n return;\n case 'add':\n this.$el.removeClass(NO_BEACON_CLS);\n addBeacon(this, NextBeacon, selector, options);\n return Animations.explode(container);\n case 'remove':\n this.$el.addClass(NO_BEACON_CLS);\n return Animations.implode(container).then(function () {\n removeBeacon(self);\n }).done();\n case 'fade':\n // Other transitions are performed on the beacon container,\n // but this transition is on the content inside the beacon.\n // For a SecurityBeacon the username change will update the\n // AppState and trigger an transition to a new Becon\n // Since there is no url change this method is not called.\n // For a FactorBeacon a page refresh has occurred\n // so we execute the beacon's own transition method.\n if (!this.currentBeacon.fadeOut) {\n throw new Error('The current beacon is missing the \"fadeOut\" method');\n }\n options.animate = true;\n return this.currentBeacon.fadeOut().then(function () {\n removeBeacon(self);\n addBeacon(self, NextBeacon, selector, options);\n }).done();\n case 'swap':\n return Animations.swapBeacons({\n $el: container,\n swap: function swap() {\n var isLoading = isLoadingBeacon(self.currentBeacon);\n // Order of these calls is important for -\n // loader --> security/factor beacon swap.\n removeBeacon(self);\n if (isLoading) {\n container.removeClass(LOADING_BEACON_CLS);\n self.$el.removeClass(NO_BEACON_CLS);\n }\n addBeacon(self, NextBeacon, selector, options);\n }\n }).done();\n case 'load':\n // Show the loading beacon. Add a couple of classes\n // before triggering the add beacon code.\n container.addClass(LOADING_BEACON_CLS);\n addBeacon(self, NextBeacon, selector, options);\n return Animations.explode(container);\n case 'unload':\n // Hide the loading beacon.\n return this.removeLoadingBeacon();\n default:\n throw new Error('the \"' + transition + '\" is not recognized');\n }\n },\n\n // Show the loading beacon when the security image feature is not enabled.\n setLoadingBeacon: function setLoadingBeacon(isLoading) {\n if (!isLoading || isLoadingBeacon(this.currentBeacon)) {\n return;\n }\n this.setBeacon(LoadingBeacon, { loading: true });\n },\n\n // Hide the beacon on primary auth failure. On primary auth success, setBeacon does this job.\n removeLoadingBeacon: function removeLoadingBeacon() {\n var self = this,\n container = this.$('[data-type=\"beacon-container\"]');\n\n return Animations.implode(container).then(function () {\n removeBeacon(self);\n container.removeClass(LOADING_BEACON_CLS);\n }).done();\n },\n\n getTemplateData: function getTemplateData() {\n return this.settings.toJSON({ verbose: true });\n },\n\n getContentEl: function getContentEl() {\n return this.$('.auth-content-inner');\n }\n\n });\n}).apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\n/***/ }),\n/* 258 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\nvar __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;\n\nvar _regenerator = __webpack_require__(248);\n\nvar _regenerator2 = _interopRequireDefault(_regenerator);\n\nvar _asyncToGenerator2 = __webpack_require__(249);\n\nvar _asyncToGenerator3 = _interopRequireDefault(_asyncToGenerator2);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/*!\n * Copyright (c) 2015-2016, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n\n!(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(0), __webpack_require__(123)], __WEBPACK_AMD_DEFINE_RESULT__ = (function (Okta, Animations) {\n var updateSecurityImage = function () {\n var _ref = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee($el, appState, animate) {\n var image, border, hasBorder, hasAntiPhishing, radialProgressBar, host, duration;\n return _regenerator2.default.wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n image = $el.find('.auth-beacon-security'), border = $el.find('.js-auth-beacon-border'), hasBorder = !appState.get('isUndefinedUser'), hasAntiPhishing = appState.get('isNewUser'), radialProgressBar = $el.find('.radial-progress-bar'), host = appState.get('baseUrl').match(/https?:\\/\\/(.[^/]+)/)[1], duration = 200;\n\n if (animate) {\n _context.next = 5;\n break;\n }\n\n // Do not animate the security beacon\n // This occurs when initializing the form\n setBackgroundImage(image, appState);\n border.toggleClass('auth-beacon-border', hasBorder);\n return _context.abrupt('return');\n\n case 5:\n\n destroyAntiPhishingMessage(image);\n\n // Animate loading the security beacon\n\n if (hasBorder) {\n _context.next = 10;\n break;\n }\n\n // This occurrs when appState username is blank\n // we do not yet know if the user is recognized\n image.fadeOut(duration, function () {\n setBackgroundImage(image, appState);\n border.removeClass('auth-beacon-border');\n image.fadeIn(duration);\n });\n _context.next = 15;\n break;\n\n case 10:\n // Animate loading the security beacon with a loading bar for the border\n // This occurrs when the username has been checked against Okta.\n border.removeClass('auth-beacon-border');\n _context.next = 13;\n return Animations.radialProgressBar({\n $el: radialProgressBar,\n swap: function swap() {\n image.fadeOut(duration, function () {\n setBackgroundImage(image, appState);\n image.fadeIn(duration);\n });\n }\n });\n\n case 13:\n border.addClass('auth-beacon-border');\n if (hasAntiPhishing) {\n antiPhishingMessage(image, host);\n }\n\n case 15:\n case 'end':\n return _context.stop();\n }\n }\n }, _callee, this);\n }));\n\n return function updateSecurityImage(_x, _x2, _x3) {\n return _ref.apply(this, arguments);\n };\n }();\n\n var _ = Okta._,\n $ = Okta.$;\n\n function setBackgroundImage(el, appState) {\n // NOTE: The imgSrc is returned by the server so that every\n // user has a unique image. However new and undefined user states\n // are hard coded into the css and the value returned by the server\n // is ignored.\n var imgSrc = appState.get('securityImage'),\n imgDescription = appState.get('securityImageDescription'),\n isUndefinedUser = appState.get('isUndefinedUser'),\n isNewUser = appState.get('isNewUser'),\n isSecurityImage = !isUndefinedUser && !isNewUser;\n\n el.css('background-image', '');\n el.removeClass('new-user undefined-user');\n if (isNewUser) {\n el.addClass('new-user');\n return;\n }\n if (isUndefinedUser) {\n el.addClass('undefined-user');\n return;\n }\n if (isSecurityImage) {\n // TODO: Newer versions of qtip will remove aria-describedby on their own when destroy() is called.\n el.removeAttr('aria-describedby');\n el.find('.accessibility-text').text(imgDescription);\n el.css('background-image', 'url(' + _.escape(imgSrc) + ')');\n return;\n }\n }\n\n function antiPhishingMessage(image, host) {\n $(window).on('resize.securityBeaconQtip', _.debounce(function () {\n if (image.is(':visible')) {\n image.qtip('show');\n }\n }, 300));\n\n // Show the message that the user has not logged in from this device before.\n image.qtip({\n prerender: true,\n content: {\n text: Okta.loc('primaryauth.newUser.tooltip', 'login', [_.escape(host)]),\n button: Okta.loc('primaryauth.newUser.tooltip.close', 'login')\n },\n style: {\n classes: 'okta-security-image-tooltip security-image-qtip qtip-custom qtip-shadow qtip-rounded',\n tip: { height: 12, width: 16 }\n },\n position: {\n my: 'top center',\n at: 'center',\n target: $('.auth-beacon-security'),\n adjust: { method: 'flip', scroll: false, resize: true },\n effect: false\n },\n hide: { event: false, fixed: true },\n show: { event: false, delay: 200 },\n events: {\n move: function move(event, api) {\n if (!api.elements.target.is(':visible')) {\n // Have to hide it immediately, with no effect\n api.set('hide.effect', false);\n api.hide();\n api.set('hide.effect', true);\n }\n }\n }\n });\n\n image.qtip('toggle', image.is(':visible'));\n }\n\n function destroyAntiPhishingMessage(image) {\n image.qtip('destroy');\n $(window).off('resize.securityBeaconQtip');\n }\n\n return Okta.View.extend({\n\n template: '\\\n <div class=\"beacon-blank\">\\\n <div class=\"radial-progress-bar\">\\\n <div class=\"circle left\"></div>\\\n <div class=\"circle right\"></div>\\\n </div>\\\n </div>\\\n <div aria-live=\"polite\" role=\"img\" class=\"bg-helper auth-beacon auth-beacon-security\" data-se=\"security-beacon\">\\\n <span class=\"accessibility-text\"></span>\\\n <div class=\"okta-sign-in-beacon-border auth-beacon-border js-auth-beacon-border\">\\\n </div>\\\n </div>\\\n ',\n className: 'js-security-beacon',\n\n initialize: function initialize(options) {\n this.update = _.partial(updateSecurityImage, this.$el, options.appState);\n this.listenTo(options.appState, 'change:securityImage', this.update);\n this.listenTo(options.appState, 'loading', function (isLoading) {\n this.$el.toggleClass('beacon-loading', isLoading);\n this.removeAntiPhishingMessage();\n });\n this.options.appState.set('beaconType', 'security');\n\n this.listenTo(options.appState, 'navigate', this.removeAntiPhishingMessage);\n },\n\n postRender: function postRender() {\n this.update(false);\n },\n\n equals: function equals(Beacon) {\n return Beacon && this instanceof Beacon;\n },\n\n removeAntiPhishingMessage: function removeAntiPhishingMessage() {\n var image = this.$el.find('.auth-beacon-security');\n image.qtip('destroy');\n }\n\n });\n}).apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\n/***/ }),\n/* 259 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\nvar __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;\n\n/*!\n * Copyright (c) 2015-2016, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n\n!(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(0), __webpack_require__(6)], __WEBPACK_AMD_DEFINE_RESULT__ = (function (Okta, Enums) {\n var CAN_REMOVE_BEACON_CLS = 'can-remove-beacon';\n return Okta.View.extend({\n className: 'auth-container main-container',\n id: Enums.WIDGET_CONTAINER_ID,\n attributes: { 'data-se': 'auth-container' },\n initialize: function initialize(options) {\n this.listenTo(options.appState, 'change:beaconType', function (model, type) {\n this.$el.toggleClass(CAN_REMOVE_BEACON_CLS, type === 'security');\n });\n }\n });\n}).apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\n/***/ }),\n/* 260 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\nvar __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;\n\n/*!\n * Copyright (c) 2018-Present, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n\n!(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(6)], __WEBPACK_AMD_DEFINE_RESULT__ = (function (Enums) {\n var fn = {};\n\n var template = function template(colors) {\n return '\\n#okta-sign-in.auth-container .button-primary,\\n#okta-sign-in.auth-container .button-primary:active,\\n#okta-sign-in.auth-container .button-primary:focus { background: ' + colors.brand + '; }\\n#okta-sign-in.auth-container .button-primary:hover { background: ' + fn.lighten(colors.brand, 0.05) + '; }\\n#okta-sign-in.auth-container .button.button-primary.link-button-disabled {\\n background: ' + colors.brand + ';\\n opacity: 0.5;\\n}\\n ';\n };\n\n // visible for testing\n fn.lighten = function (hex, lum) {\n lum = lum || 0;\n hex = hex.substr(1);\n var newHex = '#';\n for (var i = 0; i < 3; i++) {\n var c = parseInt(hex.substr(i * 2, 2), 16);\n c = Math.round(Math.min(Math.max(0, c + c * lum), 255)).toString(16);\n newHex += ('00' + c).substr(c.length);\n }\n return newHex;\n };\n\n fn.addStyle = function (colors) {\n var css = template(colors);\n var main = document.getElementById(Enums.WIDGET_CONTAINER_ID);\n var style = document.createElement('style');\n\n style.id = Enums.WIDGET_CONFIG_COLORS_ID;\n style.type = 'text/css';\n style.appendChild(document.createTextNode(css));\n\n main.appendChild(style);\n };\n\n fn.isLoaded = function () {\n return !!document.getElementById(Enums.WIDGET_CONFIG_COLORS_ID);\n };\n\n return fn;\n}).apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\n/***/ }),\n/* 261 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\nvar __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;\n\n/*!\n * Copyright (c) 2015-2016, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n\n!(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(0), __webpack_require__(18), __webpack_require__(4), __webpack_require__(13), __webpack_require__(14)], __WEBPACK_AMD_DEFINE_RESULT__ = (function (Okta, FactorUtil, FormType, Util, TextBox) {\n\n var _ = Okta._;\n\n var form = {\n title: function title() {\n var factorName = FactorUtil.getFactorLabel(this.model.get('__provider__'), this.model.get('__factorType__'));\n return Okta.loc('enroll.totp.title', 'login', [factorName]);\n },\n subtitle: _.partial(Okta.loc, 'enroll.totp.enterCode', 'login'),\n autoSave: true,\n noButtonBar: true,\n attributes: { 'data-se': 'step-sendcode' },\n\n formChildren: function formChildren() {\n return [FormType.Input({\n label: Okta.loc('mfa.challenge.enterCode.placeholder', 'login'),\n 'label-top': true,\n explain: Util.createInputExplain('mfa.challenge.enterCode.tooltip', 'mfa.challenge.enterCode.placeholder', 'login'),\n 'explain-top': true,\n name: 'passCode',\n input: TextBox,\n type: 'tel'\n }), FormType.Toolbar({\n noCancelButton: true,\n save: Okta.loc('oform.verify', 'login')\n })];\n }\n };\n\n return form;\n}).apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\n/***/ }),\n/* 262 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\nvar __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;\n\n/*!\n * Copyright (c) 2017, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n\n!(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(0), __webpack_require__(6)], __WEBPACK_AMD_DEFINE_RESULT__ = (function (Okta, Enums) {\n var Util = Okta.internal.util.Util;\n\n\n return Okta.View.extend({\n template: '\\\n {{#if passwordWarn}}\\\n <a href=\"#\" class=\"link help js-skip\" data-se=\"skip-link\">\\\n {{i18n code=\"password.expiring.later\" bundle=\"login\"}}\\\n </a>\\\n {{/if}}\\\n <a href=\"#\" class=\"link help goto js-signout\" data-se=\"signout-link\">{{i18n code=\"signout\" bundle=\"login\"}}</a>\\\n ',\n className: 'auth-footer clearfix',\n events: {\n 'click .js-signout': function clickJsSignout(e) {\n e.preventDefault();\n var self = this;\n this.model.doTransaction(function (transaction) {\n return transaction.cancel();\n }).then(function () {\n if (self.settings.get('signOutLink')) {\n Util.redirect(self.settings.get('signOutLink'));\n } else {\n self.state.set('navigateDir', Enums.DIRECTION_BACK);\n self.options.appState.trigger('navigate', '');\n }\n });\n },\n 'click .js-skip': function clickJsSkip(e) {\n e.preventDefault();\n this.model.doTransaction(function (transaction) {\n return transaction.skip();\n });\n }\n },\n getTemplateData: function getTemplateData() {\n return { passwordWarn: this.options.appState.get('isPwdExpiringSoon') };\n }\n });\n}).apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\n/***/ }),\n/* 263 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\nvar __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;\n\n/*!\n * Copyright (c) 2015-2016, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n\n!(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(0)], __WEBPACK_AMD_DEFINE_RESULT__ = (function (Okta) {\n\n return Okta.View.extend({\n template: '\\\n <div class=\"infobox\">\\\n <span class=\"icon info-16\"></span>\\\n <p>{{i18n code=\"contact.support\" bundle=\"login\" arguments=\"helpSupportNumber\"}}</p>\\\n </div>',\n className: 'contact-support',\n\n getTemplateData: function getTemplateData() {\n return this.settings.pick('helpSupportNumber');\n }\n });\n}).apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\n/***/ }),\n/* 264 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\nvar __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;\n\n/* eslint max-statements: [2, 23], max-depth: [2, 3], complexity: [2, 13] */\n/*!\n * Copyright (c) 2017, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n\n!(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(0), __webpack_require__(14)], __WEBPACK_AMD_DEFINE_RESULT__ = (function (Okta, TextBox) {\n\n var _ = Okta._;\n var SchemaFormFactory = Okta.internal.views.forms.helpers.SchemaFormFactory;\n\n\n var getParts = function getParts(username) {\n var usernameArr = username.split('');\n var minPartsLength = 3;\n var userNameParts = [];\n var delimiters = [',', '.', '-', '_', '#', '@'];\n var userNamePart = '';\n\n _.each(usernameArr, function (part) {\n if (delimiters.indexOf(part) === -1) {\n userNamePart += part;\n } else {\n if (userNamePart.length >= minPartsLength) {\n userNameParts.push(_.clone(userNamePart));\n }\n userNamePart = '';\n }\n });\n if (userNamePart.length >= minPartsLength) {\n userNameParts.push(_.clone(userNamePart));\n }\n return userNameParts.filter(Boolean);\n };\n\n var passwordContainsFormField = function passwordContainsFormField(formField, password) {\n if (!formField) {\n return false;\n }\n formField = formField.toLowerCase();\n password = password.toLowerCase();\n var formFieldArr = getParts(formField);\n //check if each formField part contains password\n for (var i = 0; i < formFieldArr.length; i++) {\n var formFieldPart = formFieldArr[i];\n if (password.indexOf(formFieldPart) !== -1) {\n return true;\n }\n }\n return false;\n };\n\n var checkSubSchema = function checkSubSchema(subSchema, value, model) {\n var minLength = subSchema.get('minLength');\n var maxLength = subSchema.get('maxLength');\n var regex = subSchema.get('format');\n\n if (_.isNumber(minLength)) {\n if (value.length < minLength) {\n return false;\n }\n }\n\n if (_.isNumber(maxLength)) {\n if (value.length > maxLength) {\n return false;\n }\n }\n var password = value;\n if (_.isString(regex)) {\n // call passwordContainsFormField if regex is userName, firstName, lastName\n if (regex === '^[#/userName]' || regex === '^[#/firstName]' || regex === '^[#/lastName]') {\n var fieldName = regex.split('^[#/')[1].split(']')[0];\n var fieldValue = model.get(fieldName);\n if (fieldName === 'userName') {\n // with email as login enabled, we only have email populated\n // Therefore we fallback and run validation with email attribute.\n fieldValue = model.has('userName') ? model.get('userName') : model.get('email');\n }\n return !passwordContainsFormField(fieldValue, password);\n } else {\n if (!new RegExp(regex).test(value)) {\n return false;\n }\n }\n }\n\n return true;\n };\n\n var checkSubSchemas = function checkSubSchemas(fieldName, model, subSchemas, showError) {\n var value = model.get(fieldName);\n if (!_.isString(value)) {\n return;\n }\n\n subSchemas.each(function (subSchema, index) {\n var ele = Okta.$('#subschemas-' + fieldName + ' .subschema-' + index);\n //hide password complexity if no password\n if (value) {\n ele.children('p').removeClass('default-schema');\n } else {\n ele.children('p').addClass('default-schema');\n }\n ele.removeClass('subschema-satisfied subschema-unsatisfied subschema-error');\n if (checkSubSchema(subSchema, value, model)) {\n ele.addClass('subschema-satisfied');\n ele.find('p span').removeClass('error error-16-small');\n ele.find('p span').addClass('confirm-16');\n } else {\n if (showError) {\n ele.find('p span').removeClass('confirm-16');\n ele.find('p span').addClass('error error-16-small');\n ele.addClass('subschema-error subschema-unsatisfied');\n }\n }\n });\n };\n\n var fnCreateInputOptions = function fnCreateInputOptions(schemaProperty) {\n var inputOptions = SchemaFormFactory.createInputOptions(schemaProperty);\n if (inputOptions.type === 'select') {\n inputOptions = _.extend(inputOptions, {\n label: schemaProperty.get('title')\n });\n } else {\n var placeholder = schemaProperty.get('title');\n if (schemaProperty.get('required')) {\n placeholder += ' *';\n }\n inputOptions = _.extend(inputOptions, {\n label: false,\n 'label-top': true,\n placeholder: placeholder\n });\n }\n\n var fieldName = schemaProperty.get('name');\n switch (fieldName) {\n case 'userName':\n inputOptions.input = TextBox;\n inputOptions.params = {\n 'icon': 'person-16-gray'\n };\n break;\n case 'password':\n inputOptions.type = 'password';\n inputOptions.input = TextBox;\n inputOptions.params = {\n 'icon': 'remote-lock-16'\n };\n }\n\n var subSchemas = schemaProperty.get('subSchemas');\n if (subSchemas) {\n inputOptions.events = {\n 'input': function input() {\n checkSubSchemas(fieldName, this.model, subSchemas, true);\n },\n 'focusout': function focusout() {\n checkSubSchemas(fieldName, this.model, subSchemas, true);\n },\n 'change:userName': function changeUserName() {\n checkSubSchemas(fieldName, this.model, subSchemas, true);\n },\n 'change:firstName': function changeFirstName() {\n checkSubSchemas(fieldName, this.model, subSchemas, true);\n },\n 'change:lastName': function changeLastName() {\n checkSubSchemas(fieldName, this.model, subSchemas, true);\n },\n 'change:email': function changeEmail() {\n checkSubSchemas(fieldName, this.model, subSchemas, true);\n }\n };\n }\n\n return inputOptions;\n };\n\n return {\n createInputOptions: fnCreateInputOptions,\n getUsernameParts: getParts,\n passwordContainsFormField: passwordContainsFormField\n };\n}).apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\n/***/ }),\n/* 265 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _okta = __webpack_require__(0);\n\nvar factorData = {\n 'email': {\n label: (0, _okta.loc)('factor.email', 'login'),\n description: '',\n iconClassName: 'mfa-okta-email'\n },\n\n 'password': {\n label: (0, _okta.loc)('factor.password', 'login'),\n description: '',\n iconClassName: 'mfa-okta-password'\n },\n\n 'webauthn': {\n label: (0, _okta.loc)('factor.webauthn', 'login'),\n description: '',\n iconClassName: 'mfa-webauthn'\n }\n}; /*!\n * Copyright (c) 2019, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n\n\nvar getFactorData = function getFactorData(factorName) {\n return factorData[factorName];\n};\n\nmodule.exports = {\n getFactorData: getFactorData\n};\n\n/***/ }),\n/* 266 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _okta = __webpack_require__(0);\n\nvar _HeaderBeacon = __webpack_require__(267);\n\nvar _HeaderBeacon2 = _interopRequireDefault(_HeaderBeacon);\n\nvar _Animations = __webpack_require__(123);\n\nvar _Animations2 = _interopRequireDefault(_Animations);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = _okta.View.extend({\n HeaderBeacon: _HeaderBeacon2.default,\n\n initialize: function initialize() {\n // add beacon\n this.add(this.HeaderBeacon);\n },\n postRender: function postRender() {\n (0, _okta.$)('#okta-sign-in').removeClass('no-beacon');\n\n // animate beacon\n var selector = '[data-type=\"beacon-container\"]',\n container = this.$el.find(selector);\n _Animations2.default.explode(container);\n }\n});\n\n/***/ }),\n/* 267 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _okta = __webpack_require__(0);\n\nvar BeaconView = _okta.View.extend({\n\n template: '\\\n <div data-type=\"beacon-container\" class=\"beacon-container\">\\\n <div class=\"beacon-blank auth-beacon\">\\\n <div class=\"beacon-blank js-blank-beacon-border auth-beacon-border\"></div>\\\n </div>\\\n <div class=\"bg-helper auth-beacon auth-beacon-factor {{className}}\" data-se=\"factor-beacon\">\\\n <div class=\"okta-sign-in-beacon-border auth-beacon-border\"></div>\\\n </div>\\\n <div data-type=\"factor-types-dropdown\" class=\"factors-dropdown-wrap\"></div>\\\n </div >\\\n ',\n\n getTemplateData: function getTemplateData() {\n return { className: this.getBeaconClassName() || '' };\n },\n getBeaconClassName: function getBeaconClassName() {\n return 'undefined-user';\n }\n}); /*!\n * Copyright (c) 2019, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n\n\nmodule.exports = BeaconView;\n\n/***/ }),\n/* 268 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _okta = __webpack_require__(0);\n\nexports.default = {\n startPolling: function startPolling() {\n var _this = this;\n\n var factor = this.options.appState.get('factor');\n var factorPollingInterval = factor && factor.poll && factor.poll.refresh;\n if (_okta._.isNumber(factorPollingInterval)) {\n this.polling = setInterval(function () {\n _this.options.appState.trigger('invokeAction', 'factor-poll');\n }, factorPollingInterval);\n }\n },\n\n\n // currently only device remediation gets polling info from remediation\n // TODO: OKTA-278849 combine startDevicePolling and startPolling\n startDevicePolling: function startDevicePolling() {\n var _this2 = this;\n\n var pollingInterval = this.options.appState.getCurrentViewState().refresh;\n if (_okta._.isNumber(pollingInterval)) {\n this.polling = setInterval(function () {\n _this2.options.appState.trigger('saveForm', _this2.model);\n }, pollingInterval);\n }\n },\n stopPolling: function stopPolling() {\n if (this.polling) {\n clearInterval(this.polling);\n }\n }\n};\n\n/***/ }),\n/* 269 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _BaseView = __webpack_require__(40);\n\nvar _BaseView2 = _interopRequireDefault(_BaseView);\n\nvar _BaseForm = __webpack_require__(28);\n\nvar _BaseForm2 = _interopRequireDefault(_BaseForm);\n\nvar _BaseFooter = __webpack_require__(59);\n\nvar _BaseFooter2 = _interopRequireDefault(_BaseFooter);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar Body = _BaseForm2.default.extend({\n title: function title() {\n var msg = this.options.appState.get('terminal').message || {};\n return msg.message || 'You can close this window';\n },\n\n noButtonBar: true,\n postRender: function postRender() {\n _BaseForm2.default.prototype.postRender.apply(this, arguments);\n this.$el.addClass('terminal-state');\n }\n});\n\nvar Footer = _BaseFooter2.default.extend({\n links: function links() {\n return [{\n 'type': 'link',\n 'label': 'Back to sign in',\n 'name': 'back',\n 'href': '/'\n }];\n }\n});\n\nexports.default = _BaseView2.default.extend({\n Body: Body,\n Footer: Footer\n});\n\n/***/ }),\n/* 270 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = {\n title: function title() {\n return 'Email link (' + this.options.appState.get('factorProfile').email + ')';\n }\n};\n\n/***/ }),\n/* 271 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _BaseFactorView = __webpack_require__(99);\n\nvar _BaseFactorView2 = _interopRequireDefault(_BaseFactorView);\n\nvar _TerminalView = __webpack_require__(269);\n\nvar _TerminalView2 = _interopRequireDefault(_TerminalView);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = _BaseFactorView2.default.extend({\n Body: _TerminalView2.default.prototype.Body,\n Footer: _TerminalView2.default.prototype.Footer\n});\n\n/***/ }),\n/* 272 */\n/***/ (function(module, exports, __webpack_require__) {\n\n__webpack_require__(273);\nmodule.exports = __webpack_require__(475);\n\n\n/***/ }),\n/* 273 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/* WEBPACK VAR INJECTION */(function(global) {\n\n__webpack_require__(274);\n\n__webpack_require__(471);\n\n__webpack_require__(472);\n\nif (global._babelPolyfill) {\n throw new Error(\"only one instance of babel-polyfill is allowed\");\n}\nglobal._babelPolyfill = true;\n\nvar DEFINE_PROPERTY = \"defineProperty\";\nfunction define(O, key, value) {\n O[key] || Object[DEFINE_PROPERTY](O, key, {\n writable: true,\n configurable: true,\n value: value\n });\n}\n\ndefine(String.prototype, \"padLeft\", \"\".padStart);\ndefine(String.prototype, \"padRight\", \"\".padEnd);\n\n\"pop,reverse,shift,keys,values,entries,indexOf,every,some,forEach,map,filter,find,findIndex,includes,join,slice,concat,push,splice,unshift,sort,lastIndexOf,reduce,reduceRight,copyWithin,fill\".split(\",\").forEach(function (key) {\n [][key] && define(Array, key, Function.call.bind([][key]));\n});\n/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(100)))\n\n/***/ }),\n/* 274 */\n/***/ (function(module, exports, __webpack_require__) {\n\n__webpack_require__(275);\n__webpack_require__(278);\n__webpack_require__(279);\n__webpack_require__(280);\n__webpack_require__(281);\n__webpack_require__(282);\n__webpack_require__(283);\n__webpack_require__(284);\n__webpack_require__(285);\n__webpack_require__(286);\n__webpack_require__(287);\n__webpack_require__(288);\n__webpack_require__(289);\n__webpack_require__(290);\n__webpack_require__(291);\n__webpack_require__(292);\n__webpack_require__(293);\n__webpack_require__(294);\n__webpack_require__(295);\n__webpack_require__(296);\n__webpack_require__(297);\n__webpack_require__(298);\n__webpack_require__(299);\n__webpack_require__(300);\n__webpack_require__(301);\n__webpack_require__(302);\n__webpack_require__(303);\n__webpack_require__(304);\n__webpack_require__(305);\n__webpack_require__(306);\n__webpack_require__(307);\n__webpack_require__(308);\n__webpack_require__(309);\n__webpack_require__(310);\n__webpack_require__(311);\n__webpack_require__(312);\n__webpack_require__(313);\n__webpack_require__(314);\n__webpack_require__(315);\n__webpack_require__(316);\n__webpack_require__(317);\n__webpack_require__(318);\n__webpack_require__(319);\n__webpack_require__(320);\n__webpack_require__(321);\n__webpack_require__(322);\n__webpack_require__(323);\n__webpack_require__(324);\n__webpack_require__(325);\n__webpack_require__(326);\n__webpack_require__(327);\n__webpack_require__(328);\n__webpack_require__(329);\n__webpack_require__(330);\n__webpack_require__(331);\n__webpack_require__(332);\n__webpack_require__(333);\n__webpack_require__(334);\n__webpack_require__(335);\n__webpack_require__(336);\n__webpack_require__(337);\n__webpack_require__(338);\n__webpack_require__(339);\n__webpack_require__(340);\n__webpack_require__(341);\n__webpack_require__(342);\n__webpack_require__(343);\n__webpack_require__(344);\n__webpack_require__(345);\n__webpack_require__(346);\n__webpack_require__(347);\n__webpack_require__(348);\n__webpack_require__(349);\n__webpack_require__(350);\n__webpack_require__(351);\n__webpack_require__(352);\n__webpack_require__(353);\n__webpack_require__(355);\n__webpack_require__(356);\n__webpack_require__(358);\n__webpack_require__(359);\n__webpack_require__(360);\n__webpack_require__(361);\n__webpack_require__(362);\n__webpack_require__(363);\n__webpack_require__(364);\n__webpack_require__(366);\n__webpack_require__(367);\n__webpack_require__(368);\n__webpack_require__(369);\n__webpack_require__(370);\n__webpack_require__(371);\n__webpack_require__(372);\n__webpack_require__(373);\n__webpack_require__(374);\n__webpack_require__(375);\n__webpack_require__(376);\n__webpack_require__(377);\n__webpack_require__(378);\n__webpack_require__(144);\n__webpack_require__(379);\n__webpack_require__(202);\n__webpack_require__(380);\n__webpack_require__(203);\n__webpack_require__(381);\n__webpack_require__(382);\n__webpack_require__(383);\n__webpack_require__(384);\n__webpack_require__(385);\n__webpack_require__(206);\n__webpack_require__(208);\n__webpack_require__(209);\n__webpack_require__(386);\n__webpack_require__(387);\n__webpack_require__(388);\n__webpack_require__(389);\n__webpack_require__(390);\n__webpack_require__(391);\n__webpack_require__(392);\n__webpack_require__(393);\n__webpack_require__(394);\n__webpack_require__(395);\n__webpack_require__(396);\n__webpack_require__(397);\n__webpack_require__(398);\n__webpack_require__(399);\n__webpack_require__(400);\n__webpack_require__(401);\n__webpack_require__(402);\n__webpack_require__(403);\n__webpack_require__(404);\n__webpack_require__(405);\n__webpack_require__(406);\n__webpack_require__(407);\n__webpack_require__(408);\n__webpack_require__(409);\n__webpack_require__(410);\n__webpack_require__(411);\n__webpack_require__(412);\n__webpack_require__(413);\n__webpack_require__(414);\n__webpack_require__(415);\n__webpack_require__(416);\n__webpack_require__(417);\n__webpack_require__(418);\n__webpack_require__(419);\n__webpack_require__(420);\n__webpack_require__(421);\n__webpack_require__(422);\n__webpack_require__(423);\n__webpack_require__(424);\n__webpack_require__(425);\n__webpack_require__(426);\n__webpack_require__(427);\n__webpack_require__(428);\n__webpack_require__(429);\n__webpack_require__(430);\n__webpack_require__(431);\n__webpack_require__(432);\n__webpack_require__(433);\n__webpack_require__(434);\n__webpack_require__(435);\n__webpack_require__(436);\n__webpack_require__(437);\n__webpack_require__(438);\n__webpack_require__(439);\n__webpack_require__(440);\n__webpack_require__(441);\n__webpack_require__(442);\n__webpack_require__(443);\n__webpack_require__(444);\n__webpack_require__(445);\n__webpack_require__(446);\n__webpack_require__(447);\n__webpack_require__(448);\n__webpack_require__(449);\n__webpack_require__(450);\n__webpack_require__(451);\n__webpack_require__(452);\n__webpack_require__(453);\n__webpack_require__(454);\n__webpack_require__(455);\n__webpack_require__(456);\n__webpack_require__(457);\n__webpack_require__(458);\n__webpack_require__(459);\n__webpack_require__(460);\n__webpack_require__(461);\n__webpack_require__(462);\n__webpack_require__(463);\n__webpack_require__(464);\n__webpack_require__(465);\n__webpack_require__(466);\n__webpack_require__(467);\n__webpack_require__(468);\n__webpack_require__(469);\n__webpack_require__(470);\nmodule.exports = __webpack_require__(34);\n\n\n/***/ }),\n/* 275 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n// ECMAScript 6 symbols shim\nvar global = __webpack_require__(5);\nvar has = __webpack_require__(29);\nvar DESCRIPTORS = __webpack_require__(12);\nvar $export = __webpack_require__(1);\nvar redefine = __webpack_require__(26);\nvar META = __webpack_require__(54).KEY;\nvar $fails = __webpack_require__(7);\nvar shared = __webpack_require__(84);\nvar setToStringTag = __webpack_require__(73);\nvar uid = __webpack_require__(61);\nvar wks = __webpack_require__(10);\nvar wksExt = __webpack_require__(184);\nvar wksDefine = __webpack_require__(125);\nvar enumKeys = __webpack_require__(277);\nvar isArray = __webpack_require__(103);\nvar anObject = __webpack_require__(3);\nvar isObject = __webpack_require__(8);\nvar toObject = __webpack_require__(16);\nvar toIObject = __webpack_require__(30);\nvar toPrimitive = __webpack_require__(41);\nvar createDesc = __webpack_require__(60);\nvar _create = __webpack_require__(64);\nvar gOPNExt = __webpack_require__(187);\nvar $GOPD = __webpack_require__(31);\nvar $GOPS = __webpack_require__(102);\nvar $DP = __webpack_require__(15);\nvar $keys = __webpack_require__(62);\nvar gOPD = $GOPD.f;\nvar dP = $DP.f;\nvar gOPN = gOPNExt.f;\nvar $Symbol = global.Symbol;\nvar $JSON = global.JSON;\nvar _stringify = $JSON && $JSON.stringify;\nvar PROTOTYPE = 'prototype';\nvar HIDDEN = wks('_hidden');\nvar TO_PRIMITIVE = wks('toPrimitive');\nvar isEnum = {}.propertyIsEnumerable;\nvar SymbolRegistry = shared('symbol-registry');\nvar AllSymbols = shared('symbols');\nvar OPSymbols = shared('op-symbols');\nvar ObjectProto = Object[PROTOTYPE];\nvar USE_NATIVE = typeof $Symbol == 'function' && !!$GOPS.f;\nvar QObject = global.QObject;\n// Don't use setters in Qt Script, https://github.com/zloirock/core-js/issues/173\nvar setter = !QObject || !QObject[PROTOTYPE] || !QObject[PROTOTYPE].findChild;\n\n// fallback for old Android, https://code.google.com/p/v8/issues/detail?id=687\nvar setSymbolDesc = DESCRIPTORS && $fails(function () {\n return _create(dP({}, 'a', {\n get: function () { return dP(this, 'a', { value: 7 }).a; }\n })).a != 7;\n}) ? function (it, key, D) {\n var protoDesc = gOPD(ObjectProto, key);\n if (protoDesc) delete ObjectProto[key];\n dP(it, key, D);\n if (protoDesc && it !== ObjectProto) dP(ObjectProto, key, protoDesc);\n} : dP;\n\nvar wrap = function (tag) {\n var sym = AllSymbols[tag] = _create($Symbol[PROTOTYPE]);\n sym._k = tag;\n return sym;\n};\n\nvar isSymbol = USE_NATIVE && typeof $Symbol.iterator == 'symbol' ? function (it) {\n return typeof it == 'symbol';\n} : function (it) {\n return it instanceof $Symbol;\n};\n\nvar $defineProperty = function defineProperty(it, key, D) {\n if (it === ObjectProto) $defineProperty(OPSymbols, key, D);\n anObject(it);\n key = toPrimitive(key, true);\n anObject(D);\n if (has(AllSymbols, key)) {\n if (!D.enumerable) {\n if (!has(it, HIDDEN)) dP(it, HIDDEN, createDesc(1, {}));\n it[HIDDEN][key] = true;\n } else {\n if (has(it, HIDDEN) && it[HIDDEN][key]) it[HIDDEN][key] = false;\n D = _create(D, { enumerable: createDesc(0, false) });\n } return setSymbolDesc(it, key, D);\n } return dP(it, key, D);\n};\nvar $defineProperties = function defineProperties(it, P) {\n anObject(it);\n var keys = enumKeys(P = toIObject(P));\n var i = 0;\n var l = keys.length;\n var key;\n while (l > i) $defineProperty(it, key = keys[i++], P[key]);\n return it;\n};\nvar $create = function create(it, P) {\n return P === undefined ? _create(it) : $defineProperties(_create(it), P);\n};\nvar $propertyIsEnumerable = function propertyIsEnumerable(key) {\n var E = isEnum.call(this, key = toPrimitive(key, true));\n if (this === ObjectProto && has(AllSymbols, key) && !has(OPSymbols, key)) return false;\n return E || !has(this, key) || !has(AllSymbols, key) || has(this, HIDDEN) && this[HIDDEN][key] ? E : true;\n};\nvar $getOwnPropertyDescriptor = function getOwnPropertyDescriptor(it, key) {\n it = toIObject(it);\n key = toPrimitive(key, true);\n if (it === ObjectProto && has(AllSymbols, key) && !has(OPSymbols, key)) return;\n var D = gOPD(it, key);\n if (D && has(AllSymbols, key) && !(has(it, HIDDEN) && it[HIDDEN][key])) D.enumerable = true;\n return D;\n};\nvar $getOwnPropertyNames = function getOwnPropertyNames(it) {\n var names = gOPN(toIObject(it));\n var result = [];\n var i = 0;\n var key;\n while (names.length > i) {\n if (!has(AllSymbols, key = names[i++]) && key != HIDDEN && key != META) result.push(key);\n } return result;\n};\nvar $getOwnPropertySymbols = function getOwnPropertySymbols(it) {\n var IS_OP = it === ObjectProto;\n var names = gOPN(IS_OP ? OPSymbols : toIObject(it));\n var result = [];\n var i = 0;\n var key;\n while (names.length > i) {\n if (has(AllSymbols, key = names[i++]) && (IS_OP ? has(ObjectProto, key) : true)) result.push(AllSymbols[key]);\n } return result;\n};\n\n// 19.4.1.1 Symbol([description])\nif (!USE_NATIVE) {\n $Symbol = function Symbol() {\n if (this instanceof $Symbol) throw TypeError('Symbol is not a constructor!');\n var tag = uid(arguments.length > 0 ? arguments[0] : undefined);\n var $set = function (value) {\n if (this === ObjectProto) $set.call(OPSymbols, value);\n if (has(this, HIDDEN) && has(this[HIDDEN], tag)) this[HIDDEN][tag] = false;\n setSymbolDesc(this, tag, createDesc(1, value));\n };\n if (DESCRIPTORS && setter) setSymbolDesc(ObjectProto, tag, { configurable: true, set: $set });\n return wrap(tag);\n };\n redefine($Symbol[PROTOTYPE], 'toString', function toString() {\n return this._k;\n });\n\n $GOPD.f = $getOwnPropertyDescriptor;\n $DP.f = $defineProperty;\n __webpack_require__(65).f = gOPNExt.f = $getOwnPropertyNames;\n __webpack_require__(86).f = $propertyIsEnumerable;\n $GOPS.f = $getOwnPropertySymbols;\n\n if (DESCRIPTORS && !__webpack_require__(53)) {\n redefine(ObjectProto, 'propertyIsEnumerable', $propertyIsEnumerable, true);\n }\n\n wksExt.f = function (name) {\n return wrap(wks(name));\n };\n}\n\n$export($export.G + $export.W + $export.F * !USE_NATIVE, { Symbol: $Symbol });\n\nfor (var es6Symbols = (\n // 19.4.2.2, 19.4.2.3, 19.4.2.4, 19.4.2.6, 19.4.2.8, 19.4.2.9, 19.4.2.10, 19.4.2.11, 19.4.2.12, 19.4.2.13, 19.4.2.14\n 'hasInstance,isConcatSpreadable,iterator,match,replace,search,species,split,toPrimitive,toStringTag,unscopables'\n).split(','), j = 0; es6Symbols.length > j;)wks(es6Symbols[j++]);\n\nfor (var wellKnownSymbols = $keys(wks.store), k = 0; wellKnownSymbols.length > k;) wksDefine(wellKnownSymbols[k++]);\n\n$export($export.S + $export.F * !USE_NATIVE, 'Symbol', {\n // 19.4.2.1 Symbol.for(key)\n 'for': function (key) {\n return has(SymbolRegistry, key += '')\n ? SymbolRegistry[key]\n : SymbolRegistry[key] = $Symbol(key);\n },\n // 19.4.2.5 Symbol.keyFor(sym)\n keyFor: function keyFor(sym) {\n if (!isSymbol(sym)) throw TypeError(sym + ' is not a symbol!');\n for (var key in SymbolRegistry) if (SymbolRegistry[key] === sym) return key;\n },\n useSetter: function () { setter = true; },\n useSimple: function () { setter = false; }\n});\n\n$export($export.S + $export.F * !USE_NATIVE, 'Object', {\n // 19.1.2.2 Object.create(O [, Properties])\n create: $create,\n // 19.1.2.4 Object.defineProperty(O, P, Attributes)\n defineProperty: $defineProperty,\n // 19.1.2.3 Object.defineProperties(O, Properties)\n defineProperties: $defineProperties,\n // 19.1.2.6 Object.getOwnPropertyDescriptor(O, P)\n getOwnPropertyDescriptor: $getOwnPropertyDescriptor,\n // 19.1.2.7 Object.getOwnPropertyNames(O)\n getOwnPropertyNames: $getOwnPropertyNames,\n // 19.1.2.8 Object.getOwnPropertySymbols(O)\n getOwnPropertySymbols: $getOwnPropertySymbols\n});\n\n// Chrome 38 and 39 `Object.getOwnPropertySymbols` fails on primitives\n// https://bugs.chromium.org/p/v8/issues/detail?id=3443\nvar FAILS_ON_PRIMITIVES = $fails(function () { $GOPS.f(1); });\n\n$export($export.S + $export.F * FAILS_ON_PRIMITIVES, 'Object', {\n getOwnPropertySymbols: function getOwnPropertySymbols(it) {\n return $GOPS.f(toObject(it));\n }\n});\n\n// 24.3.2 JSON.stringify(value [, replacer [, space]])\n$JSON && $export($export.S + $export.F * (!USE_NATIVE || $fails(function () {\n var S = $Symbol();\n // MS Edge converts symbol values to JSON as {}\n // WebKit converts symbol values to JSON as null\n // V8 throws on boxed symbols\n return _stringify([S]) != '[null]' || _stringify({ a: S }) != '{}' || _stringify(Object(S)) != '{}';\n})), 'JSON', {\n stringify: function stringify(it) {\n var args = [it];\n var i = 1;\n var replacer, $replacer;\n while (arguments.length > i) args.push(arguments[i++]);\n $replacer = replacer = args[1];\n if (!isObject(replacer) && it === undefined || isSymbol(it)) return; // IE8 returns string on undefined\n if (!isArray(replacer)) replacer = function (key, value) {\n if (typeof $replacer == 'function') value = $replacer.call(this, key, value);\n if (!isSymbol(value)) return value;\n };\n args[1] = replacer;\n return _stringify.apply($JSON, args);\n }\n});\n\n// 19.4.3.4 Symbol.prototype[@@toPrimitive](hint)\n$Symbol[PROTOTYPE][TO_PRIMITIVE] || __webpack_require__(25)($Symbol[PROTOTYPE], TO_PRIMITIVE, $Symbol[PROTOTYPE].valueOf);\n// 19.4.3.5 Symbol.prototype[@@toStringTag]\nsetToStringTag($Symbol, 'Symbol');\n// 20.2.1.9 Math[@@toStringTag]\nsetToStringTag(Math, 'Math', true);\n// 24.3.3 JSON[@@toStringTag]\nsetToStringTag(global.JSON, 'JSON', true);\n\n\n/***/ }),\n/* 276 */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = __webpack_require__(84)('native-function-to-string', Function.toString);\n\n\n/***/ }),\n/* 277 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// all enumerable object keys, includes symbols\nvar getKeys = __webpack_require__(62);\nvar gOPS = __webpack_require__(102);\nvar pIE = __webpack_require__(86);\nmodule.exports = function (it) {\n var result = getKeys(it);\n var getSymbols = gOPS.f;\n if (getSymbols) {\n var symbols = getSymbols(it);\n var isEnum = pIE.f;\n var i = 0;\n var key;\n while (symbols.length > i) if (isEnum.call(it, key = symbols[i++])) result.push(key);\n } return result;\n};\n\n\n/***/ }),\n/* 278 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar $export = __webpack_require__(1);\n// 19.1.2.2 / 15.2.3.5 Object.create(O [, Properties])\n$export($export.S, 'Object', { create: __webpack_require__(64) });\n\n\n/***/ }),\n/* 279 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar $export = __webpack_require__(1);\n// 19.1.2.4 / 15.2.3.6 Object.defineProperty(O, P, Attributes)\n$export($export.S + $export.F * !__webpack_require__(12), 'Object', { defineProperty: __webpack_require__(15).f });\n\n\n/***/ }),\n/* 280 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar $export = __webpack_require__(1);\n// 19.1.2.3 / 15.2.3.7 Object.defineProperties(O, Properties)\n$export($export.S + $export.F * !__webpack_require__(12), 'Object', { defineProperties: __webpack_require__(186) });\n\n\n/***/ }),\n/* 281 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 19.1.2.6 Object.getOwnPropertyDescriptor(O, P)\nvar toIObject = __webpack_require__(30);\nvar $getOwnPropertyDescriptor = __webpack_require__(31).f;\n\n__webpack_require__(43)('getOwnPropertyDescriptor', function () {\n return function getOwnPropertyDescriptor(it, key) {\n return $getOwnPropertyDescriptor(toIObject(it), key);\n };\n});\n\n\n/***/ }),\n/* 282 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 19.1.2.9 Object.getPrototypeOf(O)\nvar toObject = __webpack_require__(16);\nvar $getPrototypeOf = __webpack_require__(32);\n\n__webpack_require__(43)('getPrototypeOf', function () {\n return function getPrototypeOf(it) {\n return $getPrototypeOf(toObject(it));\n };\n});\n\n\n/***/ }),\n/* 283 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 19.1.2.14 Object.keys(O)\nvar toObject = __webpack_require__(16);\nvar $keys = __webpack_require__(62);\n\n__webpack_require__(43)('keys', function () {\n return function keys(it) {\n return $keys(toObject(it));\n };\n});\n\n\n/***/ }),\n/* 284 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 19.1.2.7 Object.getOwnPropertyNames(O)\n__webpack_require__(43)('getOwnPropertyNames', function () {\n return __webpack_require__(187).f;\n});\n\n\n/***/ }),\n/* 285 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 19.1.2.5 Object.freeze(O)\nvar isObject = __webpack_require__(8);\nvar meta = __webpack_require__(54).onFreeze;\n\n__webpack_require__(43)('freeze', function ($freeze) {\n return function freeze(it) {\n return $freeze && isObject(it) ? $freeze(meta(it)) : it;\n };\n});\n\n\n/***/ }),\n/* 286 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 19.1.2.17 Object.seal(O)\nvar isObject = __webpack_require__(8);\nvar meta = __webpack_require__(54).onFreeze;\n\n__webpack_require__(43)('seal', function ($seal) {\n return function seal(it) {\n return $seal && isObject(it) ? $seal(meta(it)) : it;\n };\n});\n\n\n/***/ }),\n/* 287 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 19.1.2.15 Object.preventExtensions(O)\nvar isObject = __webpack_require__(8);\nvar meta = __webpack_require__(54).onFreeze;\n\n__webpack_require__(43)('preventExtensions', function ($preventExtensions) {\n return function preventExtensions(it) {\n return $preventExtensions && isObject(it) ? $preventExtensions(meta(it)) : it;\n };\n});\n\n\n/***/ }),\n/* 288 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 19.1.2.12 Object.isFrozen(O)\nvar isObject = __webpack_require__(8);\n\n__webpack_require__(43)('isFrozen', function ($isFrozen) {\n return function isFrozen(it) {\n return isObject(it) ? $isFrozen ? $isFrozen(it) : false : true;\n };\n});\n\n\n/***/ }),\n/* 289 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 19.1.2.13 Object.isSealed(O)\nvar isObject = __webpack_require__(8);\n\n__webpack_require__(43)('isSealed', function ($isSealed) {\n return function isSealed(it) {\n return isObject(it) ? $isSealed ? $isSealed(it) : false : true;\n };\n});\n\n\n/***/ }),\n/* 290 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 19.1.2.11 Object.isExtensible(O)\nvar isObject = __webpack_require__(8);\n\n__webpack_require__(43)('isExtensible', function ($isExtensible) {\n return function isExtensible(it) {\n return isObject(it) ? $isExtensible ? $isExtensible(it) : true : false;\n };\n});\n\n\n/***/ }),\n/* 291 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 19.1.3.1 Object.assign(target, source)\nvar $export = __webpack_require__(1);\n\n$export($export.S + $export.F, 'Object', { assign: __webpack_require__(188) });\n\n\n/***/ }),\n/* 292 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 19.1.3.10 Object.is(value1, value2)\nvar $export = __webpack_require__(1);\n$export($export.S, 'Object', { is: __webpack_require__(189) });\n\n\n/***/ }),\n/* 293 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 19.1.3.19 Object.setPrototypeOf(O, proto)\nvar $export = __webpack_require__(1);\n$export($export.S, 'Object', { setPrototypeOf: __webpack_require__(129).set });\n\n\n/***/ }),\n/* 294 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n// 19.1.3.6 Object.prototype.toString()\nvar classof = __webpack_require__(74);\nvar test = {};\ntest[__webpack_require__(10)('toStringTag')] = 'z';\nif (test + '' != '[object z]') {\n __webpack_require__(26)(Object.prototype, 'toString', function toString() {\n return '[object ' + classof(this) + ']';\n }, true);\n}\n\n\n/***/ }),\n/* 295 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 19.2.3.2 / 15.3.4.5 Function.prototype.bind(thisArg, args...)\nvar $export = __webpack_require__(1);\n\n$export($export.P, 'Function', { bind: __webpack_require__(190) });\n\n\n/***/ }),\n/* 296 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar dP = __webpack_require__(15).f;\nvar FProto = Function.prototype;\nvar nameRE = /^\\s*function ([^ (]*)/;\nvar NAME = 'name';\n\n// 19.2.4.2 name\nNAME in FProto || __webpack_require__(12) && dP(FProto, NAME, {\n configurable: true,\n get: function () {\n try {\n return ('' + this).match(nameRE)[1];\n } catch (e) {\n return '';\n }\n }\n});\n\n\n/***/ }),\n/* 297 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar isObject = __webpack_require__(8);\nvar getPrototypeOf = __webpack_require__(32);\nvar HAS_INSTANCE = __webpack_require__(10)('hasInstance');\nvar FunctionProto = Function.prototype;\n// 19.2.3.6 Function.prototype[@@hasInstance](V)\nif (!(HAS_INSTANCE in FunctionProto)) __webpack_require__(15).f(FunctionProto, HAS_INSTANCE, { value: function (O) {\n if (typeof this != 'function' || !isObject(O)) return false;\n if (!isObject(this.prototype)) return O instanceof this;\n // for environment w/o native `@@hasInstance` logic enough `instanceof`, but add this:\n while (O = getPrototypeOf(O)) if (this.prototype === O) return true;\n return false;\n} });\n\n\n/***/ }),\n/* 298 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar $export = __webpack_require__(1);\nvar $parseInt = __webpack_require__(192);\n// 18.2.5 parseInt(string, radix)\n$export($export.G + $export.F * (parseInt != $parseInt), { parseInt: $parseInt });\n\n\n/***/ }),\n/* 299 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar $export = __webpack_require__(1);\nvar $parseFloat = __webpack_require__(193);\n// 18.2.4 parseFloat(string)\n$export($export.G + $export.F * (parseFloat != $parseFloat), { parseFloat: $parseFloat });\n\n\n/***/ }),\n/* 300 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar global = __webpack_require__(5);\nvar has = __webpack_require__(29);\nvar cof = __webpack_require__(36);\nvar inheritIfRequired = __webpack_require__(131);\nvar toPrimitive = __webpack_require__(41);\nvar fails = __webpack_require__(7);\nvar gOPN = __webpack_require__(65).f;\nvar gOPD = __webpack_require__(31).f;\nvar dP = __webpack_require__(15).f;\nvar $trim = __webpack_require__(75).trim;\nvar NUMBER = 'Number';\nvar $Number = global[NUMBER];\nvar Base = $Number;\nvar proto = $Number.prototype;\n// Opera ~12 has broken Object#toString\nvar BROKEN_COF = cof(__webpack_require__(64)(proto)) == NUMBER;\nvar TRIM = 'trim' in String.prototype;\n\n// 7.1.3 ToNumber(argument)\nvar toNumber = function (argument) {\n var it = toPrimitive(argument, false);\n if (typeof it == 'string' && it.length > 2) {\n it = TRIM ? it.trim() : $trim(it, 3);\n var first = it.charCodeAt(0);\n var third, radix, maxCode;\n if (first === 43 || first === 45) {\n third = it.charCodeAt(2);\n if (third === 88 || third === 120) return NaN; // Number('+0x1') should be NaN, old V8 fix\n } else if (first === 48) {\n switch (it.charCodeAt(1)) {\n case 66: case 98: radix = 2; maxCode = 49; break; // fast equal /^0b[01]+$/i\n case 79: case 111: radix = 8; maxCode = 55; break; // fast equal /^0o[0-7]+$/i\n default: return +it;\n }\n for (var digits = it.slice(2), i = 0, l = digits.length, code; i < l; i++) {\n code = digits.charCodeAt(i);\n // parseInt parses a string to a first unavailable symbol\n // but ToNumber should return NaN if a string contains unavailable symbols\n if (code < 48 || code > maxCode) return NaN;\n } return parseInt(digits, radix);\n }\n } return +it;\n};\n\nif (!$Number(' 0o1') || !$Number('0b1') || $Number('+0x1')) {\n $Number = function Number(value) {\n var it = arguments.length < 1 ? 0 : value;\n var that = this;\n return that instanceof $Number\n // check on 1..constructor(foo) case\n && (BROKEN_COF ? fails(function () { proto.valueOf.call(that); }) : cof(that) != NUMBER)\n ? inheritIfRequired(new Base(toNumber(it)), that, $Number) : toNumber(it);\n };\n for (var keys = __webpack_require__(12) ? gOPN(Base) : (\n // ES3:\n 'MAX_VALUE,MIN_VALUE,NaN,NEGATIVE_INFINITY,POSITIVE_INFINITY,' +\n // ES6 (in case, if modules with ES6 Number statics required before):\n 'EPSILON,isFinite,isInteger,isNaN,isSafeInteger,MAX_SAFE_INTEGER,' +\n 'MIN_SAFE_INTEGER,parseFloat,parseInt,isInteger'\n ).split(','), j = 0, key; keys.length > j; j++) {\n if (has(Base, key = keys[j]) && !has($Number, key)) {\n dP($Number, key, gOPD(Base, key));\n }\n }\n $Number.prototype = proto;\n proto.constructor = $Number;\n __webpack_require__(26)(global, NUMBER, $Number);\n}\n\n\n/***/ }),\n/* 301 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar $export = __webpack_require__(1);\nvar toInteger = __webpack_require__(37);\nvar aNumberValue = __webpack_require__(194);\nvar repeat = __webpack_require__(132);\nvar $toFixed = 1.0.toFixed;\nvar floor = Math.floor;\nvar data = [0, 0, 0, 0, 0, 0];\nvar ERROR = 'Number.toFixed: incorrect invocation!';\nvar ZERO = '0';\n\nvar multiply = function (n, c) {\n var i = -1;\n var c2 = c;\n while (++i < 6) {\n c2 += n * data[i];\n data[i] = c2 % 1e7;\n c2 = floor(c2 / 1e7);\n }\n};\nvar divide = function (n) {\n var i = 6;\n var c = 0;\n while (--i >= 0) {\n c += data[i];\n data[i] = floor(c / n);\n c = (c % n) * 1e7;\n }\n};\nvar numToString = function () {\n var i = 6;\n var s = '';\n while (--i >= 0) {\n if (s !== '' || i === 0 || data[i] !== 0) {\n var t = String(data[i]);\n s = s === '' ? t : s + repeat.call(ZERO, 7 - t.length) + t;\n }\n } return s;\n};\nvar pow = function (x, n, acc) {\n return n === 0 ? acc : n % 2 === 1 ? pow(x, n - 1, acc * x) : pow(x * x, n / 2, acc);\n};\nvar log = function (x) {\n var n = 0;\n var x2 = x;\n while (x2 >= 4096) {\n n += 12;\n x2 /= 4096;\n }\n while (x2 >= 2) {\n n += 1;\n x2 /= 2;\n } return n;\n};\n\n$export($export.P + $export.F * (!!$toFixed && (\n 0.00008.toFixed(3) !== '0.000' ||\n 0.9.toFixed(0) !== '1' ||\n 1.255.toFixed(2) !== '1.25' ||\n 1000000000000000128.0.toFixed(0) !== '1000000000000000128'\n) || !__webpack_require__(7)(function () {\n // V8 ~ Android 4.3-\n $toFixed.call({});\n})), 'Number', {\n toFixed: function toFixed(fractionDigits) {\n var x = aNumberValue(this, ERROR);\n var f = toInteger(fractionDigits);\n var s = '';\n var m = ZERO;\n var e, z, j, k;\n if (f < 0 || f > 20) throw RangeError(ERROR);\n // eslint-disable-next-line no-self-compare\n if (x != x) return 'NaN';\n if (x <= -1e21 || x >= 1e21) return String(x);\n if (x < 0) {\n s = '-';\n x = -x;\n }\n if (x > 1e-21) {\n e = log(x * pow(2, 69, 1)) - 69;\n z = e < 0 ? x * pow(2, -e, 1) : x / pow(2, e, 1);\n z *= 0x10000000000000;\n e = 52 - e;\n if (e > 0) {\n multiply(0, z);\n j = f;\n while (j >= 7) {\n multiply(1e7, 0);\n j -= 7;\n }\n multiply(pow(10, j, 1), 0);\n j = e - 1;\n while (j >= 23) {\n divide(1 << 23);\n j -= 23;\n }\n divide(1 << j);\n multiply(1, 1);\n divide(2);\n m = numToString();\n } else {\n multiply(0, z);\n multiply(1 << -e, 0);\n m = numToString() + repeat.call(ZERO, f);\n }\n }\n if (f > 0) {\n k = m.length;\n m = s + (k <= f ? '0.' + repeat.call(ZERO, f - k) + m : m.slice(0, k - f) + '.' + m.slice(k - f));\n } else {\n m = s + m;\n } return m;\n }\n});\n\n\n/***/ }),\n/* 302 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar $export = __webpack_require__(1);\nvar $fails = __webpack_require__(7);\nvar aNumberValue = __webpack_require__(194);\nvar $toPrecision = 1.0.toPrecision;\n\n$export($export.P + $export.F * ($fails(function () {\n // IE7-\n return $toPrecision.call(1, undefined) !== '1';\n}) || !$fails(function () {\n // V8 ~ Android 4.3-\n $toPrecision.call({});\n})), 'Number', {\n toPrecision: function toPrecision(precision) {\n var that = aNumberValue(this, 'Number#toPrecision: incorrect invocation!');\n return precision === undefined ? $toPrecision.call(that) : $toPrecision.call(that, precision);\n }\n});\n\n\n/***/ }),\n/* 303 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 20.1.2.1 Number.EPSILON\nvar $export = __webpack_require__(1);\n\n$export($export.S, 'Number', { EPSILON: Math.pow(2, -52) });\n\n\n/***/ }),\n/* 304 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 20.1.2.2 Number.isFinite(number)\nvar $export = __webpack_require__(1);\nvar _isFinite = __webpack_require__(5).isFinite;\n\n$export($export.S, 'Number', {\n isFinite: function isFinite(it) {\n return typeof it == 'number' && _isFinite(it);\n }\n});\n\n\n/***/ }),\n/* 305 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 20.1.2.3 Number.isInteger(number)\nvar $export = __webpack_require__(1);\n\n$export($export.S, 'Number', { isInteger: __webpack_require__(195) });\n\n\n/***/ }),\n/* 306 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 20.1.2.4 Number.isNaN(number)\nvar $export = __webpack_require__(1);\n\n$export($export.S, 'Number', {\n isNaN: function isNaN(number) {\n // eslint-disable-next-line no-self-compare\n return number != number;\n }\n});\n\n\n/***/ }),\n/* 307 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 20.1.2.5 Number.isSafeInteger(number)\nvar $export = __webpack_require__(1);\nvar isInteger = __webpack_require__(195);\nvar abs = Math.abs;\n\n$export($export.S, 'Number', {\n isSafeInteger: function isSafeInteger(number) {\n return isInteger(number) && abs(number) <= 0x1fffffffffffff;\n }\n});\n\n\n/***/ }),\n/* 308 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 20.1.2.6 Number.MAX_SAFE_INTEGER\nvar $export = __webpack_require__(1);\n\n$export($export.S, 'Number', { MAX_SAFE_INTEGER: 0x1fffffffffffff });\n\n\n/***/ }),\n/* 309 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 20.1.2.10 Number.MIN_SAFE_INTEGER\nvar $export = __webpack_require__(1);\n\n$export($export.S, 'Number', { MIN_SAFE_INTEGER: -0x1fffffffffffff });\n\n\n/***/ }),\n/* 310 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar $export = __webpack_require__(1);\nvar $parseFloat = __webpack_require__(193);\n// 20.1.2.12 Number.parseFloat(string)\n$export($export.S + $export.F * (Number.parseFloat != $parseFloat), 'Number', { parseFloat: $parseFloat });\n\n\n/***/ }),\n/* 311 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar $export = __webpack_require__(1);\nvar $parseInt = __webpack_require__(192);\n// 20.1.2.13 Number.parseInt(string, radix)\n$export($export.S + $export.F * (Number.parseInt != $parseInt), 'Number', { parseInt: $parseInt });\n\n\n/***/ }),\n/* 312 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 20.2.2.3 Math.acosh(x)\nvar $export = __webpack_require__(1);\nvar log1p = __webpack_require__(196);\nvar sqrt = Math.sqrt;\nvar $acosh = Math.acosh;\n\n$export($export.S + $export.F * !($acosh\n // V8 bug: https://code.google.com/p/v8/issues/detail?id=3509\n && Math.floor($acosh(Number.MAX_VALUE)) == 710\n // Tor Browser bug: Math.acosh(Infinity) -> NaN\n && $acosh(Infinity) == Infinity\n), 'Math', {\n acosh: function acosh(x) {\n return (x = +x) < 1 ? NaN : x > 94906265.62425156\n ? Math.log(x) + Math.LN2\n : log1p(x - 1 + sqrt(x - 1) * sqrt(x + 1));\n }\n});\n\n\n/***/ }),\n/* 313 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 20.2.2.5 Math.asinh(x)\nvar $export = __webpack_require__(1);\nvar $asinh = Math.asinh;\n\nfunction asinh(x) {\n return !isFinite(x = +x) || x == 0 ? x : x < 0 ? -asinh(-x) : Math.log(x + Math.sqrt(x * x + 1));\n}\n\n// Tor Browser bug: Math.asinh(0) -> -0\n$export($export.S + $export.F * !($asinh && 1 / $asinh(0) > 0), 'Math', { asinh: asinh });\n\n\n/***/ }),\n/* 314 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 20.2.2.7 Math.atanh(x)\nvar $export = __webpack_require__(1);\nvar $atanh = Math.atanh;\n\n// Tor Browser bug: Math.atanh(-0) -> 0\n$export($export.S + $export.F * !($atanh && 1 / $atanh(-0) < 0), 'Math', {\n atanh: function atanh(x) {\n return (x = +x) == 0 ? x : Math.log((1 + x) / (1 - x)) / 2;\n }\n});\n\n\n/***/ }),\n/* 315 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 20.2.2.9 Math.cbrt(x)\nvar $export = __webpack_require__(1);\nvar sign = __webpack_require__(133);\n\n$export($export.S, 'Math', {\n cbrt: function cbrt(x) {\n return sign(x = +x) * Math.pow(Math.abs(x), 1 / 3);\n }\n});\n\n\n/***/ }),\n/* 316 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 20.2.2.11 Math.clz32(x)\nvar $export = __webpack_require__(1);\n\n$export($export.S, 'Math', {\n clz32: function clz32(x) {\n return (x >>>= 0) ? 31 - Math.floor(Math.log(x + 0.5) * Math.LOG2E) : 32;\n }\n});\n\n\n/***/ }),\n/* 317 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 20.2.2.12 Math.cosh(x)\nvar $export = __webpack_require__(1);\nvar exp = Math.exp;\n\n$export($export.S, 'Math', {\n cosh: function cosh(x) {\n return (exp(x = +x) + exp(-x)) / 2;\n }\n});\n\n\n/***/ }),\n/* 318 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 20.2.2.14 Math.expm1(x)\nvar $export = __webpack_require__(1);\nvar $expm1 = __webpack_require__(134);\n\n$export($export.S + $export.F * ($expm1 != Math.expm1), 'Math', { expm1: $expm1 });\n\n\n/***/ }),\n/* 319 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 20.2.2.16 Math.fround(x)\nvar $export = __webpack_require__(1);\n\n$export($export.S, 'Math', { fround: __webpack_require__(197) });\n\n\n/***/ }),\n/* 320 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 20.2.2.17 Math.hypot([value1[, value2[, … ]]])\nvar $export = __webpack_require__(1);\nvar abs = Math.abs;\n\n$export($export.S, 'Math', {\n hypot: function hypot(value1, value2) { // eslint-disable-line no-unused-vars\n var sum = 0;\n var i = 0;\n var aLen = arguments.length;\n var larg = 0;\n var arg, div;\n while (i < aLen) {\n arg = abs(arguments[i++]);\n if (larg < arg) {\n div = larg / arg;\n sum = sum * div * div + 1;\n larg = arg;\n } else if (arg > 0) {\n div = arg / larg;\n sum += div * div;\n } else sum += arg;\n }\n return larg === Infinity ? Infinity : larg * Math.sqrt(sum);\n }\n});\n\n\n/***/ }),\n/* 321 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 20.2.2.18 Math.imul(x, y)\nvar $export = __webpack_require__(1);\nvar $imul = Math.imul;\n\n// some WebKit versions fails with big numbers, some has wrong arity\n$export($export.S + $export.F * __webpack_require__(7)(function () {\n return $imul(0xffffffff, 5) != -5 || $imul.length != 2;\n}), 'Math', {\n imul: function imul(x, y) {\n var UINT16 = 0xffff;\n var xn = +x;\n var yn = +y;\n var xl = UINT16 & xn;\n var yl = UINT16 & yn;\n return 0 | xl * yl + ((UINT16 & xn >>> 16) * yl + xl * (UINT16 & yn >>> 16) << 16 >>> 0);\n }\n});\n\n\n/***/ }),\n/* 322 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 20.2.2.21 Math.log10(x)\nvar $export = __webpack_require__(1);\n\n$export($export.S, 'Math', {\n log10: function log10(x) {\n return Math.log(x) * Math.LOG10E;\n }\n});\n\n\n/***/ }),\n/* 323 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 20.2.2.20 Math.log1p(x)\nvar $export = __webpack_require__(1);\n\n$export($export.S, 'Math', { log1p: __webpack_require__(196) });\n\n\n/***/ }),\n/* 324 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 20.2.2.22 Math.log2(x)\nvar $export = __webpack_require__(1);\n\n$export($export.S, 'Math', {\n log2: function log2(x) {\n return Math.log(x) / Math.LN2;\n }\n});\n\n\n/***/ }),\n/* 325 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 20.2.2.28 Math.sign(x)\nvar $export = __webpack_require__(1);\n\n$export($export.S, 'Math', { sign: __webpack_require__(133) });\n\n\n/***/ }),\n/* 326 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 20.2.2.30 Math.sinh(x)\nvar $export = __webpack_require__(1);\nvar expm1 = __webpack_require__(134);\nvar exp = Math.exp;\n\n// V8 near Chromium 38 has a problem with very small numbers\n$export($export.S + $export.F * __webpack_require__(7)(function () {\n return !Math.sinh(-2e-17) != -2e-17;\n}), 'Math', {\n sinh: function sinh(x) {\n return Math.abs(x = +x) < 1\n ? (expm1(x) - expm1(-x)) / 2\n : (exp(x - 1) - exp(-x - 1)) * (Math.E / 2);\n }\n});\n\n\n/***/ }),\n/* 327 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 20.2.2.33 Math.tanh(x)\nvar $export = __webpack_require__(1);\nvar expm1 = __webpack_require__(134);\nvar exp = Math.exp;\n\n$export($export.S, 'Math', {\n tanh: function tanh(x) {\n var a = expm1(x = +x);\n var b = expm1(-x);\n return a == Infinity ? 1 : b == Infinity ? -1 : (a - b) / (exp(x) + exp(-x));\n }\n});\n\n\n/***/ }),\n/* 328 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 20.2.2.34 Math.trunc(x)\nvar $export = __webpack_require__(1);\n\n$export($export.S, 'Math', {\n trunc: function trunc(it) {\n return (it > 0 ? Math.floor : Math.ceil)(it);\n }\n});\n\n\n/***/ }),\n/* 329 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar $export = __webpack_require__(1);\nvar toAbsoluteIndex = __webpack_require__(63);\nvar fromCharCode = String.fromCharCode;\nvar $fromCodePoint = String.fromCodePoint;\n\n// length should be 1, old FF problem\n$export($export.S + $export.F * (!!$fromCodePoint && $fromCodePoint.length != 1), 'String', {\n // 21.1.2.2 String.fromCodePoint(...codePoints)\n fromCodePoint: function fromCodePoint(x) { // eslint-disable-line no-unused-vars\n var res = [];\n var aLen = arguments.length;\n var i = 0;\n var code;\n while (aLen > i) {\n code = +arguments[i++];\n if (toAbsoluteIndex(code, 0x10ffff) !== code) throw RangeError(code + ' is not a valid code point');\n res.push(code < 0x10000\n ? fromCharCode(code)\n : fromCharCode(((code -= 0x10000) >> 10) + 0xd800, code % 0x400 + 0xdc00)\n );\n } return res.join('');\n }\n});\n\n\n/***/ }),\n/* 330 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar $export = __webpack_require__(1);\nvar toIObject = __webpack_require__(30);\nvar toLength = __webpack_require__(11);\n\n$export($export.S, 'String', {\n // 21.1.2.4 String.raw(callSite, ...substitutions)\n raw: function raw(callSite) {\n var tpl = toIObject(callSite.raw);\n var len = toLength(tpl.length);\n var aLen = arguments.length;\n var res = [];\n var i = 0;\n while (len > i) {\n res.push(String(tpl[i++]));\n if (i < aLen) res.push(String(arguments[i]));\n } return res.join('');\n }\n});\n\n\n/***/ }),\n/* 331 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n// 21.1.3.25 String.prototype.trim()\n__webpack_require__(75)('trim', function ($trim) {\n return function trim() {\n return $trim(this, 3);\n };\n});\n\n\n/***/ }),\n/* 332 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar $at = __webpack_require__(104)(true);\n\n// 21.1.3.27 String.prototype[@@iterator]()\n__webpack_require__(135)(String, 'String', function (iterated) {\n this._t = String(iterated); // target\n this._i = 0; // next index\n// 21.1.5.2.1 %StringIteratorPrototype%.next()\n}, function () {\n var O = this._t;\n var index = this._i;\n var point;\n if (index >= O.length) return { value: undefined, done: true };\n point = $at(O, index);\n this._i += point.length;\n return { value: point, done: false };\n});\n\n\n/***/ }),\n/* 333 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar $export = __webpack_require__(1);\nvar $at = __webpack_require__(104)(false);\n$export($export.P, 'String', {\n // 21.1.3.3 String.prototype.codePointAt(pos)\n codePointAt: function codePointAt(pos) {\n return $at(this, pos);\n }\n});\n\n\n/***/ }),\n/* 334 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n// 21.1.3.6 String.prototype.endsWith(searchString [, endPosition])\n\nvar $export = __webpack_require__(1);\nvar toLength = __webpack_require__(11);\nvar context = __webpack_require__(137);\nvar ENDS_WITH = 'endsWith';\nvar $endsWith = ''[ENDS_WITH];\n\n$export($export.P + $export.F * __webpack_require__(138)(ENDS_WITH), 'String', {\n endsWith: function endsWith(searchString /* , endPosition = @length */) {\n var that = context(this, searchString, ENDS_WITH);\n var endPosition = arguments.length > 1 ? arguments[1] : undefined;\n var len = toLength(that.length);\n var end = endPosition === undefined ? len : Math.min(toLength(endPosition), len);\n var search = String(searchString);\n return $endsWith\n ? $endsWith.call(that, search, end)\n : that.slice(end - search.length, end) === search;\n }\n});\n\n\n/***/ }),\n/* 335 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n// 21.1.3.7 String.prototype.includes(searchString, position = 0)\n\nvar $export = __webpack_require__(1);\nvar context = __webpack_require__(137);\nvar INCLUDES = 'includes';\n\n$export($export.P + $export.F * __webpack_require__(138)(INCLUDES), 'String', {\n includes: function includes(searchString /* , position = 0 */) {\n return !!~context(this, searchString, INCLUDES)\n .indexOf(searchString, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\n\n\n/***/ }),\n/* 336 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar $export = __webpack_require__(1);\n\n$export($export.P, 'String', {\n // 21.1.3.13 String.prototype.repeat(count)\n repeat: __webpack_require__(132)\n});\n\n\n/***/ }),\n/* 337 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n// 21.1.3.18 String.prototype.startsWith(searchString [, position ])\n\nvar $export = __webpack_require__(1);\nvar toLength = __webpack_require__(11);\nvar context = __webpack_require__(137);\nvar STARTS_WITH = 'startsWith';\nvar $startsWith = ''[STARTS_WITH];\n\n$export($export.P + $export.F * __webpack_require__(138)(STARTS_WITH), 'String', {\n startsWith: function startsWith(searchString /* , position = 0 */) {\n var that = context(this, searchString, STARTS_WITH);\n var index = toLength(Math.min(arguments.length > 1 ? arguments[1] : undefined, that.length));\n var search = String(searchString);\n return $startsWith\n ? $startsWith.call(that, search, index)\n : that.slice(index, index + search.length) === search;\n }\n});\n\n\n/***/ }),\n/* 338 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n// B.2.3.2 String.prototype.anchor(name)\n__webpack_require__(27)('anchor', function (createHTML) {\n return function anchor(name) {\n return createHTML(this, 'a', 'name', name);\n };\n});\n\n\n/***/ }),\n/* 339 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n// B.2.3.3 String.prototype.big()\n__webpack_require__(27)('big', function (createHTML) {\n return function big() {\n return createHTML(this, 'big', '', '');\n };\n});\n\n\n/***/ }),\n/* 340 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n// B.2.3.4 String.prototype.blink()\n__webpack_require__(27)('blink', function (createHTML) {\n return function blink() {\n return createHTML(this, 'blink', '', '');\n };\n});\n\n\n/***/ }),\n/* 341 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n// B.2.3.5 String.prototype.bold()\n__webpack_require__(27)('bold', function (createHTML) {\n return function bold() {\n return createHTML(this, 'b', '', '');\n };\n});\n\n\n/***/ }),\n/* 342 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n// B.2.3.6 String.prototype.fixed()\n__webpack_require__(27)('fixed', function (createHTML) {\n return function fixed() {\n return createHTML(this, 'tt', '', '');\n };\n});\n\n\n/***/ }),\n/* 343 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n// B.2.3.7 String.prototype.fontcolor(color)\n__webpack_require__(27)('fontcolor', function (createHTML) {\n return function fontcolor(color) {\n return createHTML(this, 'font', 'color', color);\n };\n});\n\n\n/***/ }),\n/* 344 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n// B.2.3.8 String.prototype.fontsize(size)\n__webpack_require__(27)('fontsize', function (createHTML) {\n return function fontsize(size) {\n return createHTML(this, 'font', 'size', size);\n };\n});\n\n\n/***/ }),\n/* 345 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n// B.2.3.9 String.prototype.italics()\n__webpack_require__(27)('italics', function (createHTML) {\n return function italics() {\n return createHTML(this, 'i', '', '');\n };\n});\n\n\n/***/ }),\n/* 346 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n// B.2.3.10 String.prototype.link(url)\n__webpack_require__(27)('link', function (createHTML) {\n return function link(url) {\n return createHTML(this, 'a', 'href', url);\n };\n});\n\n\n/***/ }),\n/* 347 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n// B.2.3.11 String.prototype.small()\n__webpack_require__(27)('small', function (createHTML) {\n return function small() {\n return createHTML(this, 'small', '', '');\n };\n});\n\n\n/***/ }),\n/* 348 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n// B.2.3.12 String.prototype.strike()\n__webpack_require__(27)('strike', function (createHTML) {\n return function strike() {\n return createHTML(this, 'strike', '', '');\n };\n});\n\n\n/***/ }),\n/* 349 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n// B.2.3.13 String.prototype.sub()\n__webpack_require__(27)('sub', function (createHTML) {\n return function sub() {\n return createHTML(this, 'sub', '', '');\n };\n});\n\n\n/***/ }),\n/* 350 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n// B.2.3.14 String.prototype.sup()\n__webpack_require__(27)('sup', function (createHTML) {\n return function sup() {\n return createHTML(this, 'sup', '', '');\n };\n});\n\n\n/***/ }),\n/* 351 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 20.3.3.1 / 15.9.4.4 Date.now()\nvar $export = __webpack_require__(1);\n\n$export($export.S, 'Date', { now: function () { return new Date().getTime(); } });\n\n\n/***/ }),\n/* 352 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar $export = __webpack_require__(1);\nvar toObject = __webpack_require__(16);\nvar toPrimitive = __webpack_require__(41);\n\n$export($export.P + $export.F * __webpack_require__(7)(function () {\n return new Date(NaN).toJSON() !== null\n || Date.prototype.toJSON.call({ toISOString: function () { return 1; } }) !== 1;\n}), 'Date', {\n // eslint-disable-next-line no-unused-vars\n toJSON: function toJSON(key) {\n var O = toObject(this);\n var pv = toPrimitive(O);\n return typeof pv == 'number' && !isFinite(pv) ? null : O.toISOString();\n }\n});\n\n\n/***/ }),\n/* 353 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 20.3.4.36 / 15.9.5.43 Date.prototype.toISOString()\nvar $export = __webpack_require__(1);\nvar toISOString = __webpack_require__(354);\n\n// PhantomJS / old WebKit has a broken implementations\n$export($export.P + $export.F * (Date.prototype.toISOString !== toISOString), 'Date', {\n toISOString: toISOString\n});\n\n\n/***/ }),\n/* 354 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n// 20.3.4.36 / 15.9.5.43 Date.prototype.toISOString()\nvar fails = __webpack_require__(7);\nvar getTime = Date.prototype.getTime;\nvar $toISOString = Date.prototype.toISOString;\n\nvar lz = function (num) {\n return num > 9 ? num : '0' + num;\n};\n\n// PhantomJS / old WebKit has a broken implementations\nmodule.exports = (fails(function () {\n return $toISOString.call(new Date(-5e13 - 1)) != '0385-07-25T07:06:39.999Z';\n}) || !fails(function () {\n $toISOString.call(new Date(NaN));\n})) ? function toISOString() {\n if (!isFinite(getTime.call(this))) throw RangeError('Invalid time value');\n var d = this;\n var y = d.getUTCFullYear();\n var m = d.getUTCMilliseconds();\n var s = y < 0 ? '-' : y > 9999 ? '+' : '';\n return s + ('00000' + Math.abs(y)).slice(s ? -6 : -4) +\n '-' + lz(d.getUTCMonth() + 1) + '-' + lz(d.getUTCDate()) +\n 'T' + lz(d.getUTCHours()) + ':' + lz(d.getUTCMinutes()) +\n ':' + lz(d.getUTCSeconds()) + '.' + (m > 99 ? m : '0' + lz(m)) + 'Z';\n} : $toISOString;\n\n\n/***/ }),\n/* 355 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar DateProto = Date.prototype;\nvar INVALID_DATE = 'Invalid Date';\nvar TO_STRING = 'toString';\nvar $toString = DateProto[TO_STRING];\nvar getTime = DateProto.getTime;\nif (new Date(NaN) + '' != INVALID_DATE) {\n __webpack_require__(26)(DateProto, TO_STRING, function toString() {\n var value = getTime.call(this);\n // eslint-disable-next-line no-self-compare\n return value === value ? $toString.call(this) : INVALID_DATE;\n });\n}\n\n\n/***/ }),\n/* 356 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar TO_PRIMITIVE = __webpack_require__(10)('toPrimitive');\nvar proto = Date.prototype;\n\nif (!(TO_PRIMITIVE in proto)) __webpack_require__(25)(proto, TO_PRIMITIVE, __webpack_require__(357));\n\n\n/***/ }),\n/* 357 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar anObject = __webpack_require__(3);\nvar toPrimitive = __webpack_require__(41);\nvar NUMBER = 'number';\n\nmodule.exports = function (hint) {\n if (hint !== 'string' && hint !== NUMBER && hint !== 'default') throw TypeError('Incorrect hint');\n return toPrimitive(anObject(this), hint != NUMBER);\n};\n\n\n/***/ }),\n/* 358 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 22.1.2.2 / 15.4.3.2 Array.isArray(arg)\nvar $export = __webpack_require__(1);\n\n$export($export.S, 'Array', { isArray: __webpack_require__(103) });\n\n\n/***/ }),\n/* 359 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar ctx = __webpack_require__(35);\nvar $export = __webpack_require__(1);\nvar toObject = __webpack_require__(16);\nvar call = __webpack_require__(198);\nvar isArrayIter = __webpack_require__(139);\nvar toLength = __webpack_require__(11);\nvar createProperty = __webpack_require__(140);\nvar getIterFn = __webpack_require__(141);\n\n$export($export.S + $export.F * !__webpack_require__(106)(function (iter) { Array.from(iter); }), 'Array', {\n // 22.1.2.1 Array.from(arrayLike, mapfn = undefined, thisArg = undefined)\n from: function from(arrayLike /* , mapfn = undefined, thisArg = undefined */) {\n var O = toObject(arrayLike);\n var C = typeof this == 'function' ? this : Array;\n var aLen = arguments.length;\n var mapfn = aLen > 1 ? arguments[1] : undefined;\n var mapping = mapfn !== undefined;\n var index = 0;\n var iterFn = getIterFn(O);\n var length, result, step, iterator;\n if (mapping) mapfn = ctx(mapfn, aLen > 2 ? arguments[2] : undefined, 2);\n // if object isn't iterable or it's array with default iterator - use simple case\n if (iterFn != undefined && !(C == Array && isArrayIter(iterFn))) {\n for (iterator = iterFn.call(O), result = new C(); !(step = iterator.next()).done; index++) {\n createProperty(result, index, mapping ? call(iterator, mapfn, [step.value, index], true) : step.value);\n }\n } else {\n length = toLength(O.length);\n for (result = new C(length); length > index; index++) {\n createProperty(result, index, mapping ? mapfn(O[index], index) : O[index]);\n }\n }\n result.length = index;\n return result;\n }\n});\n\n\n/***/ }),\n/* 360 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar $export = __webpack_require__(1);\nvar createProperty = __webpack_require__(140);\n\n// WebKit Array.of isn't generic\n$export($export.S + $export.F * __webpack_require__(7)(function () {\n function F() { /* empty */ }\n return !(Array.of.call(F) instanceof F);\n}), 'Array', {\n // 22.1.2.3 Array.of( ...items)\n of: function of(/* ...args */) {\n var index = 0;\n var aLen = arguments.length;\n var result = new (typeof this == 'function' ? this : Array)(aLen);\n while (aLen > index) createProperty(result, index, arguments[index++]);\n result.length = aLen;\n return result;\n }\n});\n\n\n/***/ }),\n/* 361 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n// 22.1.3.13 Array.prototype.join(separator)\nvar $export = __webpack_require__(1);\nvar toIObject = __webpack_require__(30);\nvar arrayJoin = [].join;\n\n// fallback for not array-like strings\n$export($export.P + $export.F * (__webpack_require__(85) != Object || !__webpack_require__(38)(arrayJoin)), 'Array', {\n join: function join(separator) {\n return arrayJoin.call(toIObject(this), separator === undefined ? ',' : separator);\n }\n});\n\n\n/***/ }),\n/* 362 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar $export = __webpack_require__(1);\nvar html = __webpack_require__(128);\nvar cof = __webpack_require__(36);\nvar toAbsoluteIndex = __webpack_require__(63);\nvar toLength = __webpack_require__(11);\nvar arraySlice = [].slice;\n\n// fallback for not array-like ES3 strings and DOM objects\n$export($export.P + $export.F * __webpack_require__(7)(function () {\n if (html) arraySlice.call(html);\n}), 'Array', {\n slice: function slice(begin, end) {\n var len = toLength(this.length);\n var klass = cof(this);\n end = end === undefined ? len : end;\n if (klass == 'Array') return arraySlice.call(this, begin, end);\n var start = toAbsoluteIndex(begin, len);\n var upTo = toAbsoluteIndex(end, len);\n var size = toLength(upTo - start);\n var cloned = new Array(size);\n var i = 0;\n for (; i < size; i++) cloned[i] = klass == 'String'\n ? this.charAt(start + i)\n : this[start + i];\n return cloned;\n }\n});\n\n\n/***/ }),\n/* 363 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar $export = __webpack_require__(1);\nvar aFunction = __webpack_require__(20);\nvar toObject = __webpack_require__(16);\nvar fails = __webpack_require__(7);\nvar $sort = [].sort;\nvar test = [1, 2, 3];\n\n$export($export.P + $export.F * (fails(function () {\n // IE8-\n test.sort(undefined);\n}) || !fails(function () {\n // V8 bug\n test.sort(null);\n // Old WebKit\n}) || !__webpack_require__(38)($sort)), 'Array', {\n // 22.1.3.25 Array.prototype.sort(comparefn)\n sort: function sort(comparefn) {\n return comparefn === undefined\n ? $sort.call(toObject(this))\n : $sort.call(toObject(this), aFunction(comparefn));\n }\n});\n\n\n/***/ }),\n/* 364 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar $export = __webpack_require__(1);\nvar $forEach = __webpack_require__(44)(0);\nvar STRICT = __webpack_require__(38)([].forEach, true);\n\n$export($export.P + $export.F * !STRICT, 'Array', {\n // 22.1.3.10 / 15.4.4.18 Array.prototype.forEach(callbackfn [, thisArg])\n forEach: function forEach(callbackfn /* , thisArg */) {\n return $forEach(this, callbackfn, arguments[1]);\n }\n});\n\n\n/***/ }),\n/* 365 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar isObject = __webpack_require__(8);\nvar isArray = __webpack_require__(103);\nvar SPECIES = __webpack_require__(10)('species');\n\nmodule.exports = function (original) {\n var C;\n if (isArray(original)) {\n C = original.constructor;\n // cross-realm fallback\n if (typeof C == 'function' && (C === Array || isArray(C.prototype))) C = undefined;\n if (isObject(C)) {\n C = C[SPECIES];\n if (C === null) C = undefined;\n }\n } return C === undefined ? Array : C;\n};\n\n\n/***/ }),\n/* 366 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar $export = __webpack_require__(1);\nvar $map = __webpack_require__(44)(1);\n\n$export($export.P + $export.F * !__webpack_require__(38)([].map, true), 'Array', {\n // 22.1.3.15 / 15.4.4.19 Array.prototype.map(callbackfn [, thisArg])\n map: function map(callbackfn /* , thisArg */) {\n return $map(this, callbackfn, arguments[1]);\n }\n});\n\n\n/***/ }),\n/* 367 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar $export = __webpack_require__(1);\nvar $filter = __webpack_require__(44)(2);\n\n$export($export.P + $export.F * !__webpack_require__(38)([].filter, true), 'Array', {\n // 22.1.3.7 / 15.4.4.20 Array.prototype.filter(callbackfn [, thisArg])\n filter: function filter(callbackfn /* , thisArg */) {\n return $filter(this, callbackfn, arguments[1]);\n }\n});\n\n\n/***/ }),\n/* 368 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar $export = __webpack_require__(1);\nvar $some = __webpack_require__(44)(3);\n\n$export($export.P + $export.F * !__webpack_require__(38)([].some, true), 'Array', {\n // 22.1.3.23 / 15.4.4.17 Array.prototype.some(callbackfn [, thisArg])\n some: function some(callbackfn /* , thisArg */) {\n return $some(this, callbackfn, arguments[1]);\n }\n});\n\n\n/***/ }),\n/* 369 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar $export = __webpack_require__(1);\nvar $every = __webpack_require__(44)(4);\n\n$export($export.P + $export.F * !__webpack_require__(38)([].every, true), 'Array', {\n // 22.1.3.5 / 15.4.4.16 Array.prototype.every(callbackfn [, thisArg])\n every: function every(callbackfn /* , thisArg */) {\n return $every(this, callbackfn, arguments[1]);\n }\n});\n\n\n/***/ }),\n/* 370 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar $export = __webpack_require__(1);\nvar $reduce = __webpack_require__(199);\n\n$export($export.P + $export.F * !__webpack_require__(38)([].reduce, true), 'Array', {\n // 22.1.3.18 / 15.4.4.21 Array.prototype.reduce(callbackfn [, initialValue])\n reduce: function reduce(callbackfn /* , initialValue */) {\n return $reduce(this, callbackfn, arguments.length, arguments[1], false);\n }\n});\n\n\n/***/ }),\n/* 371 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar $export = __webpack_require__(1);\nvar $reduce = __webpack_require__(199);\n\n$export($export.P + $export.F * !__webpack_require__(38)([].reduceRight, true), 'Array', {\n // 22.1.3.19 / 15.4.4.22 Array.prototype.reduceRight(callbackfn [, initialValue])\n reduceRight: function reduceRight(callbackfn /* , initialValue */) {\n return $reduce(this, callbackfn, arguments.length, arguments[1], true);\n }\n});\n\n\n/***/ }),\n/* 372 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar $export = __webpack_require__(1);\nvar $indexOf = __webpack_require__(101)(false);\nvar $native = [].indexOf;\nvar NEGATIVE_ZERO = !!$native && 1 / [1].indexOf(1, -0) < 0;\n\n$export($export.P + $export.F * (NEGATIVE_ZERO || !__webpack_require__(38)($native)), 'Array', {\n // 22.1.3.11 / 15.4.4.14 Array.prototype.indexOf(searchElement [, fromIndex])\n indexOf: function indexOf(searchElement /* , fromIndex = 0 */) {\n return NEGATIVE_ZERO\n // convert -0 to +0\n ? $native.apply(this, arguments) || 0\n : $indexOf(this, searchElement, arguments[1]);\n }\n});\n\n\n/***/ }),\n/* 373 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar $export = __webpack_require__(1);\nvar toIObject = __webpack_require__(30);\nvar toInteger = __webpack_require__(37);\nvar toLength = __webpack_require__(11);\nvar $native = [].lastIndexOf;\nvar NEGATIVE_ZERO = !!$native && 1 / [1].lastIndexOf(1, -0) < 0;\n\n$export($export.P + $export.F * (NEGATIVE_ZERO || !__webpack_require__(38)($native)), 'Array', {\n // 22.1.3.14 / 15.4.4.15 Array.prototype.lastIndexOf(searchElement [, fromIndex])\n lastIndexOf: function lastIndexOf(searchElement /* , fromIndex = @[*-1] */) {\n // convert -0 to +0\n if (NEGATIVE_ZERO) return $native.apply(this, arguments) || 0;\n var O = toIObject(this);\n var length = toLength(O.length);\n var index = length - 1;\n if (arguments.length > 1) index = Math.min(index, toInteger(arguments[1]));\n if (index < 0) index = length + index;\n for (;index >= 0; index--) if (index in O) if (O[index] === searchElement) return index || 0;\n return -1;\n }\n});\n\n\n/***/ }),\n/* 374 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 22.1.3.3 Array.prototype.copyWithin(target, start, end = this.length)\nvar $export = __webpack_require__(1);\n\n$export($export.P, 'Array', { copyWithin: __webpack_require__(200) });\n\n__webpack_require__(55)('copyWithin');\n\n\n/***/ }),\n/* 375 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 22.1.3.6 Array.prototype.fill(value, start = 0, end = this.length)\nvar $export = __webpack_require__(1);\n\n$export($export.P, 'Array', { fill: __webpack_require__(143) });\n\n__webpack_require__(55)('fill');\n\n\n/***/ }),\n/* 376 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n// 22.1.3.8 Array.prototype.find(predicate, thisArg = undefined)\nvar $export = __webpack_require__(1);\nvar $find = __webpack_require__(44)(5);\nvar KEY = 'find';\nvar forced = true;\n// Shouldn't skip holes\nif (KEY in []) Array(1)[KEY](function () { forced = false; });\n$export($export.P + $export.F * forced, 'Array', {\n find: function find(callbackfn /* , that = undefined */) {\n return $find(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\n__webpack_require__(55)(KEY);\n\n\n/***/ }),\n/* 377 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n// 22.1.3.9 Array.prototype.findIndex(predicate, thisArg = undefined)\nvar $export = __webpack_require__(1);\nvar $find = __webpack_require__(44)(6);\nvar KEY = 'findIndex';\nvar forced = true;\n// Shouldn't skip holes\nif (KEY in []) Array(1)[KEY](function () { forced = false; });\n$export($export.P + $export.F * forced, 'Array', {\n findIndex: function findIndex(callbackfn /* , that = undefined */) {\n return $find(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\n__webpack_require__(55)(KEY);\n\n\n/***/ }),\n/* 378 */\n/***/ (function(module, exports, __webpack_require__) {\n\n__webpack_require__(66)('Array');\n\n\n/***/ }),\n/* 379 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar global = __webpack_require__(5);\nvar inheritIfRequired = __webpack_require__(131);\nvar dP = __webpack_require__(15).f;\nvar gOPN = __webpack_require__(65).f;\nvar isRegExp = __webpack_require__(105);\nvar $flags = __webpack_require__(87);\nvar $RegExp = global.RegExp;\nvar Base = $RegExp;\nvar proto = $RegExp.prototype;\nvar re1 = /a/g;\nvar re2 = /a/g;\n// \"new\" creates a new object, old webkit buggy here\nvar CORRECT_NEW = new $RegExp(re1) !== re1;\n\nif (__webpack_require__(12) && (!CORRECT_NEW || __webpack_require__(7)(function () {\n re2[__webpack_require__(10)('match')] = false;\n // RegExp constructor can alter flags and IsRegExp works correct with @@match\n return $RegExp(re1) != re1 || $RegExp(re2) == re2 || $RegExp(re1, 'i') != '/a/i';\n}))) {\n $RegExp = function RegExp(p, f) {\n var tiRE = this instanceof $RegExp;\n var piRE = isRegExp(p);\n var fiU = f === undefined;\n return !tiRE && piRE && p.constructor === $RegExp && fiU ? p\n : inheritIfRequired(CORRECT_NEW\n ? new Base(piRE && !fiU ? p.source : p, f)\n : Base((piRE = p instanceof $RegExp) ? p.source : p, piRE && fiU ? $flags.call(p) : f)\n , tiRE ? this : proto, $RegExp);\n };\n var proxy = function (key) {\n key in $RegExp || dP($RegExp, key, {\n configurable: true,\n get: function () { return Base[key]; },\n set: function (it) { Base[key] = it; }\n });\n };\n for (var keys = gOPN(Base), i = 0; keys.length > i;) proxy(keys[i++]);\n proto.constructor = $RegExp;\n $RegExp.prototype = proto;\n __webpack_require__(26)(global, 'RegExp', $RegExp);\n}\n\n__webpack_require__(66)('RegExp');\n\n\n/***/ }),\n/* 380 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n__webpack_require__(203);\nvar anObject = __webpack_require__(3);\nvar $flags = __webpack_require__(87);\nvar DESCRIPTORS = __webpack_require__(12);\nvar TO_STRING = 'toString';\nvar $toString = /./[TO_STRING];\n\nvar define = function (fn) {\n __webpack_require__(26)(RegExp.prototype, TO_STRING, fn, true);\n};\n\n// 21.2.5.14 RegExp.prototype.toString()\nif (__webpack_require__(7)(function () { return $toString.call({ source: 'a', flags: 'b' }) != '/a/b'; })) {\n define(function toString() {\n var R = anObject(this);\n return '/'.concat(R.source, '/',\n 'flags' in R ? R.flags : !DESCRIPTORS && R instanceof RegExp ? $flags.call(R) : undefined);\n });\n// FF44- RegExp#toString has a wrong name\n} else if ($toString.name != TO_STRING) {\n define(function toString() {\n return $toString.call(this);\n });\n}\n\n\n/***/ }),\n/* 381 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar anObject = __webpack_require__(3);\nvar toLength = __webpack_require__(11);\nvar advanceStringIndex = __webpack_require__(146);\nvar regExpExec = __webpack_require__(107);\n\n// @@match logic\n__webpack_require__(108)('match', 1, function (defined, MATCH, $match, maybeCallNative) {\n return [\n // `String.prototype.match` method\n // https://tc39.github.io/ecma262/#sec-string.prototype.match\n function match(regexp) {\n var O = defined(this);\n var fn = regexp == undefined ? undefined : regexp[MATCH];\n return fn !== undefined ? fn.call(regexp, O) : new RegExp(regexp)[MATCH](String(O));\n },\n // `RegExp.prototype[@@match]` method\n // https://tc39.github.io/ecma262/#sec-regexp.prototype-@@match\n function (regexp) {\n var res = maybeCallNative($match, regexp, this);\n if (res.done) return res.value;\n var rx = anObject(regexp);\n var S = String(this);\n if (!rx.global) return regExpExec(rx, S);\n var fullUnicode = rx.unicode;\n rx.lastIndex = 0;\n var A = [];\n var n = 0;\n var result;\n while ((result = regExpExec(rx, S)) !== null) {\n var matchStr = String(result[0]);\n A[n] = matchStr;\n if (matchStr === '') rx.lastIndex = advanceStringIndex(S, toLength(rx.lastIndex), fullUnicode);\n n++;\n }\n return n === 0 ? null : A;\n }\n ];\n});\n\n\n/***/ }),\n/* 382 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar anObject = __webpack_require__(3);\nvar toObject = __webpack_require__(16);\nvar toLength = __webpack_require__(11);\nvar toInteger = __webpack_require__(37);\nvar advanceStringIndex = __webpack_require__(146);\nvar regExpExec = __webpack_require__(107);\nvar max = Math.max;\nvar min = Math.min;\nvar floor = Math.floor;\nvar SUBSTITUTION_SYMBOLS = /\\$([$&`']|\\d\\d?|<[^>]*>)/g;\nvar SUBSTITUTION_SYMBOLS_NO_NAMED = /\\$([$&`']|\\d\\d?)/g;\n\nvar maybeToString = function (it) {\n return it === undefined ? it : String(it);\n};\n\n// @@replace logic\n__webpack_require__(108)('replace', 2, function (defined, REPLACE, $replace, maybeCallNative) {\n return [\n // `String.prototype.replace` method\n // https://tc39.github.io/ecma262/#sec-string.prototype.replace\n function replace(searchValue, replaceValue) {\n var O = defined(this);\n var fn = searchValue == undefined ? undefined : searchValue[REPLACE];\n return fn !== undefined\n ? fn.call(searchValue, O, replaceValue)\n : $replace.call(String(O), searchValue, replaceValue);\n },\n // `RegExp.prototype[@@replace]` method\n // https://tc39.github.io/ecma262/#sec-regexp.prototype-@@replace\n function (regexp, replaceValue) {\n var res = maybeCallNative($replace, regexp, this, replaceValue);\n if (res.done) return res.value;\n\n var rx = anObject(regexp);\n var S = String(this);\n var functionalReplace = typeof replaceValue === 'function';\n if (!functionalReplace) replaceValue = String(replaceValue);\n var global = rx.global;\n if (global) {\n var fullUnicode = rx.unicode;\n rx.lastIndex = 0;\n }\n var results = [];\n while (true) {\n var result = regExpExec(rx, S);\n if (result === null) break;\n results.push(result);\n if (!global) break;\n var matchStr = String(result[0]);\n if (matchStr === '') rx.lastIndex = advanceStringIndex(S, toLength(rx.lastIndex), fullUnicode);\n }\n var accumulatedResult = '';\n var nextSourcePosition = 0;\n for (var i = 0; i < results.length; i++) {\n result = results[i];\n var matched = String(result[0]);\n var position = max(min(toInteger(result.index), S.length), 0);\n var captures = [];\n // NOTE: This is equivalent to\n // captures = result.slice(1).map(maybeToString)\n // but for some reason `nativeSlice.call(result, 1, result.length)` (called in\n // the slice polyfill when slicing native arrays) \"doesn't work\" in safari 9 and\n // causes a crash (https://pastebin.com/N21QzeQA) when trying to debug it.\n for (var j = 1; j < result.length; j++) captures.push(maybeToString(result[j]));\n var namedCaptures = result.groups;\n if (functionalReplace) {\n var replacerArgs = [matched].concat(captures, position, S);\n if (namedCaptures !== undefined) replacerArgs.push(namedCaptures);\n var replacement = String(replaceValue.apply(undefined, replacerArgs));\n } else {\n replacement = getSubstitution(matched, S, position, captures, namedCaptures, replaceValue);\n }\n if (position >= nextSourcePosition) {\n accumulatedResult += S.slice(nextSourcePosition, position) + replacement;\n nextSourcePosition = position + matched.length;\n }\n }\n return accumulatedResult + S.slice(nextSourcePosition);\n }\n ];\n\n // https://tc39.github.io/ecma262/#sec-getsubstitution\n function getSubstitution(matched, str, position, captures, namedCaptures, replacement) {\n var tailPos = position + matched.length;\n var m = captures.length;\n var symbols = SUBSTITUTION_SYMBOLS_NO_NAMED;\n if (namedCaptures !== undefined) {\n namedCaptures = toObject(namedCaptures);\n symbols = SUBSTITUTION_SYMBOLS;\n }\n return $replace.call(replacement, symbols, function (match, ch) {\n var capture;\n switch (ch.charAt(0)) {\n case '$': return '$';\n case '&': return matched;\n case '`': return str.slice(0, position);\n case \"'\": return str.slice(tailPos);\n case '<':\n capture = namedCaptures[ch.slice(1, -1)];\n break;\n default: // \\d\\d?\n var n = +ch;\n if (n === 0) return match;\n if (n > m) {\n var f = floor(n / 10);\n if (f === 0) return match;\n if (f <= m) return captures[f - 1] === undefined ? ch.charAt(1) : captures[f - 1] + ch.charAt(1);\n return match;\n }\n capture = captures[n - 1];\n }\n return capture === undefined ? '' : capture;\n });\n }\n});\n\n\n/***/ }),\n/* 383 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar anObject = __webpack_require__(3);\nvar sameValue = __webpack_require__(189);\nvar regExpExec = __webpack_require__(107);\n\n// @@search logic\n__webpack_require__(108)('search', 1, function (defined, SEARCH, $search, maybeCallNative) {\n return [\n // `String.prototype.search` method\n // https://tc39.github.io/ecma262/#sec-string.prototype.search\n function search(regexp) {\n var O = defined(this);\n var fn = regexp == undefined ? undefined : regexp[SEARCH];\n return fn !== undefined ? fn.call(regexp, O) : new RegExp(regexp)[SEARCH](String(O));\n },\n // `RegExp.prototype[@@search]` method\n // https://tc39.github.io/ecma262/#sec-regexp.prototype-@@search\n function (regexp) {\n var res = maybeCallNative($search, regexp, this);\n if (res.done) return res.value;\n var rx = anObject(regexp);\n var S = String(this);\n var previousLastIndex = rx.lastIndex;\n if (!sameValue(previousLastIndex, 0)) rx.lastIndex = 0;\n var result = regExpExec(rx, S);\n if (!sameValue(rx.lastIndex, previousLastIndex)) rx.lastIndex = previousLastIndex;\n return result === null ? -1 : result.index;\n }\n ];\n});\n\n\n/***/ }),\n/* 384 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar isRegExp = __webpack_require__(105);\nvar anObject = __webpack_require__(3);\nvar speciesConstructor = __webpack_require__(88);\nvar advanceStringIndex = __webpack_require__(146);\nvar toLength = __webpack_require__(11);\nvar callRegExpExec = __webpack_require__(107);\nvar regexpExec = __webpack_require__(145);\nvar fails = __webpack_require__(7);\nvar $min = Math.min;\nvar $push = [].push;\nvar $SPLIT = 'split';\nvar LENGTH = 'length';\nvar LAST_INDEX = 'lastIndex';\nvar MAX_UINT32 = 0xffffffff;\n\n// babel-minify transpiles RegExp('x', 'y') -> /x/y and it causes SyntaxError\nvar SUPPORTS_Y = !fails(function () { RegExp(MAX_UINT32, 'y'); });\n\n// @@split logic\n__webpack_require__(108)('split', 2, function (defined, SPLIT, $split, maybeCallNative) {\n var internalSplit;\n if (\n 'abbc'[$SPLIT](/(b)*/)[1] == 'c' ||\n 'test'[$SPLIT](/(?:)/, -1)[LENGTH] != 4 ||\n 'ab'[$SPLIT](/(?:ab)*/)[LENGTH] != 2 ||\n '.'[$SPLIT](/(.?)(.?)/)[LENGTH] != 4 ||\n '.'[$SPLIT](/()()/)[LENGTH] > 1 ||\n ''[$SPLIT](/.?/)[LENGTH]\n ) {\n // based on es5-shim implementation, need to rework it\n internalSplit = function (separator, limit) {\n var string = String(this);\n if (separator === undefined && limit === 0) return [];\n // If `separator` is not a regex, use native split\n if (!isRegExp(separator)) return $split.call(string, separator, limit);\n var output = [];\n var flags = (separator.ignoreCase ? 'i' : '') +\n (separator.multiline ? 'm' : '') +\n (separator.unicode ? 'u' : '') +\n (separator.sticky ? 'y' : '');\n var lastLastIndex = 0;\n var splitLimit = limit === undefined ? MAX_UINT32 : limit >>> 0;\n // Make `global` and avoid `lastIndex` issues by working with a copy\n var separatorCopy = new RegExp(separator.source, flags + 'g');\n var match, lastIndex, lastLength;\n while (match = regexpExec.call(separatorCopy, string)) {\n lastIndex = separatorCopy[LAST_INDEX];\n if (lastIndex > lastLastIndex) {\n output.push(string.slice(lastLastIndex, match.index));\n if (match[LENGTH] > 1 && match.index < string[LENGTH]) $push.apply(output, match.slice(1));\n lastLength = match[0][LENGTH];\n lastLastIndex = lastIndex;\n if (output[LENGTH] >= splitLimit) break;\n }\n if (separatorCopy[LAST_INDEX] === match.index) separatorCopy[LAST_INDEX]++; // Avoid an infinite loop\n }\n if (lastLastIndex === string[LENGTH]) {\n if (lastLength || !separatorCopy.test('')) output.push('');\n } else output.push(string.slice(lastLastIndex));\n return output[LENGTH] > splitLimit ? output.slice(0, splitLimit) : output;\n };\n // Chakra, V8\n } else if ('0'[$SPLIT](undefined, 0)[LENGTH]) {\n internalSplit = function (separator, limit) {\n return separator === undefined && limit === 0 ? [] : $split.call(this, separator, limit);\n };\n } else {\n internalSplit = $split;\n }\n\n return [\n // `String.prototype.split` method\n // https://tc39.github.io/ecma262/#sec-string.prototype.split\n function split(separator, limit) {\n var O = defined(this);\n var splitter = separator == undefined ? undefined : separator[SPLIT];\n return splitter !== undefined\n ? splitter.call(separator, O, limit)\n : internalSplit.call(String(O), separator, limit);\n },\n // `RegExp.prototype[@@split]` method\n // https://tc39.github.io/ecma262/#sec-regexp.prototype-@@split\n //\n // NOTE: This cannot be properly polyfilled in engines that don't support\n // the 'y' flag.\n function (regexp, limit) {\n var res = maybeCallNative(internalSplit, regexp, this, limit, internalSplit !== $split);\n if (res.done) return res.value;\n\n var rx = anObject(regexp);\n var S = String(this);\n var C = speciesConstructor(rx, RegExp);\n\n var unicodeMatching = rx.unicode;\n var flags = (rx.ignoreCase ? 'i' : '') +\n (rx.multiline ? 'm' : '') +\n (rx.unicode ? 'u' : '') +\n (SUPPORTS_Y ? 'y' : 'g');\n\n // ^(? + rx + ) is needed, in combination with some S slicing, to\n // simulate the 'y' flag.\n var splitter = new C(SUPPORTS_Y ? rx : '^(?:' + rx.source + ')', flags);\n var lim = limit === undefined ? MAX_UINT32 : limit >>> 0;\n if (lim === 0) return [];\n if (S.length === 0) return callRegExpExec(splitter, S) === null ? [S] : [];\n var p = 0;\n var q = 0;\n var A = [];\n while (q < S.length) {\n splitter.lastIndex = SUPPORTS_Y ? q : 0;\n var z = callRegExpExec(splitter, SUPPORTS_Y ? S : S.slice(q));\n var e;\n if (\n z === null ||\n (e = $min(toLength(splitter.lastIndex + (SUPPORTS_Y ? 0 : q)), S.length)) === p\n ) {\n q = advanceStringIndex(S, q, unicodeMatching);\n } else {\n A.push(S.slice(p, q));\n if (A.length === lim) return A;\n for (var i = 1; i <= z.length - 1; i++) {\n A.push(z[i]);\n if (A.length === lim) return A;\n }\n q = p = e;\n }\n }\n A.push(S.slice(p));\n return A;\n }\n ];\n});\n\n\n/***/ }),\n/* 385 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar LIBRARY = __webpack_require__(53);\nvar global = __webpack_require__(5);\nvar ctx = __webpack_require__(35);\nvar classof = __webpack_require__(74);\nvar $export = __webpack_require__(1);\nvar isObject = __webpack_require__(8);\nvar aFunction = __webpack_require__(20);\nvar anInstance = __webpack_require__(67);\nvar forOf = __webpack_require__(68);\nvar speciesConstructor = __webpack_require__(88);\nvar task = __webpack_require__(147).set;\nvar microtask = __webpack_require__(148)();\nvar newPromiseCapabilityModule = __webpack_require__(149);\nvar perform = __webpack_require__(204);\nvar userAgent = __webpack_require__(109);\nvar promiseResolve = __webpack_require__(205);\nvar PROMISE = 'Promise';\nvar TypeError = global.TypeError;\nvar process = global.process;\nvar versions = process && process.versions;\nvar v8 = versions && versions.v8 || '';\nvar $Promise = global[PROMISE];\nvar isNode = classof(process) == 'process';\nvar empty = function () { /* empty */ };\nvar Internal, newGenericPromiseCapability, OwnPromiseCapability, Wrapper;\nvar newPromiseCapability = newGenericPromiseCapability = newPromiseCapabilityModule.f;\n\nvar USE_NATIVE = !!function () {\n try {\n // correct subclassing with @@species support\n var promise = $Promise.resolve(1);\n var FakePromise = (promise.constructor = {})[__webpack_require__(10)('species')] = function (exec) {\n exec(empty, empty);\n };\n // unhandled rejections tracking support, NodeJS Promise without it fails @@species test\n return (isNode || typeof PromiseRejectionEvent == 'function')\n && promise.then(empty) instanceof FakePromise\n // v8 6.6 (Node 10 and Chrome 66) have a bug with resolving custom thenables\n // https://bugs.chromium.org/p/chromium/issues/detail?id=830565\n // we can't detect it synchronously, so just check versions\n && v8.indexOf('6.6') !== 0\n && userAgent.indexOf('Chrome/66') === -1;\n } catch (e) { /* empty */ }\n}();\n\n// helpers\nvar isThenable = function (it) {\n var then;\n return isObject(it) && typeof (then = it.then) == 'function' ? then : false;\n};\nvar notify = function (promise, isReject) {\n if (promise._n) return;\n promise._n = true;\n var chain = promise._c;\n microtask(function () {\n var value = promise._v;\n var ok = promise._s == 1;\n var i = 0;\n var run = function (reaction) {\n var handler = ok ? reaction.ok : reaction.fail;\n var resolve = reaction.resolve;\n var reject = reaction.reject;\n var domain = reaction.domain;\n var result, then, exited;\n try {\n if (handler) {\n if (!ok) {\n if (promise._h == 2) onHandleUnhandled(promise);\n promise._h = 1;\n }\n if (handler === true) result = value;\n else {\n if (domain) domain.enter();\n result = handler(value); // may throw\n if (domain) {\n domain.exit();\n exited = true;\n }\n }\n if (result === reaction.promise) {\n reject(TypeError('Promise-chain cycle'));\n } else if (then = isThenable(result)) {\n then.call(result, resolve, reject);\n } else resolve(result);\n } else reject(value);\n } catch (e) {\n if (domain && !exited) domain.exit();\n reject(e);\n }\n };\n while (chain.length > i) run(chain[i++]); // variable length - can't use forEach\n promise._c = [];\n promise._n = false;\n if (isReject && !promise._h) onUnhandled(promise);\n });\n};\nvar onUnhandled = function (promise) {\n task.call(global, function () {\n var value = promise._v;\n var unhandled = isUnhandled(promise);\n var result, handler, console;\n if (unhandled) {\n result = perform(function () {\n if (isNode) {\n process.emit('unhandledRejection', value, promise);\n } else if (handler = global.onunhandledrejection) {\n handler({ promise: promise, reason: value });\n } else if ((console = global.console) && console.error) {\n console.error('Unhandled promise rejection', value);\n }\n });\n // Browsers should not trigger `rejectionHandled` event if it was handled here, NodeJS - should\n promise._h = isNode || isUnhandled(promise) ? 2 : 1;\n } promise._a = undefined;\n if (unhandled && result.e) throw result.v;\n });\n};\nvar isUnhandled = function (promise) {\n return promise._h !== 1 && (promise._a || promise._c).length === 0;\n};\nvar onHandleUnhandled = function (promise) {\n task.call(global, function () {\n var handler;\n if (isNode) {\n process.emit('rejectionHandled', promise);\n } else if (handler = global.onrejectionhandled) {\n handler({ promise: promise, reason: promise._v });\n }\n });\n};\nvar $reject = function (value) {\n var promise = this;\n if (promise._d) return;\n promise._d = true;\n promise = promise._w || promise; // unwrap\n promise._v = value;\n promise._s = 2;\n if (!promise._a) promise._a = promise._c.slice();\n notify(promise, true);\n};\nvar $resolve = function (value) {\n var promise = this;\n var then;\n if (promise._d) return;\n promise._d = true;\n promise = promise._w || promise; // unwrap\n try {\n if (promise === value) throw TypeError(\"Promise can't be resolved itself\");\n if (then = isThenable(value)) {\n microtask(function () {\n var wrapper = { _w: promise, _d: false }; // wrap\n try {\n then.call(value, ctx($resolve, wrapper, 1), ctx($reject, wrapper, 1));\n } catch (e) {\n $reject.call(wrapper, e);\n }\n });\n } else {\n promise._v = value;\n promise._s = 1;\n notify(promise, false);\n }\n } catch (e) {\n $reject.call({ _w: promise, _d: false }, e); // wrap\n }\n};\n\n// constructor polyfill\nif (!USE_NATIVE) {\n // 25.4.3.1 Promise(executor)\n $Promise = function Promise(executor) {\n anInstance(this, $Promise, PROMISE, '_h');\n aFunction(executor);\n Internal.call(this);\n try {\n executor(ctx($resolve, this, 1), ctx($reject, this, 1));\n } catch (err) {\n $reject.call(this, err);\n }\n };\n // eslint-disable-next-line no-unused-vars\n Internal = function Promise(executor) {\n this._c = []; // <- awaiting reactions\n this._a = undefined; // <- checked in isUnhandled reactions\n this._s = 0; // <- state\n this._d = false; // <- done\n this._v = undefined; // <- value\n this._h = 0; // <- rejection state, 0 - default, 1 - handled, 2 - unhandled\n this._n = false; // <- notify\n };\n Internal.prototype = __webpack_require__(69)($Promise.prototype, {\n // 25.4.5.3 Promise.prototype.then(onFulfilled, onRejected)\n then: function then(onFulfilled, onRejected) {\n var reaction = newPromiseCapability(speciesConstructor(this, $Promise));\n reaction.ok = typeof onFulfilled == 'function' ? onFulfilled : true;\n reaction.fail = typeof onRejected == 'function' && onRejected;\n reaction.domain = isNode ? process.domain : undefined;\n this._c.push(reaction);\n if (this._a) this._a.push(reaction);\n if (this._s) notify(this, false);\n return reaction.promise;\n },\n // 25.4.5.1 Promise.prototype.catch(onRejected)\n 'catch': function (onRejected) {\n return this.then(undefined, onRejected);\n }\n });\n OwnPromiseCapability = function () {\n var promise = new Internal();\n this.promise = promise;\n this.resolve = ctx($resolve, promise, 1);\n this.reject = ctx($reject, promise, 1);\n };\n newPromiseCapabilityModule.f = newPromiseCapability = function (C) {\n return C === $Promise || C === Wrapper\n ? new OwnPromiseCapability(C)\n : newGenericPromiseCapability(C);\n };\n}\n\n$export($export.G + $export.W + $export.F * !USE_NATIVE, { Promise: $Promise });\n__webpack_require__(73)($Promise, PROMISE);\n__webpack_require__(66)(PROMISE);\nWrapper = __webpack_require__(34)[PROMISE];\n\n// statics\n$export($export.S + $export.F * !USE_NATIVE, PROMISE, {\n // 25.4.4.5 Promise.reject(r)\n reject: function reject(r) {\n var capability = newPromiseCapability(this);\n var $$reject = capability.reject;\n $$reject(r);\n return capability.promise;\n }\n});\n$export($export.S + $export.F * (LIBRARY || !USE_NATIVE), PROMISE, {\n // 25.4.4.6 Promise.resolve(x)\n resolve: function resolve(x) {\n return promiseResolve(LIBRARY && this === Wrapper ? $Promise : this, x);\n }\n});\n$export($export.S + $export.F * !(USE_NATIVE && __webpack_require__(106)(function (iter) {\n $Promise.all(iter)['catch'](empty);\n})), PROMISE, {\n // 25.4.4.1 Promise.all(iterable)\n all: function all(iterable) {\n var C = this;\n var capability = newPromiseCapability(C);\n var resolve = capability.resolve;\n var reject = capability.reject;\n var result = perform(function () {\n var values = [];\n var index = 0;\n var remaining = 1;\n forOf(iterable, false, function (promise) {\n var $index = index++;\n var alreadyCalled = false;\n values.push(undefined);\n remaining++;\n C.resolve(promise).then(function (value) {\n if (alreadyCalled) return;\n alreadyCalled = true;\n values[$index] = value;\n --remaining || resolve(values);\n }, reject);\n });\n --remaining || resolve(values);\n });\n if (result.e) reject(result.v);\n return capability.promise;\n },\n // 25.4.4.4 Promise.race(iterable)\n race: function race(iterable) {\n var C = this;\n var capability = newPromiseCapability(C);\n var reject = capability.reject;\n var result = perform(function () {\n forOf(iterable, false, function (promise) {\n C.resolve(promise).then(capability.resolve, reject);\n });\n });\n if (result.e) reject(result.v);\n return capability.promise;\n }\n});\n\n\n/***/ }),\n/* 386 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar weak = __webpack_require__(210);\nvar validate = __webpack_require__(70);\nvar WEAK_SET = 'WeakSet';\n\n// 23.4 WeakSet Objects\n__webpack_require__(110)(WEAK_SET, function (get) {\n return function WeakSet() { return get(this, arguments.length > 0 ? arguments[0] : undefined); };\n}, {\n // 23.4.3.1 WeakSet.prototype.add(value)\n add: function add(value) {\n return weak.def(validate(this, WEAK_SET), value, true);\n }\n}, weak, false, true);\n\n\n/***/ }),\n/* 387 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar $export = __webpack_require__(1);\nvar $typed = __webpack_require__(111);\nvar buffer = __webpack_require__(150);\nvar anObject = __webpack_require__(3);\nvar toAbsoluteIndex = __webpack_require__(63);\nvar toLength = __webpack_require__(11);\nvar isObject = __webpack_require__(8);\nvar ArrayBuffer = __webpack_require__(5).ArrayBuffer;\nvar speciesConstructor = __webpack_require__(88);\nvar $ArrayBuffer = buffer.ArrayBuffer;\nvar $DataView = buffer.DataView;\nvar $isView = $typed.ABV && ArrayBuffer.isView;\nvar $slice = $ArrayBuffer.prototype.slice;\nvar VIEW = $typed.VIEW;\nvar ARRAY_BUFFER = 'ArrayBuffer';\n\n$export($export.G + $export.W + $export.F * (ArrayBuffer !== $ArrayBuffer), { ArrayBuffer: $ArrayBuffer });\n\n$export($export.S + $export.F * !$typed.CONSTR, ARRAY_BUFFER, {\n // 24.1.3.1 ArrayBuffer.isView(arg)\n isView: function isView(it) {\n return $isView && $isView(it) || isObject(it) && VIEW in it;\n }\n});\n\n$export($export.P + $export.U + $export.F * __webpack_require__(7)(function () {\n return !new $ArrayBuffer(2).slice(1, undefined).byteLength;\n}), ARRAY_BUFFER, {\n // 24.1.4.3 ArrayBuffer.prototype.slice(start, end)\n slice: function slice(start, end) {\n if ($slice !== undefined && end === undefined) return $slice.call(anObject(this), start); // FF fix\n var len = anObject(this).byteLength;\n var first = toAbsoluteIndex(start, len);\n var fin = toAbsoluteIndex(end === undefined ? len : end, len);\n var result = new (speciesConstructor(this, $ArrayBuffer))(toLength(fin - first));\n var viewS = new $DataView(this);\n var viewT = new $DataView(result);\n var index = 0;\n while (first < fin) {\n viewT.setUint8(index++, viewS.getUint8(first++));\n } return result;\n }\n});\n\n__webpack_require__(66)(ARRAY_BUFFER);\n\n\n/***/ }),\n/* 388 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar $export = __webpack_require__(1);\n$export($export.G + $export.W + $export.F * !__webpack_require__(111).ABV, {\n DataView: __webpack_require__(150).DataView\n});\n\n\n/***/ }),\n/* 389 */\n/***/ (function(module, exports, __webpack_require__) {\n\n__webpack_require__(48)('Int8', 1, function (init) {\n return function Int8Array(data, byteOffset, length) {\n return init(this, data, byteOffset, length);\n };\n});\n\n\n/***/ }),\n/* 390 */\n/***/ (function(module, exports, __webpack_require__) {\n\n__webpack_require__(48)('Uint8', 1, function (init) {\n return function Uint8Array(data, byteOffset, length) {\n return init(this, data, byteOffset, length);\n };\n});\n\n\n/***/ }),\n/* 391 */\n/***/ (function(module, exports, __webpack_require__) {\n\n__webpack_require__(48)('Uint8', 1, function (init) {\n return function Uint8ClampedArray(data, byteOffset, length) {\n return init(this, data, byteOffset, length);\n };\n}, true);\n\n\n/***/ }),\n/* 392 */\n/***/ (function(module, exports, __webpack_require__) {\n\n__webpack_require__(48)('Int16', 2, function (init) {\n return function Int16Array(data, byteOffset, length) {\n return init(this, data, byteOffset, length);\n };\n});\n\n\n/***/ }),\n/* 393 */\n/***/ (function(module, exports, __webpack_require__) {\n\n__webpack_require__(48)('Uint16', 2, function (init) {\n return function Uint16Array(data, byteOffset, length) {\n return init(this, data, byteOffset, length);\n };\n});\n\n\n/***/ }),\n/* 394 */\n/***/ (function(module, exports, __webpack_require__) {\n\n__webpack_require__(48)('Int32', 4, function (init) {\n return function Int32Array(data, byteOffset, length) {\n return init(this, data, byteOffset, length);\n };\n});\n\n\n/***/ }),\n/* 395 */\n/***/ (function(module, exports, __webpack_require__) {\n\n__webpack_require__(48)('Uint32', 4, function (init) {\n return function Uint32Array(data, byteOffset, length) {\n return init(this, data, byteOffset, length);\n };\n});\n\n\n/***/ }),\n/* 396 */\n/***/ (function(module, exports, __webpack_require__) {\n\n__webpack_require__(48)('Float32', 4, function (init) {\n return function Float32Array(data, byteOffset, length) {\n return init(this, data, byteOffset, length);\n };\n});\n\n\n/***/ }),\n/* 397 */\n/***/ (function(module, exports, __webpack_require__) {\n\n__webpack_require__(48)('Float64', 8, function (init) {\n return function Float64Array(data, byteOffset, length) {\n return init(this, data, byteOffset, length);\n };\n});\n\n\n/***/ }),\n/* 398 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 26.1.1 Reflect.apply(target, thisArgument, argumentsList)\nvar $export = __webpack_require__(1);\nvar aFunction = __webpack_require__(20);\nvar anObject = __webpack_require__(3);\nvar rApply = (__webpack_require__(5).Reflect || {}).apply;\nvar fApply = Function.apply;\n// MS Edge argumentsList argument is optional\n$export($export.S + $export.F * !__webpack_require__(7)(function () {\n rApply(function () { /* empty */ });\n}), 'Reflect', {\n apply: function apply(target, thisArgument, argumentsList) {\n var T = aFunction(target);\n var L = anObject(argumentsList);\n return rApply ? rApply(T, thisArgument, L) : fApply.call(T, thisArgument, L);\n }\n});\n\n\n/***/ }),\n/* 399 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 26.1.2 Reflect.construct(target, argumentsList [, newTarget])\nvar $export = __webpack_require__(1);\nvar create = __webpack_require__(64);\nvar aFunction = __webpack_require__(20);\nvar anObject = __webpack_require__(3);\nvar isObject = __webpack_require__(8);\nvar fails = __webpack_require__(7);\nvar bind = __webpack_require__(190);\nvar rConstruct = (__webpack_require__(5).Reflect || {}).construct;\n\n// MS Edge supports only 2 arguments and argumentsList argument is optional\n// FF Nightly sets third argument as `new.target`, but does not create `this` from it\nvar NEW_TARGET_BUG = fails(function () {\n function F() { /* empty */ }\n return !(rConstruct(function () { /* empty */ }, [], F) instanceof F);\n});\nvar ARGS_BUG = !fails(function () {\n rConstruct(function () { /* empty */ });\n});\n\n$export($export.S + $export.F * (NEW_TARGET_BUG || ARGS_BUG), 'Reflect', {\n construct: function construct(Target, args /* , newTarget */) {\n aFunction(Target);\n anObject(args);\n var newTarget = arguments.length < 3 ? Target : aFunction(arguments[2]);\n if (ARGS_BUG && !NEW_TARGET_BUG) return rConstruct(Target, args, newTarget);\n if (Target == newTarget) {\n // w/o altered newTarget, optimization for 0-4 arguments\n switch (args.length) {\n case 0: return new Target();\n case 1: return new Target(args[0]);\n case 2: return new Target(args[0], args[1]);\n case 3: return new Target(args[0], args[1], args[2]);\n case 4: return new Target(args[0], args[1], args[2], args[3]);\n }\n // w/o altered newTarget, lot of arguments case\n var $args = [null];\n $args.push.apply($args, args);\n return new (bind.apply(Target, $args))();\n }\n // with altered newTarget, not support built-in constructors\n var proto = newTarget.prototype;\n var instance = create(isObject(proto) ? proto : Object.prototype);\n var result = Function.apply.call(Target, instance, args);\n return isObject(result) ? result : instance;\n }\n});\n\n\n/***/ }),\n/* 400 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 26.1.3 Reflect.defineProperty(target, propertyKey, attributes)\nvar dP = __webpack_require__(15);\nvar $export = __webpack_require__(1);\nvar anObject = __webpack_require__(3);\nvar toPrimitive = __webpack_require__(41);\n\n// MS Edge has broken Reflect.defineProperty - throwing instead of returning false\n$export($export.S + $export.F * __webpack_require__(7)(function () {\n // eslint-disable-next-line no-undef\n Reflect.defineProperty(dP.f({}, 1, { value: 1 }), 1, { value: 2 });\n}), 'Reflect', {\n defineProperty: function defineProperty(target, propertyKey, attributes) {\n anObject(target);\n propertyKey = toPrimitive(propertyKey, true);\n anObject(attributes);\n try {\n dP.f(target, propertyKey, attributes);\n return true;\n } catch (e) {\n return false;\n }\n }\n});\n\n\n/***/ }),\n/* 401 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 26.1.4 Reflect.deleteProperty(target, propertyKey)\nvar $export = __webpack_require__(1);\nvar gOPD = __webpack_require__(31).f;\nvar anObject = __webpack_require__(3);\n\n$export($export.S, 'Reflect', {\n deleteProperty: function deleteProperty(target, propertyKey) {\n var desc = gOPD(anObject(target), propertyKey);\n return desc && !desc.configurable ? false : delete target[propertyKey];\n }\n});\n\n\n/***/ }),\n/* 402 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n// 26.1.5 Reflect.enumerate(target)\nvar $export = __webpack_require__(1);\nvar anObject = __webpack_require__(3);\nvar Enumerate = function (iterated) {\n this._t = anObject(iterated); // target\n this._i = 0; // next index\n var keys = this._k = []; // keys\n var key;\n for (key in iterated) keys.push(key);\n};\n__webpack_require__(136)(Enumerate, 'Object', function () {\n var that = this;\n var keys = that._k;\n var key;\n do {\n if (that._i >= keys.length) return { value: undefined, done: true };\n } while (!((key = keys[that._i++]) in that._t));\n return { value: key, done: false };\n});\n\n$export($export.S, 'Reflect', {\n enumerate: function enumerate(target) {\n return new Enumerate(target);\n }\n});\n\n\n/***/ }),\n/* 403 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 26.1.6 Reflect.get(target, propertyKey [, receiver])\nvar gOPD = __webpack_require__(31);\nvar getPrototypeOf = __webpack_require__(32);\nvar has = __webpack_require__(29);\nvar $export = __webpack_require__(1);\nvar isObject = __webpack_require__(8);\nvar anObject = __webpack_require__(3);\n\nfunction get(target, propertyKey /* , receiver */) {\n var receiver = arguments.length < 3 ? target : arguments[2];\n var desc, proto;\n if (anObject(target) === receiver) return target[propertyKey];\n if (desc = gOPD.f(target, propertyKey)) return has(desc, 'value')\n ? desc.value\n : desc.get !== undefined\n ? desc.get.call(receiver)\n : undefined;\n if (isObject(proto = getPrototypeOf(target))) return get(proto, propertyKey, receiver);\n}\n\n$export($export.S, 'Reflect', { get: get });\n\n\n/***/ }),\n/* 404 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 26.1.7 Reflect.getOwnPropertyDescriptor(target, propertyKey)\nvar gOPD = __webpack_require__(31);\nvar $export = __webpack_require__(1);\nvar anObject = __webpack_require__(3);\n\n$export($export.S, 'Reflect', {\n getOwnPropertyDescriptor: function getOwnPropertyDescriptor(target, propertyKey) {\n return gOPD.f(anObject(target), propertyKey);\n }\n});\n\n\n/***/ }),\n/* 405 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 26.1.8 Reflect.getPrototypeOf(target)\nvar $export = __webpack_require__(1);\nvar getProto = __webpack_require__(32);\nvar anObject = __webpack_require__(3);\n\n$export($export.S, 'Reflect', {\n getPrototypeOf: function getPrototypeOf(target) {\n return getProto(anObject(target));\n }\n});\n\n\n/***/ }),\n/* 406 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 26.1.9 Reflect.has(target, propertyKey)\nvar $export = __webpack_require__(1);\n\n$export($export.S, 'Reflect', {\n has: function has(target, propertyKey) {\n return propertyKey in target;\n }\n});\n\n\n/***/ }),\n/* 407 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 26.1.10 Reflect.isExtensible(target)\nvar $export = __webpack_require__(1);\nvar anObject = __webpack_require__(3);\nvar $isExtensible = Object.isExtensible;\n\n$export($export.S, 'Reflect', {\n isExtensible: function isExtensible(target) {\n anObject(target);\n return $isExtensible ? $isExtensible(target) : true;\n }\n});\n\n\n/***/ }),\n/* 408 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 26.1.11 Reflect.ownKeys(target)\nvar $export = __webpack_require__(1);\n\n$export($export.S, 'Reflect', { ownKeys: __webpack_require__(212) });\n\n\n/***/ }),\n/* 409 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 26.1.12 Reflect.preventExtensions(target)\nvar $export = __webpack_require__(1);\nvar anObject = __webpack_require__(3);\nvar $preventExtensions = Object.preventExtensions;\n\n$export($export.S, 'Reflect', {\n preventExtensions: function preventExtensions(target) {\n anObject(target);\n try {\n if ($preventExtensions) $preventExtensions(target);\n return true;\n } catch (e) {\n return false;\n }\n }\n});\n\n\n/***/ }),\n/* 410 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 26.1.13 Reflect.set(target, propertyKey, V [, receiver])\nvar dP = __webpack_require__(15);\nvar gOPD = __webpack_require__(31);\nvar getPrototypeOf = __webpack_require__(32);\nvar has = __webpack_require__(29);\nvar $export = __webpack_require__(1);\nvar createDesc = __webpack_require__(60);\nvar anObject = __webpack_require__(3);\nvar isObject = __webpack_require__(8);\n\nfunction set(target, propertyKey, V /* , receiver */) {\n var receiver = arguments.length < 4 ? target : arguments[3];\n var ownDesc = gOPD.f(anObject(target), propertyKey);\n var existingDescriptor, proto;\n if (!ownDesc) {\n if (isObject(proto = getPrototypeOf(target))) {\n return set(proto, propertyKey, V, receiver);\n }\n ownDesc = createDesc(0);\n }\n if (has(ownDesc, 'value')) {\n if (ownDesc.writable === false || !isObject(receiver)) return false;\n if (existingDescriptor = gOPD.f(receiver, propertyKey)) {\n if (existingDescriptor.get || existingDescriptor.set || existingDescriptor.writable === false) return false;\n existingDescriptor.value = V;\n dP.f(receiver, propertyKey, existingDescriptor);\n } else dP.f(receiver, propertyKey, createDesc(0, V));\n return true;\n }\n return ownDesc.set === undefined ? false : (ownDesc.set.call(receiver, V), true);\n}\n\n$export($export.S, 'Reflect', { set: set });\n\n\n/***/ }),\n/* 411 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 26.1.14 Reflect.setPrototypeOf(target, proto)\nvar $export = __webpack_require__(1);\nvar setProto = __webpack_require__(129);\n\nif (setProto) $export($export.S, 'Reflect', {\n setPrototypeOf: function setPrototypeOf(target, proto) {\n setProto.check(target, proto);\n try {\n setProto.set(target, proto);\n return true;\n } catch (e) {\n return false;\n }\n }\n});\n\n\n/***/ }),\n/* 412 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n// https://github.com/tc39/Array.prototype.includes\nvar $export = __webpack_require__(1);\nvar $includes = __webpack_require__(101)(true);\n\n$export($export.P, 'Array', {\n includes: function includes(el /* , fromIndex = 0 */) {\n return $includes(this, el, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\n\n__webpack_require__(55)('includes');\n\n\n/***/ }),\n/* 413 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n// https://tc39.github.io/proposal-flatMap/#sec-Array.prototype.flatMap\nvar $export = __webpack_require__(1);\nvar flattenIntoArray = __webpack_require__(213);\nvar toObject = __webpack_require__(16);\nvar toLength = __webpack_require__(11);\nvar aFunction = __webpack_require__(20);\nvar arraySpeciesCreate = __webpack_require__(142);\n\n$export($export.P, 'Array', {\n flatMap: function flatMap(callbackfn /* , thisArg */) {\n var O = toObject(this);\n var sourceLen, A;\n aFunction(callbackfn);\n sourceLen = toLength(O.length);\n A = arraySpeciesCreate(O, 0);\n flattenIntoArray(A, O, O, sourceLen, 0, 1, callbackfn, arguments[1]);\n return A;\n }\n});\n\n__webpack_require__(55)('flatMap');\n\n\n/***/ }),\n/* 414 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n// https://tc39.github.io/proposal-flatMap/#sec-Array.prototype.flatten\nvar $export = __webpack_require__(1);\nvar flattenIntoArray = __webpack_require__(213);\nvar toObject = __webpack_require__(16);\nvar toLength = __webpack_require__(11);\nvar toInteger = __webpack_require__(37);\nvar arraySpeciesCreate = __webpack_require__(142);\n\n$export($export.P, 'Array', {\n flatten: function flatten(/* depthArg = 1 */) {\n var depthArg = arguments[0];\n var O = toObject(this);\n var sourceLen = toLength(O.length);\n var A = arraySpeciesCreate(O, 0);\n flattenIntoArray(A, O, O, sourceLen, 0, depthArg === undefined ? 1 : toInteger(depthArg));\n return A;\n }\n});\n\n__webpack_require__(55)('flatten');\n\n\n/***/ }),\n/* 415 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n// https://github.com/mathiasbynens/String.prototype.at\nvar $export = __webpack_require__(1);\nvar $at = __webpack_require__(104)(true);\n\n$export($export.P, 'String', {\n at: function at(pos) {\n return $at(this, pos);\n }\n});\n\n\n/***/ }),\n/* 416 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n// https://github.com/tc39/proposal-string-pad-start-end\nvar $export = __webpack_require__(1);\nvar $pad = __webpack_require__(214);\nvar userAgent = __webpack_require__(109);\n\n// https://github.com/zloirock/core-js/issues/280\nvar WEBKIT_BUG = /Version\\/10\\.\\d+(\\.\\d+)?( Mobile\\/\\w+)? Safari\\//.test(userAgent);\n\n$export($export.P + $export.F * WEBKIT_BUG, 'String', {\n padStart: function padStart(maxLength /* , fillString = ' ' */) {\n return $pad(this, maxLength, arguments.length > 1 ? arguments[1] : undefined, true);\n }\n});\n\n\n/***/ }),\n/* 417 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n// https://github.com/tc39/proposal-string-pad-start-end\nvar $export = __webpack_require__(1);\nvar $pad = __webpack_require__(214);\nvar userAgent = __webpack_require__(109);\n\n// https://github.com/zloirock/core-js/issues/280\nvar WEBKIT_BUG = /Version\\/10\\.\\d+(\\.\\d+)?( Mobile\\/\\w+)? Safari\\//.test(userAgent);\n\n$export($export.P + $export.F * WEBKIT_BUG, 'String', {\n padEnd: function padEnd(maxLength /* , fillString = ' ' */) {\n return $pad(this, maxLength, arguments.length > 1 ? arguments[1] : undefined, false);\n }\n});\n\n\n/***/ }),\n/* 418 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n// https://github.com/sebmarkbage/ecmascript-string-left-right-trim\n__webpack_require__(75)('trimLeft', function ($trim) {\n return function trimLeft() {\n return $trim(this, 1);\n };\n}, 'trimStart');\n\n\n/***/ }),\n/* 419 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n// https://github.com/sebmarkbage/ecmascript-string-left-right-trim\n__webpack_require__(75)('trimRight', function ($trim) {\n return function trimRight() {\n return $trim(this, 2);\n };\n}, 'trimEnd');\n\n\n/***/ }),\n/* 420 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n// https://tc39.github.io/String.prototype.matchAll/\nvar $export = __webpack_require__(1);\nvar defined = __webpack_require__(42);\nvar toLength = __webpack_require__(11);\nvar isRegExp = __webpack_require__(105);\nvar getFlags = __webpack_require__(87);\nvar RegExpProto = RegExp.prototype;\n\nvar $RegExpStringIterator = function (regexp, string) {\n this._r = regexp;\n this._s = string;\n};\n\n__webpack_require__(136)($RegExpStringIterator, 'RegExp String', function next() {\n var match = this._r.exec(this._s);\n return { value: match, done: match === null };\n});\n\n$export($export.P, 'String', {\n matchAll: function matchAll(regexp) {\n defined(this);\n if (!isRegExp(regexp)) throw TypeError(regexp + ' is not a regexp!');\n var S = String(this);\n var flags = 'flags' in RegExpProto ? String(regexp.flags) : getFlags.call(regexp);\n var rx = new RegExp(regexp.source, ~flags.indexOf('g') ? flags : 'g' + flags);\n rx.lastIndex = toLength(regexp.lastIndex);\n return new $RegExpStringIterator(rx, S);\n }\n});\n\n\n/***/ }),\n/* 421 */\n/***/ (function(module, exports, __webpack_require__) {\n\n__webpack_require__(125)('asyncIterator');\n\n\n/***/ }),\n/* 422 */\n/***/ (function(module, exports, __webpack_require__) {\n\n__webpack_require__(125)('observable');\n\n\n/***/ }),\n/* 423 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// https://github.com/tc39/proposal-object-getownpropertydescriptors\nvar $export = __webpack_require__(1);\nvar ownKeys = __webpack_require__(212);\nvar toIObject = __webpack_require__(30);\nvar gOPD = __webpack_require__(31);\nvar createProperty = __webpack_require__(140);\n\n$export($export.S, 'Object', {\n getOwnPropertyDescriptors: function getOwnPropertyDescriptors(object) {\n var O = toIObject(object);\n var getDesc = gOPD.f;\n var keys = ownKeys(O);\n var result = {};\n var i = 0;\n var key, desc;\n while (keys.length > i) {\n desc = getDesc(O, key = keys[i++]);\n if (desc !== undefined) createProperty(result, key, desc);\n }\n return result;\n }\n});\n\n\n/***/ }),\n/* 424 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// https://github.com/tc39/proposal-object-values-entries\nvar $export = __webpack_require__(1);\nvar $values = __webpack_require__(215)(false);\n\n$export($export.S, 'Object', {\n values: function values(it) {\n return $values(it);\n }\n});\n\n\n/***/ }),\n/* 425 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// https://github.com/tc39/proposal-object-values-entries\nvar $export = __webpack_require__(1);\nvar $entries = __webpack_require__(215)(true);\n\n$export($export.S, 'Object', {\n entries: function entries(it) {\n return $entries(it);\n }\n});\n\n\n/***/ }),\n/* 426 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar $export = __webpack_require__(1);\nvar toObject = __webpack_require__(16);\nvar aFunction = __webpack_require__(20);\nvar $defineProperty = __webpack_require__(15);\n\n// B.2.2.2 Object.prototype.__defineGetter__(P, getter)\n__webpack_require__(12) && $export($export.P + __webpack_require__(112), 'Object', {\n __defineGetter__: function __defineGetter__(P, getter) {\n $defineProperty.f(toObject(this), P, { get: aFunction(getter), enumerable: true, configurable: true });\n }\n});\n\n\n/***/ }),\n/* 427 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar $export = __webpack_require__(1);\nvar toObject = __webpack_require__(16);\nvar aFunction = __webpack_require__(20);\nvar $defineProperty = __webpack_require__(15);\n\n// B.2.2.3 Object.prototype.__defineSetter__(P, setter)\n__webpack_require__(12) && $export($export.P + __webpack_require__(112), 'Object', {\n __defineSetter__: function __defineSetter__(P, setter) {\n $defineProperty.f(toObject(this), P, { set: aFunction(setter), enumerable: true, configurable: true });\n }\n});\n\n\n/***/ }),\n/* 428 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar $export = __webpack_require__(1);\nvar toObject = __webpack_require__(16);\nvar toPrimitive = __webpack_require__(41);\nvar getPrototypeOf = __webpack_require__(32);\nvar getOwnPropertyDescriptor = __webpack_require__(31).f;\n\n// B.2.2.4 Object.prototype.__lookupGetter__(P)\n__webpack_require__(12) && $export($export.P + __webpack_require__(112), 'Object', {\n __lookupGetter__: function __lookupGetter__(P) {\n var O = toObject(this);\n var K = toPrimitive(P, true);\n var D;\n do {\n if (D = getOwnPropertyDescriptor(O, K)) return D.get;\n } while (O = getPrototypeOf(O));\n }\n});\n\n\n/***/ }),\n/* 429 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar $export = __webpack_require__(1);\nvar toObject = __webpack_require__(16);\nvar toPrimitive = __webpack_require__(41);\nvar getPrototypeOf = __webpack_require__(32);\nvar getOwnPropertyDescriptor = __webpack_require__(31).f;\n\n// B.2.2.5 Object.prototype.__lookupSetter__(P)\n__webpack_require__(12) && $export($export.P + __webpack_require__(112), 'Object', {\n __lookupSetter__: function __lookupSetter__(P) {\n var O = toObject(this);\n var K = toPrimitive(P, true);\n var D;\n do {\n if (D = getOwnPropertyDescriptor(O, K)) return D.set;\n } while (O = getPrototypeOf(O));\n }\n});\n\n\n/***/ }),\n/* 430 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// https://github.com/DavidBruant/Map-Set.prototype.toJSON\nvar $export = __webpack_require__(1);\n\n$export($export.P + $export.R, 'Map', { toJSON: __webpack_require__(216)('Map') });\n\n\n/***/ }),\n/* 431 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// https://github.com/DavidBruant/Map-Set.prototype.toJSON\nvar $export = __webpack_require__(1);\n\n$export($export.P + $export.R, 'Set', { toJSON: __webpack_require__(216)('Set') });\n\n\n/***/ }),\n/* 432 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// https://tc39.github.io/proposal-setmap-offrom/#sec-map.of\n__webpack_require__(113)('Map');\n\n\n/***/ }),\n/* 433 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// https://tc39.github.io/proposal-setmap-offrom/#sec-set.of\n__webpack_require__(113)('Set');\n\n\n/***/ }),\n/* 434 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// https://tc39.github.io/proposal-setmap-offrom/#sec-weakmap.of\n__webpack_require__(113)('WeakMap');\n\n\n/***/ }),\n/* 435 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// https://tc39.github.io/proposal-setmap-offrom/#sec-weakset.of\n__webpack_require__(113)('WeakSet');\n\n\n/***/ }),\n/* 436 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// https://tc39.github.io/proposal-setmap-offrom/#sec-map.from\n__webpack_require__(114)('Map');\n\n\n/***/ }),\n/* 437 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// https://tc39.github.io/proposal-setmap-offrom/#sec-set.from\n__webpack_require__(114)('Set');\n\n\n/***/ }),\n/* 438 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// https://tc39.github.io/proposal-setmap-offrom/#sec-weakmap.from\n__webpack_require__(114)('WeakMap');\n\n\n/***/ }),\n/* 439 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// https://tc39.github.io/proposal-setmap-offrom/#sec-weakset.from\n__webpack_require__(114)('WeakSet');\n\n\n/***/ }),\n/* 440 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// https://github.com/tc39/proposal-global\nvar $export = __webpack_require__(1);\n\n$export($export.G, { global: __webpack_require__(5) });\n\n\n/***/ }),\n/* 441 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// https://github.com/tc39/proposal-global\nvar $export = __webpack_require__(1);\n\n$export($export.S, 'System', { global: __webpack_require__(5) });\n\n\n/***/ }),\n/* 442 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// https://github.com/ljharb/proposal-is-error\nvar $export = __webpack_require__(1);\nvar cof = __webpack_require__(36);\n\n$export($export.S, 'Error', {\n isError: function isError(it) {\n return cof(it) === 'Error';\n }\n});\n\n\n/***/ }),\n/* 443 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// https://rwaldron.github.io/proposal-math-extensions/\nvar $export = __webpack_require__(1);\n\n$export($export.S, 'Math', {\n clamp: function clamp(x, lower, upper) {\n return Math.min(upper, Math.max(lower, x));\n }\n});\n\n\n/***/ }),\n/* 444 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// https://rwaldron.github.io/proposal-math-extensions/\nvar $export = __webpack_require__(1);\n\n$export($export.S, 'Math', { DEG_PER_RAD: Math.PI / 180 });\n\n\n/***/ }),\n/* 445 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// https://rwaldron.github.io/proposal-math-extensions/\nvar $export = __webpack_require__(1);\nvar RAD_PER_DEG = 180 / Math.PI;\n\n$export($export.S, 'Math', {\n degrees: function degrees(radians) {\n return radians * RAD_PER_DEG;\n }\n});\n\n\n/***/ }),\n/* 446 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// https://rwaldron.github.io/proposal-math-extensions/\nvar $export = __webpack_require__(1);\nvar scale = __webpack_require__(218);\nvar fround = __webpack_require__(197);\n\n$export($export.S, 'Math', {\n fscale: function fscale(x, inLow, inHigh, outLow, outHigh) {\n return fround(scale(x, inLow, inHigh, outLow, outHigh));\n }\n});\n\n\n/***/ }),\n/* 447 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// https://gist.github.com/BrendanEich/4294d5c212a6d2254703\nvar $export = __webpack_require__(1);\n\n$export($export.S, 'Math', {\n iaddh: function iaddh(x0, x1, y0, y1) {\n var $x0 = x0 >>> 0;\n var $x1 = x1 >>> 0;\n var $y0 = y0 >>> 0;\n return $x1 + (y1 >>> 0) + (($x0 & $y0 | ($x0 | $y0) & ~($x0 + $y0 >>> 0)) >>> 31) | 0;\n }\n});\n\n\n/***/ }),\n/* 448 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// https://gist.github.com/BrendanEich/4294d5c212a6d2254703\nvar $export = __webpack_require__(1);\n\n$export($export.S, 'Math', {\n isubh: function isubh(x0, x1, y0, y1) {\n var $x0 = x0 >>> 0;\n var $x1 = x1 >>> 0;\n var $y0 = y0 >>> 0;\n return $x1 - (y1 >>> 0) - ((~$x0 & $y0 | ~($x0 ^ $y0) & $x0 - $y0 >>> 0) >>> 31) | 0;\n }\n});\n\n\n/***/ }),\n/* 449 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// https://gist.github.com/BrendanEich/4294d5c212a6d2254703\nvar $export = __webpack_require__(1);\n\n$export($export.S, 'Math', {\n imulh: function imulh(u, v) {\n var UINT16 = 0xffff;\n var $u = +u;\n var $v = +v;\n var u0 = $u & UINT16;\n var v0 = $v & UINT16;\n var u1 = $u >> 16;\n var v1 = $v >> 16;\n var t = (u1 * v0 >>> 0) + (u0 * v0 >>> 16);\n return u1 * v1 + (t >> 16) + ((u0 * v1 >>> 0) + (t & UINT16) >> 16);\n }\n});\n\n\n/***/ }),\n/* 450 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// https://rwaldron.github.io/proposal-math-extensions/\nvar $export = __webpack_require__(1);\n\n$export($export.S, 'Math', { RAD_PER_DEG: 180 / Math.PI });\n\n\n/***/ }),\n/* 451 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// https://rwaldron.github.io/proposal-math-extensions/\nvar $export = __webpack_require__(1);\nvar DEG_PER_RAD = Math.PI / 180;\n\n$export($export.S, 'Math', {\n radians: function radians(degrees) {\n return degrees * DEG_PER_RAD;\n }\n});\n\n\n/***/ }),\n/* 452 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// https://rwaldron.github.io/proposal-math-extensions/\nvar $export = __webpack_require__(1);\n\n$export($export.S, 'Math', { scale: __webpack_require__(218) });\n\n\n/***/ }),\n/* 453 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// https://gist.github.com/BrendanEich/4294d5c212a6d2254703\nvar $export = __webpack_require__(1);\n\n$export($export.S, 'Math', {\n umulh: function umulh(u, v) {\n var UINT16 = 0xffff;\n var $u = +u;\n var $v = +v;\n var u0 = $u & UINT16;\n var v0 = $v & UINT16;\n var u1 = $u >>> 16;\n var v1 = $v >>> 16;\n var t = (u1 * v0 >>> 0) + (u0 * v0 >>> 16);\n return u1 * v1 + (t >>> 16) + ((u0 * v1 >>> 0) + (t & UINT16) >>> 16);\n }\n});\n\n\n/***/ }),\n/* 454 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// http://jfbastien.github.io/papers/Math.signbit.html\nvar $export = __webpack_require__(1);\n\n$export($export.S, 'Math', { signbit: function signbit(x) {\n // eslint-disable-next-line no-self-compare\n return (x = +x) != x ? x : x == 0 ? 1 / x == Infinity : x > 0;\n} });\n\n\n/***/ }),\n/* 455 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n// https://github.com/tc39/proposal-promise-finally\n\nvar $export = __webpack_require__(1);\nvar core = __webpack_require__(34);\nvar global = __webpack_require__(5);\nvar speciesConstructor = __webpack_require__(88);\nvar promiseResolve = __webpack_require__(205);\n\n$export($export.P + $export.R, 'Promise', { 'finally': function (onFinally) {\n var C = speciesConstructor(this, core.Promise || global.Promise);\n var isFunction = typeof onFinally == 'function';\n return this.then(\n isFunction ? function (x) {\n return promiseResolve(C, onFinally()).then(function () { return x; });\n } : onFinally,\n isFunction ? function (e) {\n return promiseResolve(C, onFinally()).then(function () { throw e; });\n } : onFinally\n );\n} });\n\n\n/***/ }),\n/* 456 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n// https://github.com/tc39/proposal-promise-try\nvar $export = __webpack_require__(1);\nvar newPromiseCapability = __webpack_require__(149);\nvar perform = __webpack_require__(204);\n\n$export($export.S, 'Promise', { 'try': function (callbackfn) {\n var promiseCapability = newPromiseCapability.f(this);\n var result = perform(callbackfn);\n (result.e ? promiseCapability.reject : promiseCapability.resolve)(result.v);\n return promiseCapability.promise;\n} });\n\n\n/***/ }),\n/* 457 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar metadata = __webpack_require__(49);\nvar anObject = __webpack_require__(3);\nvar toMetaKey = metadata.key;\nvar ordinaryDefineOwnMetadata = metadata.set;\n\nmetadata.exp({ defineMetadata: function defineMetadata(metadataKey, metadataValue, target, targetKey) {\n ordinaryDefineOwnMetadata(metadataKey, metadataValue, anObject(target), toMetaKey(targetKey));\n} });\n\n\n/***/ }),\n/* 458 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar metadata = __webpack_require__(49);\nvar anObject = __webpack_require__(3);\nvar toMetaKey = metadata.key;\nvar getOrCreateMetadataMap = metadata.map;\nvar store = metadata.store;\n\nmetadata.exp({ deleteMetadata: function deleteMetadata(metadataKey, target /* , targetKey */) {\n var targetKey = arguments.length < 3 ? undefined : toMetaKey(arguments[2]);\n var metadataMap = getOrCreateMetadataMap(anObject(target), targetKey, false);\n if (metadataMap === undefined || !metadataMap['delete'](metadataKey)) return false;\n if (metadataMap.size) return true;\n var targetMetadata = store.get(target);\n targetMetadata['delete'](targetKey);\n return !!targetMetadata.size || store['delete'](target);\n} });\n\n\n/***/ }),\n/* 459 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar metadata = __webpack_require__(49);\nvar anObject = __webpack_require__(3);\nvar getPrototypeOf = __webpack_require__(32);\nvar ordinaryHasOwnMetadata = metadata.has;\nvar ordinaryGetOwnMetadata = metadata.get;\nvar toMetaKey = metadata.key;\n\nvar ordinaryGetMetadata = function (MetadataKey, O, P) {\n var hasOwn = ordinaryHasOwnMetadata(MetadataKey, O, P);\n if (hasOwn) return ordinaryGetOwnMetadata(MetadataKey, O, P);\n var parent = getPrototypeOf(O);\n return parent !== null ? ordinaryGetMetadata(MetadataKey, parent, P) : undefined;\n};\n\nmetadata.exp({ getMetadata: function getMetadata(metadataKey, target /* , targetKey */) {\n return ordinaryGetMetadata(metadataKey, anObject(target), arguments.length < 3 ? undefined : toMetaKey(arguments[2]));\n} });\n\n\n/***/ }),\n/* 460 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar Set = __webpack_require__(208);\nvar from = __webpack_require__(217);\nvar metadata = __webpack_require__(49);\nvar anObject = __webpack_require__(3);\nvar getPrototypeOf = __webpack_require__(32);\nvar ordinaryOwnMetadataKeys = metadata.keys;\nvar toMetaKey = metadata.key;\n\nvar ordinaryMetadataKeys = function (O, P) {\n var oKeys = ordinaryOwnMetadataKeys(O, P);\n var parent = getPrototypeOf(O);\n if (parent === null) return oKeys;\n var pKeys = ordinaryMetadataKeys(parent, P);\n return pKeys.length ? oKeys.length ? from(new Set(oKeys.concat(pKeys))) : pKeys : oKeys;\n};\n\nmetadata.exp({ getMetadataKeys: function getMetadataKeys(target /* , targetKey */) {\n return ordinaryMetadataKeys(anObject(target), arguments.length < 2 ? undefined : toMetaKey(arguments[1]));\n} });\n\n\n/***/ }),\n/* 461 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar metadata = __webpack_require__(49);\nvar anObject = __webpack_require__(3);\nvar ordinaryGetOwnMetadata = metadata.get;\nvar toMetaKey = metadata.key;\n\nmetadata.exp({ getOwnMetadata: function getOwnMetadata(metadataKey, target /* , targetKey */) {\n return ordinaryGetOwnMetadata(metadataKey, anObject(target)\n , arguments.length < 3 ? undefined : toMetaKey(arguments[2]));\n} });\n\n\n/***/ }),\n/* 462 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar metadata = __webpack_require__(49);\nvar anObject = __webpack_require__(3);\nvar ordinaryOwnMetadataKeys = metadata.keys;\nvar toMetaKey = metadata.key;\n\nmetadata.exp({ getOwnMetadataKeys: function getOwnMetadataKeys(target /* , targetKey */) {\n return ordinaryOwnMetadataKeys(anObject(target), arguments.length < 2 ? undefined : toMetaKey(arguments[1]));\n} });\n\n\n/***/ }),\n/* 463 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar metadata = __webpack_require__(49);\nvar anObject = __webpack_require__(3);\nvar getPrototypeOf = __webpack_require__(32);\nvar ordinaryHasOwnMetadata = metadata.has;\nvar toMetaKey = metadata.key;\n\nvar ordinaryHasMetadata = function (MetadataKey, O, P) {\n var hasOwn = ordinaryHasOwnMetadata(MetadataKey, O, P);\n if (hasOwn) return true;\n var parent = getPrototypeOf(O);\n return parent !== null ? ordinaryHasMetadata(MetadataKey, parent, P) : false;\n};\n\nmetadata.exp({ hasMetadata: function hasMetadata(metadataKey, target /* , targetKey */) {\n return ordinaryHasMetadata(metadataKey, anObject(target), arguments.length < 3 ? undefined : toMetaKey(arguments[2]));\n} });\n\n\n/***/ }),\n/* 464 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar metadata = __webpack_require__(49);\nvar anObject = __webpack_require__(3);\nvar ordinaryHasOwnMetadata = metadata.has;\nvar toMetaKey = metadata.key;\n\nmetadata.exp({ hasOwnMetadata: function hasOwnMetadata(metadataKey, target /* , targetKey */) {\n return ordinaryHasOwnMetadata(metadataKey, anObject(target)\n , arguments.length < 3 ? undefined : toMetaKey(arguments[2]));\n} });\n\n\n/***/ }),\n/* 465 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar $metadata = __webpack_require__(49);\nvar anObject = __webpack_require__(3);\nvar aFunction = __webpack_require__(20);\nvar toMetaKey = $metadata.key;\nvar ordinaryDefineOwnMetadata = $metadata.set;\n\n$metadata.exp({ metadata: function metadata(metadataKey, metadataValue) {\n return function decorator(target, targetKey) {\n ordinaryDefineOwnMetadata(\n metadataKey, metadataValue,\n (targetKey !== undefined ? anObject : aFunction)(target),\n toMetaKey(targetKey)\n );\n };\n} });\n\n\n/***/ }),\n/* 466 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// https://github.com/rwaldron/tc39-notes/blob/master/es6/2014-09/sept-25.md#510-globalasap-for-enqueuing-a-microtask\nvar $export = __webpack_require__(1);\nvar microtask = __webpack_require__(148)();\nvar process = __webpack_require__(5).process;\nvar isNode = __webpack_require__(36)(process) == 'process';\n\n$export($export.G, {\n asap: function asap(fn) {\n var domain = isNode && process.domain;\n microtask(domain ? domain.bind(fn) : fn);\n }\n});\n\n\n/***/ }),\n/* 467 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n// https://github.com/zenparsing/es-observable\nvar $export = __webpack_require__(1);\nvar global = __webpack_require__(5);\nvar core = __webpack_require__(34);\nvar microtask = __webpack_require__(148)();\nvar OBSERVABLE = __webpack_require__(10)('observable');\nvar aFunction = __webpack_require__(20);\nvar anObject = __webpack_require__(3);\nvar anInstance = __webpack_require__(67);\nvar redefineAll = __webpack_require__(69);\nvar hide = __webpack_require__(25);\nvar forOf = __webpack_require__(68);\nvar RETURN = forOf.RETURN;\n\nvar getMethod = function (fn) {\n return fn == null ? undefined : aFunction(fn);\n};\n\nvar cleanupSubscription = function (subscription) {\n var cleanup = subscription._c;\n if (cleanup) {\n subscription._c = undefined;\n cleanup();\n }\n};\n\nvar subscriptionClosed = function (subscription) {\n return subscription._o === undefined;\n};\n\nvar closeSubscription = function (subscription) {\n if (!subscriptionClosed(subscription)) {\n subscription._o = undefined;\n cleanupSubscription(subscription);\n }\n};\n\nvar Subscription = function (observer, subscriber) {\n anObject(observer);\n this._c = undefined;\n this._o = observer;\n observer = new SubscriptionObserver(this);\n try {\n var cleanup = subscriber(observer);\n var subscription = cleanup;\n if (cleanup != null) {\n if (typeof cleanup.unsubscribe === 'function') cleanup = function () { subscription.unsubscribe(); };\n else aFunction(cleanup);\n this._c = cleanup;\n }\n } catch (e) {\n observer.error(e);\n return;\n } if (subscriptionClosed(this)) cleanupSubscription(this);\n};\n\nSubscription.prototype = redefineAll({}, {\n unsubscribe: function unsubscribe() { closeSubscription(this); }\n});\n\nvar SubscriptionObserver = function (subscription) {\n this._s = subscription;\n};\n\nSubscriptionObserver.prototype = redefineAll({}, {\n next: function next(value) {\n var subscription = this._s;\n if (!subscriptionClosed(subscription)) {\n var observer = subscription._o;\n try {\n var m = getMethod(observer.next);\n if (m) return m.call(observer, value);\n } catch (e) {\n try {\n closeSubscription(subscription);\n } finally {\n throw e;\n }\n }\n }\n },\n error: function error(value) {\n var subscription = this._s;\n if (subscriptionClosed(subscription)) throw value;\n var observer = subscription._o;\n subscription._o = undefined;\n try {\n var m = getMethod(observer.error);\n if (!m) throw value;\n value = m.call(observer, value);\n } catch (e) {\n try {\n cleanupSubscription(subscription);\n } finally {\n throw e;\n }\n } cleanupSubscription(subscription);\n return value;\n },\n complete: function complete(value) {\n var subscription = this._s;\n if (!subscriptionClosed(subscription)) {\n var observer = subscription._o;\n subscription._o = undefined;\n try {\n var m = getMethod(observer.complete);\n value = m ? m.call(observer, value) : undefined;\n } catch (e) {\n try {\n cleanupSubscription(subscription);\n } finally {\n throw e;\n }\n } cleanupSubscription(subscription);\n return value;\n }\n }\n});\n\nvar $Observable = function Observable(subscriber) {\n anInstance(this, $Observable, 'Observable', '_f')._f = aFunction(subscriber);\n};\n\nredefineAll($Observable.prototype, {\n subscribe: function subscribe(observer) {\n return new Subscription(observer, this._f);\n },\n forEach: function forEach(fn) {\n var that = this;\n return new (core.Promise || global.Promise)(function (resolve, reject) {\n aFunction(fn);\n var subscription = that.subscribe({\n next: function (value) {\n try {\n return fn(value);\n } catch (e) {\n reject(e);\n subscription.unsubscribe();\n }\n },\n error: reject,\n complete: resolve\n });\n });\n }\n});\n\nredefineAll($Observable, {\n from: function from(x) {\n var C = typeof this === 'function' ? this : $Observable;\n var method = getMethod(anObject(x)[OBSERVABLE]);\n if (method) {\n var observable = anObject(method.call(x));\n return observable.constructor === C ? observable : new C(function (observer) {\n return observable.subscribe(observer);\n });\n }\n return new C(function (observer) {\n var done = false;\n microtask(function () {\n if (!done) {\n try {\n if (forOf(x, false, function (it) {\n observer.next(it);\n if (done) return RETURN;\n }) === RETURN) return;\n } catch (e) {\n if (done) throw e;\n observer.error(e);\n return;\n } observer.complete();\n }\n });\n return function () { done = true; };\n });\n },\n of: function of() {\n for (var i = 0, l = arguments.length, items = new Array(l); i < l;) items[i] = arguments[i++];\n return new (typeof this === 'function' ? this : $Observable)(function (observer) {\n var done = false;\n microtask(function () {\n if (!done) {\n for (var j = 0; j < items.length; ++j) {\n observer.next(items[j]);\n if (done) return;\n } observer.complete();\n }\n });\n return function () { done = true; };\n });\n }\n});\n\nhide($Observable.prototype, OBSERVABLE, function () { return this; });\n\n$export($export.G, { Observable: $Observable });\n\n__webpack_require__(66)('Observable');\n\n\n/***/ }),\n/* 468 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// ie9- setTimeout & setInterval additional parameters fix\nvar global = __webpack_require__(5);\nvar $export = __webpack_require__(1);\nvar userAgent = __webpack_require__(109);\nvar slice = [].slice;\nvar MSIE = /MSIE .\\./.test(userAgent); // <- dirty ie9- check\nvar wrap = function (set) {\n return function (fn, time /* , ...args */) {\n var boundArgs = arguments.length > 2;\n var args = boundArgs ? slice.call(arguments, 2) : false;\n return set(boundArgs ? function () {\n // eslint-disable-next-line no-new-func\n (typeof fn == 'function' ? fn : Function(fn)).apply(this, args);\n } : fn, time);\n };\n};\n$export($export.G + $export.B + $export.F * MSIE, {\n setTimeout: wrap(global.setTimeout),\n setInterval: wrap(global.setInterval)\n});\n\n\n/***/ }),\n/* 469 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar $export = __webpack_require__(1);\nvar $task = __webpack_require__(147);\n$export($export.G + $export.B, {\n setImmediate: $task.set,\n clearImmediate: $task.clear\n});\n\n\n/***/ }),\n/* 470 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar $iterators = __webpack_require__(144);\nvar getKeys = __webpack_require__(62);\nvar redefine = __webpack_require__(26);\nvar global = __webpack_require__(5);\nvar hide = __webpack_require__(25);\nvar Iterators = __webpack_require__(76);\nvar wks = __webpack_require__(10);\nvar ITERATOR = wks('iterator');\nvar TO_STRING_TAG = wks('toStringTag');\nvar ArrayValues = Iterators.Array;\n\nvar DOMIterables = {\n CSSRuleList: true, // TODO: Not spec compliant, should be false.\n CSSStyleDeclaration: false,\n CSSValueList: false,\n ClientRectList: false,\n DOMRectList: false,\n DOMStringList: false,\n DOMTokenList: true,\n DataTransferItemList: false,\n FileList: false,\n HTMLAllCollection: false,\n HTMLCollection: false,\n HTMLFormElement: false,\n HTMLSelectElement: false,\n MediaList: true, // TODO: Not spec compliant, should be false.\n MimeTypeArray: false,\n NamedNodeMap: false,\n NodeList: true,\n PaintRequestList: false,\n Plugin: false,\n PluginArray: false,\n SVGLengthList: false,\n SVGNumberList: false,\n SVGPathSegList: false,\n SVGPointList: false,\n SVGStringList: false,\n SVGTransformList: false,\n SourceBufferList: false,\n StyleSheetList: true, // TODO: Not spec compliant, should be false.\n TextTrackCueList: false,\n TextTrackList: false,\n TouchList: false\n};\n\nfor (var collections = getKeys(DOMIterables), i = 0; i < collections.length; i++) {\n var NAME = collections[i];\n var explicit = DOMIterables[NAME];\n var Collection = global[NAME];\n var proto = Collection && Collection.prototype;\n var key;\n if (proto) {\n if (!proto[ITERATOR]) hide(proto, ITERATOR, ArrayValues);\n if (!proto[TO_STRING_TAG]) hide(proto, TO_STRING_TAG, NAME);\n Iterators[NAME] = ArrayValues;\n if (explicit) for (key in $iterators) if (!proto[key]) redefine(proto, key, $iterators[key], true);\n }\n}\n\n\n/***/ }),\n/* 471 */\n/***/ (function(module, exports, __webpack_require__) {\n\n/* WEBPACK VAR INJECTION */(function(global) {/**\n * Copyright (c) 2014, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * https://raw.github.com/facebook/regenerator/master/LICENSE file. An\n * additional grant of patent rights can be found in the PATENTS file in\n * the same directory.\n */\n\n!(function(global) {\n \"use strict\";\n\n var Op = Object.prototype;\n var hasOwn = Op.hasOwnProperty;\n var undefined; // More compressible than void 0.\n var $Symbol = typeof Symbol === \"function\" ? Symbol : {};\n var iteratorSymbol = $Symbol.iterator || \"@@iterator\";\n var asyncIteratorSymbol = $Symbol.asyncIterator || \"@@asyncIterator\";\n var toStringTagSymbol = $Symbol.toStringTag || \"@@toStringTag\";\n\n var inModule = typeof module === \"object\";\n var runtime = global.regeneratorRuntime;\n if (runtime) {\n if (inModule) {\n // If regeneratorRuntime is defined globally and we're in a module,\n // make the exports object identical to regeneratorRuntime.\n module.exports = runtime;\n }\n // Don't bother evaluating the rest of this file if the runtime was\n // already defined globally.\n return;\n }\n\n // Define the runtime globally (as expected by generated code) as either\n // module.exports (if we're in a module) or a new, empty object.\n runtime = global.regeneratorRuntime = inModule ? module.exports : {};\n\n function wrap(innerFn, outerFn, self, tryLocsList) {\n // If outerFn provided and outerFn.prototype is a Generator, then outerFn.prototype instanceof Generator.\n var protoGenerator = outerFn && outerFn.prototype instanceof Generator ? outerFn : Generator;\n var generator = Object.create(protoGenerator.prototype);\n var context = new Context(tryLocsList || []);\n\n // The ._invoke method unifies the implementations of the .next,\n // .throw, and .return methods.\n generator._invoke = makeInvokeMethod(innerFn, self, context);\n\n return generator;\n }\n runtime.wrap = wrap;\n\n // Try/catch helper to minimize deoptimizations. Returns a completion\n // record like context.tryEntries[i].completion. This interface could\n // have been (and was previously) designed to take a closure to be\n // invoked without arguments, but in all the cases we care about we\n // already have an existing method we want to call, so there's no need\n // to create a new function object. We can even get away with assuming\n // the method takes exactly one argument, since that happens to be true\n // in every case, so we don't have to touch the arguments object. The\n // only additional allocation required is the completion record, which\n // has a stable shape and so hopefully should be cheap to allocate.\n function tryCatch(fn, obj, arg) {\n try {\n return { type: \"normal\", arg: fn.call(obj, arg) };\n } catch (err) {\n return { type: \"throw\", arg: err };\n }\n }\n\n var GenStateSuspendedStart = \"suspendedStart\";\n var GenStateSuspendedYield = \"suspendedYield\";\n var GenStateExecuting = \"executing\";\n var GenStateCompleted = \"completed\";\n\n // Returning this object from the innerFn has the same effect as\n // breaking out of the dispatch switch statement.\n var ContinueSentinel = {};\n\n // Dummy constructor functions that we use as the .constructor and\n // .constructor.prototype properties for functions that return Generator\n // objects. For full spec compliance, you may wish to configure your\n // minifier not to mangle the names of these two functions.\n function Generator() {}\n function GeneratorFunction() {}\n function GeneratorFunctionPrototype() {}\n\n // This is a polyfill for %IteratorPrototype% for environments that\n // don't natively support it.\n var IteratorPrototype = {};\n IteratorPrototype[iteratorSymbol] = function () {\n return this;\n };\n\n var getProto = Object.getPrototypeOf;\n var NativeIteratorPrototype = getProto && getProto(getProto(values([])));\n if (NativeIteratorPrototype &&\n NativeIteratorPrototype !== Op &&\n hasOwn.call(NativeIteratorPrototype, iteratorSymbol)) {\n // This environment has a native %IteratorPrototype%; use it instead\n // of the polyfill.\n IteratorPrototype = NativeIteratorPrototype;\n }\n\n var Gp = GeneratorFunctionPrototype.prototype =\n Generator.prototype = Object.create(IteratorPrototype);\n GeneratorFunction.prototype = Gp.constructor = GeneratorFunctionPrototype;\n GeneratorFunctionPrototype.constructor = GeneratorFunction;\n GeneratorFunctionPrototype[toStringTagSymbol] =\n GeneratorFunction.displayName = \"GeneratorFunction\";\n\n // Helper for defining the .next, .throw, and .return methods of the\n // Iterator interface in terms of a single ._invoke method.\n function defineIteratorMethods(prototype) {\n [\"next\", \"throw\", \"return\"].forEach(function(method) {\n prototype[method] = function(arg) {\n return this._invoke(method, arg);\n };\n });\n }\n\n runtime.isGeneratorFunction = function(genFun) {\n var ctor = typeof genFun === \"function\" && genFun.constructor;\n return ctor\n ? ctor === GeneratorFunction ||\n // For the native GeneratorFunction constructor, the best we can\n // do is to check its .name property.\n (ctor.displayName || ctor.name) === \"GeneratorFunction\"\n : false;\n };\n\n runtime.mark = function(genFun) {\n if (Object.setPrototypeOf) {\n Object.setPrototypeOf(genFun, GeneratorFunctionPrototype);\n } else {\n genFun.__proto__ = GeneratorFunctionPrototype;\n if (!(toStringTagSymbol in genFun)) {\n genFun[toStringTagSymbol] = \"GeneratorFunction\";\n }\n }\n genFun.prototype = Object.create(Gp);\n return genFun;\n };\n\n // Within the body of any async function, `await x` is transformed to\n // `yield regeneratorRuntime.awrap(x)`, so that the runtime can test\n // `hasOwn.call(value, \"__await\")` to determine if the yielded value is\n // meant to be awaited.\n runtime.awrap = function(arg) {\n return { __await: arg };\n };\n\n function AsyncIterator(generator) {\n function invoke(method, arg, resolve, reject) {\n var record = tryCatch(generator[method], generator, arg);\n if (record.type === \"throw\") {\n reject(record.arg);\n } else {\n var result = record.arg;\n var value = result.value;\n if (value &&\n typeof value === \"object\" &&\n hasOwn.call(value, \"__await\")) {\n return Promise.resolve(value.__await).then(function(value) {\n invoke(\"next\", value, resolve, reject);\n }, function(err) {\n invoke(\"throw\", err, resolve, reject);\n });\n }\n\n return Promise.resolve(value).then(function(unwrapped) {\n // When a yielded Promise is resolved, its final value becomes\n // the .value of the Promise<{value,done}> result for the\n // current iteration. If the Promise is rejected, however, the\n // result for this iteration will be rejected with the same\n // reason. Note that rejections of yielded Promises are not\n // thrown back into the generator function, as is the case\n // when an awaited Promise is rejected. This difference in\n // behavior between yield and await is important, because it\n // allows the consumer to decide what to do with the yielded\n // rejection (swallow it and continue, manually .throw it back\n // into the generator, abandon iteration, whatever). With\n // await, by contrast, there is no opportunity to examine the\n // rejection reason outside the generator function, so the\n // only option is to throw it from the await expression, and\n // let the generator function handle the exception.\n result.value = unwrapped;\n resolve(result);\n }, reject);\n }\n }\n\n if (typeof global.process === \"object\" && global.process.domain) {\n invoke = global.process.domain.bind(invoke);\n }\n\n var previousPromise;\n\n function enqueue(method, arg) {\n function callInvokeWithMethodAndArg() {\n return new Promise(function(resolve, reject) {\n invoke(method, arg, resolve, reject);\n });\n }\n\n return previousPromise =\n // If enqueue has been called before, then we want to wait until\n // all previous Promises have been resolved before calling invoke,\n // so that results are always delivered in the correct order. If\n // enqueue has not been called before, then it is important to\n // call invoke immediately, without waiting on a callback to fire,\n // so that the async generator function has the opportunity to do\n // any necessary setup in a predictable way. This predictability\n // is why the Promise constructor synchronously invokes its\n // executor callback, and why async functions synchronously\n // execute code before the first await. Since we implement simple\n // async functions in terms of async generators, it is especially\n // important to get this right, even though it requires care.\n previousPromise ? previousPromise.then(\n callInvokeWithMethodAndArg,\n // Avoid propagating failures to Promises returned by later\n // invocations of the iterator.\n callInvokeWithMethodAndArg\n ) : callInvokeWithMethodAndArg();\n }\n\n // Define the unified helper method that is used to implement .next,\n // .throw, and .return (see defineIteratorMethods).\n this._invoke = enqueue;\n }\n\n defineIteratorMethods(AsyncIterator.prototype);\n AsyncIterator.prototype[asyncIteratorSymbol] = function () {\n return this;\n };\n runtime.AsyncIterator = AsyncIterator;\n\n // Note that simple async functions are implemented on top of\n // AsyncIterator objects; they just return a Promise for the value of\n // the final result produced by the iterator.\n runtime.async = function(innerFn, outerFn, self, tryLocsList) {\n var iter = new AsyncIterator(\n wrap(innerFn, outerFn, self, tryLocsList)\n );\n\n return runtime.isGeneratorFunction(outerFn)\n ? iter // If outerFn is a generator, return the full iterator.\n : iter.next().then(function(result) {\n return result.done ? result.value : iter.next();\n });\n };\n\n function makeInvokeMethod(innerFn, self, context) {\n var state = GenStateSuspendedStart;\n\n return function invoke(method, arg) {\n if (state === GenStateExecuting) {\n throw new Error(\"Generator is already running\");\n }\n\n if (state === GenStateCompleted) {\n if (method === \"throw\") {\n throw arg;\n }\n\n // Be forgiving, per 25.3.3.3.3 of the spec:\n // https://people.mozilla.org/~jorendorff/es6-draft.html#sec-generatorresume\n return doneResult();\n }\n\n context.method = method;\n context.arg = arg;\n\n while (true) {\n var delegate = context.delegate;\n if (delegate) {\n var delegateResult = maybeInvokeDelegate(delegate, context);\n if (delegateResult) {\n if (delegateResult === ContinueSentinel) continue;\n return delegateResult;\n }\n }\n\n if (context.method === \"next\") {\n // Setting context._sent for legacy support of Babel's\n // function.sent implementation.\n context.sent = context._sent = context.arg;\n\n } else if (context.method === \"throw\") {\n if (state === GenStateSuspendedStart) {\n state = GenStateCompleted;\n throw context.arg;\n }\n\n context.dispatchException(context.arg);\n\n } else if (context.method === \"return\") {\n context.abrupt(\"return\", context.arg);\n }\n\n state = GenStateExecuting;\n\n var record = tryCatch(innerFn, self, context);\n if (record.type === \"normal\") {\n // If an exception is thrown from innerFn, we leave state ===\n // GenStateExecuting and loop back for another invocation.\n state = context.done\n ? GenStateCompleted\n : GenStateSuspendedYield;\n\n if (record.arg === ContinueSentinel) {\n continue;\n }\n\n return {\n value: record.arg,\n done: context.done\n };\n\n } else if (record.type === \"throw\") {\n state = GenStateCompleted;\n // Dispatch the exception by looping back around to the\n // context.dispatchException(context.arg) call above.\n context.method = \"throw\";\n context.arg = record.arg;\n }\n }\n };\n }\n\n // Call delegate.iterator[context.method](context.arg) and handle the\n // result, either by returning a { value, done } result from the\n // delegate iterator, or by modifying context.method and context.arg,\n // setting context.delegate to null, and returning the ContinueSentinel.\n function maybeInvokeDelegate(delegate, context) {\n var method = delegate.iterator[context.method];\n if (method === undefined) {\n // A .throw or .return when the delegate iterator has no .throw\n // method always terminates the yield* loop.\n context.delegate = null;\n\n if (context.method === \"throw\") {\n if (delegate.iterator.return) {\n // If the delegate iterator has a return method, give it a\n // chance to clean up.\n context.method = \"return\";\n context.arg = undefined;\n maybeInvokeDelegate(delegate, context);\n\n if (context.method === \"throw\") {\n // If maybeInvokeDelegate(context) changed context.method from\n // \"return\" to \"throw\", let that override the TypeError below.\n return ContinueSentinel;\n }\n }\n\n context.method = \"throw\";\n context.arg = new TypeError(\n \"The iterator does not provide a 'throw' method\");\n }\n\n return ContinueSentinel;\n }\n\n var record = tryCatch(method, delegate.iterator, context.arg);\n\n if (record.type === \"throw\") {\n context.method = \"throw\";\n context.arg = record.arg;\n context.delegate = null;\n return ContinueSentinel;\n }\n\n var info = record.arg;\n\n if (! info) {\n context.method = \"throw\";\n context.arg = new TypeError(\"iterator result is not an object\");\n context.delegate = null;\n return ContinueSentinel;\n }\n\n if (info.done) {\n // Assign the result of the finished delegate to the temporary\n // variable specified by delegate.resultName (see delegateYield).\n context[delegate.resultName] = info.value;\n\n // Resume execution at the desired location (see delegateYield).\n context.next = delegate.nextLoc;\n\n // If context.method was \"throw\" but the delegate handled the\n // exception, let the outer generator proceed normally. If\n // context.method was \"next\", forget context.arg since it has been\n // \"consumed\" by the delegate iterator. If context.method was\n // \"return\", allow the original .return call to continue in the\n // outer generator.\n if (context.method !== \"return\") {\n context.method = \"next\";\n context.arg = undefined;\n }\n\n } else {\n // Re-yield the result returned by the delegate method.\n return info;\n }\n\n // The delegate iterator is finished, so forget it and continue with\n // the outer generator.\n context.delegate = null;\n return ContinueSentinel;\n }\n\n // Define Generator.prototype.{next,throw,return} in terms of the\n // unified ._invoke helper method.\n defineIteratorMethods(Gp);\n\n Gp[toStringTagSymbol] = \"Generator\";\n\n // A Generator should always return itself as the iterator object when the\n // @@iterator function is called on it. Some browsers' implementations of the\n // iterator prototype chain incorrectly implement this, causing the Generator\n // object to not be returned from this call. This ensures that doesn't happen.\n // See https://github.com/facebook/regenerator/issues/274 for more details.\n Gp[iteratorSymbol] = function() {\n return this;\n };\n\n Gp.toString = function() {\n return \"[object Generator]\";\n };\n\n function pushTryEntry(locs) {\n var entry = { tryLoc: locs[0] };\n\n if (1 in locs) {\n entry.catchLoc = locs[1];\n }\n\n if (2 in locs) {\n entry.finallyLoc = locs[2];\n entry.afterLoc = locs[3];\n }\n\n this.tryEntries.push(entry);\n }\n\n function resetTryEntry(entry) {\n var record = entry.completion || {};\n record.type = \"normal\";\n delete record.arg;\n entry.completion = record;\n }\n\n function Context(tryLocsList) {\n // The root entry object (effectively a try statement without a catch\n // or a finally block) gives us a place to store values thrown from\n // locations where there is no enclosing try statement.\n this.tryEntries = [{ tryLoc: \"root\" }];\n tryLocsList.forEach(pushTryEntry, this);\n this.reset(true);\n }\n\n runtime.keys = function(object) {\n var keys = [];\n for (var key in object) {\n keys.push(key);\n }\n keys.reverse();\n\n // Rather than returning an object with a next method, we keep\n // things simple and return the next function itself.\n return function next() {\n while (keys.length) {\n var key = keys.pop();\n if (key in object) {\n next.value = key;\n next.done = false;\n return next;\n }\n }\n\n // To avoid creating an additional object, we just hang the .value\n // and .done properties off the next function object itself. This\n // also ensures that the minifier will not anonymize the function.\n next.done = true;\n return next;\n };\n };\n\n function values(iterable) {\n if (iterable) {\n var iteratorMethod = iterable[iteratorSymbol];\n if (iteratorMethod) {\n return iteratorMethod.call(iterable);\n }\n\n if (typeof iterable.next === \"function\") {\n return iterable;\n }\n\n if (!isNaN(iterable.length)) {\n var i = -1, next = function next() {\n while (++i < iterable.length) {\n if (hasOwn.call(iterable, i)) {\n next.value = iterable[i];\n next.done = false;\n return next;\n }\n }\n\n next.value = undefined;\n next.done = true;\n\n return next;\n };\n\n return next.next = next;\n }\n }\n\n // Return an iterator with no values.\n return { next: doneResult };\n }\n runtime.values = values;\n\n function doneResult() {\n return { value: undefined, done: true };\n }\n\n Context.prototype = {\n constructor: Context,\n\n reset: function(skipTempReset) {\n this.prev = 0;\n this.next = 0;\n // Resetting context._sent for legacy support of Babel's\n // function.sent implementation.\n this.sent = this._sent = undefined;\n this.done = false;\n this.delegate = null;\n\n this.method = \"next\";\n this.arg = undefined;\n\n this.tryEntries.forEach(resetTryEntry);\n\n if (!skipTempReset) {\n for (var name in this) {\n // Not sure about the optimal order of these conditions:\n if (name.charAt(0) === \"t\" &&\n hasOwn.call(this, name) &&\n !isNaN(+name.slice(1))) {\n this[name] = undefined;\n }\n }\n }\n },\n\n stop: function() {\n this.done = true;\n\n var rootEntry = this.tryEntries[0];\n var rootRecord = rootEntry.completion;\n if (rootRecord.type === \"throw\") {\n throw rootRecord.arg;\n }\n\n return this.rval;\n },\n\n dispatchException: function(exception) {\n if (this.done) {\n throw exception;\n }\n\n var context = this;\n function handle(loc, caught) {\n record.type = \"throw\";\n record.arg = exception;\n context.next = loc;\n\n if (caught) {\n // If the dispatched exception was caught by a catch block,\n // then let that catch block handle the exception normally.\n context.method = \"next\";\n context.arg = undefined;\n }\n\n return !! caught;\n }\n\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n var record = entry.completion;\n\n if (entry.tryLoc === \"root\") {\n // Exception thrown outside of any try block that could handle\n // it, so set the completion value of the entire function to\n // throw the exception.\n return handle(\"end\");\n }\n\n if (entry.tryLoc <= this.prev) {\n var hasCatch = hasOwn.call(entry, \"catchLoc\");\n var hasFinally = hasOwn.call(entry, \"finallyLoc\");\n\n if (hasCatch && hasFinally) {\n if (this.prev < entry.catchLoc) {\n return handle(entry.catchLoc, true);\n } else if (this.prev < entry.finallyLoc) {\n return handle(entry.finallyLoc);\n }\n\n } else if (hasCatch) {\n if (this.prev < entry.catchLoc) {\n return handle(entry.catchLoc, true);\n }\n\n } else if (hasFinally) {\n if (this.prev < entry.finallyLoc) {\n return handle(entry.finallyLoc);\n }\n\n } else {\n throw new Error(\"try statement without catch or finally\");\n }\n }\n }\n },\n\n abrupt: function(type, arg) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.tryLoc <= this.prev &&\n hasOwn.call(entry, \"finallyLoc\") &&\n this.prev < entry.finallyLoc) {\n var finallyEntry = entry;\n break;\n }\n }\n\n if (finallyEntry &&\n (type === \"break\" ||\n type === \"continue\") &&\n finallyEntry.tryLoc <= arg &&\n arg <= finallyEntry.finallyLoc) {\n // Ignore the finally entry if control is not jumping to a\n // location outside the try/catch block.\n finallyEntry = null;\n }\n\n var record = finallyEntry ? finallyEntry.completion : {};\n record.type = type;\n record.arg = arg;\n\n if (finallyEntry) {\n this.method = \"next\";\n this.next = finallyEntry.finallyLoc;\n return ContinueSentinel;\n }\n\n return this.complete(record);\n },\n\n complete: function(record, afterLoc) {\n if (record.type === \"throw\") {\n throw record.arg;\n }\n\n if (record.type === \"break\" ||\n record.type === \"continue\") {\n this.next = record.arg;\n } else if (record.type === \"return\") {\n this.rval = this.arg = record.arg;\n this.method = \"return\";\n this.next = \"end\";\n } else if (record.type === \"normal\" && afterLoc) {\n this.next = afterLoc;\n }\n\n return ContinueSentinel;\n },\n\n finish: function(finallyLoc) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.finallyLoc === finallyLoc) {\n this.complete(entry.completion, entry.afterLoc);\n resetTryEntry(entry);\n return ContinueSentinel;\n }\n }\n },\n\n \"catch\": function(tryLoc) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.tryLoc === tryLoc) {\n var record = entry.completion;\n if (record.type === \"throw\") {\n var thrown = record.arg;\n resetTryEntry(entry);\n }\n return thrown;\n }\n }\n\n // The context.catch method must only be called with a location\n // argument that corresponds to a known catch block.\n throw new Error(\"illegal catch attempt\");\n },\n\n delegateYield: function(iterable, resultName, nextLoc) {\n this.delegate = {\n iterator: values(iterable),\n resultName: resultName,\n nextLoc: nextLoc\n };\n\n if (this.method === \"next\") {\n // Deliberately forget the last sent value so that we don't\n // accidentally pass it on to the delegate.\n this.arg = undefined;\n }\n\n return ContinueSentinel;\n }\n };\n})(\n // Among the various tricks for obtaining a reference to the global\n // object, this seems to be the most reliable technique that does not\n // use indirect eval (which violates Content Security Policy).\n typeof global === \"object\" ? global :\n typeof window === \"object\" ? window :\n typeof self === \"object\" ? self : this\n);\n\n/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(100)))\n\n/***/ }),\n/* 472 */\n/***/ (function(module, exports, __webpack_require__) {\n\n__webpack_require__(473);\nmodule.exports = __webpack_require__(34).RegExp.escape;\n\n\n/***/ }),\n/* 473 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// https://github.com/benjamingr/RexExp.escape\nvar $export = __webpack_require__(1);\nvar $re = __webpack_require__(474)(/[\\\\^$*+?.()|[\\]{}]/g, '\\\\$&');\n\n$export($export.S, 'RegExp', { escape: function escape(it) { return $re(it); } });\n\n\n/***/ }),\n/* 474 */\n/***/ (function(module, exports) {\n\nmodule.exports = function (regExp, replace) {\n var replacer = replace === Object(replace) ? function (part) {\n return replace[part];\n } : replace;\n return function (it) {\n return String(it).replace(regExp, replacer);\n };\n};\n\n\n/***/ }),\n/* 475 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\n/*globals module */\n\nvar OktaSignIn = function () {\n\n var _ = __webpack_require__(151),\n config = __webpack_require__(152),\n OAuth2Util = __webpack_require__(153),\n router;\n var V1LoginRouter = __webpack_require__(537);\n\n function getProperties(authClient, Util) {\n var widgetOptions = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n\n\n function render(renderOptions, successFn, errorFn) {\n if (router) {\n throw new Error('An instance of the widget has already been rendered. Call remove() first.');\n }\n\n /**\n * -- Development Mode --\n * When the page loads, provide a helpful message to remind the developer that\n * tokens have not been removed from the hash fragment.\n */\n if (hasTokensInUrl()) {\n Util.debugMessage('\\n Looks like there are still tokens in the URL! Don\\'t forget to parse and store them.\\n See: https://github.com/okta/okta-signin-widget/#oidc-tokenparsetokensfromurlsuccess-error.\\n ');\n }\n var isNewPipeline = !Util.isV1StateToken(widgetOptions.stateToken);\n var Router = V1LoginRouter;\n if (widgetOptions.stateToken && isNewPipeline) {\n /* add check for stateToken here because we dont want to end up on\n new pipeline if there is no stateToken */\n Router = __webpack_require__(648);\n }\n if (widgetOptions.stateToken) {\n Util.introspectToken(authClient, widgetOptions).then(_.bind(function (data) {\n var response = data;\n router = bootstrapRouter.call(this, Router, authClient, widgetOptions, renderOptions, successFn, errorFn);\n if (isNewPipeline) {\n response = data.rawIdxState;\n router.appState.set('idx', data);\n }\n router.appState.set('introspectSuccess', response);\n router.start();\n }, this)).fail(_.bind(function (err) {\n // Introspect API error.\n // Incase of an error we want to just load the LoginRouter\n router = bootstrapRouter.call(this, Router, authClient, widgetOptions, renderOptions, successFn, errorFn);\n var introspectError = isNewPipeline ? err.details : err;\n /* idx-js sends an error object with the error response inside details\n https://github.com/okta/okta-idx-js/blob/master/src/index.js#L14*/\n router.appState.set('introspectError', introspectError);\n router.start();\n }, this));\n } else {\n // If no stateToken bootstrap with LoginRouter\n router = bootstrapRouter.call(this, Router, authClient, widgetOptions, renderOptions, successFn, errorFn);\n router.start();\n }\n }\n\n function hide() {\n if (router) {\n router.hide();\n }\n }\n\n function show() {\n if (router) {\n router.show();\n }\n }\n\n function remove() {\n if (router) {\n router.remove();\n router = undefined;\n }\n }\n\n /**\n * Check if tokens have been passed back into the url, which happens in\n * the social auth IDP redirect flow.\n */\n function hasTokensInUrl() {\n return Util.hasTokensInHash(window.location.hash);\n }\n\n /**\n * Renders the Widget with opinionated defaults for the full-page\n * redirect flow.\n * @param options - options for the signin widget\n */\n function showSignInToGetTokens(options) {\n var renderOptions = OAuth2Util.transformShowSignInToGetTokensOptions(options, config);\n return render.call(this, renderOptions);\n }\n\n // Properties exposed on OktaSignIn object.\n return {\n renderEl: render,\n authClient: authClient,\n showSignInToGetTokens: showSignInToGetTokens,\n hasTokensInUrl: hasTokensInUrl,\n hide: hide,\n show: show,\n remove: remove\n };\n }\n\n function bootstrapRouter(Router, authClient, widgetOptions, renderOptions, successFn, errorFn) {\n var widgetRouter = new Router(_.extend({}, widgetOptions, renderOptions, {\n authClient: authClient,\n globalSuccessFn: successFn,\n globalErrorFn: errorFn\n }));\n\n _.extend(this, Router.prototype.Events);\n\n // Triggers the event up the chain so it is available to the consumers of the widget.\n this.listenTo(Router.prototype, 'all', this.trigger);\n\n // On the first afterRender event (usually when the Widget is ready) - emit a 'ready' event\n this.once('afterRender', function (context) {\n this.trigger('ready', context);\n });\n return widgetRouter;\n }\n\n function OktaSignIn(options) {\n __webpack_require__(0);\n var Util = __webpack_require__(13);\n /**\n * Render the sign in widget to an element.\n * @param options - options for the signin widget.\n * Must have an el or $el property to render the widget to.\n * @param success - success callback function\n * @param error - error callback function\n */\n var OktaAuth = __webpack_require__(673);\n\n var authParams = _.extend({\n url: options.baseUrl,\n transformErrorXHR: Util.transformErrorXHR,\n headers: {\n 'X-Okta-User-Agent-Extended': 'okta-signin-widget-' + config.version\n },\n clientId: options.clientId,\n redirectUri: options.redirectUri\n }, options.authParams);\n\n var authClient = new OktaAuth(authParams);\n\n Util.debugMessage('\\n The Okta Sign-In Widget is running in development mode.\\n When you are ready to publish your app, embed the minified version to turn on production mode.\\n See: https://developer.okta.com/code/javascript/okta_sign-in_widget#cdn\\n ');\n\n _.extend(this, V1LoginRouter.prototype.Events, getProperties(authClient, Util, options));\n }\n\n return OktaSignIn;\n}();\nmodule.exports = OktaSignIn;\n\n/***/ }),\n/* 476 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar core = __webpack_require__(9);\nvar $JSON = core.JSON || (core.JSON = { stringify: JSON.stringify });\nmodule.exports = function stringify(it) { // eslint-disable-line no-unused-vars\n return $JSON.stringify.apply($JSON, arguments);\n};\n\n\n/***/ }),\n/* 477 */\n/***/ (function(module, exports, __webpack_require__) {\n\n__webpack_require__(90);\n__webpack_require__(118);\nmodule.exports = __webpack_require__(119).f('iterator');\n\n\n/***/ }),\n/* 478 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar toInteger = __webpack_require__(154);\nvar defined = __webpack_require__(155);\n// true -> String#at\n// false -> String#codePointAt\nmodule.exports = function (TO_STRING) {\n return function (that, pos) {\n var s = String(defined(that));\n var i = toInteger(pos);\n var l = s.length;\n var a, b;\n if (i < 0 || i >= l) return TO_STRING ? '' : undefined;\n a = s.charCodeAt(i);\n return a < 0xd800 || a > 0xdbff || i + 1 === l || (b = s.charCodeAt(i + 1)) < 0xdc00 || b > 0xdfff\n ? TO_STRING ? s.charAt(i) : a\n : TO_STRING ? s.slice(i, i + 2) : (a - 0xd800 << 10) + (b - 0xdc00) + 0x10000;\n };\n};\n\n\n/***/ }),\n/* 479 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar create = __webpack_require__(158);\nvar descriptor = __webpack_require__(92);\nvar setToStringTag = __webpack_require__(117);\nvar IteratorPrototype = {};\n\n// 25.1.2.1.1 %IteratorPrototype%[@@iterator]()\n__webpack_require__(71)(IteratorPrototype, __webpack_require__(23)('iterator'), function () { return this; });\n\nmodule.exports = function (Constructor, NAME, next) {\n Constructor.prototype = create(IteratorPrototype, { next: descriptor(1, next) });\n setToStringTag(Constructor, NAME + ' Iterator');\n};\n\n\n/***/ }),\n/* 480 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// false -> Array#indexOf\n// true -> Array#includes\nvar toIObject = __webpack_require__(56);\nvar toLength = __webpack_require__(159);\nvar toAbsoluteIndex = __webpack_require__(481);\nmodule.exports = function (IS_INCLUDES) {\n return function ($this, el, fromIndex) {\n var O = toIObject($this);\n var length = toLength(O.length);\n var index = toAbsoluteIndex(fromIndex, length);\n var value;\n // Array#includes uses SameValueZero equality algorithm\n // eslint-disable-next-line no-self-compare\n if (IS_INCLUDES && el != el) while (length > index) {\n value = O[index++];\n // eslint-disable-next-line no-self-compare\n if (value != value) return true;\n // Array#indexOf ignores holes, Array#includes - not\n } else for (;length > index; index++) if (IS_INCLUDES || index in O) {\n if (O[index] === el) return IS_INCLUDES || index || 0;\n } return !IS_INCLUDES && -1;\n };\n};\n\n\n/***/ }),\n/* 481 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar toInteger = __webpack_require__(154);\nvar max = Math.max;\nvar min = Math.min;\nmodule.exports = function (index, length) {\n index = toInteger(index);\n return index < 0 ? max(index + length, 0) : min(index, length);\n};\n\n\n/***/ }),\n/* 482 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar addToUnscopables = __webpack_require__(483);\nvar step = __webpack_require__(484);\nvar Iterators = __webpack_require__(80);\nvar toIObject = __webpack_require__(56);\n\n// 22.1.3.4 Array.prototype.entries()\n// 22.1.3.13 Array.prototype.keys()\n// 22.1.3.29 Array.prototype.values()\n// 22.1.3.30 Array.prototype[@@iterator]()\nmodule.exports = __webpack_require__(220)(Array, 'Array', function (iterated, kind) {\n this._t = toIObject(iterated); // target\n this._i = 0; // next index\n this._k = kind; // kind\n// 22.1.5.2.1 %ArrayIteratorPrototype%.next()\n}, function () {\n var O = this._t;\n var kind = this._k;\n var index = this._i++;\n if (!O || index >= O.length) {\n this._t = undefined;\n return step(1);\n }\n if (kind == 'keys') return step(0, index);\n if (kind == 'values') return step(0, O[index]);\n return step(0, [index, O[index]]);\n}, 'values');\n\n// argumentsList[@@iterator] is %ArrayProto_values% (9.4.4.6, 9.4.4.7)\nIterators.Arguments = Iterators.Array;\n\naddToUnscopables('keys');\naddToUnscopables('values');\naddToUnscopables('entries');\n\n\n/***/ }),\n/* 483 */\n/***/ (function(module, exports) {\n\nmodule.exports = function () { /* empty */ };\n\n\n/***/ }),\n/* 484 */\n/***/ (function(module, exports) {\n\nmodule.exports = function (done, value) {\n return { value: value, done: !!done };\n};\n\n\n/***/ }),\n/* 485 */\n/***/ (function(module, exports, __webpack_require__) {\n\n__webpack_require__(229);\n__webpack_require__(166);\n__webpack_require__(488);\n__webpack_require__(489);\nmodule.exports = __webpack_require__(9).Symbol;\n\n\n/***/ }),\n/* 486 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// all enumerable object keys, includes symbols\nvar getKeys = __webpack_require__(81);\nvar gOPS = __webpack_require__(164);\nvar pIE = __webpack_require__(94);\nmodule.exports = function (it) {\n var result = getKeys(it);\n var getSymbols = gOPS.f;\n if (getSymbols) {\n var symbols = getSymbols(it);\n var isEnum = pIE.f;\n var i = 0;\n var key;\n while (symbols.length > i) if (isEnum.call(it, key = symbols[i++])) result.push(key);\n } return result;\n};\n\n\n/***/ }),\n/* 487 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 7.2.2 IsArray(argument)\nvar cof = __webpack_require__(93);\nmodule.exports = Array.isArray || function isArray(arg) {\n return cof(arg) == 'Array';\n};\n\n\n/***/ }),\n/* 488 */\n/***/ (function(module, exports, __webpack_require__) {\n\n__webpack_require__(163)('asyncIterator');\n\n\n/***/ }),\n/* 489 */\n/***/ (function(module, exports, __webpack_require__) {\n\n__webpack_require__(163)('observable');\n\n\n/***/ }),\n/* 490 */\n/***/ (function(module, exports, __webpack_require__) {\n\n__webpack_require__(491);\nvar $Object = __webpack_require__(9).Object;\nmodule.exports = function defineProperty(it, key, desc) {\n return $Object.defineProperty(it, key, desc);\n};\n\n\n/***/ }),\n/* 491 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar $export = __webpack_require__(21);\n// 19.1.2.4 / 15.2.3.6 Object.defineProperty(O, P, Attributes)\n$export($export.S + $export.F * !__webpack_require__(39), 'Object', { defineProperty: __webpack_require__(50).f });\n\n\n/***/ }),\n/* 492 */\n/***/ (function(module, exports, __webpack_require__) {\n\n/* WEBPACK VAR INJECTION */(function(global) {var __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;// Backbone.js 1.2.1\n\n// (c) 2010-2015 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n// Backbone may be freely distributed under the MIT license.\n// For all details and documentation:\n// http://backbonejs.org\n\n(function(factory) {\n\n // Establish the root object, `window` (`self`) in the browser, or `global` on the server.\n // We use `self` instead of `window` for `WebWorker` support.\n var root = (typeof self == 'object' && self.self == self && self) ||\n (typeof global == 'object' && global.global == global && global);\n\n // Set up Backbone appropriately for the environment. Start with AMD.\n if (true) {\n !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(493), __webpack_require__(120), exports], __WEBPACK_AMD_DEFINE_RESULT__ = (function(_, $, exports) {\n // Export global even in AMD case in case this script is loaded with\n // others that may still expect a global Backbone.\n root.Backbone = factory(root, exports, _, $);\n }).apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\n // Next for Node.js or CommonJS. jQuery may not be needed as a module.\n } else if (typeof exports !== 'undefined') {\n var _ = require('underscore'), $;\n try { $ = require('jquery'); } catch(e) {}\n factory(root, exports, _, $);\n\n // Finally, as a browser global.\n } else {\n root.Backbone = factory(root, {}, root._, (root.jQuery || root.Zepto || root.ender || root.$));\n }\n\n}(function(root, Backbone, _, $) {\n\n // Initial Setup\n // -------------\n\n // Save the previous value of the `Backbone` variable, so that it can be\n // restored later on, if `noConflict` is used.\n var previousBackbone = root.Backbone;\n\n // Create a local reference to a common array method we'll want to use later.\n var slice = [].slice;\n\n // Current version of the library. Keep in sync with `package.json`.\n Backbone.VERSION = '1.2.1';\n\n // For Backbone's purposes, jQuery, Zepto, Ender, or My Library (kidding) owns\n // the `$` variable.\n Backbone.$ = $;\n\n // Runs Backbone.js in *noConflict* mode, returning the `Backbone` variable\n // to its previous owner. Returns a reference to this Backbone object.\n Backbone.noConflict = function() {\n root.Backbone = previousBackbone;\n return this;\n };\n\n // Turn on `emulateHTTP` to support legacy HTTP servers. Setting this option\n // will fake `\"PATCH\"`, `\"PUT\"` and `\"DELETE\"` requests via the `_method` parameter and\n // set a `X-Http-Method-Override` header.\n Backbone.emulateHTTP = false;\n\n // Turn on `emulateJSON` to support legacy servers that can't deal with direct\n // `application/json` requests ... this will encode the body as\n // `application/x-www-form-urlencoded` instead and will send the model in a\n // form param named `model`.\n Backbone.emulateJSON = false;\n\n // Proxy Underscore methods to a Backbone class' prototype using a\n // particular attribute as the data argument\n var addMethod = function(length, method, attribute) {\n switch (length) {\n case 1: return function() {\n return _[method](this[attribute]);\n };\n case 2: return function(value) {\n return _[method](this[attribute], value);\n };\n case 3: return function(iteratee, context) {\n return _[method](this[attribute], iteratee, context);\n };\n case 4: return function(iteratee, defaultVal, context) {\n return _[method](this[attribute], iteratee, defaultVal, context);\n };\n default: return function() {\n var args = slice.call(arguments);\n args.unshift(this[attribute]);\n return _[method].apply(_, args);\n };\n }\n };\n var addUnderscoreMethods = function(Class, methods, attribute) {\n _.each(methods, function(length, method) {\n if (_[method]) Class.prototype[method] = addMethod(length, method, attribute);\n });\n };\n\n // Backbone.Events\n // ---------------\n\n // A module that can be mixed in to *any object* in order to provide it with\n // custom events. You may bind with `on` or remove with `off` callback\n // functions to an event; `trigger`-ing an event fires all callbacks in\n // succession.\n //\n // var object = {};\n // _.extend(object, Backbone.Events);\n // object.on('expand', function(){ alert('expanded'); });\n // object.trigger('expand');\n //\n var Events = Backbone.Events = {};\n\n // Regular expression used to split event strings.\n var eventSplitter = /\\s+/;\n\n // Iterates over the standard `event, callback` (as well as the fancy multiple\n // space-separated events `\"change blur\", callback` and jQuery-style event\n // maps `{event: callback}`), reducing them by manipulating `memo`.\n // Passes a normalized single event name and callback, as well as any\n // optional `opts`.\n var eventsApi = function(iteratee, memo, name, callback, opts) {\n var i = 0, names;\n if (name && typeof name === 'object') {\n // Handle event maps.\n if (callback !== void 0 && 'context' in opts && opts.context === void 0) opts.context = callback;\n for (names = _.keys(name); i < names.length ; i++) {\n memo = iteratee(memo, names[i], name[names[i]], opts);\n }\n } else if (name && eventSplitter.test(name)) {\n // Handle space separated event names.\n for (names = name.split(eventSplitter); i < names.length; i++) {\n memo = iteratee(memo, names[i], callback, opts);\n }\n } else {\n memo = iteratee(memo, name, callback, opts);\n }\n return memo;\n };\n\n // Bind an event to a `callback` function. Passing `\"all\"` will bind\n // the callback to all events fired.\n Events.on = function(name, callback, context) {\n return internalOn(this, name, callback, context);\n };\n\n // An internal use `on` function, used to guard the `listening` argument from\n // the public API.\n var internalOn = function(obj, name, callback, context, listening) {\n obj._events = eventsApi(onApi, obj._events || {}, name, callback, {\n context: context,\n ctx: obj,\n listening: listening\n });\n\n if (listening) {\n var listeners = obj._listeners || (obj._listeners = {});\n listeners[listening.id] = listening;\n }\n\n return obj;\n };\n\n // Inversion-of-control versions of `on`. Tell *this* object to listen to\n // an event in another object... keeping track of what it's listening to.\n Events.listenTo = function(obj, name, callback) {\n if (!obj) return this;\n var id = obj._listenId || (obj._listenId = _.uniqueId('l'));\n var listeningTo = this._listeningTo || (this._listeningTo = {});\n var listening = listeningTo[id];\n\n // This object is not listening to any other events on `obj` yet.\n // Setup the necessary references to track the listening callbacks.\n if (!listening) {\n var thisId = this._listenId || (this._listenId = _.uniqueId('l'));\n listening = listeningTo[id] = {obj: obj, objId: id, id: thisId, listeningTo: listeningTo, count: 0};\n }\n\n // Bind callbacks on obj, and keep track of them on listening.\n internalOn(obj, name, callback, this, listening);\n return this;\n };\n\n // The reducing API that adds a callback to the `events` object.\n var onApi = function(events, name, callback, options) {\n if (callback) {\n var handlers = events[name] || (events[name] = []);\n var context = options.context, ctx = options.ctx, listening = options.listening;\n if (listening) listening.count++;\n\n handlers.push({ callback: callback, context: context, ctx: context || ctx, listening: listening });\n }\n return events;\n };\n\n // Remove one or many callbacks. If `context` is null, removes all\n // callbacks with that function. If `callback` is null, removes all\n // callbacks for the event. If `name` is null, removes all bound\n // callbacks for all events.\n Events.off = function(name, callback, context) {\n if (!this._events) return this;\n this._events = eventsApi(offApi, this._events, name, callback, {\n context: context,\n listeners: this._listeners\n });\n return this;\n };\n\n // Tell this object to stop listening to either specific events ... or\n // to every object it's currently listening to.\n Events.stopListening = function(obj, name, callback) {\n var listeningTo = this._listeningTo;\n if (!listeningTo) return this;\n\n var ids = obj ? [obj._listenId] : _.keys(listeningTo);\n\n for (var i = 0; i < ids.length; i++) {\n var listening = listeningTo[ids[i]];\n\n // If listening doesn't exist, this object is not currently\n // listening to obj. Break out early.\n if (!listening) break;\n\n listening.obj.off(name, callback, this);\n }\n if (_.isEmpty(listeningTo)) this._listeningTo = void 0;\n\n return this;\n };\n\n // The reducing API that removes a callback from the `events` object.\n var offApi = function(events, name, callback, options) {\n // No events to consider.\n if (!events) return;\n\n var i = 0, listening;\n var context = options.context, listeners = options.listeners;\n\n // Delete all events listeners and \"drop\" events.\n if (!name && !callback && !context) {\n var ids = _.keys(listeners);\n for (; i < ids.length; i++) {\n listening = listeners[ids[i]];\n delete listeners[listening.id];\n delete listening.listeningTo[listening.objId];\n }\n return;\n }\n\n var names = name ? [name] : _.keys(events);\n for (; i < names.length; i++) {\n name = names[i];\n var handlers = events[name];\n\n // Bail out if there are no events stored.\n if (!handlers) break;\n\n // Replace events if there are any remaining. Otherwise, clean up.\n var remaining = [];\n for (var j = 0; j < handlers.length; j++) {\n var handler = handlers[j];\n if (\n callback && callback !== handler.callback &&\n callback !== handler.callback._callback ||\n context && context !== handler.context\n ) {\n remaining.push(handler);\n } else {\n listening = handler.listening;\n if (listening && --listening.count === 0) {\n delete listeners[listening.id];\n delete listening.listeningTo[listening.objId];\n }\n }\n }\n\n // Update tail event if the list has any events. Otherwise, clean up.\n if (remaining.length) {\n events[name] = remaining;\n } else {\n delete events[name];\n }\n }\n if (_.size(events)) return events;\n };\n\n // Bind an event to only be triggered a single time. After the first time\n // the callback is invoked, it will be removed. When multiple events are\n // passed in using the space-separated syntax, the event will fire once for every\n // event you passed in, not once for a combination of all events\n Events.once = function(name, callback, context) {\n // Map the event into a `{event: once}` object.\n var events = eventsApi(onceMap, {}, name, callback, _.bind(this.off, this));\n return this.on(events, void 0, context);\n };\n\n // Inversion-of-control versions of `once`.\n Events.listenToOnce = function(obj, name, callback) {\n // Map the event into a `{event: once}` object.\n var events = eventsApi(onceMap, {}, name, callback, _.bind(this.stopListening, this, obj));\n return this.listenTo(obj, events);\n };\n\n // Reduces the event callbacks into a map of `{event: onceWrapper}`.\n // `offer` unbinds the `onceWrapper` after it has been called.\n var onceMap = function(map, name, callback, offer) {\n if (callback) {\n var once = map[name] = _.once(function() {\n offer(name, once);\n callback.apply(this, arguments);\n });\n once._callback = callback;\n }\n return map;\n };\n\n // Trigger one or many events, firing all bound callbacks. Callbacks are\n // passed the same arguments as `trigger` is, apart from the event name\n // (unless you're listening on `\"all\"`, which will cause your callback to\n // receive the true name of the event as the first argument).\n Events.trigger = function(name) {\n if (!this._events) return this;\n\n var length = Math.max(0, arguments.length - 1);\n var args = Array(length);\n for (var i = 0; i < length; i++) args[i] = arguments[i + 1];\n\n eventsApi(triggerApi, this._events, name, void 0, args);\n return this;\n };\n\n // Handles triggering the appropriate event callbacks.\n var triggerApi = function(objEvents, name, cb, args) {\n if (objEvents) {\n var events = objEvents[name];\n var allEvents = objEvents.all;\n if (events && allEvents) allEvents = allEvents.slice();\n if (events) triggerEvents(events, args);\n if (allEvents) triggerEvents(allEvents, [name].concat(args));\n }\n return objEvents;\n };\n\n // A difficult-to-believe, but optimized internal dispatch function for\n // triggering events. Tries to keep the usual cases speedy (most internal\n // Backbone events have 3 arguments).\n var triggerEvents = function(events, args) {\n var ev, i = -1, l = events.length, a1 = args[0], a2 = args[1], a3 = args[2];\n switch (args.length) {\n case 0: while (++i < l) (ev = events[i]).callback.call(ev.ctx); return;\n case 1: while (++i < l) (ev = events[i]).callback.call(ev.ctx, a1); return;\n case 2: while (++i < l) (ev = events[i]).callback.call(ev.ctx, a1, a2); return;\n case 3: while (++i < l) (ev = events[i]).callback.call(ev.ctx, a1, a2, a3); return;\n default: while (++i < l) (ev = events[i]).callback.apply(ev.ctx, args); return;\n }\n };\n\n // Aliases for backwards compatibility.\n Events.bind = Events.on;\n Events.unbind = Events.off;\n\n // Allow the `Backbone` object to serve as a global event bus, for folks who\n // want global \"pubsub\" in a convenient place.\n _.extend(Backbone, Events);\n\n // Backbone.Model\n // --------------\n\n // Backbone **Models** are the basic data object in the framework --\n // frequently representing a row in a table in a database on your server.\n // A discrete chunk of data and a bunch of useful, related methods for\n // performing computations and transformations on that data.\n\n // Create a new model with the specified attributes. A client id (`cid`)\n // is automatically generated and assigned for you.\n var Model = Backbone.Model = function(attributes, options) {\n var attrs = attributes || {};\n options || (options = {});\n this.cid = _.uniqueId(this.cidPrefix);\n this.attributes = {};\n if (options.collection) this.collection = options.collection;\n if (options.parse) attrs = this.parse(attrs, options) || {};\n attrs = _.defaults({}, attrs, _.result(this, 'defaults'));\n this.set(attrs, options);\n this.changed = {};\n this.initialize.apply(this, arguments);\n };\n\n // Attach all inheritable methods to the Model prototype.\n _.extend(Model.prototype, Events, {\n\n // A hash of attributes whose current and previous value differ.\n changed: null,\n\n // The value returned during the last failed validation.\n validationError: null,\n\n // The default name for the JSON `id` attribute is `\"id\"`. MongoDB and\n // CouchDB users may want to set this to `\"_id\"`.\n idAttribute: 'id',\n\n // The prefix is used to create the client id which is used to identify models locally.\n // You may want to override this if you're experiencing name clashes with model ids.\n cidPrefix: 'c',\n\n // Initialize is an empty function by default. Override it with your own\n // initialization logic.\n initialize: function(){},\n\n // Return a copy of the model's `attributes` object.\n toJSON: function(options) {\n return _.clone(this.attributes);\n },\n\n // Proxy `Backbone.sync` by default -- but override this if you need\n // custom syncing semantics for *this* particular model.\n sync: function() {\n return Backbone.sync.apply(this, arguments);\n },\n\n // Get the value of an attribute.\n get: function(attr) {\n return this.attributes[attr];\n },\n\n // Get the HTML-escaped value of an attribute.\n escape: function(attr) {\n return _.escape(this.get(attr));\n },\n\n // Returns `true` if the attribute contains a value that is not null\n // or undefined.\n has: function(attr) {\n return this.get(attr) != null;\n },\n\n // Special-cased proxy to underscore's `_.matches` method.\n matches: function(attrs) {\n return !!_.iteratee(attrs, this)(this.attributes);\n },\n\n // Set a hash of model attributes on the object, firing `\"change\"`. This is\n // the core primitive operation of a model, updating the data and notifying\n // anyone who needs to know about the change in state. The heart of the beast.\n set: function(key, val, options) {\n if (key == null) return this;\n\n // Handle both `\"key\", value` and `{key: value}` -style arguments.\n var attrs;\n if (typeof key === 'object') {\n attrs = key;\n options = val;\n } else {\n (attrs = {})[key] = val;\n }\n\n options || (options = {});\n\n // Run validation.\n if (!this._validate(attrs, options)) return false;\n\n // Extract attributes and options.\n var unset = options.unset;\n var silent = options.silent;\n var changes = [];\n var changing = this._changing;\n this._changing = true;\n\n if (!changing) {\n this._previousAttributes = _.clone(this.attributes);\n this.changed = {};\n }\n\n var current = this.attributes;\n var changed = this.changed;\n var prev = this._previousAttributes;\n\n // Check for changes of `id`.\n if (this.idAttribute in attrs) this.id = attrs[this.idAttribute];\n\n // For each `set` attribute, update or delete the current value.\n for (var attr in attrs) {\n val = attrs[attr];\n if (!_.isEqual(current[attr], val)) changes.push(attr);\n if (!_.isEqual(prev[attr], val)) {\n changed[attr] = val;\n } else {\n delete changed[attr];\n }\n unset ? delete current[attr] : current[attr] = val;\n }\n\n // Trigger all relevant attribute changes.\n if (!silent) {\n if (changes.length) this._pending = options;\n for (var i = 0; i < changes.length; i++) {\n this.trigger('change:' + changes[i], this, current[changes[i]], options);\n }\n }\n\n // You might be wondering why there's a `while` loop here. Changes can\n // be recursively nested within `\"change\"` events.\n if (changing) return this;\n if (!silent) {\n while (this._pending) {\n options = this._pending;\n this._pending = false;\n this.trigger('change', this, options);\n }\n }\n this._pending = false;\n this._changing = false;\n return this;\n },\n\n // Remove an attribute from the model, firing `\"change\"`. `unset` is a noop\n // if the attribute doesn't exist.\n unset: function(attr, options) {\n return this.set(attr, void 0, _.extend({}, options, {unset: true}));\n },\n\n // Clear all attributes on the model, firing `\"change\"`.\n clear: function(options) {\n var attrs = {};\n for (var key in this.attributes) attrs[key] = void 0;\n return this.set(attrs, _.extend({}, options, {unset: true}));\n },\n\n // Determine if the model has changed since the last `\"change\"` event.\n // If you specify an attribute name, determine if that attribute has changed.\n hasChanged: function(attr) {\n if (attr == null) return !_.isEmpty(this.changed);\n return _.has(this.changed, attr);\n },\n\n // Return an object containing all the attributes that have changed, or\n // false if there are no changed attributes. Useful for determining what\n // parts of a view need to be updated and/or what attributes need to be\n // persisted to the server. Unset attributes will be set to undefined.\n // You can also pass an attributes object to diff against the model,\n // determining if there *would be* a change.\n changedAttributes: function(diff) {\n if (!diff) return this.hasChanged() ? _.clone(this.changed) : false;\n var old = this._changing ? this._previousAttributes : this.attributes;\n var changed = {};\n for (var attr in diff) {\n var val = diff[attr];\n if (_.isEqual(old[attr], val)) continue;\n changed[attr] = val;\n }\n return _.size(changed) ? changed : false;\n },\n\n // Get the previous value of an attribute, recorded at the time the last\n // `\"change\"` event was fired.\n previous: function(attr) {\n if (attr == null || !this._previousAttributes) return null;\n return this._previousAttributes[attr];\n },\n\n // Get all of the attributes of the model at the time of the previous\n // `\"change\"` event.\n previousAttributes: function() {\n return _.clone(this._previousAttributes);\n },\n\n // Fetch the model from the server, merging the response with the model's\n // local attributes. Any changed attributes will trigger a \"change\" event.\n fetch: function(options) {\n options = _.extend({parse: true}, options);\n var model = this;\n var success = options.success;\n options.success = function(resp) {\n var serverAttrs = options.parse ? model.parse(resp, options) : resp;\n if (!model.set(serverAttrs, options)) return false;\n if (success) success.call(options.context, model, resp, options);\n model.trigger('sync', model, resp, options);\n };\n wrapError(this, options);\n return this.sync('read', this, options);\n },\n\n // Set a hash of model attributes, and sync the model to the server.\n // If the server returns an attributes hash that differs, the model's\n // state will be `set` again.\n save: function(key, val, options) {\n // Handle both `\"key\", value` and `{key: value}` -style arguments.\n var attrs;\n if (key == null || typeof key === 'object') {\n attrs = key;\n options = val;\n } else {\n (attrs = {})[key] = val;\n }\n\n options = _.extend({validate: true, parse: true}, options);\n var wait = options.wait;\n\n // If we're not waiting and attributes exist, save acts as\n // `set(attr).save(null, opts)` with validation. Otherwise, check if\n // the model will be valid when the attributes, if any, are set.\n if (attrs && !wait) {\n if (!this.set(attrs, options)) return false;\n } else {\n if (!this._validate(attrs, options)) return false;\n }\n\n // After a successful server-side save, the client is (optionally)\n // updated with the server-side state.\n var model = this;\n var success = options.success;\n var attributes = this.attributes;\n options.success = function(resp) {\n // Ensure attributes are restored during synchronous saves.\n model.attributes = attributes;\n var serverAttrs = options.parse ? model.parse(resp, options) : resp;\n if (wait) serverAttrs = _.extend({}, attrs, serverAttrs);\n if (serverAttrs && !model.set(serverAttrs, options)) return false;\n if (success) success.call(options.context, model, resp, options);\n model.trigger('sync', model, resp, options);\n };\n wrapError(this, options);\n\n // Set temporary attributes if `{wait: true}` to properly find new ids.\n if (attrs && wait) this.attributes = _.extend({}, attributes, attrs);\n\n var method = this.isNew() ? 'create' : (options.patch ? 'patch' : 'update');\n if (method === 'patch' && !options.attrs) options.attrs = attrs;\n var xhr = this.sync(method, this, options);\n\n // Restore attributes.\n this.attributes = attributes;\n\n return xhr;\n },\n\n // Destroy this model on the server if it was already persisted.\n // Optimistically removes the model from its collection, if it has one.\n // If `wait: true` is passed, waits for the server to respond before removal.\n destroy: function(options) {\n options = options ? _.clone(options) : {};\n var model = this;\n var success = options.success;\n var wait = options.wait;\n\n var destroy = function() {\n model.stopListening();\n model.trigger('destroy', model, model.collection, options);\n };\n\n options.success = function(resp) {\n if (wait) destroy();\n if (success) success.call(options.context, model, resp, options);\n if (!model.isNew()) model.trigger('sync', model, resp, options);\n };\n\n var xhr = false;\n if (this.isNew()) {\n _.defer(options.success);\n } else {\n wrapError(this, options);\n xhr = this.sync('delete', this, options);\n }\n if (!wait) destroy();\n return xhr;\n },\n\n // Default URL for the model's representation on the server -- if you're\n // using Backbone's restful methods, override this to change the endpoint\n // that will be called.\n url: function() {\n var base =\n _.result(this, 'urlRoot') ||\n _.result(this.collection, 'url') ||\n urlError();\n if (this.isNew()) return base;\n var id = this.get(this.idAttribute);\n return base.replace(/[^\\/]$/, '$&/') + encodeURIComponent(id);\n },\n\n // **parse** converts a response into the hash of attributes to be `set` on\n // the model. The default implementation is just to pass the response along.\n parse: function(resp, options) {\n return resp;\n },\n\n // Create a new model with identical attributes to this one.\n clone: function() {\n return new this.constructor(this.attributes);\n },\n\n // A model is new if it has never been saved to the server, and lacks an id.\n isNew: function() {\n return !this.has(this.idAttribute);\n },\n\n // Check if the model is currently in a valid state.\n isValid: function(options) {\n return this._validate({}, _.defaults({validate: true}, options));\n },\n\n // Run validation against the next complete set of model attributes,\n // returning `true` if all is well. Otherwise, fire an `\"invalid\"` event.\n _validate: function(attrs, options) {\n if (!options.validate || !this.validate) return true;\n attrs = _.extend({}, this.attributes, attrs);\n var error = this.validationError = this.validate(attrs, options) || null;\n if (!error) return true;\n this.trigger('invalid', this, error, _.extend(options, {validationError: error}));\n return false;\n }\n\n });\n\n // Underscore methods that we want to implement on the Model.\n var modelMethods = { keys: 1, values: 1, pairs: 1, invert: 1, pick: 0,\n omit: 0, chain: 1, isEmpty: 1 };\n\n // Mix in each Underscore method as a proxy to `Model#attributes`.\n addUnderscoreMethods(Model, modelMethods, 'attributes');\n\n // Backbone.Collection\n // -------------------\n\n // If models tend to represent a single row of data, a Backbone Collection is\n // more analogous to a table full of data ... or a small slice or page of that\n // table, or a collection of rows that belong together for a particular reason\n // -- all of the messages in this particular folder, all of the documents\n // belonging to this particular author, and so on. Collections maintain\n // indexes of their models, both in order, and for lookup by `id`.\n\n // Create a new **Collection**, perhaps to contain a specific type of `model`.\n // If a `comparator` is specified, the Collection will maintain\n // its models in sort order, as they're added and removed.\n var Collection = Backbone.Collection = function(models, options) {\n options || (options = {});\n if (options.model) this.model = options.model;\n if (options.comparator !== void 0) this.comparator = options.comparator;\n this._reset();\n this.initialize.apply(this, arguments);\n if (models) this.reset(models, _.extend({silent: true}, options));\n };\n\n // Default options for `Collection#set`.\n var setOptions = {add: true, remove: true, merge: true};\n var addOptions = {add: true, remove: false};\n\n // Define the Collection's inheritable methods.\n _.extend(Collection.prototype, Events, {\n\n // The default model for a collection is just a **Backbone.Model**.\n // This should be overridden in most cases.\n model: Model,\n\n // Initialize is an empty function by default. Override it with your own\n // initialization logic.\n initialize: function(){},\n\n // The JSON representation of a Collection is an array of the\n // models' attributes.\n toJSON: function(options) {\n return this.map(function(model) { return model.toJSON(options); });\n },\n\n // Proxy `Backbone.sync` by default.\n sync: function() {\n return Backbone.sync.apply(this, arguments);\n },\n\n // Add a model, or list of models to the set.\n add: function(models, options) {\n return this.set(models, _.extend({merge: false}, options, addOptions));\n },\n\n // Remove a model, or a list of models from the set.\n remove: function(models, options) {\n options = _.extend({}, options);\n var singular = !_.isArray(models);\n models = singular ? [models] : _.clone(models);\n var removed = this._removeModels(models, options);\n if (!options.silent && removed) this.trigger('update', this, options);\n return singular ? removed[0] : removed;\n },\n\n // Update a collection by `set`-ing a new list of models, adding new ones,\n // removing models that are no longer present, and merging models that\n // already exist in the collection, as necessary. Similar to **Model#set**,\n // the core operation for updating the data contained by the collection.\n set: function(models, options) {\n options = _.defaults({}, options, setOptions);\n if (options.parse && !this._isModel(models)) models = this.parse(models, options);\n var singular = !_.isArray(models);\n models = singular ? (models ? [models] : []) : models.slice();\n var id, model, attrs, existing, sort;\n var at = options.at;\n if (at != null) at = +at;\n if (at < 0) at += this.length + 1;\n var sortable = this.comparator && (at == null) && options.sort !== false;\n var sortAttr = _.isString(this.comparator) ? this.comparator : null;\n var toAdd = [], toRemove = [], modelMap = {};\n var add = options.add, merge = options.merge, remove = options.remove;\n var order = !sortable && add && remove ? [] : false;\n var orderChanged = false;\n\n // Turn bare objects into model references, and prevent invalid models\n // from being added.\n for (var i = 0; i < models.length; i++) {\n attrs = models[i];\n\n // If a duplicate is found, prevent it from being added and\n // optionally merge it into the existing model.\n if (existing = this.get(attrs)) {\n if (remove) modelMap[existing.cid] = true;\n if (merge && attrs !== existing) {\n attrs = this._isModel(attrs) ? attrs.attributes : attrs;\n if (options.parse) attrs = existing.parse(attrs, options);\n existing.set(attrs, options);\n if (sortable && !sort && existing.hasChanged(sortAttr)) sort = true;\n }\n models[i] = existing;\n\n // If this is a new, valid model, push it to the `toAdd` list.\n } else if (add) {\n model = models[i] = this._prepareModel(attrs, options);\n if (!model) continue;\n toAdd.push(model);\n this._addReference(model, options);\n }\n\n // Do not add multiple models with the same `id`.\n model = existing || model;\n if (!model) continue;\n id = this.modelId(model.attributes);\n if (order && (model.isNew() || !modelMap[id])) {\n order.push(model);\n\n // Check to see if this is actually a new model at this index.\n orderChanged = orderChanged || !this.models[i] || model.cid !== this.models[i].cid;\n }\n\n modelMap[id] = true;\n }\n\n // Remove nonexistent models if appropriate.\n if (remove) {\n for (var i = 0; i < this.length; i++) {\n if (!modelMap[(model = this.models[i]).cid]) toRemove.push(model);\n }\n if (toRemove.length) this._removeModels(toRemove, options);\n }\n\n // See if sorting is needed, update `length` and splice in new models.\n if (toAdd.length || orderChanged) {\n if (sortable) sort = true;\n this.length += toAdd.length;\n if (at != null) {\n for (var i = 0; i < toAdd.length; i++) {\n this.models.splice(at + i, 0, toAdd[i]);\n }\n } else {\n if (order) this.models.length = 0;\n var orderedModels = order || toAdd;\n for (var i = 0; i < orderedModels.length; i++) {\n this.models.push(orderedModels[i]);\n }\n }\n }\n\n // Silently sort the collection if appropriate.\n if (sort) this.sort({silent: true});\n\n // Unless silenced, it's time to fire all appropriate add/sort events.\n if (!options.silent) {\n var addOpts = at != null ? _.clone(options) : options;\n for (var i = 0; i < toAdd.length; i++) {\n if (at != null) addOpts.index = at + i;\n (model = toAdd[i]).trigger('add', model, this, addOpts);\n }\n if (sort || orderChanged) this.trigger('sort', this, options);\n if (toAdd.length || toRemove.length) this.trigger('update', this, options);\n }\n\n // Return the added (or merged) model (or models).\n return singular ? models[0] : models;\n },\n\n // When you have more items than you want to add or remove individually,\n // you can reset the entire set with a new list of models, without firing\n // any granular `add` or `remove` events. Fires `reset` when finished.\n // Useful for bulk operations and optimizations.\n reset: function(models, options) {\n options = options ? _.clone(options) : {};\n for (var i = 0; i < this.models.length; i++) {\n this._removeReference(this.models[i], options);\n }\n options.previousModels = this.models;\n this._reset();\n models = this.add(models, _.extend({silent: true}, options));\n if (!options.silent) this.trigger('reset', this, options);\n return models;\n },\n\n // Add a model to the end of the collection.\n push: function(model, options) {\n return this.add(model, _.extend({at: this.length}, options));\n },\n\n // Remove a model from the end of the collection.\n pop: function(options) {\n var model = this.at(this.length - 1);\n return this.remove(model, options);\n },\n\n // Add a model to the beginning of the collection.\n unshift: function(model, options) {\n return this.add(model, _.extend({at: 0}, options));\n },\n\n // Remove a model from the beginning of the collection.\n shift: function(options) {\n var model = this.at(0);\n return this.remove(model, options);\n },\n\n // Slice out a sub-array of models from the collection.\n slice: function() {\n return slice.apply(this.models, arguments);\n },\n\n // Get a model from the set by id.\n get: function(obj) {\n if (obj == null) return void 0;\n var id = this.modelId(this._isModel(obj) ? obj.attributes : obj);\n return this._byId[obj] || this._byId[id] || this._byId[obj.cid];\n },\n\n // Get the model at the given index.\n at: function(index) {\n if (index < 0) index += this.length;\n return this.models[index];\n },\n\n // Return models with matching attributes. Useful for simple cases of\n // `filter`.\n where: function(attrs, first) {\n var matches = _.matches(attrs);\n return this[first ? 'find' : 'filter'](function(model) {\n return matches(model.attributes);\n });\n },\n\n // Return the first model with matching attributes. Useful for simple cases\n // of `find`.\n findWhere: function(attrs) {\n return this.where(attrs, true);\n },\n\n // Force the collection to re-sort itself. You don't need to call this under\n // normal circumstances, as the set will maintain sort order as each item\n // is added.\n sort: function(options) {\n if (!this.comparator) throw new Error('Cannot sort a set without a comparator');\n options || (options = {});\n\n // Run sort based on type of `comparator`.\n if (_.isString(this.comparator) || this.comparator.length === 1) {\n this.models = this.sortBy(this.comparator, this);\n } else {\n this.models.sort(_.bind(this.comparator, this));\n }\n\n if (!options.silent) this.trigger('sort', this, options);\n return this;\n },\n\n // Pluck an attribute from each model in the collection.\n pluck: function(attr) {\n return _.invoke(this.models, 'get', attr);\n },\n\n // Fetch the default set of models for this collection, resetting the\n // collection when they arrive. If `reset: true` is passed, the response\n // data will be passed through the `reset` method instead of `set`.\n fetch: function(options) {\n options = _.extend({parse: true}, options);\n var success = options.success;\n var collection = this;\n options.success = function(resp) {\n var method = options.reset ? 'reset' : 'set';\n collection[method](resp, options);\n if (success) success.call(options.context, collection, resp, options);\n collection.trigger('sync', collection, resp, options);\n };\n wrapError(this, options);\n return this.sync('read', this, options);\n },\n\n // Create a new instance of a model in this collection. Add the model to the\n // collection immediately, unless `wait: true` is passed, in which case we\n // wait for the server to agree.\n create: function(model, options) {\n options = options ? _.clone(options) : {};\n var wait = options.wait;\n model = this._prepareModel(model, options);\n if (!model) return false;\n if (!wait) this.add(model, options);\n var collection = this;\n var success = options.success;\n options.success = function(model, resp, callbackOpts) {\n if (wait) collection.add(model, callbackOpts);\n if (success) success.call(callbackOpts.context, model, resp, callbackOpts);\n };\n model.save(null, options);\n return model;\n },\n\n // **parse** converts a response into a list of models to be added to the\n // collection. The default implementation is just to pass it through.\n parse: function(resp, options) {\n return resp;\n },\n\n // Create a new collection with an identical list of models as this one.\n clone: function() {\n return new this.constructor(this.models, {\n model: this.model,\n comparator: this.comparator\n });\n },\n\n // Define how to uniquely identify models in the collection.\n modelId: function (attrs) {\n return attrs[this.model.prototype.idAttribute || 'id'];\n },\n\n // Private method to reset all internal state. Called when the collection\n // is first initialized or reset.\n _reset: function() {\n this.length = 0;\n this.models = [];\n this._byId = {};\n },\n\n // Prepare a hash of attributes (or other model) to be added to this\n // collection.\n _prepareModel: function(attrs, options) {\n if (this._isModel(attrs)) {\n if (!attrs.collection) attrs.collection = this;\n return attrs;\n }\n options = options ? _.clone(options) : {};\n options.collection = this;\n var model = new this.model(attrs, options);\n if (!model.validationError) return model;\n this.trigger('invalid', this, model.validationError, options);\n return false;\n },\n\n // Internal method called by both remove and set.\n // Returns removed models, or false if nothing is removed.\n _removeModels: function(models, options) {\n var removed = [];\n for (var i = 0; i < models.length; i++) {\n var model = this.get(models[i]);\n if (!model) continue;\n\n var index = this.indexOf(model);\n this.models.splice(index, 1);\n this.length--;\n\n if (!options.silent) {\n options.index = index;\n model.trigger('remove', model, this, options);\n }\n\n removed.push(model);\n this._removeReference(model, options);\n }\n return removed.length ? removed : false;\n },\n\n // Method for checking whether an object should be considered a model for\n // the purposes of adding to the collection.\n _isModel: function (model) {\n return model instanceof Model;\n },\n\n // Internal method to create a model's ties to a collection.\n _addReference: function(model, options) {\n this._byId[model.cid] = model;\n var id = this.modelId(model.attributes);\n if (id != null) this._byId[id] = model;\n model.on('all', this._onModelEvent, this);\n },\n\n // Internal method to sever a model's ties to a collection.\n _removeReference: function(model, options) {\n delete this._byId[model.cid];\n var id = this.modelId(model.attributes);\n if (id != null) delete this._byId[id];\n if (this === model.collection) delete model.collection;\n model.off('all', this._onModelEvent, this);\n },\n\n // Internal method called every time a model in the set fires an event.\n // Sets need to update their indexes when models change ids. All other\n // events simply proxy through. \"add\" and \"remove\" events that originate\n // in other collections are ignored.\n _onModelEvent: function(event, model, collection, options) {\n if ((event === 'add' || event === 'remove') && collection !== this) return;\n if (event === 'destroy') this.remove(model, options);\n if (event === 'change') {\n var prevId = this.modelId(model.previousAttributes());\n var id = this.modelId(model.attributes);\n if (prevId !== id) {\n if (prevId != null) delete this._byId[prevId];\n if (id != null) this._byId[id] = model;\n }\n }\n this.trigger.apply(this, arguments);\n }\n\n });\n\n // Underscore methods that we want to implement on the Collection.\n // 90% of the core usefulness of Backbone Collections is actually implemented\n // right here:\n var collectionMethods = { forEach: 3, each: 3, map: 3, collect: 3, reduce: 4,\n foldl: 4, inject: 4, reduceRight: 4, foldr: 4, find: 3, detect: 3, filter: 3,\n select: 3, reject: 3, every: 3, all: 3, some: 3, any: 3, include: 2,\n contains: 2, invoke: 0, max: 3, min: 3, toArray: 1, size: 1, first: 3,\n head: 3, take: 3, initial: 3, rest: 3, tail: 3, drop: 3, last: 3,\n without: 0, difference: 0, indexOf: 3, shuffle: 1, lastIndexOf: 3,\n isEmpty: 1, chain: 1, sample: 3, partition: 3 };\n\n // Mix in each Underscore method as a proxy to `Collection#models`.\n addUnderscoreMethods(Collection, collectionMethods, 'models');\n\n // Underscore methods that take a property name as an argument.\n var attributeMethods = ['groupBy', 'countBy', 'sortBy', 'indexBy'];\n\n // Use attributes instead of properties.\n _.each(attributeMethods, function(method) {\n if (!_[method]) return;\n Collection.prototype[method] = function(value, context) {\n var iterator = _.isFunction(value) ? value : function(model) {\n return model.get(value);\n };\n return _[method](this.models, iterator, context);\n };\n });\n\n // Backbone.View\n // -------------\n\n // Backbone Views are almost more convention than they are actual code. A View\n // is simply a JavaScript object that represents a logical chunk of UI in the\n // DOM. This might be a single item, an entire list, a sidebar or panel, or\n // even the surrounding frame which wraps your whole app. Defining a chunk of\n // UI as a **View** allows you to define your DOM events declaratively, without\n // having to worry about render order ... and makes it easy for the view to\n // react to specific changes in the state of your models.\n\n // Creating a Backbone.View creates its initial element outside of the DOM,\n // if an existing element is not provided...\n var View = Backbone.View = function(options) {\n this.cid = _.uniqueId('view');\n _.extend(this, _.pick(options, viewOptions));\n this._ensureElement();\n this.initialize.apply(this, arguments);\n };\n\n // Cached regex to split keys for `delegate`.\n var delegateEventSplitter = /^(\\S+)\\s*(.*)$/;\n\n // List of view options to be merged as properties.\n var viewOptions = ['model', 'collection', 'el', 'id', 'attributes', 'className', 'tagName', 'events'];\n\n // Set up all inheritable **Backbone.View** properties and methods.\n _.extend(View.prototype, Events, {\n\n // The default `tagName` of a View's element is `\"div\"`.\n tagName: 'div',\n\n // jQuery delegate for element lookup, scoped to DOM elements within the\n // current view. This should be preferred to global lookups where possible.\n $: function(selector) {\n return this.$el.find(selector);\n },\n\n // Initialize is an empty function by default. Override it with your own\n // initialization logic.\n initialize: function(){},\n\n // **render** is the core function that your view should override, in order\n // to populate its element (`this.el`), with the appropriate HTML. The\n // convention is for **render** to always return `this`.\n render: function() {\n return this;\n },\n\n // Remove this view by taking the element out of the DOM, and removing any\n // applicable Backbone.Events listeners.\n remove: function() {\n this._removeElement();\n this.stopListening();\n return this;\n },\n\n // Remove this view's element from the document and all event listeners\n // attached to it. Exposed for subclasses using an alternative DOM\n // manipulation API.\n _removeElement: function() {\n this.$el.remove();\n },\n\n // Change the view's element (`this.el` property) and re-delegate the\n // view's events on the new element.\n setElement: function(element) {\n this.undelegateEvents();\n this._setElement(element);\n this.delegateEvents();\n return this;\n },\n\n // Creates the `this.el` and `this.$el` references for this view using the\n // given `el`. `el` can be a CSS selector or an HTML string, a jQuery\n // context or an element. Subclasses can override this to utilize an\n // alternative DOM manipulation API and are only required to set the\n // `this.el` property.\n _setElement: function(el) {\n this.$el = el instanceof Backbone.$ ? el : Backbone.$(el);\n this.el = this.$el[0];\n },\n\n // Set callbacks, where `this.events` is a hash of\n //\n // *{\"event selector\": \"callback\"}*\n //\n // {\n // 'mousedown .title': 'edit',\n // 'click .button': 'save',\n // 'click .open': function(e) { ... }\n // }\n //\n // pairs. Callbacks will be bound to the view, with `this` set properly.\n // Uses event delegation for efficiency.\n // Omitting the selector binds the event to `this.el`.\n delegateEvents: function(events) {\n events || (events = _.result(this, 'events'));\n if (!events) return this;\n this.undelegateEvents();\n for (var key in events) {\n var method = events[key];\n if (!_.isFunction(method)) method = this[method];\n if (!method) continue;\n var match = key.match(delegateEventSplitter);\n this.delegate(match[1], match[2], _.bind(method, this));\n }\n return this;\n },\n\n // Add a single event listener to the view's element (or a child element\n // using `selector`). This only works for delegate-able events: not `focus`,\n // `blur`, and not `change`, `submit`, and `reset` in Internet Explorer.\n delegate: function(eventName, selector, listener) {\n this.$el.on(eventName + '.delegateEvents' + this.cid, selector, listener);\n return this;\n },\n\n // Clears all callbacks previously bound to the view by `delegateEvents`.\n // You usually don't need to use this, but may wish to if you have multiple\n // Backbone views attached to the same DOM element.\n undelegateEvents: function() {\n if (this.$el) this.$el.off('.delegateEvents' + this.cid);\n return this;\n },\n\n // A finer-grained `undelegateEvents` for removing a single delegated event.\n // `selector` and `listener` are both optional.\n undelegate: function(eventName, selector, listener) {\n this.$el.off(eventName + '.delegateEvents' + this.cid, selector, listener);\n return this;\n },\n\n // Produces a DOM element to be assigned to your view. Exposed for\n // subclasses using an alternative DOM manipulation API.\n _createElement: function(tagName) {\n return document.createElement(tagName);\n },\n\n // Ensure that the View has a DOM element to render into.\n // If `this.el` is a string, pass it through `$()`, take the first\n // matching element, and re-assign it to `el`. Otherwise, create\n // an element from the `id`, `className` and `tagName` properties.\n _ensureElement: function() {\n if (!this.el) {\n var attrs = _.extend({}, _.result(this, 'attributes'));\n if (this.id) attrs.id = _.result(this, 'id');\n if (this.className) attrs['class'] = _.result(this, 'className');\n this.setElement(this._createElement(_.result(this, 'tagName')));\n this._setAttributes(attrs);\n } else {\n this.setElement(_.result(this, 'el'));\n }\n },\n\n // Set attributes from a hash on this view's element. Exposed for\n // subclasses using an alternative DOM manipulation API.\n _setAttributes: function(attributes) {\n this.$el.attr(attributes);\n }\n\n });\n\n // Backbone.sync\n // -------------\n\n // Override this function to change the manner in which Backbone persists\n // models to the server. You will be passed the type of request, and the\n // model in question. By default, makes a RESTful Ajax request\n // to the model's `url()`. Some possible customizations could be:\n //\n // * Use `setTimeout` to batch rapid-fire updates into a single request.\n // * Send up the models as XML instead of JSON.\n // * Persist models via WebSockets instead of Ajax.\n //\n // Turn on `Backbone.emulateHTTP` in order to send `PUT` and `DELETE` requests\n // as `POST`, with a `_method` parameter containing the true HTTP method,\n // as well as all requests with the body as `application/x-www-form-urlencoded`\n // instead of `application/json` with the model in a param named `model`.\n // Useful when interfacing with server-side languages like **PHP** that make\n // it difficult to read the body of `PUT` requests.\n Backbone.sync = function(method, model, options) {\n var type = methodMap[method];\n\n // Default options, unless specified.\n _.defaults(options || (options = {}), {\n emulateHTTP: Backbone.emulateHTTP,\n emulateJSON: Backbone.emulateJSON\n });\n\n // Default JSON-request options.\n var params = {type: type, dataType: 'json'};\n\n // Ensure that we have a URL.\n if (!options.url) {\n params.url = _.result(model, 'url') || urlError();\n }\n\n // Ensure that we have the appropriate request data.\n if (options.data == null && model && (method === 'create' || method === 'update' || method === 'patch')) {\n params.contentType = 'application/json';\n params.data = JSON.stringify(options.attrs || model.toJSON(options));\n }\n\n // For older servers, emulate JSON by encoding the request into an HTML-form.\n if (options.emulateJSON) {\n params.contentType = 'application/x-www-form-urlencoded';\n params.data = params.data ? {model: params.data} : {};\n }\n\n // For older servers, emulate HTTP by mimicking the HTTP method with `_method`\n // And an `X-HTTP-Method-Override` header.\n if (options.emulateHTTP && (type === 'PUT' || type === 'DELETE' || type === 'PATCH')) {\n params.type = 'POST';\n if (options.emulateJSON) params.data._method = type;\n var beforeSend = options.beforeSend;\n options.beforeSend = function(xhr) {\n xhr.setRequestHeader('X-HTTP-Method-Override', type);\n if (beforeSend) return beforeSend.apply(this, arguments);\n };\n }\n\n // Don't process data on a non-GET request.\n if (params.type !== 'GET' && !options.emulateJSON) {\n params.processData = false;\n }\n\n // Pass along `textStatus` and `errorThrown` from jQuery.\n var error = options.error;\n options.error = function(xhr, textStatus, errorThrown) {\n options.textStatus = textStatus;\n options.errorThrown = errorThrown;\n if (error) error.call(options.context, xhr, textStatus, errorThrown);\n };\n\n // Make the request, allowing the user to override any Ajax options.\n var xhr = options.xhr = Backbone.ajax(_.extend(params, options));\n model.trigger('request', model, xhr, options);\n return xhr;\n };\n\n // Map from CRUD to HTTP for our default `Backbone.sync` implementation.\n var methodMap = {\n 'create': 'POST',\n 'update': 'PUT',\n 'patch': 'PATCH',\n 'delete': 'DELETE',\n 'read': 'GET'\n };\n\n // Set the default implementation of `Backbone.ajax` to proxy through to `$`.\n // Override this if you'd like to use a different library.\n Backbone.ajax = function() {\n return Backbone.$.ajax.apply(Backbone.$, arguments);\n };\n\n // Backbone.Router\n // ---------------\n\n // Routers map faux-URLs to actions, and fire events when routes are\n // matched. Creating a new one sets its `routes` hash, if not set statically.\n var Router = Backbone.Router = function(options) {\n options || (options = {});\n if (options.routes) this.routes = options.routes;\n this._bindRoutes();\n this.initialize.apply(this, arguments);\n };\n\n // Cached regular expressions for matching named param parts and splatted\n // parts of route strings.\n var optionalParam = /\\((.*?)\\)/g;\n var namedParam = /(\\(\\?)?:\\w+/g;\n var splatParam = /\\*\\w+/g;\n var escapeRegExp = /[\\-{}\\[\\]+?.,\\\\\\^$|#\\s]/g;\n\n // Set up all inheritable **Backbone.Router** properties and methods.\n _.extend(Router.prototype, Events, {\n\n // Initialize is an empty function by default. Override it with your own\n // initialization logic.\n initialize: function(){},\n\n // Manually bind a single named route to a callback. For example:\n //\n // this.route('search/:query/p:num', 'search', function(query, num) {\n // ...\n // });\n //\n route: function(route, name, callback) {\n if (!_.isRegExp(route)) route = this._routeToRegExp(route);\n if (_.isFunction(name)) {\n callback = name;\n name = '';\n }\n if (!callback) callback = this[name];\n var router = this;\n Backbone.history.route(route, function(fragment) {\n var args = router._extractParameters(route, fragment);\n if (router.execute(callback, args, name) !== false) {\n router.trigger.apply(router, ['route:' + name].concat(args));\n router.trigger('route', name, args);\n Backbone.history.trigger('route', router, name, args);\n }\n });\n return this;\n },\n\n // Execute a route handler with the provided parameters. This is an\n // excellent place to do pre-route setup or post-route cleanup.\n execute: function(callback, args, name) {\n if (callback) callback.apply(this, args);\n },\n\n // Simple proxy to `Backbone.history` to save a fragment into the history.\n navigate: function(fragment, options) {\n Backbone.history.navigate(fragment, options);\n return this;\n },\n\n // Bind all defined routes to `Backbone.history`. We have to reverse the\n // order of the routes here to support behavior where the most general\n // routes can be defined at the bottom of the route map.\n _bindRoutes: function() {\n if (!this.routes) return;\n this.routes = _.result(this, 'routes');\n var route, routes = _.keys(this.routes);\n while ((route = routes.pop()) != null) {\n this.route(route, this.routes[route]);\n }\n },\n\n // Convert a route string into a regular expression, suitable for matching\n // against the current location hash.\n _routeToRegExp: function(route) {\n route = route.replace(escapeRegExp, '\\\\$&')\n .replace(optionalParam, '(?:$1)?')\n .replace(namedParam, function(match, optional) {\n return optional ? match : '([^/?]+)';\n })\n .replace(splatParam, '([^?]*?)');\n return new RegExp('^' + route + '(?:\\\\?([\\\\s\\\\S]*))?$');\n },\n\n // Given a route, and a URL fragment that it matches, return the array of\n // extracted decoded parameters. Empty or unmatched parameters will be\n // treated as `null` to normalize cross-browser behavior.\n _extractParameters: function(route, fragment) {\n var params = route.exec(fragment).slice(1);\n return _.map(params, function(param, i) {\n // Don't decode the search params.\n if (i === params.length - 1) return param || null;\n return param ? decodeURIComponent(param) : null;\n });\n }\n\n });\n\n // Backbone.History\n // ----------------\n\n // Handles cross-browser history management, based on either\n // [pushState](http://diveintohtml5.info/history.html) and real URLs, or\n // [onhashchange](https://developer.mozilla.org/en-US/docs/DOM/window.onhashchange)\n // and URL fragments. If the browser supports neither (old IE, natch),\n // falls back to polling.\n var History = Backbone.History = function() {\n this.handlers = [];\n _.bindAll(this, 'checkUrl');\n\n // Ensure that `History` can be used outside of the browser.\n if (typeof window !== 'undefined') {\n this.location = window.location;\n this.history = window.history;\n }\n };\n\n // Cached regex for stripping a leading hash/slash and trailing space.\n var routeStripper = /^[#\\/]|\\s+$/g;\n\n // Cached regex for stripping leading and trailing slashes.\n var rootStripper = /^\\/+|\\/+$/g;\n\n // Cached regex for stripping urls of hash.\n var pathStripper = /#.*$/;\n\n // Has the history handling already been started?\n History.started = false;\n\n // Set up all inheritable **Backbone.History** properties and methods.\n _.extend(History.prototype, Events, {\n\n // The default interval to poll for hash changes, if necessary, is\n // twenty times a second.\n interval: 50,\n\n // Are we at the app root?\n atRoot: function() {\n var path = this.location.pathname.replace(/[^\\/]$/, '$&/');\n return path === this.root && !this.getSearch();\n },\n\n // Does the pathname match the root?\n matchRoot: function() {\n var path = this.decodeFragment(this.location.pathname);\n var root = path.slice(0, this.root.length - 1) + '/';\n return root === this.root;\n },\n\n // Unicode characters in `location.pathname` are percent encoded so they're\n // decoded for comparison. `%25` should not be decoded since it may be part\n // of an encoded parameter.\n decodeFragment: function(fragment) {\n return decodeURI(fragment.replace(/%25/g, '%2525'));\n },\n\n // In IE6, the hash fragment and search params are incorrect if the\n // fragment contains `?`.\n getSearch: function() {\n var match = this.location.href.replace(/#.*/, '').match(/\\?.+/);\n return match ? match[0] : '';\n },\n\n // Gets the true hash value. Cannot use location.hash directly due to bug\n // in Firefox where location.hash will always be decoded.\n getHash: function(window) {\n var match = (window || this).location.href.match(/#(.*)$/);\n return match ? match[1] : '';\n },\n\n // Get the pathname and search params, without the root.\n getPath: function() {\n var path = this.decodeFragment(\n this.location.pathname + this.getSearch()\n ).slice(this.root.length - 1);\n return path.charAt(0) === '/' ? path.slice(1) : path;\n },\n\n // Get the cross-browser normalized URL fragment from the path or hash.\n getFragment: function(fragment) {\n if (fragment == null) {\n if (this._usePushState || !this._wantsHashChange) {\n fragment = this.getPath();\n } else {\n fragment = this.getHash();\n }\n }\n return fragment.replace(routeStripper, '');\n },\n\n // Start the hash change handling, returning `true` if the current URL matches\n // an existing route, and `false` otherwise.\n start: function(options) {\n if (History.started) throw new Error('Backbone.history has already been started');\n History.started = true;\n\n // Figure out the initial configuration. Do we need an iframe?\n // Is pushState desired ... is it available?\n this.options = _.extend({root: '/'}, this.options, options);\n this.root = this.options.root;\n this._wantsHashChange = this.options.hashChange !== false;\n this._hasHashChange = 'onhashchange' in window;\n this._useHashChange = this._wantsHashChange && this._hasHashChange;\n this._wantsPushState = !!this.options.pushState;\n this._hasPushState = !!(this.history && this.history.pushState);\n this._usePushState = this._wantsPushState && this._hasPushState;\n this.fragment = this.getFragment();\n\n // Normalize root to always include a leading and trailing slash.\n this.root = ('/' + this.root + '/').replace(rootStripper, '/');\n\n // Transition from hashChange to pushState or vice versa if both are\n // requested.\n if (this._wantsHashChange && this._wantsPushState) {\n\n // If we've started off with a route from a `pushState`-enabled\n // browser, but we're currently in a browser that doesn't support it...\n if (!this._hasPushState && !this.atRoot()) {\n var root = this.root.slice(0, -1) || '/';\n this.location.replace(root + '#' + this.getPath());\n // Return immediately as browser will do redirect to new url\n return true;\n\n // Or if we've started out with a hash-based route, but we're currently\n // in a browser where it could be `pushState`-based instead...\n } else if (this._hasPushState && this.atRoot()) {\n this.navigate(this.getHash(), {replace: true});\n }\n\n }\n\n // Proxy an iframe to handle location events if the browser doesn't\n // support the `hashchange` event, HTML5 history, or the user wants\n // `hashChange` but not `pushState`.\n if (!this._hasHashChange && this._wantsHashChange && !this._usePushState) {\n this.iframe = document.createElement('iframe');\n this.iframe.src = 'javascript:0';\n this.iframe.style.display = 'none';\n this.iframe.tabIndex = -1;\n var body = document.body;\n // Using `appendChild` will throw on IE < 9 if the document is not ready.\n var iWindow = body.insertBefore(this.iframe, body.firstChild).contentWindow;\n iWindow.document.open();\n iWindow.document.close();\n iWindow.location.hash = '#' + this.fragment;\n }\n\n // Add a cross-platform `addEventListener` shim for older browsers.\n var addEventListener = window.addEventListener || function (eventName, listener) {\n return attachEvent('on' + eventName, listener);\n };\n\n // Depending on whether we're using pushState or hashes, and whether\n // 'onhashchange' is supported, determine how we check the URL state.\n if (this._usePushState) {\n addEventListener('popstate', this.checkUrl, false);\n } else if (this._useHashChange && !this.iframe) {\n addEventListener('hashchange', this.checkUrl, false);\n } else if (this._wantsHashChange) {\n this._checkUrlInterval = setInterval(this.checkUrl, this.interval);\n }\n\n if (!this.options.silent) return this.loadUrl();\n },\n\n // Disable Backbone.history, perhaps temporarily. Not useful in a real app,\n // but possibly useful for unit testing Routers.\n stop: function() {\n // Add a cross-platform `removeEventListener` shim for older browsers.\n var removeEventListener = window.removeEventListener || function (eventName, listener) {\n return detachEvent('on' + eventName, listener);\n };\n\n // Remove window listeners.\n if (this._usePushState) {\n removeEventListener('popstate', this.checkUrl, false);\n } else if (this._useHashChange && !this.iframe) {\n removeEventListener('hashchange', this.checkUrl, false);\n }\n\n // Clean up the iframe if necessary.\n if (this.iframe) {\n document.body.removeChild(this.iframe);\n this.iframe = null;\n }\n\n // Some environments will throw when clearing an undefined interval.\n if (this._checkUrlInterval) clearInterval(this._checkUrlInterval);\n History.started = false;\n },\n\n // Add a route to be tested when the fragment changes. Routes added later\n // may override previous routes.\n route: function(route, callback) {\n this.handlers.unshift({route: route, callback: callback});\n },\n\n // Checks the current URL to see if it has changed, and if it has,\n // calls `loadUrl`, normalizing across the hidden iframe.\n checkUrl: function(e) {\n var current = this.getFragment();\n\n // If the user pressed the back button, the iframe's hash will have\n // changed and we should use that for comparison.\n if (current === this.fragment && this.iframe) {\n current = this.getHash(this.iframe.contentWindow);\n }\n\n if (current === this.fragment) return false;\n if (this.iframe) this.navigate(current);\n this.loadUrl();\n },\n\n // Attempt to load the current URL fragment. If a route succeeds with a\n // match, returns `true`. If no defined routes matches the fragment,\n // returns `false`.\n loadUrl: function(fragment) {\n // If the root doesn't match, no routes can match either.\n if (!this.matchRoot()) return false;\n fragment = this.fragment = this.getFragment(fragment);\n return _.any(this.handlers, function(handler) {\n if (handler.route.test(fragment)) {\n handler.callback(fragment);\n return true;\n }\n });\n },\n\n // Save a fragment into the hash history, or replace the URL state if the\n // 'replace' option is passed. You are responsible for properly URL-encoding\n // the fragment in advance.\n //\n // The options object can contain `trigger: true` if you wish to have the\n // route callback be fired (not usually desirable), or `replace: true`, if\n // you wish to modify the current URL without adding an entry to the history.\n navigate: function(fragment, options) {\n if (!History.started) return false;\n if (!options || options === true) options = {trigger: !!options};\n\n // Normalize the fragment.\n fragment = this.getFragment(fragment || '');\n\n // Don't include a trailing slash on the root.\n var root = this.root;\n if (fragment === '' || fragment.charAt(0) === '?') {\n root = root.slice(0, -1) || '/';\n }\n var url = root + fragment;\n\n // Strip the hash and decode for matching.\n fragment = this.decodeFragment(fragment.replace(pathStripper, ''));\n\n if (this.fragment === fragment) return;\n this.fragment = fragment;\n\n // If pushState is available, we use it to set the fragment as a real URL.\n if (this._usePushState) {\n this.history[options.replace ? 'replaceState' : 'pushState']({}, document.title, url);\n\n // If hash changes haven't been explicitly disabled, update the hash\n // fragment to store history.\n } else if (this._wantsHashChange) {\n this._updateHash(this.location, fragment, options.replace);\n if (this.iframe && (fragment !== this.getHash(this.iframe.contentWindow))) {\n var iWindow = this.iframe.contentWindow;\n\n // Opening and closing the iframe tricks IE7 and earlier to push a\n // history entry on hash-tag change. When replace is true, we don't\n // want this.\n if (!options.replace) {\n iWindow.document.open();\n iWindow.document.close();\n }\n\n this._updateHash(iWindow.location, fragment, options.replace);\n }\n\n // If you've told us that you explicitly don't want fallback hashchange-\n // based history, then `navigate` becomes a page refresh.\n } else {\n return this.location.assign(url);\n }\n if (options.trigger) return this.loadUrl(fragment);\n },\n\n // Update the hash location, either replacing the current entry, or adding\n // a new one to the browser history.\n _updateHash: function(location, fragment, replace) {\n if (replace) {\n var href = location.href.replace(/(javascript:|#).*$/, '');\n location.replace(href + '#' + fragment);\n } else {\n // Some browsers require that `hash` contains a leading #.\n location.hash = '#' + fragment;\n }\n }\n\n });\n\n // Create the default Backbone.history.\n Backbone.history = new History;\n\n // Helpers\n // -------\n\n // Helper function to correctly set up the prototype chain for subclasses.\n // Similar to `goog.inherits`, but uses a hash of prototype properties and\n // class properties to be extended.\n var extend = function(protoProps, staticProps) {\n var parent = this;\n var child;\n\n // The constructor function for the new subclass is either defined by you\n // (the \"constructor\" property in your `extend` definition), or defaulted\n // by us to simply call the parent constructor.\n if (protoProps && _.has(protoProps, 'constructor')) {\n child = protoProps.constructor;\n } else {\n child = function(){ return parent.apply(this, arguments); };\n }\n\n // Add static properties to the constructor function, if supplied.\n _.extend(child, parent, staticProps);\n\n // Set the prototype chain to inherit from `parent`, without calling\n // `parent` constructor function.\n var Surrogate = function(){ this.constructor = child; };\n Surrogate.prototype = parent.prototype;\n child.prototype = new Surrogate;\n\n // Add prototype properties (instance properties) to the subclass,\n // if supplied.\n if (protoProps) _.extend(child.prototype, protoProps);\n\n // Set a convenience property in case the parent's prototype is needed\n // later.\n child.__super__ = parent.prototype;\n\n return child;\n };\n\n // Set up inheritance for the model, collection, router, view and history.\n Model.extend = Collection.extend = Router.extend = View.extend = History.extend = extend;\n\n // Throw an error when a URL is needed, and none is supplied.\n var urlError = function() {\n throw new Error('A \"url\" property or function must be specified');\n };\n\n // Wrap an optional error callback with a fallback error event.\n var wrapError = function(model, options) {\n var error = options.error;\n options.error = function(resp) {\n if (error) error.call(options.context, model, resp, options);\n model.trigger('error', model, resp, options);\n };\n };\n\n return Backbone;\n\n}));\n\n/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(100)))\n\n/***/ }),\n/* 493 */\n/***/ (function(module, exports, __webpack_require__) {\n\n/* WEBPACK VAR INJECTION */(function(global, module) {var __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;// Underscore.js 1.9.1\n// http://underscorejs.org\n// (c) 2009-2018 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n// Underscore may be freely distributed under the MIT license.\n\n(function() {\n\n // Baseline setup\n // --------------\n\n // Establish the root object, `window` (`self`) in the browser, `global`\n // on the server, or `this` in some virtual machines. We use `self`\n // instead of `window` for `WebWorker` support.\n var root = typeof self == 'object' && self.self === self && self ||\n typeof global == 'object' && global.global === global && global ||\n this ||\n {};\n\n // Save the previous value of the `_` variable.\n var previousUnderscore = root._;\n\n // Save bytes in the minified (but not gzipped) version:\n var ArrayProto = Array.prototype, ObjProto = Object.prototype;\n var SymbolProto = typeof Symbol !== 'undefined' ? Symbol.prototype : null;\n\n // Create quick reference variables for speed access to core prototypes.\n var push = ArrayProto.push,\n slice = ArrayProto.slice,\n toString = ObjProto.toString,\n hasOwnProperty = ObjProto.hasOwnProperty;\n\n // All **ECMAScript 5** native function implementations that we hope to use\n // are declared here.\n var nativeIsArray = Array.isArray,\n nativeKeys = Object.keys,\n nativeCreate = Object.create;\n\n // Naked function reference for surrogate-prototype-swapping.\n var Ctor = function(){};\n\n // Create a safe reference to the Underscore object for use below.\n var _ = function(obj) {\n if (obj instanceof _) return obj;\n if (!(this instanceof _)) return new _(obj);\n this._wrapped = obj;\n };\n\n // Export the Underscore object for **Node.js**, with\n // backwards-compatibility for their old module API. If we're in\n // the browser, add `_` as a global object.\n // (`nodeType` is checked to ensure that `module`\n // and `exports` are not HTML elements.)\n if (typeof exports != 'undefined' && !exports.nodeType) {\n if (typeof module != 'undefined' && !module.nodeType && module.exports) {\n exports = module.exports = _;\n }\n exports._ = _;\n } else {\n root._ = _;\n }\n\n // Current version.\n _.VERSION = '1.9.1';\n\n // Internal function that returns an efficient (for current engines) version\n // of the passed-in callback, to be repeatedly applied in other Underscore\n // functions.\n var optimizeCb = function(func, context, argCount) {\n if (context === void 0) return func;\n switch (argCount == null ? 3 : argCount) {\n case 1: return function(value) {\n return func.call(context, value);\n };\n // The 2-argument case is omitted because we’re not using it.\n case 3: return function(value, index, collection) {\n return func.call(context, value, index, collection);\n };\n case 4: return function(accumulator, value, index, collection) {\n return func.call(context, accumulator, value, index, collection);\n };\n }\n return function() {\n return func.apply(context, arguments);\n };\n };\n\n var builtinIteratee;\n\n // An internal function to generate callbacks that can be applied to each\n // element in a collection, returning the desired result — either `identity`,\n // an arbitrary callback, a property matcher, or a property accessor.\n var cb = function(value, context, argCount) {\n if (_.iteratee !== builtinIteratee) return _.iteratee(value, context);\n if (value == null) return _.identity;\n if (_.isFunction(value)) return optimizeCb(value, context, argCount);\n if (_.isObject(value) && !_.isArray(value)) return _.matcher(value);\n return _.property(value);\n };\n\n // External wrapper for our callback generator. Users may customize\n // `_.iteratee` if they want additional predicate/iteratee shorthand styles.\n // This abstraction hides the internal-only argCount argument.\n _.iteratee = builtinIteratee = function(value, context) {\n return cb(value, context, Infinity);\n };\n\n // Some functions take a variable number of arguments, or a few expected\n // arguments at the beginning and then a variable number of values to operate\n // on. This helper accumulates all remaining arguments past the function’s\n // argument length (or an explicit `startIndex`), into an array that becomes\n // the last argument. Similar to ES6’s \"rest parameter\".\n var restArguments = function(func, startIndex) {\n startIndex = startIndex == null ? func.length - 1 : +startIndex;\n return function() {\n var length = Math.max(arguments.length - startIndex, 0),\n rest = Array(length),\n index = 0;\n for (; index < length; index++) {\n rest[index] = arguments[index + startIndex];\n }\n switch (startIndex) {\n case 0: return func.call(this, rest);\n case 1: return func.call(this, arguments[0], rest);\n case 2: return func.call(this, arguments[0], arguments[1], rest);\n }\n var args = Array(startIndex + 1);\n for (index = 0; index < startIndex; index++) {\n args[index] = arguments[index];\n }\n args[startIndex] = rest;\n return func.apply(this, args);\n };\n };\n\n // An internal function for creating a new object that inherits from another.\n var baseCreate = function(prototype) {\n if (!_.isObject(prototype)) return {};\n if (nativeCreate) return nativeCreate(prototype);\n Ctor.prototype = prototype;\n var result = new Ctor;\n Ctor.prototype = null;\n return result;\n };\n\n var shallowProperty = function(key) {\n return function(obj) {\n return obj == null ? void 0 : obj[key];\n };\n };\n\n var has = function(obj, path) {\n return obj != null && hasOwnProperty.call(obj, path);\n }\n\n var deepGet = function(obj, path) {\n var length = path.length;\n for (var i = 0; i < length; i++) {\n if (obj == null) return void 0;\n obj = obj[path[i]];\n }\n return length ? obj : void 0;\n };\n\n // Helper for collection methods to determine whether a collection\n // should be iterated as an array or as an object.\n // Related: http://people.mozilla.org/~jorendorff/es6-draft.html#sec-tolength\n // Avoids a very nasty iOS 8 JIT bug on ARM-64. #2094\n var MAX_ARRAY_INDEX = Math.pow(2, 53) - 1;\n var getLength = shallowProperty('length');\n var isArrayLike = function(collection) {\n var length = getLength(collection);\n return typeof length == 'number' && length >= 0 && length <= MAX_ARRAY_INDEX;\n };\n\n // Collection Functions\n // --------------------\n\n // The cornerstone, an `each` implementation, aka `forEach`.\n // Handles raw objects in addition to array-likes. Treats all\n // sparse array-likes as if they were dense.\n _.each = _.forEach = function(obj, iteratee, context) {\n iteratee = optimizeCb(iteratee, context);\n var i, length;\n if (isArrayLike(obj)) {\n for (i = 0, length = obj.length; i < length; i++) {\n iteratee(obj[i], i, obj);\n }\n } else {\n var keys = _.keys(obj);\n for (i = 0, length = keys.length; i < length; i++) {\n iteratee(obj[keys[i]], keys[i], obj);\n }\n }\n return obj;\n };\n\n // Return the results of applying the iteratee to each element.\n _.map = _.collect = function(obj, iteratee, context) {\n iteratee = cb(iteratee, context);\n var keys = !isArrayLike(obj) && _.keys(obj),\n length = (keys || obj).length,\n results = Array(length);\n for (var index = 0; index < length; index++) {\n var currentKey = keys ? keys[index] : index;\n results[index] = iteratee(obj[currentKey], currentKey, obj);\n }\n return results;\n };\n\n // Create a reducing function iterating left or right.\n var createReduce = function(dir) {\n // Wrap code that reassigns argument variables in a separate function than\n // the one that accesses `arguments.length` to avoid a perf hit. (#1991)\n var reducer = function(obj, iteratee, memo, initial) {\n var keys = !isArrayLike(obj) && _.keys(obj),\n length = (keys || obj).length,\n index = dir > 0 ? 0 : length - 1;\n if (!initial) {\n memo = obj[keys ? keys[index] : index];\n index += dir;\n }\n for (; index >= 0 && index < length; index += dir) {\n var currentKey = keys ? keys[index] : index;\n memo = iteratee(memo, obj[currentKey], currentKey, obj);\n }\n return memo;\n };\n\n return function(obj, iteratee, memo, context) {\n var initial = arguments.length >= 3;\n return reducer(obj, optimizeCb(iteratee, context, 4), memo, initial);\n };\n };\n\n // **Reduce** builds up a single result from a list of values, aka `inject`,\n // or `foldl`.\n _.reduce = _.foldl = _.inject = createReduce(1);\n\n // The right-associative version of reduce, also known as `foldr`.\n _.reduceRight = _.foldr = createReduce(-1);\n\n // Return the first value which passes a truth test. Aliased as `detect`.\n _.find = _.detect = function(obj, predicate, context) {\n var keyFinder = isArrayLike(obj) ? _.findIndex : _.findKey;\n var key = keyFinder(obj, predicate, context);\n if (key !== void 0 && key !== -1) return obj[key];\n };\n\n // Return all the elements that pass a truth test.\n // Aliased as `select`.\n _.filter = _.select = function(obj, predicate, context) {\n var results = [];\n predicate = cb(predicate, context);\n _.each(obj, function(value, index, list) {\n if (predicate(value, index, list)) results.push(value);\n });\n return results;\n };\n\n // Return all the elements for which a truth test fails.\n _.reject = function(obj, predicate, context) {\n return _.filter(obj, _.negate(cb(predicate)), context);\n };\n\n // Determine whether all of the elements match a truth test.\n // Aliased as `all`.\n _.every = _.all = function(obj, predicate, context) {\n predicate = cb(predicate, context);\n var keys = !isArrayLike(obj) && _.keys(obj),\n length = (keys || obj).length;\n for (var index = 0; index < length; index++) {\n var currentKey = keys ? keys[index] : index;\n if (!predicate(obj[currentKey], currentKey, obj)) return false;\n }\n return true;\n };\n\n // Determine if at least one element in the object matches a truth test.\n // Aliased as `any`.\n _.some = _.any = function(obj, predicate, context) {\n predicate = cb(predicate, context);\n var keys = !isArrayLike(obj) && _.keys(obj),\n length = (keys || obj).length;\n for (var index = 0; index < length; index++) {\n var currentKey = keys ? keys[index] : index;\n if (predicate(obj[currentKey], currentKey, obj)) return true;\n }\n return false;\n };\n\n // Determine if the array or object contains a given item (using `===`).\n // Aliased as `includes` and `include`.\n _.contains = _.includes = _.include = function(obj, item, fromIndex, guard) {\n if (!isArrayLike(obj)) obj = _.values(obj);\n if (typeof fromIndex != 'number' || guard) fromIndex = 0;\n return _.indexOf(obj, item, fromIndex) >= 0;\n };\n\n // Invoke a method (with arguments) on every item in a collection.\n _.invoke = restArguments(function(obj, path, args) {\n var contextPath, func;\n if (_.isFunction(path)) {\n func = path;\n } else if (_.isArray(path)) {\n contextPath = path.slice(0, -1);\n path = path[path.length - 1];\n }\n return _.map(obj, function(context) {\n var method = func;\n if (!method) {\n if (contextPath && contextPath.length) {\n context = deepGet(context, contextPath);\n }\n if (context == null) return void 0;\n method = context[path];\n }\n return method == null ? method : method.apply(context, args);\n });\n });\n\n // Convenience version of a common use case of `map`: fetching a property.\n _.pluck = function(obj, key) {\n return _.map(obj, _.property(key));\n };\n\n // Convenience version of a common use case of `filter`: selecting only objects\n // containing specific `key:value` pairs.\n _.where = function(obj, attrs) {\n return _.filter(obj, _.matcher(attrs));\n };\n\n // Convenience version of a common use case of `find`: getting the first object\n // containing specific `key:value` pairs.\n _.findWhere = function(obj, attrs) {\n return _.find(obj, _.matcher(attrs));\n };\n\n // Return the maximum element (or element-based computation).\n _.max = function(obj, iteratee, context) {\n var result = -Infinity, lastComputed = -Infinity,\n value, computed;\n if (iteratee == null || typeof iteratee == 'number' && typeof obj[0] != 'object' && obj != null) {\n obj = isArrayLike(obj) ? obj : _.values(obj);\n for (var i = 0, length = obj.length; i < length; i++) {\n value = obj[i];\n if (value != null && value > result) {\n result = value;\n }\n }\n } else {\n iteratee = cb(iteratee, context);\n _.each(obj, function(v, index, list) {\n computed = iteratee(v, index, list);\n if (computed > lastComputed || computed === -Infinity && result === -Infinity) {\n result = v;\n lastComputed = computed;\n }\n });\n }\n return result;\n };\n\n // Return the minimum element (or element-based computation).\n _.min = function(obj, iteratee, context) {\n var result = Infinity, lastComputed = Infinity,\n value, computed;\n if (iteratee == null || typeof iteratee == 'number' && typeof obj[0] != 'object' && obj != null) {\n obj = isArrayLike(obj) ? obj : _.values(obj);\n for (var i = 0, length = obj.length; i < length; i++) {\n value = obj[i];\n if (value != null && value < result) {\n result = value;\n }\n }\n } else {\n iteratee = cb(iteratee, context);\n _.each(obj, function(v, index, list) {\n computed = iteratee(v, index, list);\n if (computed < lastComputed || computed === Infinity && result === Infinity) {\n result = v;\n lastComputed = computed;\n }\n });\n }\n return result;\n };\n\n // Shuffle a collection.\n _.shuffle = function(obj) {\n return _.sample(obj, Infinity);\n };\n\n // Sample **n** random values from a collection using the modern version of the\n // [Fisher-Yates shuffle](http://en.wikipedia.org/wiki/Fisher–Yates_shuffle).\n // If **n** is not specified, returns a single random element.\n // The internal `guard` argument allows it to work with `map`.\n _.sample = function(obj, n, guard) {\n if (n == null || guard) {\n if (!isArrayLike(obj)) obj = _.values(obj);\n return obj[_.random(obj.length - 1)];\n }\n var sample = isArrayLike(obj) ? _.clone(obj) : _.values(obj);\n var length = getLength(sample);\n n = Math.max(Math.min(n, length), 0);\n var last = length - 1;\n for (var index = 0; index < n; index++) {\n var rand = _.random(index, last);\n var temp = sample[index];\n sample[index] = sample[rand];\n sample[rand] = temp;\n }\n return sample.slice(0, n);\n };\n\n // Sort the object's values by a criterion produced by an iteratee.\n _.sortBy = function(obj, iteratee, context) {\n var index = 0;\n iteratee = cb(iteratee, context);\n return _.pluck(_.map(obj, function(value, key, list) {\n return {\n value: value,\n index: index++,\n criteria: iteratee(value, key, list)\n };\n }).sort(function(left, right) {\n var a = left.criteria;\n var b = right.criteria;\n if (a !== b) {\n if (a > b || a === void 0) return 1;\n if (a < b || b === void 0) return -1;\n }\n return left.index - right.index;\n }), 'value');\n };\n\n // An internal function used for aggregate \"group by\" operations.\n var group = function(behavior, partition) {\n return function(obj, iteratee, context) {\n var result = partition ? [[], []] : {};\n iteratee = cb(iteratee, context);\n _.each(obj, function(value, index) {\n var key = iteratee(value, index, obj);\n behavior(result, value, key);\n });\n return result;\n };\n };\n\n // Groups the object's values by a criterion. Pass either a string attribute\n // to group by, or a function that returns the criterion.\n _.groupBy = group(function(result, value, key) {\n if (has(result, key)) result[key].push(value); else result[key] = [value];\n });\n\n // Indexes the object's values by a criterion, similar to `groupBy`, but for\n // when you know that your index values will be unique.\n _.indexBy = group(function(result, value, key) {\n result[key] = value;\n });\n\n // Counts instances of an object that group by a certain criterion. Pass\n // either a string attribute to count by, or a function that returns the\n // criterion.\n _.countBy = group(function(result, value, key) {\n if (has(result, key)) result[key]++; else result[key] = 1;\n });\n\n var reStrSymbol = /[^\\ud800-\\udfff]|[\\ud800-\\udbff][\\udc00-\\udfff]|[\\ud800-\\udfff]/g;\n // Safely create a real, live array from anything iterable.\n _.toArray = function(obj) {\n if (!obj) return [];\n if (_.isArray(obj)) return slice.call(obj);\n if (_.isString(obj)) {\n // Keep surrogate pair characters together\n return obj.match(reStrSymbol);\n }\n if (isArrayLike(obj)) return _.map(obj, _.identity);\n return _.values(obj);\n };\n\n // Return the number of elements in an object.\n _.size = function(obj) {\n if (obj == null) return 0;\n return isArrayLike(obj) ? obj.length : _.keys(obj).length;\n };\n\n // Split a collection into two arrays: one whose elements all satisfy the given\n // predicate, and one whose elements all do not satisfy the predicate.\n _.partition = group(function(result, value, pass) {\n result[pass ? 0 : 1].push(value);\n }, true);\n\n // Array Functions\n // ---------------\n\n // Get the first element of an array. Passing **n** will return the first N\n // values in the array. Aliased as `head` and `take`. The **guard** check\n // allows it to work with `_.map`.\n _.first = _.head = _.take = function(array, n, guard) {\n if (array == null || array.length < 1) return n == null ? void 0 : [];\n if (n == null || guard) return array[0];\n return _.initial(array, array.length - n);\n };\n\n // Returns everything but the last entry of the array. Especially useful on\n // the arguments object. Passing **n** will return all the values in\n // the array, excluding the last N.\n _.initial = function(array, n, guard) {\n return slice.call(array, 0, Math.max(0, array.length - (n == null || guard ? 1 : n)));\n };\n\n // Get the last element of an array. Passing **n** will return the last N\n // values in the array.\n _.last = function(array, n, guard) {\n if (array == null || array.length < 1) return n == null ? void 0 : [];\n if (n == null || guard) return array[array.length - 1];\n return _.rest(array, Math.max(0, array.length - n));\n };\n\n // Returns everything but the first entry of the array. Aliased as `tail` and `drop`.\n // Especially useful on the arguments object. Passing an **n** will return\n // the rest N values in the array.\n _.rest = _.tail = _.drop = function(array, n, guard) {\n return slice.call(array, n == null || guard ? 1 : n);\n };\n\n // Trim out all falsy values from an array.\n _.compact = function(array) {\n return _.filter(array, Boolean);\n };\n\n // Internal implementation of a recursive `flatten` function.\n var flatten = function(input, shallow, strict, output) {\n output = output || [];\n var idx = output.length;\n for (var i = 0, length = getLength(input); i < length; i++) {\n var value = input[i];\n if (isArrayLike(value) && (_.isArray(value) || _.isArguments(value))) {\n // Flatten current level of array or arguments object.\n if (shallow) {\n var j = 0, len = value.length;\n while (j < len) output[idx++] = value[j++];\n } else {\n flatten(value, shallow, strict, output);\n idx = output.length;\n }\n } else if (!strict) {\n output[idx++] = value;\n }\n }\n return output;\n };\n\n // Flatten out an array, either recursively (by default), or just one level.\n _.flatten = function(array, shallow) {\n return flatten(array, shallow, false);\n };\n\n // Return a version of the array that does not contain the specified value(s).\n _.without = restArguments(function(array, otherArrays) {\n return _.difference(array, otherArrays);\n });\n\n // Produce a duplicate-free version of the array. If the array has already\n // been sorted, you have the option of using a faster algorithm.\n // The faster algorithm will not work with an iteratee if the iteratee\n // is not a one-to-one function, so providing an iteratee will disable\n // the faster algorithm.\n // Aliased as `unique`.\n _.uniq = _.unique = function(array, isSorted, iteratee, context) {\n if (!_.isBoolean(isSorted)) {\n context = iteratee;\n iteratee = isSorted;\n isSorted = false;\n }\n if (iteratee != null) iteratee = cb(iteratee, context);\n var result = [];\n var seen = [];\n for (var i = 0, length = getLength(array); i < length; i++) {\n var value = array[i],\n computed = iteratee ? iteratee(value, i, array) : value;\n if (isSorted && !iteratee) {\n if (!i || seen !== computed) result.push(value);\n seen = computed;\n } else if (iteratee) {\n if (!_.contains(seen, computed)) {\n seen.push(computed);\n result.push(value);\n }\n } else if (!_.contains(result, value)) {\n result.push(value);\n }\n }\n return result;\n };\n\n // Produce an array that contains the union: each distinct element from all of\n // the passed-in arrays.\n _.union = restArguments(function(arrays) {\n return _.uniq(flatten(arrays, true, true));\n });\n\n // Produce an array that contains every item shared between all the\n // passed-in arrays.\n _.intersection = function(array) {\n var result = [];\n var argsLength = arguments.length;\n for (var i = 0, length = getLength(array); i < length; i++) {\n var item = array[i];\n if (_.contains(result, item)) continue;\n var j;\n for (j = 1; j < argsLength; j++) {\n if (!_.contains(arguments[j], item)) break;\n }\n if (j === argsLength) result.push(item);\n }\n return result;\n };\n\n // Take the difference between one array and a number of other arrays.\n // Only the elements present in just the first array will remain.\n _.difference = restArguments(function(array, rest) {\n rest = flatten(rest, true, true);\n return _.filter(array, function(value){\n return !_.contains(rest, value);\n });\n });\n\n // Complement of _.zip. Unzip accepts an array of arrays and groups\n // each array's elements on shared indices.\n _.unzip = function(array) {\n var length = array && _.max(array, getLength).length || 0;\n var result = Array(length);\n\n for (var index = 0; index < length; index++) {\n result[index] = _.pluck(array, index);\n }\n return result;\n };\n\n // Zip together multiple lists into a single array -- elements that share\n // an index go together.\n _.zip = restArguments(_.unzip);\n\n // Converts lists into objects. Pass either a single array of `[key, value]`\n // pairs, or two parallel arrays of the same length -- one of keys, and one of\n // the corresponding values. Passing by pairs is the reverse of _.pairs.\n _.object = function(list, values) {\n var result = {};\n for (var i = 0, length = getLength(list); i < length; i++) {\n if (values) {\n result[list[i]] = values[i];\n } else {\n result[list[i][0]] = list[i][1];\n }\n }\n return result;\n };\n\n // Generator function to create the findIndex and findLastIndex functions.\n var createPredicateIndexFinder = function(dir) {\n return function(array, predicate, context) {\n predicate = cb(predicate, context);\n var length = getLength(array);\n var index = dir > 0 ? 0 : length - 1;\n for (; index >= 0 && index < length; index += dir) {\n if (predicate(array[index], index, array)) return index;\n }\n return -1;\n };\n };\n\n // Returns the first index on an array-like that passes a predicate test.\n _.findIndex = createPredicateIndexFinder(1);\n _.findLastIndex = createPredicateIndexFinder(-1);\n\n // Use a comparator function to figure out the smallest index at which\n // an object should be inserted so as to maintain order. Uses binary search.\n _.sortedIndex = function(array, obj, iteratee, context) {\n iteratee = cb(iteratee, context, 1);\n var value = iteratee(obj);\n var low = 0, high = getLength(array);\n while (low < high) {\n var mid = Math.floor((low + high) / 2);\n if (iteratee(array[mid]) < value) low = mid + 1; else high = mid;\n }\n return low;\n };\n\n // Generator function to create the indexOf and lastIndexOf functions.\n var createIndexFinder = function(dir, predicateFind, sortedIndex) {\n return function(array, item, idx) {\n var i = 0, length = getLength(array);\n if (typeof idx == 'number') {\n if (dir > 0) {\n i = idx >= 0 ? idx : Math.max(idx + length, i);\n } else {\n length = idx >= 0 ? Math.min(idx + 1, length) : idx + length + 1;\n }\n } else if (sortedIndex && idx && length) {\n idx = sortedIndex(array, item);\n return array[idx] === item ? idx : -1;\n }\n if (item !== item) {\n idx = predicateFind(slice.call(array, i, length), _.isNaN);\n return idx >= 0 ? idx + i : -1;\n }\n for (idx = dir > 0 ? i : length - 1; idx >= 0 && idx < length; idx += dir) {\n if (array[idx] === item) return idx;\n }\n return -1;\n };\n };\n\n // Return the position of the first occurrence of an item in an array,\n // or -1 if the item is not included in the array.\n // If the array is large and already in sort order, pass `true`\n // for **isSorted** to use binary search.\n _.indexOf = createIndexFinder(1, _.findIndex, _.sortedIndex);\n _.lastIndexOf = createIndexFinder(-1, _.findLastIndex);\n\n // Generate an integer Array containing an arithmetic progression. A port of\n // the native Python `range()` function. See\n // [the Python documentation](http://docs.python.org/library/functions.html#range).\n _.range = function(start, stop, step) {\n if (stop == null) {\n stop = start || 0;\n start = 0;\n }\n if (!step) {\n step = stop < start ? -1 : 1;\n }\n\n var length = Math.max(Math.ceil((stop - start) / step), 0);\n var range = Array(length);\n\n for (var idx = 0; idx < length; idx++, start += step) {\n range[idx] = start;\n }\n\n return range;\n };\n\n // Chunk a single array into multiple arrays, each containing `count` or fewer\n // items.\n _.chunk = function(array, count) {\n if (count == null || count < 1) return [];\n var result = [];\n var i = 0, length = array.length;\n while (i < length) {\n result.push(slice.call(array, i, i += count));\n }\n return result;\n };\n\n // Function (ahem) Functions\n // ------------------\n\n // Determines whether to execute a function as a constructor\n // or a normal function with the provided arguments.\n var executeBound = function(sourceFunc, boundFunc, context, callingContext, args) {\n if (!(callingContext instanceof boundFunc)) return sourceFunc.apply(context, args);\n var self = baseCreate(sourceFunc.prototype);\n var result = sourceFunc.apply(self, args);\n if (_.isObject(result)) return result;\n return self;\n };\n\n // Create a function bound to a given object (assigning `this`, and arguments,\n // optionally). Delegates to **ECMAScript 5**'s native `Function.bind` if\n // available.\n _.bind = restArguments(function(func, context, args) {\n if (!_.isFunction(func)) throw new TypeError('Bind must be called on a function');\n var bound = restArguments(function(callArgs) {\n return executeBound(func, bound, context, this, args.concat(callArgs));\n });\n return bound;\n });\n\n // Partially apply a function by creating a version that has had some of its\n // arguments pre-filled, without changing its dynamic `this` context. _ acts\n // as a placeholder by default, allowing any combination of arguments to be\n // pre-filled. Set `_.partial.placeholder` for a custom placeholder argument.\n _.partial = restArguments(function(func, boundArgs) {\n var placeholder = _.partial.placeholder;\n var bound = function() {\n var position = 0, length = boundArgs.length;\n var args = Array(length);\n for (var i = 0; i < length; i++) {\n args[i] = boundArgs[i] === placeholder ? arguments[position++] : boundArgs[i];\n }\n while (position < arguments.length) args.push(arguments[position++]);\n return executeBound(func, bound, this, this, args);\n };\n return bound;\n });\n\n _.partial.placeholder = _;\n\n // Bind a number of an object's methods to that object. Remaining arguments\n // are the method names to be bound. Useful for ensuring that all callbacks\n // defined on an object belong to it.\n _.bindAll = restArguments(function(obj, keys) {\n keys = flatten(keys, false, false);\n var index = keys.length;\n if (index < 1) throw new Error('bindAll must be passed function names');\n while (index--) {\n var key = keys[index];\n obj[key] = _.bind(obj[key], obj);\n }\n });\n\n // Memoize an expensive function by storing its results.\n _.memoize = function(func, hasher) {\n var memoize = function(key) {\n var cache = memoize.cache;\n var address = '' + (hasher ? hasher.apply(this, arguments) : key);\n if (!has(cache, address)) cache[address] = func.apply(this, arguments);\n return cache[address];\n };\n memoize.cache = {};\n return memoize;\n };\n\n // Delays a function for the given number of milliseconds, and then calls\n // it with the arguments supplied.\n _.delay = restArguments(function(func, wait, args) {\n return setTimeout(function() {\n return func.apply(null, args);\n }, wait);\n });\n\n // Defers a function, scheduling it to run after the current call stack has\n // cleared.\n _.defer = _.partial(_.delay, _, 1);\n\n // Returns a function, that, when invoked, will only be triggered at most once\n // during a given window of time. Normally, the throttled function will run\n // as much as it can, without ever going more than once per `wait` duration;\n // but if you'd like to disable the execution on the leading edge, pass\n // `{leading: false}`. To disable execution on the trailing edge, ditto.\n _.throttle = function(func, wait, options) {\n var timeout, context, args, result;\n var previous = 0;\n if (!options) options = {};\n\n var later = function() {\n previous = options.leading === false ? 0 : _.now();\n timeout = null;\n result = func.apply(context, args);\n if (!timeout) context = args = null;\n };\n\n var throttled = function() {\n var now = _.now();\n if (!previous && options.leading === false) previous = now;\n var remaining = wait - (now - previous);\n context = this;\n args = arguments;\n if (remaining <= 0 || remaining > wait) {\n if (timeout) {\n clearTimeout(timeout);\n timeout = null;\n }\n previous = now;\n result = func.apply(context, args);\n if (!timeout) context = args = null;\n } else if (!timeout && options.trailing !== false) {\n timeout = setTimeout(later, remaining);\n }\n return result;\n };\n\n throttled.cancel = function() {\n clearTimeout(timeout);\n previous = 0;\n timeout = context = args = null;\n };\n\n return throttled;\n };\n\n // Returns a function, that, as long as it continues to be invoked, will not\n // be triggered. The function will be called after it stops being called for\n // N milliseconds. If `immediate` is passed, trigger the function on the\n // leading edge, instead of the trailing.\n _.debounce = function(func, wait, immediate) {\n var timeout, result;\n\n var later = function(context, args) {\n timeout = null;\n if (args) result = func.apply(context, args);\n };\n\n var debounced = restArguments(function(args) {\n if (timeout) clearTimeout(timeout);\n if (immediate) {\n var callNow = !timeout;\n timeout = setTimeout(later, wait);\n if (callNow) result = func.apply(this, args);\n } else {\n timeout = _.delay(later, wait, this, args);\n }\n\n return result;\n });\n\n debounced.cancel = function() {\n clearTimeout(timeout);\n timeout = null;\n };\n\n return debounced;\n };\n\n // Returns the first function passed as an argument to the second,\n // allowing you to adjust arguments, run code before and after, and\n // conditionally execute the original function.\n _.wrap = function(func, wrapper) {\n return _.partial(wrapper, func);\n };\n\n // Returns a negated version of the passed-in predicate.\n _.negate = function(predicate) {\n return function() {\n return !predicate.apply(this, arguments);\n };\n };\n\n // Returns a function that is the composition of a list of functions, each\n // consuming the return value of the function that follows.\n _.compose = function() {\n var args = arguments;\n var start = args.length - 1;\n return function() {\n var i = start;\n var result = args[start].apply(this, arguments);\n while (i--) result = args[i].call(this, result);\n return result;\n };\n };\n\n // Returns a function that will only be executed on and after the Nth call.\n _.after = function(times, func) {\n return function() {\n if (--times < 1) {\n return func.apply(this, arguments);\n }\n };\n };\n\n // Returns a function that will only be executed up to (but not including) the Nth call.\n _.before = function(times, func) {\n var memo;\n return function() {\n if (--times > 0) {\n memo = func.apply(this, arguments);\n }\n if (times <= 1) func = null;\n return memo;\n };\n };\n\n // Returns a function that will be executed at most one time, no matter how\n // often you call it. Useful for lazy initialization.\n _.once = _.partial(_.before, 2);\n\n _.restArguments = restArguments;\n\n // Object Functions\n // ----------------\n\n // Keys in IE < 9 that won't be iterated by `for key in ...` and thus missed.\n var hasEnumBug = !{toString: null}.propertyIsEnumerable('toString');\n var nonEnumerableProps = ['valueOf', 'isPrototypeOf', 'toString',\n 'propertyIsEnumerable', 'hasOwnProperty', 'toLocaleString'];\n\n var collectNonEnumProps = function(obj, keys) {\n var nonEnumIdx = nonEnumerableProps.length;\n var constructor = obj.constructor;\n var proto = _.isFunction(constructor) && constructor.prototype || ObjProto;\n\n // Constructor is a special case.\n var prop = 'constructor';\n if (has(obj, prop) && !_.contains(keys, prop)) keys.push(prop);\n\n while (nonEnumIdx--) {\n prop = nonEnumerableProps[nonEnumIdx];\n if (prop in obj && obj[prop] !== proto[prop] && !_.contains(keys, prop)) {\n keys.push(prop);\n }\n }\n };\n\n // Retrieve the names of an object's own properties.\n // Delegates to **ECMAScript 5**'s native `Object.keys`.\n _.keys = function(obj) {\n if (!_.isObject(obj)) return [];\n if (nativeKeys) return nativeKeys(obj);\n var keys = [];\n for (var key in obj) if (has(obj, key)) keys.push(key);\n // Ahem, IE < 9.\n if (hasEnumBug) collectNonEnumProps(obj, keys);\n return keys;\n };\n\n // Retrieve all the property names of an object.\n _.allKeys = function(obj) {\n if (!_.isObject(obj)) return [];\n var keys = [];\n for (var key in obj) keys.push(key);\n // Ahem, IE < 9.\n if (hasEnumBug) collectNonEnumProps(obj, keys);\n return keys;\n };\n\n // Retrieve the values of an object's properties.\n _.values = function(obj) {\n var keys = _.keys(obj);\n var length = keys.length;\n var values = Array(length);\n for (var i = 0; i < length; i++) {\n values[i] = obj[keys[i]];\n }\n return values;\n };\n\n // Returns the results of applying the iteratee to each element of the object.\n // In contrast to _.map it returns an object.\n _.mapObject = function(obj, iteratee, context) {\n iteratee = cb(iteratee, context);\n var keys = _.keys(obj),\n length = keys.length,\n results = {};\n for (var index = 0; index < length; index++) {\n var currentKey = keys[index];\n results[currentKey] = iteratee(obj[currentKey], currentKey, obj);\n }\n return results;\n };\n\n // Convert an object into a list of `[key, value]` pairs.\n // The opposite of _.object.\n _.pairs = function(obj) {\n var keys = _.keys(obj);\n var length = keys.length;\n var pairs = Array(length);\n for (var i = 0; i < length; i++) {\n pairs[i] = [keys[i], obj[keys[i]]];\n }\n return pairs;\n };\n\n // Invert the keys and values of an object. The values must be serializable.\n _.invert = function(obj) {\n var result = {};\n var keys = _.keys(obj);\n for (var i = 0, length = keys.length; i < length; i++) {\n result[obj[keys[i]]] = keys[i];\n }\n return result;\n };\n\n // Return a sorted list of the function names available on the object.\n // Aliased as `methods`.\n _.functions = _.methods = function(obj) {\n var names = [];\n for (var key in obj) {\n if (_.isFunction(obj[key])) names.push(key);\n }\n return names.sort();\n };\n\n // An internal function for creating assigner functions.\n var createAssigner = function(keysFunc, defaults) {\n return function(obj) {\n var length = arguments.length;\n if (defaults) obj = Object(obj);\n if (length < 2 || obj == null) return obj;\n for (var index = 1; index < length; index++) {\n var source = arguments[index],\n keys = keysFunc(source),\n l = keys.length;\n for (var i = 0; i < l; i++) {\n var key = keys[i];\n if (!defaults || obj[key] === void 0) obj[key] = source[key];\n }\n }\n return obj;\n };\n };\n\n // Extend a given object with all the properties in passed-in object(s).\n _.extend = createAssigner(_.allKeys);\n\n // Assigns a given object with all the own properties in the passed-in object(s).\n // (https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Object/assign)\n _.extendOwn = _.assign = createAssigner(_.keys);\n\n // Returns the first key on an object that passes a predicate test.\n _.findKey = function(obj, predicate, context) {\n predicate = cb(predicate, context);\n var keys = _.keys(obj), key;\n for (var i = 0, length = keys.length; i < length; i++) {\n key = keys[i];\n if (predicate(obj[key], key, obj)) return key;\n }\n };\n\n // Internal pick helper function to determine if `obj` has key `key`.\n var keyInObj = function(value, key, obj) {\n return key in obj;\n };\n\n // Return a copy of the object only containing the whitelisted properties.\n _.pick = restArguments(function(obj, keys) {\n var result = {}, iteratee = keys[0];\n if (obj == null) return result;\n if (_.isFunction(iteratee)) {\n if (keys.length > 1) iteratee = optimizeCb(iteratee, keys[1]);\n keys = _.allKeys(obj);\n } else {\n iteratee = keyInObj;\n keys = flatten(keys, false, false);\n obj = Object(obj);\n }\n for (var i = 0, length = keys.length; i < length; i++) {\n var key = keys[i];\n var value = obj[key];\n if (iteratee(value, key, obj)) result[key] = value;\n }\n return result;\n });\n\n // Return a copy of the object without the blacklisted properties.\n _.omit = restArguments(function(obj, keys) {\n var iteratee = keys[0], context;\n if (_.isFunction(iteratee)) {\n iteratee = _.negate(iteratee);\n if (keys.length > 1) context = keys[1];\n } else {\n keys = _.map(flatten(keys, false, false), String);\n iteratee = function(value, key) {\n return !_.contains(keys, key);\n };\n }\n return _.pick(obj, iteratee, context);\n });\n\n // Fill in a given object with default properties.\n _.defaults = createAssigner(_.allKeys, true);\n\n // Creates an object that inherits from the given prototype object.\n // If additional properties are provided then they will be added to the\n // created object.\n _.create = function(prototype, props) {\n var result = baseCreate(prototype);\n if (props) _.extendOwn(result, props);\n return result;\n };\n\n // Create a (shallow-cloned) duplicate of an object.\n _.clone = function(obj) {\n if (!_.isObject(obj)) return obj;\n return _.isArray(obj) ? obj.slice() : _.extend({}, obj);\n };\n\n // Invokes interceptor with the obj, and then returns obj.\n // The primary purpose of this method is to \"tap into\" a method chain, in\n // order to perform operations on intermediate results within the chain.\n _.tap = function(obj, interceptor) {\n interceptor(obj);\n return obj;\n };\n\n // Returns whether an object has a given set of `key:value` pairs.\n _.isMatch = function(object, attrs) {\n var keys = _.keys(attrs), length = keys.length;\n if (object == null) return !length;\n var obj = Object(object);\n for (var i = 0; i < length; i++) {\n var key = keys[i];\n if (attrs[key] !== obj[key] || !(key in obj)) return false;\n }\n return true;\n };\n\n\n // Internal recursive comparison function for `isEqual`.\n var eq, deepEq;\n eq = function(a, b, aStack, bStack) {\n // Identical objects are equal. `0 === -0`, but they aren't identical.\n // See the [Harmony `egal` proposal](http://wiki.ecmascript.org/doku.php?id=harmony:egal).\n if (a === b) return a !== 0 || 1 / a === 1 / b;\n // `null` or `undefined` only equal to itself (strict comparison).\n if (a == null || b == null) return false;\n // `NaN`s are equivalent, but non-reflexive.\n if (a !== a) return b !== b;\n // Exhaust primitive checks\n var type = typeof a;\n if (type !== 'function' && type !== 'object' && typeof b != 'object') return false;\n return deepEq(a, b, aStack, bStack);\n };\n\n // Internal recursive comparison function for `isEqual`.\n deepEq = function(a, b, aStack, bStack) {\n // Unwrap any wrapped objects.\n if (a instanceof _) a = a._wrapped;\n if (b instanceof _) b = b._wrapped;\n // Compare `[[Class]]` names.\n var className = toString.call(a);\n if (className !== toString.call(b)) return false;\n switch (className) {\n // Strings, numbers, regular expressions, dates, and booleans are compared by value.\n case '[object RegExp]':\n // RegExps are coerced to strings for comparison (Note: '' + /a/i === '/a/i')\n case '[object String]':\n // Primitives and their corresponding object wrappers are equivalent; thus, `\"5\"` is\n // equivalent to `new String(\"5\")`.\n return '' + a === '' + b;\n case '[object Number]':\n // `NaN`s are equivalent, but non-reflexive.\n // Object(NaN) is equivalent to NaN.\n if (+a !== +a) return +b !== +b;\n // An `egal` comparison is performed for other numeric values.\n return +a === 0 ? 1 / +a === 1 / b : +a === +b;\n case '[object Date]':\n case '[object Boolean]':\n // Coerce dates and booleans to numeric primitive values. Dates are compared by their\n // millisecond representations. Note that invalid dates with millisecond representations\n // of `NaN` are not equivalent.\n return +a === +b;\n case '[object Symbol]':\n return SymbolProto.valueOf.call(a) === SymbolProto.valueOf.call(b);\n }\n\n var areArrays = className === '[object Array]';\n if (!areArrays) {\n if (typeof a != 'object' || typeof b != 'object') return false;\n\n // Objects with different constructors are not equivalent, but `Object`s or `Array`s\n // from different frames are.\n var aCtor = a.constructor, bCtor = b.constructor;\n if (aCtor !== bCtor && !(_.isFunction(aCtor) && aCtor instanceof aCtor &&\n _.isFunction(bCtor) && bCtor instanceof bCtor)\n && ('constructor' in a && 'constructor' in b)) {\n return false;\n }\n }\n // Assume equality for cyclic structures. The algorithm for detecting cyclic\n // structures is adapted from ES 5.1 section 15.12.3, abstract operation `JO`.\n\n // Initializing stack of traversed objects.\n // It's done here since we only need them for objects and arrays comparison.\n aStack = aStack || [];\n bStack = bStack || [];\n var length = aStack.length;\n while (length--) {\n // Linear search. Performance is inversely proportional to the number of\n // unique nested structures.\n if (aStack[length] === a) return bStack[length] === b;\n }\n\n // Add the first object to the stack of traversed objects.\n aStack.push(a);\n bStack.push(b);\n\n // Recursively compare objects and arrays.\n if (areArrays) {\n // Compare array lengths to determine if a deep comparison is necessary.\n length = a.length;\n if (length !== b.length) return false;\n // Deep compare the contents, ignoring non-numeric properties.\n while (length--) {\n if (!eq(a[length], b[length], aStack, bStack)) return false;\n }\n } else {\n // Deep compare objects.\n var keys = _.keys(a), key;\n length = keys.length;\n // Ensure that both objects contain the same number of properties before comparing deep equality.\n if (_.keys(b).length !== length) return false;\n while (length--) {\n // Deep compare each member\n key = keys[length];\n if (!(has(b, key) && eq(a[key], b[key], aStack, bStack))) return false;\n }\n }\n // Remove the first object from the stack of traversed objects.\n aStack.pop();\n bStack.pop();\n return true;\n };\n\n // Perform a deep comparison to check if two objects are equal.\n _.isEqual = function(a, b) {\n return eq(a, b);\n };\n\n // Is a given array, string, or object empty?\n // An \"empty\" object has no enumerable own-properties.\n _.isEmpty = function(obj) {\n if (obj == null) return true;\n if (isArrayLike(obj) && (_.isArray(obj) || _.isString(obj) || _.isArguments(obj))) return obj.length === 0;\n return _.keys(obj).length === 0;\n };\n\n // Is a given value a DOM element?\n _.isElement = function(obj) {\n return !!(obj && obj.nodeType === 1);\n };\n\n // Is a given value an array?\n // Delegates to ECMA5's native Array.isArray\n _.isArray = nativeIsArray || function(obj) {\n return toString.call(obj) === '[object Array]';\n };\n\n // Is a given variable an object?\n _.isObject = function(obj) {\n var type = typeof obj;\n return type === 'function' || type === 'object' && !!obj;\n };\n\n // Add some isType methods: isArguments, isFunction, isString, isNumber, isDate, isRegExp, isError, isMap, isWeakMap, isSet, isWeakSet.\n _.each(['Arguments', 'Function', 'String', 'Number', 'Date', 'RegExp', 'Error', 'Symbol', 'Map', 'WeakMap', 'Set', 'WeakSet'], function(name) {\n _['is' + name] = function(obj) {\n return toString.call(obj) === '[object ' + name + ']';\n };\n });\n\n // Define a fallback version of the method in browsers (ahem, IE < 9), where\n // there isn't any inspectable \"Arguments\" type.\n if (!_.isArguments(arguments)) {\n _.isArguments = function(obj) {\n return has(obj, 'callee');\n };\n }\n\n // Optimize `isFunction` if appropriate. Work around some typeof bugs in old v8,\n // IE 11 (#1621), Safari 8 (#1929), and PhantomJS (#2236).\n var nodelist = root.document && root.document.childNodes;\n if (typeof /./ != 'function' && typeof Int8Array != 'object' && typeof nodelist != 'function') {\n _.isFunction = function(obj) {\n return typeof obj == 'function' || false;\n };\n }\n\n // Is a given object a finite number?\n _.isFinite = function(obj) {\n return !_.isSymbol(obj) && isFinite(obj) && !isNaN(parseFloat(obj));\n };\n\n // Is the given value `NaN`?\n _.isNaN = function(obj) {\n return _.isNumber(obj) && isNaN(obj);\n };\n\n // Is a given value a boolean?\n _.isBoolean = function(obj) {\n return obj === true || obj === false || toString.call(obj) === '[object Boolean]';\n };\n\n // Is a given value equal to null?\n _.isNull = function(obj) {\n return obj === null;\n };\n\n // Is a given variable undefined?\n _.isUndefined = function(obj) {\n return obj === void 0;\n };\n\n // Shortcut function for checking if an object has a given property directly\n // on itself (in other words, not on a prototype).\n _.has = function(obj, path) {\n if (!_.isArray(path)) {\n return has(obj, path);\n }\n var length = path.length;\n for (var i = 0; i < length; i++) {\n var key = path[i];\n if (obj == null || !hasOwnProperty.call(obj, key)) {\n return false;\n }\n obj = obj[key];\n }\n return !!length;\n };\n\n // Utility Functions\n // -----------------\n\n // Run Underscore.js in *noConflict* mode, returning the `_` variable to its\n // previous owner. Returns a reference to the Underscore object.\n _.noConflict = function() {\n root._ = previousUnderscore;\n return this;\n };\n\n // Keep the identity function around for default iteratees.\n _.identity = function(value) {\n return value;\n };\n\n // Predicate-generating functions. Often useful outside of Underscore.\n _.constant = function(value) {\n return function() {\n return value;\n };\n };\n\n _.noop = function(){};\n\n // Creates a function that, when passed an object, will traverse that object’s\n // properties down the given `path`, specified as an array of keys or indexes.\n _.property = function(path) {\n if (!_.isArray(path)) {\n return shallowProperty(path);\n }\n return function(obj) {\n return deepGet(obj, path);\n };\n };\n\n // Generates a function for a given object that returns a given property.\n _.propertyOf = function(obj) {\n if (obj == null) {\n return function(){};\n }\n return function(path) {\n return !_.isArray(path) ? obj[path] : deepGet(obj, path);\n };\n };\n\n // Returns a predicate for checking whether an object has a given set of\n // `key:value` pairs.\n _.matcher = _.matches = function(attrs) {\n attrs = _.extendOwn({}, attrs);\n return function(obj) {\n return _.isMatch(obj, attrs);\n };\n };\n\n // Run a function **n** times.\n _.times = function(n, iteratee, context) {\n var accum = Array(Math.max(0, n));\n iteratee = optimizeCb(iteratee, context, 1);\n for (var i = 0; i < n; i++) accum[i] = iteratee(i);\n return accum;\n };\n\n // Return a random integer between min and max (inclusive).\n _.random = function(min, max) {\n if (max == null) {\n max = min;\n min = 0;\n }\n return min + Math.floor(Math.random() * (max - min + 1));\n };\n\n // A (possibly faster) way to get the current timestamp as an integer.\n _.now = Date.now || function() {\n return new Date().getTime();\n };\n\n // List of HTML entities for escaping.\n var escapeMap = {\n '&': '&',\n '<': '<',\n '>': '>',\n '\"': '"',\n \"'\": ''',\n '`': '`'\n };\n var unescapeMap = _.invert(escapeMap);\n\n // Functions for escaping and unescaping strings to/from HTML interpolation.\n var createEscaper = function(map) {\n var escaper = function(match) {\n return map[match];\n };\n // Regexes for identifying a key that needs to be escaped.\n var source = '(?:' + _.keys(map).join('|') + ')';\n var testRegexp = RegExp(source);\n var replaceRegexp = RegExp(source, 'g');\n return function(string) {\n string = string == null ? '' : '' + string;\n return testRegexp.test(string) ? string.replace(replaceRegexp, escaper) : string;\n };\n };\n _.escape = createEscaper(escapeMap);\n _.unescape = createEscaper(unescapeMap);\n\n // Traverses the children of `obj` along `path`. If a child is a function, it\n // is invoked with its parent as context. Returns the value of the final\n // child, or `fallback` if any child is undefined.\n _.result = function(obj, path, fallback) {\n if (!_.isArray(path)) path = [path];\n var length = path.length;\n if (!length) {\n return _.isFunction(fallback) ? fallback.call(obj) : fallback;\n }\n for (var i = 0; i < length; i++) {\n var prop = obj == null ? void 0 : obj[path[i]];\n if (prop === void 0) {\n prop = fallback;\n i = length; // Ensure we don't continue iterating.\n }\n obj = _.isFunction(prop) ? prop.call(obj) : prop;\n }\n return obj;\n };\n\n // Generate a unique integer id (unique within the entire client session).\n // Useful for temporary DOM ids.\n var idCounter = 0;\n _.uniqueId = function(prefix) {\n var id = ++idCounter + '';\n return prefix ? prefix + id : id;\n };\n\n // By default, Underscore uses ERB-style template delimiters, change the\n // following template settings to use alternative delimiters.\n _.templateSettings = {\n evaluate: /<%([\\s\\S]+?)%>/g,\n interpolate: /<%=([\\s\\S]+?)%>/g,\n escape: /<%-([\\s\\S]+?)%>/g\n };\n\n // When customizing `templateSettings`, if you don't want to define an\n // interpolation, evaluation or escaping regex, we need one that is\n // guaranteed not to match.\n var noMatch = /(.)^/;\n\n // Certain characters need to be escaped so that they can be put into a\n // string literal.\n var escapes = {\n \"'\": \"'\",\n '\\\\': '\\\\',\n '\\r': 'r',\n '\\n': 'n',\n '\\u2028': 'u2028',\n '\\u2029': 'u2029'\n };\n\n var escapeRegExp = /\\\\|'|\\r|\\n|\\u2028|\\u2029/g;\n\n var escapeChar = function(match) {\n return '\\\\' + escapes[match];\n };\n\n // JavaScript micro-templating, similar to John Resig's implementation.\n // Underscore templating handles arbitrary delimiters, preserves whitespace,\n // and correctly escapes quotes within interpolated code.\n // NB: `oldSettings` only exists for backwards compatibility.\n _.template = function(text, settings, oldSettings) {\n if (!settings && oldSettings) settings = oldSettings;\n settings = _.defaults({}, settings, _.templateSettings);\n\n // Combine delimiters into one regular expression via alternation.\n var matcher = RegExp([\n (settings.escape || noMatch).source,\n (settings.interpolate || noMatch).source,\n (settings.evaluate || noMatch).source\n ].join('|') + '|$', 'g');\n\n // Compile the template source, escaping string literals appropriately.\n var index = 0;\n var source = \"__p+='\";\n text.replace(matcher, function(match, escape, interpolate, evaluate, offset) {\n source += text.slice(index, offset).replace(escapeRegExp, escapeChar);\n index = offset + match.length;\n\n if (escape) {\n source += \"'+\\n((__t=(\" + escape + \"))==null?'':_.escape(__t))+\\n'\";\n } else if (interpolate) {\n source += \"'+\\n((__t=(\" + interpolate + \"))==null?'':__t)+\\n'\";\n } else if (evaluate) {\n source += \"';\\n\" + evaluate + \"\\n__p+='\";\n }\n\n // Adobe VMs need the match returned to produce the correct offset.\n return match;\n });\n source += \"';\\n\";\n\n // If a variable is not specified, place data values in local scope.\n if (!settings.variable) source = 'with(obj||{}){\\n' + source + '}\\n';\n\n source = \"var __t,__p='',__j=Array.prototype.join,\" +\n \"print=function(){__p+=__j.call(arguments,'');};\\n\" +\n source + 'return __p;\\n';\n\n var render;\n try {\n render = new Function(settings.variable || 'obj', '_', source);\n } catch (e) {\n e.source = source;\n throw e;\n }\n\n var template = function(data) {\n return render.call(this, data, _);\n };\n\n // Provide the compiled source as a convenience for precompilation.\n var argument = settings.variable || 'obj';\n template.source = 'function(' + argument + '){\\n' + source + '}';\n\n return template;\n };\n\n // Add a \"chain\" function. Start chaining a wrapped Underscore object.\n _.chain = function(obj) {\n var instance = _(obj);\n instance._chain = true;\n return instance;\n };\n\n // OOP\n // ---------------\n // If Underscore is called as a function, it returns a wrapped object that\n // can be used OO-style. This wrapper holds altered versions of all the\n // underscore functions. Wrapped objects may be chained.\n\n // Helper function to continue chaining intermediate results.\n var chainResult = function(instance, obj) {\n return instance._chain ? _(obj).chain() : obj;\n };\n\n // Add your own custom functions to the Underscore object.\n _.mixin = function(obj) {\n _.each(_.functions(obj), function(name) {\n var func = _[name] = obj[name];\n _.prototype[name] = function() {\n var args = [this._wrapped];\n push.apply(args, arguments);\n return chainResult(this, func.apply(_, args));\n };\n });\n return _;\n };\n\n // Add all of the Underscore functions to the wrapper object.\n _.mixin(_);\n\n // Add all mutator Array functions to the wrapper.\n _.each(['pop', 'push', 'reverse', 'shift', 'sort', 'splice', 'unshift'], function(name) {\n var method = ArrayProto[name];\n _.prototype[name] = function() {\n var obj = this._wrapped;\n method.apply(obj, arguments);\n if ((name === 'shift' || name === 'splice') && obj.length === 0) delete obj[0];\n return chainResult(this, obj);\n };\n });\n\n // Add all accessor Array functions to the wrapper.\n _.each(['concat', 'join', 'slice'], function(name) {\n var method = ArrayProto[name];\n _.prototype[name] = function() {\n return chainResult(this, method.apply(this._wrapped, arguments));\n };\n });\n\n // Extracts the result from a wrapped and chained object.\n _.prototype.value = function() {\n return this._wrapped;\n };\n\n // Provide unwrapping proxy for some methods used in engine operations\n // such as arithmetic and JSON stringification.\n _.prototype.valueOf = _.prototype.toJSON = _.prototype.value;\n\n _.prototype.toString = function() {\n return String(this._wrapped);\n };\n\n // AMD registration happens at the end for compatibility with AMD loaders\n // that may not enforce next-turn semantics on modules. Even though general\n // practice for AMD registration is to be anonymous, underscore registers\n // as a named module because, like jQuery, it is a base library that is\n // popular enough to be bundled in a third party lib, but not be part of\n // an AMD load request. Those cases could generate an error when an\n // anonymous define() is called outside of a loader request.\n if (true) {\n !(__WEBPACK_AMD_DEFINE_ARRAY__ = [], __WEBPACK_AMD_DEFINE_RESULT__ = (function() {\n return _;\n }).apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n }\n}());\n\n/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(100), __webpack_require__(234)(module)))\n\n/***/ }),\n/* 494 */\n/***/ (function(module, exports) {\n\nmodule.exports = {\"signout\":\"Sign Out\",\"signin\":\"Sign In\",\"remember\":\"Remember me\",\"rememberDevice\":\"Trust this device\",\"rememberDevice.timebased\":\"Do not challenge me on this device for the next {0}\",\"rememberDevice.devicebased\":\"Do not challenge me on this device again\",\"autoPush\":\"Send push automatically\",\"unlockaccount\":\"Unlock account?\",\"needhelp\":\"Need help signing in?\",\"goback\":\"Back to Sign In\",\"forgotpassword\":\"Forgot password?\",\"help\":\"Help\",\"retry\":\"Retry\",\"iphone\":\"iPhone\",\"android\":\"Android\",\"minutes.oneMinute\":\"minute\",\"minutes\":\"{0} minutes\",\"hours\":\"{0} hours\",\"days\":\"{0} days\",\"error.config\":\"There was a configuration error\",\"error.required.authParams\":\"Missing parameters for the configured authentication scheme - \\\"OAUTH2\\\"\",\"error.required.baseUrl\":\"\\\"baseUrl\\\" is a required widget parameter\",\"error.required.success\":\"A success handler is required\",\"error.required.el\":\"\\\"el\\\" is a required widget parameter\",\"error.invalid.colors.brand\":\"\\\"colors.brand\\\" must be in six-digit hex format\",\"error.unsupported.browser\":\"Unsupported browser\",\"error.unsupported.cors\":\"Unsupported browser - missing CORS support\",\"error.unsupported.localStorage\":\"Unsupported browser - missing localStorage support\",\"error.enabled.cors\":\"There was an error sending the request - have you enabled CORS?\",\"error.expired.session\":\"Your session has expired. Please try to log in again.\",\"error.auth.lockedOut\":\"Your account is locked. Please contact your administrator.\",\"error.oauth.idToken\":\"There was a problem generating the id_token for the user. Please try again.\",\"error.network.connection\":\"Unable to connect to the server. Please check your network connection.\",\"error.username.required\":\"Please enter a username\",\"error.password.required\":\"Please enter a password\",\"errors.E0000004\":\"Unable to sign in\",\"errors.E0000069\":\"Your account is locked because of too many authentication attempts.\",\"errors.E0000047\":\"You exceeded the maximum number of requests. Try again in a while.\",\"errors.E0000079\":\"The operation is not allowed. Please refresh the page to proceed.\",\"errors.E0000001\":\"Api validation failed: {0}\",\"errors.E0000002\":\"The request was not valid: {0}\",\"errors.E0000003\":\"The request body was not well-formed.\",\"errors.E0000005\":\"Invalid session\",\"errors.E0000006\":\"You do not have permission to perform the requested action\",\"errors.E0000007\":\"Not found: {0}\",\"errors.E0000008\":\"The requested path was not found\",\"errors.E0000009\":\"Internal Server Error\",\"errors.E0000010\":\"Service is in read only mode\",\"errors.E0000011\":\"Invalid token provided\",\"errors.E0000012\":\"Unsupported media type\",\"errors.E0000013\":\"Invalid client app id\",\"errors.E0000015\":\"You do not have permission to access the feature you are requesting\",\"errors.E0000016\":\"Activation failed because the user is already active\",\"errors.E0000017\":\"Password reset failed\",\"errors.E0000018\":\"Bad request. Accept and/or Content-Type headers are likely not set.\",\"errors.E0000019\":\"Bad request. Accept and/or Content-Type headers likely do not match supported values.\",\"errors.E0000020\":\"Bad request.\",\"errors.E0000021\":\"Bad request. Accept and/or Content-Type headers likely do not match supported values.\",\"errors.E0000022\":\"The endpoint does not support the provided HTTP method\",\"errors.E0000023\":\"Operation failed because user profile is mastered under another system\",\"errors.E0000024\":\"Bad request. This operation on app metadata is not yet supported.\",\"errors.E0000025\":\"App version assignment failed.\",\"errors.E0000026\":\"This endpoint has been deprecated.\",\"errors.E0000027\":\"Group push bad request : {0}\",\"errors.E0000028\":\"The request is missing a required parameter.\",\"errors.E0000029\":\"Invalid paging request.\",\"errors.E0000030\":\"Bad request. Invalid date. Dates must be of the form yyyy-MM-dd''T''HH:mm:ss.SSSZZ, e.g. 2013-01-01T12:00:00.000-07:00.\",\"errors.E0000031\":\"Invalid search criteria.\",\"errors.E0000032\":\"Unlock is not allowed for this user.\",\"errors.E0000033\":\"Bad request. Can't specify a search query and filter in the same request.\",\"errors.E0000034\":\"Forgot password not allowed on specified user.\",\"errors.E0000035\":\"Change password not allowed on specified user.\",\"errors.E0000036\":\"Change recovery question not allowed on specified user.\",\"errors.E0000037\":\"Type mismatch exception.\",\"errors.E0000038\":\"This operation is not allowed in the user''s current status.\",\"errors.E0000039\":\"Operation on application settings failed.\",\"errors.E0000040\":\"Application label must not be the same as an existing application label.\",\"errors.E0000041\":\"Credentials should not be set on this resource based on the scheme.\",\"errors.E0000042\":\"Setting the error page redirect URL failed.\",\"errors.E0000043\":\"Self service application assignment is not enabled.\",\"errors.E0000044\":\"Self service application assignment is not supported.\",\"errors.E0000045\":\"Field mapping bad request.\",\"errors.E0000046\":\"Deactivate application for user forbidden.\",\"errors.E0000048\":\"Entity not found exception.\",\"errors.E0000049\":\"Invalid SCIM data from SCIM implementation.\",\"errors.E0000050\":\"Invalid SCIM data from client.\",\"errors.E0000051\":\"No response from SCIM implementation.\",\"errors.E0000052\":\"Endpoint not implemented.\",\"errors.E0000053\":\"Invalid SCIM filter.\",\"errors.E0000054\":\"Invalid pagination properties.\",\"errors.E0000055\":\"Duplicate group.\",\"errors.E0000056\":\"Delete application forbidden.\",\"errors.E0000057\":\"Access to this application is denied due to a policy.\",\"errors.E0000058\":\"Access to this application requires MFA: {0}\",\"errors.E0000059\":\"The connector configuration could not be tested. Make sure that the URL, Authentication Parameters are correct and that there is an implementation available at the URL provided.\",\"errors.E0000060\":\"Unsupported operation.\",\"errors.E0000061\":\"Tab error: {0}\",\"errors.E0000062\":\"The specified user is already assigned to the application.\",\"errors.E0000063\":\"Invalid combination of parameters specified.\",\"errors.E0000064\":\"Password is expired and must be changed.\",\"errors.E0000065\":\"Internal error processing app metadata.\",\"errors.E0000066\":\"APNS is not configured, contact your admin\",\"errors.E0000067\":\"Factors Service Error.\",\"errors.E0000070\":\"Waiting for ACK\",\"errors.E0000071\":\"Unsupported OS Version: {0}\",\"errors.E0000072\":\"MIM policy settings have disallowed enrollment for this user\",\"errors.E0000073\":\"User rejected authentication\",\"errors.E0000074\":\"Factor Service Error\",\"errors.E0000075\":\"Cannot modify the {0} attribute because it has a field mapping and profile push is enabled.\",\"errors.E0000076\":\"Cannot modify the app user because it is mastered by an external app.\",\"errors.E0000077\":\"Cannot modify the {0} attribute because it is read-only.\",\"errors.E0000078\":\"Cannot modify the {0} attribute because it is immutable.\",\"errors.E0000081\":\"Cannot modify the {0} attribute because it is a reserved attribute for this application.\",\"errors.E0000082\":\"Each code can only be used once. Please wait for a new code and try again.\",\"errors.E0000083\":\"PassCode is valid but exceeded time window.\",\"errors.E0000084\":\"App evaluation error.\",\"errors.E0000085\":\"You do not have permission to access your account at this time.\",\"errors.E0000086\":\"This policy cannot be activated at this time.\",\"errors.E0000087\":\"The recovery question answer did not match our records.\",\"errors.E0000090\":\"The role specified is already assigned to the user.\",\"errors.E0000091\":\"The provided role type was not the same as required role type.\",\"errors.E0000092\":\"Access to this application requires re-authentication: {0}\",\"errors.E0000093\":\"Target count limit exceeded\",\"errors.E0000094\":\"The provided filter is unsupported.\",\"errors.E0000095\":\"Recovery not allowed for unknown user.\",\"errors.E0000096\":\"This certificate has already been uploaded with kid={0}.\",\"errors.E0000097\":\"There is no verified phone number on file.\",\"errors.E0000098\":\"This phone number is invalid.\",\"errors.E0000099\":\"Only numbers located in US and Canada are allowed. Contact your administrator if this is a problem.\",\"errors.E0000100\":\"Unable to perform search query.\",\"errors.E0000101\":\"Upload failed because of a problem with your ipa file, {0}\",\"errors.E0000102\":\"YubiKey cannot be deleted while assigned to an user. Please deactivate YubiKey using reset MFA and try again\",\"errors.E0000103\":\"Action on device already in queue or in progress\",\"errors.E0000104\":\"Device is already locked and cannot be locked again\",\"errors.E0000105\":\"You have accessed an account recovery link that has expired or been previously used.\",\"errors.E0000106\":\"Wait for token to change, then enter the new tokencode.\",\"errors.E0000107\":\"The entity is not in the expected state for the requested transition.\",\"errors.E0000109\":\"An SMS message was recently sent. Please wait 30 seconds before trying again.\",\"errors.E0000110\":\"You have accessed a link that has expired or has been previously used.\",\"errors.E0000111\":\"Cannot modify the {0} object because it is read-only.\",\"errors.E0000112\":\"Cannot update this user because they are still being activated. Please try again in a few minutes.\",\"errors.E0000113\":\"{0}.\",\"errors.E0000114\":\"A user with this login already exists in the current organization.\",\"errors.E0000115\":\"Upload failed, {0}\",\"errors.E0000116\":\"{0}\",\"errors.E0000119\":\"Your account is locked. Please contact your administrator.\",\"errors.E0000124\":\"Could not create user. To create a user and expire their password immediately, a password must be specified\",\"errors.E0000125\":\"Could not create user. To create a user and expire their password immediately, \\\"activate\\\" must be true\",\"errors.E0000133\":\"A phone call was recently made. Please wait 30 seconds before trying again.\",\"oform.next\":\"Next\",\"oform.verify\":\"Verify\",\"oform.send\":\"Send\",\"oform.back\":\"Back\",\"oform.save\":\"Save\",\"oform.cancel\":\"Cancel\",\"oform.edit\":\"Edit\",\"oform.previous\":\"Previous\",\"oform.error.icon.ariaLabel\":\"Error\",\"oform.errorbanner.title\":\"We found some errors. Please review the form and make corrections.\",\"oform.errormsg.title\":\"Please review the form to correct the following errors:\",\"oform.error.unexpected\":\"There was an unexpected internal error. Please try again.\",\"model.validation.field.blank\":\"This field cannot be left blank\",\"model.validation.field.wrong.type\":\"This field is of the wrong type\",\"model.validation.field.invalid\":\"This field has an invalid value\",\"model.validation.field.value.not.allowed\":\"This field value is not allowed\",\"model.validation.field.array.minItems\":\"This array does not have enough items\",\"model.validation.field.array.maxItems\":\"This array contains too many items\",\"model.validation.field.array.unique\":\"This array can only have unique values\",\"model.validation.field.string.minLength\":\"This field cannot be less than the minimum required characters\",\"model.validation.field.string.maxLength\":\"This field cannot exceed the maximum allowed characters\",\"model.validation.field.invalid.format.email\":\"This value is not a valid email address\",\"model.validation.field.invalid.format.uri\":\"This value is not a valid URI\",\"model.validation.field.invalid.format.ipv4\":\"This value is not a valid IPv4 address\",\"model.validation.field.invalid.format.hostname\":\"This value is not a valid hostname\",\"model.validation.field.username\":\"Please check your username\",\"factor.totpSoft.oktaVerify\":\"Okta Verify\",\"factor.totpSoft.googleAuthenticator\":\"Google Authenticator\",\"factor.totpSoft.description\":\"Enter single-use code from the mobile app.\",\"factor.totpHard.rsaSecurId\":\"RSA SecurID\",\"factor.totpHard.symantecVip\":\"Symantec VIP\",\"factor.totpHard.description\":\"Enter a single-use code from a hardware token.\",\"factor.totpHard.yubikey\":\"YubiKey\",\"factor.totpHard.yubikey.description\":\"Insert your YubiKey and tap it to get a verification code.\",\"factor.totpHard.yubikey.placeholder\":\"Click here, then tap your YubiKey\",\"factor.oktaVerifyPush\":\"Okta Verify\",\"factor.push.description\":\"Use a push notification sent to the mobile app.\",\"factor.duo\":\"Duo Security\",\"factor.duo.description\":\"Use Push Notification, SMS, or Voice call to authenticate.\",\"factor.sms\":\"SMS Authentication\",\"factor.sms.description\":\"Enter a single-use code sent to your mobile phone.\",\"factor.sms.time.warning\":\"Haven't received an SMS? To try again, click <span style=\\\"font-weight:bold\\\">Re-send code</span>.\",\"factor.call\":\"Voice Call Authentication\",\"factor.call.description\":\"Use a phone to authenticate by following voice instructions.\",\"factor.call.time.warning\":\"Haven't received a voice call? To try again, click <span style=\\\"font-weight:bold\\\">Redial</span>.\",\"factor.securityQuestion\":\"Security Question\",\"factor.securityQuestion.description\":\"Use the answer to a security question to authenticate.\",\"factor.windowsHello\":\"Windows Hello\",\"factor.windowsHello.signin.description\":\"Sign in to Okta using Windows Hello.\",\"factor.windowsHello.signin.description.generic\":\"Sign in using Windows Hello.\",\"factor.windowsHello.signin.description.specific\":\"Sign in to {0} using Windows Hello.\",\"factor.u2f\":\"Security Key (U2F)\",\"factor.u2f.description\":\"Use a Universal 2nd Factor (U2F) security key to sign on to Okta.\",\"factor.u2f.description.generic\":\"Use a Universal 2nd Factor (U2F) security key to sign in.\",\"factor.u2f.description.specific\":\"Use a Universal 2nd Factor (U2F) security key to sign in to {0}.\",\"factor.email\":\"Email Authentication\",\"factor.email.description\":\"Enter a verification code sent to your email.\",\"factor.password\":\"Password\",\"factor.customFactor.description\":\"Redirect to a third party MFA provider to sign in to Okta.\",\"factor.customFactor.description.generic\":\"Redirect to a third party MFA provider to sign in.\",\"factor.customFactor.description.specific\":\"Redirect to a third party MFA provider to sign in to {0}.\",\"factor.webauthn.biometric\":\"Security Key or Biometric Authenticator\",\"factor.webauthn.biometric.description\":\"Use a security key (USB or bluetooth) or a biometric authenticator (Windows Hello, Touch ID, etc.)\",\"factor.hotp.description\":\"Enter a single-use code from an authenticator.\",\"mfa.challenge.verify\":\"Verify\",\"mfa.challenge.answer.placeholder\":\"Answer\",\"mfa.challenge.answer.tooltip\":\"Answer\",\"mfa.challenge.answer.showAnswer\":\"Show\",\"mfa.challenge.answer.hideAnswer\":\"Hide\",\"mfa.challenge.enterCode.placeholder\":\"Enter Code\",\"mfa.challenge.enterCode.tooltip\":\"Enter Code\",\"mfa.challenge.password.placeholder\":\"Password\",\"mfa.backToFactors\":\"Back to factor list\",\"mfa.phoneNumber.placeholder\":\"Phone number\",\"mfa.phoneNumber.ext.placeholder\":\"Extension\",\"mfa.sendCode\":\"Send code\",\"mfa.sent\":\"Sent\",\"mfa.resendCode\":\"Re-send code\",\"mfa.call\":\"Call\",\"mfa.calling\":\"Calling\",\"mfa.redial\":\"Redial\",\"mfa.sendEmail\":\"Send email\",\"mfa.resendEmail\":\"Re-send email\",\"mfa.scanBarcode\":\"Scan barcode\",\"mfa.noAccessToEmail\":\"Can't access email\",\"password.reset\":\"Reset Password\",\"password.oldPassword.placeholder\":\"Old password\",\"password.oldPassword.tooltip\":\"Old password\",\"password.newPassword.placeholder\":\"New password\",\"password.newPassword.tooltip\":\"New password\",\"password.confirmPassword.placeholder\":\"Repeat password\",\"password.confirmPassword.tooltip\":\"Repeat password\",\"password.error.match\":\"New passwords must match\",\"password.enroll.error.match\":\"Passwords must match\",\"recovery.sms.hint\":\"SMS can only be used if a mobile phone number has been configured.\",\"recovery.mobile.hint\":\"{0} can only be used if a mobile phone number has been configured.\",\"recovery.sms\":\"SMS\",\"recovery.call\":\"Voice Call\",\"recovery.smsOrCall\":\"SMS or Voice Call\",\"verify.choices.description\":\"Verify with one of the following factors.\",\"email.button.send\":\"Send me the code\",\"email.button.resend\":\"Send again\",\"email.code.label\":\"Verification code\",\"email.code.not.received\":\"Haven't received an email?\",\"email.enroll.title\":\"Set up Email Authentication\",\"email.enroll.description\":\"Send a verification code to your registered email.\",\"email.mfa.title\":\"Verify with Email Authentication\",\"email.mfa.description\":\"Send a verification code to {0}.\",\"email.mfa.email.sent.description\":\"A verification code was sent to {0}. Check your email and enter the code below.\",\"enroll.choices.title\":\"Set up multifactor authentication\",\"enroll.choices.description\":\"Your company requires multifactor authentication to add an additional layer of security when signing in to your Okta account\",\"enroll.choices.description.generic\":\"Your company requires multifactor authentication to add an additional layer of security when signing in to your account\",\"enroll.choices.description.specific\":\"Your company requires multifactor authentication to add an additional layer of security when signing in to your {0} account\",\"enroll.choices.description.gracePeriod.bold\":\"Your company recommends setting up additional factors for authentication. Set up will be required in: <b>{0} day(s)</b>.\",\"enroll.choices.description.gracePeriod.oneDay.bold\":\"Your company recommends setting up additional factors for authentication. Set up will be required in: <b>less than 1 day</b>.\",\"enroll.choices.optional\":\"You can configure any additional optional factor or click finish\",\"enroll.choices.list.setup\":\"Setup required\",\"enroll.choices.list.enrolled\":\"Enrolled factors\",\"enroll.choices.list.optional\":\"Additional optional factors\",\"enroll.choices.setup\":\"Setup\",\"enroll.choices.setup.another\":\"Set up another\",\"enroll.choices.submit.finish\":\"Finish\",\"enroll.choices.submit.configure\":\"Configure factor\",\"enroll.choices.submit.next\":\"Configure next factor\",\"enroll.choices.cardinality.setup\":\"({0} set up)\",\"enroll.choices.cardinality.setup.remaining\":\"({0} of {1} set up)\",\"enroll.choices.setup.skip\":\"Skip set up\",\"enroll.securityQuestion.setup\":\"Setup secret question authentication\",\"security.disliked_food\":\"What is the food you least liked as a child?\",\"security.name_of_first_plush_toy\":\"What is the name of your first stuffed animal?\",\"security.first_award\":\"What did you earn your first medal or award for?\",\"security.favorite_security_question\":\"What is your favorite security question?\",\"security.favorite_toy\":\"What is the toy/stuffed animal you liked the most as a kid?\",\"security.first_computer_game\":\"What was the first computer game you played?\",\"security.favorite_movie_quote\":\"What is your favorite movie quote?\",\"security.first_sports_team_mascot\":\"What was the mascot of the first sports team you played on?\",\"security.first_music_purchase\":\"What music album or song did you first purchase?\",\"security.favorite_art_piece\":\"What is your favorite piece of art?\",\"security.grandmother_favorite_desert\":\"What was your grandmother's favorite dessert?\",\"security.first_thing_cooked\":\"What was the first thing you learned to cook?\",\"security.childhood_dream_job\":\"What was your dream job as a child?\",\"security.first_kiss_location\":\"Where did you have your first kiss?\",\"security.place_where_significant_other_was_met\":\"Where did you meet your spouse/significant other?\",\"security.favorite_vacation_location\":\"Where did you go for your favorite vacation?\",\"security.new_years_two_thousand\":\"Where were you on New Year's Eve in the year 2000?\",\"security.favorite_speaker_actor\":\"Who is your favorite speaker/orator?\",\"security.favorite_book_movie_character\":\"Who is your favorite book/movie character?\",\"security.favorite_sports_player\":\"Who is your favorite sports player?\",\"enroll.password.setup\":\"Select a password\",\"save.password\":\"Save password\",\"enroll.sms.setup\":\"Receive a code via SMS to authenticate\",\"enroll.sms.try_again\":\"The number you entered seems invalid. If the number is correct, please try again.\",\"enroll.call.setup\":\"Follow phone call instructions to authenticate\",\"enroll.onprem.username.placeholder\":\"Enter {0} username\",\"enroll.onprem.username.tooltip\":\"Enter {0} username\",\"enroll.onprem.passcode.placeholder\":\"Enter {0} passcode\",\"enroll.onprem.passcode.tooltip\":\"Enter {0} passcode\",\"enroll.symantecVip.subtitle\":\"Enter Credential ID and two consecutive generated codes\",\"enroll.symantecVip.credentialId.placeholder\":\"Enter credential ID\",\"enroll.symantecVip.credentialId.tooltip\":\"Enter credential ID\",\"enroll.symantecVip.passcode1.placeholder\":\"Security code 1\",\"enroll.symantecVip.passcode1.tooltip\":\"Security code 1\",\"enroll.symantecVip.passcode2.placeholder\":\"Security code 2\",\"enroll.symantecVip.passcode2.tooltip\":\"Security code 2\",\"enroll.yubikey.title\":\"Setup YubiKey\",\"enroll.yubikey.subtitle\":\"Insert your YubiKey into a USB port and tap it to generate a verification code\",\"enroll.totp.title\":\"Setup {0}\",\"enroll.totp.selectDevice\":\"Select your device type\",\"enroll.totp.downloadApp\":\"Download <a href=\\\"{0}\\\" class=\\\"inline-link\\\">{1} from the {2}</a> onto your mobile device.\",\"enroll.hotp.restricted\":\"Contact your administrator to continue enrollment.\",\"enroll.duo.title\":\"Setup Duo Security\",\"enroll.windowsHello.title\":\"Enroll Windows Hello\",\"enroll.windowsHello.subtitle\":\"Click below to enroll Windows Hello as a second form of authentication\",\"enroll.windowsHello.subtitle.loading\":\"Please wait while Windows Hello is loading...\",\"enroll.windowsHello.save\":\"Enroll Windows Hello\",\"enroll.windowsHello.error.notWindows\":\"Windows Hello can only be used on Windows Edge with Windows 10. Contact your admin for assistance.\",\"enroll.windowsHello.error.notConfiguredHtml\":\"Windows Hello is not configured. Select the <b>Start</b> button, then select <b>Settings</b> - <b>Accounts</b> - <b>Sign-in</b> to configure Windows Hello.\",\"verify.windowsHello.subtitle\":\"Verify your identity with Windows Hello\",\"verify.windowsHello.subtitle.loading\":\"Please wait while Windows Hello is loading...\",\"verify.windowsHello.subtitle.signingIn\":\"Signing in to Okta...\",\"verify.windowsHello.subtitle.signingIn.generic\":\"Signing in...\",\"verify.windowsHello.subtitle.signingIn.specific\":\"Signing in to {0}...\",\"verify.windowsHello.save\":\"Verify with Windows Hello\",\"verify.windowsHello.error.notFound\":\"Your Windows Hello enrollment does not match our records. Contact your administrator for assistance.\",\"verify.windowsHello.error.notFound.selectAnother\":\"Your Windows Hello enrollment does not match our records. Select another factor or contact your administrator for assistance.\",\"enroll.u2f.title\":\"Setup Security Key (U2F)\",\"enroll.u2f.save\":\"Register Security Key\",\"enroll.u2f.general2\":\"Make sure you have a Security Key. If already inserted, remove it now.<br>If you have a Bluetooth Security Key, turn on your computer's Bluetooth.\",\"enroll.u2f.general3\":\"Click the button below to register\",\"enroll.u2f.instructions\":\"Insert your Security Key into a USB port on this computer. If it has a button or gold disk, tap it.\",\"enroll.u2f.instructionsBluetooth\":\"If you are using a Bluetooth Security Key, press the button.\",\"u2f.error.factorNotSupported\":\"Security Key (U2F) is not supported on this browser. Select another factor or contact your admin for assistance.\",\"u2f.error.factorNotSupported.oneFactor\":\"Security Key (U2F) is not supported on this browser. Contact your admin for assistance.\",\"u2f.error.other\":\"An unknown error has occured. Try again or select another factor.\",\"u2f.error.other.oneFactor\":\"An unknown error has occured. Try again or contact your admin for assistance.\",\"u2f.error.badRequest\":\"There was an error with the U2F request. Try again or select another factor.\",\"u2f.error.badRequest.oneFactor\":\"There was an error with the U2F request. Try again or contact your admin for assistance.\",\"u2f.error.unsupported\":\"The security key is unsupported. Select another factor.\",\"u2f.error.unsupported.oneFactor\":\"The security key is unsupported. Contact your admin for assistance.\",\"u2f.error.timeout\":\"You have timed out of the authentication period. Please try again.\",\"verify.u2f.instructions\":\"Insert your Security Key. If it has a button or gold disk, tap it.\",\"verify.u2f.instructionsBluetooth\":\"If you are using a Bluetooth Security Key, turn on your computer's Bluetooth and press the button.\",\"verify.u2f.retry\":\"Retry\",\"enroll.customFactor.subtitle\":\"Clicking below will redirect to MFA enrollment with {0}\",\"enroll.customFactor.save\":\"Enroll\",\"verify.customFactor.subtitle\":\"Clicking below will redirect to verification with {0}\",\"enroll.webauthn.biometric.title\":\"Set up security key or biometric authenticator\",\"enroll.webauthn.save\":\"Enroll\",\"enroll.webauthn.biometric.instructions\":\"Your browser will prompt to register a security key or biometric authenticator (Windows Hello, Touch ID, etc.). Follow the instructions to complete enrollment.\",\"enroll.webauthn.biometric.instructions.edge\":\"Note: If you are enrolling a security key and Windows Hello or PIN is enabled, you will need to select '<b>Cancel</b>' in the prompt before continuing.\",\"verify.webauthn.biometric.instructions\":\"Your browser or device will prompt you to verify with a security key or biometric authenticator. Follow the instructions to complete authentication.\",\"webauthn.biometric.error.factorNotSupported\":\"Security key or biometric authenticator is not supported on this browser. Select another factor or contact your admin for assistance.\",\"webauthn.biometric.error.factorNotSupported.oneFactor\":\"Security key or biometric authenticator is not supported on this browser. Contact your admin for assistance.\",\"enroll.webauthn.instructions.noSupportForBiometric\":\"Note: Some browsers may not support biometric authenticators.\",\"enroll.totp.enterCode\":\"Enter code displayed from the application\",\"enroll.totp.setupApp\":\"Launch {0} application on your mobile device and select Add an account.\",\"enroll.totp.setupGoogleAuthApp\":\"Launch {0}, tap the \\\"+\\\" icon, then select \\\"Scan barcode\\\".\",\"enroll.totp.cannotScan\":\"Can't scan?\",\"enroll.totp.refreshBarcode\":\"Refresh code\",\"enroll.totp.cannotScanBarcode\":\"Can't scan barcode?\",\"enroll.totp.manualSetupInstructions\":\"To set up manually enter your Okta Account username and then input the following in the Secret Key Field\",\"enroll.totp.manualSetupInstructions.generic\":\"To set up manually enter your Account username and then input the following in the Secret Key Field\",\"enroll.totp.manualSetupInstructions.specific\":\"To set up manually enter your {0} Account username and then input the following in the Secret Key Field\",\"enroll.totp.sharedSecretInstructions\":\"Enter your Okta Account username and enter the following in the Secret Key Field\",\"enroll.totp.sharedSecretInstructions.generic\":\"Enter your Account username and enter the following in the Secret Key Field\",\"enroll.totp.sharedSecretInstructions.specific\":\"Enter your {0} Account username and enter the following in the Secret Key Field\",\"enroll.totp.sendSms\":\"Send activation link via SMS\",\"enroll.totp.sendEmail\":\"Send activation link via email\",\"enroll.totp.setupManually\":\"Setup manually without push notification\",\"enroll.totp.enrollViaEmail.title\":\"Activation email sent!\",\"enroll.totp.enrollViaEmail.msg\":\"Open the email from your mobile device.\",\"enroll.totp.enrollViaSms.title\":\"SMS sent!\",\"enroll.totp.enrollViaSms.msg\":\"View the SMS on your mobile device.\",\"recoveryChallenge.sms.title\":\"Enter verification code sent via SMS\",\"recoveryChallenge.call.title\":\"Enter verification code received via Voice Call\",\"mfa.factors.dropdown.title\":\"Select an authentication factor\",\"mfa.factors.dropdown.sr.text\":\"Select Authentication Factor - {0} Factor Selected\",\"mfa.duoSecurity.push\":\"Push — {0}\",\"mfa.duoSecurity.sms\":\"SMS — {0}\",\"mfa.duoSecurity.call\":\"Call — {0}\",\"mfa.challenge.title\":\"Enter your {0} passcode\",\"mfa.challenge.orEnterCode\":\"Or enter code\",\"mfa.challenge.totp.subtitle.multiple\":\"Enter code from any registered {0} device.\",\"mfa.emailVerification.checkEmail\":\"To finish signing in, click the link in your email.\",\"mfa.emailVerification.title\":\"Sign in using a link sent to your email.\",\"mfa.emailVerification.subtitle\":\"Emails will be sent to {0}\",\"mfa.emailVerification.otc.finish\":\"To finish signing in, enter the code which was emailed to you.\",\"oktaverify.send\":\"Send Push\",\"oktaverify.resend\":\"Re-send Push\",\"oktaverify.sent\":\"Push sent!\",\"oktaverify.rejected\":\"You have chosen to reject this login.\",\"oktaverify.timeout\":\"Your push notification has expired.\",\"oktaverify.warning\":\"Haven't received a push notification yet? Try opening the Okta Verify App on your phone.\",\"oktaverify.numberchallenge.instruction\":\"On your phone, tap <span class=\\\"challenge-number\\\">{0}</span> on Okta Verify prompt to continue.\",\"oktaverify.numberchallenge.explain\":\"This extra step helps us make sure it's really you signing in.\",\"primaryauth.title\":\"Sign In\",\"primaryauth.username.placeholder\":\"Username\",\"primaryauth.username.tooltip\":\"Username\",\"primaryauth.password.placeholder\":\"Password\",\"primaryauth.password.tooltip\":\"Password\",\"primaryauth.submit\":\"Sign In\",\"primaryauth.newUser.tooltip\":\"This is the first time you are connecting to {0} from this browser\",\"primaryauth.newUser.tooltip.close\":\"Close\",\"idpDiscovery.email.placeholder\":\"Email\",\"password.forgot.email.or.username.placeholder\":\"Email or Username\",\"password.forgot.email.or.username.tooltip\":\"Email or Username\",\"password.forgot.sendText\":\"Reset via SMS\",\"password.forgot.sendEmail\":\"Reset via Email\",\"password.forgot.call\":\"Reset via Voice Call\",\"password.forgot.emailSent.title\":\"Email sent!\",\"password.forgot.emailSent.desc\":\"Email has been sent to {0} with instructions on resetting your password.\",\"password.forgot.question.title\":\"Answer Forgotten Password Challenge\",\"password.forgot.question.submit\":\"Reset Password\",\"password.forgot.code.notReceived\":\"Didn't receive a code? Reset via email\",\"password.forgot.noFactorsEnabled\":\"No password reset options available. Please contact your administrator.\",\"password.reset.title\":\"Reset your Okta password\",\"password.reset.title.generic\":\"Reset your password\",\"password.reset.title.specific\":\"Reset your {0} password\",\"password.complexity.requirements\":\"Password requirements: {0}.\",\"password.complexity.history\":\"Your password cannot be any of your last {0} passwords.\",\"password.complexity.minAgeMinutes\":\"At least {0} minute(s) must have elapsed since you last changed your password.\",\"password.complexity.minAgeHours\":\"At least {0} hour(s) must have elapsed since you last changed your password.\",\"password.complexity.minAgeDays\":\"At least {0} day(s) must have elapsed since you last changed your password.\",\"password.reset.verification\":\"Verify with one of the following factors to reset your password.\",\"password.complexity.length\":\"at least {0} characters\",\"password.complexity.list.element\":\", {0}\",\"password.complexity.lowercase\":\"a lowercase letter\",\"password.complexity.uppercase\":\"an uppercase letter\",\"password.complexity.number\":\"a number\",\"password.complexity.symbol\":\"a symbol\",\"password.complexity.no_username\":\"no parts of your username\",\"password.complexity.no_first_name\":\"does not include your first name\",\"password.complexity.no_last_name\":\"does not include your last name\",\"password.expired.submit\":\"Change Password\",\"password.expired.title\":\"Your Okta password has expired\",\"password.expired.title.generic\":\"Your password has expired\",\"password.expired.title.specific\":\"Your {0} password has expired\",\"password.expiring.later\":\"Remind me later\",\"password.expiring.title\":\"Your password will expire in {0} days\",\"password.expiring.today\":\"Your password will expire later today\",\"password.expiring.soon\":\"Your password is expiring soon\",\"password.expiring.subtitle\":\"When password expires you may be locked out of Okta Mobile, mobile email, and other services.\",\"password.expiring.subtitle.generic\":\"When password expires you will be locked out of your account.\",\"password.expiring.subtitle.specific\":\"When password expires you will be locked out of your {0} account.\",\"password.expired.custom.submit\":\"Go to {0}\",\"password.expired.custom.subtitle\":\"This password is set on another website. Click the button below to go there and set a new password.\",\"account.unlock.title\":\"Unlock account\",\"account.unlock.email.or.username.placeholder\":\"Email or username\",\"account.unlock.email.or.username.tooltip\":\"Email or username\",\"account.unlock.sendText\":\"Send SMS\",\"account.unlock.voiceCall\":\"Voice Call\",\"account.unlock.sendEmail\":\"Send Email\",\"account.unlock.emailSent.title\":\"Email sent!\",\"account.unlock.emailSent.desc\":\"Email has been sent to {0} with instructions on unlocking your account.\",\"account.unlock.question.title\":\"Answer Unlock Account Challenge\",\"account.unlock.question.submit\":\"Unlock Account\",\"account.unlock.unlocked.title\":\"Account successfully unlocked!\",\"account.unlock.unlocked.desc\":\"You can log in using your existing username and password.\",\"account.unlock.code.notReceived\":\"Didn't receive a code? Unlock via email\",\"account.unlock.noFactorsEnabled\":\"No unlock options available. Please contact your administrator.\",\"contact.support\":\"If you didn't provide a secondary email address or don't have access to email, please contact your administrator at {0}\",\"socialauth.divider.text\":\"OR\",\"socialauth.facebook.label\":\"Sign in with Facebook\",\"socialauth.google.label\":\"Sign in with Google\",\"socialauth.linkedin.label\":\"Sign in with LinkedIn\",\"socialauth.microsoft.label\":\"Sign in with Microsoft\",\"socialauth.popup.title\":\"External Identity Provider User Authentication\",\"authbutton.divider.text\":\"or\",\"registration.signup.label\":\"Don't have an account?\",\"registration.signup.text\":\"Sign up\",\"registration.complete.title\":\"Verification email sent\",\"registration.complete.confirm.text\":\"To finish signing in, check your email.\",\"registration.form.title\":\"Create Account\",\"registration.form.submit\":\"Register\",\"registration.passwordComplexity.minLength\":\"At least {0} character(s)\",\"registration.passwordComplexity.minLower\":\"At least {0} lowercase letter(s)\",\"registration.passwordComplexity.minUpper\":\"At least {0} uppercase letter(s)\",\"registration.passwordComplexity.minNumber\":\"At least {0} number(s)\",\"registration.passwordComplexity.minSymbol\":\"At least {0} symbol(s)\",\"registration.passwordComplexity.excludeUsername\":\"Does not contain part of username\",\"registration.passwordComplexity.excludeAttribute\":\"Does not contain '{0}'\",\"registration.required.fields.label\":\"* indicates required field\",\"registration.default.callbackhook.error\":\"We could not process your registration at this time. Please try again later.\",\"registration.error.userName.invalidEmail\":\"Invalid email address\",\"registration.error.password.passwordRequirementsNotMet\":\"Password requirements were not met\",\"registration.error.userName.notUniqueWithinOrg\":\"An account with that email already exists\",\"piv.card\":\"PIV Card\",\"piv.card.insert\":\"Please insert your PIV card and select the user certificate.\",\"piv.card.error\":\"Certificate authentication failed. Contact your admin.\",\"piv.card.error.empty\":\"No certificate selected. Choose a certificate and try again.\",\"piv.card.error.invalid\":\"Certificate validation failed. Choose another certificate and try again.\",\"piv.cac.card\":\"Sign in with PIV / CAC card\",\"piv.cac.title\":\"PIV / CAC card\",\"piv.cac.card.insert\":\"Please insert your PIV / CAC card and select the user certificate.\",\"piv.cac.error\":\"There was an error signing in. Click the button below to try again.\",\"unsupported.oneDrive.title\":\"Your OneDrive version is not supported\",\"unsupported.oneDrive.desc\":\"Upgrade now by installing the OneDrive for Business Next Generation Sync Client to login to Okta\",\"unsupported.oneDrive.action\":\"Learn how to upgrade\",\"unsupported.cookies.title\":\"Cookies are required\",\"unsupported.cookies.desc\":\"Cookies are disabled on your browser. Please enable Cookies and refresh this page.\",\"unsupported.cookies.action\":\"Refresh\",\"deviceTrust.sso.text\":\"Sign in to access company resources\",\"deviceTrust.sso.subtitle.2\":\"Your company uses Okta Mobile to get you approved to access this app.\",\"deviceTrust.sso.button\":\"Sign in with Okta Mobile\",\"deviceTrust.sso.expire.title\":\"Oops let's get you back on track\",\"deviceTrust.sso.expire.subtitle\":\"Unfortunately the steps required to sign in took longer than expected and your attempt timed out.\",\"deviceTrust.sso.expire.button\":\"Sign in using Okta Mobile\",\"deviceTrust.universalLink.fallback.getOktaMobile.title\":\"Get Okta Mobile\",\"deviceTrust.universalLink.fallback.getOktaMobile.subtitle\":\"Go to the {0}AppStore{1}, {0}search{1} for {0}Okta Mobile{1} and tap on {0}GET{1} Okta Mobile. Once installed, sign in to Okta Mobile and follow the instructions to secure your device.\",\"signin.with.fastpass\":\"Signing in using Okta FastPass\",\"customUri.title\":\"Verify account access\",\"customUri.subtitle\":\"Launching Okta Verify...\",\"customUri.content\":\"<div class=\\\"skinny-content\\\"> If nothing prompts from the browser, <a href=\\\"#\\\" id=\\\"launch-ov\\\" class=\\\"link\\\">click here</a> to launch Okta Verify, or make sure Okta Verify is installed.</div>\",\"universalLink.title\":\"Verify your sign in\",\"universalLink.content\":\"To continue, you'll need to use the <span class=\\\"highlight-text\\\">Okta Verify</span> app to confirm your sign in.\",\"universalLink.button\":\"Sign in with Okta Verify\",\"consent.required.text\":\"<b>{0}</b> would like to:\",\"consent.required.description\":\"By clicking Allow Access, you allow the actions listed above.\",\"consent.required.termsOfService\":\"Terms of Service\",\"consent.required.privacyPolicy\":\"Privacy Policy\",\"consent.required.consentButton\":\"Allow Access\",\"consent.required.cancelButton\":\"Don't Allow\",\"polling.title\":\"There are too many users trying to sign in right now. We will automatically retry in {0} seconds.\",\"cert.authentication.title\":\"Certificate authentication\"}\n\n/***/ }),\n/* 495 */\n/***/ (function(module, exports) {\n\nmodule.exports = {\"AF\":\"Afghanistan\",\"AX\":\"Ã…land Islands\",\"AL\":\"Albania\",\"DZ\":\"Algeria\",\"AS\":\"American Samoa\",\"AD\":\"Andorra\",\"AO\":\"Angola\",\"AI\":\"Anguilla\",\"AQ\":\"Antarctica\",\"AG\":\"Antigua and Barbuda\",\"AR\":\"Argentina\",\"AM\":\"Armenia\",\"AW\":\"Aruba\",\"AU\":\"Australia\",\"AT\":\"Austria\",\"AZ\":\"Azerbaijan\",\"BS\":\"Bahamas\",\"BH\":\"Bahrain\",\"BD\":\"Bangladesh\",\"BB\":\"Barbados\",\"BY\":\"Belarus\",\"BE\":\"Belgium\",\"BZ\":\"Belize\",\"BJ\":\"Benin\",\"BM\":\"Bermuda\",\"BT\":\"Bhutan\",\"BO\":\"Bolivia, Plurinational State of\",\"BA\":\"Bosnia and Herzegovina\",\"BW\":\"Botswana\",\"BV\":\"Bouvet Island\",\"BR\":\"Brazil\",\"IO\":\"British Indian Ocean Territory\",\"VG\":\"Virgin Islands, British\",\"BN\":\"Brunei Darussalam\",\"BG\":\"Bulgaria\",\"BF\":\"Burkina Faso\",\"BI\":\"Burundi\",\"KH\":\"Cambodia\",\"CM\":\"Cameroon\",\"CA\":\"Canada\",\"CV\":\"Cape Verde\",\"KY\":\"Cayman Islands\",\"CF\":\"Central African Republic\",\"TD\":\"Chad\",\"CL\":\"Chile\",\"CN\":\"China\",\"CX\":\"Christmas Island\",\"CO\":\"Colombia\",\"KM\":\"Comoros\",\"CG\":\"Congo\",\"CK\":\"Cook Islands\",\"CR\":\"Costa Rica\",\"CI\":\"Côte d'Ivoire\",\"HR\":\"Croatia\",\"CU\":\"Cuba\",\"CY\":\"Cyprus\",\"CZ\":\"Czech Republic\",\"CD\":\"Congo, the Democratic Republic of the\",\"DK\":\"Denmark\",\"DJ\":\"Djibouti\",\"DM\":\"Dominica\",\"DO\":\"Dominican Republic\",\"TL\":\"Timor-Leste\",\"EC\":\"Ecuador\",\"EG\":\"Egypt\",\"SV\":\"El Salvador\",\"GQ\":\"Equatorial Guinea\",\"ER\":\"Eritrea\",\"EE\":\"Estonia\",\"ET\":\"Ethiopia\",\"FK\":\"Falkland Islands (Malvinas)\",\"FO\":\"Faroe Islands\",\"FJ\":\"Fiji\",\"FI\":\"Finland\",\"FR\":\"France\",\"GF\":\"French Guiana\",\"PF\":\"French Polynesia\",\"TF\":\"French Southern Territories\",\"GA\":\"Gabon\",\"GM\":\"Gambia\",\"GE\":\"Georgia\",\"DE\":\"Germany\",\"GH\":\"Ghana\",\"GI\":\"Gibraltar\",\"GR\":\"Greece\",\"GL\":\"Greenland\",\"GD\":\"Grenada\",\"GP\":\"Guadeloupe\",\"GU\":\"Guam\",\"GT\":\"Guatemala\",\"GG\":\"Guernsey\",\"GN\":\"Guinea\",\"GW\":\"Guinea-Bissau\",\"GY\":\"Guyana\",\"HT\":\"Haiti\",\"HM\":\"Heard Island and McDonald Islands\",\"HN\":\"Honduras\",\"HK\":\"Hong Kong\",\"HU\":\"Hungary\",\"IS\":\"Iceland\",\"IN\":\"India\",\"ID\":\"Indonesia\",\"IR\":\"Iran, Islamic Republic of\",\"IQ\":\"Iraq\",\"IE\":\"Ireland\",\"IL\":\"Israel\",\"IT\":\"Italy\",\"JM\":\"Jamaica\",\"JP\":\"Japan\",\"JE\":\"Jersey\",\"JO\":\"Jordan\",\"KZ\":\"Kazakhstan\",\"KE\":\"Kenya\",\"KI\":\"Kiribati\",\"KR\":\"Korea, Republic of\",\"XK\":\"Kosovo, Republic of\",\"KW\":\"Kuwait\",\"KG\":\"Kyrgyzstan\",\"LA\":\"Lao People's Democratic Republic\",\"LV\":\"Latvia\",\"LB\":\"Lebanon\",\"LS\":\"Lesotho\",\"LR\":\"Liberia\",\"LY\":\"Libya\",\"LI\":\"Liechtenstein\",\"LT\":\"Lithuania\",\"LU\":\"Luxembourg\",\"MO\":\"Macao\",\"MK\":\"Macedonia, the former Yugoslav Republic of\",\"MG\":\"Madagascar\",\"MW\":\"Malawi\",\"MY\":\"Malaysia\",\"MV\":\"Maldives\",\"ML\":\"Mali\",\"MT\":\"Malta\",\"MH\":\"Marshall Islands\",\"MQ\":\"Martinique\",\"MR\":\"Mauritania\",\"MU\":\"Mauritius\",\"YT\":\"Mayotte\",\"MX\":\"Mexico\",\"FM\":\"Micronesia, Federated States of\",\"MD\":\"Moldova, Republic of\",\"MC\":\"Monaco\",\"MN\":\"Mongolia\",\"ME\":\"Montenegro\",\"MS\":\"Montserrat\",\"MA\":\"Morocco\",\"MZ\":\"Mozambique\",\"MM\":\"Myanmar\",\"NA\":\"Namibia\",\"NR\":\"Nauru\",\"NP\":\"Nepal\",\"NL\":\"Netherlands\",\"AN\":\"Netherlands Antilles\",\"NC\":\"New Caledonia\",\"NZ\":\"New Zealand\",\"NI\":\"Nicaragua\",\"NE\":\"Niger\",\"NG\":\"Nigeria\",\"NU\":\"Niue\",\"NF\":\"Norfolk Island\",\"KP\":\"Korea, Democratic People's Republic of\",\"MP\":\"Northern Mariana Islands\",\"NO\":\"Norway\",\"OM\":\"Oman\",\"PK\":\"Pakistan\",\"PW\":\"Palau\",\"PS\":\"Palestine, State of\",\"PA\":\"Panama\",\"PG\":\"Papua New Guinea\",\"PY\":\"Paraguay\",\"PE\":\"Peru\",\"PH\":\"Philippines\",\"PN\":\"Pitcairn\",\"PL\":\"Poland\",\"PT\":\"Portugal\",\"PR\":\"Puerto Rico\",\"QA\":\"Qatar\",\"RE\":\"Réunion\",\"RO\":\"Romania\",\"RU\":\"Russian Federation\",\"RW\":\"Rwanda\",\"SH\":\"Saint Helena, Ascension and Tristan da Cunha\",\"KN\":\"Saint Kitts and Nevis\",\"LC\":\"Saint Lucia\",\"PM\":\"Saint Pierre and Miquelon\",\"VC\":\"Saint Vincent and the Grenadines\",\"WS\":\"Samoa\",\"SM\":\"San Marino\",\"ST\":\"São Tomé and PrÃncipe\",\"SA\":\"Saudi Arabia\",\"SN\":\"Senegal\",\"RS\":\"Serbia\",\"SC\":\"Seychelles\",\"SL\":\"Sierra Leone\",\"SG\":\"Singapore\",\"SK\":\"Slovakia\",\"SI\":\"Slovenia\",\"SB\":\"Solomon Islands\",\"SO\":\"Somalia\",\"ZA\":\"South Africa\",\"GS\":\"South Georgia and the South Sandwich Islands\",\"SS\":\"South Sudan\",\"ES\":\"Spain\",\"LK\":\"Sri Lanka\",\"SD\":\"Sudan\",\"SR\":\"Suriname\",\"SJ\":\"Svalbard and Jan Mayen\",\"SZ\":\"Swaziland\",\"SE\":\"Sweden\",\"CH\":\"Switzerland\",\"SY\":\"Syrian Arab Republic\",\"TW\":\"Taiwan\",\"TJ\":\"Tajikistan\",\"TZ\":\"Tanzania, United Republic of\",\"TH\":\"Thailand\",\"TG\":\"Togo\",\"TK\":\"Tokelau\",\"TO\":\"Tonga\",\"TT\":\"Trinidad and Tobago\",\"TN\":\"Tunisia\",\"TR\":\"Turkey\",\"TM\":\"Turkmenistan\",\"TC\":\"Turks and Caicos Islands\",\"TV\":\"Tuvalu\",\"VI\":\"Virgin Islands, U.S.\",\"UG\":\"Uganda\",\"UA\":\"Ukraine\",\"AE\":\"United Arab Emirates\",\"GB\":\"United Kingdom\",\"US\":\"United States\",\"UM\":\"United States Minor Outlying Islands\",\"UY\":\"Uruguay\",\"UZ\":\"Uzbekistan\",\"VU\":\"Vanuatu\",\"VA\":\"Holy See (Vatican City State)\",\"VE\":\"Venezuela, Bolivarian Republic of\",\"VN\":\"Viet Nam\",\"WF\":\"Wallis and Futuna\",\"EH\":\"Western Sahara\",\"YE\":\"Yemen\",\"ZM\":\"Zambia\",\"ZW\":\"Zimbabwe\"}\n\n/***/ }),\n/* 496 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/* WEBPACK VAR INJECTION */(function(module) {var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;\n\nvar _stringify = __webpack_require__(77);\n\nvar _stringify2 = _interopRequireDefault(_stringify);\n\nvar _from = __webpack_require__(497);\n\nvar _from2 = _interopRequireDefault(_from);\n\nvar _setPrototypeOf = __webpack_require__(501);\n\nvar _setPrototypeOf2 = _interopRequireDefault(_setPrototypeOf);\n\nvar _defineProperties = __webpack_require__(505);\n\nvar _defineProperties2 = _interopRequireDefault(_defineProperties);\n\nvar _getOwnPropertySymbols = __webpack_require__(508);\n\nvar _getOwnPropertySymbols2 = _interopRequireDefault(_getOwnPropertySymbols);\n\nvar _getPrototypeOf = __webpack_require__(510);\n\nvar _getPrototypeOf2 = _interopRequireDefault(_getPrototypeOf);\n\nvar _keys = __webpack_require__(171);\n\nvar _keys2 = _interopRequireDefault(_keys);\n\nvar _promise = __webpack_require__(172);\n\nvar _promise2 = _interopRequireDefault(_promise);\n\nvar _getOwnPropertyNames = __webpack_require__(526);\n\nvar _getOwnPropertyNames2 = _interopRequireDefault(_getOwnPropertyNames);\n\nvar _iterator = __webpack_require__(219);\n\nvar _iterator2 = _interopRequireDefault(_iterator);\n\nvar _getOwnPropertyDescriptor = __webpack_require__(529);\n\nvar _getOwnPropertyDescriptor2 = _interopRequireDefault(_getOwnPropertyDescriptor);\n\nvar _create = __webpack_require__(532);\n\nvar _create2 = _interopRequireDefault(_create);\n\nvar _toStringTag = __webpack_require__(535);\n\nvar _toStringTag2 = _interopRequireDefault(_toStringTag);\n\nvar _symbol = __webpack_require__(228);\n\nvar _symbol2 = _interopRequireDefault(_symbol);\n\nvar _defineProperty = __webpack_require__(167);\n\nvar _defineProperty2 = _interopRequireDefault(_defineProperty);\n\nvar _typeof2 = __webpack_require__(89);\n\nvar _typeof3 = _interopRequireDefault(_typeof2);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n!function (t, r) {\n \"object\" == ( false ? \"undefined\" : (0, _typeof3.default)(exports)) && \"object\" == ( false ? \"undefined\" : (0, _typeof3.default)(module)) ? module.exports = r() : true ? !(__WEBPACK_AMD_DEFINE_ARRAY__ = [], __WEBPACK_AMD_DEFINE_FACTORY__ = (r),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)) : \"object\" == (typeof exports === \"undefined\" ? \"undefined\" : (0, _typeof3.default)(exports)) ? exports.idx = r() : t.idx = r();\n}(window, function () {\n return function (t) {\n var r = {};function n(e) {\n if (r[e]) return r[e].exports;var o = r[e] = { i: e, l: !1, exports: {} };return t[e].call(o.exports, o, o.exports, n), o.l = !0, o.exports;\n }return n.m = t, n.c = r, n.d = function (t, r, e) {\n n.o(t, r) || (0, _defineProperty2.default)(t, r, { enumerable: !0, get: e });\n }, n.r = function (t) {\n \"undefined\" != typeof _symbol2.default && _toStringTag2.default && (0, _defineProperty2.default)(t, _toStringTag2.default, { value: \"Module\" }), Object.defineProperty(t, \"__esModule\", { value: !0 });\n }, n.t = function (t, r) {\n if (1 & r && (t = n(t)), 8 & r) return t;if (4 & r && \"object\" == (typeof t === \"undefined\" ? \"undefined\" : (0, _typeof3.default)(t)) && t && t.__esModule) return t;var e = (0, _create2.default)(null);if (n.r(e), Object.defineProperty(e, \"default\", { enumerable: !0, value: t }), 2 & r && \"string\" != typeof t) for (var o in t) {\n n.d(e, o, function (r) {\n return t[r];\n }.bind(null, o));\n }return e;\n }, n.n = function (t) {\n var r = t && t.__esModule ? function () {\n return t.default;\n } : function () {\n return t;\n };return n.d(r, \"a\", r), r;\n }, n.o = function (t, r) {\n return Object.prototype.hasOwnProperty.call(t, r);\n }, n.p = \"\", n(n.s = 234);\n }([function (t, r, n) {\n \"use strict\";\n var e = n(3),\n o = n(28).f,\n i = n(82),\n a = n(5),\n u = n(44),\n c = n(11),\n s = n(10),\n f = function f(t) {\n var r = function r(_r, n, e) {\n if (this instanceof t) {\n switch (arguments.length) {case 0:\n return new t();case 1:\n return new t(_r);case 2:\n return new t(_r, n);}return new t(_r, n, e);\n }return t.apply(this, arguments);\n };return r.prototype = t.prototype, r;\n };t.exports = function (t, r) {\n var n,\n p,\n l,\n h,\n v,\n y,\n d,\n m,\n g = t.target,\n x = t.global,\n b = t.stat,\n w = t.proto,\n O = x ? e : b ? e[g] : (e[g] || {}).prototype,\n j = x ? a : a[g] || (a[g] = {}),\n S = j.prototype;for (l in r) {\n n = !i(x ? l : g + (b ? \".\" : \"#\") + l, t.forced) && O && s(O, l), v = j[l], n && (y = t.noTargetGet ? (m = o(O, l)) && m.value : O[l]), h = n && y ? y : r[l], n && (typeof v === \"undefined\" ? \"undefined\" : (0, _typeof3.default)(v)) == (typeof h === \"undefined\" ? \"undefined\" : (0, _typeof3.default)(h)) || (d = t.bind && n ? u(h, e) : t.wrap && n ? f(h) : w && \"function\" == typeof h ? u(Function.call, h) : h, (t.sham || h && h.sham || v && v.sham) && c(d, \"sham\", !0), j[l] = d, w && (s(a, p = g + \"Prototype\") || c(a, p, {}), a[p][l] = h, t.real && S && !S[l] && c(S, l, h)));\n }\n };\n }, function (t, r, n) {\n var e = n(5),\n o = n(10),\n i = n(73),\n a = n(14).f;t.exports = function (t) {\n var r = e.Symbol || (e.Symbol = {});o(r, t) || a(r, t, { value: i.f(t) });\n };\n }, function (t, r, n) {\n var e = n(3),\n o = n(62),\n i = n(10),\n a = n(63),\n u = n(66),\n c = n(84),\n s = o(\"wks\"),\n f = e.Symbol,\n p = c ? f : f && f.withoutSetter || a;t.exports = function (t) {\n return i(s, t) || (u && i(f, t) ? s[t] = f[t] : s[t] = p(\"Symbol.\" + t)), s[t];\n };\n }, function (t, r, n) {\n (function (r) {\n var n = function n(t) {\n return t && t.Math == Math && t;\n };t.exports = n(\"object\" == (typeof globalThis === \"undefined\" ? \"undefined\" : (0, _typeof3.default)(globalThis)) && globalThis) || n(\"object\" == (typeof window === \"undefined\" ? \"undefined\" : (0, _typeof3.default)(window)) && window) || n(\"object\" == (typeof self === \"undefined\" ? \"undefined\" : (0, _typeof3.default)(self)) && self) || n(\"object\" == (typeof r === \"undefined\" ? \"undefined\" : (0, _typeof3.default)(r)) && r) || Function(\"return this\")();\n }).call(this, n(118));\n }, function (t, r) {\n t.exports = function (t) {\n try {\n return !!t();\n } catch (t) {\n return !0;\n }\n };\n }, function (t, r) {\n t.exports = {};\n }, function (t, r, n) {\n var e = n(4);t.exports = !e(function () {\n return 7 != Object.defineProperty({}, 1, { get: function get() {\n return 7;\n } })[1];\n });\n }, function (t, r, n) {\n t.exports = n(114);\n }, function (t, r, n) {\n t.exports = n(115);\n }, function (t, r, n) {\n var e = n(12);t.exports = function (t) {\n if (!e(t)) throw TypeError(String(t) + \" is not an object\");return t;\n };\n }, function (t, r) {\n var n = {}.hasOwnProperty;t.exports = function (t, r) {\n return n.call(t, r);\n };\n }, function (t, r, n) {\n var e = n(6),\n o = n(14),\n i = n(19);t.exports = e ? function (t, r, n) {\n return o.f(t, r, i(1, n));\n } : function (t, r, n) {\n return t[r] = n, t;\n };\n }, function (t, r) {\n t.exports = function (t) {\n return \"object\" == (typeof t === \"undefined\" ? \"undefined\" : (0, _typeof3.default)(t)) ? null !== t : \"function\" == typeof t;\n };\n }, function (t, r, n) {\n t.exports = n(161);\n }, function (t, r, n) {\n var e = n(6),\n o = n(79),\n i = n(9),\n a = n(41),\n u = _defineProperty2.default;r.f = e ? u : function (t, r, n) {\n if (i(t), r = a(r, !0), i(n), o) try {\n return u(t, r, n);\n } catch (t) {}if (\"get\" in n || \"set\" in n) throw TypeError(\"Accessors not supported\");return \"value\" in n && (t[r] = n.value), t;\n };\n }, function (t, r, n) {\n var e = n(81),\n o = n(60);t.exports = function (t) {\n return e(o(t));\n };\n }, function (t, r, n) {\n var e = n(5),\n o = n(3),\n i = function i(t) {\n return \"function\" == typeof t ? t : void 0;\n };t.exports = function (t, r) {\n return arguments.length < 2 ? i(e[t]) || i(o[t]) : e[t] && e[t][r] || o[t] && o[t][r];\n };\n }, function (t, r, n) {\n var e = n(137);function o(t, r, n, o, i, a, u) {\n try {\n var c = t[a](u),\n s = c.value;\n } catch (t) {\n return void n(t);\n }c.done ? r(s) : e.resolve(s).then(o, i);\n }t.exports = function (t) {\n return function () {\n var r = this,\n n = arguments;return new e(function (e, i) {\n var a = t.apply(r, n);function u(t) {\n o(a, e, i, u, c, \"next\", t);\n }function c(t) {\n o(a, e, i, u, c, \"throw\", t);\n }u(void 0);\n });\n };\n };\n }, function (t, r) {\n t.exports = {};\n }, function (t, r) {\n t.exports = function (t, r) {\n return { enumerable: !(1 & t), configurable: !(2 & t), writable: !(4 & t), value: r };\n };\n }, function (t, r) {\n t.exports = !0;\n }, function (t, r) {\n var n = {}.toString;t.exports = function (t) {\n return n.call(t).slice(8, -1);\n };\n }, function (t, r) {\n t.exports = function (t) {\n if (\"function\" != typeof t) throw TypeError(String(t) + \" is not a function\");return t;\n };\n }, function (t, r, n) {\n var e = n(69),\n o = n(14).f,\n i = n(11),\n a = n(10),\n u = n(123),\n c = n(2)(\"toStringTag\");t.exports = function (t, r, n, s) {\n if (t) {\n var f = n ? t : t.prototype;a(f, c) || o(f, c, { configurable: !0, value: r }), s && !e && i(f, \"toString\", u);\n }\n };\n }, function (t, r, n) {\n t.exports = n(171);\n }, function (t, r, n) {\n t.exports = n(175);\n }, function (t, r, n) {\n t.exports = n(178);\n }, function (t, r, n) {\n var e,\n o,\n i,\n a = n(117),\n u = n(3),\n c = n(12),\n s = n(11),\n f = n(10),\n p = n(42),\n l = n(43),\n h = u.WeakMap;if (a) {\n var v = new h(),\n y = v.get,\n d = v.has,\n m = v.set;e = function e(t, r) {\n return m.call(v, t, r), r;\n }, o = function o(t) {\n return y.call(v, t) || {};\n }, i = function i(t) {\n return d.call(v, t);\n };\n } else {\n var g = p(\"state\");l[g] = !0, e = function e(t, r) {\n return s(t, g, r), r;\n }, o = function o(t) {\n return f(t, g) ? t[g] : {};\n }, i = function i(t) {\n return f(t, g);\n };\n }t.exports = { set: e, get: o, has: i, enforce: function enforce(t) {\n return i(t) ? o(t) : e(t, {});\n }, getterFor: function getterFor(t) {\n return function (r) {\n var n;if (!c(r) || (n = o(r)).type !== t) throw TypeError(\"Incompatible receiver, \" + t + \" required\");return n;\n };\n } };\n }, function (t, r, n) {\n var e = n(6),\n o = n(64),\n i = n(19),\n a = n(15),\n u = n(41),\n c = n(10),\n s = n(79),\n f = _getOwnPropertyDescriptor2.default;r.f = e ? f : function (t, r) {\n if (t = a(t), r = u(r, !0), s) try {\n return f(t, r);\n } catch (t) {}if (c(t, r)) return i(!o.f.call(t, r), t[r]);\n };\n }, function (t, r, n) {\n var e = n(60);t.exports = function (t) {\n return Object(e(t));\n };\n }, function (t, r, n) {\n var e = n(69),\n o = n(21),\n i = n(2)(\"toStringTag\"),\n a = \"Arguments\" == o(function () {\n return arguments;\n }());t.exports = e ? o : function (t) {\n var r, n, e;return void 0 === t ? \"Undefined\" : null === t ? \"Null\" : \"string\" == typeof (n = function (t, r) {\n try {\n return t[r];\n } catch (t) {}\n }(r = Object(t), i)) ? n : a ? o(r) : \"Object\" == (e = o(r)) && \"function\" == typeof r.callee ? \"Arguments\" : e;\n };\n }, function (t, r, n) {\n var e = n(11);t.exports = function (t, r, n, o) {\n o && o.enumerable ? t[r] = n : e(t, r, n);\n };\n }, function (t, r, n) {\n n(90);var e = n(126),\n o = n(3),\n i = n(30),\n a = n(11),\n u = n(18),\n c = n(2)(\"toStringTag\");for (var s in e) {\n var f = o[s],\n p = f && f.prototype;p && i(p) !== c && a(p, c, s), u[s] = u.Array;\n }\n }, function (t, r, n) {\n var e = n(9),\n o = n(131),\n i = n(46),\n a = n(44),\n u = n(92),\n c = n(132),\n s = function s(t, r) {\n this.stopped = t, this.result = r;\n };(t.exports = function (t, r, n, f, p) {\n var l,\n h,\n v,\n y,\n d,\n m,\n g,\n x = a(r, n, f ? 2 : 1);if (p) l = t;else {\n if (\"function\" != typeof (h = u(t))) throw TypeError(\"Target is not iterable\");if (o(h)) {\n for (v = 0, y = i(t.length); y > v; v++) {\n if ((d = f ? x(e(g = t[v])[0], g[1]) : x(t[v])) && d instanceof s) return d;\n }return new s(!1);\n }l = h.call(t);\n }for (m = l.next; !(g = m.call(l)).done;) {\n if (\"object\" == (0, _typeof3.default)(d = c(l, x, g.value, f)) && d && d instanceof s) return d;\n }return new s(!1);\n }).stop = function (t) {\n return new s(!0, t);\n };\n }, function (t, r, n) {\n \"use strict\";\n var e = n(22),\n o = function o(t) {\n var r, n;this.promise = new t(function (t, e) {\n if (void 0 !== r || void 0 !== n) throw TypeError(\"Bad Promise constructor\");r = t, n = e;\n }), this.resolve = e(r), this.reject = e(n);\n };t.exports.f = function (t) {\n return new o(t);\n };\n }, function (t, r, n) {\n var e = n(5);t.exports = function (t) {\n return e[t + \"Prototype\"];\n };\n }, function (t, r, n) {\n t.exports = n(143);\n }, function (t, r) {\n var n = function (t) {\n function r() {\n this.fetch = !1, this.DOMException = t.DOMException;\n }return r.prototype = t, new r();\n }(\"undefined\" != typeof self ? self : this);!function (t) {\n !function (r) {\n var n = \"URLSearchParams\" in t,\n e = \"Symbol\" in t && \"iterator\" in _symbol2.default,\n o = \"FileReader\" in t && \"Blob\" in t && function () {\n try {\n return new Blob(), !0;\n } catch (t) {\n return !1;\n }\n }(),\n i = \"FormData\" in t,\n a = \"ArrayBuffer\" in t;if (a) var u = [\"[object Int8Array]\", \"[object Uint8Array]\", \"[object Uint8ClampedArray]\", \"[object Int16Array]\", \"[object Uint16Array]\", \"[object Int32Array]\", \"[object Uint32Array]\", \"[object Float32Array]\", \"[object Float64Array]\"],\n c = ArrayBuffer.isView || function (t) {\n return t && u.indexOf(Object.prototype.toString.call(t)) > -1;\n };function s(t) {\n if (\"string\" != typeof t && (t = String(t)), /[^a-z0-9\\-#$%&'*+.^_`|~]/i.test(t)) throw new TypeError(\"Invalid character in header field name\");return t.toLowerCase();\n }function f(t) {\n return \"string\" != typeof t && (t = String(t)), t;\n }function p(t) {\n var r = { next: function next() {\n var r = t.shift();return { done: void 0 === r, value: r };\n } };return e && (r[_iterator2.default] = function () {\n return r;\n }), r;\n }function l(t) {\n this.map = {}, t instanceof l ? t.forEach(function (t, r) {\n this.append(r, t);\n }, this) : Array.isArray(t) ? t.forEach(function (t) {\n this.append(t[0], t[1]);\n }, this) : t && (0, _getOwnPropertyNames2.default)(t).forEach(function (r) {\n this.append(r, t[r]);\n }, this);\n }function h(t) {\n if (t.bodyUsed) return _promise2.default.reject(new TypeError(\"Already read\"));t.bodyUsed = !0;\n }function v(t) {\n return new _promise2.default(function (r, n) {\n t.onload = function () {\n r(t.result);\n }, t.onerror = function () {\n n(t.error);\n };\n });\n }function y(t) {\n var r = new FileReader(),\n n = v(r);return r.readAsArrayBuffer(t), n;\n }function d(t) {\n if (t.slice) return t.slice(0);var r = new Uint8Array(t.byteLength);return r.set(new Uint8Array(t)), r.buffer;\n }function m() {\n return this.bodyUsed = !1, this._initBody = function (t) {\n var r;this._bodyInit = t, t ? \"string\" == typeof t ? this._bodyText = t : o && Blob.prototype.isPrototypeOf(t) ? this._bodyBlob = t : i && FormData.prototype.isPrototypeOf(t) ? this._bodyFormData = t : n && URLSearchParams.prototype.isPrototypeOf(t) ? this._bodyText = t.toString() : a && o && (r = t) && DataView.prototype.isPrototypeOf(r) ? (this._bodyArrayBuffer = d(t.buffer), this._bodyInit = new Blob([this._bodyArrayBuffer])) : a && (ArrayBuffer.prototype.isPrototypeOf(t) || c(t)) ? this._bodyArrayBuffer = d(t) : this._bodyText = t = Object.prototype.toString.call(t) : this._bodyText = \"\", this.headers.get(\"content-type\") || (\"string\" == typeof t ? this.headers.set(\"content-type\", \"text/plain;charset=UTF-8\") : this._bodyBlob && this._bodyBlob.type ? this.headers.set(\"content-type\", this._bodyBlob.type) : n && URLSearchParams.prototype.isPrototypeOf(t) && this.headers.set(\"content-type\", \"application/x-www-form-urlencoded;charset=UTF-8\"));\n }, o && (this.blob = function () {\n var t = h(this);if (t) return t;if (this._bodyBlob) return _promise2.default.resolve(this._bodyBlob);if (this._bodyArrayBuffer) return _promise2.default.resolve(new Blob([this._bodyArrayBuffer]));if (this._bodyFormData) throw new Error(\"could not read FormData body as blob\");return _promise2.default.resolve(new Blob([this._bodyText]));\n }, this.arrayBuffer = function () {\n return this._bodyArrayBuffer ? h(this) || _promise2.default.resolve(this._bodyArrayBuffer) : this.blob().then(y);\n }), this.text = function () {\n var t,\n r,\n n,\n e = h(this);if (e) return e;if (this._bodyBlob) return t = this._bodyBlob, r = new FileReader(), n = v(r), r.readAsText(t), n;if (this._bodyArrayBuffer) return _promise2.default.resolve(function (t) {\n for (var r = new Uint8Array(t), n = new Array(r.length), e = 0; e < r.length; e++) {\n n[e] = String.fromCharCode(r[e]);\n }return n.join(\"\");\n }(this._bodyArrayBuffer));if (this._bodyFormData) throw new Error(\"could not read FormData body as text\");return _promise2.default.resolve(this._bodyText);\n }, i && (this.formData = function () {\n return this.text().then(b);\n }), this.json = function () {\n return this.text().then(JSON.parse);\n }, this;\n }l.prototype.append = function (t, r) {\n t = s(t), r = f(r);var n = this.map[t];this.map[t] = n ? n + \", \" + r : r;\n }, l.prototype.delete = function (t) {\n delete this.map[s(t)];\n }, l.prototype.get = function (t) {\n return t = s(t), this.has(t) ? this.map[t] : null;\n }, l.prototype.has = function (t) {\n return this.map.hasOwnProperty(s(t));\n }, l.prototype.set = function (t, r) {\n this.map[s(t)] = f(r);\n }, l.prototype.forEach = function (t, r) {\n for (var n in this.map) {\n this.map.hasOwnProperty(n) && t.call(r, this.map[n], n, this);\n }\n }, l.prototype.keys = function () {\n var t = [];return this.forEach(function (r, n) {\n t.push(n);\n }), p(t);\n }, l.prototype.values = function () {\n var t = [];return this.forEach(function (r) {\n t.push(r);\n }), p(t);\n }, l.prototype.entries = function () {\n var t = [];return this.forEach(function (r, n) {\n t.push([n, r]);\n }), p(t);\n }, e && (l.prototype[_iterator2.default] = l.prototype.entries);var g = [\"DELETE\", \"GET\", \"HEAD\", \"OPTIONS\", \"POST\", \"PUT\"];function x(t, r) {\n var n,\n e,\n o = (r = r || {}).body;if (t instanceof x) {\n if (t.bodyUsed) throw new TypeError(\"Already read\");this.url = t.url, this.credentials = t.credentials, r.headers || (this.headers = new l(t.headers)), this.method = t.method, this.mode = t.mode, this.signal = t.signal, o || null == t._bodyInit || (o = t._bodyInit, t.bodyUsed = !0);\n } else this.url = String(t);if (this.credentials = r.credentials || this.credentials || \"same-origin\", !r.headers && this.headers || (this.headers = new l(r.headers)), this.method = (n = r.method || this.method || \"GET\", e = n.toUpperCase(), g.indexOf(e) > -1 ? e : n), this.mode = r.mode || this.mode || null, this.signal = r.signal || this.signal, this.referrer = null, (\"GET\" === this.method || \"HEAD\" === this.method) && o) throw new TypeError(\"Body not allowed for GET or HEAD requests\");this._initBody(o);\n }function b(t) {\n var r = new FormData();return t.trim().split(\"&\").forEach(function (t) {\n if (t) {\n var n = t.split(\"=\"),\n e = n.shift().replace(/\\+/g, \" \"),\n o = n.join(\"=\").replace(/\\+/g, \" \");r.append(decodeURIComponent(e), decodeURIComponent(o));\n }\n }), r;\n }function w(t, r) {\n r || (r = {}), this.type = \"default\", this.status = void 0 === r.status ? 200 : r.status, this.ok = this.status >= 200 && this.status < 300, this.statusText = \"statusText\" in r ? r.statusText : \"OK\", this.headers = new l(r.headers), this.url = r.url || \"\", this._initBody(t);\n }x.prototype.clone = function () {\n return new x(this, { body: this._bodyInit });\n }, m.call(x.prototype), m.call(w.prototype), w.prototype.clone = function () {\n return new w(this._bodyInit, { status: this.status, statusText: this.statusText, headers: new l(this.headers), url: this.url });\n }, w.error = function () {\n var t = new w(null, { status: 0, statusText: \"\" });return t.type = \"error\", t;\n };var O = [301, 302, 303, 307, 308];w.redirect = function (t, r) {\n if (-1 === O.indexOf(r)) throw new RangeError(\"Invalid status code\");return new w(null, { status: r, headers: { location: t } });\n }, r.DOMException = t.DOMException;try {\n new r.DOMException();\n } catch (t) {\n r.DOMException = function (t, r) {\n this.message = t, this.name = r;var n = Error(t);this.stack = n.stack;\n }, r.DOMException.prototype = (0, _create2.default)(Error.prototype), r.DOMException.prototype.constructor = r.DOMException;\n }function j(t, n) {\n return new _promise2.default(function (e, i) {\n var a = new x(t, n);if (a.signal && a.signal.aborted) return i(new r.DOMException(\"Aborted\", \"AbortError\"));var u = new XMLHttpRequest();function c() {\n u.abort();\n }u.onload = function () {\n var t,\n r,\n n = { status: u.status, statusText: u.statusText, headers: (t = u.getAllResponseHeaders() || \"\", r = new l(), t.replace(/\\r?\\n[\\t ]+/g, \" \").split(/\\r?\\n/).forEach(function (t) {\n var n = t.split(\":\"),\n e = n.shift().trim();if (e) {\n var o = n.join(\":\").trim();r.append(e, o);\n }\n }), r) };n.url = \"responseURL\" in u ? u.responseURL : n.headers.get(\"X-Request-URL\");var o = \"response\" in u ? u.response : u.responseText;e(new w(o, n));\n }, u.onerror = function () {\n i(new TypeError(\"Network request failed\"));\n }, u.ontimeout = function () {\n i(new TypeError(\"Network request failed\"));\n }, u.onabort = function () {\n i(new r.DOMException(\"Aborted\", \"AbortError\"));\n }, u.open(a.method, a.url, !0), \"include\" === a.credentials ? u.withCredentials = !0 : \"omit\" === a.credentials && (u.withCredentials = !1), \"responseType\" in u && o && (u.responseType = \"blob\"), a.headers.forEach(function (t, r) {\n u.setRequestHeader(r, t);\n }), a.signal && (a.signal.addEventListener(\"abort\", c), u.onreadystatechange = function () {\n 4 === u.readyState && a.signal.removeEventListener(\"abort\", c);\n }), u.send(void 0 === a._bodyInit ? null : a._bodyInit);\n });\n }j.polyfill = !0, t.fetch || (t.fetch = j, t.Headers = l, t.Request = x, t.Response = w), r.Headers = l, r.Request = x, r.Response = w, r.fetch = j;\n }({});\n }(n), delete n.fetch.polyfill, (r = n.fetch).default = n.fetch, r.fetch = n.fetch, r.Headers = n.Headers, r.Request = n.Request, r.Response = n.Response, t.exports = r;\n }, function (t, r, n) {\n t.exports = n(221);\n }, function (t, r, n) {\n t.exports = n(222);\n }, function (t, r, n) {\n \"use strict\";\n var e = n(116).charAt,\n o = n(27),\n i = n(80),\n a = o.set,\n u = o.getterFor(\"String Iterator\");i(String, \"String\", function (t) {\n a(this, { type: \"String Iterator\", string: String(t), index: 0 });\n }, function () {\n var t,\n r = u(this),\n n = r.string,\n o = r.index;return o >= n.length ? { value: void 0, done: !0 } : (t = e(n, o), r.index += t.length, { value: t, done: !1 });\n });\n }, function (t, r, n) {\n var e = n(12);t.exports = function (t, r) {\n if (!e(t)) return t;var n, o;if (r && \"function\" == typeof (n = t.toString) && !e(o = n.call(t))) return o;if (\"function\" == typeof (n = t.valueOf) && !e(o = n.call(t))) return o;if (!r && \"function\" == typeof (n = t.toString) && !e(o = n.call(t))) return o;throw TypeError(\"Can't convert object to primitive value\");\n };\n }, function (t, r, n) {\n var e = n(62),\n o = n(63),\n i = e(\"keys\");t.exports = function (t) {\n return i[t] || (i[t] = o(t));\n };\n }, function (t, r) {\n t.exports = {};\n }, function (t, r, n) {\n var e = n(22);t.exports = function (t, r, n) {\n if (e(t), void 0 === r) return t;switch (n) {case 0:\n return function () {\n return t.call(r);\n };case 1:\n return function (n) {\n return t.call(r, n);\n };case 2:\n return function (n, e) {\n return t.call(r, n, e);\n };case 3:\n return function (n, e, o) {\n return t.call(r, n, e, o);\n };}return function () {\n return t.apply(r, arguments);\n };\n };\n }, function (t, r, n) {\n var e = n(86),\n o = n(68);t.exports = _keys2.default || function (t) {\n return e(t, o);\n };\n }, function (t, r, n) {\n var e = n(59),\n o = Math.min;t.exports = function (t) {\n return t > 0 ? o(e(t), 9007199254740991) : 0;\n };\n }, function (t, r) {\n t.exports = function (t) {\n try {\n return { error: !1, value: t() };\n } catch (t) {\n return { error: !0, value: t };\n }\n };\n }, function (t, r, n) {\n var e = n(21);t.exports = Array.isArray || function (t) {\n return \"Array\" == e(t);\n };\n }, function (t, r, n) {\n var e = n(44),\n o = n(81),\n i = n(29),\n a = n(46),\n u = n(100),\n c = [].push,\n s = function s(t) {\n var r = 1 == t,\n n = 2 == t,\n s = 3 == t,\n f = 4 == t,\n p = 6 == t,\n l = 5 == t || p;return function (h, v, y, d) {\n for (var m, g, x = i(h), b = o(x), w = e(v, y, 3), O = a(b.length), j = 0, S = d || u, E = r ? S(h, O) : n ? S(h, 0) : void 0; O > j; j++) {\n if ((l || j in b) && (g = w(m = b[j], j, x), t)) if (r) E[j] = g;else if (g) switch (t) {case 3:\n return !0;case 5:\n return m;case 6:\n return j;case 2:\n c.call(E, m);} else if (f) return !1;\n }return p ? -1 : s || f ? f : E;\n };\n };t.exports = { forEach: s(0), map: s(1), filter: s(2), some: s(3), every: s(4), find: s(5), findIndex: s(6) };\n }, function (t, r, n) {\n var e = n(6),\n o = n(4),\n i = n(10),\n a = _defineProperty2.default,\n u = {},\n c = function c(t) {\n throw t;\n };t.exports = function (t, r) {\n if (i(u, t)) return u[t];r || (r = {});var n = [][t],\n s = !!i(r, \"ACCESSORS\") && r.ACCESSORS,\n f = i(r, 0) ? r[0] : c,\n p = i(r, 1) ? r[1] : void 0;return u[t] = !!n && !o(function () {\n if (s && !e) return !0;var t = { length: -1 };s ? a(t, 1, { enumerable: !0, get: c }) : t[1] = 1, n.call(t, f, p);\n });\n };\n }, function (t, r, n) {\n var e = n(146),\n o = n(150),\n i = n(156);t.exports = function (t, r) {\n return e(t) || o(t, r) || i();\n };\n }, function (t, r, n) {\n t.exports = n(151);\n }, function (t, r, n) {\n t.exports = n(157);\n }, function (t, r, n) {\n t.exports = n(166);\n }, function (t, r, n) {\n t.exports = n(168);\n }, function (t, r, n) {\n var e = n(183);t.exports = function (t, r, n) {\n return r in t ? e(t, r, { value: n, enumerable: !0, configurable: !0, writable: !0 }) : t[r] = n, t;\n };\n }, function (t, r, n) {\n t.exports = n(226);\n }, function (t, r, n) {\n t.exports = n(230);\n }, function (t, r) {\n var n = Math.ceil,\n e = Math.floor;t.exports = function (t) {\n return isNaN(t = +t) ? 0 : (t > 0 ? e : n)(t);\n };\n }, function (t, r) {\n t.exports = function (t) {\n if (null == t) throw TypeError(\"Can't call method on \" + t);return t;\n };\n }, function (t, r, n) {\n var e = n(3),\n o = n(12),\n i = e.document,\n a = o(i) && o(i.createElement);t.exports = function (t) {\n return a ? i.createElement(t) : {};\n };\n }, function (t, r, n) {\n var e = n(20),\n o = n(78);(t.exports = function (t, r) {\n return o[t] || (o[t] = void 0 !== r ? r : {});\n })(\"versions\", []).push({ version: \"3.6.4\", mode: e ? \"pure\" : \"global\", copyright: \"© 2020 Denis Pushkarev (zloirock.ru)\" });\n }, function (t, r) {\n var n = 0,\n e = Math.random();t.exports = function (t) {\n return \"Symbol(\" + String(void 0 === t ? \"\" : t) + \")_\" + (++n + e).toString(36);\n };\n }, function (t, r, n) {\n \"use strict\";\n var e = {}.propertyIsEnumerable,\n o = _getOwnPropertyDescriptor2.default,\n i = o && !e.call({ 1: 2 }, 1);r.f = i ? function (t) {\n var r = o(this, t);return !!r && r.enumerable;\n } : e;\n }, function (t, r, n) {\n var e = n(10),\n o = n(29),\n i = n(42),\n a = n(121),\n u = i(\"IE_PROTO\"),\n c = Object.prototype;t.exports = a ? _getPrototypeOf2.default : function (t) {\n return t = o(t), e(t, u) ? t[u] : \"function\" == typeof t.constructor && t instanceof t.constructor ? t.constructor.prototype : t instanceof Object ? c : null;\n };\n }, function (t, r, n) {\n var e = n(4);t.exports = !!_getOwnPropertySymbols2.default && !e(function () {\n return !String((0, _symbol2.default)());\n });\n }, function (t, r, n) {\n var e,\n o = n(9),\n i = n(85),\n a = n(68),\n u = n(43),\n c = n(88),\n s = n(61),\n f = n(42),\n p = f(\"IE_PROTO\"),\n l = function l() {},\n h = function h(t) {\n return \"<script>\" + t + \"<\\/script>\";\n },\n _v = function v() {\n try {\n e = document.domain && new ActiveXObject(\"htmlfile\");\n } catch (t) {}var t, r;_v = e ? function (t) {\n t.write(h(\"\")), t.close();var r = t.parentWindow.Object;return t = null, r;\n }(e) : ((r = s(\"iframe\")).style.display = \"none\", c.appendChild(r), r.src = String(\"javascript:\"), (t = r.contentWindow.document).open(), t.write(h(\"document.F=Object\")), t.close(), t.F);for (var n = a.length; n--;) {\n delete _v.prototype[a[n]];\n }return _v();\n };u[p] = !0, t.exports = _create2.default || function (t, r) {\n var n;return null !== t ? (l.prototype = o(t), n = new l(), l.prototype = null, n[p] = t) : n = _v(), void 0 === r ? n : i(n, r);\n };\n }, function (t, r) {\n t.exports = [\"constructor\", \"hasOwnProperty\", \"isPrototypeOf\", \"propertyIsEnumerable\", \"toLocaleString\", \"toString\", \"valueOf\"];\n }, function (t, r, n) {\n var e = {};e[n(2)(\"toStringTag\")] = \"z\", t.exports = \"[object z]\" === String(e);\n }, function (t, r, n) {\n var e,\n o,\n i = n(3),\n a = n(96),\n u = i.process,\n c = u && u.versions,\n s = c && c.v8;s ? o = (e = s.split(\".\"))[0] + e[1] : a && (!(e = a.match(/Edge\\/(\\d+)/)) || e[1] >= 74) && (e = a.match(/Chrome\\/(\\d+)/)) && (o = e[1]), t.exports = o && +o;\n }, function (t, r, n) {\n var e = n(86),\n o = n(68).concat(\"length\", \"prototype\");r.f = _getOwnPropertyNames2.default || function (t) {\n return e(t, o);\n };\n }, function (t, r, n) {\n \"use strict\";\n var e = n(41),\n o = n(14),\n i = n(19);t.exports = function (t, r, n) {\n var a = e(r);a in t ? o.f(t, a, i(0, n)) : t[a] = n;\n };\n }, function (t, r, n) {\n var e = n(2);r.f = e;\n }, function (t, r, n) {\n var e = n(4),\n o = n(2),\n i = n(70),\n a = o(\"species\");t.exports = function (t) {\n return i >= 51 || !e(function () {\n var r = [];return (r.constructor = {})[a] = function () {\n return { foo: 1 };\n }, 1 !== r[t](Boolean).foo;\n });\n };\n }, function (t, r, n) {\n n(76), n(40), n(32), n(127), n(98), n(136);var e = n(5);t.exports = e.Promise;\n }, function (t, r) {}, function (t, r, n) {\n var e = n(78),\n o = Function.toString;\"function\" != typeof e.inspectSource && (e.inspectSource = function (t) {\n return o.call(t);\n }), t.exports = e.inspectSource;\n }, function (t, r, n) {\n var e = n(3),\n o = n(119),\n i = e[\"__core-js_shared__\"] || o(\"__core-js_shared__\", {});t.exports = i;\n }, function (t, r, n) {\n var e = n(6),\n o = n(4),\n i = n(61);t.exports = !e && !o(function () {\n return 7 != Object.defineProperty(i(\"div\"), \"a\", { get: function get() {\n return 7;\n } }).a;\n });\n }, function (t, r, n) {\n \"use strict\";\n var e = n(0),\n o = n(120),\n i = n(65),\n a = n(89),\n u = n(23),\n c = n(11),\n s = n(31),\n f = n(2),\n p = n(20),\n l = n(18),\n h = n(83),\n v = h.IteratorPrototype,\n y = h.BUGGY_SAFARI_ITERATORS,\n d = f(\"iterator\"),\n m = function m() {\n return this;\n };t.exports = function (t, r, n, f, h, g, x) {\n o(n, r, f);var b,\n w,\n O,\n j = function j(t) {\n if (t === h && T) return T;if (!y && t in A) return A[t];switch (t) {case \"keys\":case \"values\":case \"entries\":\n return function () {\n return new n(this, t);\n };}return function () {\n return new n(this);\n };\n },\n S = r + \" Iterator\",\n E = !1,\n A = t.prototype,\n P = A[d] || A[\"@@iterator\"] || h && A[h],\n T = !y && P || j(h),\n _ = \"Array\" == r && A.entries || P;if (_ && (b = i(_.call(new t())), v !== Object.prototype && b.next && (p || i(b) === v || (a ? a(b, v) : \"function\" != typeof b[d] && c(b, d, m)), u(b, S, !0, !0), p && (l[S] = m))), \"values\" == h && P && \"values\" !== P.name && (E = !0, T = function T() {\n return P.call(this);\n }), p && !x || A[d] === T || c(A, d, T), l[r] = T, h) if (w = { values: j(\"values\"), keys: g ? T : j(\"keys\"), entries: j(\"entries\") }, x) for (O in w) {\n !y && !E && O in A || s(A, O, w[O]);\n } else e({ target: r, proto: !0, forced: y || E }, w);return w;\n };\n }, function (t, r, n) {\n var e = n(4),\n o = n(21),\n i = \"\".split;t.exports = e(function () {\n return !Object(\"z\").propertyIsEnumerable(0);\n }) ? function (t) {\n return \"String\" == o(t) ? i.call(t, \"\") : Object(t);\n } : Object;\n }, function (t, r, n) {\n var e = n(4),\n o = /#|\\.prototype\\./,\n i = function i(t, r) {\n var n = u[a(t)];return n == s || n != c && (\"function\" == typeof r ? e(r) : !!r);\n },\n a = i.normalize = function (t) {\n return String(t).replace(o, \".\").toLowerCase();\n },\n u = i.data = {},\n c = i.NATIVE = \"N\",\n s = i.POLYFILL = \"P\";t.exports = i;\n }, function (t, r, n) {\n \"use strict\";\n var e,\n o,\n i,\n a = n(65),\n u = n(11),\n c = n(10),\n s = n(2),\n f = n(20),\n p = s(\"iterator\"),\n l = !1;[].keys && (\"next\" in (i = [].keys()) ? (o = a(a(i))) !== Object.prototype && (e = o) : l = !0), null == e && (e = {}), f || c(e, p) || u(e, p, function () {\n return this;\n }), t.exports = { IteratorPrototype: e, BUGGY_SAFARI_ITERATORS: l };\n }, function (t, r, n) {\n var e = n(66);t.exports = e && !_symbol2.default.sham && \"symbol\" == (0, _typeof3.default)(_iterator2.default);\n }, function (t, r, n) {\n var e = n(6),\n o = n(14),\n i = n(9),\n a = n(45);t.exports = e ? _defineProperties2.default : function (t, r) {\n i(t);for (var n, e = a(r), u = e.length, c = 0; u > c;) {\n o.f(t, n = e[c++], r[n]);\n }return t;\n };\n }, function (t, r, n) {\n var e = n(10),\n o = n(15),\n i = n(87).indexOf,\n a = n(43);t.exports = function (t, r) {\n var n,\n u = o(t),\n c = 0,\n s = [];for (n in u) {\n !e(a, n) && e(u, n) && s.push(n);\n }for (; r.length > c;) {\n e(u, n = r[c++]) && (~i(s, n) || s.push(n));\n }return s;\n };\n }, function (t, r, n) {\n var e = n(15),\n o = n(46),\n i = n(122),\n a = function a(t) {\n return function (r, n, a) {\n var u,\n c = e(r),\n s = o(c.length),\n f = i(a, s);if (t && n != n) {\n for (; s > f;) {\n if ((u = c[f++]) != u) return !0;\n }\n } else for (; s > f; f++) {\n if ((t || f in c) && c[f] === n) return t || f || 0;\n }return !t && -1;\n };\n };t.exports = { includes: a(!0), indexOf: a(!1) };\n }, function (t, r, n) {\n var e = n(16);t.exports = e(\"document\", \"documentElement\");\n }, function (t, r, n) {\n var e = n(9),\n o = n(124);t.exports = _setPrototypeOf2.default || (\"__proto__\" in {} ? function () {\n var t,\n r = !1,\n n = {};try {\n (t = (0, _getOwnPropertyDescriptor2.default)(Object.prototype, \"__proto__\").set).call(n, []), r = n instanceof Array;\n } catch (t) {}return function (n, i) {\n return e(n), o(i), r ? t.call(n, i) : n.__proto__ = i, n;\n };\n }() : void 0);\n }, function (t, r, n) {\n \"use strict\";\n var e = n(15),\n o = n(125),\n i = n(18),\n a = n(27),\n u = n(80),\n c = a.set,\n s = a.getterFor(\"Array Iterator\");t.exports = u(Array, \"Array\", function (t, r) {\n c(this, { type: \"Array Iterator\", target: e(t), index: 0, kind: r });\n }, function () {\n var t = s(this),\n r = t.target,\n n = t.kind,\n e = t.index++;return !r || e >= r.length ? (t.target = void 0, { value: void 0, done: !0 }) : \"keys\" == n ? { value: e, done: !1 } : \"values\" == n ? { value: r[e], done: !1 } : { value: [e, r[e]], done: !1 };\n }, \"values\"), i.Arguments = i.Array, o(\"keys\"), o(\"values\"), o(\"entries\");\n }, function (t, r, n) {\n var e = n(3);t.exports = e.Promise;\n }, function (t, r, n) {\n var e = n(30),\n o = n(18),\n i = n(2)(\"iterator\");t.exports = function (t) {\n if (null != t) return t[i] || t[\"@@iterator\"] || o[e(t)];\n };\n }, function (t, r, n) {\n var e = n(9),\n o = n(22),\n i = n(2)(\"species\");t.exports = function (t, r) {\n var n,\n a = e(t).constructor;return void 0 === a || null == (n = e(a)[i]) ? r : o(n);\n };\n }, function (t, r, n) {\n var e,\n o,\n i,\n a = n(3),\n u = n(4),\n c = n(21),\n s = n(44),\n f = n(88),\n p = n(61),\n l = n(95),\n h = a.location,\n v = a.setImmediate,\n y = a.clearImmediate,\n d = a.process,\n m = a.MessageChannel,\n g = a.Dispatch,\n x = 0,\n b = {},\n w = function w(t) {\n if (b.hasOwnProperty(t)) {\n var r = b[t];delete b[t], r();\n }\n },\n O = function O(t) {\n return function () {\n w(t);\n };\n },\n j = function j(t) {\n w(t.data);\n },\n S = function S(t) {\n a.postMessage(t + \"\", h.protocol + \"//\" + h.host);\n };v && y || (v = function v(t) {\n for (var r = [], n = 1; arguments.length > n;) {\n r.push(arguments[n++]);\n }return b[++x] = function () {\n (\"function\" == typeof t ? t : Function(t)).apply(void 0, r);\n }, e(x), x;\n }, y = function y(t) {\n delete b[t];\n }, \"process\" == c(d) ? e = function e(t) {\n d.nextTick(O(t));\n } : g && g.now ? e = function e(t) {\n g.now(O(t));\n } : m && !l ? (i = (o = new m()).port2, o.port1.onmessage = j, e = s(i.postMessage, i, 1)) : !a.addEventListener || \"function\" != typeof postMessage || a.importScripts || u(S) ? e = \"onreadystatechange\" in p(\"script\") ? function (t) {\n f.appendChild(p(\"script\")).onreadystatechange = function () {\n f.removeChild(this), w(t);\n };\n } : function (t) {\n setTimeout(O(t), 0);\n } : (e = S, a.addEventListener(\"message\", j, !1))), t.exports = { set: v, clear: y };\n }, function (t, r, n) {\n var e = n(96);t.exports = /(iphone|ipod|ipad).*applewebkit/i.test(e);\n }, function (t, r, n) {\n var e = n(16);t.exports = e(\"navigator\", \"userAgent\") || \"\";\n }, function (t, r, n) {\n var e = n(9),\n o = n(12),\n i = n(34);t.exports = function (t, r) {\n if (e(t), o(r) && r.constructor === t) return r;var n = i.f(t);return (0, n.resolve)(r), n.promise;\n };\n }, function (t, r, n) {\n \"use strict\";\n var e = n(0),\n o = n(22),\n i = n(34),\n a = n(47),\n u = n(33);e({ target: \"Promise\", stat: !0 }, { allSettled: function allSettled(t) {\n var r = this,\n n = i.f(r),\n e = n.resolve,\n c = n.reject,\n s = a(function () {\n var n = o(r.resolve),\n i = [],\n a = 0,\n c = 1;u(t, function (t) {\n var o = a++,\n u = !1;i.push(void 0), c++, n.call(r, t).then(function (t) {\n u || (u = !0, i[o] = { status: \"fulfilled\", value: t }, --c || e(i));\n }, function (t) {\n u || (u = !0, i[o] = { status: \"rejected\", reason: t }, --c || e(i));\n });\n }), --c || e(i);\n });return s.error && c(s.value), n.promise;\n } });\n }, function (t, r, n) {\n n(149);var e = n(5);t.exports = e.Array.isArray;\n }, function (t, r, n) {\n var e = n(12),\n o = n(48),\n i = n(2)(\"species\");t.exports = function (t, r) {\n var n;return o(t) && (\"function\" != typeof (n = t.constructor) || n !== Array && !o(n.prototype) ? e(n) && null === (n = n[i]) && (n = void 0) : n = void 0), new (void 0 === n ? Array : n)(0 === r ? 0 : r);\n };\n }, function (t, r, n) {\n \"use strict\";\n var e = n(4);t.exports = function (t, r) {\n var n = [][t];return !!n && e(function () {\n n.call(null, r || function () {\n throw 1;\n }, 1);\n });\n };\n }, function (t, r, n) {\n n(167);var e = n(5).Object,\n o = t.exports = function (t, r, n) {\n return e.defineProperty(t, r, n);\n };e.defineProperty.sham && (o.sham = !0);\n }, function (t, r) {\n r.f = _getOwnPropertySymbols2.default;\n }, function (t, r, n) {\n n(105);var e = n(5);t.exports = e.Object.getOwnPropertySymbols;\n }, function (t, r, n) {\n \"use strict\";\n var e = n(0),\n o = n(3),\n i = n(16),\n a = n(20),\n u = n(6),\n c = n(66),\n s = n(84),\n f = n(4),\n p = n(10),\n l = n(48),\n h = n(12),\n v = n(9),\n y = n(29),\n d = n(15),\n m = n(41),\n g = n(19),\n x = n(67),\n b = n(45),\n w = n(71),\n O = n(179),\n j = n(103),\n S = n(28),\n E = n(14),\n A = n(64),\n P = n(11),\n T = n(31),\n _ = n(62),\n L = n(42),\n k = n(43),\n F = n(63),\n D = n(2),\n I = n(73),\n M = n(1),\n R = n(23),\n N = n(27),\n B = n(49).forEach,\n C = L(\"hidden\"),\n U = D(\"toPrimitive\"),\n G = N.set,\n H = N.getterFor(\"Symbol\"),\n q = Object.prototype,\n _J = o.Symbol,\n V = i(\"JSON\", \"stringify\"),\n W = S.f,\n z = E.f,\n Y = O.f,\n K = A.f,\n X = _(\"symbols\"),\n $ = _(\"op-symbols\"),\n Q = _(\"string-to-symbol-registry\"),\n Z = _(\"symbol-to-string-registry\"),\n tt = _(\"wks\"),\n rt = o.QObject,\n nt = !rt || !rt.prototype || !rt.prototype.findChild,\n et = u && f(function () {\n return 7 != x(z({}, \"a\", { get: function get() {\n return z(this, \"a\", { value: 7 }).a;\n } })).a;\n }) ? function (t, r, n) {\n var e = W(q, r);e && delete q[r], z(t, r, n), e && t !== q && z(q, r, e);\n } : z,\n ot = function ot(t, r) {\n var n = X[t] = x(_J.prototype);return G(n, { type: \"Symbol\", tag: t, description: r }), u || (n.description = r), n;\n },\n it = s ? function (t) {\n return \"symbol\" == (typeof t === \"undefined\" ? \"undefined\" : (0, _typeof3.default)(t));\n } : function (t) {\n return Object(t) instanceof _J;\n },\n at = function at(t, r, n) {\n t === q && at($, r, n), v(t);var e = m(r, !0);return v(n), p(X, e) ? (n.enumerable ? (p(t, C) && t[C][e] && (t[C][e] = !1), n = x(n, { enumerable: g(0, !1) })) : (p(t, C) || z(t, C, g(1, {})), t[C][e] = !0), et(t, e, n)) : z(t, e, n);\n },\n ut = function ut(t, r) {\n v(t);var n = d(r),\n e = b(n).concat(pt(n));return B(e, function (r) {\n u && !ct.call(n, r) || at(t, r, n[r]);\n }), t;\n },\n ct = function ct(t) {\n var r = m(t, !0),\n n = K.call(this, r);return !(this === q && p(X, r) && !p($, r)) && (!(n || !p(this, r) || !p(X, r) || p(this, C) && this[C][r]) || n);\n },\n st = function st(t, r) {\n var n = d(t),\n e = m(r, !0);if (n !== q || !p(X, e) || p($, e)) {\n var o = W(n, e);return !o || !p(X, e) || p(n, C) && n[C][e] || (o.enumerable = !0), o;\n }\n },\n ft = function ft(t) {\n var r = Y(d(t)),\n n = [];return B(r, function (t) {\n p(X, t) || p(k, t) || n.push(t);\n }), n;\n },\n pt = function pt(t) {\n var r = t === q,\n n = Y(r ? $ : d(t)),\n e = [];return B(n, function (t) {\n !p(X, t) || r && !p(q, t) || e.push(X[t]);\n }), e;\n };(c || (T((_J = function J() {\n if (this instanceof _J) throw TypeError(\"Symbol is not a constructor\");var t = arguments.length && void 0 !== arguments[0] ? String(arguments[0]) : void 0,\n r = F(t),\n n = function n(t) {\n this === q && n.call($, t), p(this, C) && p(this[C], r) && (this[C][r] = !1), et(this, r, g(1, t));\n };return u && nt && et(q, r, { configurable: !0, set: n }), ot(r, t);\n }).prototype, \"toString\", function () {\n return H(this).tag;\n }), T(_J, \"withoutSetter\", function (t) {\n return ot(F(t), t);\n }), A.f = ct, E.f = at, S.f = st, w.f = O.f = ft, j.f = pt, I.f = function (t) {\n return ot(D(t), t);\n }, u && (z(_J.prototype, \"description\", { configurable: !0, get: function get() {\n return H(this).description;\n } }), a || T(q, \"propertyIsEnumerable\", ct, { unsafe: !0 }))), e({ global: !0, wrap: !0, forced: !c, sham: !c }, { Symbol: _J }), B(b(tt), function (t) {\n M(t);\n }), e({ target: \"Symbol\", stat: !0, forced: !c }, { for: function _for(t) {\n var r = String(t);if (p(Q, r)) return Q[r];var n = _J(r);return Q[r] = n, Z[n] = r, n;\n }, keyFor: function keyFor(t) {\n if (!it(t)) throw TypeError(t + \" is not a symbol\");if (p(Z, t)) return Z[t];\n }, useSetter: function useSetter() {\n nt = !0;\n }, useSimple: function useSimple() {\n nt = !1;\n } }), e({ target: \"Object\", stat: !0, forced: !c, sham: !u }, { create: function create(t, r) {\n return void 0 === r ? x(t) : ut(x(t), r);\n }, defineProperty: at, defineProperties: ut, getOwnPropertyDescriptor: st }), e({ target: \"Object\", stat: !0, forced: !c }, { getOwnPropertyNames: ft, getOwnPropertySymbols: pt }), e({ target: \"Object\", stat: !0, forced: f(function () {\n j.f(1);\n }) }, { getOwnPropertySymbols: function getOwnPropertySymbols(t) {\n return j.f(y(t));\n } }), V) && e({ target: \"JSON\", stat: !0, forced: !c || f(function () {\n var t = _J();return \"[null]\" != V([t]) || \"{}\" != V({ a: t }) || \"{}\" != V(Object(t));\n }) }, { stringify: function stringify(t, r, n) {\n for (var e, o = [t], i = 1; arguments.length > i;) {\n o.push(arguments[i++]);\n }if (e = r, (h(r) || void 0 !== t) && !it(t)) return l(r) || (r = function r(t, _r2) {\n if (\"function\" == typeof e && (_r2 = e.call(this, t, _r2)), !it(_r2)) return _r2;\n }), o[1] = r, V.apply(null, o);\n } });_J.prototype[U] || P(_J.prototype, U, _J.prototype.valueOf), R(_J, \"Symbol\"), k[C] = !0;\n }, function (t, r, n) {\n \"use strict\";\n var e = n(0),\n o = n(4),\n i = n(48),\n a = n(12),\n u = n(29),\n c = n(46),\n s = n(72),\n f = n(100),\n p = n(74),\n l = n(2),\n h = n(70),\n v = l(\"isConcatSpreadable\"),\n y = h >= 51 || !o(function () {\n var t = [];return t[v] = !1, t.concat()[0] !== t;\n }),\n d = p(\"concat\"),\n m = function m(t) {\n if (!a(t)) return !1;var r = t[v];return void 0 !== r ? !!r : i(t);\n };e({ target: \"Array\", proto: !0, forced: !y || !d }, { concat: function concat(t) {\n var r,\n n,\n e,\n o,\n i,\n a = u(this),\n p = f(a, 0),\n l = 0;for (r = -1, e = arguments.length; r < e; r++) {\n if (i = -1 === r ? a : arguments[r], m(i)) {\n if (l + (o = c(i.length)) > 9007199254740991) throw TypeError(\"Maximum allowed index exceeded\");for (n = 0; n < o; n++, l++) {\n n in i && s(p, l, i[n]);\n }\n } else {\n if (l >= 9007199254740991) throw TypeError(\"Maximum allowed index exceeded\");s(p, l++, i);\n }\n }return p.length = l, p;\n } });\n }, function (t, r, n) {\n t.exports = n(185);\n }, function (t, r, n) {\n n(194);var e = n(5);t.exports = e.Object.keys;\n }, function (t, r, n) {\n n(1)(\"iterator\");\n }, function (t, r, n) {\n t.exports = n(180);\n }, function (t, r, n) {\n var e = n(107),\n o = n(189),\n i = n(191);t.exports = function (t, r) {\n if (null == t) return {};var n,\n a,\n u = i(t, r);if (o) {\n var c = o(t);for (a = 0; a < c.length; a++) {\n n = c[a], e(r).call(r, n) >= 0 || Object.prototype.propertyIsEnumerable.call(t, n) && (u[n] = t[n]);\n }\n }return u;\n };\n }, function (t, r, n) {\n var e = n(195),\n o = n(198);function i(r) {\n return t.exports = i = \"function\" == typeof o && \"symbol\" == (typeof e === \"undefined\" ? \"undefined\" : (0, _typeof3.default)(e)) ? function (t) {\n return typeof t === \"undefined\" ? \"undefined\" : (0, _typeof3.default)(t);\n } : function (t) {\n return t && \"function\" == typeof o && t.constructor === o && t !== o.prototype ? \"symbol\" : typeof t === \"undefined\" ? \"undefined\" : (0, _typeof3.default)(t);\n }, i(r);\n }t.exports = i;\n }, function (t, r, n) {\n t.exports = n(233);\n }, function (t, r, n) {\n var e = function (t) {\n \"use strict\";\n var r = Object.prototype,\n n = r.hasOwnProperty,\n e = \"function\" == typeof _symbol2.default ? _symbol2.default : {},\n o = e.iterator || \"@@iterator\",\n i = e.asyncIterator || \"@@asyncIterator\",\n a = e.toStringTag || \"@@toStringTag\";function u(t, r, n, e) {\n var o = r && r.prototype instanceof f ? r : f,\n i = (0, _create2.default)(o.prototype),\n a = new O(e || []);return i._invoke = function (t, r, n) {\n var e = \"suspendedStart\";return function (o, i) {\n if (\"executing\" === e) throw new Error(\"Generator is already running\");if (\"completed\" === e) {\n if (\"throw\" === o) throw i;return S();\n }for (n.method = o, n.arg = i;;) {\n var a = n.delegate;if (a) {\n var u = x(a, n);if (u) {\n if (u === s) continue;return u;\n }\n }if (\"next\" === n.method) n.sent = n._sent = n.arg;else if (\"throw\" === n.method) {\n if (\"suspendedStart\" === e) throw e = \"completed\", n.arg;n.dispatchException(n.arg);\n } else \"return\" === n.method && n.abrupt(\"return\", n.arg);e = \"executing\";var f = c(t, r, n);if (\"normal\" === f.type) {\n if (e = n.done ? \"completed\" : \"suspendedYield\", f.arg === s) continue;return { value: f.arg, done: n.done };\n }\"throw\" === f.type && (e = \"completed\", n.method = \"throw\", n.arg = f.arg);\n }\n };\n }(t, n, a), i;\n }function c(t, r, n) {\n try {\n return { type: \"normal\", arg: t.call(r, n) };\n } catch (t) {\n return { type: \"throw\", arg: t };\n }\n }t.wrap = u;var s = {};function f() {}function p() {}function l() {}var h = {};h[o] = function () {\n return this;\n };var v = _getPrototypeOf2.default,\n y = v && v(v(j([])));y && y !== r && n.call(y, o) && (h = y);var d = l.prototype = f.prototype = (0, _create2.default)(h);function m(t) {\n [\"next\", \"throw\", \"return\"].forEach(function (r) {\n t[r] = function (t) {\n return this._invoke(r, t);\n };\n });\n }function g(t) {\n var r;this._invoke = function (e, o) {\n function i() {\n return new _promise2.default(function (r, i) {\n !function r(e, o, i, a) {\n var u = c(t[e], t, o);if (\"throw\" !== u.type) {\n var s = u.arg,\n f = s.value;return f && \"object\" == (typeof f === \"undefined\" ? \"undefined\" : (0, _typeof3.default)(f)) && n.call(f, \"__await\") ? _promise2.default.resolve(f.__await).then(function (t) {\n r(\"next\", t, i, a);\n }, function (t) {\n r(\"throw\", t, i, a);\n }) : _promise2.default.resolve(f).then(function (t) {\n s.value = t, i(s);\n }, function (t) {\n return r(\"throw\", t, i, a);\n });\n }a(u.arg);\n }(e, o, r, i);\n });\n }return r = r ? r.then(i, i) : i();\n };\n }function x(t, r) {\n var n = t.iterator[r.method];if (void 0 === n) {\n if (r.delegate = null, \"throw\" === r.method) {\n if (t.iterator.return && (r.method = \"return\", r.arg = void 0, x(t, r), \"throw\" === r.method)) return s;r.method = \"throw\", r.arg = new TypeError(\"The iterator does not provide a 'throw' method\");\n }return s;\n }var e = c(n, t.iterator, r.arg);if (\"throw\" === e.type) return r.method = \"throw\", r.arg = e.arg, r.delegate = null, s;var o = e.arg;return o ? o.done ? (r[t.resultName] = o.value, r.next = t.nextLoc, \"return\" !== r.method && (r.method = \"next\", r.arg = void 0), r.delegate = null, s) : o : (r.method = \"throw\", r.arg = new TypeError(\"iterator result is not an object\"), r.delegate = null, s);\n }function b(t) {\n var r = { tryLoc: t[0] };1 in t && (r.catchLoc = t[1]), 2 in t && (r.finallyLoc = t[2], r.afterLoc = t[3]), this.tryEntries.push(r);\n }function w(t) {\n var r = t.completion || {};r.type = \"normal\", delete r.arg, t.completion = r;\n }function O(t) {\n this.tryEntries = [{ tryLoc: \"root\" }], t.forEach(b, this), this.reset(!0);\n }function j(t) {\n if (t) {\n var r = t[o];if (r) return r.call(t);if (\"function\" == typeof t.next) return t;if (!isNaN(t.length)) {\n var e = -1,\n i = function r() {\n for (; ++e < t.length;) {\n if (n.call(t, e)) return r.value = t[e], r.done = !1, r;\n }return r.value = void 0, r.done = !0, r;\n };return i.next = i;\n }\n }return { next: S };\n }function S() {\n return { value: void 0, done: !0 };\n }return p.prototype = d.constructor = l, l.constructor = p, l[a] = p.displayName = \"GeneratorFunction\", t.isGeneratorFunction = function (t) {\n var r = \"function\" == typeof t && t.constructor;return !!r && (r === p || \"GeneratorFunction\" === (r.displayName || r.name));\n }, t.mark = function (t) {\n return _setPrototypeOf2.default ? (0, _setPrototypeOf2.default)(t, l) : (t.__proto__ = l, a in t || (t[a] = \"GeneratorFunction\")), t.prototype = (0, _create2.default)(d), t;\n }, t.awrap = function (t) {\n return { __await: t };\n }, m(g.prototype), g.prototype[i] = function () {\n return this;\n }, t.AsyncIterator = g, t.async = function (r, n, e, o) {\n var i = new g(u(r, n, e, o));return t.isGeneratorFunction(n) ? i : i.next().then(function (t) {\n return t.done ? t.value : i.next();\n });\n }, m(d), d[a] = \"Generator\", d[o] = function () {\n return this;\n }, d.toString = function () {\n return \"[object Generator]\";\n }, t.keys = function (t) {\n var r = [];for (var n in t) {\n r.push(n);\n }return r.reverse(), function n() {\n for (; r.length;) {\n var e = r.pop();if (e in t) return n.value = e, n.done = !1, n;\n }return n.done = !0, n;\n };\n }, t.values = j, O.prototype = { constructor: O, reset: function reset(t) {\n if (this.prev = 0, this.next = 0, this.sent = this._sent = void 0, this.done = !1, this.delegate = null, this.method = \"next\", this.arg = void 0, this.tryEntries.forEach(w), !t) for (var r in this) {\n \"t\" === r.charAt(0) && n.call(this, r) && !isNaN(+r.slice(1)) && (this[r] = void 0);\n }\n }, stop: function stop() {\n this.done = !0;var t = this.tryEntries[0].completion;if (\"throw\" === t.type) throw t.arg;return this.rval;\n }, dispatchException: function dispatchException(t) {\n if (this.done) throw t;var r = this;function e(n, e) {\n return a.type = \"throw\", a.arg = t, r.next = n, e && (r.method = \"next\", r.arg = void 0), !!e;\n }for (var o = this.tryEntries.length - 1; o >= 0; --o) {\n var i = this.tryEntries[o],\n a = i.completion;if (\"root\" === i.tryLoc) return e(\"end\");if (i.tryLoc <= this.prev) {\n var u = n.call(i, \"catchLoc\"),\n c = n.call(i, \"finallyLoc\");if (u && c) {\n if (this.prev < i.catchLoc) return e(i.catchLoc, !0);if (this.prev < i.finallyLoc) return e(i.finallyLoc);\n } else if (u) {\n if (this.prev < i.catchLoc) return e(i.catchLoc, !0);\n } else {\n if (!c) throw new Error(\"try statement without catch or finally\");if (this.prev < i.finallyLoc) return e(i.finallyLoc);\n }\n }\n }\n }, abrupt: function abrupt(t, r) {\n for (var e = this.tryEntries.length - 1; e >= 0; --e) {\n var o = this.tryEntries[e];if (o.tryLoc <= this.prev && n.call(o, \"finallyLoc\") && this.prev < o.finallyLoc) {\n var i = o;break;\n }\n }i && (\"break\" === t || \"continue\" === t) && i.tryLoc <= r && r <= i.finallyLoc && (i = null);var a = i ? i.completion : {};return a.type = t, a.arg = r, i ? (this.method = \"next\", this.next = i.finallyLoc, s) : this.complete(a);\n }, complete: function complete(t, r) {\n if (\"throw\" === t.type) throw t.arg;return \"break\" === t.type || \"continue\" === t.type ? this.next = t.arg : \"return\" === t.type ? (this.rval = this.arg = t.arg, this.method = \"return\", this.next = \"end\") : \"normal\" === t.type && r && (this.next = r), s;\n }, finish: function finish(t) {\n for (var r = this.tryEntries.length - 1; r >= 0; --r) {\n var n = this.tryEntries[r];if (n.finallyLoc === t) return this.complete(n.completion, n.afterLoc), w(n), s;\n }\n }, catch: function _catch(t) {\n for (var r = this.tryEntries.length - 1; r >= 0; --r) {\n var n = this.tryEntries[r];if (n.tryLoc === t) {\n var e = n.completion;if (\"throw\" === e.type) {\n var o = e.arg;w(n);\n }return o;\n }\n }throw new Error(\"illegal catch attempt\");\n }, delegateYield: function delegateYield(t, r, n) {\n return this.delegate = { iterator: j(t), resultName: r, nextLoc: n }, \"next\" === this.method && (this.arg = void 0), s;\n } }, t;\n }(t.exports);try {\n regeneratorRuntime = e;\n } catch (t) {\n Function(\"r\", \"regeneratorRuntime = r\")(e);\n }\n }, function (t, r, n) {\n var e = n(75);t.exports = e;\n }, function (t, r, n) {\n var e = n(59),\n o = n(60),\n i = function i(t) {\n return function (r, n) {\n var i,\n a,\n u = String(o(r)),\n c = e(n),\n s = u.length;return c < 0 || c >= s ? t ? \"\" : void 0 : (i = u.charCodeAt(c)) < 55296 || i > 56319 || c + 1 === s || (a = u.charCodeAt(c + 1)) < 56320 || a > 57343 ? t ? u.charAt(c) : i : t ? u.slice(c, c + 2) : a - 56320 + (i - 55296 << 10) + 65536;\n };\n };t.exports = { codeAt: i(!1), charAt: i(!0) };\n }, function (t, r, n) {\n var e = n(3),\n o = n(77),\n i = e.WeakMap;t.exports = \"function\" == typeof i && /native code/.test(o(i));\n }, function (t, r) {\n var n;n = function () {\n return this;\n }();try {\n n = n || new Function(\"return this\")();\n } catch (t) {\n \"object\" == (typeof window === \"undefined\" ? \"undefined\" : (0, _typeof3.default)(window)) && (n = window);\n }t.exports = n;\n }, function (t, r, n) {\n var e = n(3),\n o = n(11);t.exports = function (t, r) {\n try {\n o(e, t, r);\n } catch (n) {\n e[t] = r;\n }return r;\n };\n }, function (t, r, n) {\n \"use strict\";\n var e = n(83).IteratorPrototype,\n o = n(67),\n i = n(19),\n a = n(23),\n u = n(18),\n c = function c() {\n return this;\n };t.exports = function (t, r, n) {\n var s = r + \" Iterator\";return t.prototype = o(e, { next: i(1, n) }), a(t, s, !1, !0), u[s] = c, t;\n };\n }, function (t, r, n) {\n var e = n(4);t.exports = !e(function () {\n function t() {}return t.prototype.constructor = null, (0, _getPrototypeOf2.default)(new t()) !== t.prototype;\n });\n }, function (t, r, n) {\n var e = n(59),\n o = Math.max,\n i = Math.min;t.exports = function (t, r) {\n var n = e(t);return n < 0 ? o(n + r, 0) : i(n, r);\n };\n }, function (t, r, n) {\n \"use strict\";\n var e = n(69),\n o = n(30);t.exports = e ? {}.toString : function () {\n return \"[object \" + o(this) + \"]\";\n };\n }, function (t, r, n) {\n var e = n(12);t.exports = function (t) {\n if (!e(t) && null !== t) throw TypeError(\"Can't set \" + String(t) + \" as a prototype\");return t;\n };\n }, function (t, r) {\n t.exports = function () {};\n }, function (t, r) {\n t.exports = { CSSRuleList: 0, CSSStyleDeclaration: 0, CSSValueList: 0, ClientRectList: 0, DOMRectList: 0, DOMStringList: 0, DOMTokenList: 1, DataTransferItemList: 0, FileList: 0, HTMLAllCollection: 0, HTMLCollection: 0, HTMLFormElement: 0, HTMLSelectElement: 0, MediaList: 0, MimeTypeArray: 0, NamedNodeMap: 0, NodeList: 1, PaintRequestList: 0, Plugin: 0, PluginArray: 0, SVGLengthList: 0, SVGNumberList: 0, SVGPathSegList: 0, SVGPointList: 0, SVGStringList: 0, SVGTransformList: 0, SourceBufferList: 0, StyleSheetList: 0, TextTrackCueList: 0, TextTrackList: 0, TouchList: 0 };\n }, function (t, r, n) {\n \"use strict\";\n var e,\n o,\n i,\n a,\n u = n(0),\n c = n(20),\n s = n(3),\n f = n(16),\n p = n(91),\n l = n(31),\n h = n(128),\n v = n(23),\n y = n(129),\n d = n(12),\n m = n(22),\n g = n(130),\n x = n(21),\n b = n(77),\n w = n(33),\n O = n(133),\n j = n(93),\n S = n(94).set,\n E = n(134),\n A = n(97),\n P = n(135),\n T = n(34),\n _ = n(47),\n L = n(27),\n k = n(82),\n F = n(2),\n D = n(70),\n I = F(\"species\"),\n M = \"Promise\",\n R = L.get,\n N = L.set,\n B = L.getterFor(M),\n _C = p,\n U = s.TypeError,\n G = s.document,\n H = s.process,\n q = f(\"fetch\"),\n J = T.f,\n V = J,\n W = \"process\" == x(H),\n z = !!(G && G.createEvent && s.dispatchEvent),\n Y = k(M, function () {\n if (!(b(_C) !== String(_C))) {\n if (66 === D) return !0;if (!W && \"function\" != typeof PromiseRejectionEvent) return !0;\n }if (c && !_C.prototype.finally) return !0;if (D >= 51 && /native code/.test(_C)) return !1;var t = _C.resolve(1),\n r = function r(t) {\n t(function () {}, function () {});\n };return (t.constructor = {})[I] = r, !(t.then(function () {}) instanceof r);\n }),\n K = Y || !O(function (t) {\n _C.all(t).catch(function () {});\n }),\n X = function X(t) {\n var r;return !(!d(t) || \"function\" != typeof (r = t.then)) && r;\n },\n $ = function $(t, r, n) {\n if (!r.notified) {\n r.notified = !0;var e = r.reactions;E(function () {\n for (var o = r.value, i = 1 == r.state, a = 0; e.length > a;) {\n var u,\n c,\n s,\n f = e[a++],\n p = i ? f.ok : f.fail,\n l = f.resolve,\n h = f.reject,\n v = f.domain;try {\n p ? (i || (2 === r.rejection && rt(t, r), r.rejection = 1), !0 === p ? u = o : (v && v.enter(), u = p(o), v && (v.exit(), s = !0)), u === f.promise ? h(U(\"Promise-chain cycle\")) : (c = X(u)) ? c.call(u, l, h) : l(u)) : h(o);\n } catch (t) {\n v && !s && v.exit(), h(t);\n }\n }r.reactions = [], r.notified = !1, n && !r.rejection && Z(t, r);\n });\n }\n },\n Q = function Q(t, r, n) {\n var e, o;z ? ((e = G.createEvent(\"Event\")).promise = r, e.reason = n, e.initEvent(t, !1, !0), s.dispatchEvent(e)) : e = { promise: r, reason: n }, (o = s[\"on\" + t]) ? o(e) : \"unhandledrejection\" === t && P(\"Unhandled promise rejection\", n);\n },\n Z = function Z(t, r) {\n S.call(s, function () {\n var n,\n e = r.value;if (tt(r) && (n = _(function () {\n W ? H.emit(\"unhandledRejection\", e, t) : Q(\"unhandledrejection\", t, e);\n }), r.rejection = W || tt(r) ? 2 : 1, n.error)) throw n.value;\n });\n },\n tt = function tt(t) {\n return 1 !== t.rejection && !t.parent;\n },\n rt = function rt(t, r) {\n S.call(s, function () {\n W ? H.emit(\"rejectionHandled\", t) : Q(\"rejectionhandled\", t, r.value);\n });\n },\n nt = function nt(t, r, n, e) {\n return function (o) {\n t(r, n, o, e);\n };\n },\n et = function et(t, r, n, e) {\n r.done || (r.done = !0, e && (r = e), r.value = n, r.state = 2, $(t, r, !0));\n },\n ot = function ot(t, r, n, e) {\n if (!r.done) {\n r.done = !0, e && (r = e);try {\n if (t === n) throw U(\"Promise can't be resolved itself\");var o = X(n);o ? E(function () {\n var e = { done: !1 };try {\n o.call(n, nt(ot, t, e, r), nt(et, t, e, r));\n } catch (n) {\n et(t, e, n, r);\n }\n }) : (r.value = n, r.state = 1, $(t, r, !1));\n } catch (n) {\n et(t, { done: !1 }, n, r);\n }\n }\n };Y && (_C = function C(t) {\n g(this, _C, M), m(t), e.call(this);var r = R(this);try {\n t(nt(ot, this, r), nt(et, this, r));\n } catch (t) {\n et(this, r, t);\n }\n }, (e = function e(t) {\n N(this, { type: M, done: !1, notified: !1, parent: !1, reactions: [], rejection: !1, state: 0, value: void 0 });\n }).prototype = h(_C.prototype, { then: function then(t, r) {\n var n = B(this),\n e = J(j(this, _C));return e.ok = \"function\" != typeof t || t, e.fail = \"function\" == typeof r && r, e.domain = W ? H.domain : void 0, n.parent = !0, n.reactions.push(e), 0 != n.state && $(this, n, !1), e.promise;\n }, catch: function _catch(t) {\n return this.then(void 0, t);\n } }), o = function o() {\n var t = new e(),\n r = R(t);this.promise = t, this.resolve = nt(ot, t, r), this.reject = nt(et, t, r);\n }, T.f = J = function J(t) {\n return t === _C || t === i ? new o(t) : V(t);\n }, c || \"function\" != typeof p || (a = p.prototype.then, l(p.prototype, \"then\", function (t, r) {\n var n = this;return new _C(function (t, r) {\n a.call(n, t, r);\n }).then(t, r);\n }, { unsafe: !0 }), \"function\" == typeof q && u({ global: !0, enumerable: !0, forced: !0 }, { fetch: function fetch(t) {\n return A(_C, q.apply(s, arguments));\n } }))), u({ global: !0, wrap: !0, forced: Y }, { Promise: _C }), v(_C, M, !1, !0), y(M), i = f(M), u({ target: M, stat: !0, forced: Y }, { reject: function reject(t) {\n var r = J(this);return r.reject.call(void 0, t), r.promise;\n } }), u({ target: M, stat: !0, forced: c || Y }, { resolve: function resolve(t) {\n return A(c && this === i ? _C : this, t);\n } }), u({ target: M, stat: !0, forced: K }, { all: function all(t) {\n var r = this,\n n = J(r),\n e = n.resolve,\n o = n.reject,\n i = _(function () {\n var n = m(r.resolve),\n i = [],\n a = 0,\n u = 1;w(t, function (t) {\n var c = a++,\n s = !1;i.push(void 0), u++, n.call(r, t).then(function (t) {\n s || (s = !0, i[c] = t, --u || e(i));\n }, o);\n }), --u || e(i);\n });return i.error && o(i.value), n.promise;\n }, race: function race(t) {\n var r = this,\n n = J(r),\n e = n.reject,\n o = _(function () {\n var o = m(r.resolve);w(t, function (t) {\n o.call(r, t).then(n.resolve, e);\n });\n });return o.error && e(o.value), n.promise;\n } });\n }, function (t, r, n) {\n var e = n(31);t.exports = function (t, r, n) {\n for (var o in r) {\n n && n.unsafe && t[o] ? t[o] = r[o] : e(t, o, r[o], n);\n }return t;\n };\n }, function (t, r, n) {\n \"use strict\";\n var e = n(16),\n o = n(14),\n i = n(2),\n a = n(6),\n u = i(\"species\");t.exports = function (t) {\n var r = e(t),\n n = o.f;a && r && !r[u] && n(r, u, { configurable: !0, get: function get() {\n return this;\n } });\n };\n }, function (t, r) {\n t.exports = function (t, r, n) {\n if (!(t instanceof r)) throw TypeError(\"Incorrect \" + (n ? n + \" \" : \"\") + \"invocation\");return t;\n };\n }, function (t, r, n) {\n var e = n(2),\n o = n(18),\n i = e(\"iterator\"),\n a = Array.prototype;t.exports = function (t) {\n return void 0 !== t && (o.Array === t || a[i] === t);\n };\n }, function (t, r, n) {\n var e = n(9);t.exports = function (t, r, n, o) {\n try {\n return o ? r(e(n)[0], n[1]) : r(n);\n } catch (r) {\n var i = t.return;throw void 0 !== i && e(i.call(t)), r;\n }\n };\n }, function (t, r, n) {\n var e = n(2)(\"iterator\"),\n o = !1;try {\n var i = 0,\n a = { next: function next() {\n return { done: !!i++ };\n }, return: function _return() {\n o = !0;\n } };a[e] = function () {\n return this;\n }, (0, _from2.default)(a, function () {\n throw 2;\n });\n } catch (t) {}t.exports = function (t, r) {\n if (!r && !o) return !1;var n = !1;try {\n var i = {};i[e] = function () {\n return { next: function next() {\n return { done: n = !0 };\n } };\n }, t(i);\n } catch (t) {}return n;\n };\n }, function (t, r, n) {\n var e,\n o,\n i,\n a,\n u,\n c,\n s,\n f,\n p = n(3),\n l = n(28).f,\n h = n(21),\n v = n(94).set,\n y = n(95),\n d = p.MutationObserver || p.WebKitMutationObserver,\n m = p.process,\n g = p.Promise,\n x = \"process\" == h(m),\n b = l(p, \"queueMicrotask\"),\n w = b && b.value;w || (e = function e() {\n var t, r;for (x && (t = m.domain) && t.exit(); o;) {\n r = o.fn, o = o.next;try {\n r();\n } catch (t) {\n throw o ? a() : i = void 0, t;\n }\n }i = void 0, t && t.enter();\n }, x ? a = function a() {\n m.nextTick(e);\n } : d && !y ? (u = !0, c = document.createTextNode(\"\"), new d(e).observe(c, { characterData: !0 }), a = function a() {\n c.data = u = !u;\n }) : g && g.resolve ? (s = g.resolve(void 0), f = s.then, a = function a() {\n f.call(s, e);\n }) : a = function a() {\n v.call(p, e);\n }), t.exports = w || function (t) {\n var r = { fn: t, next: void 0 };i && (i.next = r), o || (o = r, a()), i = r;\n };\n }, function (t, r, n) {\n var e = n(3);t.exports = function (t, r) {\n var n = e.console;n && n.error && (1 === arguments.length ? n.error(t) : n.error(t, r));\n };\n }, function (t, r, n) {\n \"use strict\";\n var e = n(0),\n o = n(20),\n i = n(91),\n a = n(4),\n u = n(16),\n c = n(93),\n s = n(97),\n f = n(31);e({ target: \"Promise\", proto: !0, real: !0, forced: !!i && a(function () {\n i.prototype.finally.call({ then: function then() {} }, function () {});\n }) }, { finally: function _finally(t) {\n var r = c(this, u(\"Promise\")),\n n = \"function\" == typeof t;return this.then(n ? function (n) {\n return s(r, t()).then(function () {\n return n;\n });\n } : t, n ? function (n) {\n return s(r, t()).then(function () {\n throw n;\n });\n } : t);\n } }), o || \"function\" != typeof i || i.prototype.finally || f(i.prototype, \"finally\", u(\"Promise\").prototype.finally);\n }, function (t, r, n) {\n t.exports = n(138);\n }, function (t, r, n) {\n var e = n(75);n(139), n(140), n(141), n(142), t.exports = e;\n }, function (t, r, n) {\n \"use strict\";\n var e = n(0),\n o = n(6),\n i = n(65),\n a = n(89),\n u = n(67),\n c = n(14),\n s = n(19),\n f = n(33),\n p = n(11),\n l = n(27),\n h = l.set,\n v = l.getterFor(\"AggregateError\"),\n y = function y(t, r) {\n var n = this;if (!(n instanceof y)) return new y(t, r);a && (n = a(new Error(r), i(n)));var e = [];return f(t, e.push, e), o ? h(n, { errors: e, type: \"AggregateError\" }) : n.errors = e, void 0 !== r && p(n, \"message\", String(r)), n;\n };y.prototype = u(Error.prototype, { constructor: s(5, y), message: s(5, \"\"), name: s(5, \"AggregateError\") }), o && c.f(y.prototype, \"errors\", { get: function get() {\n return v(this).errors;\n }, configurable: !0 }), e({ global: !0 }, { AggregateError: y });\n }, function (t, r, n) {\n n(98);\n }, function (t, r, n) {\n \"use strict\";\n var e = n(0),\n o = n(34),\n i = n(47);e({ target: \"Promise\", stat: !0 }, { try: function _try(t) {\n var r = o.f(this),\n n = i(t);return (n.error ? r.reject : r.resolve)(n.value), r.promise;\n } });\n }, function (t, r, n) {\n \"use strict\";\n var e = n(0),\n o = n(22),\n i = n(16),\n a = n(34),\n u = n(47),\n c = n(33);e({ target: \"Promise\", stat: !0 }, { any: function any(t) {\n var r = this,\n n = a.f(r),\n e = n.resolve,\n s = n.reject,\n f = u(function () {\n var n = o(r.resolve),\n a = [],\n u = 0,\n f = 1,\n p = !1;c(t, function (t) {\n var o = u++,\n c = !1;a.push(void 0), f++, n.call(r, t).then(function (t) {\n c || p || (p = !0, e(t));\n }, function (t) {\n c || p || (c = !0, a[o] = t, --f || s(new (i(\"AggregateError\"))(a, \"No one promise resolved\")));\n });\n }), --f || s(new (i(\"AggregateError\"))(a, \"No one promise resolved\"));\n });return f.error && s(f.value), n.promise;\n } });\n }, function (t, r, n) {\n var e = n(144);t.exports = e;\n }, function (t, r, n) {\n n(145);var e = n(5);e.JSON || (e.JSON = { stringify: _stringify2.default }), t.exports = function (t, r, n) {\n return e.JSON.stringify.apply(null, arguments);\n };\n }, function (t, r, n) {\n var e = n(0),\n o = n(16),\n i = n(4),\n a = o(\"JSON\", \"stringify\"),\n u = /[\\uD800-\\uDFFF]/g,\n c = /^[\\uD800-\\uDBFF]$/,\n s = /^[\\uDC00-\\uDFFF]$/,\n f = function f(t, r, n) {\n var e = n.charAt(r - 1),\n o = n.charAt(r + 1);return c.test(t) && !s.test(o) || s.test(t) && !c.test(e) ? \"\\\\u\" + t.charCodeAt(0).toString(16) : t;\n },\n p = i(function () {\n return \"\\\"\\\\udf06\\\\ud834\\\"\" !== a(\"\\uDF06\\uD834\") || \"\\\"\\\\udead\\\"\" !== a(\"\\uDEAD\");\n });a && e({ target: \"JSON\", stat: !0, forced: p }, { stringify: function stringify(t, r, n) {\n var e = a.apply(null, arguments);return \"string\" == typeof e ? e.replace(u, f) : e;\n } });\n }, function (t, r, n) {\n var e = n(147);t.exports = function (t) {\n if (e(t)) return t;\n };\n }, function (t, r, n) {\n t.exports = n(148);\n }, function (t, r, n) {\n var e = n(99);t.exports = e;\n }, function (t, r, n) {\n n(0)({ target: \"Array\", stat: !0 }, { isArray: n(48) });\n }, function (t, r, n) {\n var e = n(52),\n o = n(153);t.exports = function (t, r) {\n if (o(Object(t)) || \"[object Arguments]\" === Object.prototype.toString.call(t)) {\n var n = [],\n i = !0,\n a = !1,\n u = void 0;try {\n for (var c, s = e(t); !(i = (c = s.next()).done) && (n.push(c.value), !r || n.length !== r); i = !0) {}\n } catch (t) {\n a = !0, u = t;\n } finally {\n try {\n i || null == s.return || s.return();\n } finally {\n if (a) throw u;\n }\n }return n;\n }\n };\n }, function (t, r, n) {\n n(32), n(40);var e = n(152);t.exports = e;\n }, function (t, r, n) {\n var e = n(9),\n o = n(92);t.exports = function (t) {\n var r = o(t);if (\"function\" != typeof r) throw TypeError(String(t) + \" is not iterable\");return e(r.call(t));\n };\n }, function (t, r, n) {\n t.exports = n(154);\n }, function (t, r, n) {\n n(32), n(40);var e = n(155);t.exports = e;\n }, function (t, r, n) {\n var e = n(30),\n o = n(2),\n i = n(18),\n a = o(\"iterator\");t.exports = function (t) {\n var r = Object(t);return void 0 !== r[a] || \"@@iterator\" in r || i.hasOwnProperty(e(r));\n };\n }, function (t, r) {\n t.exports = function () {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance\");\n };\n }, function (t, r, n) {\n var e = n(158);t.exports = e;\n }, function (t, r, n) {\n n(159);var e = n(5);t.exports = e.Object.entries;\n }, function (t, r, n) {\n var e = n(0),\n o = n(160).entries;e({ target: \"Object\", stat: !0 }, { entries: function entries(t) {\n return o(t);\n } });\n }, function (t, r, n) {\n var e = n(6),\n o = n(45),\n i = n(15),\n a = n(64).f,\n u = function u(t) {\n return function (r) {\n for (var n, u = i(r), c = o(u), s = c.length, f = 0, p = []; s > f;) {\n n = c[f++], e && !a.call(u, n) || p.push(t ? [n, u[n]] : u[n]);\n }return p;\n };\n };t.exports = { entries: u(!0), values: u(!1) };\n }, function (t, r, n) {\n n(32);var e = n(162),\n o = n(30),\n i = Array.prototype,\n a = { DOMTokenList: !0, NodeList: !0 };t.exports = function (t) {\n var r = t.forEach;return t === i || t instanceof Array && r === i.forEach || a.hasOwnProperty(o(t)) ? e : r;\n };\n }, function (t, r, n) {\n var e = n(163);t.exports = e;\n }, function (t, r, n) {\n n(164);var e = n(35);t.exports = e(\"Array\").forEach;\n }, function (t, r, n) {\n \"use strict\";\n var e = n(0),\n o = n(165);e({ target: \"Array\", proto: !0, forced: [].forEach != o }, { forEach: o });\n }, function (t, r, n) {\n \"use strict\";\n var e = n(49).forEach,\n o = n(101),\n i = n(50),\n a = o(\"forEach\"),\n u = i(\"forEach\");t.exports = a && u ? [].forEach : function (t) {\n return e(this, t, arguments.length > 1 ? arguments[1] : void 0);\n };\n }, function (t, r, n) {\n var e = n(102);t.exports = e;\n }, function (t, r, n) {\n var e = n(0),\n o = n(6);e({ target: \"Object\", stat: !0, forced: !o, sham: !o }, { defineProperty: n(14).f });\n }, function (t, r, n) {\n var e = n(169);t.exports = e;\n }, function (t, r, n) {\n n(170);var e = n(5).Object,\n o = t.exports = function (t, r) {\n return e.defineProperties(t, r);\n };e.defineProperties.sham && (o.sham = !0);\n }, function (t, r, n) {\n var e = n(0),\n o = n(6);e({ target: \"Object\", stat: !0, forced: !o, sham: !o }, { defineProperties: n(85) });\n }, function (t, r, n) {\n var e = n(172);t.exports = e;\n }, function (t, r, n) {\n n(173);var e = n(5);t.exports = e.Object.getOwnPropertyDescriptors;\n }, function (t, r, n) {\n var e = n(0),\n o = n(6),\n i = n(174),\n a = n(15),\n u = n(28),\n c = n(72);e({ target: \"Object\", stat: !0, sham: !o }, { getOwnPropertyDescriptors: function getOwnPropertyDescriptors(t) {\n for (var r, n, e = a(t), o = u.f, s = i(e), f = {}, p = 0; s.length > p;) {\n void 0 !== (n = o(e, r = s[p++])) && c(f, r, n);\n }return f;\n } });\n }, function (t, r, n) {\n var e = n(16),\n o = n(71),\n i = n(103),\n a = n(9);t.exports = e(\"Reflect\", \"ownKeys\") || function (t) {\n var r = o.f(a(t)),\n n = i.f;return n ? r.concat(n(t)) : r;\n };\n }, function (t, r, n) {\n var e = n(176);t.exports = e;\n }, function (t, r, n) {\n n(177);var e = n(5).Object,\n o = t.exports = function (t, r) {\n return e.getOwnPropertyDescriptor(t, r);\n };e.getOwnPropertyDescriptor.sham && (o.sham = !0);\n }, function (t, r, n) {\n var e = n(0),\n o = n(4),\n i = n(15),\n a = n(28).f,\n u = n(6),\n c = o(function () {\n a(1);\n });e({ target: \"Object\", stat: !0, forced: !u || c, sham: !u }, { getOwnPropertyDescriptor: function getOwnPropertyDescriptor(t, r) {\n return a(i(t), r);\n } });\n }, function (t, r, n) {\n var e = n(104);t.exports = e;\n }, function (t, r, n) {\n var e = n(15),\n o = n(71).f,\n i = {}.toString,\n a = \"object\" == (typeof window === \"undefined\" ? \"undefined\" : (0, _typeof3.default)(window)) && window && _getOwnPropertyNames2.default ? (0, _getOwnPropertyNames2.default)(window) : [];t.exports.f = function (t) {\n return a && \"[object Window]\" == i.call(t) ? function (t) {\n try {\n return o(t);\n } catch (t) {\n return a.slice();\n }\n }(t) : o(e(t));\n };\n }, function (t, r, n) {\n var e = n(181);t.exports = e;\n }, function (t, r, n) {\n var e = n(182),\n o = Array.prototype;t.exports = function (t) {\n var r = t.concat;return t === o || t instanceof Array && r === o.concat ? e : r;\n };\n }, function (t, r, n) {\n n(106);var e = n(35);t.exports = e(\"Array\").concat;\n }, function (t, r, n) {\n t.exports = n(184);\n }, function (t, r, n) {\n var e = n(102);t.exports = e;\n }, function (t, r, n) {\n var e = n(186);t.exports = e;\n }, function (t, r, n) {\n var e = n(187),\n o = Array.prototype;t.exports = function (t) {\n var r = t.indexOf;return t === o || t instanceof Array && r === o.indexOf ? e : r;\n };\n }, function (t, r, n) {\n n(188);var e = n(35);t.exports = e(\"Array\").indexOf;\n }, function (t, r, n) {\n \"use strict\";\n var e = n(0),\n o = n(87).indexOf,\n i = n(101),\n a = n(50),\n u = [].indexOf,\n c = !!u && 1 / [1].indexOf(1, -0) < 0,\n s = i(\"indexOf\"),\n f = a(\"indexOf\", { ACCESSORS: !0, 1: 0 });e({ target: \"Array\", proto: !0, forced: c || !s || !f }, { indexOf: function indexOf(t) {\n return c ? u.apply(this, arguments) || 0 : o(this, t, arguments.length > 1 ? arguments[1] : void 0);\n } });\n }, function (t, r, n) {\n t.exports = n(190);\n }, function (t, r, n) {\n var e = n(104);t.exports = e;\n }, function (t, r, n) {\n var e = n(107),\n o = n(192);t.exports = function (t, r) {\n if (null == t) return {};var n,\n i,\n a = {},\n u = o(t);for (i = 0; i < u.length; i++) {\n n = u[i], e(r).call(r, n) >= 0 || (a[n] = t[n]);\n }return a;\n };\n }, function (t, r, n) {\n t.exports = n(193);\n }, function (t, r, n) {\n var e = n(108);t.exports = e;\n }, function (t, r, n) {\n var e = n(0),\n o = n(29),\n i = n(45);e({ target: \"Object\", stat: !0, forced: n(4)(function () {\n i(1);\n }) }, { keys: function keys(t) {\n return i(o(t));\n } });\n }, function (t, r, n) {\n t.exports = n(196);\n }, function (t, r, n) {\n var e = n(197);t.exports = e;\n }, function (t, r, n) {\n n(109), n(40), n(32);var e = n(73);t.exports = e.f(\"iterator\");\n }, function (t, r, n) {\n t.exports = n(199);\n }, function (t, r, n) {\n var e = n(200);n(216), n(217), n(218), n(219), n(220), t.exports = e;\n }, function (t, r, n) {\n n(106), n(76), n(105), n(201), n(202), n(203), n(204), n(109), n(205), n(206), n(207), n(208), n(209), n(210), n(211), n(212), n(213), n(214), n(215);var e = n(5);t.exports = e.Symbol;\n }, function (t, r, n) {\n n(1)(\"asyncIterator\");\n }, function (t, r) {}, function (t, r, n) {\n n(1)(\"hasInstance\");\n }, function (t, r, n) {\n n(1)(\"isConcatSpreadable\");\n }, function (t, r, n) {\n n(1)(\"match\");\n }, function (t, r, n) {\n n(1)(\"matchAll\");\n }, function (t, r, n) {\n n(1)(\"replace\");\n }, function (t, r, n) {\n n(1)(\"search\");\n }, function (t, r, n) {\n n(1)(\"species\");\n }, function (t, r, n) {\n n(1)(\"split\");\n }, function (t, r, n) {\n n(1)(\"toPrimitive\");\n }, function (t, r, n) {\n n(1)(\"toStringTag\");\n }, function (t, r, n) {\n n(1)(\"unscopables\");\n }, function (t, r, n) {\n n(23)(Math, \"Math\", !0);\n }, function (t, r, n) {\n var e = n(3);n(23)(e.JSON, \"JSON\", !0);\n }, function (t, r, n) {\n n(1)(\"asyncDispose\");\n }, function (t, r, n) {\n n(1)(\"dispose\");\n }, function (t, r, n) {\n n(1)(\"observable\");\n }, function (t, r, n) {\n n(1)(\"patternMatch\");\n }, function (t, r, n) {\n n(1)(\"replaceAll\");\n }, function (t, r, n) {\n var e = n(108);t.exports = e;\n }, function (t, r, n) {\n var e = n(223);t.exports = e;\n }, function (t, r, n) {\n var e = n(224),\n o = Array.prototype;t.exports = function (t) {\n var r = t.filter;return t === o || t instanceof Array && r === o.filter ? e : r;\n };\n }, function (t, r, n) {\n n(225);var e = n(35);t.exports = e(\"Array\").filter;\n }, function (t, r, n) {\n \"use strict\";\n var e = n(0),\n o = n(49).filter,\n i = n(74),\n a = n(50),\n u = i(\"filter\"),\n c = a(\"filter\");e({ target: \"Array\", proto: !0, forced: !u || !c }, { filter: function filter(t) {\n return o(this, t, arguments.length > 1 ? arguments[1] : void 0);\n } });\n }, function (t, r, n) {\n var e = n(227);t.exports = e;\n }, function (t, r, n) {\n var e = n(228),\n o = Array.prototype;t.exports = function (t) {\n var r = t.map;return t === o || t instanceof Array && r === o.map ? e : r;\n };\n }, function (t, r, n) {\n n(229);var e = n(35);t.exports = e(\"Array\").map;\n }, function (t, r, n) {\n \"use strict\";\n var e = n(0),\n o = n(49).map,\n i = n(74),\n a = n(50),\n u = i(\"map\"),\n c = a(\"map\");e({ target: \"Array\", proto: !0, forced: !u || !c }, { map: function map(t) {\n return o(this, t, arguments.length > 1 ? arguments[1] : void 0);\n } });\n }, function (t, r, n) {\n var e = n(231);t.exports = e;\n }, function (t, r, n) {\n n(90), n(232);var e = n(5);t.exports = e.Object.fromEntries;\n }, function (t, r, n) {\n var e = n(0),\n o = n(33),\n i = n(72);e({ target: \"Object\", stat: !0 }, { fromEntries: function fromEntries(t) {\n var r = {};return o(t, function (t, n) {\n i(r, t, n);\n }, void 0, !0), r;\n } });\n }, function (t, r, n) {\n var e = n(99);t.exports = e;\n }, function (t, r, n) {\n \"use strict\";\n n.r(r);var e = n(7),\n o = n.n(e),\n i = n(8),\n a = n.n(i),\n u = n(17),\n c = n.n(u),\n s = n(36),\n f = n.n(s),\n p = n(37),\n l = n.n(p),\n h = function () {\n var t = c()(o.a.mark(function t(r) {\n var n, e, i;return o.a.wrap(function (t) {\n for (;;) {\n switch (t.prev = t.next) {case 0:\n return n = r.domain, e = r.stateHandle, i = \"\".concat(n, \"/idp/idx/introspect\"), t.abrupt(\"return\", l()(i, { method: \"POST\", headers: { \"content-type\": \"application/json\" }, body: f()({ stateToken: e }) }).then(function (t) {\n return t.ok ? t.json() : t.json().then(function (t) {\n return a.a.reject(t);\n });\n }));case 3:case \"end\":\n return t.stop();}\n }\n }, t);\n }));return function (r) {\n return t.apply(this, arguments);\n };\n }(),\n v = n(51),\n y = n.n(v),\n d = n(53),\n m = n.n(d),\n g = n(13),\n x = n.n(g),\n b = n(54),\n w = n.n(b),\n O = n(55),\n j = n.n(O),\n S = n(24),\n E = n.n(S),\n A = n(25),\n P = n.n(A),\n T = n(26),\n _ = n.n(T),\n L = n(110),\n k = n.n(L),\n F = n(56),\n D = n.n(F),\n I = n(111),\n M = n.n(I),\n R = n(112),\n N = n.n(R),\n B = n(38),\n C = n.n(B),\n U = n(39),\n G = n.n(U),\n H = n(57),\n q = n.n(H),\n J = n(58),\n V = n.n(J),\n W = n(113),\n z = n.n(W),\n Y = n(52),\n K = n.n(Y),\n X = function X(t) {\n return !(t.visible || !t.value);\n },\n $ = function $(t) {\n var r = [],\n n = {},\n e = !0,\n o = !1,\n i = void 0;try {\n for (var a, u = K()(t.value); !(e = (a = u.next()).done); e = !0) {\n var c,\n s = a.value;if (X(s)) n[s.name] = null !== (c = s.value) && void 0 !== c ? c : \"\";else r.push(s);\n }\n } catch (t) {\n o = !0, i = t;\n } finally {\n try {\n e || null == u.return || u.return();\n } finally {\n if (o) throw i;\n }\n }return { neededParamsForAction: r, existingParamsForAction: n };\n };function Q(t, r) {\n var n = C()(t);if (_.a) {\n var e = _()(t);r && (e = G()(e).call(e, function (r) {\n return P()(t, r).enumerable;\n })), n.push.apply(n, e);\n }return n;\n }function Z(t) {\n for (var r = 1; r < arguments.length; r++) {\n var n,\n e = null != arguments[r] ? arguments[r] : {};if (r % 2) x()(n = Q(Object(e), !0)).call(n, function (r) {\n D()(t, r, e[r]);\n });else if (E.a) j()(t, E()(e));else {\n var o;x()(o = Q(Object(e))).call(o, function (r) {\n w()(t, r, P()(e, r));\n });\n }\n }return t;\n }var tt,\n rt = function rt(t) {\n var r = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : {},\n n = t.href;return function () {\n var e = c()(o.a.mark(function e(i) {\n return o.a.wrap(function (e) {\n for (;;) {\n switch (e.prev = e.next) {case 0:\n return e.abrupt(\"return\", l()(n, { method: t.method, headers: { \"content-type\": t.accepts }, body: f()(Z({}, i, {}, r)) }).then(function (t) {\n var r = t.json();return t.ok ? r : 401 === t.status && 'Oktadevicejwt realm=\"Okta Device\"' === t.headers.get(\"WWW-Authenticate\") ? r.then(function (t) {\n return a.a.reject(ct(t));\n }) : r.then(function (t) {\n return a.a.reject(t);\n });\n }).then(function (t) {\n return ct(t);\n }));case 1:case \"end\":\n return e.stop();}\n }\n }, e);\n }));return function (t) {\n return e.apply(this, arguments);\n };\n }();\n },\n nt = function nt(t) {\n var r = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : {},\n n = t.href;return function () {\n var e = c()(o.a.mark(function e(i) {\n return o.a.wrap(function (e) {\n for (;;) {\n switch (e.prev = e.next) {case 0:\n return e.abrupt(\"return\", l()(n, { method: t.method, headers: { \"content-type\": t.accepts }, body: f()(Z({}, i, {}, r)) }).then(function (t) {\n return t.ok ? t.json() : t.json().then(function (t) {\n return a.a.reject(t);\n });\n }).then(function (t) {\n return ct(t);\n }));case 1:case \"end\":\n return e.stop();}\n }\n }, e);\n }));return function (t) {\n return e.apply(this, arguments);\n };\n }();\n },\n et = function et(t) {\n var r = t.refresh ? nt : rt,\n n = function (t) {\n t = z()(t) ? t : [t];var r = {},\n n = {},\n e = !0,\n o = !1,\n i = void 0;try {\n for (var a, u = K()(t); !(e = (a = u.next()).done); e = !0) {\n var c = a.value,\n s = $(c),\n f = s.neededParamsForAction,\n p = s.existingParamsForAction;r[c.name] = f, n[c.name] = p;\n }\n } catch (t) {\n o = !0, i = t;\n } finally {\n try {\n e || null == u.return || u.return();\n } finally {\n if (o) throw i;\n }\n }return { neededParams: r, existingParams: n };\n }(t),\n e = n.neededParams,\n o = r(t, n.existingParams[t.name]);return o.neededParams = e[t.name], o;\n };function ot(t, r) {\n var n = C()(t);if (_.a) {\n var e = _()(t);r && (e = G()(e).call(e, function (r) {\n return P()(t, r).enumerable;\n })), n.push.apply(n, e);\n }return n;\n }var it = V()(q()(tt = [\"remediation\", \"context\"]).call(tt, function (t) {\n return [t, !0];\n })),\n at = function at(t) {\n var r,\n n,\n e = {},\n o = {};return x()(r = G()(n = C()(t)).call(n, function (t) {\n return !it[t];\n })).call(r, function (r) {\n var n;if (\"object\" === N()(t[r]) && !!t[r]) {\n if (t[r].rel) e[t[r].name] = et(t[r]);else {\n var i = t[r],\n a = i.value,\n u = i.type,\n c = M()(i, [\"value\", \"type\"]);o[r] = function (t) {\n for (var r = 1; r < arguments.length; r++) {\n var n,\n e = null != arguments[r] ? arguments[r] : {};if (r % 2) x()(n = ot(Object(e), !0)).call(n, function (r) {\n D()(t, r, e[r]);\n });else if (E.a) j()(t, E()(e));else {\n var o;x()(o = ot(Object(e))).call(o, function (r) {\n w()(t, r, P()(e, r));\n });\n }\n }return t;\n }({ type: u }, c), \"object\" === u ? (o[r].value = {}, x()(n = m()(a)).call(n, function (t) {\n var n,\n i = y()(t, 2),\n a = i[0],\n u = i[1];u.rel ? e[k()(n = \"\".concat(r, \"-\")).call(n, a.name || a)] = et(u) : o[r].value[a] = u;\n })) : o[r].value = a;\n }\n } else o[r] = t[r];\n }), { context: o, actions: e };\n },\n ut = function ut(t) {\n var r,\n n,\n e = (n = (null === (r = t.remediation) || void 0 === r ? void 0 : r.value) || [], V()(q()(n).call(n, function (t) {\n return [t.name, et(t)];\n }))),\n o = at(t);return { remediations: e, context: o.context, actions: o.actions };\n },\n ct = function ct(t) {\n var r,\n n = ut(t),\n e = n.remediations,\n i = n.context,\n u = n.actions,\n s = {};return x()(r = m()(e)).call(r, function (t) {\n var r = y()(t, 2),\n n = r[0],\n e = r[1];s[n] = e.neededParams;\n }), { proceed: function () {\n var t = c()(o.a.mark(function t(r) {\n var n,\n i = arguments;return o.a.wrap(function (t) {\n for (;;) {\n switch (t.prev = t.next) {case 0:\n if (n = i.length > 1 && void 0 !== i[1] ? i[1] : {}, e[r]) {\n t.next = 3;break;\n }return t.abrupt(\"return\", a.a.reject(\"Unknown remediation choice: [\".concat(r, \"]\")));case 3:\n return t.abrupt(\"return\", e[r](n));case 4:case \"end\":\n return t.stop();}\n }\n }, t);\n }));return function (r) {\n return t.apply(this, arguments);\n };\n }(), neededToProceed: s, actions: u, context: i, rawIdxState: t };\n },\n st = function () {\n var t = c()(o.a.mark(function t(r) {\n var n, e, i, u;return o.a.wrap(function (t) {\n for (;;) {\n switch (t.prev = t.next) {case 0:\n if (n = r.domain, e = r.stateHandle) {\n t.next = 3;break;\n }return t.abrupt(\"return\", a.a.reject({ error: \"stateHandle is required\" }));case 3:\n if (n) {\n t.next = 5;break;\n }return t.abrupt(\"return\", a.a.reject({ error: \"domain is required\" }));case 5:\n return t.next = 7, h({ domain: n, stateHandle: e }).catch(function (t) {\n return a.a.reject({ error: \"introspect call failed\", details: t });\n });case 7:\n return i = t.sent, u = ct(i), t.abrupt(\"return\", u);case 10:case \"end\":\n return t.stop();}\n }\n }, t);\n }));return function (r) {\n return t.apply(this, arguments);\n };\n }();r.default = { start: st };\n }]);\n});\n//# sourceMappingURL=idx.js.map\n/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(234)(module)))\n\n/***/ }),\n/* 497 */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = { \"default\": __webpack_require__(498), __esModule: true };\n\n/***/ }),\n/* 498 */\n/***/ (function(module, exports, __webpack_require__) {\n\n__webpack_require__(90);\n__webpack_require__(499);\nmodule.exports = __webpack_require__(9).Array.from;\n\n\n/***/ }),\n/* 499 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar ctx = __webpack_require__(78);\nvar $export = __webpack_require__(21);\nvar toObject = __webpack_require__(82);\nvar call = __webpack_require__(235);\nvar isArrayIter = __webpack_require__(236);\nvar toLength = __webpack_require__(159);\nvar createProperty = __webpack_require__(500);\nvar getIterFn = __webpack_require__(169);\n\n$export($export.S + $export.F * !__webpack_require__(237)(function (iter) { Array.from(iter); }), 'Array', {\n // 22.1.2.1 Array.from(arrayLike, mapfn = undefined, thisArg = undefined)\n from: function from(arrayLike /* , mapfn = undefined, thisArg = undefined */) {\n var O = toObject(arrayLike);\n var C = typeof this == 'function' ? this : Array;\n var aLen = arguments.length;\n var mapfn = aLen > 1 ? arguments[1] : undefined;\n var mapping = mapfn !== undefined;\n var index = 0;\n var iterFn = getIterFn(O);\n var length, result, step, iterator;\n if (mapping) mapfn = ctx(mapfn, aLen > 2 ? arguments[2] : undefined, 2);\n // if object isn't iterable or it's array with default iterator - use simple case\n if (iterFn != undefined && !(C == Array && isArrayIter(iterFn))) {\n for (iterator = iterFn.call(O), result = new C(); !(step = iterator.next()).done; index++) {\n createProperty(result, index, mapping ? call(iterator, mapfn, [step.value, index], true) : step.value);\n }\n } else {\n length = toLength(O.length);\n for (result = new C(length); length > index; index++) {\n createProperty(result, index, mapping ? mapfn(O[index], index) : O[index]);\n }\n }\n result.length = index;\n return result;\n }\n});\n\n\n/***/ }),\n/* 500 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar $defineProperty = __webpack_require__(50);\nvar createDesc = __webpack_require__(92);\n\nmodule.exports = function (object, index, value) {\n if (index in object) $defineProperty.f(object, index, createDesc(0, value));\n else object[index] = value;\n};\n\n\n/***/ }),\n/* 501 */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = { \"default\": __webpack_require__(502), __esModule: true };\n\n/***/ }),\n/* 502 */\n/***/ (function(module, exports, __webpack_require__) {\n\n__webpack_require__(503);\nmodule.exports = __webpack_require__(9).Object.setPrototypeOf;\n\n\n/***/ }),\n/* 503 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 19.1.3.19 Object.setPrototypeOf(O, proto)\nvar $export = __webpack_require__(21);\n$export($export.S, 'Object', { setPrototypeOf: __webpack_require__(504).set });\n\n\n/***/ }),\n/* 504 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// Works with __proto__ only. Old v8 can't work with null proto objects.\n/* eslint-disable no-proto */\nvar isObject = __webpack_require__(46);\nvar anObject = __webpack_require__(45);\nvar check = function (O, proto) {\n anObject(O);\n if (!isObject(proto) && proto !== null) throw TypeError(proto + \": can't set as prototype!\");\n};\nmodule.exports = {\n set: Object.setPrototypeOf || ('__proto__' in {} ? // eslint-disable-line\n function (test, buggy, set) {\n try {\n set = __webpack_require__(78)(Function.call, __webpack_require__(165).f(Object.prototype, '__proto__').set, 2);\n set(test, []);\n buggy = !(test instanceof Array);\n } catch (e) { buggy = true; }\n return function setPrototypeOf(O, proto) {\n check(O, proto);\n if (buggy) O.__proto__ = proto;\n else set(O, proto);\n return O;\n };\n }({}, false) : undefined),\n check: check\n};\n\n\n/***/ }),\n/* 505 */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = { \"default\": __webpack_require__(506), __esModule: true };\n\n/***/ }),\n/* 506 */\n/***/ (function(module, exports, __webpack_require__) {\n\n__webpack_require__(507);\nvar $Object = __webpack_require__(9).Object;\nmodule.exports = function defineProperties(T, D) {\n return $Object.defineProperties(T, D);\n};\n\n\n/***/ }),\n/* 507 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar $export = __webpack_require__(21);\n// 19.1.2.3 / 15.2.3.7 Object.defineProperties(O, Properties)\n$export($export.S + $export.F * !__webpack_require__(39), 'Object', { defineProperties: __webpack_require__(223) });\n\n\n/***/ }),\n/* 508 */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = { \"default\": __webpack_require__(509), __esModule: true };\n\n/***/ }),\n/* 509 */\n/***/ (function(module, exports, __webpack_require__) {\n\n__webpack_require__(229);\nmodule.exports = __webpack_require__(9).Object.getOwnPropertySymbols;\n\n\n/***/ }),\n/* 510 */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = { \"default\": __webpack_require__(511), __esModule: true };\n\n/***/ }),\n/* 511 */\n/***/ (function(module, exports, __webpack_require__) {\n\n__webpack_require__(512);\nmodule.exports = __webpack_require__(9).Object.getPrototypeOf;\n\n\n/***/ }),\n/* 512 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 19.1.2.9 Object.getPrototypeOf(O)\nvar toObject = __webpack_require__(82);\nvar $getPrototypeOf = __webpack_require__(227);\n\n__webpack_require__(95)('getPrototypeOf', function () {\n return function getPrototypeOf(it) {\n return $getPrototypeOf(toObject(it));\n };\n});\n\n\n/***/ }),\n/* 513 */\n/***/ (function(module, exports, __webpack_require__) {\n\n__webpack_require__(514);\nmodule.exports = __webpack_require__(9).Object.keys;\n\n\n/***/ }),\n/* 514 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 19.1.2.14 Object.keys(O)\nvar toObject = __webpack_require__(82);\nvar $keys = __webpack_require__(81);\n\n__webpack_require__(95)('keys', function () {\n return function keys(it) {\n return $keys(toObject(it));\n };\n});\n\n\n/***/ }),\n/* 515 */\n/***/ (function(module, exports, __webpack_require__) {\n\n__webpack_require__(166);\n__webpack_require__(90);\n__webpack_require__(118);\n__webpack_require__(516);\n__webpack_require__(524);\n__webpack_require__(525);\nmodule.exports = __webpack_require__(9).Promise;\n\n\n/***/ }),\n/* 516 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar LIBRARY = __webpack_require__(91);\nvar global = __webpack_require__(22);\nvar ctx = __webpack_require__(78);\nvar classof = __webpack_require__(170);\nvar $export = __webpack_require__(21);\nvar isObject = __webpack_require__(46);\nvar aFunction = __webpack_require__(115);\nvar anInstance = __webpack_require__(517);\nvar forOf = __webpack_require__(518);\nvar speciesConstructor = __webpack_require__(238);\nvar task = __webpack_require__(239).set;\nvar microtask = __webpack_require__(520)();\nvar newPromiseCapabilityModule = __webpack_require__(173);\nvar perform = __webpack_require__(240);\nvar userAgent = __webpack_require__(521);\nvar promiseResolve = __webpack_require__(241);\nvar PROMISE = 'Promise';\nvar TypeError = global.TypeError;\nvar process = global.process;\nvar versions = process && process.versions;\nvar v8 = versions && versions.v8 || '';\nvar $Promise = global[PROMISE];\nvar isNode = classof(process) == 'process';\nvar empty = function () { /* empty */ };\nvar Internal, newGenericPromiseCapability, OwnPromiseCapability, Wrapper;\nvar newPromiseCapability = newGenericPromiseCapability = newPromiseCapabilityModule.f;\n\nvar USE_NATIVE = !!function () {\n try {\n // correct subclassing with @@species support\n var promise = $Promise.resolve(1);\n var FakePromise = (promise.constructor = {})[__webpack_require__(23)('species')] = function (exec) {\n exec(empty, empty);\n };\n // unhandled rejections tracking support, NodeJS Promise without it fails @@species test\n return (isNode || typeof PromiseRejectionEvent == 'function')\n && promise.then(empty) instanceof FakePromise\n // v8 6.6 (Node 10 and Chrome 66) have a bug with resolving custom thenables\n // https://bugs.chromium.org/p/chromium/issues/detail?id=830565\n // we can't detect it synchronously, so just check versions\n && v8.indexOf('6.6') !== 0\n && userAgent.indexOf('Chrome/66') === -1;\n } catch (e) { /* empty */ }\n}();\n\n// helpers\nvar isThenable = function (it) {\n var then;\n return isObject(it) && typeof (then = it.then) == 'function' ? then : false;\n};\nvar notify = function (promise, isReject) {\n if (promise._n) return;\n promise._n = true;\n var chain = promise._c;\n microtask(function () {\n var value = promise._v;\n var ok = promise._s == 1;\n var i = 0;\n var run = function (reaction) {\n var handler = ok ? reaction.ok : reaction.fail;\n var resolve = reaction.resolve;\n var reject = reaction.reject;\n var domain = reaction.domain;\n var result, then, exited;\n try {\n if (handler) {\n if (!ok) {\n if (promise._h == 2) onHandleUnhandled(promise);\n promise._h = 1;\n }\n if (handler === true) result = value;\n else {\n if (domain) domain.enter();\n result = handler(value); // may throw\n if (domain) {\n domain.exit();\n exited = true;\n }\n }\n if (result === reaction.promise) {\n reject(TypeError('Promise-chain cycle'));\n } else if (then = isThenable(result)) {\n then.call(result, resolve, reject);\n } else resolve(result);\n } else reject(value);\n } catch (e) {\n if (domain && !exited) domain.exit();\n reject(e);\n }\n };\n while (chain.length > i) run(chain[i++]); // variable length - can't use forEach\n promise._c = [];\n promise._n = false;\n if (isReject && !promise._h) onUnhandled(promise);\n });\n};\nvar onUnhandled = function (promise) {\n task.call(global, function () {\n var value = promise._v;\n var unhandled = isUnhandled(promise);\n var result, handler, console;\n if (unhandled) {\n result = perform(function () {\n if (isNode) {\n process.emit('unhandledRejection', value, promise);\n } else if (handler = global.onunhandledrejection) {\n handler({ promise: promise, reason: value });\n } else if ((console = global.console) && console.error) {\n console.error('Unhandled promise rejection', value);\n }\n });\n // Browsers should not trigger `rejectionHandled` event if it was handled here, NodeJS - should\n promise._h = isNode || isUnhandled(promise) ? 2 : 1;\n } promise._a = undefined;\n if (unhandled && result.e) throw result.v;\n });\n};\nvar isUnhandled = function (promise) {\n return promise._h !== 1 && (promise._a || promise._c).length === 0;\n};\nvar onHandleUnhandled = function (promise) {\n task.call(global, function () {\n var handler;\n if (isNode) {\n process.emit('rejectionHandled', promise);\n } else if (handler = global.onrejectionhandled) {\n handler({ promise: promise, reason: promise._v });\n }\n });\n};\nvar $reject = function (value) {\n var promise = this;\n if (promise._d) return;\n promise._d = true;\n promise = promise._w || promise; // unwrap\n promise._v = value;\n promise._s = 2;\n if (!promise._a) promise._a = promise._c.slice();\n notify(promise, true);\n};\nvar $resolve = function (value) {\n var promise = this;\n var then;\n if (promise._d) return;\n promise._d = true;\n promise = promise._w || promise; // unwrap\n try {\n if (promise === value) throw TypeError(\"Promise can't be resolved itself\");\n if (then = isThenable(value)) {\n microtask(function () {\n var wrapper = { _w: promise, _d: false }; // wrap\n try {\n then.call(value, ctx($resolve, wrapper, 1), ctx($reject, wrapper, 1));\n } catch (e) {\n $reject.call(wrapper, e);\n }\n });\n } else {\n promise._v = value;\n promise._s = 1;\n notify(promise, false);\n }\n } catch (e) {\n $reject.call({ _w: promise, _d: false }, e); // wrap\n }\n};\n\n// constructor polyfill\nif (!USE_NATIVE) {\n // 25.4.3.1 Promise(executor)\n $Promise = function Promise(executor) {\n anInstance(this, $Promise, PROMISE, '_h');\n aFunction(executor);\n Internal.call(this);\n try {\n executor(ctx($resolve, this, 1), ctx($reject, this, 1));\n } catch (err) {\n $reject.call(this, err);\n }\n };\n // eslint-disable-next-line no-unused-vars\n Internal = function Promise(executor) {\n this._c = []; // <- awaiting reactions\n this._a = undefined; // <- checked in isUnhandled reactions\n this._s = 0; // <- state\n this._d = false; // <- done\n this._v = undefined; // <- value\n this._h = 0; // <- rejection state, 0 - default, 1 - handled, 2 - unhandled\n this._n = false; // <- notify\n };\n Internal.prototype = __webpack_require__(522)($Promise.prototype, {\n // 25.4.5.3 Promise.prototype.then(onFulfilled, onRejected)\n then: function then(onFulfilled, onRejected) {\n var reaction = newPromiseCapability(speciesConstructor(this, $Promise));\n reaction.ok = typeof onFulfilled == 'function' ? onFulfilled : true;\n reaction.fail = typeof onRejected == 'function' && onRejected;\n reaction.domain = isNode ? process.domain : undefined;\n this._c.push(reaction);\n if (this._a) this._a.push(reaction);\n if (this._s) notify(this, false);\n return reaction.promise;\n },\n // 25.4.5.1 Promise.prototype.catch(onRejected)\n 'catch': function (onRejected) {\n return this.then(undefined, onRejected);\n }\n });\n OwnPromiseCapability = function () {\n var promise = new Internal();\n this.promise = promise;\n this.resolve = ctx($resolve, promise, 1);\n this.reject = ctx($reject, promise, 1);\n };\n newPromiseCapabilityModule.f = newPromiseCapability = function (C) {\n return C === $Promise || C === Wrapper\n ? new OwnPromiseCapability(C)\n : newGenericPromiseCapability(C);\n };\n}\n\n$export($export.G + $export.W + $export.F * !USE_NATIVE, { Promise: $Promise });\n__webpack_require__(117)($Promise, PROMISE);\n__webpack_require__(523)(PROMISE);\nWrapper = __webpack_require__(9)[PROMISE];\n\n// statics\n$export($export.S + $export.F * !USE_NATIVE, PROMISE, {\n // 25.4.4.5 Promise.reject(r)\n reject: function reject(r) {\n var capability = newPromiseCapability(this);\n var $$reject = capability.reject;\n $$reject(r);\n return capability.promise;\n }\n});\n$export($export.S + $export.F * (LIBRARY || !USE_NATIVE), PROMISE, {\n // 25.4.4.6 Promise.resolve(x)\n resolve: function resolve(x) {\n return promiseResolve(LIBRARY && this === Wrapper ? $Promise : this, x);\n }\n});\n$export($export.S + $export.F * !(USE_NATIVE && __webpack_require__(237)(function (iter) {\n $Promise.all(iter)['catch'](empty);\n})), PROMISE, {\n // 25.4.4.1 Promise.all(iterable)\n all: function all(iterable) {\n var C = this;\n var capability = newPromiseCapability(C);\n var resolve = capability.resolve;\n var reject = capability.reject;\n var result = perform(function () {\n var values = [];\n var index = 0;\n var remaining = 1;\n forOf(iterable, false, function (promise) {\n var $index = index++;\n var alreadyCalled = false;\n values.push(undefined);\n remaining++;\n C.resolve(promise).then(function (value) {\n if (alreadyCalled) return;\n alreadyCalled = true;\n values[$index] = value;\n --remaining || resolve(values);\n }, reject);\n });\n --remaining || resolve(values);\n });\n if (result.e) reject(result.v);\n return capability.promise;\n },\n // 25.4.4.4 Promise.race(iterable)\n race: function race(iterable) {\n var C = this;\n var capability = newPromiseCapability(C);\n var reject = capability.reject;\n var result = perform(function () {\n forOf(iterable, false, function (promise) {\n C.resolve(promise).then(capability.resolve, reject);\n });\n });\n if (result.e) reject(result.v);\n return capability.promise;\n }\n});\n\n\n/***/ }),\n/* 517 */\n/***/ (function(module, exports) {\n\nmodule.exports = function (it, Constructor, name, forbiddenField) {\n if (!(it instanceof Constructor) || (forbiddenField !== undefined && forbiddenField in it)) {\n throw TypeError(name + ': incorrect invocation!');\n } return it;\n};\n\n\n/***/ }),\n/* 518 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar ctx = __webpack_require__(78);\nvar call = __webpack_require__(235);\nvar isArrayIter = __webpack_require__(236);\nvar anObject = __webpack_require__(45);\nvar toLength = __webpack_require__(159);\nvar getIterFn = __webpack_require__(169);\nvar BREAK = {};\nvar RETURN = {};\nvar exports = module.exports = function (iterable, entries, fn, that, ITERATOR) {\n var iterFn = ITERATOR ? function () { return iterable; } : getIterFn(iterable);\n var f = ctx(fn, that, entries ? 2 : 1);\n var index = 0;\n var length, step, iterator, result;\n if (typeof iterFn != 'function') throw TypeError(iterable + ' is not iterable!');\n // fast case for arrays with default iterator\n if (isArrayIter(iterFn)) for (length = toLength(iterable.length); length > index; index++) {\n result = entries ? f(anObject(step = iterable[index])[0], step[1]) : f(iterable[index]);\n if (result === BREAK || result === RETURN) return result;\n } else for (iterator = iterFn.call(iterable); !(step = iterator.next()).done;) {\n result = call(iterator, f, step.value, entries);\n if (result === BREAK || result === RETURN) return result;\n }\n};\nexports.BREAK = BREAK;\nexports.RETURN = RETURN;\n\n\n/***/ }),\n/* 519 */\n/***/ (function(module, exports) {\n\n// fast apply, http://jsperf.lnkit.com/fast-apply/5\nmodule.exports = function (fn, args, that) {\n var un = that === undefined;\n switch (args.length) {\n case 0: return un ? fn()\n : fn.call(that);\n case 1: return un ? fn(args[0])\n : fn.call(that, args[0]);\n case 2: return un ? fn(args[0], args[1])\n : fn.call(that, args[0], args[1]);\n case 3: return un ? fn(args[0], args[1], args[2])\n : fn.call(that, args[0], args[1], args[2]);\n case 4: return un ? fn(args[0], args[1], args[2], args[3])\n : fn.call(that, args[0], args[1], args[2], args[3]);\n } return fn.apply(that, args);\n};\n\n\n/***/ }),\n/* 520 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar global = __webpack_require__(22);\nvar macrotask = __webpack_require__(239).set;\nvar Observer = global.MutationObserver || global.WebKitMutationObserver;\nvar process = global.process;\nvar Promise = global.Promise;\nvar isNode = __webpack_require__(93)(process) == 'process';\n\nmodule.exports = function () {\n var head, last, notify;\n\n var flush = function () {\n var parent, fn;\n if (isNode && (parent = process.domain)) parent.exit();\n while (head) {\n fn = head.fn;\n head = head.next;\n try {\n fn();\n } catch (e) {\n if (head) notify();\n else last = undefined;\n throw e;\n }\n } last = undefined;\n if (parent) parent.enter();\n };\n\n // Node.js\n if (isNode) {\n notify = function () {\n process.nextTick(flush);\n };\n // browsers with MutationObserver, except iOS Safari - https://github.com/zloirock/core-js/issues/339\n } else if (Observer && !(global.navigator && global.navigator.standalone)) {\n var toggle = true;\n var node = document.createTextNode('');\n new Observer(flush).observe(node, { characterData: true }); // eslint-disable-line no-new\n notify = function () {\n node.data = toggle = !toggle;\n };\n // environments with maybe non-completely correct, but existent Promise\n } else if (Promise && Promise.resolve) {\n // Promise.resolve without an argument throws an error in LG WebOS 2\n var promise = Promise.resolve(undefined);\n notify = function () {\n promise.then(flush);\n };\n // for other environments - macrotask based on:\n // - setImmediate\n // - MessageChannel\n // - window.postMessag\n // - onreadystatechange\n // - setTimeout\n } else {\n notify = function () {\n // strange IE + webpack dev server bug - use .call(global)\n macrotask.call(global, flush);\n };\n }\n\n return function (fn) {\n var task = { fn: fn, next: undefined };\n if (last) last.next = task;\n if (!head) {\n head = task;\n notify();\n } last = task;\n };\n};\n\n\n/***/ }),\n/* 521 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar global = __webpack_require__(22);\nvar navigator = global.navigator;\n\nmodule.exports = navigator && navigator.userAgent || '';\n\n\n/***/ }),\n/* 522 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar hide = __webpack_require__(71);\nmodule.exports = function (target, src, safe) {\n for (var key in src) {\n if (safe && target[key]) target[key] = src[key];\n else hide(target, key, src[key]);\n } return target;\n};\n\n\n/***/ }),\n/* 523 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar global = __webpack_require__(22);\nvar core = __webpack_require__(9);\nvar dP = __webpack_require__(50);\nvar DESCRIPTORS = __webpack_require__(39);\nvar SPECIES = __webpack_require__(23)('species');\n\nmodule.exports = function (KEY) {\n var C = typeof core[KEY] == 'function' ? core[KEY] : global[KEY];\n if (DESCRIPTORS && C && !C[SPECIES]) dP.f(C, SPECIES, {\n configurable: true,\n get: function () { return this; }\n });\n};\n\n\n/***/ }),\n/* 524 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n// https://github.com/tc39/proposal-promise-finally\n\nvar $export = __webpack_require__(21);\nvar core = __webpack_require__(9);\nvar global = __webpack_require__(22);\nvar speciesConstructor = __webpack_require__(238);\nvar promiseResolve = __webpack_require__(241);\n\n$export($export.P + $export.R, 'Promise', { 'finally': function (onFinally) {\n var C = speciesConstructor(this, core.Promise || global.Promise);\n var isFunction = typeof onFinally == 'function';\n return this.then(\n isFunction ? function (x) {\n return promiseResolve(C, onFinally()).then(function () { return x; });\n } : onFinally,\n isFunction ? function (e) {\n return promiseResolve(C, onFinally()).then(function () { throw e; });\n } : onFinally\n );\n} });\n\n\n/***/ }),\n/* 525 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n// https://github.com/tc39/proposal-promise-try\nvar $export = __webpack_require__(21);\nvar newPromiseCapability = __webpack_require__(173);\nvar perform = __webpack_require__(240);\n\n$export($export.S, 'Promise', { 'try': function (callbackfn) {\n var promiseCapability = newPromiseCapability.f(this);\n var result = perform(callbackfn);\n (result.e ? promiseCapability.reject : promiseCapability.resolve)(result.v);\n return promiseCapability.promise;\n} });\n\n\n/***/ }),\n/* 526 */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = { \"default\": __webpack_require__(527), __esModule: true };\n\n/***/ }),\n/* 527 */\n/***/ (function(module, exports, __webpack_require__) {\n\n__webpack_require__(528);\nvar $Object = __webpack_require__(9).Object;\nmodule.exports = function getOwnPropertyNames(it) {\n return $Object.getOwnPropertyNames(it);\n};\n\n\n/***/ }),\n/* 528 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 19.1.2.7 Object.getOwnPropertyNames(O)\n__webpack_require__(95)('getOwnPropertyNames', function () {\n return __webpack_require__(231).f;\n});\n\n\n/***/ }),\n/* 529 */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = { \"default\": __webpack_require__(530), __esModule: true };\n\n/***/ }),\n/* 530 */\n/***/ (function(module, exports, __webpack_require__) {\n\n__webpack_require__(531);\nvar $Object = __webpack_require__(9).Object;\nmodule.exports = function getOwnPropertyDescriptor(it, key) {\n return $Object.getOwnPropertyDescriptor(it, key);\n};\n\n\n/***/ }),\n/* 531 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 19.1.2.6 Object.getOwnPropertyDescriptor(O, P)\nvar toIObject = __webpack_require__(56);\nvar $getOwnPropertyDescriptor = __webpack_require__(165).f;\n\n__webpack_require__(95)('getOwnPropertyDescriptor', function () {\n return function getOwnPropertyDescriptor(it, key) {\n return $getOwnPropertyDescriptor(toIObject(it), key);\n };\n});\n\n\n/***/ }),\n/* 532 */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = { \"default\": __webpack_require__(533), __esModule: true };\n\n/***/ }),\n/* 533 */\n/***/ (function(module, exports, __webpack_require__) {\n\n__webpack_require__(534);\nvar $Object = __webpack_require__(9).Object;\nmodule.exports = function create(P, D) {\n return $Object.create(P, D);\n};\n\n\n/***/ }),\n/* 534 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar $export = __webpack_require__(21);\n// 19.1.2.2 / 15.2.3.5 Object.create(O [, Properties])\n$export($export.S, 'Object', { create: __webpack_require__(158) });\n\n\n/***/ }),\n/* 535 */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = { \"default\": __webpack_require__(536), __esModule: true };\n\n/***/ }),\n/* 536 */\n/***/ (function(module, exports, __webpack_require__) {\n\n__webpack_require__(166);\nmodule.exports = __webpack_require__(119).f('toStringTag');\n\n\n/***/ }),\n/* 537 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\nvar __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;\n\n/*!\n * Copyright (c) 2015-2016, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n\n/* eslint max-params: 0 */\n!(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(607), __webpack_require__(538), __webpack_require__(242), __webpack_require__(550), __webpack_require__(561), __webpack_require__(564), __webpack_require__(575), __webpack_require__(579), __webpack_require__(580), __webpack_require__(581), __webpack_require__(582), __webpack_require__(590), __webpack_require__(591), __webpack_require__(592), __webpack_require__(593), __webpack_require__(594), __webpack_require__(596), __webpack_require__(597), __webpack_require__(598), __webpack_require__(599), __webpack_require__(600), __webpack_require__(601), __webpack_require__(603), __webpack_require__(604), __webpack_require__(255), __webpack_require__(605), __webpack_require__(606), __webpack_require__(647), __webpack_require__(610), __webpack_require__(611), __webpack_require__(612), __webpack_require__(614), __webpack_require__(616), __webpack_require__(617), __webpack_require__(618), __webpack_require__(619), __webpack_require__(620), __webpack_require__(621), __webpack_require__(622), __webpack_require__(623), __webpack_require__(624), __webpack_require__(625), __webpack_require__(626), __webpack_require__(627), __webpack_require__(628), __webpack_require__(629), __webpack_require__(630), __webpack_require__(634), __webpack_require__(635), __webpack_require__(638), __webpack_require__(258), __webpack_require__(642), __webpack_require__(645), __webpack_require__(646)], __WEBPACK_AMD_DEFINE_RESULT__ = (function (BaseLoginRouter, IDPDiscoveryController, PrimaryAuthController, VerifyDuoController, VerifyPIVController, MfaVerifyController, VerifyWindowsHelloController, VerifyU2FController, VerifyWebauthnController, VerifyCustomFactorController, EnrollChoicesController, EnrollDuoController, EnrollQuestionController, EnrollPasswordController, EnrollWindowsHelloController, EnrollCallAndSmsController, EnrollEmailController, EnrollActivateEmailController, EnrollOnPremController, EnrollSymantecVipController, EnrollYubikeyController, EnrollTotpController, EnrollU2FController, EnrollWebauthnController, EnrollCustomFactorController, EnrollActivateCustomFactorController, EnrollHotpController, BarcodeTotpController, BarcodePushController, ActivateTotpController, ManualSetupTotpController, ManualSetupPushController, EnrollmentLinkSentController, EnterPasscodePushFlowController, PasswordExpiredController, CustomPasswordExpiredController, ForgotPasswordController, RecoveryChallengeController, PwdResetEmailSentController, RecoveryQuestionController, PasswordResetController, RecoveryLoadingController, UnlockAccountController, AccountUnlockedController, UnlockEmailSentController, RefreshAuthStateController, RegistrationController, RegistrationCompleteController, ConsentRequiredController, EnrollUserController, SecurityBeacon, FactorBeacon, PIVBeacon, PollController) {\n return BaseLoginRouter.extend({\n\n routes: {\n '': 'defaultAuth',\n 'signin': 'primaryAuth',\n 'signin/verify/duo/web': 'verifyDuo',\n 'signin/verify/piv': 'verifyPIV',\n 'signin/poll': 'poll',\n 'signin/verify/fido/webauthn': 'verifyWebauthn',\n 'signin/verify/webauthn': 'verifyWebauthn',\n 'signin/verify/fido/u2f': 'verifyU2F',\n 'signin/verify/u2f': 'verifyU2F',\n 'signin/verify/generic_saml/assertion:saml2': 'verifySAMLFactor',\n 'signin/verify/generic_oidc/assertion:oidc': 'verifyOIDCFactor',\n 'signin/verify/custom/claims_provider': 'verifyClaimsFactor',\n 'signin/verify/:factorType': 'verifyNoProvider',\n 'signin/verify/:provider/:factorType(/:factorIndex)': 'verify',\n 'signin/enroll': 'enrollChoices',\n 'signin/enroll/duo/web': 'enrollDuo',\n 'signin/enroll/okta/question': 'enrollQuestion',\n 'signin/enroll/okta/password': 'enrollPassword',\n 'signin/enroll/okta/sms': 'enrollSms',\n 'signin/enroll/okta/call': 'enrollCall',\n 'signin/enroll/okta/email': 'enrollEmail',\n 'signin/enroll-activate/okta/sms': 'enrollSms',\n 'signin/enroll/rsa/token': 'enrollRsa',\n 'signin/enroll/del_oath/token': 'enrollOnPrem',\n 'signin/enroll/symantec/token': 'enrollSymantecVip',\n 'signin/enroll/yubico/token:hardware': 'enrollYubikey',\n 'signin/enroll/fido/webauthn': 'enrollWebauthn',\n 'signin/enroll/fido/u2f': 'enrollU2F',\n 'signin/enroll/generic_saml/assertion:saml2': 'enrollSAMLFactor',\n 'signin/enroll/generic_oidc/assertion:oidc': 'enrollOIDCFactor',\n 'signin/enroll/custom/claims_provider': 'enrollClaimsFactor',\n 'signin/enroll/custom/token:hotp': 'enrollHotpFactor',\n 'signin/enroll/:provider/:factorType': 'enrollTotpFactor',\n 'signin/enroll-activate/okta/email': 'enrollActivateEmail',\n 'signin/enroll-activate/okta/push': 'scanBarcodePushFactor',\n 'signin/enroll-activate/okta/push/manual': 'manualSetupPushFactor',\n 'signin/enroll-activate/okta/push/sent': 'activationLinkSent',\n 'signin/enroll-activate/okta/token:software:totp/passcode': 'enterPasscodeInPushEnrollmentFlow',\n 'signin/enroll-activate/custom/claims_provider': 'enrollActivateClaimsFactor',\n 'signin/enroll-activate/:provider/:factorType': 'scanBarcodeTotpFactor',\n 'signin/enroll-activate/:provider/:factorType/activate': 'activateTotpFactor',\n 'signin/enroll-activate/:provider/:factorType/manual': 'manualSetupTotpFactor',\n 'signin/password-expired': 'passwordExpired',\n 'signin/custom-password-expired': 'customPasswordExpired',\n 'signin/forgot-password': 'forgotPassword',\n 'signin/recovery-challenge': 'recoveryChallenge',\n 'signin/recovery-emailed': 'recoveryEmailSent',\n 'signin/recovery-question': 'recoveryQuestion',\n 'signin/password-reset': 'passwordReset',\n 'signin/reset-password/:token': 'recoveryLoading',\n 'signin/user-unlock/:token': 'recoveryLoading',\n 'signin/recovery/:token': 'recoveryLoading',\n 'signin/unlock-emailed': 'unlockEmailSent',\n 'signin/unlock': 'unlockAccount',\n 'signin/account-unlocked': 'accountUnlocked',\n 'signin/refresh-auth-state(/:token)': 'refreshAuthState',\n 'signin/register': 'register',\n 'signin/register-complete': 'registerComplete',\n 'signin/consent': 'consentRequired',\n 'signin/enroll-user': 'enrollUser',\n '*wildcard': 'defaultAuth'\n },\n\n // Route handlers that do not require a stateToken. If the page is refreshed,\n // these functions will not require a status call to refresh the stateToken.\n stateLessRouteHandlers: ['defaultAuth', 'idpDiscovery', 'primaryAuth', 'forgotPassword', 'recoveryLoading', 'unlockAccount', 'refreshAuthState', 'register', 'registerComplete', 'verifyPIV'],\n\n defaultAuth: function defaultAuth() {\n if (this.settings.get('features.idpDiscovery')) {\n this.idpDiscovery();\n } else {\n this.primaryAuth();\n }\n },\n\n idpDiscovery: function idpDiscovery() {\n this.render(IDPDiscoveryController, { Beacon: SecurityBeacon });\n },\n\n primaryAuth: function primaryAuth() {\n this.render(PrimaryAuthController, { Beacon: SecurityBeacon });\n },\n\n verifyDuo: function verifyDuo() {\n this.render(VerifyDuoController, {\n provider: 'DUO',\n factorType: 'web',\n Beacon: FactorBeacon\n });\n },\n\n verifyPIV: function verifyPIV() {\n this.render(VerifyPIVController, { Beacon: PIVBeacon });\n },\n\n poll: function poll() {\n this.render(PollController);\n },\n\n verifyWebauthn: function verifyWebauthn() {\n if (this.settings.get('features.webauthn')) {\n this.render(VerifyWebauthnController, {\n provider: 'FIDO',\n factorType: 'webauthn',\n Beacon: FactorBeacon\n });\n } else {\n this.render(VerifyWindowsHelloController, {\n provider: 'FIDO',\n factorType: 'webauthn',\n Beacon: FactorBeacon\n });\n }\n },\n\n verifyU2F: function verifyU2F() {\n this.render(VerifyU2FController, {\n provider: 'FIDO',\n factorType: 'u2f',\n Beacon: FactorBeacon\n });\n },\n\n verifySAMLFactor: function verifySAMLFactor() {\n this.render(VerifyCustomFactorController, {\n provider: 'GENERIC_SAML',\n factorType: 'assertion:saml2',\n Beacon: FactorBeacon\n });\n },\n\n verifyOIDCFactor: function verifyOIDCFactor() {\n this.render(VerifyCustomFactorController, {\n provider: 'GENERIC_OIDC',\n factorType: 'assertion:oidc',\n Beacon: FactorBeacon\n });\n },\n\n verifyClaimsFactor: function verifyClaimsFactor() {\n this.render(VerifyCustomFactorController, {\n provider: 'CUSTOM',\n factorType: 'claims_provider',\n Beacon: FactorBeacon\n });\n },\n\n verify: function verify(provider, factorType, factorIndex) {\n this.render(MfaVerifyController, {\n provider: provider.toUpperCase(),\n factorType: factorType,\n factorIndex: factorIndex,\n Beacon: FactorBeacon\n });\n },\n\n verifyNoProvider: function verifyNoProvider(factorType) {\n this.render(MfaVerifyController, {\n factorType: factorType,\n Beacon: FactorBeacon\n });\n },\n\n enrollChoices: function enrollChoices() {\n this.render(EnrollChoicesController, { Beacon: SecurityBeacon });\n },\n\n enrollDuo: function enrollDuo() {\n this.render(EnrollDuoController, {\n provider: 'DUO',\n factorType: 'web',\n Beacon: FactorBeacon\n });\n },\n\n enrollQuestion: function enrollQuestion() {\n this.render(EnrollQuestionController, {\n provider: 'OKTA',\n factorType: 'question',\n Beacon: FactorBeacon\n });\n },\n\n enrollPassword: function enrollPassword() {\n this.render(EnrollPasswordController, {\n provider: 'OKTA',\n factorType: 'password',\n Beacon: FactorBeacon\n });\n },\n\n enrollSms: function enrollSms() {\n this.render(EnrollCallAndSmsController, {\n provider: 'OKTA',\n factorType: 'sms',\n Beacon: FactorBeacon\n });\n },\n\n enrollCall: function enrollCall() {\n this.render(EnrollCallAndSmsController, {\n provider: 'OKTA',\n factorType: 'call',\n Beacon: FactorBeacon\n });\n },\n\n enrollEmail: function enrollEmail() {\n this.render(EnrollEmailController, {\n provider: 'OKTA',\n factorType: 'email',\n Beacon: FactorBeacon\n });\n },\n\n enrollActivateEmail: function enrollActivateEmail() {\n this.render(EnrollActivateEmailController, {\n provider: 'OKTA',\n factorType: 'email',\n Beacon: FactorBeacon\n });\n },\n\n enrollRsa: function enrollRsa() {\n this.render(EnrollOnPremController, {\n provider: 'RSA',\n factorType: 'token',\n Beacon: FactorBeacon\n });\n },\n\n enrollOnPrem: function enrollOnPrem() {\n this.render(EnrollOnPremController, {\n provider: 'DEL_OATH',\n factorType: 'token',\n Beacon: FactorBeacon\n });\n },\n\n enrollSymantecVip: function enrollSymantecVip() {\n this.render(EnrollSymantecVipController, {\n provider: 'SYMANTEC',\n factorType: 'token',\n Beacon: FactorBeacon\n });\n },\n\n enrollYubikey: function enrollYubikey() {\n this.render(EnrollYubikeyController, {\n provider: 'YUBICO',\n factorType: 'token:hardware',\n Beacon: FactorBeacon\n });\n },\n\n enrollSAMLFactor: function enrollSAMLFactor() {\n this.render(EnrollCustomFactorController, {\n provider: 'GENERIC_SAML',\n factorType: 'assertion:saml2',\n Beacon: FactorBeacon\n });\n },\n\n enrollOIDCFactor: function enrollOIDCFactor() {\n this.render(EnrollCustomFactorController, {\n provider: 'GENERIC_OIDC',\n factorType: 'assertion:oidc',\n Beacon: FactorBeacon\n });\n },\n\n enrollClaimsFactor: function enrollClaimsFactor() {\n this.render(EnrollCustomFactorController, {\n provider: 'CUSTOM',\n factorType: 'claims_provider',\n Beacon: FactorBeacon\n });\n },\n\n enrollActivateClaimsFactor: function enrollActivateClaimsFactor() {\n this.render(EnrollActivateCustomFactorController, {\n provider: 'CUSTOM',\n factorType: 'claims_provider',\n Beacon: FactorBeacon\n });\n },\n\n enrollTotpFactor: function enrollTotpFactor(provider, factorType) {\n this.render(EnrollTotpController, {\n provider: provider.toUpperCase(),\n factorType: factorType,\n Beacon: FactorBeacon\n });\n },\n\n enrollHotpFactor: function enrollHotpFactor() {\n this.render(EnrollHotpController, {\n provider: 'CUSTOM',\n factorType: 'token:hotp',\n Beacon: FactorBeacon\n });\n },\n\n enrollWebauthn: function enrollWebauthn() {\n if (this.settings.get('features.webauthn')) {\n this.render(EnrollWebauthnController, {\n provider: 'FIDO',\n factorType: 'webauthn',\n Beacon: FactorBeacon\n });\n } else {\n this.render(EnrollWindowsHelloController, {\n provider: 'FIDO',\n factorType: 'webauthn',\n Beacon: FactorBeacon\n });\n }\n },\n\n enrollU2F: function enrollU2F() {\n this.render(EnrollU2FController, {\n provider: 'FIDO',\n factorType: 'u2f',\n Beacon: FactorBeacon\n });\n },\n\n scanBarcodeTotpFactor: function scanBarcodeTotpFactor(provider, factorType) {\n this.render(BarcodeTotpController, {\n provider: provider.toUpperCase(),\n factorType: factorType,\n Beacon: FactorBeacon\n });\n },\n\n scanBarcodePushFactor: function scanBarcodePushFactor() {\n this.render(BarcodePushController, {\n provider: 'OKTA',\n factorType: 'push',\n Beacon: FactorBeacon\n });\n },\n\n activateTotpFactor: function activateTotpFactor(provider, factorType) {\n this.render(ActivateTotpController, {\n provider: provider.toUpperCase(),\n factorType: factorType,\n Beacon: FactorBeacon\n });\n },\n\n manualSetupTotpFactor: function manualSetupTotpFactor(provider, factorType) {\n this.render(ManualSetupTotpController, {\n provider: provider.toUpperCase(),\n factorType: factorType,\n Beacon: FactorBeacon\n });\n },\n\n manualSetupPushFactor: function manualSetupPushFactor() {\n this.render(ManualSetupPushController, {\n provider: 'OKTA',\n factorType: 'push',\n Beacon: FactorBeacon\n });\n },\n\n activationLinkSent: function activationLinkSent() {\n this.render(EnrollmentLinkSentController, {\n provider: 'OKTA',\n factorType: 'push',\n Beacon: FactorBeacon\n });\n },\n\n enterPasscodeInPushEnrollmentFlow: function enterPasscodeInPushEnrollmentFlow() {\n this.render(EnterPasscodePushFlowController, {\n provider: 'OKTA',\n factorType: 'token:software:totp',\n Beacon: FactorBeacon\n });\n },\n\n passwordExpired: function passwordExpired() {\n this.render(PasswordExpiredController, { Beacon: SecurityBeacon });\n },\n\n customPasswordExpired: function customPasswordExpired() {\n this.render(CustomPasswordExpiredController, { Beacon: SecurityBeacon });\n },\n\n forgotPassword: function forgotPassword() {\n this.render(ForgotPasswordController);\n },\n\n recoveryChallenge: function recoveryChallenge() {\n this.render(RecoveryChallengeController, { Beacon: SecurityBeacon });\n },\n\n recoveryEmailSent: function recoveryEmailSent() {\n this.render(PwdResetEmailSentController, { Beacon: SecurityBeacon });\n },\n\n unlockEmailSent: function unlockEmailSent() {\n this.render(UnlockEmailSentController, { Beacon: SecurityBeacon });\n },\n\n recoveryQuestion: function recoveryQuestion() {\n this.render(RecoveryQuestionController, { Beacon: SecurityBeacon });\n },\n\n passwordReset: function passwordReset() {\n this.render(PasswordResetController, { Beacon: SecurityBeacon });\n },\n\n recoveryLoading: function recoveryLoading(token) {\n this.render(RecoveryLoadingController, {\n token: token,\n Beacon: SecurityBeacon\n });\n },\n\n unlockAccount: function unlockAccount() {\n this.render(UnlockAccountController);\n },\n\n accountUnlocked: function accountUnlocked() {\n this.render(AccountUnlockedController, { Beacon: SecurityBeacon });\n },\n\n refreshAuthState: function refreshAuthState(token) {\n this.render(RefreshAuthStateController, {\n token: token,\n Beacon: SecurityBeacon\n });\n },\n\n register: function register() {\n this.render(RegistrationController);\n },\n\n registerComplete: function registerComplete() {\n this.render(RegistrationCompleteController);\n },\n\n consentRequired: function consentRequired() {\n this.render(ConsentRequiredController);\n },\n\n enrollUser: function enrollUser() {\n this.render(EnrollUserController);\n }\n\n });\n}).apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\n/***/ }),\n/* 538 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\nvar __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;\n\n/*!\n * Copyright (c) 2015-2017, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n\n!(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(0), __webpack_require__(242), __webpack_require__(175), __webpack_require__(548), __webpack_require__(549), __webpack_require__(246), __webpack_require__(83), __webpack_require__(245)], __WEBPACK_AMD_DEFINE_RESULT__ = (function (Okta, PrimaryAuthController, PrimaryAuthModel, IDPDiscoveryForm, IDPDiscoveryModel, Footer, BaseLoginController, CustomButtons) {\n\n return PrimaryAuthController.extend({\n className: 'idp-discovery',\n\n View: IDPDiscoveryForm,\n\n constructor: function constructor(options) {\n options.appState.unset('username');\n\n this.model = new IDPDiscoveryModel({\n requestContext: options.settings.get('idpDiscovery.requestContext'),\n settings: options.settings,\n appState: options.appState\n }, { parse: true });\n\n BaseLoginController.apply(this, arguments);\n\n this.addListeners();\n\n // If social auth is configured, 'socialAuthPositionTop' will determine\n // the order in which the social auth and primary auth are shown on the screen.\n if (options.settings.get('hasConfiguredButtons')) {\n this.add(CustomButtons, {\n prepend: options.settings.get('socialAuthPositionTop'),\n options: {\n // To trigger an afterError event, we require the current controller\n currentController: this\n }\n });\n }\n\n this.addFooter(options);\n\n this.setUsername();\n },\n\n initialize: function initialize() {\n PrimaryAuthController.prototype.initialize.apply(this);\n\n this.listenTo(this.model, 'goToPrimaryAuth', function () {\n this.settings.set('username', this.model.get('username'));\n if (this.settings.get('features.passwordlessAuth')) {\n var primaryAuthModel = new PrimaryAuthModel({\n username: this.model.get('username'),\n multiOptionalFactorEnroll: this.options.settings.get('features.multiOptionalFactorEnroll'),\n settings: this.options.settings,\n appState: this.options.appState\n }, { parse: true });\n // Events to set the transaction attributes on the app state.\n this.addModelListeners(primaryAuthModel);\n // Make the primary auth request\n primaryAuthModel.save();\n } else {\n this.options.appState.set('disableUsername', true);\n this.options.appState.trigger('navigate', 'signin');\n }\n });\n }\n\n });\n}).apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\n/***/ }),\n/* 539 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\nvar __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;\n\n/*!\n * Copyright (c) 2018, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n!(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(540)], __WEBPACK_AMD_DEFINE_RESULT__ = (function (TypingDNA) {\n var tdna;\n return {\n track: function track(selectorId) {\n try {\n tdna = new TypingDNA();\n tdna.addTarget(selectorId);\n tdna.start();\n } catch (e) {\n // Issues in typing should not stop Primary auth.\n }\n },\n getTypingPattern: function getTypingPattern() {\n try {\n return tdna.getTypingPattern({\n type: 1\n });\n } catch (e) {\n return null;\n }\n }\n };\n}).apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\n/***/ }),\n/* 540 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _slicedToArray2 = __webpack_require__(244);\n\nvar _slicedToArray3 = _interopRequireDefault(_slicedToArray2);\n\nvar _typeof2 = __webpack_require__(89);\n\nvar _typeof3 = _interopRequireDefault(_typeof2);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/*\n * Checking in as there is no npm module to consume. \n * Current version is 2.15.\n * Repo - https://github.com/TypingDNA/TypingDnaRecorder-JavaScript\n */\n\n/**\n * TypingDNA - Typing Biometrics JavaScript API\n * https://api.typingdna.com/scripts/typingdna.js\n * https://typingdna.com/scripts/typingdna.js (alternative)\n *\n * @version 2.15\n * @author Raul Popa\n * @copyright SC TypingDNA SRL, http://typingdna.com\n * @license http://www.apache.org/licenses/LICENSE-2.0\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n * Typical usage:\n * var tdna = new TypingDNA(); // creates a new TypingDNA object and starts recording\n * var typingPattern = tdna.getTypingPattern({type=1, text=\"Hello5g21?*\"});\n * returns a type 1 typing pattern (and continues recording afterwards)\n *\n * Optional:\n * tdna.stop(); // ends recording and clears history stack (returns recording flag: false)\n * tdna.start(); // restarts the recording after a stop (returns recording flag: true)\n * tdna.reset(); // restarts the recording anytime, clears history stack and starts from scratch (returns nothing)\n * var typingPatternQuality = TypingDNA.getQuality(typingPattern); //returns the quality/strength of any typing pattern\n * (there is no need to initialize the class to do pattern quality checking)\n */\n\n/**\n * Creates a single instance (or a reference) of the TypingDNA class\n * @return {Object} Returns the single instance of the TypingDNA class.\n * @example var tdna = new TypingDNA();\n */\nmodule.exports = function TypingDNA() {\n if (TypingDNA.initialized != true) {\n TypingDNA.prototype.start = function () {\n return TypingDNA.start.apply(this, arguments);\n };\n TypingDNA.prototype.stop = function () {\n return TypingDNA.stop.apply(this, arguments);\n };\n TypingDNA.prototype.reset = function () {\n return TypingDNA.reset.apply(this, arguments);\n };\n TypingDNA.prototype.addTarget = function () {\n return TypingDNA.addTarget.apply(this, arguments);\n };\n TypingDNA.prototype.removeTarget = function () {\n return TypingDNA.removeTarget.apply(this, arguments);\n };\n TypingDNA.prototype.getTypingPattern = function () {\n return TypingDNA.getTypingPattern.apply(this, arguments);\n };\n TypingDNA.prototype.get = function () {\n // still works but will be deprecated in favor of getTypignPattern()\n return TypingDNA.get.apply(this, arguments);\n };\n TypingDNA.prototype.startDiagram = function () {\n // deprecated in favor of start()\n //return TypingDNA.startDiagram.apply(this, arguments);\n };\n TypingDNA.prototype.stopDiagram = function () {\n // deprecated in favor of stop()\n //return TypingDNA.stopDiagram.apply(this, arguments);\n };\n TypingDNA.prototype.getDiagram = function () {\n // still works but will be deprecated in favor of getTypignPattern()\n return TypingDNA.getDiagram.apply(this, arguments);\n };\n TypingDNA.prototype.getExtendedDiagram = function () {\n // still works but will be deprecated in favor of getTypignPattern()\n return TypingDNA.getExtendedDiagram.apply(this, arguments);\n };\n TypingDNA.prototype.getMouseDiagram = function () {\n return TypingDNA.getMouseDiagram.apply(this, arguments);\n };\n TypingDNA.prototype.startMouse = function () {\n return TypingDNA.startMouse.apply(this, arguments);\n };\n TypingDNA.prototype.stopMouse = function () {\n return TypingDNA.stopMouse.apply(this, arguments);\n };\n TypingDNA.prototype.getQuality = function () {\n return TypingDNA.getQuality.apply(this, arguments);\n };\n TypingDNA.prototype.getLength = function () {\n return TypingDNA.getLength.apply(this, arguments);\n };\n TypingDNA.prototype.isMobile = function () {\n return TypingDNA.isMobile.apply(this, arguments);\n };\n TypingDNA.prototype.getTextId = function () {\n return TypingDNA.getTextId.apply(this, arguments);\n };\n TypingDNA.initialized = true;\n TypingDNA.prototype.maxHistoryLength = TypingDNA.maxHistoryLength;\n TypingDNA.prototype.defaultHistoryLength = TypingDNA.defaultHistoryLength;\n TypingDNA.prototype.maxSeekTime = TypingDNA.maxSeekTime;\n TypingDNA.prototype.maxPressTime = TypingDNA.maxPressTime;\n TypingDNA.version = 2.15;\n TypingDNA.flags = 0;\n TypingDNA.instance = this;\n TypingDNA.document = document;\n TypingDNA.maxHistoryLength = 2000;\n TypingDNA.maxSeekTime = 1500;\n TypingDNA.maxPressTime = 300;\n TypingDNA.defaultHistoryLength = 160;\n TypingDNA.spKeyCodes = [8, 13, 32];\n TypingDNA.spKeyCodesObj = {\n 8: 1,\n 13: 1,\n 32: 1\n };\n TypingDNA.keyCodes = [65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 32, 222, 188, 190, 186, 187, 189, 191, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57];\n TypingDNA.keyCodesObj = {};\n for (var i in TypingDNA.keyCodes) {\n TypingDNA.keyCodesObj[TypingDNA.keyCodes[i]] = 1;\n }\n TypingDNA.pt1 = TypingDNA.ut1 = new Date().getTime();\n TypingDNA.wfk = [];\n TypingDNA.sti = [];\n TypingDNA.skt = [];\n TypingDNA.recording = true;\n TypingDNA.mouseRecording = true;\n TypingDNA.mouseMoveRecording = false;\n TypingDNA.spKeyRecording = true;\n TypingDNA.diagramRecording = true;\n TypingDNA.dwfk = [];\n TypingDNA.dsti = [];\n TypingDNA.dskt = [];\n TypingDNA.drkc = [];\n TypingDNA.dlastDownKey;\n TypingDNA.prevKeyCode = 0;\n TypingDNA.maxMoveDeltaTime = 600;\n TypingDNA.maxScrollDeltaTime = 800;\n TypingDNA.maxStopTime = 1500;\n TypingDNA.maxClickTime = 600;\n TypingDNA.maxMouseHistoryLength = 500;\n TypingDNA.lastMouseMoveTime = TypingDNA.lastMouseDownTime = new Date().getTime();\n TypingDNA.stopTimes = [];\n TypingDNA.clickTimes = [];\n TypingDNA.lastMouseStop = true;\n TypingDNA.zl = 0.0000001;\n TypingDNA.isAndroidChrome = false;\n TypingDNA.ACLastTime = new Date().getTime();\n TypingDNA.ACSeekTime = 0;\n TypingDNA.ACPressTime = 0;\n TypingDNA.ACLastCharCode = 0;\n TypingDNA.ACLastKeyCode = 0;\n TypingDNA.ACInputLengths = {\n inputs: [],\n lastLength: []\n };\n TypingDNA.ACPreviousKeyCode = 0;\n TypingDNA.targetIds = [];\n TypingDNA.lastTarget = \"\";\n TypingDNA.lastTargetFound = false;\n TypingDNA.replaceMissingKeys = true;\n TypingDNA.replaceMissingKeysPerc = 7;\n\n TypingDNA.keyDown = function (e) {\n if (!TypingDNA.recording && !TypingDNA.diagramRecording) {\n return;\n }\n if (!TypingDNA.isTarget(e.target.id)) {\n return;\n }\n var keyCode = e.keyCode;\n if (TypingDNA.wfk[keyCode] == 1 || TypingDNA.dwfk[keyCode] == 1) {\n //return;\n }\n if (keyCode == 229 && TypingDNA.isMobile() && !TypingDNA.isAndroidChrome) {\n TypingDNA.isAndroidChrome = true;\n\n TypingDNA.ACSeekTime = new Date().getTime() - TypingDNA.ACLastTime;\n TypingDNA.ACLastTime = new Date().getTime();\n\n TypingDNA.document.removeEventListener(\"keydown\", TypingDNA.keyDown);\n TypingDNA.document.removeEventListener(\"keyup\", TypingDNA.keyUp);\n TypingDNA.document.removeEventListener(\"keypress\", TypingDNA.keyPress);\n\n // if android\n TypingDNA.document.addEventListener(\"keydown\", TypingDNA.ACKeyDown);\n TypingDNA.document.addEventListener(\"keyup\", TypingDNA.ACKeyUp);\n } else {\n var t0 = TypingDNA.pt1;\n TypingDNA.pt1 = new Date().getTime();\n var seekTotal = TypingDNA.pt1 - t0;\n var startTime = TypingDNA.pt1;\n if (TypingDNA.recording == true || TypingDNA.spKeyCodesObj[keyCode] && TypingDNA.spKeyRecording == true) {\n if (!e.shiftKey || TypingDNA.isMobile()) {\n TypingDNA.wfk[keyCode] = 1;\n TypingDNA.skt[keyCode] = seekTotal;\n TypingDNA.sti[keyCode] = startTime;\n }\n }\n if (TypingDNA.diagramRecording == true) {\n TypingDNA.dwfk[keyCode] = 1;\n TypingDNA.dskt[keyCode] = seekTotal;\n TypingDNA.dsti[keyCode] = startTime;\n TypingDNA.dlastDownKey = keyCode;\n }\n }\n };\n\n TypingDNA.keyPress = function (e) {\n if (!TypingDNA.recording && !TypingDNA.diagramRecording) {\n return;\n }\n if (!TypingDNA.isTarget(e.target.id)) {\n return;\n }\n if (TypingDNA.diagramRecording == true) {\n var keyCode = TypingDNA.dlastDownKey;\n TypingDNA.drkc[keyCode] = e.charCode;\n }\n };\n\n TypingDNA.keyUp = function (e) {\n if (!TypingDNA.recording && !TypingDNA.diagramRecording) {\n return;\n }\n if (!TypingDNA.isTarget(e.target.id)) {\n return;\n }\n var ut = new Date().getTime();\n var keyCode = e.keyCode;\n if (TypingDNA.recording == true || TypingDNA.spKeyCodesObj[keyCode] && TypingDNA.spKeyRecording == true) {\n if (!e.shiftKey || TypingDNA.isMobile()) {\n if (TypingDNA.wfk[keyCode] == 1) {\n var pressTime = ut - TypingDNA.sti[keyCode];\n var seekTime = TypingDNA.skt[keyCode];\n var arr = [keyCode, seekTime, pressTime, TypingDNA.prevKeyCode, ut, e.target.id];\n TypingDNA.history.add(arr);\n TypingDNA.prevKeyCode = keyCode;\n }\n }\n TypingDNA.wfk[keyCode] = 0;\n }\n if (TypingDNA.diagramRecording == true) {\n if (TypingDNA.drkc[keyCode] != undefined && TypingDNA.drkc[keyCode] != 0) {\n if (TypingDNA.dwfk[keyCode] == 1) {\n var pressTime = ut - TypingDNA.dsti[keyCode];\n var seekTime = TypingDNA.dskt[keyCode];\n var realKeyCode = TypingDNA.drkc[keyCode];\n var arrD = [keyCode, seekTime, pressTime, realKeyCode, ut, e.target.id];\n TypingDNA.history.addDiagram(arrD);\n }\n }\n TypingDNA.dwfk[keyCode] = 0;\n }\n };\n\n TypingDNA.mouseScroll = function (e) {\n if (TypingDNA.mouseRecording == true) {\n if (TypingDNA.mouseMoveRecording == true) {\n if (TypingDNA.mouse.scrollStarted == true) {\n var currentTime = new Date().getTime();\n TypingDNA.mouse.scrollTimes.push(currentTime);\n TypingDNA.mouse.scrollTopArr.push(TypingDNA.document.body.scrollTop);\n clearInterval(TypingDNA.scrollInterval);\n TypingDNA.scrollInterval = setInterval(TypingDNA.mouse.checkScroll, TypingDNA.maxScrollDeltaTime);\n } else {\n TypingDNA.mouse.scrollStarted = true;\n }\n }\n }\n };\n\n TypingDNA.mouseMove = function (e) {\n if (TypingDNA.mouseRecording == true) {\n var currentTime = new Date().getTime();\n if (TypingDNA.mouseMoveRecording == true) {\n if (TypingDNA.mouse.started == true) {\n TypingDNA.mouse.times.push(currentTime);\n TypingDNA.mouse.xPositions.push(e.screenX);\n TypingDNA.mouse.yPositions.push(e.screenY);\n clearInterval(TypingDNA.moveInterval);\n TypingDNA.moveInterval = setInterval(TypingDNA.mouse.checkMove, TypingDNA.maxMoveDeltaTime);\n } else {\n TypingDNA.mouse.started = true;\n }\n }\n TypingDNA.lastMouseMoveTime = currentTime;\n }\n };\n\n TypingDNA.mouseDown = function (e) {\n if (TypingDNA.mouseRecording == true) {\n TypingDNA.mouse.checkMove();\n TypingDNA.mouse.checkScroll();\n if (e.which == 1) {\n TypingDNA.lastMouseDownTime = new Date().getTime();\n var stopTime = TypingDNA.lastMouseDownTime - TypingDNA.lastMouseMoveTime;\n if (stopTime < TypingDNA.maxStopTime && TypingDNA.lastMouseStop == false) {\n TypingDNA.stopTimes.push(stopTime);\n if (TypingDNA.mouseMoveRecording == true) {\n var eventType = 3;\n var arr = [eventType, stopTime];\n TypingDNA.mouse.history.add(arr);\n TypingDNA.lastMouseStop = true;\n }\n }\n }\n }\n };\n\n TypingDNA.mouseUp = function (e) {\n if (TypingDNA.mouseRecording == true) {\n if (e.which == 1) {\n var clickTime = new Date().getTime() - TypingDNA.lastMouseDownTime;\n if (clickTime < TypingDNA.maxClickTime && TypingDNA.lastMouseDownTime > TypingDNA.lastMouseMoveTime) {\n TypingDNA.clickTimes.push(clickTime);\n if (TypingDNA.mouseMoveRecording == true) {\n var eventType = 4;\n var arr = [eventType, clickTime];\n TypingDNA.mouse.history.add(arr);\n }\n }\n }\n }\n };\n\n TypingDNA.ACKeyDown = function (e) {\n if (!TypingDNA.recording && !TypingDNA.diagramRecording) {\n return;\n }\n TypingDNA.ACSeekTime = new Date().getTime() - TypingDNA.ACLastTime;\n TypingDNA.ACLastTime = new Date().getTime();\n if (!TypingDNA.isTarget(e.target.id)) {\n return;\n }\n if (TypingDNA.ACInputLengths.inputs.indexOf(e.target) === -1) {\n TypingDNA.ACInputLengths.inputs.push(e.target);\n TypingDNA.ACInputLengths.lastLength.push(0);\n }\n };\n\n TypingDNA.ACKeyUp = function (e) {\n if (!TypingDNA.recording && !TypingDNA.diagramRecording) {\n return;\n }\n TypingDNA.ACPressTime = new Date().getTime() - TypingDNA.ACLastTime;\n TypingDNA.ACLastTime = new Date().getTime();\n if (!TypingDNA.isTarget(e.target.id)) {\n return;\n }\n var keyCode = e.keyCode;\n var targetIndex = TypingDNA.ACInputLengths.inputs.indexOf(e.target);\n if (targetIndex === -1) {\n TypingDNA.ACInputLengths.inputs.push(e.target);\n TypingDNA.ACInputLengths.lastLength.push(0);\n targetIndex = TypingDNA.ACInputLengths.inputs.indexOf(e.target);\n }\n if (keyCode == 229 && e.target.value.length >= TypingDNA.ACInputLengths.lastLength[targetIndex]) {\n var char = e.target.value.substr(e.target.selectionStart - 1 || 0, 1);\n keyCode = char.toUpperCase().charCodeAt(0);\n TypingDNA.ACLastCharCode = char.charCodeAt(0);\n TypingDNA.ACLastKeyCode = char.toUpperCase().charCodeAt(0);\n }\n TypingDNA.ACInputLengths.lastLength[targetIndex] = e.target.value.length;\n var arr = [keyCode, TypingDNA.ACSeekTime, TypingDNA.ACPressTime, TypingDNA.ACPreviousKeyCode, TypingDNA.ACLastTime];\n TypingDNA.history.add(arr);\n TypingDNA.ACPreviousKeyCode = keyCode;\n if (TypingDNA.diagramRecording == true) {\n var arrD = [keyCode, TypingDNA.ACSeekTime, TypingDNA.ACPressTime, TypingDNA.ACLastCharCode];\n TypingDNA.history.addDiagram(arrD);\n }\n };\n\n TypingDNA.isTarget = function (target) {\n if (TypingDNA.lastTarget == target && TypingDNA.lastTargetFound) {\n return true;\n } else {\n var targetLength = TypingDNA.targetIds.length;\n var targetFound = false;\n if (targetLength > 0) {\n for (var i = 0; i < targetLength; i++) {\n if (TypingDNA.targetIds[i] == target) {\n targetFound = true;\n break;\n }\n }\n TypingDNA.lastTarget = target;\n TypingDNA.lastTargetFound = targetFound;\n return targetFound;\n } else {\n TypingDNA.lastTarget = target;\n TypingDNA.lastTargetFound = true;\n return true;\n }\n }\n };\n\n if (TypingDNA.document.addEventListener) {\n TypingDNA.document.addEventListener(\"keydown\", TypingDNA.keyDown);\n TypingDNA.document.addEventListener(\"keyup\", TypingDNA.keyUp);\n TypingDNA.document.addEventListener(\"keypress\", TypingDNA.keyPress);\n TypingDNA.document.addEventListener(\"mousemove\", TypingDNA.mouseMove);\n TypingDNA.document.addEventListener(\"mousedown\", TypingDNA.mouseDown);\n TypingDNA.document.addEventListener(\"mouseup\", TypingDNA.mouseUp);\n TypingDNA.document.addEventListener(\"scroll\", TypingDNA.mouseScroll);\n } else if (TypingDNA.document.attachEvent) {\n TypingDNA.document.attachEvent(\"onkeydown\", TypingDNA.keyDown);\n TypingDNA.document.attachEvent(\"onkeyup\", TypingDNA.keyUp);\n TypingDNA.document.attachEvent(\"onkeypress\", TypingDNA.keyPress);\n TypingDNA.document.attachEvent(\"onmousemove\", TypingDNA.mouseMove);\n TypingDNA.document.attachEvent(\"onmousedown\", TypingDNA.mouseDown);\n TypingDNA.document.attachEvent(\"onmouseup\", TypingDNA.mouseUp);\n TypingDNA.document.attachEvent(\"onscroll\", TypingDNA.mouseScroll);\n } else {\n console.log(\"browser not supported\");\n }\n\n TypingDNA.mouse = {};\n TypingDNA.mouse.times = [];\n TypingDNA.mouse.xPositions = [];\n TypingDNA.mouse.yPositions = [];\n TypingDNA.mouse.scrollTimes = [];\n TypingDNA.mouse.scrollTopArr = [];\n TypingDNA.mouse.history = {};\n TypingDNA.mouse.history.stack = [];\n\n TypingDNA.mouse.getDistance = function (a, b) {\n return Math.sqrt(a * a + b * b);\n };\n\n TypingDNA.mouse.getTotalDistance = function (xPositions, yPositions) {\n var totalDistance = 0;\n var length = xPositions.length;\n for (i = 1; i < length - 1; i++) {\n var a = xPositions[i] - xPositions[i - 1];\n var b = yPositions[i] - yPositions[i - 1];\n totalDistance += TypingDNA.mouse.getDistance(a, b);\n }\n return totalDistance;\n };\n\n TypingDNA.mouse.getAngle = function (xPosDelta, yPosDelta) {\n var angle = 0;\n var leftRight = xPosDelta >= 0; // 1 if left, 0 if right\n var downUp = yPosDelta < 0; // 1 if down, 0 if up\n if (leftRight) {\n if (downUp) {\n angle = 180 + Math.round(Math.atan(Math.abs(xPosDelta) / (Math.abs(yPosDelta) + 0.0000001)) / 0.01745329251); // 0.01745329251 = pi/180\n } else {\n angle = 270 + (90 - Math.round(Math.atan(Math.abs(xPosDelta) / (Math.abs(yPosDelta) + 0.0000001)) / 0.01745329251));\n }\n } else {\n if (downUp) {\n angle = 90 + (90 - Math.round(Math.atan(Math.abs(xPosDelta) / (Math.abs(yPosDelta) + 0.0000001)) / 0.01745329251));\n } else {\n angle = Math.round(Math.atan(Math.abs(xPosDelta) / (Math.abs(yPosDelta) + 0.0000001)) / 0.01745329251);\n }\n }\n return angle;\n };\n\n TypingDNA.mouse.recordMoveAction = function () {\n var length = TypingDNA.mouse.times.length;\n if (length < 3) {\n return;\n }\n var deltaTime = TypingDNA.mouse.times[length - 1] - TypingDNA.mouse.times[0];\n var xPosDelta = TypingDNA.mouse.xPositions[length - 1] - TypingDNA.mouse.xPositions[0];\n var yPosDelta = TypingDNA.mouse.yPositions[length - 1] - TypingDNA.mouse.yPositions[0];\n var directDistance = Math.round(TypingDNA.mouse.getDistance(xPosDelta, yPosDelta));\n var totalDistance = Math.round(TypingDNA.mouse.getTotalDistance(TypingDNA.mouse.xPositions, TypingDNA.mouse.yPositions));\n var ratioDistance = Math.round(totalDistance * 100 / directDistance);\n var speed = Math.round(directDistance * 100 / deltaTime);\n var angle = TypingDNA.mouse.getAngle(xPosDelta, yPosDelta);\n var eventType = 1;\n var arr = [eventType, deltaTime, directDistance, speed, angle, ratioDistance];\n for (i in arr) {\n if (isNaN(arr[i])) {\n return;\n }\n }\n TypingDNA.mouse.history.add(arr);\n TypingDNA.lastMouseStop = false;\n };\n\n TypingDNA.mouse.recordScrollAction = function () {\n var length = TypingDNA.mouse.scrollTimes.length;\n if (length < 2) {\n return;\n }\n var deltaTime = TypingDNA.mouse.scrollTimes[length - 1] - TypingDNA.mouse.scrollTimes[0];\n var directDistance = TypingDNA.mouse.scrollTopArr[length - 1] - TypingDNA.mouse.scrollTopArr[0];\n var speed = Math.round(directDistance * 100 / deltaTime);\n var eventType = 2;\n var arr = [eventType, deltaTime, directDistance, speed];\n for (i in arr) {\n if (isNaN(arr[i]) && !isFinite(arr[i])) {\n return;\n }\n }\n TypingDNA.mouse.history.add(arr);\n };\n\n TypingDNA.mouse.history.add = function (arr) {\n this.stack.push(arr);\n if (this.stack.length > TypingDNA.maxMouseHistoryLength) {\n this.stack.shift();\n }\n };\n\n TypingDNA.mouse.history.getDiagram = function () {\n var mouseDiagram = this.stack.join(\"|\");\n return [String(TypingDNA.isMobile()) + \",\" + String(TypingDNA.version), mouseDiagram].join(\"|\");\n };\n\n TypingDNA.mouse.clearLastMove = function () {\n TypingDNA.mouse.times = [];\n TypingDNA.mouse.xPositions = [];\n TypingDNA.mouse.yPositions = [];\n };\n\n TypingDNA.mouse.checkMove = function () {\n clearInterval(TypingDNA.moveInterval);\n if (TypingDNA.mouse.started == true) {\n TypingDNA.mouse.started = false;\n TypingDNA.mouse.recordMoveAction();\n TypingDNA.mouse.clearLastMove();\n }\n };\n\n TypingDNA.mouse.clearLastScroll = function () {\n TypingDNA.mouse.scrollTimes = [];\n TypingDNA.mouse.scrollTopArr = [];\n };\n\n TypingDNA.mouse.checkScroll = function () {\n clearInterval(TypingDNA.scrollInterval);\n if (TypingDNA.mouse.scrollStarted == true) {\n TypingDNA.mouse.scrollStarted = false;\n TypingDNA.mouse.recordScrollAction();\n TypingDNA.mouse.clearLastScroll();\n }\n };\n\n /**\n * Adds a target to the targetIds array.\n */\n TypingDNA.addTarget = function (target) {\n var targetLength = TypingDNA.targetIds.length;\n var targetFound = false;\n if (targetLength > 0) {\n for (var i = 0; i < targetLength; i++) {\n if (TypingDNA.targetIds[i] == target) {\n targetFound = true;\n break;\n }\n }\n if (!targetFound) {\n TypingDNA.targetIds.push(target);\n }\n } else {\n TypingDNA.targetIds.push(target);\n }\n };\n\n /**\n * Adds a target to the targetIds array.\n */\n TypingDNA.removeTarget = function (target) {\n var targetLength = TypingDNA.targetIds.length;\n if (targetLength > 0) {\n for (var i = 0; i < targetLength; i++) {\n if (TypingDNA.targetIds[i] == target) {\n TypingDNA.targetIds.splice(i, 1);\n break;\n }\n }\n }\n };\n\n /**\n * Resets the history stack\n */\n TypingDNA.reset = function (all) {\n TypingDNA.history.stack = [];\n TypingDNA.history.stackDiagram = [];\n TypingDNA.clickTimes = [];\n TypingDNA.stopTimes = [];\n TypingDNA.ACInputLengths = {\n inputs: [],\n lastLength: []\n };\n if (all == true) {\n TypingDNA.mouse.history.stack = [];\n }\n };\n\n /**\n * Automatically called at initilization. It starts the recording of keystrokes.\n */\n TypingDNA.start = function () {\n TypingDNA.diagramRecording = true;\n return TypingDNA.recording = true;\n };\n\n /**\n * Ends the recording of further keystrokes. To restart recording afterwards you can\n * either call TypingDNA.start() or create a new TypingDNA object again, not recommended.\n */\n TypingDNA.stop = function () {\n TypingDNA.diagramRecording = false;\n return TypingDNA.recording = false;\n };\n\n /**\n * Starts the recording of mouse activity.\n */\n TypingDNA.startMouse = function () {\n return TypingDNA.mouseRecording = TypingDNA.mouseMoveRecording = true;\n };\n\n /**\n * Stops the recording of mouse activity.\n */\n TypingDNA.stopMouse = function () {\n return TypingDNA.mouseRecording = TypingDNA.mouseMoveRecording = false;\n };\n\n /**\n * This is the main function that outputs the typing pattern as a String\n * {type:Number, text:String, textId:Number, length: Number, targetId:String, caseSensitive:Boolean}\n * @param {Object} obj an object with the following properties\n * * * @param {String} type 0 for anytext pattern, 1 for sametext pattern (also called diagram pattern)\n * * * and 2 for extended pattern (most versatile, can replace both anytext and sametext patterns)\n * * * @param {Number} length (Optional) the length of the text in the history for which you want\n * * * the typing pattern. length is ignored when text or targetId is set (or both).\n * * * @param {String} text (Only for type 1 and type 2) a typed string that you want the typing pattern for\n * * * @param {Number} textId (Optional, only for type 1 and type 2) a personalized id for the typed text\n * * * @param {String} targetId (Optional) specifies if pattern is obtain only from text typed in a certain target\n * * * @param {Boolean} caseSensitive (Optional, default: false) Used if you pass a text for type 1 or type 2\n * * * DEPRECATED * * * in favor of type = 2 * * *\n * * * @param {Boolean} extended (Only for type 1) specifies if full information about what was typed is produced,\n * * * including the actual key pressed, if false, only the order of pressed keys is kept (no actual content)\n * @return {String} A typing pattern in string form\n * @example var typingPattern = tdna.getTypingPattern({type=0, length=180});\n * @example var typingPattern = tdna.getTypingPattern({type=1, text=\"Hello5g21?*\"});\n * @example var typingPattern = tdna.getTypingPattern({type=2, text=\"example@mail.com\"});\n */\n TypingDNA.getTypingPattern = function (obj) {\n if ((typeof obj === \"undefined\" ? \"undefined\" : (0, _typeof3.default)(obj)) === 'object') {\n switch (obj.type) {\n case 0:\n return TypingDNA.get(obj.length, obj.targetId);\n break;\n case 1:\n var str = obj.text != undefined ? obj.text : obj.length;\n return TypingDNA.history.getDiagram(obj.extended, str, obj.textId, obj.targetId, obj.caseSensitive);\n break;\n case 2:\n var str = obj.text != undefined ? obj.text : obj.length;\n return TypingDNA.history.getDiagram(true, str, obj.textId, obj.targetId, obj.caseSensitive);\n break;\n default:\n return TypingDNA.get(obj.length);\n break;\n }\n } else {\n return TypingDNA.get();\n }\n };\n\n TypingDNA.getDiagram = function (str, textId) {\n return TypingDNA.history.getDiagram(false, str, textId, undefined, false);\n };\n\n TypingDNA.getExtendedDiagram = function (str, textId) {\n return TypingDNA.history.getDiagram(true, str, textId, undefined, false);\n };\n\n TypingDNA.getMouseDiagram = function () {\n return TypingDNA.mouse.history.getDiagram();\n };\n\n TypingDNA.get = function (length, targetId) {\n var historyTotalLength = TypingDNA.history.stack.length;\n if (length == undefined || length == 0) {\n length = TypingDNA.defaultHistoryLength;\n }\n if (length > historyTotalLength) {\n length = historyTotalLength;\n }\n var obj = {};\n\n var _TypingDNA$history$ge = TypingDNA.history.get(length, \"\", targetId);\n\n var _TypingDNA$history$ge2 = (0, _slicedToArray3.default)(_TypingDNA$history$ge, 2);\n\n obj.arr = _TypingDNA$history$ge2[0];\n targetLength = _TypingDNA$history$ge2[1];\n\n if (targetId != undefined && targetId != \"\") {\n length = targetLength;\n }\n var zl = TypingDNA.zl;\n var histRev = length;\n var histSktF = TypingDNA.math.fo(TypingDNA.history.get(length, \"seek\", targetId));\n var histPrtF = TypingDNA.math.fo(TypingDNA.history.get(length, \"press\", targetId));\n var pressHistMean = Math.round(TypingDNA.math.avg(histPrtF));\n var seekHistMean = Math.round(TypingDNA.math.avg(histSktF));\n var pressHistSD = Math.round(TypingDNA.math.sd(histPrtF));\n var seekHistSD = Math.round(TypingDNA.math.sd(histSktF));\n var charMeanTime = seekHistMean + pressHistMean;\n var pressRatio = TypingDNA.math.rd((pressHistMean + zl) / (charMeanTime + zl), 4);\n var seekToPressRatio = TypingDNA.math.rd((1 - pressRatio) / pressRatio, 4);\n var pressSDToPressRatio = TypingDNA.math.rd((pressHistSD + zl) / (pressHistMean + zl), 4);\n var seekSDToPressRatio = TypingDNA.math.rd((seekHistSD + zl) / (pressHistMean + zl), 4);\n var cpm = Math.round(6E4 / (charMeanTime + zl));\n if (histRev == 0) {\n cpm = 0;\n }\n for (var i in obj.arr) {\n var rev = obj.arr[i][1].length;\n var seekMean = 0;\n var pressMean = 0;\n var postMean = 0;\n var seekSD = 0;\n var pressSD = 0;\n var postSD = 0;\n switch (obj.arr[i][0].length) {\n case 0:\n break;\n case 1:\n var seekMean = TypingDNA.math.rd((obj.arr[i][0][0] + zl) / (seekHistMean + zl), 4);\n break;\n default:\n var arr = TypingDNA.math.fo(obj.arr[i][0]);\n seekMean = TypingDNA.math.rd((TypingDNA.math.avg(arr) + zl) / (seekHistMean + zl), 4);\n seekSD = TypingDNA.math.rd((TypingDNA.math.sd(arr) + zl) / (seekHistSD + zl), 4);\n }\n switch (obj.arr[i][1].length) {\n case 0:\n break;\n case 1:\n var pressMean = TypingDNA.math.rd((obj.arr[i][1][0] + zl) / (pressHistMean + zl), 4);\n break;\n default:\n var arr = TypingDNA.math.fo(obj.arr[i][1]);\n pressMean = TypingDNA.math.rd((TypingDNA.math.avg(arr) + zl) / (pressHistMean + zl), 4);\n pressSD = TypingDNA.math.rd((TypingDNA.math.sd(arr) + zl) / (pressHistSD + zl), 4);\n }\n switch (obj.arr[i][2].length) {\n case 0:\n break;\n case 1:\n var postMean = TypingDNA.math.rd((obj.arr[i][2][0] + zl) / (seekHistMean + zl), 4);\n break;\n default:\n var arr = TypingDNA.math.fo(obj.arr[i][2]);\n postMean = TypingDNA.math.rd((TypingDNA.math.avg(arr) + zl) / (seekHistMean + zl), 4);\n postSD = TypingDNA.math.rd((TypingDNA.math.sd(arr) + zl) / (seekHistSD + zl), 4);\n }\n delete obj.arr[i][2];\n delete obj.arr[i][1];\n delete obj.arr[i][0];\n obj.arr[i][0] = rev;\n obj.arr[i][1] = seekMean;\n obj.arr[i][2] = pressMean;\n obj.arr[i][3] = postMean;\n obj.arr[i][4] = seekSD;\n obj.arr[i][5] = pressSD;\n obj.arr[i][6] = postSD;\n }\n var arr = [];\n TypingDNA.apu(arr, histRev);\n TypingDNA.apu(arr, cpm);\n TypingDNA.apu(arr, charMeanTime);\n TypingDNA.apu(arr, pressRatio);\n TypingDNA.apu(arr, seekToPressRatio);\n TypingDNA.apu(arr, pressSDToPressRatio);\n TypingDNA.apu(arr, seekSDToPressRatio);\n TypingDNA.apu(arr, pressHistMean);\n TypingDNA.apu(arr, seekHistMean);\n TypingDNA.apu(arr, pressHistSD);\n TypingDNA.apu(arr, seekHistSD);\n for (var c = 0; c <= 6; c++) {\n for (var i = 0; i < 44; i++) {\n var keyCode = TypingDNA.keyCodes[i];\n var val = obj.arr[keyCode][c];\n if (val == 0 && c > 0) {\n val = 1;\n }\n TypingDNA.apu(arr, val);\n }\n }\n TypingDNA.apu(arr, TypingDNA.isMobile());\n TypingDNA.apu(arr, TypingDNA.version);\n TypingDNA.apu(arr, TypingDNA.flags);\n arr.push(TypingDNA.history.getSpecialKeys());\n return arr.join(\",\");\n };\n\n TypingDNA.apu = function (arr, val) {\n \"NaN\" == String(val) && (val = 0);\n arr.push(val);\n };\n\n TypingDNA.math = {};\n\n TypingDNA.math.rd = function (val, dec) {\n return Number(val.toFixed(dec));\n };\n\n TypingDNA.math.avg = function (arr) {\n var len = arr.length;\n if (len > 0) {\n var sum = 0;\n for (var i = 0; i < len; i++) {\n sum += arr[i];\n }\n return this.rd(sum / len, 4);\n } else {\n return 0;\n }\n };\n\n TypingDNA.math.sd = function (arr) {\n var len = arr.length;\n if (len < 2) {\n return 0;\n } else {\n var sumVS = 0;\n var mean = this.avg(arr);\n for (var i = 0; i < len; i++) {\n sumVS += (arr[i] - mean) * (arr[i] - mean);\n }\n var sd = Math.sqrt(sumVS / len);\n return sd;\n }\n };\n\n TypingDNA.math.fo = function (arr) {\n if (arr.length > 1) {\n var values = arr.concat();\n var len = arr.length;\n values.sort(function (a, b) {\n return a - b;\n });\n var asd = this.sd(values);\n var aMean = values[Math.ceil(arr.length / 2)];\n var multiplier = 2;\n var maxVal = aMean + multiplier * asd;\n var minVal = aMean - multiplier * asd;\n if (len < 20) {\n minVal = 0;\n }\n var fVal = [];\n for (var i = 0; i < len; i++) {\n var tempval = values[i];\n if (tempval < maxVal && tempval > minVal) {\n fVal.push(tempval);\n }\n }\n return fVal;\n } else {\n return arr;\n }\n };\n\n // Calculate a 32 bit FNV-1a hash\n TypingDNA.math.fnv1aHash = function (str) {\n if (str == undefined && typeof str !== 'string') {\n return 0;\n }\n str = str.toLowerCase();\n var i, l;\n var hval = 0x721b5ad4;\n for (i = 0, l = str.length; i < l; i++) {\n hval ^= str.charCodeAt(i);\n hval += (hval << 1) + (hval << 4) + (hval << 7) + (hval << 8) + (hval << 24);\n }\n return hval >>> 0;\n };\n\n TypingDNA.history = {};\n TypingDNA.history.stack = [];\n TypingDNA.history.stackDiagram = [];\n\n TypingDNA.history.add = function (arr) {\n this.stack.push(arr);\n if (this.stack.length > TypingDNA.maxHistoryLength) {\n this.stack.shift();\n }\n };\n\n TypingDNA.history.addDiagram = function (arr) {\n this.stackDiagram.push(arr);\n };\n\n TypingDNA.history.getDiagram = function (extended, str, textId, targetId, caseSensitive) {\n var caseSensitive = caseSensitive != undefined ? caseSensitive : str == undefined || str == \"\";\n var returnArr = [];\n var diagramType = extended == true ? 1 : 0;\n var stackDiagram = this.stackDiagram;\n if (targetId != undefined && targetId != \"\" && stackDiagram.length > 0) {\n stackDiagram = TypingDNA.sliceStackByTargetId(stackDiagram, targetId);\n if (str == undefined || str == \"\") {\n var element = TypingDNA.document.getElementById(targetId);\n if (element != null) {\n str = element.value;\n }\n }\n } else {\n var targetLength = TypingDNA.targetIds.length;\n if (str == undefined || str == \"\") {\n if (targetLength > 0) {\n str = \"\";\n for (var i = 0; i < targetLength; i++) {\n var element = TypingDNA.document.getElementById(TypingDNA.targetIds[i]);\n if (element != null) {\n str += element.value;\n }\n }\n } else {\n if (!extended) {\n console.log(\"Please use extended pattern OR provide a fixed string param OR use the addTarget method.\");\n }\n }\n }\n }\n var missingCount = 0;\n var diagramHistoryLength = stackDiagram.length;\n var strLength = diagramHistoryLength;\n if (typeof str === 'string') {\n strLength = str.length;\n } else if (typeof str === 'number' && str < diagramHistoryLength) {\n strLength = str;\n }\n var returnTextId = 0;\n if (textId != undefined) {\n if (isNaN(parseInt(textId))) {\n returnTextId = TypingDNA.math.fnv1aHash(textId);\n } else {\n returnTextId = parseInt(textId);\n }\n } else {\n if (typeof str === 'string') {\n returnTextId = TypingDNA.math.fnv1aHash(str);\n }\n }\n returnArr.push([TypingDNA.isMobile(), TypingDNA.version, TypingDNA.flags, diagramType, strLength, returnTextId, TypingDNA.history.getSpecialKeys()]);\n if (str != undefined && str.length > 0 && typeof str === 'string') {\n var strLower = str.toLowerCase();\n var strUpper = str.toUpperCase();\n var lastFoundPos = [];\n var lastPos = 0;\n var strUpperCharCode;\n var currentSensitiveCharCode;\n for (var i = 0; i < str.length; i++) {\n var currentCharCode = str.charCodeAt(i);\n if (!caseSensitive) {\n strUpperCharCode = strUpper.charCodeAt(i);\n currentSensitiveCharCode = strUpperCharCode != currentCharCode ? strUpperCharCode : strLower.charCodeAt(i);\n }\n var startPos = lastPos;\n var finishPos = diagramHistoryLength;\n var found = false;\n while (found == false) {\n for (var j = startPos; j < finishPos; j++) {\n var arr = stackDiagram[j];\n var charCode = arr[3];\n if (charCode == currentCharCode || !caseSensitive && charCode == currentSensitiveCharCode) {\n found = true;\n if (j == lastPos) {\n lastPos++;\n lastFoundPos = [];\n } else {\n lastFoundPos.push(j);\n var len = lastFoundPos.length;\n if (len > 1 && lastFoundPos[len - 1] == lastFoundPos[len - 2] + 1) {\n lastPos = j + 1;\n lastFoundPos = [];\n }\n }\n var keyCode = arr[0];\n var seekTime = arr[1];\n var pressTime = arr[2];\n if (extended) {\n returnArr.push([charCode, seekTime, pressTime, keyCode]);\n } else {\n returnArr.push([seekTime, pressTime]);\n }\n break;\n }\n }\n if (found == false) {\n if (startPos != 0) {\n startPos = 0;\n finishPos = lastPos;\n } else {\n found = true;\n if (TypingDNA.replaceMissingKeys) {\n missingCount++;\n if ((0, _typeof3.default)(TypingDNA.savedMissingAvgValues) !== 'object' || TypingDNA.savedMissingAvgValues.historyLength != diagramHistoryLength) {\n var histSktF = TypingDNA.math.fo(TypingDNA.history.get(0, \"seek\"));\n var histPrtF = TypingDNA.math.fo(TypingDNA.history.get(0, \"press\"));\n var seekTime = Math.round(TypingDNA.math.avg(histSktF));\n var pressTime = Math.round(TypingDNA.math.avg(histPrtF));\n TypingDNA.savedMissingAvgValues = {\n seekTime: seekTime,\n pressTime: pressTime,\n historyLength: diagramHistoryLength\n };\n } else {\n var seekTime = TypingDNA.savedMissingAvgValues.seekTime;\n var pressTime = TypingDNA.savedMissingAvgValues.pressTime;\n }\n var missing = 1;\n if (extended) {\n returnArr.push([currentCharCode, seekTime, pressTime, currentCharCode, missing]);\n } else {\n returnArr.push([seekTime, pressTime, missing]);\n }\n break;\n }\n }\n }\n }\n if (TypingDNA.replaceMissingKeysPerc < missingCount * 100 / strLength) {\n return null;\n }\n }\n } else {\n var startCount = 0;\n if (typeof str === 'number') {\n startCount = diagramHistoryLength - str;\n }\n if (startCount < 0) {\n startCount = 0;\n }\n for (var i = startCount; i < diagramHistoryLength; i++) {\n var arr = stackDiagram[i];\n var keyCode = arr[0];\n var seekTime = arr[1];\n var pressTime = arr[2];\n if (extended) {\n var charCode = arr[3];\n returnArr.push([charCode, seekTime, pressTime, keyCode]);\n } else {\n returnArr.push([seekTime, pressTime]);\n }\n }\n }\n return returnArr.join(\"|\");\n };\n\n TypingDNA.sliceStackByTargetId = function (stack, targetId) {\n var length = stack.length;\n var newStack = [];\n for (i = 0; i < length; i++) {\n var arr = stack[i];\n if (arr[5] == targetId) {\n newStack.push(arr);\n }\n }\n return newStack;\n };\n\n TypingDNA.history.get = function (length, type, targetId) {\n var stack = this.stack;\n if (targetId != undefined && targetId != \"\" && stack.length > 0) {\n stack = TypingDNA.sliceStackByTargetId(stack, targetId);\n }\n var historyTotalLength = stack.length;\n if (length == 0 || length == undefined) {\n length = TypingDNA.defaultHistoryLength;\n }\n if (length > historyTotalLength) {\n length = historyTotalLength;\n }\n switch (type) {\n case \"seek\":\n var seekArr = [];\n for (i = 1; i <= length; i++) {\n var seekTime = stack[historyTotalLength - i][1];\n if (seekTime <= TypingDNA.maxSeekTime) {\n seekArr.push(seekTime);\n }\n };\n return seekArr;\n break;\n case \"press\":\n var pressArr = [];\n for (i = 1; i <= length; i++) {\n var pressTime = stack[historyTotalLength - i][2];\n if (pressTime <= TypingDNA.maxPressTime) {\n pressArr.push(pressTime);\n }\n };\n return pressArr;\n break;\n default:\n var historyStackObj = {};\n for (var i in TypingDNA.keyCodes) {\n historyStackObj[TypingDNA.keyCodes[i]] = [[], [], []];\n }\n for (i = 1; i <= length; i++) {\n var arr = stack[historyTotalLength - i];\n var keyCode = arr[0];\n var seekTime = arr[1];\n var pressTime = arr[2];\n var prevKeyCode = arr[3];\n if (TypingDNA.keyCodesObj[keyCode]) {\n if (seekTime <= TypingDNA.maxSeekTime) {\n historyStackObj[keyCode][0].push(seekTime);\n if (prevKeyCode != 0 && TypingDNA.keyCodesObj[prevKeyCode]) {\n historyStackObj[prevKeyCode][2].push(seekTime);\n }\n }\n if (pressTime <= TypingDNA.maxPressTime) {\n historyStackObj[keyCode][1].push(pressTime);\n }\n }\n };\n return [historyStackObj, length];\n }\n };\n\n TypingDNA.history.getSpecialKeys = function () {\n var returnArr = [];\n var length = this.stack.length;\n var historyStackObj = {};\n for (var i in TypingDNA.spKeyCodes) {\n historyStackObj[TypingDNA.spKeyCodes[i]] = [[]];\n }\n for (i = 1; i <= length; i++) {\n var arr = this.stack[length - i];\n if (TypingDNA.spKeyCodesObj[arr[0]]) {\n var keyCode = arr[0];\n var pressTime = arr[2];\n if (pressTime <= TypingDNA.maxPressTime) {\n historyStackObj[keyCode][0].push(pressTime);\n }\n }\n }\n for (var i in TypingDNA.spKeyCodes) {\n var arr = TypingDNA.math.fo(historyStackObj[TypingDNA.spKeyCodes[i]][0]);\n var arrLen = arr.length;\n returnArr.push(arrLen);\n if (arrLen > 1) {\n returnArr.push(Math.round(TypingDNA.math.avg(arr)));\n returnArr.push(Math.round(TypingDNA.math.sd(arr)));\n } else if (arrLen == 1) {\n returnArr.push([arr[0], -1]);\n } else {\n returnArr.push([-1, -1]);\n }\n }\n var clicksArrLen = TypingDNA.clickTimes.length;\n returnArr.push(clicksArrLen);\n if (clicksArrLen > 1) {\n returnArr.push(Math.round(TypingDNA.math.avg(TypingDNA.clickTimes)));\n returnArr.push(Math.round(TypingDNA.math.sd(TypingDNA.clickTimes)));\n } else if (clicksArrLen == 1) {\n returnArr.push(TypingDNA.clickTimes[0], -1);\n } else {\n returnArr.push([-1, -1]);\n }\n var stopArrLen = TypingDNA.stopTimes.length;\n returnArr.push(stopArrLen);\n if (stopArrLen > 1) {\n returnArr.push(Math.round(TypingDNA.math.avg(TypingDNA.stopTimes)));\n returnArr.push(Math.round(TypingDNA.math.sd(TypingDNA.stopTimes)));\n } else if (stopArrLen == 1) {\n returnArr.push(TypingDNA.stopTimes[0], -1);\n } else {\n returnArr.push([-1, -1]);\n }\n return returnArr;\n };\n\n /**\n * Checks the quality of a typing pattern, how well it is revelated, how useful the\n * information will be for matching applications. It returns a value between 0 and 1.\n * Values over 0.3 are acceptable, however a value over 0.7 shows good pattern strength.\n * @param {String} typingPattern The typing pattern string returned by the get() function.\n * @return {Number} A real number between 0 and 1. A close to 1 value means a stronger pattern.\n * @example var quality = tdna.getQuality(typingPattern);\n */\n TypingDNA.getQuality = function (typingPattern) {\n var obj = typingPattern.split(\",\");\n for (i = 0; i < obj.length; i++) {\n obj[i] = Number(obj[i]);\n }\n var totalEvents = obj[0];\n var acc = rec = avgAcc = 0;\n var avg = TypingDNA.math.avg(obj);\n var revs = obj.slice(11, 55);\n for (var i in revs) {\n rec += Number(revs[i] > 0);\n acc += Number(revs[i] > 4);\n avgAcc += Number(revs[i] > avg);\n }\n var tReturn = Math.sqrt(rec * acc * avgAcc) / 80;\n return tReturn > 1 ? 1 : tReturn;\n };\n\n /**\n * Checks the validity of a typing pattern if recorded on mobile.\n * @param {String} typingPattern The typing pattern string returned by the get() function.\n * @return {Number} A real number between 0 and 1. A number larger than 0.7 usually means a valid pattern.\n * @example var quality = tdna.checkMobileValidity(typingPattern);\n */\n TypingDNA.checkMobileValidity = function (typingPattern) {\n var obj = typingPattern.split(\",\");\n var totalEvents = obj[0];\n if (totalEvents == 0) {\n return 0;\n }\n var rec = 0;\n var revs = obj.slice(11, 55);\n for (var i in revs) {\n rec += Number(revs[i]);\n }\n return rec / totalEvents;\n };\n\n TypingDNA.getLength = function (typingPattern) {\n return Number(typingPattern.split(\",\")[1]);\n };\n\n TypingDNA.isMobile = function () {\n if (TypingDNA.mobile != undefined) {\n return TypingDNA.mobile;\n } else {\n var check = 0;\n (function (a) {\n if (/(android|bb\\d+|meego).+mobile|avantgo|bada\\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\\.(browser|link)|vodafone|wap|windows ce|xda|xiino|android|ipad|playbook|silk/i.test(a) || /1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s\\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\\-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\\-(n|u)|c55\\/|capi|ccwa|cdm\\-|cell|chtm|cldc|cmd\\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\\-s|devi|dica|dmob|do(c|p)o|ds(12|\\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\\-|_)|g1 u|g560|gene|gf\\-5|g\\-mo|go(\\.w|od)|gr(ad|un)|haie|hcit|hd\\-(m|p|t)|hei\\-|hi(pt|ta)|hp( i|ip)|hs\\-c|ht(c(\\-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\\-(20|go|ma)|i230|iac( |\\-|\\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\\/)|klon|kpt |kwc\\-|kyo(c|k)|le(no|xi)|lg( g|\\/(k|l|u)|50|54|\\-[a-w])|libw|lynx|m1\\-w|m3ga|m50\\/|ma(te|ui|xo)|mc(01|21|ca)|m\\-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\\-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\\-2|po(ck|rt|se)|prox|psio|pt\\-g|qa\\-a|qc(07|12|21|32|60|\\-[2-7]|i\\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\\-|oo|p\\-)|sdk\\/|se(c(\\-|0|1)|47|mc|nd|ri)|sgh\\-|shar|sie(\\-|m)|sk\\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\\-|v\\-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\\-|tdg\\-|tel(i|m)|tim\\-|t\\-mo|to(pl|sh)|ts(70|m\\-|m3|m5)|tx\\-9|up(\\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\\-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas\\-|your|zeto|zte\\-/i.test(a.substr(0, 4))) {\n check = 1;\n }\n })(navigator.userAgent || navigator.vendor || window.opera);\n TypingDNA.mobile = check;\n return check;\n }\n };\n\n TypingDNA.getTextId = function (str) {\n return TypingDNA.math.fnv1aHash(str);\n };\n } else {\n // TypingDNA is a static class, currently doesn't support actual multiple instances (Singleton implementation)\n return TypingDNA.instance;\n }\n};\n\n/***/ }),\n/* 541 */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = { \"default\": __webpack_require__(542), __esModule: true };\n\n/***/ }),\n/* 542 */\n/***/ (function(module, exports, __webpack_require__) {\n\n__webpack_require__(118);\n__webpack_require__(90);\nmodule.exports = __webpack_require__(543);\n\n\n/***/ }),\n/* 543 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar classof = __webpack_require__(170);\nvar ITERATOR = __webpack_require__(23)('iterator');\nvar Iterators = __webpack_require__(80);\nmodule.exports = __webpack_require__(9).isIterable = function (it) {\n var O = Object(it);\n return O[ITERATOR] !== undefined\n || '@@iterator' in O\n // eslint-disable-next-line no-prototype-builtins\n || Iterators.hasOwnProperty(classof(O));\n};\n\n\n/***/ }),\n/* 544 */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = { \"default\": __webpack_require__(545), __esModule: true };\n\n/***/ }),\n/* 545 */\n/***/ (function(module, exports, __webpack_require__) {\n\n__webpack_require__(118);\n__webpack_require__(90);\nmodule.exports = __webpack_require__(546);\n\n\n/***/ }),\n/* 546 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar anObject = __webpack_require__(45);\nvar get = __webpack_require__(169);\nmodule.exports = __webpack_require__(9).getIterator = function (it) {\n var iterFn = get(it);\n if (typeof iterFn != 'function') throw TypeError(it + ' is not iterable!');\n return anObject(iterFn.call(it));\n};\n\n\n/***/ }),\n/* 547 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\nvar __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;\n\n/*!\n * Copyright (c) 2016-2017, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n\n!(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(0)], __WEBPACK_AMD_DEFINE_RESULT__ = (function (Okta) {\n\n return Okta.View.extend({\n template: '\\\n <div class=\"content-container\">\\\n <span class=\"registration-label\">{{label}}</span>\\\n <a title=\"{{text}}\" aria-label=\"{{text}}\" class=\"registration-link\" href=\"#\">{{text}}</a>\\\n </div>\\\n ',\n className: 'registration-container',\n\n events: {\n 'click a.registration-link': 'handleClickEvent'\n },\n\n handleClickEvent: function handleClickEvent(e) {\n e.preventDefault();\n var clickHandler = this.settings.get('registration.click');\n if (clickHandler) {\n clickHandler();\n } else if (this.options.appState.get('isIdxStateToken')) {\n this.options.appState.trigger('navigate', 'signin/enroll-user');\n } else {\n this.options.appState.trigger('navigate', 'signin/register');\n }\n },\n\n getTemplateData: function getTemplateData() {\n var templateData = {\n label: Okta.loc('registration.signup.label', 'login'),\n text: Okta.loc('registration.signup.text', 'login')\n };\n return templateData;\n }\n });\n}).apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\n/***/ }),\n/* 548 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\nvar __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;\n\n/*!\n * Copyright (c) 2015-2017, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n\n!(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(0), __webpack_require__(13), __webpack_require__(243)], __WEBPACK_AMD_DEFINE_RESULT__ = (function (Okta, Util, PrimaryAuthForm) {\n\n var _ = Okta._;\n\n return PrimaryAuthForm.extend({\n className: 'idp-discovery-form',\n save: function save() {\n return Okta.loc('oform.next', 'login');\n },\n saveId: 'idp-discovery-submit',\n\n initialize: function initialize() {\n this.listenTo(this, 'save', _.bind(this.model.save, this.model));\n this.stateEnableChange();\n },\n\n inputs: function inputs() {\n var inputs = [];\n var usernameProps = {\n className: 'margin-btm-30',\n label: Okta.loc('primaryauth.username.placeholder', 'login'),\n 'label-top': true,\n explain: Util.createInputExplain('primaryauth.username.tooltip', 'primaryauth.username.placeholder', 'login'),\n 'explain-top': true,\n inputId: 'idp-discovery-username',\n disabled: false\n };\n inputs.push(_.extend(this.getUsernameField(), usernameProps));\n if (this.settings.get('features.rememberMe')) {\n inputs.push(this.getRemeberMeCheckbox());\n }\n return inputs;\n },\n\n focus: function focus() {\n if (!this.model.get('username')) {\n this.getInputs().first().focus();\n } else if (this.getInputs().toArray()[1]) {\n this.getInputs().toArray()[1].focus();\n }\n }\n\n });\n}).apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\n/***/ }),\n/* 549 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\nvar __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;\n\n/*!\n * Copyright (c) 2015-2017, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n\n!(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(0), __webpack_require__(175), __webpack_require__(176), __webpack_require__(6), __webpack_require__(13)], __WEBPACK_AMD_DEFINE_RESULT__ = (function (Okta, PrimaryAuthModel, CookieUtil, Enums, Util) {\n\n var _ = Okta._;\n\n return PrimaryAuthModel.extend({\n\n props: function props() {\n var cookieUsername = CookieUtil.getCookieUsername(),\n properties = this.getUsernameAndRemember(cookieUsername);\n\n return {\n username: ['string', true, properties.username],\n lastUsername: ['string', false, cookieUsername],\n context: ['object', false],\n remember: ['boolean', true, properties.remember]\n };\n },\n\n local: {},\n\n save: function save() {\n var username = this.settings.transformUsername(this.get('username'), Enums.IDP_DISCOVERY),\n remember = this.get('remember'),\n lastUsername = this.get('lastUsername'),\n resource = 'okta:acct:' + username,\n requestContext = this.get('requestContext');\n\n this.setUsernameCookie(username, remember, lastUsername);\n\n //the 'save' event here is triggered and used in the BaseLoginController\n //to disable the primary button\n this.trigger('save');\n\n this.appState.trigger('loading', true);\n\n var webfingerArgs = {\n resource: resource,\n requestContext: requestContext\n };\n\n var authClient = this.appState.settings.authClient;\n\n authClient.webfinger(webfingerArgs).then(_.bind(function (res) {\n if (res && res.links && res.links[0]) {\n if (res.links[0].properties['okta:idp:type'] === 'OKTA') {\n this.trigger('goToPrimaryAuth');\n } else if (res.links[0].href) {\n //override redirectFn to only use Util.redirectWithFormGet if OKTA_INVALID_SESSION_REPOST is included\n //it will be encoded since it will be included in the encoded fromURI\n var redirectFn = res.links[0].href.includes('OKTA_INVALID_SESSION_REPOST%3Dtrue') ? Util.redirectWithFormGet.bind(Util) : this.settings.get('redirectUtilFn');\n redirectFn(res.links[0].href);\n }\n }\n }, this)).fail(_.bind(function () {\n this.trigger('error');\n // Specific event handled by the Header for the case where the security image is not\n // enabled and we want to show a spinner. (Triggered only here and handled only by Header).\n this.appState.trigger('removeLoading');\n CookieUtil.removeUsernameCookie();\n }, this)).fin(_.bind(function () {\n this.appState.trigger('loading', false);\n }, this));\n }\n });\n}).apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\n/***/ }),\n/* 550 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\nvar __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;\n\n/*!\n * Copyright (c) 2015-2016, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n\n/* eslint camelcase: 0 */\n!(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(0), __webpack_require__(247), __webpack_require__(17), __webpack_require__(18), __webpack_require__(2), __webpack_require__(6), __webpack_require__(4), __webpack_require__(51)], __WEBPACK_AMD_DEFINE_RESULT__ = (function (Okta, Duo, Q, FactorUtil, FormController, Enums, FormType, FooterSignout) {\n\n var $ = Okta.$,\n _ = Okta._;\n\n return FormController.extend({\n\n className: 'mfa-verify-duo duo-form',\n\n Model: {\n props: {\n host: 'string',\n signature: 'string',\n postAction: 'string',\n factorId: 'string',\n stateToken: 'string',\n rememberDevice: 'boolean'\n },\n\n initialize: function initialize() {\n var rememberDevice = FactorUtil.getRememberDeviceValue(this.appState);\n // set the initial value for remember device (Cannot do this while defining the\n // local property because this.settings would not be initialized there yet).\n this.set('rememberDevice', rememberDevice);\n },\n\n getInitOptions: function getInitOptions() {\n var rememberDevice = !!this.get('rememberDevice');\n return this.doTransaction(function (transaction) {\n var data = {\n rememberDevice: rememberDevice\n };\n var factor = _.findWhere(transaction.factors, {\n provider: 'DUO',\n factorType: 'web'\n });\n return factor.verify(data).fail(function (err) {\n // Clean up the cookie on failure.\n throw err;\n });\n });\n },\n\n verify: function verify(signedResponse) {\n // Note: We should be doing this in OktaAuth! Fix when it's updated.\n var url = this.get('postAction'),\n factorId = this.get('factorId'),\n self = this,\n data = {\n id: factorId,\n stateToken: this.get('stateToken'),\n sig_response: signedResponse\n };\n // We don't actually use authClient.post() here (unlike all the other cases in the\n // sign-in widget) since the endpoint is wired to accept serialized form post instead\n // of a JSON post ($.post() is different from authClient.post() in that in $.post(),\n // jquery decides the Content-Type instead of it being a JSON type). Enroll/Verify DUO\n // are the only two places where we actually do this.\n // NOTE - If we ever decide to change this, we should test this very carefully.\n var rememberDevice = this.get('rememberDevice');\n return Q($.post(url, data)).then(function () {\n return self.doTransaction(function (transaction) {\n var data;\n if (rememberDevice) {\n data = { rememberDevice: rememberDevice };\n }\n return transaction.poll(data);\n });\n }).fail(function (err) {\n self.trigger('error', self, err.xhr);\n });\n }\n },\n\n Form: {\n autoSave: true,\n noButtonBar: true,\n title: _.partial(Okta.loc, 'factor.duo'),\n attributes: { 'data-se': 'factor-duo' },\n\n postRender: function postRender() {\n this.add('<iframe frameborder=\"0\" title=\"' + this.title() + '\"></iframe>');\n if (this.options.appState.get('allowRememberDevice')) {\n this.addInput({\n label: false,\n 'label-top': true,\n placeholder: this.options.appState.get('rememberDeviceLabel'),\n className: 'margin-btm-0',\n name: 'rememberDevice',\n type: 'checkbox'\n });\n }\n Duo.init({\n 'host': this.model.get('host'),\n 'sig_request': this.model.get('signature'),\n 'iframe': this.$('iframe').get(0),\n 'post_action': _.bind(this.model.verify, this.model)\n });\n }\n },\n\n Footer: FooterSignout,\n\n fetchInitialData: function fetchInitialData() {\n var self = this;\n return this.model.getInitOptions().then(function (trans) {\n var res = trans.data;\n if (!res._embedded || !res._embedded.factor || !res._embedded.factor._embedded || !res._embedded.factor._embedded.verification) {\n throw new Error('Response does not have duo verification options');\n }\n var verification = res._embedded.factor._embedded.verification;\n self.model.set({\n host: verification.host,\n signature: verification.signature,\n postAction: verification._links.complete.href,\n factorId: res._embedded.factor.id,\n stateToken: res.stateToken\n });\n });\n },\n\n trapAuthResponse: function trapAuthResponse() {\n if (this.options.appState.get('isMfaChallenge')) {\n return true;\n }\n },\n\n back: function back() {\n // Empty function on verify controllers to prevent users\n // from navigating back during 'verify' using the browser's\n // back button. The URL will still change, but the view will not\n // More details in OKTA-135060.\n }\n\n });\n}).apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\n/***/ }),\n/* 551 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\nvar __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;\n\nvar _defineProperty2 = __webpack_require__(177);\n\nvar _defineProperty3 = _interopRequireDefault(_defineProperty2);\n\nvar _assign = __webpack_require__(47);\n\nvar _assign2 = _interopRequireDefault(_assign);\n\nvar _keys = __webpack_require__(171);\n\nvar _keys2 = _interopRequireDefault(_keys);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n!(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(555), __webpack_require__(556)], __WEBPACK_AMD_DEFINE_RESULT__ = (function (parseMs, toMilliseconds) {\n\n var MOMENT_UNIT = {\n MILLISECOND: 'milliseconds',\n SECOND: 'seconds',\n MINUTE: 'minutes',\n HOUR: 'hours',\n DAY: 'days'\n };\n\n var MOMENT_UNIT_KEYS = (0, _keys2.default)(MOMENT_UNIT);\n\n /**\n * @method convertMomentUnits\n * Conversion between moment's units and our units internally\n *\n * @param {String} momentUnit The units that val is in\n * @return {String} The key in the MOMENT_UNIT hash\n */\n var convertMomentUnits = function convertMomentUnits(momentUnit) {\n var entry = MOMENT_UNIT_KEYS.filter(function (k) {\n return MOMENT_UNIT[k] === momentUnit;\n });\n\n return entry.length === 1 ? entry[0] : momentUnit;\n };\n\n return {\n\n /**\n * @method getTimeInHighestRelevantUnit\n * Will return a number in the units of the highest relevant time unit.\n * Only checks milliseconds, seconds, minutes, hours, and days.\n * E.g.\n * 15 MINUTE -> 15 MINUTE\n * 15 minutes -> 15 MINUTE\n * 60 minutes -> 1 HOUR\n * 90 minutes -> 90 MINUTE\n * 24 HOUR -> 1 DAY\n * 24 hours -> 1 DAY\n * 30 DAY -> 30 DAY\n *\n * @typedef { \"MILLISECOND\" | \"SECOND\" | \"MINUTE\" | \"HOUR\" | \"DAY\" } TimeUnit\n *\n * @typedef { \"MILLISECOND\" | \"SECOND\" | \"MINUTE\" | \"HOUR\" | \"DAY\" |\n * \"milliseconds\" | \"seconds\" | \"minutes\" | \"hours\" | \"days\"\n * } FlexibleTimeUnit\n *\n * @typedef TimeAndUnit\n * @property {number} time the consolidated time\n * @property {TimeUnit} unit the unit of the time\n *\n * @param {FlexibleTimeUnit} unit The time unit\n * @return {TimeAndUnit} An object containing the amount of time and the unit\n */\n getTimeInHighestRelevantUnit: function getTimeInHighestRelevantUnit(val, unit) {\n var defaultTimeObj = {\n days: 0,\n hours: 0,\n minutes: 0,\n seconds: 0,\n milliseconds: 0\n };\n var normalizedUnit = MOMENT_UNIT[unit] || unit;\n var timeObj = void 0;\n\n try {\n var ms = toMilliseconds((0, _assign2.default)(defaultTimeObj, (0, _defineProperty3.default)({}, normalizedUnit, val)));\n timeObj = parseMs(ms);\n } catch (error) {\n timeObj = {};\n }\n\n var duration = (0, _keys2.default)(timeObj).reduce(function (init, k) {\n if (timeObj[k] !== 0) {\n init[k] = timeObj[k];\n }\n return init;\n }, {});\n\n var highestUnit = void 0;\n var time = void 0;\n if ((0, _keys2.default)(duration).length === 1) {\n (0, _keys2.default)(duration).forEach(function (k) {\n time = duration[k];\n highestUnit = k;\n });\n } else {\n time = val;\n highestUnit = normalizedUnit;\n }\n\n return {\n time: time,\n unit: convertMomentUnits(highestUnit)\n };\n }\n\n };\n}).apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\n/***/ }),\n/* 552 */\n/***/ (function(module, exports, __webpack_require__) {\n\n__webpack_require__(553);\nmodule.exports = __webpack_require__(9).Object.assign;\n\n\n/***/ }),\n/* 553 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 19.1.3.1 Object.assign(target, source)\nvar $export = __webpack_require__(21);\n\n$export($export.S + $export.F, 'Object', { assign: __webpack_require__(554) });\n\n\n/***/ }),\n/* 554 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n// 19.1.2.1 Object.assign(target, source, ...)\nvar DESCRIPTORS = __webpack_require__(39);\nvar getKeys = __webpack_require__(81);\nvar gOPS = __webpack_require__(164);\nvar pIE = __webpack_require__(94);\nvar toObject = __webpack_require__(82);\nvar IObject = __webpack_require__(225);\nvar $assign = Object.assign;\n\n// should work with symbols and should have deterministic property order (V8 bug)\nmodule.exports = !$assign || __webpack_require__(79)(function () {\n var A = {};\n var B = {};\n // eslint-disable-next-line no-undef\n var S = Symbol();\n var K = 'abcdefghijklmnopqrst';\n A[S] = 7;\n K.split('').forEach(function (k) { B[k] = k; });\n return $assign({}, A)[S] != 7 || Object.keys($assign({}, B)).join('') != K;\n}) ? function assign(target, source) { // eslint-disable-line no-unused-vars\n var T = toObject(target);\n var aLen = arguments.length;\n var index = 1;\n var getSymbols = gOPS.f;\n var isEnum = pIE.f;\n while (aLen > index) {\n var S = IObject(arguments[index++]);\n var keys = getSymbols ? getKeys(S).concat(getSymbols(S)) : getKeys(S);\n var length = keys.length;\n var j = 0;\n var key;\n while (length > j) {\n key = keys[j++];\n if (!DESCRIPTORS || isEnum.call(S, key)) T[key] = S[key];\n }\n } return T;\n} : $assign;\n\n\n/***/ }),\n/* 555 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nmodule.exports = function (milliseconds) {\n\tif (typeof milliseconds !== 'number') {\n\t\tthrow new TypeError('Expected a number');\n\t}\n\n\tvar roundTowardsZero = milliseconds > 0 ? Math.floor : Math.ceil;\n\n\treturn {\n\t\tdays: roundTowardsZero(milliseconds / 86400000),\n\t\thours: roundTowardsZero(milliseconds / 3600000) % 24,\n\t\tminutes: roundTowardsZero(milliseconds / 60000) % 60,\n\t\tseconds: roundTowardsZero(milliseconds / 1000) % 60,\n\t\tmilliseconds: roundTowardsZero(milliseconds) % 1000,\n\t\tmicroseconds: roundTowardsZero(milliseconds * 1000) % 1000,\n\t\tnanoseconds: roundTowardsZero(milliseconds * 1e6) % 1000\n\t};\n};\n\n/***/ }),\n/* 556 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _typeof2 = __webpack_require__(89);\n\nvar _typeof3 = _interopRequireDefault(_typeof2);\n\nvar _slicedToArray2 = __webpack_require__(244);\n\nvar _slicedToArray3 = _interopRequireDefault(_slicedToArray2);\n\nvar _entries = __webpack_require__(557);\n\nvar _entries2 = _interopRequireDefault(_entries);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar converters = {\n\tdays: function days(value) {\n\t\treturn value * 864e5;\n\t},\n\thours: function hours(value) {\n\t\treturn value * 36e5;\n\t},\n\tminutes: function minutes(value) {\n\t\treturn value * 6e4;\n\t},\n\tseconds: function seconds(value) {\n\t\treturn value * 1e3;\n\t},\n\tmilliseconds: function milliseconds(value) {\n\t\treturn value;\n\t},\n\tmicroseconds: function microseconds(value) {\n\t\treturn value / 1e3;\n\t},\n\tnanoseconds: function nanoseconds(value) {\n\t\treturn value / 1e6;\n\t}\n};\n\nvar toMilliseconds = function toMilliseconds(object) {\n\treturn (0, _entries2.default)(object).reduce(function (milliseconds, _ref) {\n\t\tvar _ref2 = (0, _slicedToArray3.default)(_ref, 2),\n\t\t key = _ref2[0],\n\t\t value = _ref2[1];\n\n\t\tif (typeof value !== 'number') {\n\t\t\tthrow new TypeError('Expected a `number` for key `' + key + '`, got `' + value + '` (' + (typeof value === 'undefined' ? 'undefined' : (0, _typeof3.default)(value)) + ')');\n\t\t}\n\n\t\tif (!converters[key]) {\n\t\t\tthrow new Error('Unsupported time key');\n\t\t}\n\n\t\treturn milliseconds + converters[key](value);\n\t}, 0);\n};\n\nmodule.exports = toMilliseconds;\n// TODO: remove this for next major version\nmodule.exports.default = toMilliseconds;\n\n/***/ }),\n/* 557 */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = { \"default\": __webpack_require__(558), __esModule: true };\n\n/***/ }),\n/* 558 */\n/***/ (function(module, exports, __webpack_require__) {\n\n__webpack_require__(559);\nmodule.exports = __webpack_require__(9).Object.entries;\n\n\n/***/ }),\n/* 559 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// https://github.com/tc39/proposal-object-values-entries\nvar $export = __webpack_require__(21);\nvar $entries = __webpack_require__(560)(true);\n\n$export($export.S, 'Object', {\n entries: function entries(it) {\n return $entries(it);\n }\n});\n\n\n/***/ }),\n/* 560 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar DESCRIPTORS = __webpack_require__(39);\nvar getKeys = __webpack_require__(81);\nvar toIObject = __webpack_require__(56);\nvar isEnum = __webpack_require__(94).f;\nmodule.exports = function (isEntries) {\n return function (it) {\n var O = toIObject(it);\n var keys = getKeys(O);\n var length = keys.length;\n var i = 0;\n var result = [];\n var key;\n while (length > i) {\n key = keys[i++];\n if (!DESCRIPTORS || isEnum.call(O, key)) {\n result.push(isEntries ? [key, O[key]] : O[key]);\n }\n }\n return result;\n };\n};\n\n\n/***/ }),\n/* 561 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\nvar __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;\n\nvar _stringify = __webpack_require__(77);\n\nvar _stringify2 = _interopRequireDefault(_stringify);\n\nvar _regenerator = __webpack_require__(248);\n\nvar _regenerator2 = _interopRequireDefault(_regenerator);\n\nvar _asyncToGenerator2 = __webpack_require__(249);\n\nvar _asyncToGenerator3 = _interopRequireDefault(_asyncToGenerator2);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/*!\n * Copyright (c) 2019, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n\n/* eslint complexity:[2, 10], max-params: [2, 11] */\n\n!(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(0), __webpack_require__(2), __webpack_require__(4), __webpack_require__(178)], __WEBPACK_AMD_DEFINE_RESULT__ = (function (Okta, FormController, FormType, FooterWithBackLink) {\n\n var _ = Okta._,\n $ = Okta.$;\n var Util = Okta.internal.util.Util;\n\n\n return FormController.extend({\n className: 'piv-cac-card',\n Model: {\n\n save: function () {\n var _ref = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee() {\n var self, pivConfig, data, res;\n return _regenerator2.default.wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n this.trigger('request');\n self = this, pivConfig = this.settings.get('piv'), data = {\n fromURI: this.settings.get('relayState'),\n isCustomDomain: pivConfig.isCustomDomain\n };\n _context.prev = 2;\n _context.next = 5;\n return this.getCert(pivConfig.certAuthUrl);\n\n case 5:\n _context.next = 7;\n return this.postCert(pivConfig.certAuthUrl, data);\n\n case 7:\n res = _context.sent;\n\n Util.redirect(res.redirectUrl);\n _context.next = 15;\n break;\n\n case 11:\n _context.prev = 11;\n _context.t0 = _context['catch'](2);\n\n if (_.isEmpty(_context.t0.responseJSON) && !_context.t0.responseText) {\n _context.t0.responseJSON = {\n errorSummary: Okta.loc('piv.cac.error', 'login')\n };\n }\n self.trigger('error', self, _context.t0);\n\n case 15:\n case 'end':\n return _context.stop();\n }\n }\n }, _callee, this, [[2, 11]]);\n }));\n\n function save() {\n return _ref.apply(this, arguments);\n }\n\n return save;\n }(),\n\n getCert: function getCert(certAuthUrl) {\n return $.get({\n url: certAuthUrl,\n xhrFields: {\n withCredentials: true\n },\n beforeSend: function beforeSend() {\n // overriding this function to prevent our jquery-wrapper from\n // setting headers. Need to keep this a simple request in order for\n // PIV / CAC to work in IE.\n }\n });\n },\n\n postCert: function postCert(certAuthUrl, data) {\n return $.post({\n url: certAuthUrl,\n xhrFields: {\n withCredentials: true\n },\n data: (0, _stringify2.default)(data),\n contentType: 'text/plain',\n beforeSend: function beforeSend() {\n // overriding this function to prevent our jquery-wrapper from\n // setting headers. Need to keep this a simple request in order for\n // PIV / CAC to work in IE.\n }\n });\n }\n },\n\n Form: {\n autoSave: true,\n hasSavingState: false,\n title: _.partial(Okta.loc, 'piv.cac.title', 'login'),\n className: 'piv-cac-card',\n noCancelButton: true,\n save: _.partial(Okta.loc, 'retry', 'login'),\n modelEvents: {\n 'request': '_startEnrollment',\n 'error': '_stopEnrollment'\n },\n\n formChildren: [FormType.View({\n View: '<div class=\"piv-verify-text\">\\\n <p>{{i18n code=\"piv.cac.card.insert\" bundle=\"login\"}}</p>\\\n <div data-se=\"piv-waiting\" class=\"okta-waiting-spinner\"></div>\\\n </div>'\n })],\n\n _startEnrollment: function _startEnrollment() {\n this.$('.okta-waiting-spinner').show();\n this.$('.o-form-button-bar').hide();\n },\n\n _stopEnrollment: function _stopEnrollment() {\n this.$('.okta-waiting-spinner').hide();\n this.$('.o-form-button-bar').show();\n },\n\n postRender: function postRender() {\n var _this = this;\n\n _.defer(function () {\n _this.model.save();\n });\n }\n },\n\n back: function back() {\n // Empty function on verify controllers to prevent users\n // from navigating back during 'verify' using the browser's\n // back button. The URL will still change, but the view will not\n // More details in OKTA-135060.\n },\n\n Footer: FooterWithBackLink\n });\n}).apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\n/***/ }),\n/* 562 */\n/***/ (function(module, exports, __webpack_require__) {\n\n/**\n * Copyright (c) 2014-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n// This method of obtaining a reference to the global object needs to be\n// kept identical to the way it is obtained in runtime.js\nvar g = (function() { return this })() || Function(\"return this\")();\n\n// Use `getOwnPropertyNames` because not all browsers support calling\n// `hasOwnProperty` on the global `self` object in a worker. See #183.\nvar hadRuntime = g.regeneratorRuntime &&\n Object.getOwnPropertyNames(g).indexOf(\"regeneratorRuntime\") >= 0;\n\n// Save the old regeneratorRuntime in case it needs to be restored later.\nvar oldRuntime = hadRuntime && g.regeneratorRuntime;\n\n// Force reevalutation of runtime.js.\ng.regeneratorRuntime = undefined;\n\nmodule.exports = __webpack_require__(563);\n\nif (hadRuntime) {\n // Restore the original runtime.\n g.regeneratorRuntime = oldRuntime;\n} else {\n // Remove the global property added by runtime.js.\n try {\n delete g.regeneratorRuntime;\n } catch(e) {\n g.regeneratorRuntime = undefined;\n }\n}\n\n\n/***/ }),\n/* 563 */\n/***/ (function(module, exports) {\n\n/**\n * Copyright (c) 2014-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n!(function(global) {\n \"use strict\";\n\n var Op = Object.prototype;\n var hasOwn = Op.hasOwnProperty;\n var undefined; // More compressible than void 0.\n var $Symbol = typeof Symbol === \"function\" ? Symbol : {};\n var iteratorSymbol = $Symbol.iterator || \"@@iterator\";\n var asyncIteratorSymbol = $Symbol.asyncIterator || \"@@asyncIterator\";\n var toStringTagSymbol = $Symbol.toStringTag || \"@@toStringTag\";\n\n var inModule = typeof module === \"object\";\n var runtime = global.regeneratorRuntime;\n if (runtime) {\n if (inModule) {\n // If regeneratorRuntime is defined globally and we're in a module,\n // make the exports object identical to regeneratorRuntime.\n module.exports = runtime;\n }\n // Don't bother evaluating the rest of this file if the runtime was\n // already defined globally.\n return;\n }\n\n // Define the runtime globally (as expected by generated code) as either\n // module.exports (if we're in a module) or a new, empty object.\n runtime = global.regeneratorRuntime = inModule ? module.exports : {};\n\n function wrap(innerFn, outerFn, self, tryLocsList) {\n // If outerFn provided and outerFn.prototype is a Generator, then outerFn.prototype instanceof Generator.\n var protoGenerator = outerFn && outerFn.prototype instanceof Generator ? outerFn : Generator;\n var generator = Object.create(protoGenerator.prototype);\n var context = new Context(tryLocsList || []);\n\n // The ._invoke method unifies the implementations of the .next,\n // .throw, and .return methods.\n generator._invoke = makeInvokeMethod(innerFn, self, context);\n\n return generator;\n }\n runtime.wrap = wrap;\n\n // Try/catch helper to minimize deoptimizations. Returns a completion\n // record like context.tryEntries[i].completion. This interface could\n // have been (and was previously) designed to take a closure to be\n // invoked without arguments, but in all the cases we care about we\n // already have an existing method we want to call, so there's no need\n // to create a new function object. We can even get away with assuming\n // the method takes exactly one argument, since that happens to be true\n // in every case, so we don't have to touch the arguments object. The\n // only additional allocation required is the completion record, which\n // has a stable shape and so hopefully should be cheap to allocate.\n function tryCatch(fn, obj, arg) {\n try {\n return { type: \"normal\", arg: fn.call(obj, arg) };\n } catch (err) {\n return { type: \"throw\", arg: err };\n }\n }\n\n var GenStateSuspendedStart = \"suspendedStart\";\n var GenStateSuspendedYield = \"suspendedYield\";\n var GenStateExecuting = \"executing\";\n var GenStateCompleted = \"completed\";\n\n // Returning this object from the innerFn has the same effect as\n // breaking out of the dispatch switch statement.\n var ContinueSentinel = {};\n\n // Dummy constructor functions that we use as the .constructor and\n // .constructor.prototype properties for functions that return Generator\n // objects. For full spec compliance, you may wish to configure your\n // minifier not to mangle the names of these two functions.\n function Generator() {}\n function GeneratorFunction() {}\n function GeneratorFunctionPrototype() {}\n\n // This is a polyfill for %IteratorPrototype% for environments that\n // don't natively support it.\n var IteratorPrototype = {};\n IteratorPrototype[iteratorSymbol] = function () {\n return this;\n };\n\n var getProto = Object.getPrototypeOf;\n var NativeIteratorPrototype = getProto && getProto(getProto(values([])));\n if (NativeIteratorPrototype &&\n NativeIteratorPrototype !== Op &&\n hasOwn.call(NativeIteratorPrototype, iteratorSymbol)) {\n // This environment has a native %IteratorPrototype%; use it instead\n // of the polyfill.\n IteratorPrototype = NativeIteratorPrototype;\n }\n\n var Gp = GeneratorFunctionPrototype.prototype =\n Generator.prototype = Object.create(IteratorPrototype);\n GeneratorFunction.prototype = Gp.constructor = GeneratorFunctionPrototype;\n GeneratorFunctionPrototype.constructor = GeneratorFunction;\n GeneratorFunctionPrototype[toStringTagSymbol] =\n GeneratorFunction.displayName = \"GeneratorFunction\";\n\n // Helper for defining the .next, .throw, and .return methods of the\n // Iterator interface in terms of a single ._invoke method.\n function defineIteratorMethods(prototype) {\n [\"next\", \"throw\", \"return\"].forEach(function(method) {\n prototype[method] = function(arg) {\n return this._invoke(method, arg);\n };\n });\n }\n\n runtime.isGeneratorFunction = function(genFun) {\n var ctor = typeof genFun === \"function\" && genFun.constructor;\n return ctor\n ? ctor === GeneratorFunction ||\n // For the native GeneratorFunction constructor, the best we can\n // do is to check its .name property.\n (ctor.displayName || ctor.name) === \"GeneratorFunction\"\n : false;\n };\n\n runtime.mark = function(genFun) {\n if (Object.setPrototypeOf) {\n Object.setPrototypeOf(genFun, GeneratorFunctionPrototype);\n } else {\n genFun.__proto__ = GeneratorFunctionPrototype;\n if (!(toStringTagSymbol in genFun)) {\n genFun[toStringTagSymbol] = \"GeneratorFunction\";\n }\n }\n genFun.prototype = Object.create(Gp);\n return genFun;\n };\n\n // Within the body of any async function, `await x` is transformed to\n // `yield regeneratorRuntime.awrap(x)`, so that the runtime can test\n // `hasOwn.call(value, \"__await\")` to determine if the yielded value is\n // meant to be awaited.\n runtime.awrap = function(arg) {\n return { __await: arg };\n };\n\n function AsyncIterator(generator) {\n function invoke(method, arg, resolve, reject) {\n var record = tryCatch(generator[method], generator, arg);\n if (record.type === \"throw\") {\n reject(record.arg);\n } else {\n var result = record.arg;\n var value = result.value;\n if (value &&\n typeof value === \"object\" &&\n hasOwn.call(value, \"__await\")) {\n return Promise.resolve(value.__await).then(function(value) {\n invoke(\"next\", value, resolve, reject);\n }, function(err) {\n invoke(\"throw\", err, resolve, reject);\n });\n }\n\n return Promise.resolve(value).then(function(unwrapped) {\n // When a yielded Promise is resolved, its final value becomes\n // the .value of the Promise<{value,done}> result for the\n // current iteration. If the Promise is rejected, however, the\n // result for this iteration will be rejected with the same\n // reason. Note that rejections of yielded Promises are not\n // thrown back into the generator function, as is the case\n // when an awaited Promise is rejected. This difference in\n // behavior between yield and await is important, because it\n // allows the consumer to decide what to do with the yielded\n // rejection (swallow it and continue, manually .throw it back\n // into the generator, abandon iteration, whatever). With\n // await, by contrast, there is no opportunity to examine the\n // rejection reason outside the generator function, so the\n // only option is to throw it from the await expression, and\n // let the generator function handle the exception.\n result.value = unwrapped;\n resolve(result);\n }, reject);\n }\n }\n\n var previousPromise;\n\n function enqueue(method, arg) {\n function callInvokeWithMethodAndArg() {\n return new Promise(function(resolve, reject) {\n invoke(method, arg, resolve, reject);\n });\n }\n\n return previousPromise =\n // If enqueue has been called before, then we want to wait until\n // all previous Promises have been resolved before calling invoke,\n // so that results are always delivered in the correct order. If\n // enqueue has not been called before, then it is important to\n // call invoke immediately, without waiting on a callback to fire,\n // so that the async generator function has the opportunity to do\n // any necessary setup in a predictable way. This predictability\n // is why the Promise constructor synchronously invokes its\n // executor callback, and why async functions synchronously\n // execute code before the first await. Since we implement simple\n // async functions in terms of async generators, it is especially\n // important to get this right, even though it requires care.\n previousPromise ? previousPromise.then(\n callInvokeWithMethodAndArg,\n // Avoid propagating failures to Promises returned by later\n // invocations of the iterator.\n callInvokeWithMethodAndArg\n ) : callInvokeWithMethodAndArg();\n }\n\n // Define the unified helper method that is used to implement .next,\n // .throw, and .return (see defineIteratorMethods).\n this._invoke = enqueue;\n }\n\n defineIteratorMethods(AsyncIterator.prototype);\n AsyncIterator.prototype[asyncIteratorSymbol] = function () {\n return this;\n };\n runtime.AsyncIterator = AsyncIterator;\n\n // Note that simple async functions are implemented on top of\n // AsyncIterator objects; they just return a Promise for the value of\n // the final result produced by the iterator.\n runtime.async = function(innerFn, outerFn, self, tryLocsList) {\n var iter = new AsyncIterator(\n wrap(innerFn, outerFn, self, tryLocsList)\n );\n\n return runtime.isGeneratorFunction(outerFn)\n ? iter // If outerFn is a generator, return the full iterator.\n : iter.next().then(function(result) {\n return result.done ? result.value : iter.next();\n });\n };\n\n function makeInvokeMethod(innerFn, self, context) {\n var state = GenStateSuspendedStart;\n\n return function invoke(method, arg) {\n if (state === GenStateExecuting) {\n throw new Error(\"Generator is already running\");\n }\n\n if (state === GenStateCompleted) {\n if (method === \"throw\") {\n throw arg;\n }\n\n // Be forgiving, per 25.3.3.3.3 of the spec:\n // https://people.mozilla.org/~jorendorff/es6-draft.html#sec-generatorresume\n return doneResult();\n }\n\n context.method = method;\n context.arg = arg;\n\n while (true) {\n var delegate = context.delegate;\n if (delegate) {\n var delegateResult = maybeInvokeDelegate(delegate, context);\n if (delegateResult) {\n if (delegateResult === ContinueSentinel) continue;\n return delegateResult;\n }\n }\n\n if (context.method === \"next\") {\n // Setting context._sent for legacy support of Babel's\n // function.sent implementation.\n context.sent = context._sent = context.arg;\n\n } else if (context.method === \"throw\") {\n if (state === GenStateSuspendedStart) {\n state = GenStateCompleted;\n throw context.arg;\n }\n\n context.dispatchException(context.arg);\n\n } else if (context.method === \"return\") {\n context.abrupt(\"return\", context.arg);\n }\n\n state = GenStateExecuting;\n\n var record = tryCatch(innerFn, self, context);\n if (record.type === \"normal\") {\n // If an exception is thrown from innerFn, we leave state ===\n // GenStateExecuting and loop back for another invocation.\n state = context.done\n ? GenStateCompleted\n : GenStateSuspendedYield;\n\n if (record.arg === ContinueSentinel) {\n continue;\n }\n\n return {\n value: record.arg,\n done: context.done\n };\n\n } else if (record.type === \"throw\") {\n state = GenStateCompleted;\n // Dispatch the exception by looping back around to the\n // context.dispatchException(context.arg) call above.\n context.method = \"throw\";\n context.arg = record.arg;\n }\n }\n };\n }\n\n // Call delegate.iterator[context.method](context.arg) and handle the\n // result, either by returning a { value, done } result from the\n // delegate iterator, or by modifying context.method and context.arg,\n // setting context.delegate to null, and returning the ContinueSentinel.\n function maybeInvokeDelegate(delegate, context) {\n var method = delegate.iterator[context.method];\n if (method === undefined) {\n // A .throw or .return when the delegate iterator has no .throw\n // method always terminates the yield* loop.\n context.delegate = null;\n\n if (context.method === \"throw\") {\n if (delegate.iterator.return) {\n // If the delegate iterator has a return method, give it a\n // chance to clean up.\n context.method = \"return\";\n context.arg = undefined;\n maybeInvokeDelegate(delegate, context);\n\n if (context.method === \"throw\") {\n // If maybeInvokeDelegate(context) changed context.method from\n // \"return\" to \"throw\", let that override the TypeError below.\n return ContinueSentinel;\n }\n }\n\n context.method = \"throw\";\n context.arg = new TypeError(\n \"The iterator does not provide a 'throw' method\");\n }\n\n return ContinueSentinel;\n }\n\n var record = tryCatch(method, delegate.iterator, context.arg);\n\n if (record.type === \"throw\") {\n context.method = \"throw\";\n context.arg = record.arg;\n context.delegate = null;\n return ContinueSentinel;\n }\n\n var info = record.arg;\n\n if (! info) {\n context.method = \"throw\";\n context.arg = new TypeError(\"iterator result is not an object\");\n context.delegate = null;\n return ContinueSentinel;\n }\n\n if (info.done) {\n // Assign the result of the finished delegate to the temporary\n // variable specified by delegate.resultName (see delegateYield).\n context[delegate.resultName] = info.value;\n\n // Resume execution at the desired location (see delegateYield).\n context.next = delegate.nextLoc;\n\n // If context.method was \"throw\" but the delegate handled the\n // exception, let the outer generator proceed normally. If\n // context.method was \"next\", forget context.arg since it has been\n // \"consumed\" by the delegate iterator. If context.method was\n // \"return\", allow the original .return call to continue in the\n // outer generator.\n if (context.method !== \"return\") {\n context.method = \"next\";\n context.arg = undefined;\n }\n\n } else {\n // Re-yield the result returned by the delegate method.\n return info;\n }\n\n // The delegate iterator is finished, so forget it and continue with\n // the outer generator.\n context.delegate = null;\n return ContinueSentinel;\n }\n\n // Define Generator.prototype.{next,throw,return} in terms of the\n // unified ._invoke helper method.\n defineIteratorMethods(Gp);\n\n Gp[toStringTagSymbol] = \"Generator\";\n\n // A Generator should always return itself as the iterator object when the\n // @@iterator function is called on it. Some browsers' implementations of the\n // iterator prototype chain incorrectly implement this, causing the Generator\n // object to not be returned from this call. This ensures that doesn't happen.\n // See https://github.com/facebook/regenerator/issues/274 for more details.\n Gp[iteratorSymbol] = function() {\n return this;\n };\n\n Gp.toString = function() {\n return \"[object Generator]\";\n };\n\n function pushTryEntry(locs) {\n var entry = { tryLoc: locs[0] };\n\n if (1 in locs) {\n entry.catchLoc = locs[1];\n }\n\n if (2 in locs) {\n entry.finallyLoc = locs[2];\n entry.afterLoc = locs[3];\n }\n\n this.tryEntries.push(entry);\n }\n\n function resetTryEntry(entry) {\n var record = entry.completion || {};\n record.type = \"normal\";\n delete record.arg;\n entry.completion = record;\n }\n\n function Context(tryLocsList) {\n // The root entry object (effectively a try statement without a catch\n // or a finally block) gives us a place to store values thrown from\n // locations where there is no enclosing try statement.\n this.tryEntries = [{ tryLoc: \"root\" }];\n tryLocsList.forEach(pushTryEntry, this);\n this.reset(true);\n }\n\n runtime.keys = function(object) {\n var keys = [];\n for (var key in object) {\n keys.push(key);\n }\n keys.reverse();\n\n // Rather than returning an object with a next method, we keep\n // things simple and return the next function itself.\n return function next() {\n while (keys.length) {\n var key = keys.pop();\n if (key in object) {\n next.value = key;\n next.done = false;\n return next;\n }\n }\n\n // To avoid creating an additional object, we just hang the .value\n // and .done properties off the next function object itself. This\n // also ensures that the minifier will not anonymize the function.\n next.done = true;\n return next;\n };\n };\n\n function values(iterable) {\n if (iterable) {\n var iteratorMethod = iterable[iteratorSymbol];\n if (iteratorMethod) {\n return iteratorMethod.call(iterable);\n }\n\n if (typeof iterable.next === \"function\") {\n return iterable;\n }\n\n if (!isNaN(iterable.length)) {\n var i = -1, next = function next() {\n while (++i < iterable.length) {\n if (hasOwn.call(iterable, i)) {\n next.value = iterable[i];\n next.done = false;\n return next;\n }\n }\n\n next.value = undefined;\n next.done = true;\n\n return next;\n };\n\n return next.next = next;\n }\n }\n\n // Return an iterator with no values.\n return { next: doneResult };\n }\n runtime.values = values;\n\n function doneResult() {\n return { value: undefined, done: true };\n }\n\n Context.prototype = {\n constructor: Context,\n\n reset: function(skipTempReset) {\n this.prev = 0;\n this.next = 0;\n // Resetting context._sent for legacy support of Babel's\n // function.sent implementation.\n this.sent = this._sent = undefined;\n this.done = false;\n this.delegate = null;\n\n this.method = \"next\";\n this.arg = undefined;\n\n this.tryEntries.forEach(resetTryEntry);\n\n if (!skipTempReset) {\n for (var name in this) {\n // Not sure about the optimal order of these conditions:\n if (name.charAt(0) === \"t\" &&\n hasOwn.call(this, name) &&\n !isNaN(+name.slice(1))) {\n this[name] = undefined;\n }\n }\n }\n },\n\n stop: function() {\n this.done = true;\n\n var rootEntry = this.tryEntries[0];\n var rootRecord = rootEntry.completion;\n if (rootRecord.type === \"throw\") {\n throw rootRecord.arg;\n }\n\n return this.rval;\n },\n\n dispatchException: function(exception) {\n if (this.done) {\n throw exception;\n }\n\n var context = this;\n function handle(loc, caught) {\n record.type = \"throw\";\n record.arg = exception;\n context.next = loc;\n\n if (caught) {\n // If the dispatched exception was caught by a catch block,\n // then let that catch block handle the exception normally.\n context.method = \"next\";\n context.arg = undefined;\n }\n\n return !! caught;\n }\n\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n var record = entry.completion;\n\n if (entry.tryLoc === \"root\") {\n // Exception thrown outside of any try block that could handle\n // it, so set the completion value of the entire function to\n // throw the exception.\n return handle(\"end\");\n }\n\n if (entry.tryLoc <= this.prev) {\n var hasCatch = hasOwn.call(entry, \"catchLoc\");\n var hasFinally = hasOwn.call(entry, \"finallyLoc\");\n\n if (hasCatch && hasFinally) {\n if (this.prev < entry.catchLoc) {\n return handle(entry.catchLoc, true);\n } else if (this.prev < entry.finallyLoc) {\n return handle(entry.finallyLoc);\n }\n\n } else if (hasCatch) {\n if (this.prev < entry.catchLoc) {\n return handle(entry.catchLoc, true);\n }\n\n } else if (hasFinally) {\n if (this.prev < entry.finallyLoc) {\n return handle(entry.finallyLoc);\n }\n\n } else {\n throw new Error(\"try statement without catch or finally\");\n }\n }\n }\n },\n\n abrupt: function(type, arg) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.tryLoc <= this.prev &&\n hasOwn.call(entry, \"finallyLoc\") &&\n this.prev < entry.finallyLoc) {\n var finallyEntry = entry;\n break;\n }\n }\n\n if (finallyEntry &&\n (type === \"break\" ||\n type === \"continue\") &&\n finallyEntry.tryLoc <= arg &&\n arg <= finallyEntry.finallyLoc) {\n // Ignore the finally entry if control is not jumping to a\n // location outside the try/catch block.\n finallyEntry = null;\n }\n\n var record = finallyEntry ? finallyEntry.completion : {};\n record.type = type;\n record.arg = arg;\n\n if (finallyEntry) {\n this.method = \"next\";\n this.next = finallyEntry.finallyLoc;\n return ContinueSentinel;\n }\n\n return this.complete(record);\n },\n\n complete: function(record, afterLoc) {\n if (record.type === \"throw\") {\n throw record.arg;\n }\n\n if (record.type === \"break\" ||\n record.type === \"continue\") {\n this.next = record.arg;\n } else if (record.type === \"return\") {\n this.rval = this.arg = record.arg;\n this.method = \"return\";\n this.next = \"end\";\n } else if (record.type === \"normal\" && afterLoc) {\n this.next = afterLoc;\n }\n\n return ContinueSentinel;\n },\n\n finish: function(finallyLoc) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.finallyLoc === finallyLoc) {\n this.complete(entry.completion, entry.afterLoc);\n resetTryEntry(entry);\n return ContinueSentinel;\n }\n }\n },\n\n \"catch\": function(tryLoc) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.tryLoc === tryLoc) {\n var record = entry.completion;\n if (record.type === \"throw\") {\n var thrown = record.arg;\n resetTryEntry(entry);\n }\n return thrown;\n }\n }\n\n // The context.catch method must only be called with a location\n // argument that corresponds to a known catch block.\n throw new Error(\"illegal catch attempt\");\n },\n\n delegateYield: function(iterable, resultName, nextLoc) {\n this.delegate = {\n iterator: values(iterable),\n resultName: resultName,\n nextLoc: nextLoc\n };\n\n if (this.method === \"next\") {\n // Deliberately forget the last sent value so that we don't\n // accidentally pass it on to the delegate.\n this.arg = undefined;\n }\n\n return ContinueSentinel;\n }\n };\n})(\n // In sloppy mode, unbound `this` refers to the global object, fallback to\n // Function constructor if we're in global strict mode. That is sadly a form\n // of indirect eval which violates Content Security Policy.\n (function() { return this })() || Function(\"return this\")()\n);\n\n\n/***/ }),\n/* 564 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\nvar __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;\n\n/*!\n * Copyright (c) 2015-2016, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n\n/* eslint complexity: [2, 21] max-statements: [2, 25] max-params: 0 */\n!(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(0), __webpack_require__(83), __webpack_require__(565), __webpack_require__(566), __webpack_require__(567), __webpack_require__(568), __webpack_require__(574), __webpack_require__(569), __webpack_require__(571), __webpack_require__(572), __webpack_require__(573), __webpack_require__(51)], __WEBPACK_AMD_DEFINE_RESULT__ = (function (Okta, BaseLoginController, TOTPForm, YubikeyForm, SecurityQuestionForm, PassCodeForm, EmailMagicLinkForm, PushForm, PasswordForm, InlineTOTPForm, SendEmailAndVerifyCodeForm, FooterSignout) {\n var CheckBox = Okta.internal.views.forms.inputs.CheckBox;\n\n\n return BaseLoginController.extend({\n className: 'mfa-verify',\n\n initialize: function initialize(options) {\n var factorType = options.factorType;\n\n var View;\n switch (factorType) {\n case 'question':\n View = SecurityQuestionForm;\n break;\n case 'email':\n if (this.options.appState.get('isIdxStateToken')) {\n View = EmailMagicLinkForm;\n } else {\n View = SendEmailAndVerifyCodeForm;\n }\n break;\n case 'sms':\n case 'call':\n View = PassCodeForm;\n break;\n case 'token':\n case 'token:software:totp':\n case 'token:hotp':\n View = TOTPForm;\n break;\n case 'token:hardware':\n View = YubikeyForm;\n break;\n case 'push':\n View = PushForm;\n break;\n case 'password':\n View = PasswordForm;\n break;\n default:\n throw new Error('Unrecognized factor type');\n }\n\n this.model = this.findModel(factorType, options);\n if (!this.model) {\n // TODO: recover from this more gracefully - probably to redirect\n // to default factor\n throw new Error('Unrecognized factor/provider');\n }\n\n this.addListeners();\n this.add(new View(this.toJSON()));\n\n // If Okta Verify Push and Okta Verify totp are both enabled,\n // then we show Push first, and totp is the \"backup\" factor,\n // which is rendered in an additional InlineTOTPForm\n if (factorType === 'push' && this.model.get('isOktaFactor')) {\n if (this.model.get('backupFactor')) {\n this.inlineTotpForm = this.add(InlineTOTPForm, {\n options: { model: this.model.get('backupFactor') }\n }).last();\n }\n\n if (this.settings.get('features.autoPush')) {\n this.autoPushCheckBox = this.add(CheckBox, {\n options: {\n model: this.model,\n name: 'autoPush',\n placeholder: Okta.loc('autoPush', 'login'),\n label: false,\n 'label-top': false,\n className: 'margin-btm-0'\n }\n }).last();\n }\n\n // Remember Device checkbox resides outside of the Push and TOTP forms.\n if (this.options.appState.get('allowRememberDevice')) {\n this.rememberDeviceCheckbox = this.add(CheckBox, {\n options: {\n model: this.model,\n name: 'rememberDevice',\n placeholder: this.options.appState.get('rememberDeviceLabel'),\n label: false,\n 'label-top': true,\n className: 'margin-btm-0'\n }\n }).last();\n }\n // Set rememberDevice on the backup factor (totp) if available\n if (this.model.get('backupFactor')) {\n this.listenTo(this.model, 'change:rememberDevice', function (model, rememberDevice) {\n model.get('backupFactor').set('rememberDevice', rememberDevice);\n });\n }\n }\n\n this.listenTo(this.options.appState, 'change:isWaitingForNumberChallenge', function (state, isWaitingForNumberChallenge) {\n if (isWaitingForNumberChallenge || this.options.appState.get('lastAuthResponse').status === 'SUCCESS') {\n this.autoPushCheckBox && this.autoPushCheckBox.$el.hide();\n this.rememberDeviceCheckbox && this.rememberDeviceCheckbox.$el.hide();\n this.inlineTotpForm && this.inlineTotpForm.$el.hide();\n } else {\n this.autoPushCheckBox && this.autoPushCheckBox.$el.show();\n this.rememberDeviceCheckbox && this.rememberDeviceCheckbox.$el.show();\n this.inlineTotpForm && this.inlineTotpForm.$el.show();\n }\n });\n\n if (!this.settings.get('features.hideSignOutLinkInMFA')) {\n this.add(new FooterSignout(this.toJSON()));\n }\n },\n\n findModel: function findModel(factorType, options) {\n var factors = options.appState.get('factors');\n var provider = options.provider;\n var factorIndex = options.factorIndex;\n\n if (!provider) {\n return factors.findWhere({ factorType: factorType, isFactorTypeVerification: true });\n } else if (factors.hasMultipleFactorsOfSameType(factorType) && factorIndex) {\n return factors.getFactorByTypeAndIndex(factorType, factorIndex);\n } else {\n return factors.findWhere({ provider: provider, factorType: factorType });\n }\n },\n\n trapAuthResponse: function trapAuthResponse() {\n if (this.options.appState.get('isMfaRequired') && this.options.appState.get('trapMfaRequiredResponse') || this.options.appState.get('isMfaChallenge')) {\n this.options.appState.set('trapMfaRequiredResponse', false);\n return true;\n }\n return false;\n },\n\n back: function back() {\n // Empty function on verify controllers to prevent users\n // from navigating back during 'verify' using the browser's\n // back button. The URL will still change, but the view will not\n // More details in OKTA-135060.\n }\n });\n}).apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\n/***/ }),\n/* 565 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\nvar __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;\n\n/*!\n * Copyright (c) 2015-2016, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n\n!(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(0), __webpack_require__(14)], __WEBPACK_AMD_DEFINE_RESULT__ = (function (Okta, TextBox) {\n\n var _ = Okta._;\n\n return Okta.Form.extend({\n className: 'mfa-verify-totp',\n autoSave: true,\n noCancelButton: true,\n save: _.partial(Okta.loc, 'mfa.challenge.verify', 'login'),\n scrollOnError: false,\n layout: 'o-form-theme',\n attributes: { 'data-se': 'factor-totp' },\n\n initialize: function initialize() {\n var factorName = this.model.get('factorLabel');\n var maskPasswordField = this.model.get('provider') === 'RSA' || this.model.get('provider') === 'DEL_OATH';\n\n this.title = factorName;\n if (this.model.get('isFactorTypeVerification')) {\n this.subtitle = Okta.loc('mfa.challenge.totp.subtitle.multiple', 'login', [factorName]);\n } else {\n this.subtitle = Okta.loc('mfa.challenge.title', 'login', [factorName]);\n }\n\n this.addInput({\n label: Okta.loc('mfa.challenge.enterCode.placeholder', 'login'),\n 'label-top': true,\n className: 'o-form-fieldset o-form-label-top auth-passcode',\n name: 'answer',\n input: TextBox,\n type: maskPasswordField ? 'password' : 'tel'\n });\n\n if (this.options.appState.get('allowRememberDevice')) {\n this.addInput({\n label: false,\n 'label-top': true,\n placeholder: this.options.appState.get('rememberDeviceLabel'),\n className: 'margin-btm-0',\n name: 'rememberDevice',\n type: 'checkbox'\n });\n }\n\n if (this.model.get('provider') === 'RSA' || this.model.get('provider') === 'DEL_OATH') {\n this.listenTo(this.model, 'error', _.bind(function (source, error) {\n if (error && error.status === 409) {\n // 409 means we are in change pin, so we should clear out answer input\n this.$('.auth-passcode input').val('');\n this.$('.auth-passcode input').trigger('change');\n this.$('.auth-passcode input').focus();\n }\n }, this));\n }\n }\n\n });\n}).apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\n/***/ }),\n/* 566 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\nvar __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;\n\n/*!\n * Copyright (c) 2015-2016, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n\n!(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(0), __webpack_require__(14)], __WEBPACK_AMD_DEFINE_RESULT__ = (function (Okta, TextBox) {\n\n var _ = Okta._;\n\n return Okta.Form.extend({\n className: 'mfa-verify-yubikey',\n autoSave: true,\n noCancelButton: true,\n save: _.partial(Okta.loc, 'mfa.challenge.verify', 'login'),\n scrollOnError: false,\n layout: 'o-form-theme',\n attributes: { 'data-se': 'factor-yubikey' },\n\n initialize: function initialize() {\n var factorName = this.model.get('factorLabel');\n\n this.title = factorName;\n this.subtitle = Okta.loc('factor.totpHard.yubikey.description', 'login');\n\n this.addInput({\n label: Okta.loc('factor.totpHard.yubikey.placeholder', 'login'),\n 'label-top': true,\n className: 'o-form-fieldset o-form-label-top auth-passcode',\n name: 'answer',\n input: TextBox,\n inputId: 'mfa-answer',\n type: 'password'\n });\n\n if (this.options.appState.get('allowRememberDevice')) {\n this.addInput({\n label: false,\n 'label-top': true,\n className: 'margin-btm-0',\n placeholder: this.options.appState.get('rememberDeviceLabel'),\n name: 'rememberDevice',\n type: 'checkbox'\n });\n }\n }\n\n });\n}).apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\n/***/ }),\n/* 567 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\nvar __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;\n\n/*!\n * Copyright (c) 2015-2016, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n\n!(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(0)], __WEBPACK_AMD_DEFINE_RESULT__ = (function (Okta) {\n\n var _ = Okta._;\n\n return Okta.Form.extend({\n className: 'mfa-verify-question',\n autoSave: true,\n noCancelButton: true,\n save: _.partial(Okta.loc, 'mfa.challenge.verify', 'login'),\n scrollOnError: false,\n layout: 'o-form-theme',\n attributes: { 'data-se': 'factor-question' },\n\n initialize: function initialize() {\n this.title = this.model.get('factorLabel');\n\n this.addInput({\n label: this.model.get('securityQuestion'),\n 'label-top': true,\n placeholder: Okta.loc('mfa.challenge.answer.placeholder', 'login'),\n className: 'auth-passcode',\n name: 'answer',\n type: 'password',\n params: {\n showPasswordToggle: true\n }\n });\n\n if (this.options.appState.get('allowRememberDevice')) {\n this.addInput({\n label: false,\n 'label-top': true,\n placeholder: this.options.appState.get('rememberDeviceLabel'),\n className: 'margin-btm-0',\n name: 'rememberDevice',\n type: 'checkbox'\n });\n }\n }\n });\n}).apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\n/***/ }),\n/* 568 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\nvar __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;\n\n/*!\n * Copyright (c) 2015-2016, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n/* eslint complexity: [2, 7] */\n!(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(0), __webpack_require__(17), __webpack_require__(14), __webpack_require__(6)], __WEBPACK_AMD_DEFINE_RESULT__ = (function (Okta, Q, TextBox, Enums) {\n\n var subtitleTpl = Okta.tpl('({{subtitle}})');\n var _ = Okta._;\n var warningTemplate = '<div class=\"okta-form-infobox-warning infobox infobox-warning login-timeout-warning\">\\\n <span class=\"icon warning-16\"></span>\\\n <p>{{{warning}}}</p>\\\n </div>\\\n ';\n\n function getFormAndButtonDetails(factorType) {\n switch (factorType) {\n case 'sms':\n return {\n buttonDataSe: 'sms-send-code',\n buttonClassName: 'sms-request-button',\n formSubmit: Okta.loc('mfa.sendCode', 'login'),\n formRetry: Okta.loc('mfa.resendCode', 'login'),\n formSubmitted: Okta.loc('mfa.sent', 'login'),\n subtitle: subtitleTpl({ subtitle: this.model.get('phoneNumber') }),\n warning: Okta.loc('factor.sms.time.warning', 'login')\n };\n case 'call':\n return {\n buttonDataSe: 'make-call',\n buttonClassName: 'call-request-button',\n formSubmit: Okta.loc('mfa.call', 'login'),\n formRetry: Okta.loc('mfa.redial', 'login'),\n formSubmitted: Okta.loc('mfa.calling', 'login'),\n subtitle: subtitleTpl({ subtitle: this.model.get('phoneNumber') }),\n warning: Okta.loc('factor.call.time.warning', 'login')\n };\n case 'email':\n return {\n buttonDataSe: 'email-send-code',\n buttonClassName: 'email-request-button',\n formSubmit: Okta.loc('mfa.sendEmail', 'login'),\n formRetry: Okta.loc('mfa.resendEmail', 'login'),\n formSubmitted: Okta.loc('mfa.sent', 'login'),\n subtitle: subtitleTpl({ subtitle: this.model.get('email') })\n };\n default:\n return {\n buttonDataSe: '',\n buttonClassName: '',\n formSubmit: '',\n formRetry: '',\n formSubmitted: ''\n };\n }\n }\n\n return Okta.Form.extend({\n className: 'mfa-verify-passcode',\n autoSave: true,\n noCancelButton: true,\n save: _.partial(Okta.loc, 'mfa.challenge.verify', 'login'),\n scrollOnError: false,\n layout: 'o-form-theme',\n\n disableSubmitButton: function disableSubmitButton() {\n return this.model.appState.get('isMfaChallenge') && this.model.get('answer');\n },\n\n showWarning: function showWarning(msg) {\n this.clearWarnings();\n this.add(warningTemplate, '.o-form-error-container', { options: { warning: msg } });\n },\n clearWarnings: function clearWarnings() {\n this.$('.okta-form-infobox-warning').remove();\n },\n\n initialize: function initialize() {\n var form = this;\n this.title = this.model.get('factorLabel');\n\n var factorType = this.model.get('factorType');\n var formAndButtonDetails = getFormAndButtonDetails.call(this, factorType);\n var warningDetails = formAndButtonDetails.warning;\n this.$el.attr('data-se', 'factor-' + factorType);\n\n this.subtitle = formAndButtonDetails.subtitle;\n this.listenTo(this.model, 'error', function () {\n this.clearErrors();\n });\n this.addInput({\n label: Okta.loc('mfa.challenge.enterCode.placeholder', 'login'),\n 'label-top': true,\n className: 'o-form-fieldset o-form-label-top auth-passcode',\n name: 'answer',\n input: TextBox,\n type: 'tel'\n });\n this.add(Okta.createButton({\n attributes: { 'data-se': formAndButtonDetails.buttonDataSe },\n className: 'button ' + formAndButtonDetails.buttonClassName,\n title: formAndButtonDetails.formSubmit,\n click: function click() {\n form.clearErrors();\n this.disable();\n form.clearWarnings();\n this.options.title = formAndButtonDetails.formSubmitted;\n this.render();\n // To send an OTP to the device, make the same request but use\n // an empty passCode\n this.model.set('answer', '');\n this.model.save().then(function () {\n // render and focus on the passcode input field.\n form.getInputs().first().render().focus();\n return Q.delay(Enums.API_RATE_LIMIT);\n }).then(_.bind(function () {\n this.options.title = formAndButtonDetails.formRetry;\n this.enable();\n if (factorType === 'call' || factorType === 'sms') {\n form.showWarning(warningDetails);\n }\n this.render();\n }, this));\n }\n }));\n if (this.options.appState.get('allowRememberDevice')) {\n this.addInput({\n label: false,\n 'label-top': true,\n placeholder: this.options.appState.get('rememberDeviceLabel'),\n className: 'margin-btm-0',\n name: 'rememberDevice',\n type: 'checkbox'\n });\n }\n }\n\n });\n}).apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\n/***/ }),\n/* 569 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\nvar __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;\n\n/*!\n * Copyright (c) 2015-2016, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n\n!(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(0), __webpack_require__(176), __webpack_require__(13), __webpack_require__(570)], __WEBPACK_AMD_DEFINE_RESULT__ = (function (Okta, CookieUtil, Util, NumberChallengeView) {\n\n var _ = Okta._;\n // deviceName is escaped on BaseForm (see BaseForm's template)\n var titleTpl = Okta.tpl('{{factorName}} ({{{deviceName}}})');\n var WARNING_TIMEOUT = 30000; //milliseconds\n var warningTemplate = '<div class=\"okta-form-infobox-warning infobox infobox-warning\">\\\n <span class=\"icon warning-16\"></span>\\\n <p>{{warning}}</p>\\\n </div>';\n\n return Okta.Form.extend({\n className: 'mfa-verify-push',\n autoSave: true,\n noCancelButton: true,\n save: _.partial(Okta.loc, 'oktaverify.send', 'login'),\n scrollOnError: false,\n layout: 'o-form-theme',\n attributes: { 'data-se': 'factor-push' },\n events: {\n submit: 'submit'\n },\n\n initialize: function initialize() {\n this.enabled = true;\n this.listenTo(this.options.appState, 'change:isMfaRejectedByUser', function (state, isMfaRejectedByUser) {\n this.setSubmitState(isMfaRejectedByUser);\n if (isMfaRejectedByUser) {\n this.showError(Okta.loc('oktaverify.rejected', 'login'));\n }\n });\n\n this.numberChallengeView = this.add(NumberChallengeView).last();\n this.listenTo(this.options.appState, 'change:isWaitingForNumberChallenge', function (state, isWaitingForNumberChallenge) {\n if (isWaitingForNumberChallenge || this.options.appState.get('lastAuthResponse').status === 'SUCCESS') {\n this.clearWarnings();\n this.$el.find('.button').hide();\n this.numberChallengeView.$el.show();\n } else {\n this.numberChallengeView.$el.hide();\n this.$el.find('.button').show();\n }\n });\n this.listenTo(this.options.appState, 'change:isMfaTimeout', function (state, isMfaTimeout) {\n this.setSubmitState(isMfaTimeout);\n if (isMfaTimeout) {\n this.showError(Okta.loc('oktaverify.timeout', 'login'));\n }\n });\n this.listenTo(this.options.appState, 'change:isMfaRequired', function (state, isMfaRequired) {\n if (isMfaRequired) {\n this.clearErrors();\n this.clearWarnings();\n }\n });\n this.title = titleTpl({\n factorName: this.model.get('factorLabel'),\n deviceName: this.model.get('deviceName')\n });\n },\n setSubmitState: function setSubmitState(ableToSubmit) {\n var button = this.$el.find('.button');\n this.enabled = ableToSubmit;\n if (ableToSubmit) {\n button.removeClass('link-button-disabled');\n button.prop('value', Okta.loc('oktaverify.send', 'login'));\n button.prop('disabled', false);\n } else {\n button.addClass('link-button-disabled');\n button.prop('value', Okta.loc('oktaverify.sent', 'login'));\n button.prop('disabled', true);\n }\n },\n submit: function submit(e) {\n if (e !== undefined) {\n e.preventDefault();\n }\n if (this.enabled) {\n this.setSubmitState(false);\n this.doSave();\n }\n },\n postRender: function postRender() {\n var factorsPolicyInfo = this.options.appState.get('factorsPolicyInfo');\n var id = this.model.get('id');\n var isAutoPushEnabled = this.settings.get('features.autoPush') && factorsPolicyInfo && factorsPolicyInfo[id] ? factorsPolicyInfo[id]['autoPushEnabled'] : false;\n\n if (isAutoPushEnabled) {\n this.model.set('autoPush', true);\n // bind after $el has been rendered, and trigger push once DOM is fully loaded\n _.defer(_.bind(this.submit, this));\n }\n },\n doSave: function doSave() {\n var warningTimeout;\n this.clearErrors();\n this.clearWarnings();\n if (this.model.isValid()) {\n this.listenToOnce(this.model, 'error', function () {\n this.setSubmitState(true);\n this.clearWarnings();\n clearTimeout(warningTimeout);\n });\n this.trigger('save', this.model);\n warningTimeout = Util.callAfterTimeout(_.bind(function () {\n if (!this.options.appState.get('isWaitingForNumberChallenge')) {\n this.showWarning(Okta.loc('oktaverify.warning', 'login'));\n }\n }, this), WARNING_TIMEOUT);\n }\n },\n showError: function showError(msg) {\n this.clearWarnings();\n this.model.trigger('error', this.model, { responseJSON: { errorSummary: msg } });\n },\n showWarning: function showWarning(msg) {\n this.clearWarnings();\n this.add(warningTemplate, '.o-form-error-container', { options: { warning: msg } });\n },\n clearWarnings: function clearWarnings() {\n this.$('.okta-form-infobox-warning').remove();\n }\n });\n}).apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\n/***/ }),\n/* 570 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\nvar __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;\n\n/*!\n * Copyright (c) 2019, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n\n!(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(0)], __WEBPACK_AMD_DEFINE_RESULT__ = (function (Okta) {\n\n return Okta.View.extend({\n className: 'number-challenge-view',\n template: '\\n <p data-se=\"number-challenge-instruction\">\\n {{{i18n code=\"oktaverify.numberchallenge.instruction\" bundle=\"login\" arguments=\"number\"}}}\\n </p>\\n <div class=\"phone\">\\n <div class=\"phone--body\">\\n <div class=\"phone--screen\">\\n <span class=\"phone--number\" data-se=\"challenge-number\">{{number}}</span>\\n </div>\\n <div class=\"phone--home-button\"></div>\\n </div>\\n </div>\\n <p>{{i18n code=\"oktaverify.numberchallenge.explain\" bundle=\"login\"}}</p>\\n ',\n initialize: function initialize() {\n var _this = this;\n\n this.listenTo(this.options.appState, 'change:isWaitingForNumberChallenge', function () {\n if (_this.options.appState.get('lastAuthResponse').status !== 'SUCCESS') {\n _this.render();\n }\n });\n },\n getTemplateData: function getTemplateData() {\n var lastAuthResponse = this.options.appState.get('lastAuthResponse');\n if (!this.options.appState.get('isWaitingForNumberChallenge')) {\n return {\n number: null\n };\n }\n return {\n number: lastAuthResponse._embedded.factor._embedded.challenge.correctAnswer\n };\n }\n });\n}).apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\n/***/ }),\n/* 571 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\nvar __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;\n\n/*!\n * Copyright (c) 2016-2017, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n\n!(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(0)], __WEBPACK_AMD_DEFINE_RESULT__ = (function (Okta) {\n\n var _ = Okta._;\n\n return Okta.Form.extend({\n className: 'mfa-verify-password',\n autoSave: true,\n noCancelButton: true,\n save: _.partial(Okta.loc, 'mfa.challenge.verify', 'login'),\n scrollOnError: false,\n layout: 'o-form-theme',\n attributes: { 'data-se': 'factor-password' },\n\n initialize: function initialize() {\n this.title = this.model.get('factorLabel');\n\n this.addInput({\n label: Okta.loc('mfa.challenge.password.placeholder', 'login'),\n 'label-top': true,\n className: 'auth-passcode',\n name: 'password',\n type: 'password',\n params: {\n showPasswordToggle: true\n }\n });\n\n if (this.options.appState.get('allowRememberDevice')) {\n this.addInput({\n label: false,\n 'label-top': true,\n placeholder: this.options.appState.get('rememberDeviceLabel'),\n className: 'margin-btm-0',\n name: 'rememberDevice',\n type: 'checkbox'\n });\n }\n }\n });\n}).apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\n/***/ }),\n/* 572 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\nvar __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;\n\n/*!\n * Copyright (c) 2015-2016, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n\n!(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(0), __webpack_require__(14)], __WEBPACK_AMD_DEFINE_RESULT__ = (function (Okta, TextBox) {\n\n function addInlineTotp(form) {\n form.addDivider();\n form.addInput({\n label: Okta.loc('mfa.challenge.enterCode.placeholder', 'login'),\n 'label-top': true,\n className: 'o-form-fieldset o-form-label-top inline-input auth-passcode',\n name: 'answer',\n input: TextBox,\n type: 'tel'\n });\n form.add(Okta.createButton({\n attributes: { 'data-se': 'inline-totp-verify' },\n className: 'button inline-totp-verify margin-top-30',\n title: Okta.loc('mfa.challenge.verify', 'login'),\n click: function click() {\n if (!form.isValid()) {\n return;\n }\n form.model.manageTransaction(function (transaction, setTransaction) {\n // This is the case where we enter the TOTP code and verify while there is an\n // active Push request (or polling) running. We need to invoke previous() on authClient\n // and then call model.save(). If not, we would still be in MFA_CHALLENGE state and\n // verify would result in a wrong request (push verify instead of a TOTP verify).\n if (transaction.status === 'MFA_CHALLENGE' && transaction.prev) {\n form.options.appState.set('trapMfaRequiredResponse', true);\n return transaction.prev().then(function (trans) {\n setTransaction(trans);\n form.model.save();\n });\n } else {\n // Push is not active and we enter the code to verify.\n form.model.save();\n }\n });\n }\n }));\n form.at(1).focus();\n }\n\n return Okta.Form.extend({\n autoSave: true,\n noButtonBar: true,\n scrollOnError: false,\n layout: 'o-form-theme',\n\n className: 'mfa-verify-totp-inline',\n\n attributes: { 'data-se': 'factor-inline-totp' },\n\n initialize: function initialize() {\n var form = this;\n this.listenTo(this.model, 'error', function () {\n this.clearErrors();\n });\n this.add(Okta.createButton({\n className: 'link',\n attributes: { 'data-se': 'inline-totp-add' },\n title: Okta.loc('mfa.challenge.orEnterCode', 'login'),\n click: function click() {\n this.remove();\n addInlineTotp(form);\n }\n }));\n }\n });\n}).apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\n/***/ }),\n/* 573 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\nvar __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;\n\nvar _assign = __webpack_require__(47);\n\nvar _assign2 = _interopRequireDefault(_assign);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/*!\n * Copyright (c) 2015-2019, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n\n!(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(0), __webpack_require__(14), __webpack_require__(250)], __WEBPACK_AMD_DEFINE_RESULT__ = (function (Okta, TextBox, ResendEmailView) {\n\n var _ = Okta._;\n var createEmailMaskElement = function createEmailMaskElement() {\n var email = this.model.get('email');\n var emailTpl = Okta.tpl('<span class=\"mask-email\">{{email}}</span>');\n return { factorEmail: emailTpl({ email: email }) };\n };\n\n var VerifyEmailCodeForm = Okta.Form.extend({\n layout: 'o-form-theme',\n className: 'mfa-verify-email',\n title: _.partial(Okta.loc, 'email.mfa.title', 'login'),\n noButtonBar: false,\n autoSave: true,\n noCancelButton: true,\n attributes: {\n 'data-se': 'factor-email'\n },\n save: function save() {\n return this.options.appState.get('isMfaChallenge') ? Okta.loc('mfa.challenge.verify', 'login') : Okta.loc('email.button.send', 'login');\n },\n\n events: (0, _assign2.default)({}, Okta.Form.prototype.events, {\n submit: function submit(e) {\n e.preventDefault();\n this.clearErrors();\n\n if (this.options.appState.get('isMfaChallenge')) {\n if (this.isValid()) {\n this.model.save();\n }\n } else {\n // Send email and switch to verification view\n this.model.set('answer', '');\n this.model.save().then(this.renderChallengView.bind(this));\n }\n }\n }),\n\n initialize: function initialize() {\n Okta.Form.prototype.initialize.apply(this, arguments);\n\n // render 'Send Email' page at first place\n this.add(Okta.View.extend({\n attributes: {\n 'data-se': 'mfa-send-email-content'\n },\n className: 'mfa-send-email-content',\n template: '{{{i18n code=\"email.mfa.description\" bundle=\"login\" arguments=\"factorEmail\"}}}',\n getTemplateData: createEmailMaskElement\n }));\n },\n\n renderChallengView: function renderChallengView() {\n this.removeChildren();\n this.add(Okta.View.extend({\n className: 'mfa-email-sent-content',\n attributes: {\n 'data-se': 'mfa-email-sent-content'\n },\n // Why use `{{{` for the description?\n // - factorEmail is actually an HTML fragment which\n // is created via another handlebar template and used for bold the email address.\n template: '{{{i18n code=\"email.mfa.email.sent.description\" bundle=\"login\" arguments=\"factorEmail\"}}}',\n getTemplateData: createEmailMaskElement\n }));\n\n this.add(ResendEmailView);\n\n this.addInput({\n label: Okta.loc('email.code.label', 'login'),\n 'label-top': true,\n name: 'answer',\n input: TextBox,\n wide: true,\n type: 'tel'\n });\n if (this.options.appState.get('allowRememberDevice')) {\n this.addInput({\n label: false,\n 'label-top': true,\n placeholder: this.options.appState.get('rememberDeviceLabel'),\n className: 'margin-btm-0',\n name: 'rememberDevice',\n type: 'checkbox'\n });\n }\n this.render();\n }\n });\n\n return VerifyEmailCodeForm;\n}).apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\n/***/ }),\n/* 574 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\nvar __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;\n\n/*!\n * Copyright (c) 2019, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n/* eslint complexity: [2, 7] */\n!(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(0), __webpack_require__(17), __webpack_require__(6)], __WEBPACK_AMD_DEFINE_RESULT__ = (function (Okta, Q, Enums) {\n var _ = Okta._;\n\n return Okta.Form.extend({\n layout: 'o-form-theme',\n className: 'factor-verify-magiclink',\n autoSave: true,\n noCancelButton: true,\n initialize: function initialize() {\n // for FACTOR_REQUIRED with email magic link we dont need to show otp code input field and verify button\n var form = this;\n this.title = this.model.get('factorLabel');\n //TODO: OKTA-211618 Temp fix for demo. FACTOR_REQUIRED after sign up is missing the profile object in API response\n var email = this.model.get('email') || this.options.appState.get('lastAuthResponse')._embedded.user.profile.login;\n this.subtitle = '(' + email + ')';\n this.add(Okta.createButton({\n attributes: { 'data-se': 'email-send-code' },\n className: 'button email-request-button',\n title: Okta.loc('mfa.sendEmail', 'login'),\n click: function click() {\n form.clearErrors();\n this.disable();\n this.options.title = Okta.loc('mfa.sent', 'login');\n this.render();\n this.model.save().then(_.bind(function () {\n return Q.delay(Enums.API_RATE_LIMIT);\n }, this)).then(_.bind(function () {\n this.options.title = Okta.loc('mfa.resendEmail', 'login');\n this.enable();\n this.render();\n }, this));\n }\n }));\n }\n });\n}).apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\n/***/ }),\n/* 575 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\nvar __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;\n\n/*!\n * Copyright (c) 2015-2016, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n\n!(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(0), __webpack_require__(2), __webpack_require__(4), __webpack_require__(97), __webpack_require__(251), __webpack_require__(51), __webpack_require__(52)], __WEBPACK_AMD_DEFINE_RESULT__ = (function (Okta, FormController, FormType, webauthn, Spinner, FooterSignout, HtmlErrorMessageView) {\n\n var _ = Okta._;\n\n return FormController.extend({\n className: 'mfa-verify verify-windows-hello',\n Model: {\n local: {\n __autoTriggered__: 'boolean'\n },\n\n save: function save() {\n if (!webauthn.isAvailable()) {\n return;\n }\n\n this.trigger('request');\n var model = this;\n\n return this.doTransaction(function (transaction) {\n var factor = _.findWhere(transaction.factors, {\n factorType: 'webauthn',\n provider: 'FIDO'\n });\n\n return factor.verify().then(function (verifyData) {\n var factorData = verifyData.factor;\n\n return webauthn.getAssertion(factorData.challenge.nonce, [{ id: factorData.profile.credentialId }]).then(function (assertion) {\n return factor.verify({\n authenticatorData: assertion.authenticatorData,\n clientData: assertion.clientData,\n signatureData: assertion.signature\n });\n }).then(function (data) {\n model.trigger('sync');\n model.trigger('signIn');\n return data;\n }).fail(function (error) {\n switch (error.message) {\n case 'AbortError':\n case 'NotFoundError':\n case 'NotSupportedError':\n model.trigger('abort', error.message);\n return transaction;\n }\n\n throw error;\n });\n });\n });\n }\n },\n\n Form: {\n autoSave: true,\n hasSavingState: false,\n title: _.partial(Okta.loc, 'factor.windowsHello', 'login'),\n subtitle: function subtitle() {\n return webauthn.isAvailable() ? Okta.loc('verify.windowsHello.subtitle', 'login') : '';\n },\n save: _.partial(Okta.loc, 'verify.windowsHello.save', 'login'),\n\n customSavingState: {\n stop: 'abort'\n },\n\n modelEvents: function modelEvents() {\n if (!webauthn.isAvailable()) {\n return {};\n }\n\n return {\n 'request': '_startEnrollment',\n 'error': '_stopEnrollment',\n 'abort': '_stopEnrollment',\n 'signIn': '_successEnrollment'\n };\n },\n\n noButtonBar: function noButtonBar() {\n return !webauthn.isAvailable();\n },\n\n formChildren: function formChildren() {\n var result = [];\n if (!webauthn.isAvailable()) {\n result.push(FormType.View({ View: new HtmlErrorMessageView({ message: Okta.loc('enroll.windowsHello.error.notWindows', 'login') }) }, { selector: '.o-form-error-container' }));\n }\n\n result.push(FormType.View({ View: new Spinner({ model: this.model, visible: false }) }));\n\n return result;\n },\n\n postRender: function postRender() {\n if (this.options.appState.get('factors').length === 1 && !this.model.get('__autoTriggered__')) {\n this.model.set('__autoTriggered__', true);\n this.model.save();\n }\n },\n\n _startEnrollment: function _startEnrollment() {\n this.subtitle = Okta.loc('verify.windowsHello.subtitle.loading', 'login');\n\n this.model.trigger('spinner:show');\n this._resetErrorMessage();\n\n this.render();\n this.$('.o-form-button-bar').addClass('hide');\n },\n\n _stopEnrollment: function _stopEnrollment(errorMessage) {\n this.subtitle = Okta.loc('verify.windowsHello.subtitle', 'login');\n\n this.model.trigger('spinner:hide');\n this.$('.o-form-button-bar').removeClass('hide');\n\n var message;\n switch (errorMessage) {\n case 'NotFoundError':\n message = this.options.appState.get('factors').length > 1 ? Okta.loc('verify.windowsHello.error.notFound.selectAnother', 'login') : Okta.loc('verify.windowsHello.error.notFound', 'login');\n break;\n\n case 'NotSupportedError':\n message = Okta.loc('enroll.windowsHello.error.notConfiguredHtml', 'login');\n break;\n }\n\n this._resetErrorMessage();\n\n if (message) {\n var messageView = new HtmlErrorMessageView({\n message: message\n });\n\n this.$('.o-form-error-container').addClass('o-form-has-errors');\n this.add(messageView, { selector: '.o-form-error-container' });\n this._errorMessageView = this.last();\n }\n\n this.render();\n },\n\n _successEnrollment: function _successEnrollment() {\n this.subtitle = this.settings.get('brandName') ? Okta.loc('verify.windowsHello.subtitle.signingIn.specific', 'login', [this.settings.get('brandName')]) : Okta.loc('verify.windowsHello.subtitle.signingIn.generic', 'login');\n this.render();\n this.$('.o-form-button-bar').addClass('hide');\n },\n\n _resetErrorMessage: function _resetErrorMessage() {\n this._errorMessageView && this._errorMessageView.remove();\n this._errorMessageView = undefined;\n this.clearErrors();\n }\n },\n\n back: function back() {\n // Empty function on verify controllers to prevent users\n // from navigating back during 'verify' using the browser's\n // back button. The URL will still change, but the view will not\n // More details in OKTA-135060.\n },\n\n Footer: FooterSignout\n });\n}).apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\n/***/ }),\n/* 576 */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = { \"default\": __webpack_require__(577), __esModule: true };\n\n/***/ }),\n/* 577 */\n/***/ (function(module, exports, __webpack_require__) {\n\n__webpack_require__(578);\nmodule.exports = __webpack_require__(9).Object.freeze;\n\n\n/***/ }),\n/* 578 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 19.1.2.5 Object.freeze(O)\nvar isObject = __webpack_require__(46);\nvar meta = __webpack_require__(230).onFreeze;\n\n__webpack_require__(95)('freeze', function ($freeze) {\n return function freeze(it) {\n return $freeze && isObject(it) ? $freeze(meta(it)) : it;\n };\n});\n\n\n/***/ }),\n/* 579 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\nvar __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;\n\n/*!\n * Copyright (c) 2015-2016, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n\n/* global u2f */\n\n!(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(0), __webpack_require__(33), __webpack_require__(2), __webpack_require__(4), __webpack_require__(51), __webpack_require__(17), __webpack_require__(18), __webpack_require__(179), __webpack_require__(52), __webpack_require__(252)], __WEBPACK_AMD_DEFINE_RESULT__ = (function (Okta, Errors, FormController, FormType, FooterSignout, Q, FactorUtil, FidoUtil, HtmlErrorMessageView) {\n\n var _ = Okta._;\n\n function getRegisteredKeysSequence(factors) {\n var keys = [];\n _.each(factors, function (factor) {\n keys.push({\n version: factor.profile.version,\n keyHandle: factor.profile.credentialId\n });\n });\n return keys;\n }\n\n return FormController.extend({\n className: 'mfa-verify verify-u2f',\n Model: {\n props: {\n rememberDevice: 'boolean'\n },\n\n initialize: function initialize() {\n var rememberDevice = FactorUtil.getRememberDeviceValue(this.appState);\n // set the initial value for remember device (Cannot do this while defining the\n // local property because this.settings would not be initialized there yet).\n this.set('rememberDevice', rememberDevice);\n },\n\n save: function save() {\n this.trigger('request');\n\n return this.doTransaction(function (transaction) {\n var factor;\n if (transaction.factorTypes) {\n factor = _.findWhere(transaction.factorTypes, {\n factorType: 'u2f'\n });\n } else {\n factor = _.findWhere(transaction.factors, {\n factorType: 'u2f',\n provider: 'FIDO'\n });\n }\n var self = this;\n return factor.verify().then(function (transaction) {\n var registeredKeys, appId, nonce;\n if (transaction.factors) {\n var factors = transaction.factors;\n appId = factors[0]['profile']['appId'];\n nonce = transaction.challenge.nonce;\n registeredKeys = getRegisteredKeysSequence(factors);\n } else {\n var factorData = transaction.factor;\n appId = factorData.profile.appId;\n nonce = factorData.challenge.nonce;\n registeredKeys = [{ version: FidoUtil.getU2fVersion(), keyHandle: factorData.profile.credentialId }];\n }\n self.trigger('request');\n\n var deferred = Q.defer();\n u2f.sign(appId, nonce, registeredKeys, function (data) {\n self.trigger('errors:clear');\n if (data.errorCode && data.errorCode !== 0) {\n var isOneFactor = self.options.appState.get('factors').length === 1;\n deferred.reject(new Errors.U2FError({\n xhr: {\n responseJSON: {\n errorSummary: FidoUtil.getU2fVerifyErrorMessageByCode(data.errorCode, isOneFactor)\n }\n }\n }));\n } else {\n var rememberDevice = !!self.get('rememberDevice');\n return factor.verify({\n clientData: data.clientData,\n signatureData: data.signatureData,\n rememberDevice: rememberDevice\n }).then(deferred.resolve);\n }\n });\n return deferred.promise;\n });\n });\n }\n },\n\n Form: {\n autoSave: true,\n hasSavingState: false,\n title: _.partial(Okta.loc, 'factor.u2f', 'login'),\n className: 'verify-u2f-form',\n noCancelButton: true,\n save: _.partial(Okta.loc, 'verify.u2f.retry', 'login'),\n noButtonBar: function noButtonBar() {\n return !FidoUtil.isU2fAvailable();\n },\n modelEvents: {\n 'request': '_startEnrollment',\n 'error': '_stopEnrollment'\n },\n\n formChildren: function formChildren() {\n var result = [];\n\n if (!FidoUtil.isU2fAvailable()) {\n var errorMessageKey = 'u2f.error.factorNotSupported';\n if (this.options.appState.get('factors').length === 1) {\n errorMessageKey = 'u2f.error.factorNotSupported.oneFactor';\n }\n result.push(FormType.View({ View: new HtmlErrorMessageView({ message: Okta.loc(errorMessageKey, 'login') }) }, { selector: '.o-form-error-container' }));\n } else {\n result.push(FormType.View({\n View: '\\\n <div class=\"u2f-verify-text\">\\\n <p>{{i18n code=\"verify.u2f.instructions\" bundle=\"login\"}}</p>\\\n <p>{{i18n code=\"verify.u2f.instructionsBluetooth\" bundle=\"login\"}}</p>\\\n <div data-se=\"u2f-waiting\" class=\"okta-waiting-spinner\"></div>\\\n </div>'\n }));\n }\n\n if (this.options.appState.get('allowRememberDevice')) {\n result.push(FormType.Input({\n label: false,\n 'label-top': true,\n placeholder: this.options.appState.get('rememberDeviceLabel'),\n className: 'margin-btm-0',\n name: 'rememberDevice',\n type: 'checkbox'\n }));\n }\n\n return result;\n },\n\n postRender: function postRender() {\n _.defer(_.bind(function () {\n if (FidoUtil.isU2fAvailable()) {\n this.model.save();\n } else {\n this.$('[data-se=\"u2f-waiting\"]').addClass('hide');\n }\n }, this));\n },\n\n _startEnrollment: function _startEnrollment() {\n this.$('.okta-waiting-spinner').removeClass('hide');\n this.$('.o-form-button-bar').hide();\n },\n\n _stopEnrollment: function _stopEnrollment() {\n this.$('.okta-waiting-spinner').addClass('hide');\n this.$('.o-form-button-bar').show();\n }\n },\n\n back: function back() {\n // Empty function on verify controllers to prevent users\n // from navigating back during 'verify' using the browser's\n // back button. The URL will still change, but the view will not\n // More details in OKTA-135060.\n },\n\n Footer: FooterSignout\n });\n}).apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\n/***/ }),\n/* 580 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\nvar __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;\n\n/*!\n * Copyright (c) 2015-2016, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n\n/* eslint complexity:[2, 10], max-params: [2, 11] */\n\n!(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(0), __webpack_require__(33), __webpack_require__(2), __webpack_require__(4), __webpack_require__(180), __webpack_require__(97), __webpack_require__(51), __webpack_require__(17), __webpack_require__(18), __webpack_require__(52)], __WEBPACK_AMD_DEFINE_RESULT__ = (function (Okta, Errors, FormController, FormType, CryptoUtil, webauthn, FooterSignout, Q, FactorUtil, HtmlErrorMessageView) {\n\n var _ = Okta._;\n\n function getAllowCredentials(factors) {\n var allowCredentials = [];\n _.each(factors, function (factor) {\n allowCredentials.push({\n type: 'public-key',\n id: CryptoUtil.strToBin(factor.profile.credentialId)\n });\n });\n return allowCredentials;\n }\n\n return FormController.extend({\n className: 'mfa-verify verify-webauthn',\n Model: {\n props: {\n rememberDevice: 'boolean'\n },\n\n initialize: function initialize() {\n var _this = this;\n\n var rememberDevice = FactorUtil.getRememberDeviceValue(this.appState);\n // set the initial value for remember device (Cannot do this while defining the\n // local property because this.settings would not be initialized there yet).\n this.set('rememberDevice', rememberDevice);\n this.appState.on('factorSwitched signOut', function () {\n if (_this.webauthnAbortController) {\n _this.webauthnAbortController.abort();\n _this.webauthnAbortController = null;\n }\n });\n },\n\n save: function save() {\n this.trigger('request');\n\n return this.doTransaction(function (transaction) {\n var factor;\n if (transaction.factorTypes) {\n factor = _.findWhere(transaction.factorTypes, {\n factorType: 'webauthn'\n });\n } else {\n factor = _.findWhere(transaction.factors, {\n factorType: 'webauthn',\n provider: 'FIDO'\n });\n }\n\n var self = this;\n return factor.verify().then(function (transaction) {\n var allowCredentials, challenge;\n if (transaction.factors) {\n var factors = transaction.factors;\n challenge = transaction.challenge;\n allowCredentials = getAllowCredentials(factors);\n } else {\n var factorData = transaction.factor;\n challenge = factorData.challenge;\n allowCredentials = getAllowCredentials([factorData]);\n }\n self.trigger('request');\n // verify via browser webauthn js\n var options = _.extend({}, challenge, {\n allowCredentials: allowCredentials,\n challenge: CryptoUtil.strToBin(challenge.challenge)\n });\n self.webauthnAbortController = new AbortController();\n return new Q(navigator.credentials.get({\n publicKey: options,\n signal: self.webauthnAbortController.signal\n })).then(function (assertion) {\n var rememberDevice = !!self.get('rememberDevice');\n return factor.verify({\n clientData: CryptoUtil.binToStr(assertion.response.clientDataJSON),\n authenticatorData: CryptoUtil.binToStr(assertion.response.authenticatorData),\n signatureData: CryptoUtil.binToStr(assertion.response.signature),\n rememberDevice: rememberDevice\n });\n }).fail(function (error) {\n self.trigger('errors:clear');\n // Do not display if it is abort error triggered by code when switching.\n // self.webauthnAbortController would be null if abort was triggered by code.\n if (!self.webauthnAbortController) {\n throw new Errors.WebauthnAbortError();\n } else {\n throw new Errors.WebAuthnError({\n xhr: { responseJSON: { errorSummary: error.message } }\n });\n }\n }).finally(function () {\n // unset webauthnAbortController on successful authentication or error\n self.webauthnAbortController = null;\n });\n });\n });\n }\n },\n\n Form: {\n autoSave: true,\n hasSavingState: false,\n title: _.partial(Okta.loc, 'factor.webauthn.biometric', 'login'),\n className: 'verify-webauthn-form',\n noCancelButton: true,\n save: _.partial(Okta.loc, 'verify.u2f.retry', 'login'),\n noButtonBar: function noButtonBar() {\n return !webauthn.isNewApiAvailable();\n },\n modelEvents: {\n 'request': '_startEnrollment',\n 'error': '_stopEnrollment'\n },\n\n formChildren: function formChildren() {\n var children = [];\n\n if (webauthn.isNewApiAvailable()) {\n children.push(FormType.View({\n View: '<div class=\"webauthn-verify-text\">\\\n <p>{{i18n code=\"verify.webauthn.biometric.instructions\" bundle=\"login\"}}</p>\\\n <div data-se=\"webauthn-waiting\" class=\"okta-waiting-spinner\"></div>\\\n </div>'\n }));\n } else {\n var errorMessageKey = 'webauthn.biometric.error.factorNotSupported';\n if (this.options.appState.get('factors').length === 1) {\n errorMessageKey = 'webauthn.biometric.error.factorNotSupported.oneFactor';\n }\n children.push(FormType.View({ View: new HtmlErrorMessageView({ message: Okta.loc(errorMessageKey, 'login') }) }, { selector: '.o-form-error-container' }));\n }\n\n if (this.options.appState.get('allowRememberDevice')) {\n children.push(FormType.Input({\n label: false,\n 'label-top': true,\n placeholder: this.options.appState.get('rememberDeviceLabel'),\n className: 'margin-btm-0',\n name: 'rememberDevice',\n type: 'checkbox'\n }));\n }\n\n return children;\n },\n\n postRender: function postRender() {\n _.defer(_.bind(function () {\n if (webauthn.isNewApiAvailable()) {\n this.model.save();\n } else {\n this.$('[data-se=\"webauthn-waiting\"]').hide();\n }\n }, this));\n },\n\n _startEnrollment: function _startEnrollment() {\n this.$('.okta-waiting-spinner').show();\n this.$('.o-form-button-bar').hide();\n },\n\n _stopEnrollment: function _stopEnrollment() {\n this.$('.okta-waiting-spinner').hide();\n this.$('.o-form-button-bar').show();\n }\n },\n\n back: function back() {\n // Empty function on verify controllers to prevent users\n // from navigating back during 'verify' using the browser's\n // back button. The URL will still change, but the view will not\n // More details in OKTA-135060.\n },\n\n Footer: FooterSignout\n });\n}).apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\n/***/ }),\n/* 581 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\nvar __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;\n\n/*!\n * Copyright (c) 2018-2019, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n\n!(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(0), __webpack_require__(2), __webpack_require__(4), __webpack_require__(51), __webpack_require__(18), __webpack_require__(52)], __WEBPACK_AMD_DEFINE_RESULT__ = (function (Okta, FormController, FormType, FooterSignout, FactorUtil, HtmlErrorMessageView) {\n\n var _ = Okta._;\n var Util = Okta.internal.util.Util;\n\n\n return FormController.extend({\n\n className: 'verify-custom-factor custom-factor-form',\n\n Model: {\n props: {\n rememberDevice: 'boolean'\n },\n\n initialize: function initialize() {\n var rememberDevice = FactorUtil.getRememberDeviceValue(this.appState);\n // set the initial value for remember device (Cannot do this while defining the\n // local property because this.settings would not be initialized there yet).\n this.set('rememberDevice', rememberDevice);\n },\n\n save: function save() {\n var _this = this;\n\n var rememberDevice = !!this.get('rememberDevice');\n return this.manageTransaction(function (transaction, setTransaction) {\n var data = {\n rememberDevice: rememberDevice\n };\n var factor = _.findWhere(transaction.factors, {\n provider: _this.get('provider'),\n factorType: _this.get('factorType')\n });\n return factor.verify(data).then(function (trans) {\n setTransaction(trans);\n var url = _this.appState.get('verifyCustomFactorRedirectUrl');\n if (url !== null) {\n Util.redirect(url);\n }\n }).fail(function (err) {\n throw err;\n });\n });\n }\n },\n\n Form: function Form() {\n var factors = this.options.appState.get('factors');\n var factor = factors.findWhere({\n provider: this.options.provider,\n factorType: this.options.factorType\n });\n var vendorName = factor.get('vendorName');\n var saveText = Okta.loc('mfa.challenge.verify', 'login');\n var subtitle = Okta.loc('verify.customFactor.subtitle', 'login', [vendorName]);\n return {\n autoSave: true,\n title: vendorName,\n save: saveText,\n subtitle: subtitle,\n attributes: { 'data-se': 'factor-custom' },\n initialize: function initialize() {\n if (this.options.appState.get('allowRememberDevice')) {\n this.addInput({\n label: false,\n 'label-top': true,\n placeholder: this.options.appState.get('rememberDeviceLabel'),\n className: 'margin-btm-0',\n name: 'rememberDevice',\n type: 'checkbox'\n });\n }\n },\n formChildren: function formChildren() {\n var result = [],\n lastFailedChallengeFactorData = this.options.appState.get('lastFailedChallengeFactorData');\n if (lastFailedChallengeFactorData) {\n result.push(FormType.View({ View: new HtmlErrorMessageView({ message: lastFailedChallengeFactorData.errorMessage }) }, { selector: '.o-form-error-container' }));\n }\n return result;\n }\n };\n },\n\n trapAuthResponse: function trapAuthResponse() {\n if (this.options.appState.get('isMfaChallenge')) {\n return true;\n }\n },\n\n back: function back() {\n // Empty function on verify controllers to prevent users\n // from navigating back during 'verify' using the browser's\n // back button. The URL will still change, but the view will not\n // More details in OKTA-135060.\n },\n\n initialize: function initialize() {\n this.model.set('provider', this.options.provider);\n this.model.set('factorType', this.options.factorType);\n if (!this.settings.get('features.hideSignOutLinkInMFA')) {\n this.addFooter(FooterSignout);\n }\n }\n\n });\n}).apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\n/***/ }),\n/* 582 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\nvar __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;\n\nvar _isInteger = __webpack_require__(583);\n\nvar _isInteger2 = _interopRequireDefault(_isInteger);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/*!\n * Copyright (c) 2015-2016, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n\n/* eslint complexity: [2, 13] */\n!(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(0), __webpack_require__(2), __webpack_require__(6), __webpack_require__(24), __webpack_require__(253), __webpack_require__(588), __webpack_require__(589)], __WEBPACK_AMD_DEFINE_RESULT__ = (function (Okta, FormController, Enums, RouterUtil, FactorList, RequiredFactorList, Footer) {\n\n var _ = Okta._,\n $ = Okta.$,\n subtitleTpl = Okta.tpl('<span>{{{subtitle}}}</span>');\n\n return FormController.extend({\n className: 'enroll-choices',\n state: {\n pageType: null\n },\n\n Model: {},\n\n Form: {\n noCancelButton: true,\n\n title: _.partial(Okta.loc, 'enroll.choices.title', 'login'),\n\n noButtonBar: function noButtonBar() {\n return this.state.get('pageType') === Enums.ALL_OPTIONAL_NONE_ENROLLED;\n },\n\n subtitle: ' ',\n\n getSubtitle: function getSubtitle() {\n switch (this.state.get('pageType')) {\n case Enums.ALL_OPTIONAL_SOME_ENROLLED:\n case Enums.HAS_REQUIRED_ALL_REQUIRED_ENROLLED:\n return Okta.loc('enroll.choices.optional', 'login');\n case Enums.HAS_REQUIRED_SOME_REQUIRED_ENROLLED:\n var remainingDays = this.options.appState.get('gracePeriodRemainingDays');\n return (0, _isInteger2.default)(remainingDays) && remainingDays >= 0 ? this.getGracePeriodSubtitle(remainingDays) : this.getDefaultSubtitle();\n default:\n return this.getDefaultSubtitle();\n }\n },\n\n getDefaultSubtitle: function getDefaultSubtitle() {\n return this.settings.get('brandName') ? Okta.loc('enroll.choices.description.specific', 'login', [this.settings.get('brandName')]) : Okta.loc('enroll.choices.description.generic', 'login');\n },\n\n getGracePeriodSubtitle: function getGracePeriodSubtitle(remainingDays) {\n return remainingDays >= 1 ? Okta.loc('enroll.choices.description.gracePeriod.bold', 'login', [remainingDays]) : Okta.loc('enroll.choices.description.gracePeriod.oneDay.bold', 'login');\n },\n\n save: function save() {\n switch (this.state.get('pageType')) {\n case Enums.ALL_OPTIONAL_SOME_ENROLLED:\n case Enums.HAS_REQUIRED_ALL_REQUIRED_ENROLLED:\n return Okta.loc('enroll.choices.submit.finish', 'login');\n case Enums.HAS_REQUIRED_NONE_ENROLLED:\n return Okta.loc('enroll.choices.submit.configure', 'login');\n case Enums.HAS_REQUIRED_SOME_REQUIRED_ENROLLED:\n return Okta.loc('enroll.choices.submit.next', 'login');\n default:\n return '';\n }\n },\n\n initialize: function initialize(options) {\n this.listenTo(this, 'save', function () {\n var current;\n switch (this.state.get('pageType')) {\n case Enums.HAS_REQUIRED_NONE_ENROLLED:\n case Enums.HAS_REQUIRED_SOME_REQUIRED_ENROLLED:\n current = options.appState.get('factors').getFirstUnenrolledRequiredFactor();\n options.appState.trigger('navigate', RouterUtil.createEnrollFactorUrl(current.get('provider'), current.get('factorType')));\n break;\n default:\n return this.model.doTransaction(function (transaction) {\n return transaction.skip();\n });\n }\n });\n },\n\n preRender: function preRender() {\n // form subtitle does not support unescaped strings, and we need some html elements\n // in the subtitle for this form. So instead of a regular subtitle, we add a <span>\n // with the text we need\n this.add(subtitleTpl({ subtitle: this.getSubtitle() }), $('p.okta-form-subtitle'));\n\n var factors = this.options.appState.get('factors');\n switch (this.state.get('pageType')) {\n case Enums.HAS_REQUIRED_NONE_ENROLLED:\n case Enums.HAS_REQUIRED_SOME_REQUIRED_ENROLLED:\n this.add(new RequiredFactorList({\n minimize: true,\n collection: new Okta.Collection(factors.where({ required: true })),\n appState: this.options.appState\n }));\n break;\n case Enums.HAS_REQUIRED_ALL_REQUIRED_ENROLLED:\n case Enums.ALL_OPTIONAL_SOME_ENROLLED:\n case Enums.ALL_OPTIONAL_NONE_ENROLLED:\n var enrolled = factors.where({ enrolled: true }),\n notEnrolled = factors.filter(function (factor) {\n // pick factors that are not enrolled or have additional enrollments\n return !factor.get('enrolled') || factor.get('additionalEnrollment');\n }),\n notEnrolledListTitle;\n if (enrolled.length > 0) {\n notEnrolledListTitle = Okta.loc('enroll.choices.list.optional', 'login');\n this.add(new FactorList({\n listTitle: Okta.loc('enroll.choices.list.enrolled', 'login'),\n minimize: true,\n collection: new Okta.Collection(enrolled),\n appState: this.options.appState\n }));\n }\n this.add(new FactorList({\n listTitle: notEnrolledListTitle,\n collection: new Okta.Collection(notEnrolled),\n appState: this.options.appState,\n showInlineSetupButton: true\n }));\n break;\n }\n }\n\n },\n\n initialize: function initialize(options) {\n var numRequiredEnrolled = 0,\n numRequiredNotEnrolled = 0,\n numOptionalEnrolled = 0,\n numOptionalNotEnrolled = 0,\n hasRequired,\n pageType;\n\n options.appState.get('factors').each(function (factor) {\n var required = factor.get('required'),\n enrolled = factor.get('enrolled'),\n additionalEnrollment = factor.get('additionalEnrollment');\n if (required && enrolled) {\n numRequiredEnrolled++;\n } else if (required && !enrolled) {\n numRequiredNotEnrolled++;\n } else if (!required && enrolled) {\n numOptionalEnrolled++;\n } else if (!required && !enrolled) {\n numOptionalNotEnrolled++;\n }\n // If a factor has multiple instances and\n // additional optional enrollments\n if (enrolled && additionalEnrollment) {\n numOptionalNotEnrolled++;\n }\n });\n\n hasRequired = numRequiredEnrolled > 0 || numRequiredNotEnrolled > 0;\n\n // There are 5 possible states this screen can be in:\n\n // 1. Has required, but none have been enrolled. Wizard start page.\n if (hasRequired && numRequiredEnrolled === 0) {\n pageType = Enums.HAS_REQUIRED_NONE_ENROLLED;\n }\n\n // 2. Has required, and have enrolled at least one. The page layout\n // to configure the remaining required factors.\n else if (hasRequired && numRequiredNotEnrolled > 0) {\n pageType = Enums.HAS_REQUIRED_SOME_REQUIRED_ENROLLED;\n }\n\n // 3. Has required, and finished enrolling all required factors. The\n // page layout you see to configure any optional factors or skip.\n else if (hasRequired && numOptionalNotEnrolled > 0) {\n pageType = Enums.HAS_REQUIRED_ALL_REQUIRED_ENROLLED;\n }\n\n // 4. Factors are all optional, no factors enrolled.\n else if (numOptionalEnrolled === 0 && numOptionalNotEnrolled > 0) {\n pageType = Enums.ALL_OPTIONAL_NONE_ENROLLED;\n }\n\n // 5. Factors are all optional, some factors have already been\n // enrolled (can either enroll more or skip).\n else if (numOptionalNotEnrolled > 0) {\n pageType = Enums.ALL_OPTIONAL_SOME_ENROLLED;\n }\n\n // 6. Factors are all optional, all factors have already been\n // enrolled, among them there is OktaVerify with Push enrolled as totp\n // (API return OktaVerify push factor as unenrolled in this case and as we always merge\n // push and totp in UI so we redirect to skip link here).\n else {\n this.model.doTransaction(function (transaction) {\n return transaction.skip();\n });\n }\n\n this.state.set('pageType', pageType);\n\n if (this.options.appState.get('skipLink') && pageType === Enums.HAS_REQUIRED_SOME_REQUIRED_ENROLLED) {\n this.add(new Footer(this.toJSON()));\n }\n }\n });\n}).apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\n/***/ }),\n/* 583 */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = { \"default\": __webpack_require__(584), __esModule: true };\n\n/***/ }),\n/* 584 */\n/***/ (function(module, exports, __webpack_require__) {\n\n__webpack_require__(585);\nmodule.exports = __webpack_require__(9).Number.isInteger;\n\n\n/***/ }),\n/* 585 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 20.1.2.3 Number.isInteger(number)\nvar $export = __webpack_require__(21);\n\n$export($export.S, 'Number', { isInteger: __webpack_require__(586) });\n\n\n/***/ }),\n/* 586 */\n/***/ (function(module, exports, __webpack_require__) {\n\n// 20.1.2.3 Number.isInteger(number)\nvar isObject = __webpack_require__(46);\nvar floor = Math.floor;\nmodule.exports = function isInteger(it) {\n return !isObject(it) && isFinite(it) && floor(it) === it;\n};\n\n\n/***/ }),\n/* 587 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\n/*!\n * Copyright (c) 2015-2016, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n\n!(module.exports = {\n INVALID_TOKEN_EXCEPTION: 'E0000011'\n});\n\n/***/ }),\n/* 588 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\nvar __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;\n\n/*!\n * Copyright (c) 2015-2016, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n\n!(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(0), __webpack_require__(253)], __WEBPACK_AMD_DEFINE_RESULT__ = (function (Okta, FactorList) {\n\n var _ = Okta._;\n\n return FactorList.extend({\n\n listTitle: _.partial(Okta.loc, 'enroll.choices.list.setup', 'login'),\n\n className: function className() {\n return FactorList.prototype.className + ' enroll-required-factor-list';\n },\n\n postRender: function postRender() {\n var currentModel, currentRow;\n FactorList.prototype.postRender.apply(this, arguments);\n currentModel = this.options.appState.get('factors').getFirstUnenrolledRequiredFactor();\n currentRow = this.find(function (view) {\n return view.model === currentModel;\n });\n currentRow.maximize();\n }\n\n });\n}).apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\n/***/ }),\n/* 589 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\nvar __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;\n\n/*!\n * Copyright (c) 2019, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n\n!(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(0)], __WEBPACK_AMD_DEFINE_RESULT__ = (function (Okta) {\n\n return Okta.View.extend({\n template: '<a href=\"#\" class=\"link goto js-skip\" data-se=\"skip-link\">\\n {{i18n code=\"enroll.choices.setup.skip\" bundle=\"login\"}}\\n </a>',\n className: 'auth-footer clearfix',\n events: {\n 'click .js-skip': function clickJsSkip(e) {\n e.preventDefault();\n this.model.doTransaction(function (transaction) {\n return transaction.skip();\n });\n }\n }\n });\n}).apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\n/***/ }),\n/* 590 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\nvar __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;\n\n/*!\n * Copyright (c) 2015-2016, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n\n/* eslint camelcase: 0*/\n!(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(0), __webpack_require__(247), __webpack_require__(17), __webpack_require__(2), __webpack_require__(19)], __WEBPACK_AMD_DEFINE_RESULT__ = (function (Okta, Duo, Q, FormController, Footer) {\n\n var $ = Okta.$,\n _ = Okta._;\n\n return FormController.extend({\n\n className: 'enroll-duo duo-form',\n\n Model: {\n props: {\n host: 'string',\n signature: 'string',\n postAction: 'string',\n factorId: 'string',\n stateToken: 'string'\n },\n\n getInitOptions: function getInitOptions() {\n return this.doTransaction(function (transaction) {\n var factor = _.findWhere(transaction.factors, {\n factorType: 'web',\n provider: 'DUO'\n });\n return factor.enroll();\n });\n },\n\n activate: function activate(signedResponse) {\n // Note: We should be doing this in OktaAuth! Fix when it's updated.\n var url = this.get('postAction'),\n factorId = this.get('factorId'),\n self = this,\n data = {\n id: factorId,\n stateToken: this.get('stateToken'),\n sig_response: signedResponse\n };\n // We don't actually use authClient.post() here (unlike all the other cases in the\n // sign-in widget) since the endpoint is wired to accept serialized form post instead\n // of a JSON post ($.post() is different from authClient.post() in that in $.post(),\n // jquery decides the Content-Type instead of it being a JSON type). Enroll/Verify DUO\n // are the only two places where we actually do this.\n // NOTE - If we ever decide to change this, we should test this very carefully.\n return Q($.post(url, data)).then(function () {\n return self.doTransaction(function (transaction) {\n return transaction.poll();\n });\n }).fail(function (err) {\n self.trigger('error', self, err.xhr);\n });\n }\n },\n\n Form: {\n autoSave: true,\n noButtonBar: true,\n title: _.partial(Okta.loc, 'enroll.duo.title', 'login'),\n\n postRender: function postRender() {\n this.add('<iframe frameborder=\"0\" title=\"' + this.title() + '\"></iframe>');\n Duo.init({\n 'host': this.model.get('host'),\n 'sig_request': this.model.get('signature'),\n 'iframe': this.$('iframe').get(0),\n 'post_action': _.bind(this.model.activate, this.model)\n });\n }\n },\n\n Footer: Footer,\n\n fetchInitialData: function fetchInitialData() {\n var self = this;\n return this.model.getInitOptions(this.options.appState).then(function (trans) {\n var res = trans.data;\n if (!res || !res._embedded || !res._embedded.factor || !res._embedded.factor._embedded || !res._embedded.factor._embedded.activation) {\n throw new Error('Response does not have duo activation options');\n }\n\n var factor = res._embedded.factor;\n var activation = factor._embedded.activation;\n self.model.set({\n host: activation.host,\n signature: activation.signature,\n postAction: activation._links.complete.href,\n factorId: factor.id,\n stateToken: res.stateToken\n });\n });\n },\n\n trapAuthResponse: function trapAuthResponse() {\n if (this.options.appState.get('isMfaEnrollActivate')) {\n return true;\n }\n }\n\n });\n}).apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\n/***/ }),\n/* 591 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\nvar __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;\n\n/*!\n * Copyright (c) 2015-2016, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n\n!(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(0), __webpack_require__(2), __webpack_require__(18), __webpack_require__(13), __webpack_require__(19), __webpack_require__(14)], __WEBPACK_AMD_DEFINE_RESULT__ = (function (Okta, FormController, FactorUtil, Util, Footer, TextBox) {\n\n var _ = Okta._;\n\n return FormController.extend({\n className: 'enroll-question',\n Model: {\n props: {\n question: 'string',\n answer: ['string', true]\n },\n local: {\n securityQuestions: 'object'\n },\n save: function save() {\n return this.doTransaction(function (transaction) {\n var factor = _.findWhere(transaction.factors, {\n factorType: 'question',\n provider: 'OKTA'\n });\n return factor.enroll({\n profile: {\n question: this.get('question'),\n answer: this.get('answer')\n }\n });\n });\n }\n },\n\n Form: {\n autoSave: true,\n title: _.partial(Okta.loc, 'enroll.securityQuestion.setup', 'login'),\n inputs: function inputs() {\n return [{\n label: false,\n 'label-top': true,\n name: 'question',\n type: 'select',\n wide: true,\n options: function options() {\n return this.model.get('securityQuestions');\n },\n params: {\n searchThreshold: 25\n }\n }, {\n label: Okta.loc('mfa.challenge.answer.placeholder', 'login'),\n 'label-top': true,\n explain: Util.createInputExplain('mfa.challenge.answer.tooltip', 'mfa.challenge.answer.placeholder', 'login'),\n 'explain-top': true,\n className: 'o-form-fieldset o-form-label-top auth-passcode',\n name: 'answer',\n input: TextBox,\n type: 'text'\n }];\n }\n },\n\n Footer: Footer,\n\n fetchInitialData: function fetchInitialData() {\n var self = this;\n return this.model.manageTransaction(function (transaction) {\n var factor = _.findWhere(transaction.factors, {\n factorType: 'question',\n provider: 'OKTA'\n });\n return factor.questions();\n }).then(function (questionsRes) {\n var questions = {};\n _.each(questionsRes, function (question) {\n questions[question.question] = FactorUtil.getSecurityQuestionLabel(question);\n });\n self.model.set('securityQuestions', questions);\n });\n }\n\n });\n}).apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\n/***/ }),\n/* 592 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\nvar __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;\n\n/*!\n * Copyright (c) 2015-2016, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n\n!(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(0), __webpack_require__(2), __webpack_require__(98), __webpack_require__(19), __webpack_require__(14)], __WEBPACK_AMD_DEFINE_RESULT__ = (function (Okta, FormController, ValidationUtil, Footer, TextBox) {\n\n var _ = Okta._;\n\n return FormController.extend({\n className: 'enroll-password',\n Model: {\n props: {\n password: ['string', true],\n confirmPassword: ['string', true]\n },\n validate: function validate() {\n return ValidationUtil.validateFieldsMatch(this, 'password', 'confirmPassword', Okta.loc('password.enroll.error.match', 'login'));\n },\n save: function save() {\n return this.doTransaction(function (transaction) {\n var factor = _.findWhere(transaction.factors, {\n factorType: 'password',\n provider: 'OKTA'\n });\n return factor.enroll({\n profile: {\n password: this.get('password')\n }\n });\n });\n }\n },\n\n Form: {\n autoSave: true,\n title: _.partial(Okta.loc, 'enroll.password.setup', 'login'),\n inputs: function inputs() {\n return [{\n label: Okta.loc('mfa.challenge.password.placeholder', 'login'),\n 'label-top': true,\n className: 'o-form-fieldset o-form-label-top auth-passcode',\n name: 'password',\n input: TextBox,\n type: 'password'\n }, {\n label: Okta.loc('password.confirmPassword.placeholder', 'login'),\n 'label-top': true,\n className: 'o-form-fieldset o-form-label-top auth-passcode',\n name: 'confirmPassword',\n input: TextBox,\n type: 'password'\n }];\n }\n },\n Footer: Footer\n });\n}).apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\n/***/ }),\n/* 593 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\nvar __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;\n\n/*!\n * Copyright (c) 2015-2016, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n\n!(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(0), __webpack_require__(2), __webpack_require__(4), __webpack_require__(97), __webpack_require__(251), __webpack_require__(19), __webpack_require__(52)], __WEBPACK_AMD_DEFINE_RESULT__ = (function (Okta, FormController, FormType, webauthn, Spinner, Footer, HtmlErrorMessageView) {\n\n var _ = Okta._;\n\n return FormController.extend({\n className: 'enroll-windows-hello',\n Model: {\n local: {\n __isEnrolled__: 'boolean'\n },\n\n save: function save() {\n if (!webauthn.isAvailable()) {\n return;\n }\n\n this.trigger('request');\n\n if (this.get('__isEnrolled__')) {\n return this.activate();\n }\n\n return this.doTransaction(function (transaction) {\n return this._enroll(transaction);\n });\n },\n\n _enroll: function _enroll(transaction) {\n var factor = _.findWhere(transaction.factors, {\n factorType: 'webauthn',\n provider: 'FIDO'\n });\n\n return factor.enroll();\n },\n\n activate: function activate() {\n this.set('__isEnrolled__', true);\n\n return this.doTransaction(function (transaction) {\n var activation = transaction.factor.activation;\n var user = transaction.user;\n var model = this;\n\n var accountInfo = {\n rpDisplayName: activation.rpDisplayName,\n userDisplayName: user.profile.displayName,\n accountName: user.profile.login,\n userId: user.id\n };\n var cryptoParams = [{\n algorithm: activation.algorithm\n }];\n var challenge = activation.nonce;\n\n return webauthn.makeCredential(accountInfo, cryptoParams, challenge).then(function (creds) {\n return transaction.activate({\n credentialId: creds.credential.id,\n publicKey: creds.publicKey,\n attestation: null\n });\n }).fail(function (error) {\n switch (error.message) {\n case 'AbortError':\n case 'NotFoundError':\n case 'NotSupportedError':\n model.trigger('abort', error.message);\n return transaction;\n }\n\n throw error;\n });\n });\n }\n },\n\n Form: {\n autoSave: true,\n hasSavingState: false,\n title: _.partial(Okta.loc, 'enroll.windowsHello.title', 'login'),\n subtitle: function subtitle() {\n return webauthn.isAvailable() ? Okta.loc('enroll.windowsHello.subtitle', 'login') : '';\n },\n save: _.partial(Okta.loc, 'enroll.windowsHello.save', 'login'),\n\n customSavingState: {\n stop: 'abort'\n },\n\n modelEvents: function modelEvents() {\n if (!webauthn.isAvailable()) {\n return {};\n }\n\n return {\n 'request': '_startEnrollment',\n 'error': '_stopEnrollment',\n 'abort': '_stopEnrollment'\n };\n },\n\n noButtonBar: function noButtonBar() {\n return !webauthn.isAvailable();\n },\n\n formChildren: function formChildren() {\n var result = [];\n\n if (!webauthn.isAvailable()) {\n result.push(FormType.View({ View: new HtmlErrorMessageView({ message: Okta.loc('enroll.windowsHello.error.notWindows', 'login') }) }, { selector: '.o-form-error-container' }));\n }\n\n result.push(FormType.View({ View: new Spinner({ model: this.model, visible: false }) }));\n\n return result;\n },\n\n _startEnrollment: function _startEnrollment() {\n this.subtitle = Okta.loc('enroll.windowsHello.subtitle.loading', 'login');\n\n this.model.trigger('spinner:show');\n this._resetErrorMessage();\n\n this.render();\n this.$('.o-form-button-bar').addClass('hide');\n },\n\n _stopEnrollment: function _stopEnrollment(errorMessage) {\n this.subtitle = Okta.loc('enroll.windowsHello.subtitle', 'login');\n\n this.model.trigger('spinner:hide');\n\n var message;\n switch (errorMessage) {\n case 'NotSupportedError':\n message = Okta.loc('enroll.windowsHello.error.notConfiguredHtml', 'login');\n break;\n }\n\n this._resetErrorMessage();\n\n if (message) {\n var messageView = new HtmlErrorMessageView({\n message: message\n });\n\n this.$('.o-form-error-container').addClass('o-form-has-errors');\n this.add(messageView, { selector: '.o-form-error-container' });\n this._errorMessageView = this.last();\n }\n\n this.render();\n this.$('.o-form-button-bar').removeClass('hide');\n },\n\n _resetErrorMessage: function _resetErrorMessage() {\n this._errorMessageView && this._errorMessageView.remove();\n this._errorMessageView = undefined;\n this.clearErrors();\n }\n },\n\n Footer: Footer,\n\n trapAuthResponse: function trapAuthResponse() {\n if (this.options.appState.get('isMfaEnrollActivate')) {\n this.model.activate();\n return true;\n }\n }\n });\n}).apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\n/***/ }),\n/* 594 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\nvar __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;\n\n/*!\n * Copyright (c) 2015-2016, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n/* eslint complexity: [2, 8] */\n!(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(0), __webpack_require__(2), __webpack_require__(19), __webpack_require__(254), __webpack_require__(14), __webpack_require__(181), __webpack_require__(4), __webpack_require__(13), __webpack_require__(6)], __WEBPACK_AMD_DEFINE_RESULT__ = (function (Okta, FormController, Footer, PhoneTextBox, TextBox, CountryUtil, FormType, Util, Enums) {\n\n var _ = Okta._;\n var Keys = Okta.internal.util.Keys;\n\n var warningTemplate = '<div class=\"okta-form-infobox-warning infobox infobox-warning login-timeout-warning\">\\\n <span class=\"icon warning-16\"></span>\\\n <p>{{{warning}}}</p>\\\n </div>\\\n ';\n\n var factorIdIsDefined = {\n factorId: function factorId(val) {\n return !_.isUndefined(val);\n }\n };\n\n function isCallFactor(factorType) {\n return factorType === 'call';\n }\n\n function getClassName(factorType) {\n return isCallFactor(factorType) ? 'enroll-call' : 'enroll-sms';\n }\n\n function sendCode(e) {\n if (Keys.isEnter(e)) {\n e.stopPropagation();\n e.preventDefault();\n if (e.type === 'keyup' && e.data && e.data.model) {\n e.data.model.sendCode();\n }\n }\n }\n\n return FormController.extend({\n className: function className() {\n return getClassName(this.options.factorType);\n },\n Model: {\n props: {\n countryCode: ['string', true, 'US'],\n phoneNumber: ['string', true],\n phoneExtension: ['string', false],\n lastEnrolledPhoneNumber: 'string',\n passCode: ['string', true],\n factorId: 'string'\n },\n local: {\n hasExistingPhones: 'boolean',\n trapEnrollment: 'boolean',\n ableToResend: 'boolean',\n factorType: 'string',\n skipPhoneValidation: 'boolean'\n },\n derived: {\n countryCallingCode: {\n deps: ['countryCode'],\n fn: function fn(countryCode) {\n return '+' + CountryUtil.getCallingCodeForCountry(countryCode);\n }\n },\n fullPhoneNumber: {\n deps: ['countryCallingCode', 'phoneNumber'],\n fn: function fn(countryCallingCode, phoneNumber) {\n return phoneNumber ? countryCallingCode + phoneNumber : '';\n }\n },\n enrolled: {\n deps: ['lastEnrolledPhoneNumber', 'fullPhoneNumber'],\n fn: function fn(lastEnrolled, current) {\n return lastEnrolled === current;\n }\n }\n },\n limitResending: function limitResending() {\n this.set({ ableToResend: false });\n _.delay(_.bind(this.set, this), Enums.API_RATE_LIMIT, { ableToResend: true });\n },\n sendCode: function sendCode() {\n var self = this;\n var phoneNumber = this.get('fullPhoneNumber');\n var phoneExtension = this.get('phoneExtension');\n\n self.trigger('errors:clear');\n\n if (!phoneNumber.length) {\n self.trigger('invalid', self, { 'phoneNumber': 'model.validation.field.blank' });\n return;\n }\n\n return this.doTransaction(function (transaction) {\n var isMfaEnroll = transaction.status === 'MFA_ENROLL' || transaction.status === 'FACTOR_ENROLL';\n var profileData = {\n phoneNumber: phoneNumber,\n updatePhone: isMfaEnroll ? self.get('hasExistingPhones') : true\n };\n if (isCallFactor(self.get('factorType'))) {\n profileData['phoneExtension'] = phoneExtension;\n }\n\n if (self.get('skipPhoneValidation')) {\n profileData['validatePhone'] = false;\n }\n\n var doEnroll = function doEnroll(trans) {\n var factor = _.findWhere(trans.factors, {\n factorType: self.get('factorType'),\n provider: 'OKTA'\n });\n return factor.enroll({\n profile: profileData\n }).fail(function (error) {\n if (error.errorCode === 'E0000098') {\n // E0000098: \"This phone number is invalid.\"\n self.set('skipPhoneValidation', true);\n error.xhr.responseJSON.errorSummary = Okta.loc('enroll.sms.try_again', 'login');\n }\n throw error;\n });\n };\n\n if (isMfaEnroll) {\n return doEnroll(transaction);\n } else {\n // We must transition to MfaEnroll before updating the phone number\n self.set('trapEnrollment', true);\n return transaction.prev().then(doEnroll).then(function (trans) {\n self.set('trapEnrollment', false);\n return trans;\n });\n }\n // Rethrow errors so we can change state\n // AFTER setting the new transaction\n }, true).then(function () {\n self.set('lastEnrolledPhoneNumber', phoneNumber);\n self.limitResending();\n }).fail(function () {\n self.set('ableToResend', true);\n self.set('trapEnrollment', false);\n });\n },\n resendCode: function resendCode() {\n this.trigger('errors:clear');\n this.limitResending();\n return this.doTransaction(function (transaction) {\n return transaction.resend(this.get('factorType'));\n });\n },\n save: function save() {\n return this.doTransaction(function (transaction) {\n return transaction.activate({\n passCode: this.get('passCode')\n });\n });\n }\n },\n\n Form: function Form() {\n var factorType = this.options.factorType;\n var isCall = isCallFactor(factorType);\n var formTitle = Okta.loc(isCall ? 'enroll.call.setup' : 'enroll.sms.setup', 'login');\n var formSubmit = Okta.loc(isCall ? 'mfa.call' : 'mfa.sendCode', 'login');\n var formRetry = Okta.loc(isCall ? 'mfa.redial' : 'mfa.resendCode', 'login');\n var formSubmitted = Okta.loc(isCall ? 'mfa.calling' : 'mfa.sent', 'login');\n var numberFieldClassName = isCall ? 'enroll-call-phone' : 'enroll-sms-phone';\n var buttonClassName = isCall ? 'call-request-button' : 'sms-request-button';\n\n var formChildren = [FormType.Input({\n name: 'countryCode',\n type: 'select',\n wide: true,\n options: CountryUtil.getCountries()\n }), FormType.Input({\n label: Okta.loc('mfa.phoneNumber.placeholder', 'login'),\n 'label-top': true,\n className: numberFieldClassName,\n name: 'phoneNumber',\n input: PhoneTextBox,\n type: 'text',\n render: function render() {\n this.$('input[name=\"phoneNumber\"]').off('keydown keyup', sendCode).keydown(sendCode).keyup({ model: this.model }, sendCode);\n }\n })];\n if (isCall) {\n formChildren.push(FormType.Input({\n label: Okta.loc('mfa.phoneNumber.ext.placeholder', 'login'),\n 'label-top': true,\n className: 'enroll-call-extension',\n name: 'phoneExtension',\n input: TextBox,\n type: 'text'\n }));\n }\n formChildren.push(FormType.Button({\n title: formSubmit,\n attributes: { 'data-se': buttonClassName },\n className: 'button button-primary js-enroll-phone margin-top-30 ' + buttonClassName,\n click: function click() {\n this.model.sendCode();\n }\n }), FormType.Button({\n title: formRetry,\n attributes: { 'data-se': buttonClassName },\n className: 'button js-enroll-phone margin-top-30 ' + buttonClassName,\n click: function click() {\n this.model.resendCode();\n },\n initialize: function initialize() {\n this.$el.css({ display: 'none' });\n this.listenTo(this.model, 'change:ableToResend', function (model, ableToResend) {\n if (ableToResend) {\n this.options.title = formRetry;\n this.enable();\n } else {\n this.options.title = formSubmitted;\n this.disable();\n }\n this.render();\n });\n }\n }), FormType.Divider({\n showWhen: factorIdIsDefined\n }), FormType.Input({\n label: Okta.loc('mfa.challenge.enterCode.placeholder', 'login'),\n 'label-top': true,\n explain: Util.createInputExplain('mfa.challenge.enterCode.tooltip', 'mfa.challenge.enterCode.placeholder', 'login'),\n 'explain-top': true,\n name: 'passCode',\n input: TextBox,\n type: 'tel',\n showWhen: factorIdIsDefined\n }), FormType.Toolbar({\n noCancelButton: true,\n save: Okta.loc('mfa.challenge.verify', 'login'),\n showWhen: factorIdIsDefined\n }));\n\n return {\n title: formTitle,\n noButtonBar: true,\n autoSave: true,\n className: getClassName(factorType),\n\n showWarning: function showWarning(msg) {\n this.clearWarnings();\n this.add(warningTemplate, '.o-form-error-container', { options: { warning: msg } });\n },\n\n clearWarnings: function clearWarnings() {\n this.$('.okta-form-infobox-warning').remove();\n },\n\n initialize: function initialize() {\n this.listenTo(this.model, 'change:ableToResend', function (model, ableToResend) {\n if (ableToResend) {\n this.showWarning(Okta.loc(isCall ? 'factor.call.time.warning' : 'factor.sms.time.warning', 'login'));\n } else {\n this.clearWarnings();\n }\n });\n this.listenTo(this.model, 'error errors:clear', function () {\n this.clearWarnings();\n this.clearErrors();\n });\n this.listenTo(this.model, 'change:enrolled', function () {\n this.$('.js-enroll-phone').toggle();\n });\n },\n formChildren: formChildren\n };\n },\n\n Footer: Footer,\n\n trapAuthResponse: function trapAuthResponse() {\n if (this.options.appState.get('isMfaEnrollActivate')) {\n this.model.set('factorId', this.options.appState.get('activatedFactorId'));\n return true;\n }\n if (this.options.appState.get('isMfaEnroll') && this.model.get('trapEnrollment')) {\n return true;\n }\n },\n\n initialize: function initialize() {\n if (isCallFactor(this.options.factorType)) {\n this.model.set('hasExistingPhones', this.options.appState.get('hasExistingPhonesForCall'));\n } else {\n this.model.set('hasExistingPhones', this.options.appState.get('hasExistingPhones'));\n }\n this.model.set('factorType', this.options.factorType);\n }\n\n });\n}).apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\n/***/ }),\n/* 595 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\n/*!\n * Copyright (c) 2015-2016, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n/* eslint max-len:0 */\n\n!(module.exports = {\n 'US': '1',\n 'AG': '1',\n 'AI': '1',\n 'AS': '1',\n 'BB': '1',\n 'BM': '1',\n 'BS': '1',\n 'CA': '1',\n 'DM': '1',\n 'DO': '1',\n 'GD': '1',\n 'GU': '1',\n 'JM': '1',\n 'KN': '1',\n 'KY': '1',\n 'LC': '1',\n 'MP': '1',\n 'MS': '1',\n 'PR': '1',\n 'SX': '1',\n 'TC': '1',\n 'TT': '1',\n 'VC': '1',\n 'VG': '1',\n 'VI': '1',\n 'RU': '7',\n 'KZ': '7',\n 'EG': '20',\n 'ZA': '27',\n 'GR': '30',\n 'NL': '31',\n 'BE': '32',\n 'FR': '33',\n 'ES': '34',\n 'HU': '36',\n 'IT': '39',\n 'VA': '39',\n 'RO': '40',\n 'CH': '41',\n 'AT': '43',\n 'GB': '44',\n 'GG': '44',\n 'IM': '44',\n 'JE': '44',\n 'DK': '45',\n 'SE': '46',\n 'NO': '47',\n 'SJ': '47',\n 'PL': '48',\n 'DE': '49',\n 'PE': '51',\n 'MX': '52',\n 'CU': '53',\n 'AR': '54',\n 'BR': '55',\n 'CL': '56',\n 'CO': '57',\n 'VE': '58',\n 'MY': '60',\n 'AU': '61',\n 'CC': '61',\n 'CX': '61',\n 'ID': '62',\n 'PH': '63',\n 'NZ': '64',\n 'SG': '65',\n 'TH': '66',\n 'JP': '81',\n 'KR': '82',\n 'VN': '84',\n 'CN': '86',\n 'TR': '90',\n 'IN': '91',\n 'PK': '92',\n 'AF': '93',\n 'LK': '94',\n 'MM': '95',\n 'IR': '98',\n 'SS': '211',\n 'MA': '212',\n 'EH': '212',\n 'DZ': '213',\n 'TN': '216',\n 'LY': '218',\n 'GM': '220',\n 'SN': '221',\n 'MR': '222',\n 'ML': '223',\n 'GN': '224',\n 'CI': '225',\n 'BF': '226',\n 'NE': '227',\n 'TG': '228',\n 'BJ': '229',\n 'MU': '230',\n 'LR': '231',\n 'SL': '232',\n 'GH': '233',\n 'NG': '234',\n 'TD': '235',\n 'CF': '236',\n 'CM': '237',\n 'CV': '238',\n 'ST': '239',\n 'GQ': '240',\n 'GA': '241',\n 'CG': '242',\n 'CD': '243',\n 'AO': '244',\n 'GW': '245',\n 'IO': '246',\n 'AC': '247',\n 'SC': '248',\n 'SD': '249',\n 'RW': '250',\n 'ET': '251',\n 'SO': '252',\n 'DJ': '253',\n 'KE': '254',\n 'TZ': '255',\n 'UG': '256',\n 'BI': '257',\n 'MZ': '258',\n 'ZM': '260',\n 'MG': '261',\n 'RE': '262',\n 'YT': '262',\n 'ZW': '263',\n 'NA': '264',\n 'MW': '265',\n 'LS': '266',\n 'BW': '267',\n 'SZ': '268',\n 'KM': '269',\n 'SH': '290',\n 'TA': '290',\n 'ER': '291',\n 'AW': '297',\n 'FO': '298',\n 'GL': '299',\n 'GI': '350',\n 'PT': '351',\n 'LU': '352',\n 'IE': '353',\n 'IS': '354',\n 'AL': '355',\n 'MT': '356',\n 'CY': '357',\n 'FI': '358',\n 'AX': '358',\n 'BG': '359',\n 'LT': '370',\n 'LV': '371',\n 'EE': '372',\n 'MD': '373',\n 'AM': '374',\n 'BY': '375',\n 'AD': '376',\n 'MC': '377',\n 'SM': '378',\n 'UA': '380',\n 'RS': '381',\n 'ME': '382',\n 'XK': '383',\n 'HR': '385',\n 'SI': '386',\n 'BA': '387',\n 'MK': '389',\n 'CZ': '420',\n 'SK': '421',\n 'LI': '423',\n 'FK': '500',\n 'BZ': '501',\n 'GT': '502',\n 'SV': '503',\n 'HN': '504',\n 'NI': '505',\n 'CR': '506',\n 'PA': '507',\n 'PM': '508',\n 'HT': '509',\n 'GP': '590',\n 'BL': '590',\n 'MF': '590',\n 'BO': '591',\n 'GY': '592',\n 'EC': '593',\n 'GF': '594',\n 'PY': '595',\n 'MQ': '596',\n 'SR': '597',\n 'UY': '598',\n 'CW': '599',\n 'BQ': '599',\n 'TL': '670',\n 'NF': '672',\n 'BN': '673',\n 'NR': '674',\n 'PG': '675',\n 'TO': '676',\n 'SB': '677',\n 'VU': '678',\n 'FJ': '679',\n 'PW': '680',\n 'WF': '681',\n 'CK': '682',\n 'NU': '683',\n 'WS': '685',\n 'KI': '686',\n 'NC': '687',\n 'TV': '688',\n 'PF': '689',\n 'TK': '690',\n 'FM': '691',\n 'MH': '692',\n '001': '979',\n 'KP': '850',\n 'HK': '852',\n 'MO': '853',\n 'KH': '855',\n 'LA': '856',\n 'BD': '880',\n 'TW': '886',\n 'MV': '960',\n 'LB': '961',\n 'JO': '962',\n 'SY': '963',\n 'IQ': '964',\n 'KW': '965',\n 'SA': '966',\n 'YE': '967',\n 'OM': '968',\n 'PS': '970',\n 'AE': '971',\n 'IL': '972',\n 'BH': '973',\n 'QA': '974',\n 'BT': '975',\n 'MN': '976',\n 'NP': '977',\n 'TJ': '992',\n 'TM': '993',\n 'AZ': '994',\n 'GE': '995',\n 'KG': '996',\n 'UZ': '998',\n 'GS': '500',\n 'PN': '64',\n 'AQ': '672',\n 'UM': '1',\n 'AN': '599'\n});\n\n/***/ }),\n/* 596 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\nvar __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;\n\n/*!\n * Copyright (c) 2015-present, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n!(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(0), __webpack_require__(2), __webpack_require__(19), __webpack_require__(4)], __WEBPACK_AMD_DEFINE_RESULT__ = (function (Okta, FormController, Footer, FormType) {\n\n var _ = Okta._;\n\n var Model = {\n local: {\n factorType: 'string',\n provider: 'string'\n },\n save: function save() {\n this.trigger('save');\n var factorOpt = this.pick('factorType', 'provider');\n return this.doTransaction(function (transaction) {\n var factor = _.findWhere(transaction.factors, factorOpt);\n return factor.enroll();\n });\n }\n };\n\n var Form = function Form() {\n return {\n title: _.partial(Okta.loc, 'email.enroll.title', 'login'),\n noButtonBar: false,\n autoSave: true,\n save: _.partial(Okta.loc, 'email.button.send', 'login'),\n formChildren: [FormType.View({\n View: Okta.View.extend({\n attributes: {\n 'data-se': 'enroll-email-content'\n },\n template: '{{i18n code=\"email.enroll.description\" bundle=\"login\"}}'\n })\n })]\n };\n };\n\n return FormController.extend({\n\n className: 'enroll-email',\n\n Model: Model,\n\n Form: Form,\n\n Footer: Footer,\n\n initialize: function initialize() {\n this.model.set(_.pick(this.options, 'factorType', 'provider'));\n }\n\n });\n}).apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\n/***/ }),\n/* 597 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\nvar __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;\n\n/*!\n * Copyright (c) 2015-present, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n!(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(0), __webpack_require__(2), __webpack_require__(19), __webpack_require__(250), __webpack_require__(4)], __WEBPACK_AMD_DEFINE_RESULT__ = (function (Okta, FormController, Footer, ResendEmailView, FormType) {\n\n var _ = Okta._;\n\n var Model = {\n props: {\n passCode: 'string'\n },\n\n resend: function resend() {\n this.trigger('form:clear-errors');\n return this.doTransaction(function (transaction) {\n // authn support multiple `resend` hence has to specify name.\n return transaction.resend('email');\n });\n },\n\n save: function save() {\n this.trigger('save');\n var formData = this.toJSON();\n return this.doTransaction(function (transaction) {\n return transaction.activate(formData);\n });\n }\n };\n\n var Form = function Form() {\n return {\n title: _.partial(Okta.loc, 'email.enroll.title', 'login'),\n noButtonBar: false,\n autoSave: true,\n save: _.partial(Okta.loc, 'oform.verify', 'login'),\n formChildren: [\n // message\n FormType.View({\n View: Okta.View.extend({\n className: 'enroll-activate-email-content',\n attributes: {\n 'data-se': 'enroll-activate-email-content'\n },\n\n // Why use `{{{` for the description?\n // - factorEmail is actually an HTML fragment which\n // is created via another handlebar template and used for bold the email address.\n template: '{{{i18n code=\"email.mfa.email.sent.description\" bundle=\"login\" arguments=\"factorEmail\"}}}',\n\n getTemplateData: function getTemplateData() {\n var factor = this.options.appState.get('factor');\n var factorEmailVal = factor && factor.profile ? factor.profile.email : '';\n var factorEmail = Okta.tpl('<span class=\"mask-email\">{{email}}</span>')({ email: factorEmailVal });\n return {\n factorEmail: factorEmail\n };\n }\n\n })\n }),\n // send again callout message and link button\n FormType.View({\n View: ResendEmailView\n }),\n // passcode input\n FormType.Input({\n label: Okta.loc('email.code.label', 'login'),\n 'label-top': true,\n name: 'passCode',\n type: 'text',\n wide: true\n })]\n };\n };\n\n return FormController.extend({\n\n className: 'enroll-activate-email',\n\n Model: Model,\n\n Form: Form,\n\n Footer: Footer\n\n });\n}).apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\n/***/ }),\n/* 598 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\nvar __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;\n\n/*!\n * Copyright (c) 2015-2016, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n\n!(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(0), __webpack_require__(4), __webpack_require__(2), __webpack_require__(13), __webpack_require__(19), __webpack_require__(14)], __WEBPACK_AMD_DEFINE_RESULT__ = (function (Okta, FormType, FormController, Util, Footer, TextBox) {\n\n var _ = Okta._;\n\n function isRSA(provider) {\n return provider === 'RSA';\n }\n\n function getClassName(provider) {\n return isRSA(provider) ? 'enroll-rsa' : 'enroll-onprem';\n }\n\n return FormController.extend({\n className: function className() {\n return getClassName(this.options.provider);\n },\n Model: function Model() {\n var provider = this.options.provider;\n var factors = this.options.appState.get('factors');\n var factor = factors.findWhere(_.pick(this.options, 'provider', 'factorType'));\n var profile = factor.get('profile');\n var credentialId = profile && profile.credentialId ? profile.credentialId : '';\n return {\n props: {\n credentialId: ['string', true, credentialId],\n passCode: ['string', true],\n factorId: 'string'\n },\n save: function save() {\n return this.doTransaction(function (transaction) {\n var factor = _.findWhere(transaction.factors, {\n factorType: 'token',\n provider: provider\n });\n return factor.enroll({\n passCode: this.get('passCode'),\n profile: { credentialId: this.get('credentialId') }\n });\n });\n }\n };\n },\n\n Form: function Form() {\n var provider = this.options.provider;\n var factors = this.options.appState.get('factors');\n var factor = factors.findWhere(_.pick(this.options, 'provider', 'factorType'));\n var vendorName = factor.get('vendorName');\n var title = isRSA(provider) ? Okta.loc('factor.totpHard.rsaSecurId', 'login') : vendorName;\n\n return {\n title: title,\n noButtonBar: true,\n autoSave: true,\n className: getClassName(provider),\n initialize: function initialize() {\n this.listenTo(this.model, 'error', _.bind(function (source, error) {\n if (error && error.status === 409) {\n // 409 means we are in change pin, so we should clear out answer input\n this.$('.o-form-input-name-passCode input').val('');\n this.$('.o-form-input-name-passCode input').trigger('change');\n this.$('.o-form-input-name-passCode input').focus();\n }\n }, this));\n },\n formChildren: [FormType.Input({\n label: Okta.loc('enroll.onprem.username.placeholder', 'login', [vendorName]),\n 'label-top': true,\n explain: Util.createInputExplain('enroll.onprem.username.tooltip', 'enroll.onprem.username.placeholder', 'login', [vendorName], [vendorName]),\n 'explain-top': true,\n name: 'credentialId',\n input: TextBox,\n type: 'text'\n }), FormType.Input({\n label: Okta.loc('enroll.onprem.passcode.placeholder', 'login', [vendorName]),\n 'label-top': true,\n explain: Util.createInputExplain('enroll.onprem.passcode.tooltip', 'enroll.onprem.passcode.placeholder', 'login', [vendorName], [vendorName]),\n 'explain-top': true,\n name: 'passCode',\n input: TextBox,\n type: 'password'\n }), FormType.Toolbar({\n noCancelButton: true,\n save: Okta.loc('mfa.challenge.verify', 'login')\n })]\n };\n },\n\n Footer: Footer\n\n });\n}).apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\n/***/ }),\n/* 599 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\nvar __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;\n\n/*!\n * Copyright (c) 2015-2016, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n\n!(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(0), __webpack_require__(4), __webpack_require__(2), __webpack_require__(13), __webpack_require__(19), __webpack_require__(14)], __WEBPACK_AMD_DEFINE_RESULT__ = (function (Okta, FormType, FormController, Util, Footer, TextBox) {\n\n var _ = Okta._;\n\n return FormController.extend({\n className: 'enroll-symantec',\n Model: {\n props: {\n credentialId: ['string', true],\n passCode: ['string', true],\n nextPassCode: ['string', true],\n factorId: 'string'\n },\n save: function save() {\n return this.doTransaction(function (transaction) {\n\n var factor = _.findWhere(transaction.factors, {\n factorType: 'token',\n provider: 'SYMANTEC'\n });\n return factor.enroll({\n passCode: this.get('passCode'),\n nextPassCode: this.get('nextPassCode'),\n profile: { credentialId: this.get('credentialId') }\n });\n });\n }\n },\n\n Form: {\n title: _.partial(Okta.loc, 'factor.totpHard.symantecVip', 'login'),\n subtitle: _.partial(Okta.loc, 'enroll.symantecVip.subtitle', 'login'),\n noButtonBar: true,\n autoSave: true,\n className: 'enroll-symantec',\n formChildren: function formChildren() {\n return [FormType.Input({\n label: Okta.loc('enroll.symantecVip.credentialId.placeholder', 'login'),\n 'label-top': true,\n explain: Util.createInputExplain('enroll.symantecVip.credentialId.tooltip', 'enroll.symantecVip.credentialId.placeholder', 'login'),\n 'explain-top': true,\n name: 'credentialId',\n input: TextBox,\n type: 'text'\n }), FormType.Input({\n label: Okta.loc('enroll.symantecVip.passcode1.placeholder', 'login'),\n 'label-top': true,\n explain: Util.createInputExplain('enroll.symantecVip.passcode1.tooltip', 'enroll.symantecVip.passcode1.placeholder', 'login'),\n 'explain-top': true,\n name: 'passCode',\n input: TextBox,\n type: 'text'\n }), FormType.Input({\n label: Okta.loc('enroll.symantecVip.passcode2.placeholder', 'login'),\n 'label-top': true,\n explain: Util.createInputExplain('enroll.symantecVip.passcode2.tooltip', 'enroll.symantecVip.passcode2.placeholder', 'login'),\n 'explain-top': true,\n name: 'nextPassCode',\n input: TextBox,\n type: 'text'\n }), FormType.Toolbar({\n noCancelButton: true,\n save: Okta.loc('mfa.challenge.verify', 'login')\n })];\n }\n },\n\n Footer: Footer\n\n });\n}).apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\n/***/ }),\n/* 600 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\nvar __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;\n\n/*!\n * Copyright (c) 2015-2016, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n\n!(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(0), __webpack_require__(4), __webpack_require__(2), __webpack_require__(19), __webpack_require__(14)], __WEBPACK_AMD_DEFINE_RESULT__ = (function (Okta, FormType, FormController, Footer, TextBox) {\n\n var _ = Okta._;\n\n return FormController.extend({\n className: 'enroll-yubikey',\n Model: {\n props: {\n passCode: ['string', true],\n factorId: 'string'\n },\n save: function save() {\n return this.doTransaction(function (transaction) {\n var factor = _.findWhere(transaction.factors, {\n factorType: 'token:hardware',\n provider: 'YUBICO'\n });\n return factor.enroll({\n passCode: this.get('passCode')\n });\n });\n }\n },\n\n Form: {\n title: _.partial(Okta.loc, 'enroll.yubikey.title', 'login'),\n subtitle: _.partial(Okta.loc, 'enroll.yubikey.subtitle', 'login'),\n noCancelButton: true,\n save: _.partial(Okta.loc, 'mfa.challenge.verify', 'login'),\n autoSave: true,\n className: 'enroll-yubikey',\n formChildren: [FormType.View({\n View: '<div class=\"yubikey-demo\" data-type=\"yubikey-example\"></div>'\n }), FormType.Input({\n name: 'passCode',\n input: TextBox,\n type: 'password'\n })]\n },\n\n Footer: Footer\n });\n}).apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\n/***/ }),\n/* 601 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\nvar __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;\n\n/*!\n * Copyright (c) 2015-2016, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n\n!(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(0), __webpack_require__(18), __webpack_require__(2), __webpack_require__(4), __webpack_require__(24), __webpack_require__(602), __webpack_require__(182), __webpack_require__(19)], __WEBPACK_AMD_DEFINE_RESULT__ = (function (Okta, FactorUtil, FormController, FormType, RouterUtil, StoreLinks, BarcodeView, Footer) {\n\n var _ = Okta._;\n\n var showWhenDeviceTypeSelected = {\n '__deviceType__': function __deviceType__(val) {\n return val !== undefined;\n }\n };\n\n var AppDownloadInstructionsView = Okta.View.extend({\n attributes: { 'data-se': 'app-download-instructions' },\n className: 'app-download-instructions',\n template: '\\\n <span class=\"app-logo {{appIcon}}\"></span>\\\n <p class=\"instructions\">{{{appStoreLinkText}}}</p>\\\n ',\n initialize: function initialize() {\n this.listenTo(this.model, 'change:__deviceType__', this.render);\n },\n getTemplateData: function getTemplateData() {\n var appStoreLink, appIcon, appStoreName;\n var factorName = FactorUtil.getFactorLabel(this.model.get('__provider__'), this.model.get('__factorType__'));\n appStoreName = StoreLinks.STORE[this.model.get('__deviceType__')];\n if (this.model.get('__provider__') === 'GOOGLE') {\n appStoreLink = StoreLinks.GOOGLE[this.model.get('__deviceType__')];\n appIcon = 'google-auth-38';\n } else {\n appStoreLink = StoreLinks.OKTA[this.model.get('__deviceType__')];\n appIcon = 'okta-verify-38';\n }\n return {\n appStoreLinkText: Okta.loc('enroll.totp.downloadApp', 'login', [appStoreLink, factorName, appStoreName]),\n appIcon: appIcon\n };\n }\n });\n\n var EnrollTotpController = FormController.extend({\n className: 'enroll-totp',\n Model: function Model() {\n return {\n local: {\n '__deviceType__': 'string',\n '__factorType__': ['string', false, this.options.factorType],\n '__provider__': ['string', false, this.options.provider]\n },\n save: function save() {\n return this.doTransaction(function (transaction) {\n var factor = _.findWhere(transaction.factors, {\n factorType: this.get('__factorType__'),\n provider: this.get('__provider__')\n });\n return factor.enroll();\n });\n }\n };\n },\n\n Form: {\n title: function title() {\n var factorName = FactorUtil.getFactorLabel(this.model.get('__provider__'), this.model.get('__factorType__'));\n return Okta.loc('enroll.totp.title', 'login', [factorName]);\n },\n subtitle: _.partial(Okta.loc, 'enroll.totp.selectDevice', 'login'),\n autoSave: true,\n noButtonBar: true,\n attributes: { 'data-se': 'step-device-type' },\n\n formChildren: function formChildren() {\n var inputOptions = {\n APPLE: Okta.loc('iphone', 'login'),\n ANDROID: Okta.loc('android', 'login')\n };\n\n var children = [FormType.Input({\n name: '__deviceType__',\n type: 'radio',\n options: inputOptions\n }), FormType.Divider({ showWhen: showWhenDeviceTypeSelected }), FormType.View({\n View: AppDownloadInstructionsView,\n showWhen: showWhenDeviceTypeSelected\n }), FormType.Toolbar({\n noCancelButton: true,\n save: Okta.loc('oform.next', 'login'),\n showWhen: showWhenDeviceTypeSelected\n })];\n\n return children;\n }\n },\n\n Footer: Footer\n\n });\n\n return EnrollTotpController;\n}).apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\n/***/ }),\n/* 602 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\n/*!\n * Copyright (c) 2015-2016, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n\n!(module.exports = {\n OKTA: {\n APPLE: 'https://itunes.apple.com/us/app/okta-verify/id490179405',\n ANDROID: 'https://play.google.com/store/apps/details?id=com.okta.android.auth'\n },\n GOOGLE: {\n APPLE: 'https://itunes.apple.com/us/app/google-authenticator/id388497605',\n ANDROID: 'https://play.google.com/store/apps/details?id=com.google.android.apps.authenticator2'\n },\n STORE: {\n APPLE: 'App Store',\n ANDROID: 'Google Play Store'\n }\n});\n\n/***/ }),\n/* 603 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\nvar __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;\n\n/*!\n * Copyright (c) 2015-2016, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n\n/* global u2f */\n\n!(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(0), __webpack_require__(33), __webpack_require__(4), __webpack_require__(2), __webpack_require__(179), __webpack_require__(19), __webpack_require__(17), __webpack_require__(52), __webpack_require__(252)], __WEBPACK_AMD_DEFINE_RESULT__ = (function (Okta, Errors, FormType, FormController, FidoUtil, Footer, Q, HtmlErrorMessageView) {\n\n var _ = Okta._;\n\n return FormController.extend({\n className: 'enroll-u2f',\n Model: {\n local: {\n '__enrolled__': 'boolean'\n },\n\n save: function save() {\n this.trigger('request');\n\n if (this.get('__enrolled__')) {\n return this.activate();\n }\n\n return this.doTransaction(function (transaction) {\n var factor = _.findWhere(transaction.factors, {\n factorType: 'u2f',\n provider: 'FIDO'\n });\n return factor.enroll();\n });\n },\n\n activate: function activate() {\n this.set('__enrolled__', true);\n this.trigger('errors:clear');\n\n return this.doTransaction(function (transaction) {\n var activation = transaction.factor.activation;\n var appId = activation.appId;\n var registerRequests = [{\n version: FidoUtil.getU2fVersion(),\n challenge: activation.nonce\n }];\n var self = this;\n var deferred = Q.defer();\n u2f.register(appId, registerRequests, [], function (data) {\n self.trigger('errors:clear');\n if (data.errorCode && data.errorCode !== 0) {\n deferred.reject(new Errors.U2FError({\n xhr: {\n responseJSON: {\n errorSummary: FidoUtil.getU2fEnrollErrorMessageByCode(data.errorCode)\n }\n }\n }));\n } else {\n deferred.resolve(transaction.activate({\n registrationData: data.registrationData,\n version: data.version,\n challenge: data.challenge,\n clientData: data.clientData\n }));\n }\n });\n return deferred.promise;\n });\n }\n },\n\n Form: {\n title: _.partial(Okta.loc, 'enroll.u2f.title', 'login'),\n save: _.partial(Okta.loc, 'enroll.u2f.save', 'login'),\n noCancelButton: true,\n hasSavingState: false,\n autoSave: true,\n className: 'enroll-u2f-form',\n noButtonBar: function noButtonBar() {\n return !FidoUtil.isU2fAvailable();\n },\n modelEvents: {\n 'request': '_startEnrollment',\n 'error': '_stopEnrollment'\n },\n formChildren: function formChildren() {\n var result = [];\n\n if (!FidoUtil.isU2fAvailable()) {\n var errorMessageKey = 'u2f.error.factorNotSupported';\n if (this.options.appState.get('factors').length === 1) {\n errorMessageKey = 'u2f.error.factorNotSupported.oneFactor';\n }\n result.push(FormType.View({ View: new HtmlErrorMessageView({ message: Okta.loc(errorMessageKey, 'login') }) }, { selector: '.o-form-error-container' }));\n } else {\n //There is html in enroll.u2f.general2 in our properties file, reason why is unescaped\n result.push(FormType.View({\n View: '<div class=\"u2f-instructions\"><ol>\\\n <li>{{{i18n code=\"enroll.u2f.general2\" bundle=\"login\"}}}</li>\\\n <li>{{i18n code=\"enroll.u2f.general3\" bundle=\"login\"}}</li>\\\n </ol></div>'\n }));\n\n result.push(FormType.View({\n View: '\\\n <div class=\"u2f-enroll-text hide\">\\\n <p>{{i18n code=\"enroll.u2f.instructions\" bundle=\"login\"}}</p>\\\n <p>{{i18n code=\"enroll.u2f.instructionsBluetooth\" bundle=\"login\"}}</p>\\\n <div data-se=\"u2f-devices\" class=\"u2f-devices-images\">\\\n <div class=\"u2f-usb\"></div>\\\n <div class=\"u2f-bluetooth\"></div>\\\n </div>\\\n <div data-se=\"u2f-waiting\" class=\"okta-waiting-spinner\"></div>\\\n </div>'\n }));\n }\n\n return result;\n },\n\n _startEnrollment: function _startEnrollment() {\n this.$('.u2f-instructions').addClass('hide');\n this.$('.u2f-enroll-text').removeClass('hide');\n this.$('.o-form-button-bar').hide();\n },\n\n _stopEnrollment: function _stopEnrollment() {\n this.$('.u2f-instructions').removeClass('hide');\n this.$('.u2f-enroll-text').addClass('hide');\n this.$('.o-form-button-bar').show();\n }\n },\n\n Footer: Footer,\n\n trapAuthResponse: function trapAuthResponse() {\n if (this.options.appState.get('isMfaEnrollActivate')) {\n this.model.activate();\n return true;\n }\n }\n });\n}).apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\n/***/ }),\n/* 604 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\nvar __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;\n\n/*!\n * Copyright (c) 2015-2016, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n\n!(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(0), __webpack_require__(33), __webpack_require__(4), __webpack_require__(2), __webpack_require__(180), __webpack_require__(97), __webpack_require__(19), __webpack_require__(17), __webpack_require__(52), __webpack_require__(58)], __WEBPACK_AMD_DEFINE_RESULT__ = (function (Okta, Errors, FormType, FormController, CryptoUtil, webauthn, Footer, Q, HtmlErrorMessageView, BrowserFeatures) {\n\n var _ = Okta._;\n\n function getExcludeCredentials(credentials) {\n var excludeCredentials = [];\n _.each(credentials, function (credential) {\n excludeCredentials.push({\n type: 'public-key',\n id: CryptoUtil.strToBin(credential.id)\n });\n });\n return excludeCredentials;\n }\n\n return FormController.extend({\n className: 'enroll-webauthn',\n Model: {\n local: {\n '__enrolled__': 'boolean'\n },\n\n save: function save() {\n this.trigger('request');\n\n if (this.get('__enrolled__')) {\n return this.activate();\n }\n\n return this.doTransaction(function (transaction) {\n var factor = _.findWhere(transaction.factors, {\n factorType: 'webauthn',\n provider: 'FIDO'\n });\n return factor.enroll();\n });\n },\n\n activate: function activate() {\n var _this = this;\n\n this.set('__enrolled__', true);\n this.trigger('errors:clear');\n this.appState.on('backToFactors', function () {\n if (_this.webauthnAbortController) {\n _this.webauthnAbortController.abort();\n _this.webauthnAbortController = null;\n }\n });\n\n return this.doTransaction(function (transaction) {\n // enroll via browser webauthn js\n var activation = transaction.factor.activation;\n var self = this;\n if (webauthn.isNewApiAvailable()) {\n var options = _.extend({}, activation, {\n challenge: CryptoUtil.strToBin(activation.challenge),\n user: {\n id: CryptoUtil.strToBin(activation.user.id),\n name: activation.user.name,\n displayName: activation.user.displayName\n },\n excludeCredentials: getExcludeCredentials(activation.excludeCredentials)\n });\n self.webauthnAbortController = new AbortController();\n return new Q(navigator.credentials.create({\n publicKey: options,\n signal: self.webauthnAbortController.signal\n })).then(function (newCredential) {\n return transaction.activate({\n attestation: CryptoUtil.binToStr(newCredential.response.attestationObject),\n clientData: CryptoUtil.binToStr(newCredential.response.clientDataJSON)\n });\n }).fail(function (error) {\n self.trigger('errors:clear');\n // Do not display if it is abort error triggered by code when switching.\n // self.webauthnAbortController would be null if abort was triggered by code. \n if (!self.webauthnAbortController) {\n throw new Errors.WebauthnAbortError();\n } else {\n throw new Errors.WebAuthnError({\n xhr: { responseJSON: { errorSummary: error.message } }\n });\n }\n }).finally(function () {\n // unset webauthnAbortController on successful authentication or error\n self.webauthnAbortController = null;\n });\n }\n });\n }\n },\n\n Form: {\n title: _.partial(Okta.loc, 'enroll.webauthn.biometric.title', 'login'),\n save: _.partial(Okta.loc, 'enroll.webauthn.save', 'login'),\n noCancelButton: true,\n hasSavingState: false,\n autoSave: true,\n className: 'enroll-webauthn-form',\n noButtonBar: function noButtonBar() {\n return !webauthn.isNewApiAvailable();\n },\n modelEvents: {\n 'request': '_startEnrollment',\n 'error': '_stopEnrollment'\n },\n formChildren: function formChildren() {\n var children = [];\n\n if (webauthn.isNewApiAvailable()) {\n //enroll.webauthn.biometric.instructions.edge is unescaped because it contains html\n children.push(FormType.View({\n View: Okta.View.extend({\n className: 'webauthn-enroll-text',\n template: '\\\n <div class=\"webauthn-enroll-instructions\">\\\n <p>{{i18n code=\"enroll.webauthn.biometric.instructions\" bundle=\"login\"}}</p>\\\n </div>\\\n {{#if isEdge}}\\\n <div class=\"webauthn-edge-text\">\\\n <p>{{{i18n code=\"enroll.webauthn.biometric.instructions.edge\" bundle=\"login\"}}}</p>\\\n </div>\\\n {{/if}}\\\n {{#if onlySupportsSecurityKey}}\\\n <div class=\"webauthn-restrictions-text\">\\\n <p>{{{i18n code=\"enroll.webauthn.instructions.noSupportForBiometric\" bundle=\"login\"}}}</p>\\\n </div>\\\n {{/if}}\\\n <div data-se=\"webauthn-waiting\" class=\"okta-waiting-spinner hide\"></div>\\\n ',\n getTemplateData: function getTemplateData() {\n return {\n isEdge: BrowserFeatures.isEdge(),\n onlySupportsSecurityKey: (BrowserFeatures.isFirefox() || BrowserFeatures.isSafari()) && BrowserFeatures.isMac()\n };\n }\n })\n }));\n } else {\n var errorMessageKey = 'webauthn.biometric.error.factorNotSupported';\n if (this.options.appState.get('factors').length === 1) {\n errorMessageKey = 'webauthn.biometric.error.factorNotSupported.oneFactor';\n }\n children.push(FormType.View({ View: new HtmlErrorMessageView({ message: Okta.loc(errorMessageKey, 'login') }) }, { selector: '.o-form-error-container' }));\n }\n\n return children;\n },\n\n _startEnrollment: function _startEnrollment() {\n this.$('.okta-waiting-spinner').show();\n this.$('.o-form-button-bar').hide();\n },\n\n _stopEnrollment: function _stopEnrollment() {\n this.$('.okta-waiting-spinner').hide();\n this.$('.o-form-button-bar').show();\n }\n },\n\n Footer: Footer,\n\n trapAuthResponse: function trapAuthResponse() {\n if (this.options.appState.get('isMfaEnrollActivate')) {\n this.model.activate();\n return true;\n }\n }\n });\n}).apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\n/***/ }),\n/* 605 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\nvar __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;\n\n/*!\n * Copyright (c) 2019-2020, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n\n!(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(0), __webpack_require__(122), __webpack_require__(4), __webpack_require__(255), __webpack_require__(52)], __WEBPACK_AMD_DEFINE_RESULT__ = (function (Okta, Factor, FormType, EnrollCustomFactorController, HtmlErrorMessageView) {\n var Util = Okta.internal.util.Util;\n\n\n return EnrollCustomFactorController.extend({\n Model: {\n local: {\n provider: 'string',\n factorType: 'string'\n },\n save: function save() {\n var _this = this;\n\n return this.manageTransaction(function () {\n var url = _this.appState.get('enrollCustomFactorRedirectUrl');\n if (url !== null) {\n Util.redirect(url);\n }\n });\n }\n },\n\n Form: function Form() {\n var factor = new Factor.Model(this.options.appState.get('factor'), this.toJSON());\n var vendorName = factor.get('vendorName');\n var subtitle = Okta.loc('enroll.customFactor.subtitle', 'login', [vendorName]);\n var saveText = Okta.loc('enroll.customFactor.save', 'login');\n return {\n autoSave: true,\n title: vendorName,\n subtitle: subtitle,\n save: saveText,\n formChildren: function formChildren() {\n var result = [];\n if (this.options.appState.get('isFactorResultFailed')) {\n result.push(FormType.View({ View: new HtmlErrorMessageView({ message: this.options.appState.get('factorResultErrorMessage') }) }, { selector: '.o-form-error-container' }));\n }\n return result;\n }\n };\n }\n });\n}).apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\n/***/ }),\n/* 606 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\nvar __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;\n\n/*!\n * Copyright (c) 2015-2016, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n\n!(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(0), __webpack_require__(2), __webpack_require__(4), __webpack_require__(19), __webpack_require__(52)], __WEBPACK_AMD_DEFINE_RESULT__ = (function (Okta, FormController, FormType, Footer, HtmlErrorMessageView) {\n\n return FormController.extend({\n className: 'enroll-hotp',\n Model: function Model() {\n return {\n local: {\n '__factorType__': ['string', false, this.options.factorType],\n '__provider__': ['string', false, this.options.provider]\n }\n };\n },\n Form: {\n title: function title() {\n var factors = this.options.appState.get('factors');\n var hotpFactor = factors.findWhere({\n provider: this.model.get('__provider__'),\n factorType: this.model.get('__factorType__')\n });\n return Okta.loc('enroll.totp.title', 'login', [hotpFactor.get('factorLabel')]);\n },\n noButtonBar: true,\n attributes: { 'data-se': 'restrict-enroll' },\n\n formChildren: function formChildren() {\n var children = [FormType.View({\n View: new HtmlErrorMessageView({ message: Okta.loc('enroll.hotp.restricted', 'login') })\n })];\n\n return children;\n }\n },\n\n Footer: Footer\n\n });\n}).apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\n/***/ }),\n/* 607 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\nvar __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;\n\n/*!\n * Copyright (c) 2015-2016, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n\n/* eslint max-params: [2, 15], max-statements: [2, 18] */\n// BaseLoginRouter contains the more complicated router logic - rendering/\n// transition, etc. Most router changes should happen in LoginRouter (which is\n// responsible for adding new routes)\n!(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(0), __webpack_require__(58), __webpack_require__(256), __webpack_require__(257), __webpack_require__(258), __webpack_require__(259), __webpack_require__(609), __webpack_require__(260), __webpack_require__(24), __webpack_require__(123), __webpack_require__(33), __webpack_require__(13), __webpack_require__(6), __webpack_require__(121), __webpack_require__(57)], __WEBPACK_AMD_DEFINE_RESULT__ = (function (Okta, BrowserFeatures, Settings, Header, SecurityBeacon, AuthContainer, AppState, ColorsUtil, RouterUtil, Animations, Errors, Util, Enums, Bundles, Logger) {\n var _ = Okta._,\n $ = Okta.$,\n Backbone = Okta.Backbone;\n\n\n function isStateLessRouteHandler(router, fn) {\n return _.find(router.stateLessRouteHandlers, function (routeName) {\n return fn === router[routeName];\n });\n }\n\n function beaconIsAvailable(Beacon, settings) {\n if (!Beacon) {\n return false;\n }\n if (Beacon === SecurityBeacon) {\n return settings.get('features.securityImage');\n }\n return true;\n }\n\n function loadLanguage(appState, i18n, assetBaseUrl, assetRewrite) {\n var timeout = setTimeout(function () {\n // Trigger a spinner if we're waiting on a request for a new language.\n appState.trigger('loading', true);\n }, 200);\n return Bundles.loadLanguage(appState.get('languageCode'), i18n, {\n baseUrl: assetBaseUrl,\n rewrite: assetRewrite\n }).then(function () {\n clearTimeout(timeout);\n appState.trigger('loading', false);\n });\n }\n\n return Okta.Router.extend({\n Events: Backbone.Events,\n\n initialize: function initialize(options) {\n // Create a default success and/or error handler if\n // one is not provided.\n if (!options.globalSuccessFn) {\n options.globalSuccessFn = function () {};\n }\n if (!options.globalErrorFn) {\n options.globalErrorFn = function (err) {\n Logger.error(err);\n };\n }\n this.settings = new Settings(_.omit(options, 'el', 'authClient'), { parse: true });\n this.settings.setAuthClient(options.authClient);\n\n if (!options.el) {\n this.settings.callGlobalError(new Errors.ConfigError(Okta.loc('error.required.el')));\n }\n\n $('body > div').on('click', function () {\n // OKTA-69769 Tooltip wont close on iPhone/iPad\n // Registering a click handler on the first div\n // allows a tap that falls outside the tooltip\n // to be registered as a tap by iOS\n // and then the open tooltip will lose focus and close.\n });\n\n this.appState = new AppState({\n baseUrl: this.settings.get('baseUrl'),\n settings: this.settings\n }, { parse: true });\n\n var wrapper = new AuthContainer({ appState: this.appState });\n Okta.$(options.el).append(wrapper.render().$el);\n this.el = '#' + Enums.WIDGET_CONTAINER_ID;\n\n this.header = new Header({\n el: this.el,\n appState: this.appState,\n settings: this.settings\n });\n\n this.listenTo(this.appState, 'change:transactionError', function (appState, err) {\n RouterUtil.routeAfterAuthStatusChangeError(this, err);\n });\n\n this.listenTo(this.appState, 'change:transaction', function (appState, trans) {\n RouterUtil.routeAfterAuthStatusChange(this, trans.data);\n });\n\n this.listenTo(this.appState, 'navigate', function (url) {\n this.navigate(url, { trigger: true });\n });\n },\n\n execute: function execute(cb, args) {\n // Recovery flow with a token passed through widget settings\n var recoveryToken = this.settings.get('recoveryToken');\n if (recoveryToken) {\n this.settings.unset('recoveryToken');\n this.navigate(RouterUtil.createRecoveryUrl(recoveryToken), { trigger: true });\n return;\n }\n\n // Refresh flow with a stateToken passed through widget settings\n var stateToken = this.settings.get('stateToken');\n if (stateToken) {\n this.settings.unset('stateToken');\n this.navigate(RouterUtil.createRefreshUrl(stateToken), { trigger: true });\n return;\n }\n\n // Normal flow - we've either navigated to a stateless page, or are\n // in the middle of an auth flow\n var trans = this.appState.get('transaction');\n if (trans && trans.data || isStateLessRouteHandler(this, cb)) {\n cb.apply(this, args);\n return;\n }\n\n // StateToken cookie exists on page load, and we are on a stateful url\n if (this.settings.getAuthClient().tx.exists()) {\n this.navigate(RouterUtil.createRefreshUrl(), { trigger: true });\n return;\n }\n\n // We've hit a page that requires state, but have no stateToken - redirect\n // back to primary auth\n this.navigate('', { trigger: true });\n },\n\n // Overriding the default navigate method to allow the widget consumer\n // to \"turn off\" routing - if features.router is false, the browser\n // location bar will not update when the router navigates\n navigate: function navigate(fragment, options) {\n if (this.settings.get('features.router')) {\n return Okta.Router.prototype.navigate.apply(this, arguments);\n }\n if (options && options.trigger) {\n return Backbone.history.loadUrl(fragment);\n }\n },\n\n render: function render(Controller, options) {\n options || (options = {});\n\n var Beacon = options.Beacon;\n var controllerOptions = _.extend({ settings: this.settings, appState: this.appState }, _.omit(options, 'Beacon'));\n\n // Since we have a wrapper view, render our wrapper and use its content\n // element as our new el.\n // Note: Render it here because we know dom is ready at this point\n if (!this.header.rendered()) {\n this.el = this.header.render().getContentEl();\n }\n\n // If we need to load a language (or apply custom i18n overrides), do\n // this now and re-run render after it's finished.\n if (!Bundles.isLoaded(this.appState.get('languageCode'))) {\n return loadLanguage(this.appState, this.settings.get('i18n'), this.settings.get('assets.baseUrl'), this.settings.get('assets.rewrite')).then(_.bind(this.render, this, Controller, options)).done();\n }\n\n // Load the custom colors only on the first render\n if (this.settings.get('colors.brand') && !ColorsUtil.isLoaded()) {\n var colors = {\n brand: this.settings.get('colors.brand')\n };\n ColorsUtil.addStyle(colors);\n }\n\n var oldController = this.controller;\n this.controller = new Controller(controllerOptions);\n\n // Bubble up all controller events\n this.listenTo(this.controller, 'all', this.trigger);\n\n // First run fetchInitialData, in case the next controller needs data\n // before it's initial render. This will leave the current page in a\n // loading state.\n this.controller.fetchInitialData().then(_.bind(function () {\n\n // Beacon transition occurs in parallel to page swap\n if (!beaconIsAvailable(Beacon, this.settings)) {\n Beacon = null;\n }\n this.header.setBeacon(Beacon, controllerOptions);\n\n this.controller.render();\n\n if (!oldController) {\n this.el.append(this.controller.el);\n this.controller.postRenderAnimation();\n return;\n }\n\n return Animations.swapPages({\n $parent: this.el,\n $oldRoot: oldController.$el,\n $newRoot: this.controller.$el,\n dir: oldController.state.get('navigateDir'),\n ctx: this,\n success: function success() {\n var flashError = this.appState.get('flashError'),\n model = this.controller.model;\n oldController.remove();\n oldController.$el.remove();\n this.controller.postRenderAnimation();\n if (flashError) {\n model.trigger('error', model, {\n responseJSON: {\n errorSummary: Okta.loc('error.expired.session')\n }\n });\n this.appState.unset('flashError');\n Util.triggerAfterError(this.controller, flashError);\n }\n }\n });\n }, this)).fail(function () {\n // OKTA-69665 - if an error occurs in fetchInitialData, we're left in\n // a state with two active controllers. Therefore, we clean up the\n // old one. Note: This explicitly handles the invalid token case -\n // if we get some other type of error which doesn't force a redirect,\n // we will probably be left in a bad state. I.e. old controller is\n // dropped and new controller is not rendered.\n if (oldController) {\n oldController.remove();\n oldController.$el.remove();\n }\n }).done();\n },\n\n start: function start() {\n var pushState = false;\n // Support for browser's back button.\n if (window.addEventListener && this.settings.get('features.router')) {\n window.addEventListener('popstate', _.bind(function (e) {\n if (this.controller.back) {\n e.preventDefault();\n e.stopImmediatePropagation();\n this.controller.back();\n }\n }, this));\n pushState = BrowserFeatures.supportsPushState();\n }\n Okta.Router.prototype.start.call(this, { pushState: pushState });\n },\n\n hide: function hide() {\n this.header.$el.hide();\n },\n\n show: function show() {\n this.header.$el.show();\n },\n\n remove: function remove() {\n this.controller.remove();\n this.header.$el.remove();\n Bundles.remove();\n Backbone.history.stop();\n }\n\n });\n}).apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\n/***/ }),\n/* 608 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\nvar __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;\n\n/*!\n * Copyright (c) 2015-2016, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n\n!(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(0)], __WEBPACK_AMD_DEFINE_RESULT__ = (function (Okta) {\n\n return Okta.View.extend({\n\n template: '\\\n <div class=\"beacon-blank\"/>\\\n <div class=\"bg-helper auth-beacon auth-beacon-security\" data-se=\"loading-beacon\">\\\n <div class=\"okta-sign-in-beacon-border auth-beacon-border js-auth-beacon-border\"/>\\\n </div>\\\n ',\n\n equals: function equals(Beacon) {\n return Beacon && this instanceof Beacon;\n }\n\n });\n}).apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\n/***/ }),\n/* 609 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\nvar __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;\n\n/*!\n * Copyright (c) 2015-2016, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n\n!(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(0), __webpack_require__(17), __webpack_require__(122), __webpack_require__(58), __webpack_require__(33)], __WEBPACK_AMD_DEFINE_RESULT__ = (function (Okta, Q, Factor, BrowserFeatures, Errors) {\n\n // Keep track of stateMachine with this special model. Some reasons to not\n // keep it generic:\n // 1. We know exactly what we're using appState for by requiring props\n // 2. Can have some derived functions to help us translate the lastAuthRes\n\n var _ = Okta._;\n var $ = Okta.$;\n\n var DEFAULT_APP_LOGO = '/img/logos/default.png';\n var USER_NOT_SEEN_ON_DEVICE = '/img/security/unknown.png';\n var UNDEFINED_USER = '/img/security/default.png';\n var NEW_USER = '/img/security/unknown-device.png';\n var NEW_USER_IMAGE_DESCRIPTION = '';\n var UNDEFINED_USER_IMAGE_DESCRIPTION = '';\n var UNKNOWN_IMAGE_DESCRIPTION = '';\n\n var securityImageUrlTpl = Okta.tpl('{{baseUrl}}/login/getimage?username={{username}}');\n\n function getSecurityImage(baseUrl, username, deviceFingerprint) {\n // When the username is empty, we want to show the default image.\n if (_.isEmpty(username) || _.isUndefined(username)) {\n return Q({\n 'securityImage': UNDEFINED_USER,\n 'securityImageDescription': UNDEFINED_USER_IMAGE_DESCRIPTION\n });\n }\n\n // Reserved characters in the username must be escaped before the query can be safely executed\n username = encodeURIComponent(username);\n var url = securityImageUrlTpl({ baseUrl: baseUrl, username: username });\n\n var data = {\n url: url,\n dataType: 'json'\n };\n if (deviceFingerprint) {\n data['headers'] = { 'X-Device-Fingerprint': deviceFingerprint };\n }\n return Q($.ajax(data)).then(function (res) {\n if (res.pwdImg === USER_NOT_SEEN_ON_DEVICE) {\n // When we get an unknown.png security image from OKTA,\n // we want to show the unknown-device security image.\n // We are mapping the server's img url to a new one because\n // we still need to support the original login page.\n return {\n 'securityImage': NEW_USER,\n 'securityImageDescription': NEW_USER_IMAGE_DESCRIPTION\n };\n }\n return {\n 'securityImage': res.pwdImg,\n 'securityImageDescription': res.imageDescription || UNKNOWN_IMAGE_DESCRIPTION\n };\n });\n }\n\n function getMinutesString(factorLifetimeInMinutes) {\n if (factorLifetimeInMinutes > 60 && factorLifetimeInMinutes <= 1440) {\n var lifetimeInHours = factorLifetimeInMinutes / 60;\n return Okta.loc('hours', 'login', [lifetimeInHours]);\n } else if (factorLifetimeInMinutes > 1440) {\n var lifetimeInDays = factorLifetimeInMinutes / 1440;\n return Okta.loc('days', 'login', [lifetimeInDays]);\n }\n //Use minutes as the time unit by default\n if (factorLifetimeInMinutes === 1) {\n return Okta.loc('minutes.oneMinute', 'login');\n }\n return Okta.loc('minutes', 'login', [factorLifetimeInMinutes]);\n }\n\n function getGracePeriodRemainingDays(gracePeriodEndDate) {\n var endDate = new Date(gracePeriodEndDate).getTime();\n var remainingDays = Math.floor((endDate - new Date().getTime()) / (1000 * 3600 * 24));\n return remainingDays;\n }\n\n function combineFactorsObjects(factorTypes, factors) {\n var addedFactorTypes = [];\n var combinedFactors = [];\n _.each(factors, function (factor) {\n var factorType = factor.factorType;\n if (!_.contains(addedFactorTypes, factorType)) {\n var factorTypeObj = _.findWhere(factorTypes, { factorType: factorType });\n if (factorTypeObj) {\n addedFactorTypes.push(factorType);\n combinedFactors.push(factorTypeObj);\n } else {\n combinedFactors.push(factor);\n }\n }\n });\n return combinedFactors;\n }\n\n return Okta.Model.extend({\n\n initialize: function initialize() {\n // Handle this in initialize (as opposed to a derived property) because\n // the operation is asynchronous\n if (this.settings.get('features.securityImage')) {\n var self = this;\n this.listenTo(this, 'change:username', function (model, username) {\n getSecurityImage(this.get('baseUrl'), username, this.get('deviceFingerprint')).then(function (image) {\n model.set('securityImage', image.securityImage);\n model.set('securityImageDescription', image.securityImageDescription);\n model.unset('deviceFingerprint'); //Fingerprint can only be used once\n }).fail(function (jqXhr) {\n // Only notify the consumer on a CORS error\n if (BrowserFeatures.corsIsNotEnabled(jqXhr)) {\n self.settings.callGlobalError(new Errors.UnsupportedBrowserError(Okta.loc('error.enabled.cors')));\n } else {\n throw jqXhr;\n }\n }).done();\n });\n }\n },\n\n local: {\n baseUrl: 'string',\n lastAuthResponse: ['object', true, {}],\n transaction: 'object',\n transactionError: 'object',\n introspectSuccess: 'object', // only set during introspection\n introspectError: 'object', // only set during introspection\n username: 'string',\n factors: 'object',\n policy: 'object',\n securityImage: ['string', true, UNDEFINED_USER],\n securityImageDescription: ['string', true, UNDEFINED_USER_IMAGE_DESCRIPTION],\n userCountryCode: 'string',\n userPhoneNumber: 'string',\n factorActivationType: 'string',\n flashError: 'object',\n beaconType: 'string',\n deviceFingerprint: 'string', // valid only once\n typingPattern: 'string',\n // Note: languageCode is special in that it is shared between Settings\n // and AppState. Settings is the *configured* language, and is static.\n // AppState is the dynamic language state - it can be changed via a\n // language picker, etc.\n languageCode: ['string', true],\n disableUsername: ['boolean', false, false],\n trapMfaRequiredResponse: ['boolean', false, false],\n lastFailedChallengeFactorData: ['object', false]\n },\n\n setAuthResponse: function setAuthResponse(res) {\n var _this = this;\n\n // Because of MFA_CHALLENGE (i.e. DUO), we need to remember factors\n // across auth responses. Not doing this, for example, results in being\n // unable to switch away from the duo factor dropdown.\n if (res._embedded && res._embedded.policy) {\n this.set('policy', res._embedded.policy);\n }\n\n if (res._embedded && res._embedded.factors) {\n var factors = res._embedded.factors;\n if (res._embedded.factorTypes) {\n factors = combineFactorsObjects(res._embedded.factorTypes, factors);\n }\n\n var factorsObject = _.map(factors, function (factor) {\n factor.settings = _this.settings;\n factor.appState = _this;\n return factor;\n });\n this.set('factors', new Factor.Collection(factorsObject, { parse: true }));\n }\n\n this.set('lastAuthResponse', res);\n },\n\n clearLastAuthResponse: function clearLastAuthResponse() {\n this.set('lastAuthResponse', {});\n },\n\n setLastFailedChallengeFactorData: function setLastFailedChallengeFactorData() {\n this.set('lastFailedChallengeFactorData', {\n factor: this.get('factor'),\n errorMessage: this.get('factorResultErrorMessage')\n });\n },\n\n clearLastFailedChallengeFactorData: function clearLastFailedChallengeFactorData() {\n this.unset('lastFailedChallengeFactorData');\n },\n\n derived: {\n 'isSuccessResponse': {\n deps: ['lastAuthResponse'],\n fn: function fn(res) {\n return res.status === 'SUCCESS';\n }\n },\n 'isMfaRequired': {\n deps: ['lastAuthResponse'],\n fn: function fn(res) {\n return res.status === 'MFA_REQUIRED' || res.status === 'FACTOR_REQUIRED';\n }\n },\n 'isProfileRequired': {\n deps: ['lastAuthResponse'],\n fn: function fn(res) {\n return res.status === 'PROFILE_REQUIRED';\n }\n },\n 'isMfaEnroll': {\n deps: ['lastAuthResponse'],\n fn: function fn(res) {\n return res.status === 'MFA_ENROLL' || res.status === 'FACTOR_ENROLL';\n }\n },\n 'isMfaChallenge': {\n deps: ['lastAuthResponse'],\n fn: function fn(res) {\n return res.status === 'MFA_CHALLENGE' || res.status === 'FACTOR_CHALLENGE';\n }\n },\n 'isUnauthenticated': {\n deps: ['lastAuthResponse'],\n fn: function fn(res) {\n return res.status === 'UNAUTHENTICATED';\n }\n },\n 'isMfaRejectedByUser': {\n // MFA failures are usually error responses\n // except in the case of Okta Push, when a\n // user clicks 'deny' on his phone.\n deps: ['lastAuthResponse'],\n fn: function fn(res) {\n return res.factorResult === 'REJECTED';\n }\n },\n 'isMfaTimeout': {\n deps: ['lastAuthResponse'],\n fn: function fn(res) {\n return res.factorResult === 'TIMEOUT';\n }\n },\n 'isMfaEnrollActivate': {\n deps: ['lastAuthResponse'],\n fn: function fn(res) {\n return res.status === 'MFA_ENROLL_ACTIVATE' || res.status === 'FACTOR_ENROLL_ACTIVATE';\n }\n },\n 'isWaitingForActivation': {\n deps: ['isMfaEnrollActivate', 'lastAuthResponse'],\n fn: function fn(isMfaEnrollActivate, res) {\n return isMfaEnrollActivate && res.factorResult === 'WAITING';\n }\n },\n 'isWaitingForNumberChallenge': {\n deps: ['lastAuthResponse', 'isMfaChallenge'],\n fn: function fn(res, isMfaChallenge) {\n if (isMfaChallenge && res && res.factorResult === 'WAITING' && res._embedded && res._embedded.factor && res._embedded.factor._embedded && res._embedded.factor._embedded.challenge) {\n return true;\n }\n return false;\n }\n },\n 'hasMultipleFactorsAvailable': {\n deps: ['factors', 'isMfaRequired', 'isMfaChallenge', 'isUnauthenticated'],\n fn: function fn(factors, isMfaRequired, isMfaChallenge, isUnauthenticated) {\n if (!isMfaRequired && !isMfaChallenge && !isUnauthenticated) {\n return false;\n }\n return factors && factors.length > 1;\n }\n },\n 'promptForFactorInUnauthenticated': {\n deps: ['lastAuthResponse', 'factors'],\n fn: function fn(res, factors) {\n if (res.status !== 'UNAUTHENTICATED') {\n return false;\n }\n return factors && factors.length > 0;\n }\n },\n 'userId': {\n deps: ['lastAuthResponse'],\n fn: function fn(res) {\n if (!res._embedded || !res._embedded.user) {\n return null;\n }\n return res._embedded.user.id;\n }\n },\n 'isIdxStateToken': {\n deps: ['lastAuthResponse'],\n fn: function fn(res) {\n return res && _.isString(res.stateToken) && res.stateToken.startsWith('01');\n }\n },\n 'isPwdExpiringSoon': {\n deps: ['lastAuthResponse'],\n fn: function fn(res) {\n return res.status === 'PASSWORD_WARN';\n }\n },\n 'passwordExpireDays': {\n deps: ['lastAuthResponse'],\n fn: function fn(res) {\n if (!res._embedded || !res._embedded.policy || !res._embedded.policy.expiration) {\n return null;\n }\n return res._embedded.policy.expiration.passwordExpireDays;\n }\n },\n 'isPwdManagedByOkta': {\n deps: ['lastAuthResponse'],\n fn: function fn(res) {\n if (!res._links || !res._links.next || !res._links.next.title) {\n return true;\n }\n return false;\n }\n },\n 'passwordExpiredWebsiteName': {\n deps: ['lastAuthResponse'],\n fn: function fn(res) {\n if (!res._links || !res._links.next || !res._links.next.title) {\n return null;\n }\n return res._links.next.title;\n }\n },\n 'passwordExpiredLinkUrl': {\n deps: ['lastAuthResponse'],\n fn: function fn(res) {\n if (!res._links || !res._links.next || !res._links.next.title || !res._links.next.href) {\n return null;\n }\n return res._links.next.href;\n }\n },\n 'recoveryType': {\n deps: ['lastAuthResponse'],\n fn: function fn(res) {\n return res.recoveryType;\n }\n },\n 'factorType': {\n deps: ['lastAuthResponse'],\n fn: function fn(res) {\n return res.factorType;\n }\n },\n 'factor': {\n deps: ['lastAuthResponse'],\n fn: function fn(res) {\n if (!res._embedded || !res._embedded.factor) {\n return null;\n }\n return res._embedded.factor;\n }\n },\n 'activatedFactorId': {\n deps: ['factor'],\n fn: function fn(factor) {\n return factor ? factor.id : null;\n }\n },\n 'activatedFactorType': {\n deps: ['factor'],\n fn: function fn(factor) {\n return factor ? factor.factorType : null;\n }\n },\n 'activatedFactorProvider': {\n deps: ['factor'],\n fn: function fn(factor) {\n return factor ? factor.provider : null;\n }\n },\n 'qrcode': {\n deps: ['factor'],\n fn: function fn(factor) {\n try {\n return factor._embedded.activation._links.qrcode.href;\n } catch (err) {\n return null;\n }\n }\n },\n 'activationSendLinks': {\n deps: ['factor'],\n fn: function fn(factor) {\n var sendLinks;\n try {\n sendLinks = factor._embedded.activation._links.send;\n } catch (err) {\n sendLinks = [];\n }\n return sendLinks;\n }\n },\n 'textActivationLinkUrl': {\n deps: ['activationSendLinks'],\n fn: function fn(activationSendLinks) {\n var item = _.findWhere(activationSendLinks, { name: 'sms' });\n return item ? item.href : null;\n }\n },\n 'emailActivationLinkUrl': {\n deps: ['activationSendLinks'],\n fn: function fn(activationSendLinks) {\n var item = _.findWhere(activationSendLinks, { name: 'email' });\n return item ? item.href : null;\n }\n },\n 'sharedSecret': {\n deps: ['factor'],\n fn: function fn(factor) {\n try {\n return factor._embedded.activation.sharedSecret;\n } catch (err) {\n return null;\n }\n }\n },\n 'duoEnrollActivation': {\n deps: ['factor'],\n fn: function fn(factor) {\n if (!factor || !factor._embedded || !factor._embedded.activation) {\n return null;\n }\n return factor._embedded.activation;\n }\n },\n 'prevLink': {\n deps: ['lastAuthResponse'],\n fn: function fn(res) {\n if (res._links && res._links.prev) {\n return res._links.prev.href;\n }\n return null;\n }\n },\n 'skipLink': {\n deps: ['lastAuthResponse'],\n fn: function fn(res) {\n if (res._links && res._links.skip) {\n return res._links.skip.href;\n }\n return null;\n }\n },\n 'gracePeriodRemainingDays': {\n deps: ['policy'],\n fn: function fn(policy) {\n if (policy && policy.gracePeriod && policy.gracePeriod.endDate) {\n return getGracePeriodRemainingDays(policy.gracePeriod.endDate);\n }\n return null;\n }\n },\n 'user': {\n deps: ['lastAuthResponse'],\n fn: function fn(res) {\n if (!res._embedded || !res._embedded.user) {\n return null;\n }\n return res._embedded.user;\n }\n },\n 'recoveryQuestion': {\n deps: ['user'],\n fn: function fn(user) {\n if (!user || !user.recovery_question) {\n return null;\n }\n return user.recovery_question.question;\n }\n },\n 'userProfile': {\n deps: ['user'],\n fn: function fn(user) {\n if (!user || !user.profile) {\n return null;\n }\n return user.profile;\n }\n },\n 'userConsentName': {\n deps: ['userProfile', 'username'],\n fn: function fn(userProfile, username) {\n if (!userProfile || _.isEmpty(userProfile.firstName)) {\n return username;\n }\n if (_.isEmpty(userProfile.lastName)) {\n return userProfile.firstName;\n }\n return userProfile.firstName + ' ' + userProfile.lastName.charAt(0) + '.';\n }\n },\n 'userEmail': {\n deps: ['userProfile'],\n fn: function fn(userProfile) {\n if (!userProfile || !userProfile.login) {\n return null;\n }\n return userProfile.login;\n }\n },\n 'userFullName': {\n deps: ['userProfile'],\n fn: function fn(userProfile) {\n if (!userProfile || !userProfile.firstName && !userProfile.lastName) {\n return '';\n }\n return userProfile.firstName + ' ' + userProfile.lastName;\n }\n },\n 'defaultAppLogo': {\n deps: ['baseUrl'],\n fn: function fn(baseUrl) {\n return baseUrl + DEFAULT_APP_LOGO;\n }\n },\n 'expiresAt': {\n deps: ['lastAuthResponse'],\n fn: function fn(res) {\n return res.expiresAt;\n }\n },\n 'target': {\n deps: ['lastAuthResponse'],\n fn: function fn(res) {\n if (!res._embedded) {\n return null;\n }\n return res._embedded.target;\n }\n },\n 'targetLabel': {\n deps: ['target'],\n fn: function fn(target) {\n if (!target) {\n return null;\n }\n return target.label;\n }\n },\n 'targetLogo': {\n deps: ['target'],\n fn: function fn(target) {\n if (!target || !target._links) {\n return null;\n }\n return target._links.logo;\n }\n },\n 'targetTermsOfService': {\n deps: ['target'],\n fn: function fn(target) {\n if (!target || !target._links) {\n return null;\n }\n return target._links['terms-of-service'];\n }\n },\n 'targetPrivacyPolicy': {\n deps: ['target'],\n fn: function fn(target) {\n if (!target || !target._links) {\n return null;\n }\n return target._links['privacy-policy'];\n }\n },\n 'targetClientURI': {\n deps: ['target'],\n fn: function fn(target) {\n if (!target || !target._links) {\n return null;\n }\n return target._links['client-uri'];\n }\n },\n 'scopes': {\n deps: ['lastAuthResponse'],\n fn: function fn(res) {\n if (!res._embedded) {\n return null;\n }\n return res._embedded.scopes;\n }\n },\n 'hasExistingPhones': {\n deps: ['lastAuthResponse'],\n fn: function fn(res) {\n if (!res._embedded || !res._embedded.factors) {\n return false;\n }\n var factors = res._embedded.factors;\n var factor = _.findWhere(factors, { factorType: 'sms', provider: 'OKTA' });\n if (!factor || !factor._embedded) {\n return false;\n }\n\n return !!factor._embedded.phones.length;\n }\n },\n 'hasExistingPhonesForCall': {\n deps: ['lastAuthResponse'],\n fn: function fn(res) {\n if (!res._embedded || !res._embedded.factors) {\n return false;\n }\n var factors = res._embedded.factors;\n var factor = _.findWhere(factors, { factorType: 'call', provider: 'OKTA' });\n if (!factor || !factor._embedded) {\n return false;\n }\n\n return !!factor._embedded.phones.length;\n }\n },\n 'isUndefinedUser': {\n deps: ['securityImage'],\n fn: function fn(securityImage) {\n return securityImage === UNDEFINED_USER;\n }\n },\n 'isNewUser': {\n deps: ['securityImage'],\n fn: function fn(securityImage) {\n return securityImage === NEW_USER;\n }\n },\n 'allowRememberDevice': {\n deps: ['policy'],\n fn: function fn(policy) {\n return policy && policy.allowRememberDevice;\n }\n },\n 'rememberDeviceLabel': {\n deps: ['policy'],\n fn: function fn(policy) {\n if (policy && policy.rememberDeviceLifetimeInMinutes > 0) {\n var timeString = getMinutesString(policy.rememberDeviceLifetimeInMinutes);\n return Okta.loc('rememberDevice.timebased', 'login', [timeString]);\n } else if (policy && policy.rememberDeviceLifetimeInMinutes === 0) {\n return Okta.loc('rememberDevice.devicebased', 'login');\n }\n return Okta.loc('rememberDevice', 'login');\n }\n },\n 'rememberDeviceByDefault': {\n deps: ['policy'],\n fn: function fn(policy) {\n return policy && policy.rememberDeviceByDefault;\n }\n },\n 'factorsPolicyInfo': {\n deps: ['policy'],\n fn: function fn(policy) {\n return policy && policy.factorsPolicyInfo ? policy.factorsPolicyInfo : null;\n }\n },\n 'verifyCustomFactorRedirectUrl': {\n deps: ['lastAuthResponse'],\n fn: function fn(res) {\n if (!res._links || !res._links.next || res._links.next.name !== 'redirect' || !res._links.next.href) {\n return null;\n }\n return res._links.next.href;\n }\n },\n 'enrollCustomFactorRedirectUrl': {\n deps: ['lastAuthResponse'],\n fn: function fn(res) {\n if (!res._links || !res._links.next || res._links.next.name !== 'activate' || !res._links.next.href) {\n return null;\n }\n return res._links.next.href;\n }\n },\n 'isFactorResultFailed': {\n deps: ['lastAuthResponse'],\n fn: function fn(res) {\n return res.factorResult === 'FAILED';\n }\n },\n 'factorResultErrorMessage': {\n deps: ['lastAuthResponse', 'isFactorResultFailed'],\n fn: function fn(res, isFactorResultFailed) {\n if (isFactorResultFailed) {\n return res.factorResultMessage || Okta.loc('oform.error.unexpected', 'login');\n }\n return null;\n }\n }\n },\n\n parse: function parse(options) {\n this.settings = options.settings;\n return _.extend(_.omit(options, 'settings'), { languageCode: this.settings.get('languageCode') });\n }\n\n });\n}).apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\n/***/ }),\n/* 610 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\nvar __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;\n\n/*!\n * Copyright (c) 2015-2016, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n\n!(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(0), __webpack_require__(18), __webpack_require__(2), __webpack_require__(4), __webpack_require__(24), __webpack_require__(182), __webpack_require__(19)], __WEBPACK_AMD_DEFINE_RESULT__ = (function (Okta, FactorUtil, FormController, FormType, RouterUtil, BarcodeView, Footer) {\n\n var _ = Okta._;\n\n // Note: Keep-alive is set to 5 seconds - using 5 seconds here will result\n // in network connection lost errors in Safari and IE.\n var PUSH_INTERVAL = 6000;\n\n return FormController.extend({\n className: 'barcode-push',\n Model: function Model() {\n return {\n local: {\n '__factorType__': ['string', false, this.options.factorType],\n '__provider__': ['string', false, this.options.provider]\n }\n };\n },\n\n Form: {\n title: function title() {\n var factorName = FactorUtil.getFactorLabel(this.model.get('__provider__'), this.model.get('__factorType__'));\n return Okta.loc('enroll.totp.title', 'login', [factorName]);\n },\n subtitle: _.partial(Okta.loc, 'mfa.scanBarcode', 'login'),\n noButtonBar: true,\n attributes: { 'data-se': 'step-scan' },\n className: 'barcode-scan',\n initialize: function initialize() {\n this.listenTo(this.model, 'error errors:clear', function () {\n this.clearErrors();\n });\n },\n\n formChildren: [FormType.View({ View: BarcodeView })]\n },\n\n Footer: Footer,\n\n initialize: function initialize() {\n this.pollForEnrollment();\n },\n\n pollForEnrollment: function pollForEnrollment() {\n return this.model.doTransaction(function (transaction) {\n return transaction.poll(PUSH_INTERVAL);\n });\n },\n\n trapAuthResponse: function trapAuthResponse() {\n if (this.options.appState.get('isMfaEnrollActivate')) {\n return true;\n }\n }\n });\n}).apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\n/***/ }),\n/* 611 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\nvar __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;\n\n/*!\n * Copyright (c) 2015-2016, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n\n!(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(0), __webpack_require__(2), __webpack_require__(261), __webpack_require__(19)], __WEBPACK_AMD_DEFINE_RESULT__ = (function (Okta, FormController, EnterPasscodeForm, Footer) {\n\n return FormController.extend({\n className: 'activate-totp',\n Model: function Model() {\n return {\n props: {\n factorId: ['string', true, this.options.appState.get('activatedFactorId')],\n passCode: ['string', true]\n },\n local: {\n '__factorType__': ['string', false, this.options.factorType],\n '__provider__': ['string', false, this.options.provider]\n },\n save: function save() {\n return this.doTransaction(function (transaction) {\n return transaction.activate({\n passCode: this.get('passCode')\n });\n });\n }\n };\n },\n\n Form: EnterPasscodeForm,\n\n Footer: Footer\n\n });\n}).apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\n/***/ }),\n/* 612 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\nvar __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;\n\n/*!\n * Copyright (c) 2015-2016, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n\n!(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(0), __webpack_require__(18), __webpack_require__(2), __webpack_require__(4), __webpack_require__(24), __webpack_require__(613), __webpack_require__(14)], __WEBPACK_AMD_DEFINE_RESULT__ = (function (Okta, FactorUtil, FormController, FormType, RouterUtil, ManualSetupFooter, TextBox) {\n\n var _ = Okta._;\n\n return FormController.extend({\n className: 'enroll-manual-totp',\n Model: function Model() {\n return {\n local: {\n 'sharedSecret': ['string', false, this.options.appState.get('sharedSecret')],\n '__factorType__': ['string', false, this.options.factorType],\n '__provider__': ['string', false, this.options.provider]\n }\n };\n },\n\n Form: {\n title: function title() {\n var factorName = FactorUtil.getFactorLabel(this.model.get('__provider__'), this.model.get('__factorType__'));\n return Okta.loc('enroll.totp.title', 'login', [factorName]);\n },\n subtitle: _.partial(Okta.loc, 'enroll.totp.cannotScanBarcode', 'login'),\n noButtonBar: true,\n attributes: { 'data-se': 'step-manual-setup' },\n\n formChildren: function formChildren() {\n var instructions = this.settings.get('brandName') ? Okta.loc('enroll.totp.manualSetupInstructions.specific', 'login', [this.settings.get('brandName')]) : Okta.loc('enroll.totp.manualSetupInstructions.generic', 'login');\n return [FormType.View({\n View: Okta.View.extend({\n template: '\\\n <p class=\"okta-form-subtitle o-form-explain text-align-c\">\\\n {{instructions}}\\\n </p>\\\n ',\n getTemplateData: function getTemplateData() {\n return {\n instructions: instructions\n };\n }\n })\n }), FormType.Input({\n name: 'sharedSecret',\n input: TextBox,\n type: 'text',\n disabled: true\n }), FormType.Toolbar({\n noCancelButton: true,\n save: Okta.loc('oform.next', 'login')\n })];\n }\n },\n\n Footer: ManualSetupFooter,\n\n initialize: function initialize() {\n this.listenTo(this.form, 'save', function () {\n var url = RouterUtil.createActivateFactorUrl(this.model.get('__provider__'), this.model.get('__factorType__'), 'activate');\n this.options.appState.trigger('navigate', url);\n });\n }\n });\n}).apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\n/***/ }),\n/* 613 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\nvar __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;\n\n/*!\n * Copyright (c) 2015-2016, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n\n!(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(0), __webpack_require__(24), __webpack_require__(6)], __WEBPACK_AMD_DEFINE_RESULT__ = (function (Okta, RouterUtil, Enums) {\n\n return Okta.View.extend({\n template: '\\\n <a href=\"#\" class=\"link help js-back\" data-se=\"back-link\">\\\n {{i18n code=\"mfa.backToFactors\" bundle=\"login\"}}\\\n </a>\\\n <a href=\"#\" class=\"link help goto js-goto\" data-se=\"goto-link\">\\\n {{i18n code=\"mfa.scanBarcode\" bundle=\"login\"}}\\\n </a>\\\n ',\n className: 'auth-footer',\n events: {\n 'click .js-back': function clickJsBack(e) {\n e.preventDefault();\n this.back();\n },\n 'click .js-goto': function clickJsGoto(e) {\n e.preventDefault();\n // go to a different screen with current auth status:\n // refresh the latest response\n this.model.startTransaction(function (authClient) {\n return authClient.tx.resume();\n });\n }\n },\n back: function back() {\n this.state.set('navigateDir', Enums.DIRECTION_BACK);\n if (this.options.appState.get('prevLink')) {\n // Once we are in the MFA_ENROLL_ACTIVATE, we need to reset to the\n // correct state. Fortunately, this means that the router will\n // handle navigation once the request is finished.\n this.model.doTransaction(function (transaction) {\n return transaction.prev();\n });\n } else {\n this.options.appState.trigger('navigate', 'signin/enroll');\n }\n }\n });\n}).apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\n/***/ }),\n/* 614 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\nvar __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;\n\n/*!\n * Copyright (c) 2015-2016, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n\n!(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(0), __webpack_require__(181), __webpack_require__(18), __webpack_require__(2), __webpack_require__(4), __webpack_require__(24), __webpack_require__(615), __webpack_require__(254), __webpack_require__(14)], __WEBPACK_AMD_DEFINE_RESULT__ = (function (Okta, CountryUtil, FactorUtil, FormController, FormType, RouterUtil, Footer, PhoneTextBox, TextBox) {\n\n var _ = Okta._;\n\n function goToFactorActivation(view, step) {\n var url = RouterUtil.createActivateFactorUrl(view.options.appState.get('activatedFactorProvider'), view.options.appState.get('activatedFactorType'), step);\n view.options.appState.trigger('navigate', url);\n }\n\n function setStateValues(view) {\n var userPhoneNumber, userCountryCode;\n if (view.model.get('activationType') === 'SMS') {\n userCountryCode = view.model.get('countryCode');\n userPhoneNumber = view.model.get('phoneNumber');\n }\n view.options.appState.set({\n factorActivationType: view.model.get('activationType'),\n userCountryCode: userCountryCode,\n userPhoneNumber: userPhoneNumber\n });\n }\n\n function enrollFactor(view, factorType) {\n return view.model.doTransaction(function (transaction) {\n return transaction.prev().then(function (trans) {\n var factor = _.findWhere(trans.factors, {\n factorType: factorType,\n provider: 'OKTA'\n });\n return factor.enroll();\n }).then(function (trans) {\n var textActivationLinkUrl,\n emailActivationLinkUrl,\n sharedSecret,\n res = trans.data;\n\n if (res && res._embedded && res._embedded.factor && res._embedded.factor._embedded && res._embedded.factor._embedded.activation) {\n\n var factor = res._embedded.factor;\n\n // Shared secret\n sharedSecret = factor._embedded.activation.sharedSecret;\n\n if (factor._embedded.activation._links && factor._embedded.activation._links.send) {\n\n var activationSendLinks = factor._embedded.activation._links.send;\n\n // SMS activation url\n var smsItem = _.findWhere(activationSendLinks, { name: 'sms' });\n textActivationLinkUrl = smsItem ? smsItem.href : null;\n\n // Email activation url\n var emailItem = _.findWhere(activationSendLinks, { name: 'email' });\n emailActivationLinkUrl = emailItem ? emailItem.href : null;\n }\n }\n\n view.model.set({\n 'SMS': textActivationLinkUrl,\n 'EMAIL': emailActivationLinkUrl,\n 'sharedSecret': sharedSecret\n });\n\n return trans;\n });\n });\n }\n\n return FormController.extend({\n className: 'enroll-manual-push',\n Model: function Model() {\n return {\n local: {\n activationType: ['string', true, this.options.appState.get('factorActivationType') || 'SMS'],\n countryCode: ['string', false, 'US'],\n phoneNumber: 'string',\n 'SMS': ['string', false, this.options.appState.get('textActivationLinkUrl')],\n 'EMAIL': ['string', false, this.options.appState.get('emailActivationLinkUrl')],\n 'sharedSecret': ['string', false, this.options.appState.get('sharedSecret')],\n '__factorType__': ['string', false, this.options.factorType],\n '__provider__': ['string', false, this.options.provider]\n },\n derived: {\n countryCallingCode: {\n deps: ['countryCode'],\n fn: function fn(countryCode) {\n return '+' + CountryUtil.getCallingCodeForCountry(countryCode);\n }\n },\n fullPhoneNumber: {\n deps: ['countryCallingCode', 'phoneNumber'],\n fn: function fn(countryCallingCode, phoneNumber) {\n return countryCallingCode + phoneNumber;\n }\n }\n }\n };\n },\n\n Form: {\n title: function title() {\n var factorName = FactorUtil.getFactorLabel(this.model.get('__provider__'), this.model.get('__factorType__'));\n return Okta.loc('enroll.totp.title', 'login', [factorName]);\n },\n subtitle: _.partial(Okta.loc, 'enroll.totp.cannotScanBarcode', 'login'),\n noButtonBar: true,\n attributes: { 'data-se': 'step-manual-setup' },\n\n formChildren: function formChildren() {\n var instructions = this.settings.get('brandName') ? Okta.loc('enroll.totp.sharedSecretInstructions.specific', 'login', [this.settings.get('brandName')]) : Okta.loc('enroll.totp.sharedSecretInstructions.generic', 'login');\n var children = [FormType.Input({\n name: 'activationType',\n type: 'select',\n wide: true,\n options: {\n SMS: Okta.loc('enroll.totp.sendSms', 'login'),\n EMAIL: Okta.loc('enroll.totp.sendEmail', 'login'),\n MANUAL: Okta.loc('enroll.totp.setupManually', 'login')\n }\n }), FormType.Input({\n name: 'countryCode',\n type: 'select',\n wide: true,\n options: CountryUtil.getCountries(),\n showWhen: { activationType: 'SMS' }\n }), FormType.Input({\n label: Okta.loc('mfa.phoneNumber.placeholder', 'login'),\n 'label-top': true,\n className: 'enroll-sms-phone',\n name: 'phoneNumber',\n input: PhoneTextBox,\n type: 'text',\n showWhen: { activationType: 'SMS' }\n }), FormType.View({\n View: Okta.View.extend({\n template: '\\\n <p class=\"okta-form-subtitle o-form-explain text-align-c\">\\\n {{instructions}}\\\n </p>\\\n ',\n getTemplateData: function getTemplateData() {\n return {\n instructions: instructions\n };\n }\n }),\n showWhen: { activationType: 'MANUAL' }\n }), FormType.Input({\n name: 'sharedSecret',\n input: TextBox,\n type: 'text',\n disabled: true,\n showWhen: { activationType: 'MANUAL' },\n initialize: function initialize() {\n this.listenTo(this.model, 'change:sharedSecret', this.render);\n }\n }), FormType.View({\n View: '<div data-type=\"next-button-wrap\"></div>',\n showWhen: { activationType: 'MANUAL' }\n }), FormType.Button({\n title: Okta.loc('oform.next', 'login'),\n className: 'button button-primary button-wide button-next',\n attributes: { 'data-se': 'next-button' },\n click: _.bind(function () {\n setStateValues(this);\n goToFactorActivation(this, 'passcode');\n }, this)\n }, '[data-type=\"next-button-wrap\"]'), FormType.Toolbar({\n noCancelButton: true,\n save: Okta.loc('oform.send', 'login'),\n showWhen: {\n activationType: function activationType(val) {\n return val === 'SMS' || val === 'EMAIL';\n }\n }\n })];\n return children;\n }\n },\n\n Footer: Footer,\n\n initialize: function initialize() {\n this.setInitialModel();\n // Move this logic to a model when AuthClient supports sending email and sms\n this.listenTo(this.form, 'save', function () {\n var self = this;\n this.model.doTransaction(function (transaction) {\n var activationType = this.get('activationType').toLowerCase(),\n opts = {};\n\n if (activationType === 'sms') {\n opts.profile = { phoneNumber: this.get('fullPhoneNumber') };\n }\n\n return transaction.factor.activation.send(activationType, opts).then(function (trans) {\n setStateValues(self);\n // Note: Need to defer because OktaAuth calls our router success\n // handler on the next tick - if we immediately called, appState would\n // still be populated with the last response\n _.defer(function () {\n goToFactorActivation(self, 'sent');\n });\n return trans;\n });\n });\n });\n\n this.listenTo(this.model, 'change:activationType', function (model, value) {\n this.form.clearErrors();\n if (value === 'MANUAL' && this.options.appState.get('activatedFactorType') !== 'token:software:totp') {\n enrollFactor(this, 'token:software:totp');\n } else if (this.options.appState.get('activatedFactorType') !== 'push') {\n enrollFactor(this, 'push');\n }\n });\n },\n\n setInitialModel: function setInitialModel() {\n if (this.options.appState.get('factorActivationType') === 'SMS') {\n this.model.set({\n countryCode: this.options.appState.get('userCountryCode') || 'US',\n phoneNumber: this.options.appState.get('userPhoneNumber')\n });\n }\n },\n\n trapAuthResponse: function trapAuthResponse() {\n if (this.options.appState.get('isMfaEnrollActivate') || this.options.appState.get('isMfaEnroll')) {\n return true;\n }\n }\n });\n}).apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\n/***/ }),\n/* 615 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\nvar __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;\n\n/*!\n * Copyright (c) 2015-2016, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n\n!(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(0), __webpack_require__(24)], __WEBPACK_AMD_DEFINE_RESULT__ = (function (Okta, RouterUtil) {\n\n var _ = Okta._;\n\n function goToFactorActivation(appState) {\n var url = RouterUtil.createActivateFactorUrl(appState.get('activatedFactorProvider'), appState.get('activatedFactorType'));\n appState.trigger('navigate', url);\n }\n\n return Okta.View.extend({\n template: '\\\n <a href=\"#\" class=\"link help js-back\" data-se=\"back-link\">\\\n {{i18n code=\"mfa.backToFactors\" bundle=\"login\"}}\\\n </a>\\\n <a href=\"#\" class=\"link help goto js-goto\" data-se=\"goto-link\">\\\n {{i18n code=\"mfa.scanBarcode\" bundle=\"login\"}}\\\n </a>\\\n ',\n className: 'auth-footer',\n events: {\n 'click .js-back': function clickJsBack(e) {\n e.preventDefault();\n this.back();\n },\n 'click .js-goto': function clickJsGoto(e) {\n e.preventDefault();\n var goToFactor = _.partial(goToFactorActivation, this.options.appState);\n this.options.appState.unset('factorActivationType');\n this.model.doTransaction(function (transaction) {\n return transaction.prev().then(function (trans) {\n var factor = _.findWhere(trans.factors, {\n factorType: 'push',\n provider: 'OKTA'\n });\n return factor.enroll();\n });\n }).then(goToFactor);\n }\n },\n back: function back() {\n var self = this;\n self.options.appState.unset('factorActivationType');\n if (self.options.appState.get('prevLink')) {\n this.model.doTransaction(function (transaction) {\n return transaction.prev();\n }).then(function () {\n // we trap 'MFA_ENROLL' response that's why we need to trigger navigation from here\n self.options.appState.trigger('navigate', 'signin/enroll');\n });\n } else {\n self.options.appState.trigger('navigate', 'signin/enroll');\n }\n }\n });\n}).apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\n/***/ }),\n/* 616 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\nvar __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;\n\n/*!\n * Copyright (c) 2015-2016, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n\n!(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(0), __webpack_require__(181), __webpack_require__(2), __webpack_require__(4), __webpack_require__(24)], __WEBPACK_AMD_DEFINE_RESULT__ = (function (Okta, CountryUtil, FormController, FormType, RouterUtil) {\n\n var _ = Okta._;\n\n // Note: Keep-alive is set to 5 seconds - using 5 seconds here will result\n // in network connection lost errors in Safari and IE.\n var PUSH_INTERVAL = 6000;\n\n var Footer = Okta.View.extend({\n template: '\\\n <a href=\"#\" class=\"link help js-back\" data-se=\"back-link\">\\\n {{i18n code=\"oform.back\" bundle=\"login\"}}\\\n </a>\\\n ',\n className: 'auth-footer',\n events: {\n 'click .js-back': function clickJsBack(e) {\n e.preventDefault();\n this.back();\n }\n },\n back: function back() {\n var url = RouterUtil.createActivateFactorUrl(this.options.appState.get('activatedFactorProvider'), this.options.appState.get('activatedFactorType'), 'manual');\n this.options.appState.trigger('navigate', url);\n }\n });\n\n var emailSentForm = {\n title: _.partial(Okta.loc, 'enroll.totp.enrollViaEmail.title', 'login'),\n noButtonBar: true,\n attributes: { 'data-se': 'sent-email-activation-link' },\n formChildren: [FormType.View({\n View: Okta.View.extend({\n template: '\\\n <p>{{i18n code=\"enroll.totp.enrollViaEmail.msg\" bundle=\"login\"}}</p>\\\n <p class=\"email-address\">{{email}}</p>\\\n ',\n getTemplateData: function getTemplateData() {\n return { email: this.options.appState.get('userEmail') };\n }\n })\n })]\n };\n\n var smsSentForm = {\n title: _.partial(Okta.loc, 'enroll.totp.enrollViaSms.title', 'login'),\n noButtonBar: true,\n attributes: { 'data-se': 'sent-sms-activation-link' },\n formChildren: [FormType.View({\n View: Okta.View.extend({\n template: '\\\n <p>{{i18n code=\"enroll.totp.enrollViaSms.msg\" bundle=\"login\"}}</p>\\\n <p class=\"phone-number\">{{phoneNumber}}</p>\\\n ',\n getTemplateData: function getTemplateData() {\n return { phoneNumber: this.model.get('fullPhoneNumber') };\n }\n })\n })]\n };\n\n return FormController.extend({\n className: 'enroll-activation-link-sent',\n Model: function Model() {\n return {\n local: {\n countryCode: ['string', false, this.options.appState.get('userCountryCode')],\n phoneNumber: ['string', false, this.options.appState.get('userPhoneNumber')],\n '__factorType__': ['string', false, this.options.factorType],\n '__provider__': ['string', false, this.options.provider]\n },\n derived: {\n countryCallingCode: {\n deps: ['countryCode'],\n fn: function fn(countryCode) {\n return '+' + CountryUtil.getCallingCodeForCountry(countryCode);\n }\n },\n fullPhoneNumber: {\n deps: ['countryCallingCode', 'phoneNumber'],\n fn: function fn(countryCallingCode, phoneNumber) {\n return countryCallingCode + phoneNumber;\n }\n }\n }\n };\n },\n\n Form: function Form() {\n var activationType = this.options.appState.get('factorActivationType');\n switch (activationType) {\n case 'SMS':\n return smsSentForm;\n case 'EMAIL':\n return emailSentForm;\n default:\n throw new Error('Unknown activation option: ' + activationType);\n }\n },\n\n Footer: Footer,\n\n initialize: function initialize() {\n this.pollForEnrollment();\n },\n\n remove: function remove() {\n return FormController.prototype.remove.apply(this, arguments);\n },\n\n pollForEnrollment: function pollForEnrollment() {\n return this.model.doTransaction(function (transaction) {\n return transaction.poll(PUSH_INTERVAL);\n });\n },\n\n trapAuthResponse: function trapAuthResponse() {\n if (this.options.appState.get('isWaitingForActivation')) {\n this.pollForEnrollment();\n return true;\n }\n }\n });\n}).apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\n/***/ }),\n/* 617 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\nvar __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;\n\n/*!\n * Copyright (c) 2015-2016, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n\n!(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(0), __webpack_require__(2), __webpack_require__(24), __webpack_require__(261)], __WEBPACK_AMD_DEFINE_RESULT__ = (function (Okta, FormController, RouterUtil, EnterPasscodeForm) {\n\n var Footer = Okta.View.extend({\n template: '\\\n <a href=\"#\" class=\"link help js-back\" data-se=\"back-link\">\\\n {{i18n code=\"oform.back\" bundle=\"login\"}}\\\n </a>\\\n ',\n className: 'auth-footer',\n events: {\n 'click .js-back': function clickJsBack(e) {\n e.preventDefault();\n this.back();\n }\n },\n back: function back() {\n var url = RouterUtil.createActivateFactorUrl(this.options.appState.get('activatedFactorProvider'), 'push', 'manual');\n this.options.appState.trigger('navigate', url);\n }\n });\n\n return FormController.extend({\n className: 'activate-push',\n Model: function Model() {\n return {\n props: {\n factorId: ['string', true, this.options.appState.get('activatedFactorId')],\n passCode: ['string', true]\n },\n local: {\n '__factorType__': ['string', false, this.options.factorType],\n '__provider__': ['string', false, this.options.provider]\n },\n save: function save() {\n return this.doTransaction(function (transaction) {\n return transaction.activate({\n passCode: this.get('passCode')\n });\n });\n }\n };\n },\n\n Form: EnterPasscodeForm,\n\n Footer: Footer\n\n });\n}).apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\n/***/ }),\n/* 618 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\nvar __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;\n\n/*!\n * Copyright (c) 2015-2016, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n\n!(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(0), __webpack_require__(2), __webpack_require__(6), __webpack_require__(4), __webpack_require__(98), __webpack_require__(18), __webpack_require__(13), __webpack_require__(262), __webpack_require__(14)], __WEBPACK_AMD_DEFINE_RESULT__ = (function (Okta, FormController, Enums, FormType, ValidationUtil, FactorUtil, Util, Footer, TextBox) {\n\n var _ = Okta._;\n\n return FormController.extend({\n className: 'password-expired',\n Model: {\n props: {\n oldPassword: ['string', true],\n newPassword: ['string', true],\n confirmPassword: ['string', true]\n },\n validate: function validate() {\n return ValidationUtil.validatePasswordMatch(this);\n },\n save: function save() {\n this.trigger('save');\n return this.doTransaction(function (transaction) {\n return transaction.changePassword({\n oldPassword: this.get('oldPassword'),\n newPassword: this.get('newPassword')\n });\n });\n }\n },\n Form: {\n save: _.partial(Okta.loc, 'password.expired.submit', 'login'),\n title: function title() {\n var expiringSoon = this.options.appState.get('isPwdExpiringSoon'),\n numDays = this.options.appState.get('passwordExpireDays');\n if (expiringSoon && numDays > 0) {\n return Okta.loc('password.expiring.title', 'login', [numDays]);\n } else if (expiringSoon && numDays === 0) {\n return Okta.loc('password.expiring.today', 'login');\n } else if (expiringSoon) {\n return Okta.loc('password.expiring.soon', 'login');\n } else {\n return this.settings.get('brandName') ? Okta.loc('password.expired.title.specific', 'login', [this.settings.get('brandName')]) : Okta.loc('password.expired.title.generic', 'login');\n }\n },\n subtitle: function subtitle() {\n if (this.options.appState.get('isPwdExpiringSoon')) {\n return this.settings.get('brandName') ? Okta.loc('password.expiring.subtitle.specific', 'login', [this.settings.get('brandName')]) : Okta.loc('password.expiring.subtitle.generic', 'login');\n }\n\n var policy = this.options.appState.get('policy');\n if (!policy) {\n return;\n }\n\n return FactorUtil.getPasswordComplexityDescription(policy);\n },\n formChildren: function formChildren() {\n return [FormType.Input({\n 'label-top': true,\n label: Okta.loc('password.oldPassword.placeholder', 'login'),\n explain: Util.createInputExplain('password.oldPassword.tooltip', 'password.oldPassword.placeholder', 'login'),\n 'explain-top': true,\n name: 'oldPassword',\n input: TextBox,\n type: 'password'\n }), FormType.Divider(), FormType.Input({\n className: 'margin-btm-5',\n 'label-top': true,\n label: Okta.loc('password.newPassword.placeholder', 'login'),\n explain: Util.createInputExplain('password.newPassword.tooltip', 'password.newPassword.placeholder', 'login'),\n 'explain-top': true,\n name: 'newPassword',\n input: TextBox,\n type: 'password'\n }), FormType.Input({\n 'label-top': true,\n label: Okta.loc('password.confirmPassword.placeholder', 'login'),\n explain: Util.createInputExplain('password.confirmPassword.tooltip', 'password.confirmPassword.placeholder', 'login'),\n 'explain-top': true,\n name: 'confirmPassword',\n input: TextBox,\n type: 'password'\n })];\n }\n },\n Footer: Footer,\n\n initialize: function initialize() {\n this.listenTo(this.form, 'save', function () {\n var creds = {\n username: this.options.appState.get('userEmail'),\n password: this.model.get('newPassword')\n };\n this.settings.processCreds(creds).then(_.bind(this.model.save, this.model));\n });\n }\n\n });\n}).apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\n/***/ }),\n/* 619 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\nvar __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;\n\n/*!\n * Copyright (c) 2017, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n\n!(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(0), __webpack_require__(2), __webpack_require__(4), __webpack_require__(262)], __WEBPACK_AMD_DEFINE_RESULT__ = (function (Okta, FormController, FormType, Footer) {\n\n var _ = Okta._;\n var Util = Okta.internal.util.Util;\n\n\n return FormController.extend({\n className: 'custom-password-expired',\n Model: {},\n Form: {\n noButtonBar: true,\n title: function title() {\n var expiringSoon = this.options.appState.get('isPwdExpiringSoon'),\n numDays = this.options.appState.get('passwordExpireDays');\n if (expiringSoon && numDays > 0) {\n return Okta.loc('password.expiring.title', 'login', [numDays]);\n } else if (expiringSoon && numDays === 0) {\n return Okta.loc('password.expiring.today', 'login');\n } else if (expiringSoon) {\n return Okta.loc('password.expiring.soon', 'login');\n } else {\n return this.settings.get('brandName') ? Okta.loc('password.expired.title.specific', 'login', [this.settings.get('brandName')]) : Okta.loc('password.expired.title.generic', 'login');\n }\n },\n subtitle: function subtitle() {\n if (this.options.appState.get('isPwdExpiringSoon')) {\n var subtitle = this.settings.get('brandName') ? Okta.loc('password.expiring.subtitle.specific', 'login', [this.settings.get('brandName')]) : Okta.loc('password.expiring.subtitle.generic', 'login');\n return subtitle + ' ' + Okta.loc('password.expired.custom.subtitle', 'login');\n }\n\n return Okta.loc('password.expired.custom.subtitle', 'login');\n },\n formChildren: function formChildren() {\n return [FormType.Button({\n title: _.partial(Okta.loc, 'password.expired.custom.submit', 'login', [this.options.appState.get('passwordExpiredWebsiteName')]),\n className: 'button button-primary button-wide',\n attributes: { 'data-se': 'custom-button' },\n click: function click() {\n Util.redirect(this.options.appState.get('passwordExpiredLinkUrl'));\n }\n })];\n }\n },\n Footer: Footer\n });\n}).apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\n/***/ }),\n/* 620 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\nvar __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;\n\n/*!\n * Copyright (c) 2015-2016, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n\n!(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(0), __webpack_require__(2), __webpack_require__(6), __webpack_require__(4), __webpack_require__(98), __webpack_require__(13), __webpack_require__(263), __webpack_require__(14)], __WEBPACK_AMD_DEFINE_RESULT__ = (function (Okta, FormController, Enums, FormType, ValidationUtil, Util, ContactSupport, TextBox) {\n\n var _ = Okta._;\n var noFactorsError = '<div class=\"okta-form-infobox-error infobox infobox-error\" role=\"alert\">\\\n <span class=\"icon error-16\"></span>\\\n <p>{{i18n code=\"password.forgot.noFactorsEnabled\" bundle=\"login\"}}</p>\\\n </div>';\n\n var Footer = Okta.View.extend({\n template: '\\\n {{#unless hideBackToSignInForReset}}\\\n <a href=\"#\" class=\"link help js-back\" data-se=\"back-link\">\\\n {{i18n code=\"goback\" bundle=\"login\"}}\\\n </a>\\\n {{/unless}}\\\n {{#if helpSupportNumber}}\\\n <a href=\"#\" class=\"link goto js-contact-support\">\\\n {{i18n code=\"mfa.noAccessToEmail\" bundle=\"login\"}}\\\n </a>\\\n {{/if}}\\\n ',\n className: 'auth-footer',\n events: {\n 'click .js-back': function clickJsBack(e) {\n e.preventDefault();\n this.back();\n },\n 'click .js-contact-support': function clickJsContactSupport(e) {\n e.preventDefault();\n this.state.trigger('contactSupport');\n this.$('.js-contact-support').hide();\n }\n },\n getTemplateData: function getTemplateData() {\n return {\n hideBackToSignInForReset: this.settings.get('features.hideBackToSignInForReset'),\n helpSupportNumber: this.settings.get('helpSupportNumber')\n };\n },\n back: function back() {\n this.state.set('navigateDir', Enums.DIRECTION_BACK);\n this.options.appState.trigger('navigate', '');\n }\n });\n\n return FormController.extend({\n className: 'forgot-password',\n Model: {\n props: {\n username: ['string', true],\n factorType: ['string', true]\n },\n validate: function validate() {\n return ValidationUtil.validateUsername(this);\n },\n save: function save() {\n var self = this;\n var relayState = this.settings.get('relayState');\n this.startTransaction(function (authClient) {\n return authClient.forgotPassword({\n username: self.settings.transformUsername(self.get('username'), Enums.FORGOT_PASSWORD),\n factorType: self.get('factorType'),\n relayState: relayState\n });\n }).fail(function () {\n //need empty fail handler on model to display errors on form\n });\n }\n },\n Form: {\n noButtonBar: true,\n title: _.partial(Okta.loc, 'password.reset', 'login'),\n formChildren: function formChildren() {\n /*eslint complexity: [2, 9] max-statements: [2, 23] */\n var smsEnabled = this.settings.get('features.smsRecovery');\n var callEnabled = this.settings.get('features.callRecovery');\n var emailEnabled = this.settings.get('features.emailRecovery');\n var noFactorsEnabled = !(smsEnabled || callEnabled || emailEnabled);\n var formChildren = [];\n\n if (noFactorsEnabled) {\n this.add(noFactorsError, '.o-form-error-container');\n } else {\n formChildren.push(FormType.Input({\n label: Okta.loc('password.forgot.email.or.username.placeholder', 'login'),\n 'label-top': true,\n explain: Util.createInputExplain('password.forgot.email.or.username.tooltip', 'password.forgot.email.or.username.placeholder', 'login'),\n 'explain-top': true,\n name: 'username',\n input: TextBox,\n inputId: 'account-recovery-username',\n type: 'text',\n inlineValidation: false\n }));\n if (smsEnabled || callEnabled) {\n formChildren.push(FormType.View({\n View: Okta.View.extend({\n template: '\\\n <p class=\"mobile-recovery-hint\">\\\n {{i18n code=\"recovery.mobile.hint\" bundle=\"login\" arguments=\"mobileFactors\"}}\\\n </p>',\n getTemplateData: function getTemplateData() {\n var mobileFactors;\n if (smsEnabled && callEnabled) {\n mobileFactors = Okta.loc('recovery.smsOrCall');\n } else if (callEnabled) {\n mobileFactors = Okta.loc('recovery.call');\n } else {\n mobileFactors = Okta.loc('recovery.sms');\n }\n return { mobileFactors: mobileFactors };\n }\n })\n }));\n }\n if (smsEnabled) {\n this.$el.addClass('forgot-password-sms-enabled');\n formChildren.push(this.createRecoveryFactorButton('sms-button', 'password.forgot.sendText', Enums.RECOVERY_FACTOR_TYPE_SMS, this));\n this.setDefaultFactorType(Enums.RECOVERY_FACTOR_TYPE_SMS);\n }\n if (callEnabled) {\n this.$el.addClass('forgot-password-call-enabled');\n formChildren.push(this.createRecoveryFactorButton('call-button', 'password.forgot.call', Enums.RECOVERY_FACTOR_TYPE_CALL, this));\n this.setDefaultFactorType(Enums.RECOVERY_FACTOR_TYPE_CALL);\n }\n if (emailEnabled) {\n this.$el.addClass('forgot-password-email-enabled');\n formChildren.push(this.createRecoveryFactorButton('email-button', 'password.forgot.sendEmail', Enums.RECOVERY_FACTOR_TYPE_EMAIL, this));\n this.setDefaultFactorType(Enums.RECOVERY_FACTOR_TYPE_EMAIL);\n }\n }\n\n return formChildren;\n },\n initialize: function initialize() {\n\n this.listenTo(this.state, 'contactSupport', function () {\n this.add(ContactSupport, '.o-form-error-container');\n });\n\n this.listenTo(this, 'save', function () {\n this.options.appState.set('username', this.model.get('username'));\n this.model.save();\n });\n },\n setDefaultFactorType: function setDefaultFactorType(factorType) {\n if (_.isEmpty(this.model.get('factorType'))) {\n this.model.set('factorType', factorType);\n }\n },\n createRecoveryFactorButton: function createRecoveryFactorButton(className, labelCode, factorType, form) {\n return FormType.Button({\n attributes: { 'data-se': className },\n className: 'button button-primary button-wide ' + className,\n title: Okta.loc(labelCode, 'login'),\n click: function click() {\n form.clearErrors();\n if (this.model.isValid()) {\n this.model.set('factorType', factorType);\n form.trigger('save', this.model);\n }\n }\n });\n }\n },\n Footer: Footer,\n\n initialize: function initialize() {\n this.options.appState.unset('username');\n }\n });\n}).apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\n/***/ }),\n/* 621 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\nvar __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;\n\n/*!\n * Copyright (c) 2015-2016, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n\n!(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(0), __webpack_require__(2), __webpack_require__(4), __webpack_require__(6), __webpack_require__(51), __webpack_require__(14)], __WEBPACK_AMD_DEFINE_RESULT__ = (function (Okta, FormController, FormType, Enums, FooterSignout, TextBox) {\n\n var _ = Okta._;\n\n return FormController.extend({\n className: 'recovery-challenge',\n Model: {\n props: {\n passCode: ['string', true]\n },\n local: {\n ableToResend: 'boolean'\n },\n resendCode: function resendCode() {\n // Note: This does not require a trapAuthResponse because Backbone's\n // router will not navigate if the url path is the same\n this.limitResending();\n return this.doTransaction(function (transaction) {\n return transaction.resend();\n });\n },\n limitResending: function limitResending() {\n this.set({ ableToResend: false });\n _.delay(_.bind(this.set, this), Enums.API_RATE_LIMIT, { ableToResend: true });\n },\n save: function save() {\n return this.doTransaction(function (transaction) {\n return transaction.verify({\n passCode: this.get('passCode')\n });\n });\n }\n },\n Form: {\n autoSave: true,\n save: _.partial(Okta.loc, 'mfa.challenge.verify', 'login'),\n title: function title() {\n if (this.options.appState.get('factorType') === Enums.RECOVERY_FACTOR_TYPE_CALL) {\n return Okta.loc('recoveryChallenge.call.title', 'login');\n } else {\n return Okta.loc('recoveryChallenge.sms.title', 'login');\n }\n },\n className: 'recovery-challenge',\n initialize: function initialize() {\n this.listenTo(this.model, 'error', function () {\n this.clearErrors();\n });\n },\n formChildren: function formChildren() {\n return [FormType.Button({\n title: Okta.loc('mfa.resendCode', 'login'),\n attributes: { 'data-se': 'resend-button' },\n className: 'button sms-request-button margin-top-30',\n click: function click() {\n this.model.resendCode();\n },\n initialize: function initialize() {\n this.listenTo(this.model, 'change:ableToResend', function (model, ableToResend) {\n if (ableToResend) {\n this.options.title = Okta.loc('mfa.resendCode', 'login');\n this.enable();\n this.render();\n } else {\n this.options.title = Okta.loc('mfa.sent', 'login');\n this.disable();\n this.render();\n }\n });\n }\n }), FormType.Input({\n label: Okta.loc('mfa.challenge.enterCode.placeholder', 'login'),\n 'label-top': true,\n className: 'enroll-sms-phone',\n name: 'passCode',\n input: TextBox,\n type: 'text'\n })];\n }\n },\n\n events: {\n 'click .send-email-link': function clickSendEmailLink(e) {\n e.preventDefault();\n var settings = this.model.settings,\n username = this.options.appState.get('username'),\n recoveryType = this.options.appState.get('recoveryType');\n\n this.model.startTransaction(function (authClient) {\n // The user could have landed here via the Forgot Password/Unlock Account flow\n switch (recoveryType) {\n case Enums.RECOVERY_TYPE_PASSWORD:\n return authClient.forgotPassword({\n username: settings.transformUsername(username, Enums.FORGOT_PASSWORD),\n factorType: Enums.RECOVERY_FACTOR_TYPE_EMAIL\n });\n case Enums.RECOVERY_TYPE_UNLOCK:\n return authClient.unlockAccount({\n username: settings.transformUsername(username, Enums.UNLOCK_ACCOUNT),\n factorType: Enums.RECOVERY_FACTOR_TYPE_EMAIL\n });\n default:\n return;\n }\n });\n }\n },\n\n initialize: function initialize() {\n var recoveryType = this.options.appState.get('recoveryType'),\n sendEmailLink;\n\n switch (recoveryType) {\n case Enums.RECOVERY_TYPE_PASSWORD:\n sendEmailLink = '\\\n <a href=\"#\" class=\"link send-email-link\" data-se=\"send-email-link\">\\\n {{i18n code=\"password.forgot.code.notReceived\" bundle=\"login\"}}\\\n </a>';\n break;\n case Enums.RECOVERY_TYPE_UNLOCK:\n sendEmailLink = '\\\n <a href=\"#\" class=\"link send-email-link\" data-se=\"send-email-link\">\\\n {{i18n code=\"account.unlock.code.notReceived\" bundle=\"login\"}}\\\n </a>';\n break;\n default:\n break;\n }\n\n if (sendEmailLink && this.settings.get('features.emailRecovery')) {\n this.add(sendEmailLink);\n }\n\n if (!this.settings.get('features.hideBackToSignInForReset')) {\n this.add(new FooterSignout(_.extend(this.toJSON(), { linkText: Okta.loc('goback', 'login'), linkClassName: '' })));\n }\n },\n\n postRender: function postRender() {\n this.model.limitResending();\n }\n\n });\n}).apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\n/***/ }),\n/* 622 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\nvar __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;\n\n/*!\n * Copyright (c) 2015-2016, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n\n!(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(0), __webpack_require__(6), __webpack_require__(2), __webpack_require__(4)], __WEBPACK_AMD_DEFINE_RESULT__ = (function (Okta, Enums, FormController, FormType) {\n\n var _ = Okta._;\n\n return FormController.extend({\n className: 'password-reset-email-sent',\n Model: function Model() {\n return {\n local: {\n userFullName: ['string', false, this.options.appState.get('userFullName')]\n }\n };\n },\n\n Form: {\n title: _.partial(Okta.loc, 'password.forgot.emailSent.title', 'login'),\n subtitle: function subtitle() {\n var username = this.options.appState.get('username');\n return Okta.loc('password.forgot.emailSent.desc', 'login', [username]);\n },\n noButtonBar: true,\n attributes: { 'data-se': 'pwd-reset-email-sent' },\n formChildren: function formChildren() {\n var children = [FormType.View({\n View: Okta.View.extend({\n template: '\\\n <span class=\"accessibility-text\" role=\"status\">{{alert}}</span>\\\n ',\n getTemplateData: function getTemplateData() {\n return { 'alert': Okta.loc('password.forgot.emailSent.title', 'login') };\n }\n })\n })];\n\n if (!this.settings.get('features.hideBackToSignInForReset')) {\n children.push(FormType.Button({\n title: Okta.loc('goback', 'login'),\n className: 'button button-primary button-wide',\n attributes: { 'data-se': 'back-button' },\n click: function click() {\n var self = this;\n return this.model.doTransaction(function (transaction) {\n return transaction.cancel();\n }).then(function () {\n self.state.set('navigateDir', Enums.DIRECTION_BACK);\n self.options.appState.trigger('navigate', '');\n });\n }\n }));\n }\n\n return children;\n }\n },\n\n initialize: function initialize(options) {\n this.settings.callGlobalSuccess(Enums.FORGOT_PASSWORD_EMAIL_SENT, {\n username: options.appState.get('username')\n });\n }\n });\n}).apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\n/***/ }),\n/* 623 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\nvar __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;\n\n/*!\n * Copyright (c) 2015-2016, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n\n!(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(0), __webpack_require__(2), __webpack_require__(4), __webpack_require__(51), __webpack_require__(14)], __WEBPACK_AMD_DEFINE_RESULT__ = (function (Okta, FormController, FormType, FooterSignout, TextBox) {\n\n return FormController.extend({\n className: 'recovery-question',\n Model: {\n props: {\n answer: ['string', true],\n showAnswer: 'boolean'\n },\n save: function save() {\n return this.doTransaction(function (transaction) {\n return transaction.answer({ answer: this.get('answer') });\n });\n }\n },\n Form: {\n autoSave: true,\n save: function save() {\n switch (this.options.appState.get('recoveryType')) {\n case 'PASSWORD':\n return Okta.loc('password.forgot.question.submit', 'login');\n case 'UNLOCK':\n return Okta.loc('account.unlock.question.submit', 'login');\n default:\n return Okta.loc('mfa.challenge.verify', 'login');\n }\n },\n title: function title() {\n switch (this.options.appState.get('recoveryType')) {\n case 'PASSWORD':\n return Okta.loc('password.forgot.question.title', 'login');\n case 'UNLOCK':\n return Okta.loc('account.unlock.question.title', 'login');\n default:\n return '';\n }\n },\n formChildren: function formChildren() {\n return [FormType.Input({\n label: this.options.appState.get('recoveryQuestion'),\n placeholder: Okta.loc('mfa.challenge.answer.placeholder', 'login'),\n name: 'answer',\n input: TextBox,\n type: 'password',\n initialize: function initialize() {\n this.listenTo(this.model, 'change:showAnswer', function () {\n var type = this.model.get('showAnswer') ? 'text' : 'password';\n this.getInputs()[0].changeType(type);\n });\n }\n }), FormType.Input({\n label: false,\n 'label-top': true,\n placeholder: Okta.loc('mfa.challenge.answer.showAnswer', 'login'),\n className: 'recovery-question-show margin-btm-0',\n name: 'showAnswer',\n type: 'checkbox'\n })];\n }\n },\n initialize: function initialize() {\n if (!this.settings.get('features.hideBackToSignInForReset')) {\n this.addFooter(FooterSignout, { linkText: Okta.loc('goback', 'login'), linkClassName: '' });\n }\n }\n\n });\n}).apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\n/***/ }),\n/* 624 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\nvar __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;\n\n/*!\n * Copyright (c) 2015-2016, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n\n!(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(0), __webpack_require__(2), __webpack_require__(4), __webpack_require__(98), __webpack_require__(18), __webpack_require__(13), __webpack_require__(51), __webpack_require__(14)], __WEBPACK_AMD_DEFINE_RESULT__ = (function (Okta, FormController, FormType, ValidationUtil, FactorUtil, Util, FooterSignout, TextBox) {\n\n var _ = Okta._;\n\n return FormController.extend({\n className: 'password-reset',\n Model: {\n props: {\n newPassword: ['string', true],\n confirmPassword: ['string', true]\n },\n validate: function validate() {\n return ValidationUtil.validatePasswordMatch(this);\n },\n save: function save() {\n this.trigger('save');\n var self = this;\n return this.doTransaction(function (transaction) {\n return transaction.resetPassword({\n newPassword: self.get('newPassword')\n });\n });\n }\n },\n Form: {\n save: _.partial(Okta.loc, 'password.reset', 'login'),\n title: function title() {\n return this.settings.get('brandName') ? Okta.loc('password.reset.title.specific', 'login', [this.settings.get('brandName')]) : Okta.loc('password.reset.title.generic', 'login');\n },\n subtitle: function subtitle() {\n var policy = this.options.appState.get('policy');\n if (!policy) {\n return;\n }\n\n return FactorUtil.getPasswordComplexityDescription(policy);\n },\n formChildren: function formChildren() {\n return [FormType.Input({\n className: 'margin-btm-5',\n label: Okta.loc('password.newPassword.placeholder', 'login'),\n 'label-top': true,\n explain: Util.createInputExplain('password.newPassword.tooltip', 'password.newPassword.placeholder', 'login'),\n 'explain-top': true,\n name: 'newPassword',\n input: TextBox,\n type: 'password'\n }), FormType.Input({\n label: Okta.loc('password.confirmPassword.placeholder', 'login'),\n 'label-top': true,\n explain: Util.createInputExplain('password.confirmPassword.tooltip', 'password.confirmPassword.placeholder', 'login'),\n 'explain-top': true,\n name: 'confirmPassword',\n input: TextBox,\n type: 'password'\n })];\n }\n },\n\n initialize: function initialize() {\n this.listenTo(this.form, 'save', function () {\n var creds = {\n username: this.options.appState.get('userEmail'),\n password: this.model.get('newPassword')\n };\n this.settings.processCreds(creds).then(_.bind(this.model.save, this.model));\n });\n\n if (!this.settings.get('features.hideBackToSignInForReset')) {\n this.addFooter(FooterSignout);\n }\n }\n\n });\n}).apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\n/***/ }),\n/* 625 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\nvar __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;\n\n/*!\n * Copyright (c) 2015-2016, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n\n!(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(0), __webpack_require__(2)], __WEBPACK_AMD_DEFINE_RESULT__ = (function (Okta, FormController) {\n\n return FormController.extend({\n className: 'recovery-loading',\n\n Model: {},\n Form: {\n noButtonBar: true\n },\n\n initialize: function initialize(options) {\n var self = this;\n return this.model.startTransaction(function (authClient) {\n return authClient.verifyRecoveryToken({\n recoveryToken: options.token\n });\n }).fail(function () {\n self.options.appState.trigger('loading', false);\n self.options.appState.trigger('removeLoading');\n });\n },\n\n preRender: function preRender() {\n this.options.appState.trigger('loading', true);\n },\n\n trapAuthResponse: function trapAuthResponse() {\n this.options.appState.trigger('loading', false);\n return false;\n }\n\n });\n}).apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\n/***/ }),\n/* 626 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\nvar __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;\n\n/*!\n * Copyright (c) 2015-2016, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n\n!(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(0), __webpack_require__(2), __webpack_require__(6), __webpack_require__(4), __webpack_require__(13), __webpack_require__(98), __webpack_require__(263), __webpack_require__(14)], __WEBPACK_AMD_DEFINE_RESULT__ = (function (Okta, FormController, Enums, FormType, Util, ValidationUtil, ContactSupport, TextBox) {\n\n var _ = Okta._;\n var noFactorsError = '<div class=\"okta-form-infobox-error infobox infobox-error\" role=\"alert\">\\\n <span class=\"icon error-16\"></span>\\\n <p>{{i18n code=\"account.unlock.noFactorsEnabled\" bundle=\"login\"}}</p>\\\n </div>';\n\n var Footer = Okta.View.extend({\n template: '\\\n <a href=\"#\" class=\"link help js-back\" data-se=\"back-link\">\\\n {{i18n code=\"goback\" bundle=\"login\"}}\\\n </a>\\\n {{#if helpSupportNumber}}\\\n <a href=\"#\" class=\"link goto js-contact-support\">\\\n {{i18n code=\"mfa.noAccessToEmail\" bundle=\"login\"}}\\\n </a>\\\n {{/if}}\\\n ',\n className: 'auth-footer',\n events: {\n 'click .js-back': function clickJsBack(e) {\n e.preventDefault();\n this.back();\n },\n 'click .js-contact-support': function clickJsContactSupport(e) {\n e.preventDefault();\n this.state.trigger('contactSupport');\n this.$('.js-contact-support').hide();\n }\n },\n getTemplateData: function getTemplateData() {\n return this.settings.pick('helpSupportNumber');\n },\n back: function back() {\n this.state.set('navigateDir', Enums.DIRECTION_BACK);\n this.options.appState.trigger('navigate', '');\n }\n });\n\n return FormController.extend({\n className: 'account-unlock',\n Model: {\n props: {\n username: ['string', true],\n factorType: ['string', true]\n },\n validate: function validate() {\n return ValidationUtil.validateUsername(this);\n },\n save: function save() {\n var self = this;\n return this.startTransaction(function (authClient) {\n return authClient.unlockAccount({\n username: self.settings.transformUsername(self.get('username'), Enums.UNLOCK_ACCOUNT),\n factorType: self.get('factorType')\n });\n }).fail(function () {\n //need empty fail handler on model to display errors on form\n });\n }\n },\n Form: {\n noButtonBar: true,\n title: _.partial(Okta.loc, 'account.unlock.title', 'login'),\n formChildren: function formChildren() {\n /*eslint complexity: [2, 9] max-statements: [2, 24] */\n var smsEnabled = this.settings.get('features.smsRecovery');\n var callEnabled = this.settings.get('features.callRecovery');\n var emailEnabled = this.settings.get('features.emailRecovery');\n var noFactorsEnabled = !(smsEnabled || callEnabled || emailEnabled);\n var formChildren = [];\n var form = this;\n\n if (noFactorsEnabled) {\n this.add(noFactorsError, '.o-form-error-container');\n } else {\n formChildren.push(FormType.Input({\n label: Okta.loc('account.unlock.email.or.username.placeholder', 'login'),\n 'label-top': true,\n explain: Util.createInputExplain('account.unlock.email.or.username.tooltip', 'account.unlock.email.or.username.placeholder', 'login'),\n 'explain-top': true,\n name: 'username',\n input: TextBox,\n inputId: 'account-recovery-username',\n type: 'text',\n inlineValidation: false\n }));\n\n if (smsEnabled || callEnabled) {\n formChildren.push(FormType.View({\n View: Okta.View.extend({\n template: '\\\n <p class=\"mobile-recovery-hint\">\\\n {{i18n code=\"recovery.mobile.hint\" bundle=\"login\" arguments=\"mobileFactors\"}}\\\n </p>',\n getTemplateData: function getTemplateData() {\n var mobileFactors;\n if (smsEnabled && callEnabled) {\n mobileFactors = Okta.loc('recovery.smsOrCall');\n } else if (callEnabled) {\n mobileFactors = Okta.loc('recovery.call');\n } else {\n mobileFactors = Okta.loc('recovery.sms');\n }\n return { mobileFactors: mobileFactors };\n }\n })\n }));\n }\n\n if (smsEnabled) {\n this.$el.addClass('forgot-password-sms-enabled');\n formChildren.push(this.createRecoveryFactorButton('sms-button', 'account.unlock.sendText', Enums.RECOVERY_FACTOR_TYPE_SMS, form));\n this.setDefaultFactorType(Enums.RECOVERY_FACTOR_TYPE_SMS);\n }\n if (callEnabled) {\n this.$el.addClass('forgot-password-call-enabled');\n formChildren.push(this.createRecoveryFactorButton('call-button', 'account.unlock.voiceCall', Enums.RECOVERY_FACTOR_TYPE_CALL, form));\n this.setDefaultFactorType(Enums.RECOVERY_FACTOR_TYPE_CALL);\n }\n if (emailEnabled) {\n this.$el.addClass('forgot-password-email-enabled');\n formChildren.push(this.createRecoveryFactorButton('email-button', 'account.unlock.sendEmail', Enums.RECOVERY_FACTOR_TYPE_EMAIL, form));\n this.setDefaultFactorType(Enums.RECOVERY_FACTOR_TYPE_EMAIL);\n }\n }\n\n return formChildren;\n },\n initialize: function initialize() {\n\n this.listenTo(this, 'save', function () {\n this.options.appState.set('username', this.model.get('username'));\n this.model.save();\n });\n\n this.listenTo(this.state, 'contactSupport', function () {\n this.add(ContactSupport, '.o-form-error-container');\n });\n },\n setDefaultFactorType: function setDefaultFactorType(factorType) {\n if (_.isEmpty(this.model.get('factorType'))) {\n this.model.set('factorType', factorType);\n }\n },\n createRecoveryFactorButton: function createRecoveryFactorButton(className, labelCode, factorType, form) {\n return FormType.Button({\n attributes: { 'data-se': className },\n className: 'button button-primary button-wide ' + className,\n title: Okta.loc(labelCode, 'login'),\n click: function click() {\n form.clearErrors();\n if (this.model.isValid()) {\n this.model.set('factorType', factorType);\n form.trigger('save', this.model);\n }\n }\n });\n }\n },\n Footer: Footer\n });\n}).apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\n/***/ }),\n/* 627 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\nvar __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;\n\n/*!\n * Copyright (c) 2015-2016, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n\n!(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(0), __webpack_require__(6), __webpack_require__(2), __webpack_require__(4)], __WEBPACK_AMD_DEFINE_RESULT__ = (function (Okta, Enums, FormController, FormType) {\n\n var _ = Okta._;\n\n return FormController.extend({\n className: 'account-unlocked',\n Model: function Model() {\n return {\n local: {\n userFullName: ['string', false, this.options.appState.get('userFullName')]\n }\n };\n },\n\n Form: {\n title: _.partial(Okta.loc, 'account.unlock.unlocked.title', 'login'),\n subtitle: _.partial(Okta.loc, 'account.unlock.unlocked.desc', 'login'),\n noButtonBar: true,\n attributes: { 'data-se': 'account-unlocked' },\n formChildren: function formChildren() {\n return [FormType.Button({\n title: Okta.loc('goback', 'login'),\n className: 'button button-primary button-wide',\n attributes: { 'data-se': 'back-button' },\n click: function click() {\n this.state.set('navigateDir', Enums.DIRECTION_BACK);\n this.options.appState.trigger('navigate', '');\n }\n })];\n }\n }\n\n });\n}).apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\n/***/ }),\n/* 628 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\nvar __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;\n\n/*!\n * Copyright (c) 2015-2016, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n\n!(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(0), __webpack_require__(6), __webpack_require__(2), __webpack_require__(4)], __WEBPACK_AMD_DEFINE_RESULT__ = (function (Okta, Enums, FormController, FormType) {\n\n var _ = Okta._;\n\n return FormController.extend({\n className: 'account-unlock-email-sent',\n Model: function Model() {\n return {\n local: {\n userFullName: ['string', false, this.options.appState.get('userFullName')]\n }\n };\n },\n\n Form: {\n title: _.partial(Okta.loc, 'account.unlock.emailSent.title', 'login'),\n subtitle: function subtitle() {\n var username = this.options.appState.get('username');\n return Okta.loc('account.unlock.emailSent.desc', 'login', [username]);\n },\n noButtonBar: true,\n attributes: { 'data-se': 'unlock-email-sent' },\n formChildren: function formChildren() {\n return [FormType.Button({\n title: Okta.loc('goback', 'login'),\n className: 'button button-primary button-wide',\n attributes: { 'data-se': 'back-button' },\n click: function click() {\n this.state.set('navigateDir', Enums.DIRECTION_BACK);\n this.options.appState.trigger('navigate', '');\n }\n })];\n }\n },\n\n initialize: function initialize(options) {\n this.settings.callGlobalSuccess(Enums.UNLOCK_ACCOUNT_EMAIL_SENT, {\n username: options.appState.get('username')\n });\n }\n\n });\n}).apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\n/***/ }),\n/* 629 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\nvar __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;\n\n/* eslint-disable max-depth */\n/*!\n * Copyright (c) 2015-2016, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n\n!(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(17), __webpack_require__(0), __webpack_require__(2)], __WEBPACK_AMD_DEFINE_RESULT__ = (function (Q, Okta, FormController) {\n\n return FormController.extend({\n className: 'refresh-auth-state',\n\n Model: {},\n\n Form: {\n noButtonBar: true\n },\n\n preRender: function preRender() {\n var appState = this.options.appState;\n var token = this.options.token;\n this.model.startTransaction(function (authClient) {\n appState.trigger('loading', true);\n if (this.options.appState.get('introspectSuccess') || this.options.appState.get('introspectError')) {\n // Also handles the case when we hit introspect and are on the oldpipeline\n this.settings.unset('stateToken');\n var trans = this.options.appState.get('introspectSuccess');\n var transError = this.options.appState.get('introspectError');\n if (trans && trans.data) {\n return Q.resolve(trans);\n } else {\n return Q.reject(transError);\n }\n } else if (token) {\n // widget bootstrapped with statetoken only in the url and not in settings\n // used for mobile flows\n return authClient.tx.resume({\n stateToken: token\n });\n } else {\n // get stateToken from cookie\n // currently only applies to old pipeline\n if (authClient.tx.exists()) {\n return authClient.tx.resume();\n }\n appState.trigger('navigate', '');\n }\n });\n },\n\n remove: function remove() {\n this.options.appState.trigger('loading', false);\n return FormController.prototype.remove.apply(this, arguments);\n }\n\n });\n}).apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\n/***/ }),\n/* 630 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\nvar __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;\n\n/*!\n * Copyright (c) 2017, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n!(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(0), __webpack_require__(631), __webpack_require__(632), __webpack_require__(83), __webpack_require__(6), __webpack_require__(264), __webpack_require__(633), __webpack_require__(33), __webpack_require__(13)], __WEBPACK_AMD_DEFINE_RESULT__ = (function (Okta, RegistrationSchema, LoginModel, BaseLoginController, Enums, RegistrationFormFactory, SubSchema, Errors, Util) {\n var _ = Okta._,\n Backbone = Okta.Backbone;\n\n\n var Footer = Okta.View.extend({\n template: '\\\n <a href=\"#\" class=\"link help\" data-se=\"back-link\">\\\n {{i18n code=\"goback\" bundle=\"login\"}}\\\n </a>\\\n ',\n className: 'auth-footer',\n events: {\n 'click .help': function clickHelp(e) {\n e.preventDefault();\n this.back();\n }\n },\n back: function back() {\n this.state.set('navigateDir', Enums.DIRECTION_BACK);\n this.options.appState.trigger('navigate', '');\n }\n });\n\n return BaseLoginController.extend({\n className: 'registration',\n initialize: function initialize() {\n // setup schema\n var Schema = RegistrationSchema.extend({\n settings: this.options.settings,\n url: this.options.settings.get('baseUrl') + '/api/v1/registration/form'\n });\n var schema = new Schema();\n this.state.set('schema', schema);\n },\n getRegistrationApiUrl: function getRegistrationApiUrl() {\n // default policyId\n var defaultPolicyId = this.settings.get('defaultPolicyId');\n // org policyId\n var orgPolicyId = this.options.settings.get('policyId');\n var apiUrl = defaultPolicyId ? this.getRegistrationPolicyApi(defaultPolicyId) : this.getRegistrationPolicyApi(orgPolicyId);\n return apiUrl;\n },\n getRegistrationPolicyApi: function getRegistrationPolicyApi(policyId) {\n return this.options.settings.get('baseUrl') + '/api/v1/registration/' + policyId;\n },\n doPostSubmit: function doPostSubmit() {\n if (this.model.get('activationToken')) {\n // register via activation token\n var self = this;\n self.settings.callGlobalSuccess(Enums.REGISTRATION_COMPLETE, {\n activationToken: this.model.get('activationToken')\n });\n\n var loginModel = new LoginModel({\n settings: self.model.appState.settings\n });\n loginModel.loginWithActivationToken(this.model.get('activationToken')).then(function (transaction) {\n self.model.trigger('setTransaction', transaction);\n });\n } else {\n // register via activation email\n this.model.appState.set('username', this.model.get('email'));\n this.model.appState.trigger('navigate', 'signin/register-complete');\n }\n },\n registerUser: function registerUser(postData) {\n var self = this;\n this.model.attributes = postData;\n Backbone.Model.prototype.save.call(this.model).then(function () {\n var activationToken = self.model.get('activationToken');\n var postSubmitData = activationToken ? activationToken : self.model.get('email');\n self.settings.postSubmit(postSubmitData, function () {\n self.doPostSubmit();\n }, function (errors) {\n self.showErrors(errors);\n });\n }).fail(function (err) {\n var responseJSON = err.responseJSON;\n if (responseJSON && responseJSON.errorCauses.length) {\n var errMsg = responseJSON.errorCauses[0].errorSummary;\n Util.triggerAfterError(self, new Errors.RegistrationError(errMsg));\n }\n });\n },\n createRegistrationModel: function createRegistrationModel(modelProperties) {\n var self = this;\n var Model = Okta.Model.extend({\n url: self.getRegistrationApiUrl() + '/register',\n settings: this.settings,\n appState: this.options.appState,\n props: modelProperties,\n local: {\n activationToken: 'string'\n },\n toJSON: function toJSON() {\n var data = Okta.Model.prototype.toJSON.apply(this, arguments);\n return {\n userProfile: data,\n relayState: this.settings.get('relayState')\n };\n },\n parse: function parse(resp) {\n this.set('activationToken', resp.activationToken);\n delete resp.activationToken;\n return resp;\n },\n save: function save() {\n this.settings.preSubmit(this.attributes, function (postData) {\n self.registerUser(postData);\n }, function (errors) {\n self.showErrors(errors);\n });\n }\n });\n return new Model();\n },\n showErrors: function showErrors(error, hideRegisterButton) {\n //for parseSchema error hide form and show error at form level\n if (error.callback === 'parseSchema' && error.errorCauses) {\n error.errorSummary = _.clone(error.errorCauses[0].errorSummary);\n delete error.errorCauses;\n }\n //show error on form\n this.model.trigger('error', this.model, {\n responseJSON: error\n });\n\n //throw registration error\n var errMsg = error.callback ? error.callback + ':' + error.errorSummary : error.errorSummary;\n Util.triggerAfterError(this, new Errors.RegistrationError(errMsg));\n\n if (hideRegisterButton) {\n this.$el.find('.button-primary').hide();\n }\n },\n fetchInitialData: function fetchInitialData() {\n var self = this;\n // register parse complete event listener\n self.state.get('schema').on('parseComplete', function (updatedSchema) {\n var modelProperties = updatedSchema.properties.createModelProperties();\n self.settings.set('defaultPolicyId', updatedSchema.properties.defaultPolicyId);\n\n // create model\n self.model = self.createRegistrationModel(modelProperties);\n // create form\n var Form = Okta.Form.extend({\n layout: 'o-form-theme',\n autoSave: true,\n noCancelButton: true,\n title: Okta.loc('registration.form.title', 'login'),\n save: Okta.loc('registration.form.submit', 'login')\n });\n var form = new Form(self.toJSON());\n // add form\n self.add(form);\n // add footer\n self.footer = new self.Footer(self.toJSON());\n self.add(self.footer);\n self.addListeners();\n if (updatedSchema.error) {\n self.showErrors(updatedSchema.error, true);\n } else {\n // add fields\n updatedSchema.properties.each(function (schemaProperty) {\n var inputOptions = RegistrationFormFactory.createInputOptions(schemaProperty);\n var subSchemas = schemaProperty.get('subSchemas');\n var name = schemaProperty.get('name');\n form.addInput(inputOptions);\n if (name === 'password' && subSchemas) {\n form.add(SubSchema.extend({ id: 'subschemas-' + name, subSchemas: subSchemas }));\n }\n });\n var requiredFieldsLabel = Okta.tpl('<span class=\"required-fields-label\">{{label}}</span>')({\n label: Okta.loc('registration.required.fields.label', 'login')\n });\n form.add(requiredFieldsLabel);\n }\n });\n // fetch schema from API\n return this.state.get('schema').fetch();\n },\n Footer: Footer\n });\n}).apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\n/***/ }),\n/* 631 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\nvar __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;\n\n/*!\n * Copyright (c) 2017, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n\n!(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(0)], __WEBPACK_AMD_DEFINE_RESULT__ = (function (Okta) {\n\n var _ = Okta._;\n var _Okta$internal$models = Okta.internal.models,\n BaseSchema = _Okta$internal$models.BaseSchema,\n SchemaProperty = _Okta$internal$models.SchemaProperty;\n\n\n var RegistrationSchemaPropertyCollection = SchemaProperty.Collection.extend({\n createModelProperties: function createModelProperties() {\n var modelProperties = SchemaProperty.Collection.prototype.createModelProperties.apply(this);\n _.each(modelProperties, function (modelProperty, name) {\n modelProperty.required = !!this.get(name).get('required');\n }, this);\n return modelProperties;\n }\n });\n\n return BaseSchema.Model.extend({\n expand: ['schema'],\n\n constructor: function constructor() {\n this.properties = new RegistrationSchemaPropertyCollection();\n Okta.BaseModel.apply(this, arguments);\n },\n\n parse: function parse(resp) {\n\n var parseResponseData = _.bind(function (resp) {\n var requireFields = resp.schema.required;\n if (_.isArray(requireFields)) {\n _.each(requireFields, function (requireField) {\n var field = this.properties.get(requireField);\n if (field) {\n field.set('required', true);\n }\n }, this);\n }\n\n var fieldOrderIds = resp.schema.fieldOrder;\n if (_.isArray(fieldOrderIds)) {\n _.each(fieldOrderIds, function (fieldOrderId, sortOrder) {\n var field = this.properties.get(fieldOrderId);\n if (field) {\n field.set('sortOrder', sortOrder);\n }\n }, this);\n this.properties.comparator = 'sortOrder';\n this.properties.sort();\n }\n this.properties.defaultPolicyId = resp.policyId;\n return resp;\n }, this);\n\n var self = this;\n this.settings.parseSchema(resp, function (resp) {\n if (resp.profileSchema) {\n resp.schema = resp.profileSchema;\n BaseSchema.Model.prototype.parse.apply(self, [resp]);\n resp = parseResponseData(resp);\n }\n self.trigger('parseComplete', { properties: self.properties });\n }, function (error) {\n self.trigger('parseComplete', { properties: self.properties, error: error });\n });\n }\n });\n}).apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\n/***/ }),\n/* 632 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\nvar __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;\n\n/*!\n * Copyright (c) 2015-2016, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n\n!(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(0), __webpack_require__(96)], __WEBPACK_AMD_DEFINE_RESULT__ = (function (Okta, BaseLoginModel) {\n\n return BaseLoginModel.extend({\n constructor: function constructor(options) {\n this.settings = options && options.settings;\n Okta.Model.apply(this, arguments);\n },\n loginWithActivationToken: function loginWithActivationToken(activationToken) {\n return this.startTransaction(function (authClient) {\n return authClient.signIn({ token: activationToken });\n });\n }\n });\n}).apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\n/***/ }),\n/* 633 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\nvar __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;\n\n/*!\n * Copyright (c) 2017, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n\n!(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(0)], __WEBPACK_AMD_DEFINE_RESULT__ = (function (Okta) {\n var SubSchema = Okta.View.extend({\n index: '',\n message: '',\n class: function _class() {\n return;\n },\n className: function className() {\n return 'subschema-unsatisfied subschema-' + this.index;\n },\n template: '\\\n <p class=\"default-schema\">\\\n <span class=\"icon icon-16\"/>\\\n {{message}}\\\n </p>\\\n ',\n getTemplateData: function getTemplateData() {\n return {\n message: this.message\n };\n }\n });\n\n return Okta.View.extend({\n className: 'subschema',\n\n children: function children() {\n return this.subSchemas.map(function (subSchema, index) {\n var description = subSchema.get('description');\n // TODO API should send translated strings instead of i18n code inside description\n // or send param with i18n code\n var message = description;\n return SubSchema.extend({\n index: index,\n message: message\n });\n });\n }\n });\n}).apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\n/***/ }),\n/* 634 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\nvar __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;\n\n/*!\n * Copyright (c) 2017, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n\n!(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(0), __webpack_require__(6), __webpack_require__(2), __webpack_require__(4)], __WEBPACK_AMD_DEFINE_RESULT__ = (function (Okta, Enums, FormController, FormType) {\n\n return FormController.extend({\n events: {\n 'click .back-btn': function clickBackBtn(e) {\n e.preventDefault();\n this.back();\n }\n },\n back: function back() {\n this.state.set('navigateDir', Enums.DIRECTION_BACK);\n this.options.appState.trigger('navigate', '');\n },\n className: 'registration-complete',\n Model: function Model() {},\n initialize: function initialize() {\n this.settings.callGlobalSuccess(Enums.ACTIVATION_EMAIL_SENT, {\n username: this.options.appState.get('username')\n });\n },\n Form: {\n noButtonBar: true,\n formChildren: function formChildren() {\n return [FormType.View({\n View: Okta.View.extend({\n template: '\\\n <div class=\"container\">\\\n <span class=\"title-icon icon icon-16 confirm-16-green\"></span>\\\n <h2 class=\"title\">{{title}}</h2>\\\n <div class=\"desc\">{{desc}}</div>\\\n </div>\\\n <a href=\"#\" class=\"back-btn\" data-se=\"back-link\">\\\n {{i18n code=\"goback\" bundle=\"login\"}}\\\n </a>\\\n ',\n getTemplateData: function getTemplateData() {\n return {\n 'desc': Okta.loc('registration.complete.confirm.text', 'login'),\n 'title': Okta.loc('registration.complete.title', 'login')\n };\n }\n })\n })];\n }\n }\n });\n}).apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\n/***/ }),\n/* 635 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\nvar __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;\n\n/*!\n * Copyright (c) 2017, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n\n/* eslint max-len: [2, 160] */\n!(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(0), __webpack_require__(2), __webpack_require__(4), __webpack_require__(636)], __WEBPACK_AMD_DEFINE_RESULT__ = (function (Okta, FormController, FormType, ScopeList) {\n\n var _ = Okta._;\n\n return FormController.extend({\n className: 'consent-required',\n initialize: function initialize() {\n this.model.set('expiresAt', this.options.appState.get('expiresAt'));\n this.model.set('scopes', this.options.appState.get('scopes'));\n this.listenTo(this.form, 'cancel', _.bind(this.model.cancel, this.model));\n },\n postRender: function postRender() {\n FormController.prototype.postRender.apply(this, arguments);\n\n // Update the \"don't allow\" and \"allow access\" buttons to be neutral by changing \"allow button\" to be gray.\n this.$('.o-form-button-bar .button-primary').removeClass('button-primary');\n },\n Model: {\n props: {\n expiresAt: ['string', true],\n scopes: ['array', true]\n },\n save: function save() {\n return this.doTransaction(function (transaction) {\n return transaction.consent({\n consent: {\n expiresAt: this.get('expiresAt'),\n scopes: _.pluck(this.get('scopes'), 'name')\n }\n });\n });\n },\n cancel: function cancel() {\n var self = this;\n return this.doTransaction(function (transaction) {\n return transaction.cancel();\n }).then(function () {\n var consentCancelFn = self.settings.get('consent.cancel');\n if (_.isFunction(consentCancelFn)) {\n consentCancelFn();\n }\n });\n }\n },\n Form: {\n noCancelButton: false,\n autoSave: true,\n save: _.partial(Okta.loc, 'consent.required.consentButton', 'login'),\n cancel: _.partial(Okta.loc, 'consent.required.cancelButton', 'login'),\n formChildren: function formChildren() {\n return [FormType.View({\n View: Okta.View.extend({\n className: 'consent-title detail-row',\n template: '\\\n {{#if clientURI}}\\\n <a href=\"{{clientURI}}\" class=\"client-logo-link\" target=\"_blank\">\\\n {{/if}}\\\n {{#if customLogo}}\\\n <img class=\"client-logo custom-logo\" src=\"{{customLogo}}\" />\\\n {{else}}\\\n <img class=\"client-logo default-logo\" src=\"{{defaultLogo}}\" />\\\n {{/if}}\\\n {{#if clientURI}}\\\n </a>\\\n {{/if}}\\\n <span>{{{i18n code=\"consent.required.text\" bundle=\"login\" arguments=\"appName\"}}}</span>\\\n ',\n getTemplateData: function getTemplateData() {\n var appState = this.options.appState;\n return {\n appName: appState.escape('targetLabel'),\n customLogo: appState.get('targetLogo') && appState.get('targetLogo').href,\n defaultLogo: appState.get('defaultAppLogo'),\n clientURI: appState.get('targetClientURI') && appState.get('targetClientURI').href\n };\n }\n })\n }), FormType.View({\n View: new ScopeList({ model: this.model })\n }), FormType.View({\n View: Okta.View.extend({\n className: 'consent-description detail-row',\n template: '\\\n <p>{{i18n code=\"consent.required.description\" bundle=\"login\"}}</p>\\\n '\n })\n })];\n }\n },\n Footer: Okta.View.extend({\n className: 'consent-footer',\n template: '\\\n {{#if termsOfService}}\\\n <a class=\"terms-of-service\" href=\"{{termsOfService}}\" target=\"_blank\">{{i18n code=\"consent.required.termsOfService\" bundle=\"login\"}}</a>\\\n {{#if privacyPolicy}}\\\n •\\\n {{/if}}\\\n {{/if}}\\\n {{#if privacyPolicy}}\\\n <a class=\"privacy-policy\" href=\"{{privacyPolicy}}\" target=\"_blank\">{{i18n code=\"consent.required.privacyPolicy\" bundle=\"login\"}}</a>\\\n {{/if}}\\\n ',\n getTemplateData: function getTemplateData() {\n var appState = this.options.appState;\n return {\n termsOfService: appState.get('targetTermsOfService') && appState.get('targetTermsOfService').href,\n privacyPolicy: appState.get('targetPrivacyPolicy') && appState.get('targetPrivacyPolicy').href\n };\n }\n })\n });\n}).apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\n/***/ }),\n/* 636 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\nvar __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;\n\n/*!\n * Copyright (c) 2017, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n\n!(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(0), __webpack_require__(637)], __WEBPACK_AMD_DEFINE_RESULT__ = (function (Okta, ScopeItem) {\n\n return Okta.View.extend({\n className: 'scope-list detail-row',\n\n postRender: function postRender() {\n var _this = this;\n\n this.model.get('scopes').forEach(function (scope) {\n _this.add(ScopeItem, {\n options: {\n name: scope.displayName || scope.name,\n description: scope.description\n }\n });\n });\n }\n });\n}).apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\n/***/ }),\n/* 637 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\nvar __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;\n\n/*!\n * Copyright (c) 2017, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n\n!(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(0), __webpack_require__(168)], __WEBPACK_AMD_DEFINE_RESULT__ = (function (Okta) {\n\n return Okta.View.extend({\n className: 'scope-item',\n template: '\\\n <div class=\"scope-item-text\">\\\n <p>{{name}}</p>\\\n </div>\\\n {{#if description}}\\\n <span class=\"scope-item-tooltip icon form-help-16\" />\\\n {{/if}}\\\n ',\n\n postRender: function postRender() {\n this.$('.scope-item-tooltip').qtip({\n content: {\n text: this.options.description\n },\n style: { classes: 'okta-sign-in-tooltip qtip-custom qtip-shadow' },\n position: {\n my: 'bottom right',\n target: 'mouse'\n }\n });\n }\n });\n}).apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\n/***/ }),\n/* 638 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\nvar __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;\n\n/*!\n * Copyright (c) 2019, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n!(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(0), __webpack_require__(639), __webpack_require__(83), __webpack_require__(640), __webpack_require__(178)], __WEBPACK_AMD_DEFINE_RESULT__ = (function (Okta, EnrollUser, BaseLoginController, EnrollUserForm, FooterWithBackLink) {\n return BaseLoginController.extend({\n className: 'enroll-user',\n initialize: function initialize(options) {\n this.options = options || {};\n // create model\n this.model = new EnrollUser(this.options);\n },\n fetchInitialData: function fetchInitialData() {\n // If user is unauthenticated and starts enroll flow make a post call to transition state to PROFILE_REQUIRED\n if (this.options.appState.get('isUnauthenticated')) {\n return this.model.getEnrollFormData();\n } else {\n return BaseLoginController.prototype.fetchInitialData.call();\n }\n },\n trapAuthResponse: function trapAuthResponse() {\n if (this.options.appState.get('isProfileRequired')) {\n return true;\n }\n },\n postRender: function postRender() {\n var form = new EnrollUserForm(this.toJSON());\n this.add(form);\n this.add(new FooterWithBackLink(this.toJSON()));\n this.addListeners();\n }\n });\n}).apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\n/***/ }),\n/* 639 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\nvar __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;\n\n/*!\n * Copyright (c) 2019, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the 'License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n\n!(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(0), __webpack_require__(96)], __WEBPACK_AMD_DEFINE_RESULT__ = (function (Okta, BaseLoginModel) {\n var _ = Okta._;\n\n\n return BaseLoginModel.extend({\n initialize: function initialize(options) {\n this.options = options || {};\n this.appState = this.options.appState;\n },\n constructPostData: function constructPostData(profileAttributes) {\n var postData = {\n 'registration': {\n 'profile': profileAttributes\n }\n };\n // send createNewAccount flag for new user creation\n if (this.appState.get('policy').registration.createNewAccount) {\n postData.registration['createNewAccount'] = true;\n }\n return postData;\n },\n getEnrollFormData: function getEnrollFormData() {\n return this.manageTransaction(function (transaction, setTransaction) {\n return transaction.enroll().then(function (trans) {\n setTransaction(trans);\n });\n });\n },\n save: function save() {\n var data = BaseLoginModel.prototype.toJSON.apply(this, arguments);\n data = _.omit(data, ['appState', 'settings', 'createNewAccount']);\n if (_.isEmpty(data)) {\n var error = {\n 'errorSummary': Okta.loc('oform.errorbanner.title', 'login')\n };\n this.trigger('error', this, {\n responseJSON: error\n });\n } else {\n return this.manageTransaction(function (transaction, setTransaction) {\n transaction.enroll(this.constructPostData(data)).then(function (trans) {\n setTransaction(trans);\n });\n });\n }\n }\n });\n}).apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\n/***/ }),\n/* 640 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\nvar __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;\n\n/*!\n * Copyright (c) 2019, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n/* eslint max-len: [2, 130] */\n!(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(0), __webpack_require__(264), __webpack_require__(641)], __WEBPACK_AMD_DEFINE_RESULT__ = (function (Okta, RegistrationFormFactory, ProfileSchema) {\n return Okta.Form.extend({\n layout: 'o-form-theme',\n autoSave: true,\n noCancelButton: true,\n title: Okta.loc('registration.form.title', 'login'),\n save: Okta.loc('registration.form.submit', 'login'),\n initialize: function initialize(options) {\n var _this = this;\n\n this.options = options || {};\n this.schema = new ProfileSchema({ profileSchemaAttributes: this.options.appState.get('policy').registration.profile });\n this.schema.properties.each(function (schemaProperty) {\n var inputOptions = RegistrationFormFactory.createInputOptions(schemaProperty);\n _this.addInput(inputOptions);\n });\n var requiredFieldsLabel = Okta.tpl('<span class=\"required-fields-label\">{{label}}</span>')({\n label: Okta.loc('registration.required.fields.label', 'login')\n });\n this.add(requiredFieldsLabel);\n }\n });\n}).apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\n/***/ }),\n/* 641 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\nvar __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;\n\n/*!\n * Copyright (c) 2019, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n\n!(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(0)], __WEBPACK_AMD_DEFINE_RESULT__ = (function (Okta) {\n var _ = Okta._;\n var BaseSchema = Okta.internal.models.BaseSchema;\n\n\n return BaseSchema.Model.extend({\n expand: ['schema'],\n setFieldPlaceholder: function setFieldPlaceholder(formFields) {\n _.each(formFields, function (formField) {\n formField.title = formField.label;\n });\n return formFields;\n },\n initialize: function initialize(options) {\n var profileAttributes = options.profileSchemaAttributes;\n profileAttributes = this.setFieldPlaceholder(profileAttributes);\n if (profileAttributes) {\n var userProfileSchema = {\n 'properties': {}\n };\n for (var i = 0; i < profileAttributes.length; i++) {\n var profileAttributeObject = profileAttributes[i];\n userProfileSchema.properties[profileAttributeObject.name] = profileAttributeObject;\n }\n this.parse.apply(this, [{ 'schema': userProfileSchema }]);\n }\n }\n });\n}).apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\n/***/ }),\n/* 642 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\nvar __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;\n\n/*!\n * Copyright (c) 2015-2016, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n\n/* eslint complexity: [2, 8] */\n!(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(0), __webpack_require__(17), __webpack_require__(18), __webpack_require__(643), __webpack_require__(122)], __WEBPACK_AMD_DEFINE_RESULT__ = (function (Okta, Q, FactorUtil, FactorsDropDown, Factor) {\n\n return Okta.View.extend({\n\n template: '\\\n <div class=\"beacon-blank auth-beacon\">\\\n <div class=\"beacon-blank js-blank-beacon-border auth-beacon-border\"></div>\\\n </div>\\\n <div class=\"bg-helper auth-beacon auth-beacon-factor {{className}}\" data-se=\"factor-beacon\">\\\n <div class=\"okta-sign-in-beacon-border auth-beacon-border\"></div>\\\n </div>\\\n <div data-type=\"factor-types-dropdown\" class=\"factors-dropdown-wrap\"></div>\\\n ',\n\n events: {\n 'click .auth-beacon-factor': function clickAuthBeaconFactor(e) {\n e.preventDefault();\n e.stopPropagation();\n var expanded = this.$('.dropdown .options').toggle().is(':visible');\n this.$('a.option-selected').attr('aria-expanded', expanded);\n if (expanded) {\n this.$('#okta-dropdown-options').find('li.factor-option:first a').focus();\n }\n }\n },\n\n initialize: function initialize() {\n this.options.appState.set('beaconType', 'factor');\n },\n\n getTemplateData: function getTemplateData() {\n var factors = this.options.appState.get('factors'),\n factor,\n className;\n if (factors) {\n factor = FactorUtil.findFactorInFactorsArray(factors, this.options.provider, this.options.factorType);\n } else {\n factor = new Factor.Model(this.options.appState.get('factor'));\n }\n className = factor.get('iconClassName');\n return { className: className || '' };\n },\n\n postRender: function postRender() {\n if (this.options.animate) {\n this.$('.auth-beacon-factor').fadeIn(200);\n }\n var appState = this.options.appState;\n if (appState.get('hasMultipleFactorsAvailable')) {\n this.add(FactorsDropDown, '[data-type=\"factor-types-dropdown\"]');\n }\n },\n\n fadeOut: function fadeOut() {\n var deferred = Q.defer();\n this.$('.auth-beacon-factor').fadeOut(200, function () {\n deferred.resolve();\n });\n return deferred.promise;\n },\n\n equals: function equals(Beacon, options) {\n return Beacon && this instanceof Beacon && options.provider === this.options.provider && (options.factorType === this.options.factorType || FactorUtil.isOktaVerify(options.provider, options.factorType) && FactorUtil.isOktaVerify(this.options.provider, this.options.factorType));\n }\n\n });\n}).apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\n/***/ }),\n/* 643 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\nvar __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;\n\n/*!\n * Copyright (c) 2015-2016, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n\n!(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(0), __webpack_require__(18), __webpack_require__(122), __webpack_require__(644)], __WEBPACK_AMD_DEFINE_RESULT__ = (function (Okta, FactorUtil, Factor, FactorsDropDownOptions) {\n var _ = Okta._,\n $ = Okta.$;\n var BaseDropDown = Okta.internal.views.components.BaseDropDown;\n\n\n $(document).click(function (e) {\n var $target = $(e.target);\n var isDropdown = $target.closest('.option-selected').length > 0 && $target.closest('.dropdown').length > 0;\n if (!isDropdown) {\n $('.dropdown .options').hide();\n $('.dropdown a.option-selected').attr('aria-expanded', false);\n }\n });\n\n return BaseDropDown.extend({\n className: 'bg-helper icon-button',\n screenReaderText: function screenReaderText() {\n var factors = this.options.appState.get('factors'),\n factor,\n factorLabel;\n if (factors) {\n factor = FactorUtil.findFactorInFactorsArray(factors, this.options.provider, this.options.factorType);\n } else {\n factor = new Factor.Model(this.options.appState.get('factor'), this.toJSON());\n }\n factorLabel = factor.get('factorLabel');\n return Okta.loc('mfa.factors.dropdown.sr.text', 'login', [factorLabel]);\n },\n events: {\n 'click a.option-selected': function clickAOptionSelected(e) {\n e.preventDefault();\n if (_.result(this, 'disabled')) {\n e.stopPropagation();\n } else {\n var expanded = this.$('.options').toggle().is(':visible');\n this.$('a.option-selected').attr('aria-expanded', expanded);\n if (expanded) {\n this.$('#okta-dropdown-options').find('li.factor-option:first a').focus();\n }\n }\n },\n 'click .dropdown-disabled': function clickDropdownDisabled(e) {\n e.preventDefault();\n e.stopPropagation();\n }\n },\n initialize: function initialize() {\n this.addOption(FactorsDropDownOptions.getDropdownOption('TITLE'));\n var factorsList = this.options.appState.get('factors');\n var multiplePushFactors = factorsList.hasMultipleFactorsOfSameType('push');\n factorsList.each(function (factor) {\n // Do not add okta totp if there are multiple okta push (each push will have an inline totp)\n if (!(factor.get('factorType') === 'token:software:totp' && multiplePushFactors)) {\n this.addOption(FactorsDropDownOptions.getDropdownOption(factor.get('factorName')), { model: factor });\n this.listenTo(this.last(), 'options:toggle', function () {\n this.$('.options').hide();\n this.$('a.option-selected').attr('aria-expanded', false);\n });\n }\n }, this);\n }\n });\n}).apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\n/***/ }),\n/* 644 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\nvar __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;\n\n/*!\n * Copyright (c) 2015-2016, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n\n/* eslint max-statements: [2, 16], complexity: [2, 10] */\n!(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(0), __webpack_require__(24)], __WEBPACK_AMD_DEFINE_RESULT__ = (function (Okta, RouterUtil) {\n\n var _ = Okta._;\n\n // deviceName is escaped on BaseForm (see BaseForm's template)\n var pushTitleTpl = Okta.tpl('{{factorName}} ({{{deviceName}}})');\n var _action = function _action(model) {\n\n var factorIndex;\n var factorType = model.get('factorType');\n var factorsList = this.options.appState.get('factors');\n if (factorsList.hasMultipleFactorsOfSameType(factorType)) {\n factorIndex = factorsList.getFactorIndex(factorType, model.get('id'));\n }\n var url = RouterUtil.createVerifyUrl(model.get('provider'), factorType, factorIndex);\n var self = this;\n\n this.options.appState.trigger('factorSwitched');\n this.model.manageTransaction(function (transaction, setTransaction) {\n // FACTOR_CHALLENGE does not have a prev link\n if (transaction.status === 'FACTOR_CHALLENGE') {\n this.options.appState.set('trapMfaRequiredResponse', true);\n }\n if (transaction.status === 'MFA_CHALLENGE' && transaction.prev) {\n this.options.appState.set('trapMfaRequiredResponse', true);\n return transaction.prev().then(function (trans) {\n self.trigger('options:toggle');\n setTransaction(trans);\n self.options.appState.trigger('navigate', url);\n });\n } else {\n self.trigger('options:toggle');\n self.options.appState.trigger('navigate', url);\n }\n });\n };\n\n var dropdownOptions = {\n 'TITLE': {\n title: _.partial(Okta.loc, 'mfa.factors.dropdown.title', 'login'),\n className: 'dropdown-list-title',\n disabled: true\n },\n\n 'OKTA_VERIFY': {\n icon: 'factor-icon mfa-okta-verify-30',\n className: 'factor-option',\n title: function title() {\n return this.model.get('factorLabel');\n },\n action: function action() {\n _action.call(this, this.model);\n }\n },\n\n 'OKTA_VERIFY_PUSH': {\n icon: 'factor-icon mfa-okta-verify-30',\n className: 'factor-option',\n title: function title() {\n return pushTitleTpl({\n factorName: this.model.get('factorLabel'),\n deviceName: this.model.get('deviceName')\n });\n },\n action: function action() {\n _action.call(this, this.model);\n }\n },\n\n 'GOOGLE_AUTH': {\n icon: 'factor-icon mfa-google-auth-30',\n className: 'factor-option',\n title: function title() {\n return this.model.get('factorLabel');\n },\n action: function action() {\n _action.call(this, this.model);\n }\n },\n\n 'CUSTOM_HOTP': {\n icon: 'factor-icon mfa-hotp-30',\n className: 'factor-option',\n title: function title() {\n return this.model.get('factorLabel');\n },\n action: function action() {\n _action.call(this, this.model);\n }\n },\n\n 'SYMANTEC_VIP': {\n icon: 'factor-icon mfa-symantec-30',\n className: 'factor-option',\n title: function title() {\n return this.model.get('factorLabel');\n },\n action: function action() {\n _action.call(this, this.model);\n }\n },\n\n 'RSA_SECURID': {\n icon: 'factor-icon mfa-rsa-30',\n className: 'factor-option',\n title: _.partial(Okta.loc, 'factor.totpHard.rsaSecurId', 'login'),\n action: function action() {\n _action.call(this, this.model);\n }\n },\n\n 'ON_PREM': {\n icon: 'factor-icon mfa-onprem-30',\n className: 'factor-option',\n title: function title() {\n return this.model.get('factorLabel');\n },\n action: function action() {\n _action.call(this, this.model);\n }\n },\n\n 'DUO': {\n icon: 'factor-icon mfa-duo-30',\n className: 'factor-option',\n title: function title() {\n return this.model.get('factorLabel');\n },\n action: function action() {\n _action.call(this, this.model);\n }\n },\n\n 'DUO_PUSH': {\n icon: 'duo-push-16',\n className: 'suboption factor-option',\n // TODO: add phone number here\n title: _.partial(Okta.loc, 'mfa.duoSecurity.push', 'login', ['XXX-XXX-7890'])\n },\n\n 'DUO_SMS': {\n icon: 'duo-sms-16',\n className: 'suboption factor-option',\n // TODO: add phone number here\n title: _.partial(Okta.loc, 'mfa.duoSecurity.sms', 'login', ['XXX-XXX-7890'])\n },\n\n 'DUO_CALL': {\n icon: 'duo-call-16',\n className: 'suboption factor-option',\n // TODO: add phone number here\n title: _.partial(Okta.loc, 'mfa.duoSecurity.call', 'login', ['XXX-XXX-7890'])\n },\n\n 'YUBIKEY': {\n icon: 'factor-icon mfa-yubikey-30',\n className: 'factor-option',\n title: function title() {\n return this.model.get('factorLabel');\n },\n action: function action() {\n _action.call(this, this.model);\n }\n },\n\n 'SMS': {\n icon: 'factor-icon mfa-sms-30',\n className: 'factor-option',\n title: function title() {\n return this.model.get('factorLabel');\n },\n action: function action() {\n _action.call(this, this.model);\n }\n },\n\n 'CALL': {\n icon: 'factor-icon mfa-call-30',\n className: 'factor-option',\n title: function title() {\n return this.model.get('factorLabel');\n },\n action: function action() {\n _action.call(this, this.model);\n }\n },\n\n 'QUESTION': {\n icon: 'factor-icon mfa-question-30',\n className: 'factor-option',\n title: function title() {\n return this.model.get('factorLabel');\n },\n action: function action() {\n _action.call(this, this.model);\n }\n },\n\n 'PASSWORD': {\n icon: 'factor-icon mfa-password-30',\n className: 'factor-option',\n title: function title() {\n return this.model.get('factorLabel');\n },\n action: function action() {\n _action.call(this, this.model);\n }\n },\n\n 'WINDOWS_HELLO': {\n icon: 'factor-icon mfa-windows-hello-30',\n className: 'factor-option',\n title: function title() {\n return this.model.get('factorLabel');\n },\n action: function action() {\n _action.call(this, this.model);\n }\n },\n\n 'U2F': {\n icon: 'factor-icon mfa-u2f-30',\n className: 'factor-option',\n title: function title() {\n return this.model.get('factorLabel');\n },\n action: function action() {\n _action.call(this, this.model);\n }\n },\n\n 'WEBAUTHN': {\n icon: 'factor-icon mfa-webauthn-30',\n className: 'factor-option',\n title: function title() {\n return this.model.get('factorLabel');\n },\n action: function action() {\n _action.call(this, this.model);\n }\n },\n\n 'EMAIL': {\n icon: 'factor-icon mfa-email-30',\n className: 'factor-option',\n title: function title() {\n return this.model.get('factorLabel');\n },\n action: function action() {\n _action.call(this, this.model);\n }\n },\n\n 'GENERIC_SAML': {\n icon: 'factor-icon mfa-custom-factor-30',\n className: 'factor-option',\n title: function title() {\n return this.model.get('factorLabel');\n },\n action: function action() {\n _action.call(this, this.model);\n }\n },\n\n 'GENERIC_OIDC': {\n icon: 'factor-icon mfa-custom-factor-30',\n className: 'factor-option',\n title: function title() {\n return this.model.get('factorLabel');\n },\n action: function action() {\n _action.call(this, this.model);\n }\n },\n\n 'CUSTOM_CLAIMS': {\n icon: 'factor-icon mfa-custom-factor-30',\n className: 'factor-option',\n title: function title() {\n return this.model.get('factorLabel');\n },\n action: function action() {\n _action.call(this, this.model);\n }\n }\n\n };\n\n return {\n getDropdownOption: function getDropdownOption(factorName) {\n return dropdownOptions[factorName];\n }\n };\n}).apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\n/***/ }),\n/* 645 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\nvar __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;\n\n/*!\n * Copyright (c) 2019, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n\n!(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(0)], __WEBPACK_AMD_DEFINE_RESULT__ = (function (Okta) {\n\n return Okta.View.extend({\n\n className: 'piv-beacon',\n template: '\\\n <div class=\"beacon-blank auth-beacon\">\\\n <div class=\"beacon-blank js-blank-beacon-border auth-beacon-border\"></div>\\\n </div>\\\n <div class=\"bg-helper auth-beacon smartcard\" data-se=\"piv-beacon\">\\\n <div class=\"okta-sign-in-beacon-border auth-beacon-border\"></div>\\\n </div>\\\n ',\n\n equals: function equals(Beacon) {\n return Beacon && this instanceof Beacon;\n }\n\n });\n}).apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\n/***/ }),\n/* 646 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\nvar __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;\n\n/*!\n * Copyright (c) 2020, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n\n!(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(0), __webpack_require__(2)], __WEBPACK_AMD_DEFINE_RESULT__ = (function (Okta, FormController) {\n return FormController.extend({\n className: 'poll',\n Model: {\n save: function save() {\n var _this = this;\n\n this.trigger('cancelRequest');\n return this.appState.get('transaction').cancel().then(function () {\n _this.options.appState.trigger('navigate', '');\n }).fail(function () {\n _this._stopPolling();\n });\n }\n },\n\n Form: {\n autoSave: true,\n hasSavingState: false,\n title: function title() {\n return this.title;\n },\n className: 'poll-controller',\n noCancelButton: true,\n save: Okta.loc('oform.cancel', 'login'),\n modelEvents: {\n 'cancelRequest': '_stopPolling'\n },\n\n _startPolling: function _startPolling() {\n var _this2 = this;\n\n // start polling request \n this.transaction.poll().then(function (resp) {\n _this2.options.appState.set('transaction', resp);\n var factorPollingInterval = resp.factor.profile.refresh;\n var factorPollingIntervalSeconds = Math.floor(factorPollingInterval / 1000);\n // start one second countdown for next poll request\n _this2.countDown = setInterval(function () {\n // update title after every second and check if countdown == 1 to poll again\n var title = Okta.loc('polling.title', 'login', [factorPollingIntervalSeconds]);\n _this2.$el.find('.okta-form-title').text(title);\n if (factorPollingIntervalSeconds === 1) {\n // restart poll after countdown hits 1\n _this2._stopPolling();\n _this2._startPolling();\n } else {\n // reduce countdown after every second\n factorPollingIntervalSeconds = factorPollingIntervalSeconds - 1;\n }\n }, 1000);\n }).fail(function () {\n _this2._stopPolling();\n });\n },\n\n _stopPolling: function _stopPolling() {\n // clear polling\n if (this.countDown) {\n clearInterval(this.countDown);\n }\n },\n\n initialize: function initialize(options) {\n this.transaction = options.appState.get('transaction');\n this.factorPollingInterval = this.transaction.factor.profile.refresh;\n var factorPollingIntervalSeconds = Math.floor(this.factorPollingInterval / 1000);\n this.title = Okta.loc('polling.title', 'login', [factorPollingIntervalSeconds]);\n },\n\n postRender: function postRender() {\n this._startPolling(this.factorPollingInterval);\n }\n },\n\n back: function back() {\n // Empty function on verify controllers to prevent users\n // from navigating back during 'verify' using the browser's\n // back button. The URL will still change, but the view will not\n // More details in OKTA-135060.\n }\n\n });\n}).apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\n/***/ }),\n/* 647 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\nvar __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;\n\n/*!\n * Copyright (c) 2015-2016, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n\n!(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(0), __webpack_require__(18), __webpack_require__(2), __webpack_require__(4), __webpack_require__(24), __webpack_require__(182), __webpack_require__(19)], __WEBPACK_AMD_DEFINE_RESULT__ = (function (Okta, FactorUtil, FormController, FormType, RouterUtil, BarcodeView, Footer) {\n\n var _ = Okta._;\n\n return FormController.extend({\n className: 'barcode-totp',\n Model: function Model() {\n return {\n local: {\n '__factorType__': ['string', false, this.options.factorType],\n '__provider__': ['string', false, this.options.provider]\n }\n };\n },\n\n Form: {\n title: function title() {\n var factorName = FactorUtil.getFactorLabel(this.model.get('__provider__'), this.model.get('__factorType__'));\n return Okta.loc('enroll.totp.title', 'login', [factorName]);\n },\n subtitle: _.partial(Okta.loc, 'mfa.scanBarcode', 'login'),\n save: _.partial(Okta.loc, 'oform.next', 'login'),\n noCancelButton: true,\n attributes: { 'data-se': 'step-scan' },\n className: 'barcode-scan',\n\n formChildren: [FormType.View({ View: BarcodeView })]\n },\n\n Footer: Footer,\n\n initialize: function initialize() {\n this.listenTo(this.form, 'save', function () {\n var url = RouterUtil.createActivateFactorUrl(this.model.get('__provider__'), this.model.get('__factorType__'), 'activate');\n this.options.appState.trigger('navigate', url);\n });\n }\n });\n}).apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\n/***/ }),\n/* 648 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _FormController = __webpack_require__(649);\n\nvar _FormController2 = _interopRequireDefault(_FormController);\n\nvar _BaseLoginRouter = __webpack_require__(669);\n\nvar _BaseLoginRouter2 = _interopRequireDefault(_BaseLoginRouter);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/*!\n * Copyright (c) 2019, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n\nmodule.exports = _BaseLoginRouter2.default.extend({\n routes: {\n '': 'defaultAuth',\n '*wildcard': 'defaultAuth'\n },\n\n defaultAuth: function defaultAuth() {\n this.render(_FormController2.default);\n }\n\n});\n\n/***/ }),\n/* 649 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _okta = __webpack_require__(0);\n\n__webpack_require__(178);\n\nvar _ViewFactory = __webpack_require__(650);\n\nvar _ViewFactory2 = _interopRequireDefault(_ViewFactory);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = _okta.Controller.extend({\n className: 'form-controller',\n\n initialize: function initialize() {\n _okta.Controller.prototype.initialize.call(this);\n\n this.listenTo(this.options.appState, 'idxResponseUpdated', this.render);\n this.listenTo(this.options.appState, 'invokeAction', this.invokeAction);\n this.listenTo(this.options.appState, 'switchForm', this.switchForm);\n this.listenTo(this.options.appState, 'saveForm', this.handleFormSave);\n },\n\n preRender: function preRender() {\n this.removeChildren();\n },\n postRender: function postRender() {\n var currentViewState = this.options.appState.getCurrentViewState();\n\n var TheView = _ViewFactory2.default.create(currentViewState.name, this.options.appState.get('factorType'), this.options.appState.get('currentStep'));\n this.formView = this.add(TheView, {\n options: {\n currentViewState: currentViewState,\n messages: this.options.appState.get('messages')\n }\n }).last();\n\n this.listenTo(this.formView, 'save', this.handleFormSave);\n },\n invokeAction: function invokeAction() {\n var _this = this;\n\n var actionPath = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';\n\n var idx = this.options.appState.get('idx');\n if (idx['neededToProceed'][actionPath]) {\n idx.proceed(actionPath, {}).then(function (resp) {\n _this.options.appState.set('idx', resp);\n _this.options.appState.trigger('remediationSuccess', resp.rawIdxState);\n }).catch(function (error) {\n throw error;\n });\n return;\n }\n\n var actionFn = idx['actions'][actionPath];\n\n if (_okta._.isFunction(actionFn)) {\n // TODO: OKTA-243167\n // 1. what's the approach to show spinner indicating API in fligh?\n // 2. how to catch error?\n actionFn().then(function (resp) {\n _this.options.appState.set('idx', resp);\n _this.options.appState.trigger('remediationSuccess', resp.rawIdxState);\n }).catch(function (error) {\n throw error;\n });\n } else {\n throw 'Invalid action selected';\n }\n },\n switchForm: function switchForm(formName) {\n // trigger formname change to change view\n this.options.appState.set('currentFormName', formName);\n this.options.appState.trigger('idxResponseUpdated', formName);\n },\n handleFormSave: function handleFormSave(model) {\n var _this2 = this;\n\n var formName = model.get('formName');\n var idx = this.options.appState.get('idx');\n if (!idx['neededToProceed'][formName]) {\n model.trigger('error', 'Cannot find http action for \"' + formName + '\".');\n return;\n }\n\n this.toggleFormButtonState(true);\n model.trigger('request');\n return idx.proceed(formName, model.toJSON()).then(function (resp) {\n return _this2.updateAppStateWithNewIdx(resp);\n }).catch(function (error) {\n if (error.proceed && error.rawIdxState) {\n // Okta server responds 401 status code with WWW-Authenticate header and new remediation\n // so that the iOS/MacOS credential SSO extension (Okta Verify) can intercept\n // the response reaches here when Okta Verify is not installed\n // we need to return an idx object so that\n // the SIW can proceed to the next step without showing error\n _this2.updateAppStateWithNewIdx(error);\n } else {\n model.trigger('error', model, { 'responseJSON': error }, true);\n _this2.toggleFormButtonState(false);\n }\n });\n },\n\n\n updateAppStateWithNewIdx: function updateAppStateWithNewIdx(idxResp) {\n this.options.appState.set('idx', idxResp);\n this.options.appState.trigger('remediationSuccess', idxResp.rawIdxState);\n },\n\n /**\n * SignIn widget has its own (hacky) way to customize the button disabled state:\n * adding `link-button-disabled` despite the name was intend only to disable\n * `link-button`.\n * Instead of doing decent refactor, we want to follow the convention for now.\n *\n * @param {boolean} disabled whether add extra disable CSS class.\n */\n toggleFormButtonState: function toggleFormButtonState(disabled) {\n var button = this.$el.find('.o-form-button-bar .button');\n button.toggleClass('link-button-disabled', disabled);\n }\n\n}); /*!\n * Copyright (c) 2019, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n\n/***/ }),\n/* 650 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _defineProperty2 = __webpack_require__(177);\n\nvar _defineProperty3 = _interopRequireDefault(_defineProperty2);\n\nvar _terminalTransferred, _terminalReturn;\n\n// factor ignostic views\n\n// password\n\n\n//webauthn\n\n\n// email\n// import EnrollFactorEmailView from './views/email/EnrollFactorEmailView';\n\n\nvar _Logger = __webpack_require__(57);\n\nvar _Logger2 = _interopRequireDefault(_Logger);\n\nvar _BaseView = __webpack_require__(40);\n\nvar _BaseView2 = _interopRequireDefault(_BaseView);\n\nvar _IdentifierView = __webpack_require__(655);\n\nvar _IdentifierView2 = _interopRequireDefault(_IdentifierView);\n\nvar _DeviceChallengePollView = __webpack_require__(656);\n\nvar _DeviceChallengePollView2 = _interopRequireDefault(_DeviceChallengePollView);\n\nvar _SSOExtensionView = __webpack_require__(657);\n\nvar _SSOExtensionView2 = _interopRequireDefault(_SSOExtensionView);\n\nvar _SelectFactorEnrollView = __webpack_require__(658);\n\nvar _SelectFactorEnrollView2 = _interopRequireDefault(_SelectFactorEnrollView);\n\nvar _SelectFactorAuthenticateView = __webpack_require__(659);\n\nvar _SelectFactorAuthenticateView2 = _interopRequireDefault(_SelectFactorAuthenticateView);\n\nvar _EnrollProfileView = __webpack_require__(660);\n\nvar _EnrollProfileView2 = _interopRequireDefault(_EnrollProfileView);\n\nvar _TerminalView = __webpack_require__(269);\n\nvar _TerminalView2 = _interopRequireDefault(_TerminalView);\n\nvar _SuccessView = __webpack_require__(661);\n\nvar _SuccessView2 = _interopRequireDefault(_SuccessView);\n\nvar _EnrollFactorPasswordView = __webpack_require__(662);\n\nvar _EnrollFactorPasswordView2 = _interopRequireDefault(_EnrollFactorPasswordView);\n\nvar _RequiredFactorPasswordView = __webpack_require__(664);\n\nvar _RequiredFactorPasswordView2 = _interopRequireDefault(_RequiredFactorPasswordView);\n\nvar _RequiredFactorWebauthnView = __webpack_require__(665);\n\nvar _RequiredFactorWebauthnView2 = _interopRequireDefault(_RequiredFactorWebauthnView);\n\nvar _RequiredFactorEmailView = __webpack_require__(666);\n\nvar _RequiredFactorEmailView2 = _interopRequireDefault(_RequiredFactorEmailView);\n\nvar _TerminalReturnEmailView = __webpack_require__(667);\n\nvar _TerminalReturnEmailView2 = _interopRequireDefault(_TerminalReturnEmailView);\n\nvar _TerminalTransferedEmailView = __webpack_require__(668);\n\nvar _TerminalTransferedEmailView2 = _interopRequireDefault(_TerminalTransferedEmailView);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar DEFAULT = '_';\n\nvar VIEWS_MAPPING = {\n 'identify': (0, _defineProperty3.default)({}, DEFAULT, _IdentifierView2.default),\n 'device-challenge-poll': (0, _defineProperty3.default)({}, DEFAULT, _DeviceChallengePollView2.default),\n 'device-apple-sso-extension': (0, _defineProperty3.default)({}, DEFAULT, _SSOExtensionView2.default),\n 'cancel-transaction': (0, _defineProperty3.default)({}, DEFAULT, _SSOExtensionView2.default),\n 'select-factor': { //DEPRECATED: temporary backwards compatibility\n authenticate: _SelectFactorAuthenticateView2.default,\n enroll: _SelectFactorEnrollView2.default\n },\n 'select-factor-authenticate': (0, _defineProperty3.default)({}, DEFAULT, _SelectFactorAuthenticateView2.default),\n 'select-factor-enroll': (0, _defineProperty3.default)({}, DEFAULT, _SelectFactorEnrollView2.default),\n 'enroll-profile': (0, _defineProperty3.default)({}, DEFAULT, _EnrollProfileView2.default),\n 'enroll-factor': {\n email: _RequiredFactorEmailView2.default, // TODO EnrollFactorEmailView is unimplemented\n password: _EnrollFactorPasswordView2.default\n },\n 'challenge-factor': {\n email: _RequiredFactorEmailView2.default,\n password: _RequiredFactorPasswordView2.default,\n webauthn: _RequiredFactorWebauthnView2.default\n },\n 'terminal-transferred': (_terminalTransferred = {}, (0, _defineProperty3.default)(_terminalTransferred, DEFAULT, _TerminalView2.default), (0, _defineProperty3.default)(_terminalTransferred, 'email', _TerminalTransferedEmailView2.default), _terminalTransferred),\n 'terminal-return': (_terminalReturn = {}, (0, _defineProperty3.default)(_terminalReturn, DEFAULT, _TerminalView2.default), (0, _defineProperty3.default)(_terminalReturn, 'email', _TerminalReturnEmailView2.default), _terminalReturn),\n 'success-redirect': (0, _defineProperty3.default)({}, DEFAULT, _SuccessView2.default)\n};\n\nmodule.exports = {\n create: function create(formName) {\n var factorType = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : DEFAULT;\n var step = arguments[2];\n\n var config = VIEWS_MAPPING[formName];\n if (!config) {\n _Logger2.default.warn('Cannot find customized View (form: ' + formName + '). Fallback to default configuration.');\n if (formName.indexOf('terminal') === 0) {\n return _TerminalView2.default;\n } else {\n return _BaseView2.default;\n }\n }\n // look for customized view by step, then by factor, if not found then use DEFAULT\n var View = config[step] || config[factorType] || config[DEFAULT];\n\n if (!View) {\n _Logger2.default.warn('Cannot find customized View (form: ' + formName + ', factor: ' + factorType + '). Fallback to BaseView.');\n return _BaseView2.default;\n }\n\n return View;\n }\n};\n\n/***/ }),\n/* 651 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _assign = __webpack_require__(47);\n\nvar _assign2 = _interopRequireDefault(_assign);\n\nvar _okta = __webpack_require__(0);\n\nvar _FactorOptions = __webpack_require__(652);\n\nvar _FactorOptions2 = _interopRequireDefault(_FactorOptions);\n\nvar _FactorUtil = __webpack_require__(265);\n\nvar _FactorUtil2 = _interopRequireDefault(_FactorUtil);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar changeLabelToTop = function changeLabelToTop(opt) {\n return (0, _assign2.default)({}, opt, { 'label-top': true });\n};\n\nvar createFactorTypeView = function createFactorTypeView(opt) {\n var optionItems = (opt.options || []).map(function (opt) {\n return (0, _assign2.default)({}, _FactorUtil2.default.getFactorData(opt.factorType), opt);\n });\n return {\n View: _FactorOptions2.default,\n options: {\n name: opt.name,\n collection: new _okta.Collection(optionItems)\n }\n };\n};\nvar inputCreationStrategy = {\n text: changeLabelToTop,\n password: changeLabelToTop,\n factorType: createFactorTypeView\n};\n\nvar create = function create(uiSchemaObj) {\n var strategyFn = inputCreationStrategy[uiSchemaObj.type] || _okta._.identity;\n return strategyFn(uiSchemaObj);\n};\nmodule.exports = {\n create: create\n};\n\n/***/ }),\n/* 652 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _okta = __webpack_require__(0);\n\nvar FactorRow = _okta.View.extend({\n className: 'enroll-factor-row clearfix',\n template: '\\\n <div class=\"enroll-factor-icon-container\">\\\n <div class=\"factor-icon enroll-factor-icon {{iconClassName}}\">\\\n </div>\\\n </div>\\\n <div class=\"enroll-factor-description\">\\\n <h3 class=\"enroll-factor-label\">{{label}}</h3>\\\n {{#if factorDescription}}\\\n <p>{{factorDescription}} </p>\\\n {{/if}}\\\n <div class=\"enroll-factor-button\"></div>\\\n </div>\\\n ',\n children: function children() {\n return [[(0, _okta.createButton)({\n className: 'button select-factor',\n title: function title() {\n return 'Select';\n },\n click: function click() {\n this.model.trigger('selectFactor', this.model.get('value'));\n }\n }), '.enroll-factor-button']];\n },\n minimize: function minimize() {\n this.$el.addClass('enroll-factor-row-min');\n }\n}); /*!\n * Copyright (c) 2019, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\nexports.default = _okta.ListView.extend({\n\n className: 'enroll-factor-list',\n\n item: FactorRow,\n\n itemSelector: '.list-content',\n\n initialize: function initialize() {\n this.listenTo(this.collection, 'selectFactor', function (data) {\n this.model.set(this.options.name, data);\n this.options.appState.trigger('saveForm', this.model);\n });\n },\n\n template: '<div class=\"list-content\"></div>'\n\n});\n\n/***/ }),\n/* 653 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _defineProperty2 = __webpack_require__(177);\n\nvar _defineProperty3 = _interopRequireDefault(_defineProperty2);\n\nvar _assign = __webpack_require__(47);\n\nvar _assign2 = _interopRequireDefault(_assign);\n\nvar _okta = __webpack_require__(0);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar covertIonFieldToProp = function covertIonFieldToProp(ionField) {\n var config = (0, _assign2.default)({}, _okta._.chain(ionField).pick('minLength', 'maxLength', 'required').defaults({ type: 'string', required: true }).value());\n return (0, _defineProperty3.default)({}, ionField.name, config);\n}; /*!\n * Copyright (c) 2019, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n\n\nvar create = function create() {\n var remediation = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n var value = remediation.uiSchema;\n var props = _okta._.chain(value).map(covertIonFieldToProp).reduce(function (init, field) {\n return (0, _assign2.default)({}, init, field);\n }).value();\n\n var BaseModel = _okta.Model.extend({\n props: props,\n\n local: {\n formName: 'string'\n }\n });\n\n return BaseModel;\n};\n\nmodule.exports = {\n create: create\n};\n\n/***/ }),\n/* 654 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _okta = __webpack_require__(0);\n\nvar Link = _okta.View.extend({\n\n template: '{{label}}',\n\n tagName: 'a',\n\n attributes: function attributes() {\n var href = this.options.href || '#';\n return {\n 'data-se': this.options.name,\n href: href\n };\n },\n className: function className() {\n var nameToClass = this.options.name.replace(/[ ]/g, '-');\n\n return 'link js-' + nameToClass;\n },\n postRender: function postRender() {\n var _this = this;\n\n //TODO OKTA-245224\n if (!this.options.href) {\n this.$el.click(function (event) {\n var appState = _this.options.appState;\n event.preventDefault();\n _this.options.formName ? appState.trigger('switchForm', _this.options.formName) : appState.trigger('invokeAction', _this.options.actionPath);\n });\n }\n }\n}); /*!\n * Copyright (c) 2019, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n\nmodule.exports = Link;\n\n/***/ }),\n/* 655 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _okta = __webpack_require__(0);\n\nvar _BaseView = __webpack_require__(40);\n\nvar _BaseView2 = _interopRequireDefault(_BaseView);\n\nvar _BaseForm = __webpack_require__(28);\n\nvar _BaseForm2 = _interopRequireDefault(_BaseForm);\n\nvar _BaseFooter = __webpack_require__(59);\n\nvar _BaseFooter2 = _interopRequireDefault(_BaseFooter);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar Body = _BaseForm2.default.extend({\n\n title: (0, _okta.loc)('primaryauth.title'),\n save: (0, _okta.loc)('oform.next', 'login'),\n initialize: function initialize() {\n _BaseForm2.default.prototype.initialize.apply(this, arguments);\n if (this.options.appState.hasRemediationForm('launch-authenticator')) {\n this.add(_okta.View.extend({\n className: 'sign-in-with-device-option',\n template: '\\n <div class=\"okta-verify-container\"></div>\\n <div class=\"separation-line\"><span>OR</span></div>\\n ',\n initialize: function initialize() {\n var appState = this.options.appState;\n this.add((0, _okta.createButton)({\n className: 'button-secondary',\n title: 'Sign in using Okta Verify',\n click: function click() {\n appState.trigger('invokeAction', 'launch-authenticator');\n }\n }), '.okta-verify-container');\n }\n }), '.o-form-fieldset-container', false, true);\n }\n }\n});\n\nvar Footer = _BaseFooter2.default.extend({\n links: function links() {\n var baseUrl = this.options.settings.get('baseUrl');\n var href = baseUrl + '/help/login';\n if (this.options.settings.get('helpLinks.help')) {\n href = this.options.settings.get('helpLinks.help');\n }\n var signupLinkObj = {\n 'type': 'link',\n 'label': 'Sign up',\n 'name': 'enroll',\n 'actionPath': 'select-enroll-profile'\n };\n var links = [{\n 'name': 'help',\n 'label': 'Need help signing in?',\n 'href': href\n }];\n if (this.options.appState.hasRemediationForm('select-enroll-profile')) {\n links.push(signupLinkObj);\n }\n return links;\n }\n});\n\nexports.default = _BaseView2.default.extend({\n Body: Body,\n Footer: Footer\n});\n\n/***/ }),\n/* 656 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _promise = __webpack_require__(172);\n\nvar _promise2 = _interopRequireDefault(_promise);\n\nvar _stringify = __webpack_require__(77);\n\nvar _stringify2 = _interopRequireDefault(_stringify);\n\nvar _assign = __webpack_require__(47);\n\nvar _assign2 = _interopRequireDefault(_assign);\n\nvar _okta = __webpack_require__(0);\n\nvar _BaseView = __webpack_require__(40);\n\nvar _BaseView2 = _interopRequireDefault(_BaseView);\n\nvar _BaseForm = __webpack_require__(28);\n\nvar _BaseForm2 = _interopRequireDefault(_BaseForm);\n\nvar _BaseFooter = __webpack_require__(59);\n\nvar _BaseFooter2 = _interopRequireDefault(_BaseFooter);\n\nvar _Logger = __webpack_require__(57);\n\nvar _Logger2 = _interopRequireDefault(_Logger);\n\nvar _DeviceFingerprint = __webpack_require__(174);\n\nvar _DeviceFingerprint2 = _interopRequireDefault(_DeviceFingerprint);\n\nvar _polling = __webpack_require__(268);\n\nvar _polling2 = _interopRequireDefault(_polling);\n\nvar _Util = __webpack_require__(13);\n\nvar _Util2 = _interopRequireDefault(_Util);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/* global Promise */\nvar request = function request(opts) {\n var ajaxOptions = (0, _assign2.default)({\n method: 'GET',\n contentType: 'application/json'\n }, opts);\n return _okta.$.ajax(ajaxOptions);\n};\n\nvar Body = _BaseForm2.default.extend((0, _assign2.default)({\n noButtonBar: true,\n\n className: 'ion-form device-challenge-poll',\n\n initialize: function initialize() {\n _BaseForm2.default.prototype.initialize.apply(this, arguments);\n this.listenTo(this.model, 'error', this.onPollingFail);\n this.deviceChallengePollRemediation = this.options.appState.getCurrentViewState();\n this.doChallenge();\n this.startDevicePolling();\n },\n onPollingFail: function onPollingFail() {\n this.$('.spinner').hide();\n this.stopPolling();\n },\n remove: function remove() {\n _BaseForm2.default.prototype.remove.apply(this, arguments);\n this.stopPolling();\n },\n doChallenge: function doChallenge() {\n var deviceChallenge = this.options.appState.get(this.deviceChallengePollRemediation.relatesTo);\n switch (deviceChallenge.challengeMethod) {\n case 'LOOPBACK':\n this.title = (0, _okta.loc)('signin.with.fastpass', 'login');\n this.add('<div class=\"spinner\"></div>');\n this.doLoopback(deviceChallenge.domain, deviceChallenge.ports, deviceChallenge.challengeRequest);\n break;\n case 'CUSTOM_URI':\n this.title = (0, _okta.loc)('customUri.title', 'login');\n this.subtitle = (0, _okta.loc)('customUri.subtitle', 'login');\n this.add('\\n {{{i18n code=\"customUri.content\" bundle=\"login\"}}}\\n ');\n this.customURI = deviceChallenge.href;\n this.doCustomURI();\n break;\n case 'UNIVERSAL_LINK':\n this.title = (0, _okta.loc)('universalLink.title', 'login');\n this.add('\\n {{{i18n code=\"universalLink.content\" bundle=\"login\"}}}\\n ');\n this.add((0, _okta.createButton)({\n className: 'ul-button button button-wide button-primary',\n title: (0, _okta.loc)('universalLink.button', 'login'),\n click: function click() {\n // only window.location.href can open universal link in iOS/MacOS\n // other methods won't do, ex, AJAX get or form get (Util.redirectWithFormGet)\n _Util2.default.redirect(deviceChallenge.href);\n }\n }));\n }\n },\n postRender: function postRender() {\n _BaseForm2.default.prototype.postRender.apply(this, arguments);\n this.$('#launch-ov').on('click', this.doCustomURI.bind(this));\n },\n doLoopback: function doLoopback() {\n var authenticatorDomainUrl = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';\n\n var _this = this;\n\n var ports = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];\n var challengeRequest = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : '';\n\n var currentPort = void 0;\n var foundPort = false;\n var countFailedPorts = 0;\n\n var getAuthenticatorUrl = function getAuthenticatorUrl(path) {\n return authenticatorDomainUrl + ':' + currentPort + '/' + path;\n };\n\n var checkPort = function checkPort() {\n return request({\n url: getAuthenticatorUrl('probe'),\n // in loopback server, SSL handshake sometimes takes more than 1000 ms and thus needs additional timeout\n // however, increasing timeout is a temporary solution since user will need to wait much longer in worst case\n // TODO: OKTA-278573 Android timeout is temporarily set to 3000ms and needs optimization post-Beta\n timeout: _DeviceFingerprint2.default.isAndroid() ? 3000 : 1000\n });\n };\n\n var onPortFound = function onPortFound() {\n foundPort = true;\n return request({\n url: getAuthenticatorUrl('challenge'),\n method: 'POST',\n data: (0, _stringify2.default)({ challengeRequest: challengeRequest }),\n timeout: 3000 // authenticator should respond within 3000ms for challenge request\n });\n };\n\n var onFailure = function onFailure() {\n _Logger2.default.error('Something unexpected happened while we were checking port ' + currentPort + '.');\n };\n\n var doProbing = function doProbing() {\n return checkPort().done(onPortFound).fail(onFailure);\n };\n\n var probeChain = _promise2.default.resolve();\n ports.forEach(function (port) {\n probeChain = probeChain.then(function () {\n if (!foundPort) {\n currentPort = port;\n return doProbing();\n }\n }).catch(function () {\n countFailedPorts++;\n _Logger2.default.error('Authenticator is not listening on port ' + currentPort + '.');\n if (countFailedPorts === ports.length) {\n _Logger2.default.error('No available ports. Loopback server failed and polling is cancelled.');\n _this.options.appState.trigger('invokeAction', 'authenticatorChallenge-cancel');\n }\n });\n });\n },\n doCustomURI: function doCustomURI() {\n this.customURI && _Util2.default.redirectWithFormGet(this.customURI);\n }\n}, _polling2.default));\n\nvar Footer = _BaseFooter2.default.extend({\n links: function links() {\n var links = [];\n var deviceChallenge = this.options.appState.get(this.options.appState.getCurrentViewState().relatesTo);\n if (deviceChallenge.challengeMethod === 'CUSTOM_URI') {\n links = [{\n name: 'sign-in-options',\n type: 'link',\n label: (0, _okta.loc)('goback', 'login'),\n href: this.settings.get('baseUrl')\n }];\n }\n return links;\n }\n});\n\nexports.default = _BaseView2.default.extend({\n Body: Body,\n Footer: Footer\n});\n\n/***/ }),\n/* 657 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _BaseView = __webpack_require__(40);\n\nvar _BaseView2 = _interopRequireDefault(_BaseView);\n\nvar _BaseForm = __webpack_require__(28);\n\nvar _BaseForm2 = _interopRequireDefault(_BaseForm);\n\nvar _Util = __webpack_require__(13);\n\nvar _Util2 = _interopRequireDefault(_Util);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n// for BETA,\n// redirect is needed for Apple SSO Extension to intercept the request, because\n// - XHR request is not interceptable\n// - form post is interceptable, but some app (Outlook) closes the app after\n// We may have a different approach/UX for EA\nvar Body = _BaseForm2.default.extend({\n noButtonBar: true,\n\n title: 'You are being redirected',\n\n initialize: function initialize() {\n var _this = this;\n\n _BaseForm2.default.prototype.initialize.apply(this, arguments);\n\n // TODO: OKTA-286547\n // this should be handle by the foundation, not on the view level\n var method = this.options.appState.get('remediations').filter(function (v) {\n return v.name === _this.options.appState.get('currentFormName');\n })[0].method || '';\n if (method.toLowerCase() === 'get') {\n _Util2.default.redirectWithFormGet(this.options.currentViewState.href);\n } else {\n this.add('<div class=\"spinner\"></div>');\n this.options.appState.trigger('saveForm', this.model);\n }\n }\n});\n\nexports.default = _BaseView2.default.extend({\n Body: Body\n});\n\n/***/ }),\n/* 658 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _BaseView = __webpack_require__(40);\n\nvar _BaseView2 = _interopRequireDefault(_BaseView);\n\nvar _BaseForm = __webpack_require__(28);\n\nvar _BaseForm2 = _interopRequireDefault(_BaseForm);\n\nvar _okta = __webpack_require__(0);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar Body = _BaseForm2.default.extend({\n title: function title() {\n return (0, _okta.loc)('enroll.choices.setup', 'login');\n },\n subtitle: (0, _okta.loc)('enroll.choices.description', 'login'),\n noButtonBar: true\n});\n\nexports.default = _BaseView2.default.extend({\n Body: Body\n});\n\n/***/ }),\n/* 659 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _BaseView = __webpack_require__(40);\n\nvar _BaseView2 = _interopRequireDefault(_BaseView);\n\nvar _BaseForm = __webpack_require__(28);\n\nvar _BaseForm2 = _interopRequireDefault(_BaseForm);\n\nvar _okta = __webpack_require__(0);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar Body = _BaseForm2.default.extend({\n title: function title() {\n if (this.isPasswordRecoveryFlow()) {\n return (0, _okta.loc)('password.reset.title.generic', 'login');\n }\n return (0, _okta.loc)('mfa.factors.dropdown.title', 'login');\n },\n subtitle: function subtitle() {\n if (this.isPasswordRecoveryFlow()) {\n return (0, _okta.loc)('password.reset.verification', 'login');\n }\n return (0, _okta.loc)('verify.choices.description', 'login');\n },\n isPasswordRecoveryFlow: function isPasswordRecoveryFlow() {\n var recoveryFactor = this.options.appState.get('recoveryFactor');\n return recoveryFactor && recoveryFactor.factorType === 'password';\n },\n\n noButtonBar: true\n});\n\nexports.default = _BaseView2.default.extend({\n Body: Body\n});\n\n/***/ }),\n/* 660 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _okta = __webpack_require__(0);\n\nvar _BaseView = __webpack_require__(40);\n\nvar _BaseView2 = _interopRequireDefault(_BaseView);\n\nvar _BaseForm = __webpack_require__(28);\n\nvar _BaseForm2 = _interopRequireDefault(_BaseForm);\n\nvar _BaseFooter = __webpack_require__(59);\n\nvar _BaseFooter2 = _interopRequireDefault(_BaseFooter);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar Body = _BaseForm2.default.extend({\n title: function title() {\n return (0, _okta.loc)('registration.form.title', 'login');\n },\n\n\n save: (0, _okta.loc)('registration.form.submit', 'login')\n});\n\nvar Footer = _BaseFooter2.default.extend({\n links: function links() {\n var links = [];\n if (this.options.appState.hasRemediationForm('select-identify')) {\n links.push({\n 'type': 'link',\n 'label': 'Already have an account ?',\n 'name': 'back',\n 'actionPath': 'select-identify'\n });\n }\n return links;\n }\n});\n\nexports.default = _BaseView2.default.extend({\n Body: Body,\n Footer: Footer\n});\n\n/***/ }),\n/* 661 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _BaseView = __webpack_require__(40);\n\nvar _BaseView2 = _interopRequireDefault(_BaseView);\n\nvar _BaseForm = __webpack_require__(28);\n\nvar _BaseForm2 = _interopRequireDefault(_BaseForm);\n\nvar _Util = __webpack_require__(13);\n\nvar _Util2 = _interopRequireDefault(_Util);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar Body = _BaseForm2.default.extend({\n title: function title() {\n return 'You will be redirected';\n },\n\n noButtonBar: true,\n initialize: function initialize() {\n _BaseForm2.default.prototype.initialize.apply(this, arguments);\n // TODO OKTA-250473\n // Form post for success redirect\n var url = this.options.appState.getCurrentViewState().href;\n _Util2.default.redirectWithFormGet(url);\n }\n});\n\nexports.default = _BaseView2.default.extend({\n Body: Body\n});\n\n/***/ }),\n/* 662 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _assign = __webpack_require__(47);\n\nvar _assign2 = _interopRequireDefault(_assign);\n\nvar _okta = __webpack_require__(0);\n\nvar _BaseView = __webpack_require__(40);\n\nvar _BaseView2 = _interopRequireDefault(_BaseView);\n\nvar _BaseForm = __webpack_require__(28);\n\nvar _BaseForm2 = _interopRequireDefault(_BaseForm);\n\nvar _BaseFactorView = __webpack_require__(99);\n\nvar _BaseFactorView2 = _interopRequireDefault(_BaseFactorView);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar Body = _BaseForm2.default.extend({\n title: (0, _okta.loc)('enroll.password.setup', 'login'),\n save: (0, _okta.loc)('save.password', 'login'),\n\n getUISchema: function getUISchema() {\n var uiSchemas = _BaseForm2.default.prototype.getUISchema.apply(this, arguments);\n return uiSchemas.concat([{\n name: 'confirmPassword',\n label: 'Repeat Password',\n type: 'password',\n params: {\n showPasswordToggle: true\n }\n }]);\n }\n});\n\nexports.default = _BaseFactorView2.default.extend({\n\n Body: Body,\n\n createModelClass: function createModelClass() {\n var ModelClass = _BaseView2.default.prototype.createModelClass.apply(this, arguments);\n var local = (0, _assign2.default)({\n confirmPassword: {\n type: 'string',\n required: true\n }\n }, ModelClass.prototype.local);\n return ModelClass.extend({\n local: local,\n validate: function validate() {\n if (this.get('credentials.passcode') !== this.get('confirmPassword') && this.get('credential.value') !== this.get('confirmPassword')) {\n\n var ret = {};\n ret['confirmPassword'] = (0, _okta.loc)('password.error.match', 'login');\n return ret;\n }\n }\n\n });\n }\n});\n\n/***/ }),\n/* 663 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _HeaderBeacon = __webpack_require__(267);\n\nvar _HeaderBeacon2 = _interopRequireDefault(_HeaderBeacon);\n\nvar _FactorUtil = __webpack_require__(265);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/*!\n * Copyright (c) 2019, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\nvar BeaconView = _HeaderBeacon2.default.extend({\n\n getBeaconClassName: function getBeaconClassName() {\n var factorType = this.options.appState.get('factorType');\n return (0, _FactorUtil.getFactorData)(factorType).iconClassName;\n }\n});\n\nmodule.exports = BeaconView;\n\n/***/ }),\n/* 664 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _okta = __webpack_require__(0);\n\nvar _BaseForm = __webpack_require__(28);\n\nvar _BaseForm2 = _interopRequireDefault(_BaseForm);\n\nvar _BaseFooter = __webpack_require__(59);\n\nvar _BaseFooter2 = _interopRequireDefault(_BaseFooter);\n\nvar _BaseFactorView = __webpack_require__(99);\n\nvar _BaseFactorView2 = _interopRequireDefault(_BaseFactorView);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar recoveryLinkAction = 'factor-recover';\n\nvar Body = _BaseForm2.default.extend({\n\n title: (0, _okta.loc)('factor.password', 'login'),\n\n save: (0, _okta.loc)('mfa.challenge.verify', 'login')\n});\n\nvar Footer = _BaseFooter2.default.extend({\n links: function links() {\n // recovery link\n var links = [];\n\n if (this.options.appState.getActionByPath(recoveryLinkAction)) {\n links.push({\n 'type': 'link',\n 'label': 'Forgot Password',\n 'name': 'forgot-password',\n 'actionPath': recoveryLinkAction\n });\n }\n // check if we have a select-factor form in remediation, if so add a link\n if (this.options.appState.hasRemediationForm('select-factor-authenticate')) {\n links.push({\n 'type': 'link',\n 'label': 'Switch Factor',\n 'name': 'switchFactor',\n 'formName': 'select-factor-authenticate'\n });\n }\n return links;\n }\n});\n\nexports.default = _BaseFactorView2.default.extend({\n Body: Body,\n Footer: Footer\n});\n\n/***/ }),\n/* 665 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _okta = __webpack_require__(0);\n\nvar _BaseForm = __webpack_require__(28);\n\nvar _BaseForm2 = _interopRequireDefault(_BaseForm);\n\nvar _BaseFooter = __webpack_require__(59);\n\nvar _BaseFooter2 = _interopRequireDefault(_BaseFooter);\n\nvar _BaseFactorView = __webpack_require__(99);\n\nvar _BaseFactorView2 = _interopRequireDefault(_BaseFactorView);\n\nvar _CryptoUtil = __webpack_require__(180);\n\nvar _CryptoUtil2 = _interopRequireDefault(_CryptoUtil);\n\nvar _webauthn = __webpack_require__(97);\n\nvar _webauthn2 = _interopRequireDefault(_webauthn);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar Body = _BaseForm2.default.extend({\n\n title: (0, _okta.loc)('factor.webauthn.biometric', 'login'),\n\n getUISchema: function getUISchema() {\n var _this = this;\n\n var schema = [];\n // Returning custom array so no input fields are displayed for webauthn\n if (_webauthn2.default.isNewApiAvailable()) {\n var retryButton = (0, _okta.createButton)({\n className: 'retry-webauthn button-primary default-custom-button',\n title: (0, _okta.loc)('retry', 'login'),\n click: function click() {\n _this.getCredentialsAndSave();\n }\n });\n\n schema.push({\n View: '<div class=\"webauthn-verify-text idx-webauthn-verify-text\">\\\n <p>{{i18n code=\"verify.webauthn.biometric.instructions\" bundle=\"login\"}}</p>\\\n <div data-se=\"webauthn-waiting\" class=\"okta-waiting-spinner\"></div>\\\n </div>'\n }, {\n View: retryButton\n });\n }\n return schema;\n },\n remove: function remove() {\n _BaseForm2.default.prototype.remove.apply(this, arguments);\n if (this.webauthnAbortController) {\n this.webauthnAbortController.abort();\n this.webauthnAbortController = null;\n }\n },\n\n\n noButtonBar: true,\n\n modelEvents: {\n 'error': '_stopVerification'\n },\n\n getCredentialsAndSave: function getCredentialsAndSave() {\n var _this2 = this;\n\n this.clearErrors();\n this._startVerification();\n this.webauthnAbortController = new AbortController();\n var factor = this.options.appState.get('factor');\n var allowCredentials = [{\n type: 'public-key',\n id: _CryptoUtil2.default.strToBin(factor.contextualData.profile.credentialId)\n }];\n var options = {\n allowCredentials: allowCredentials,\n challenge: _CryptoUtil2.default.strToBin(factor.contextualData.challengeData.challenge)\n };\n navigator.credentials.get({\n publicKey: options,\n signal: this.webauthnAbortController.signal\n }).then(function (assertion) {\n _this2.model.set({\n credentials: {\n clientData: _CryptoUtil2.default.binToStr(assertion.response.clientDataJSON),\n authenticatorData: _CryptoUtil2.default.binToStr(assertion.response.authenticatorData),\n signatureData: _CryptoUtil2.default.binToStr(assertion.response.signature)\n }\n });\n _this2.saveForm(_this2.model);\n }, function (error) {\n // Do not display if it is abort error triggered by code when switching.\n // this.webauthnAbortController would be null if abort was triggered by code.\n if (_this2.webauthnAbortController) {\n _this2.model.trigger('error', _this2.model, { responseJSON: { errorSummary: error.message } });\n }\n }).finally(function () {\n // unset webauthnAbortController on successful authentication or error\n _this2.webauthnAbortController = null;\n });\n },\n\n\n postRender: function postRender() {\n var _this3 = this;\n\n _okta._.defer(function () {\n if (_webauthn2.default.isNewApiAvailable()) {\n _this3.getCredentialsAndSave();\n } else {\n _this3.model.trigger('error', _this3.model, {\n responseJSON: {\n errorSummary: (0, _okta.loc)('webauthn.biometric.error.factorNotSupported', 'login')\n }\n });\n _this3.$('[data-se=\"webauthn-waiting\"]').hide();\n }\n });\n },\n\n _startVerification: function _startVerification() {\n this.$('.okta-waiting-spinner').show();\n this.$('.retry-webauthn').hide();\n },\n\n _stopVerification: function _stopVerification() {\n this.$('.okta-waiting-spinner').hide();\n this.$('.retry-webauthn').show();\n }\n});\n\nvar Footer = _BaseFooter2.default.extend({\n links: function links() {\n // recovery link\n var links = [];\n\n // check if we have a select-factor form in remediation, if so add a link\n if (this.options.appState.hasRemediationForm('select-factor')) {\n links.push({\n 'type': 'link',\n 'label': 'Switch Factor',\n 'name': 'switchFactor',\n 'formName': 'select-factor'\n });\n }\n return links;\n }\n});\n\nexports.default = _BaseFactorView2.default.extend({\n Body: Body,\n Footer: Footer\n});\n\n/***/ }),\n/* 666 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _assign = __webpack_require__(47);\n\nvar _assign2 = _interopRequireDefault(_assign);\n\nvar _okta = __webpack_require__(0);\n\nvar _BaseForm = __webpack_require__(28);\n\nvar _BaseForm2 = _interopRequireDefault(_BaseForm);\n\nvar _BaseFooter = __webpack_require__(59);\n\nvar _BaseFooter2 = _interopRequireDefault(_BaseFooter);\n\nvar _email = __webpack_require__(270);\n\nvar _email2 = _interopRequireDefault(_email);\n\nvar _polling = __webpack_require__(268);\n\nvar _polling2 = _interopRequireDefault(_polling);\n\nvar _BaseFactorView = __webpack_require__(99);\n\nvar _BaseFactorView2 = _interopRequireDefault(_BaseFactorView);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar SHOW_RESEND_TIMEOUT = 60000;\n\nvar ResendView = _okta.View.extend({\n // by default is hide after one minute polling\n className: 'hide resend-email-view',\n initialize: function initialize() {\n this.add((0, _okta.createCallout)({\n subtitle: 'Haven\\'t received an email? To try again, click \"Resend Email\"',\n type: 'warning'\n }));\n this.add((0, _okta.createButton)({\n className: 'button',\n title: 'Resend Email',\n click: function click() {\n this.options.appState.trigger('invokeAction', 'factor-resend');\n }\n }));\n },\n postRender: function postRender() {\n var _this = this;\n\n this.showMeTimeout = _okta._.delay(function () {\n _this.$el.removeClass('hide');\n }, SHOW_RESEND_TIMEOUT);\n },\n remove: function remove() {\n _okta.View.prototype.remove.apply(this, arguments);\n clearTimeout(this.showMeTimeout);\n }\n});\n\nvar Body = _BaseForm2.default.extend((0, _assign2.default)({\n save: (0, _okta.loc)('mfa.challenge.verify', 'login'),\n\n initialize: function initialize() {\n _BaseForm2.default.prototype.initialize.apply(this, arguments);\n this.add('<div class=\"email-verification-description\">An email has been sent to you. \\n Please click the link in your email or enter the code from that email below.</div>');\n // polling has been killed when click save to avoid race conditions\n // hence resume if save failed.\n this.listenTo(this.options.model, 'error', this.startPolling.bind(this));\n },\n saveForm: function saveForm() {\n _BaseForm2.default.prototype.saveForm.apply(this, arguments);\n this.stopPolling();\n // TODO: abort ongoing request. (https://oktainc.atlassian.net/browse/OKTA-244134)\n },\n postRender: function postRender() {\n this.add(ResendView, {\n selector: '.o-form-fieldset-container',\n prepend: true\n });\n\n this.startPolling();\n },\n remove: function remove() {\n _BaseForm2.default.prototype.remove.apply(this, arguments);\n this.stopPolling();\n }\n}, _email2.default, _polling2.default));\n\nvar Footer = _BaseFooter2.default.extend({\n links: function links() {\n var links = [\n // email recovery not supported to LEA\n ];\n // check if we have a select-factor form in remediation, if so add a link\n if (this.options.appState.hasRemediationForm('select-factor-authenticate')) {\n links.push({\n 'type': 'link',\n 'label': 'Switch Factor',\n 'name': 'switchFactor',\n 'formName': 'select-factor-authenticate'\n });\n }\n return links;\n }\n});\n\nexports.default = _BaseFactorView2.default.extend({\n Body: Body,\n Footer: Footer\n});\n\n/***/ }),\n/* 667 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _assign = __webpack_require__(47);\n\nvar _assign2 = _interopRequireDefault(_assign);\n\nvar _email = __webpack_require__(270);\n\nvar _email2 = _interopRequireDefault(_email);\n\nvar _BaseFactorTerminalView = __webpack_require__(271);\n\nvar _BaseFactorTerminalView2 = _interopRequireDefault(_BaseFactorTerminalView);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar Body = _BaseFactorTerminalView2.default.prototype.Body.extend((0, _assign2.default)({\n subtitle: 'To finish signing in, return to the screen where you requested the email link.'\n}, _email2.default));\n\nexports.default = _BaseFactorTerminalView2.default.extend({\n Body: Body\n});\n\n/***/ }),\n/* 668 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _BaseFactorTerminalView = __webpack_require__(271);\n\nvar _BaseFactorTerminalView2 = _interopRequireDefault(_BaseFactorTerminalView);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar Body = _BaseFactorTerminalView2.default.prototype.Body.extend({\n title: function title() {\n return 'You can close this window';\n }\n});\n\nexports.default = _BaseFactorTerminalView2.default.extend({\n Body: Body\n});\n\n/***/ }),\n/* 669 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _okta = __webpack_require__(0);\n\nvar _Settings = __webpack_require__(256);\n\nvar _Settings2 = _interopRequireDefault(_Settings);\n\nvar _BrowserFeatures = __webpack_require__(58);\n\nvar _BrowserFeatures2 = _interopRequireDefault(_BrowserFeatures);\n\nvar _Bundles = __webpack_require__(121);\n\nvar _Bundles2 = _interopRequireDefault(_Bundles);\n\nvar _ColorsUtil = __webpack_require__(260);\n\nvar _ColorsUtil2 = _interopRequireDefault(_ColorsUtil);\n\nvar _Enums = __webpack_require__(6);\n\nvar _Enums2 = _interopRequireDefault(_Enums);\n\nvar _Errors = __webpack_require__(33);\n\nvar _Errors2 = _interopRequireDefault(_Errors);\n\nvar _Logger = __webpack_require__(57);\n\nvar _Logger2 = _interopRequireDefault(_Logger);\n\nvar _AuthContainer = __webpack_require__(259);\n\nvar _AuthContainer2 = _interopRequireDefault(_AuthContainer);\n\nvar _Header = __webpack_require__(257);\n\nvar _Header2 = _interopRequireDefault(_Header);\n\nvar _responseTransformer = __webpack_require__(670);\n\nvar _responseTransformer2 = _interopRequireDefault(_responseTransformer);\n\nvar _uiSchemaTransformer = __webpack_require__(671);\n\nvar _uiSchemaTransformer2 = _interopRequireDefault(_uiSchemaTransformer);\n\nvar _AppState = __webpack_require__(672);\n\nvar _AppState2 = _interopRequireDefault(_AppState);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction loadLanguage(appState, languageCode, i18n, assetBaseUrl, assetRewrite) {\n var timeout = setTimeout(function () {\n // Trigger a spinner if we're waiting on a request for a new language.\n appState.trigger('loading', true);\n }, 200);\n\n return _Bundles2.default.loadLanguage(languageCode, i18n, {\n baseUrl: assetBaseUrl,\n rewrite: assetRewrite\n }).then(function () {\n clearTimeout(timeout);\n appState.trigger('loading', false);\n });\n} /*!\n * Copyright (c) 2019, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n\n// BaseLoginRouter contains the more complicated router logic - rendering/\n// transition, etc. Most router changes should happen in LoginRouter (which is\n// responsible for adding new routes)\nexports.default = _okta.Router.extend({\n Events: _okta.Backbone.Events,\n\n initialize: function initialize(options) {\n // Create a default success and/or error handler if\n // one is not provided.\n if (!options.globalSuccessFn) {\n options.globalSuccessFn = function () {};\n }\n if (!options.globalErrorFn) {\n options.globalErrorFn = function (err) {\n _Logger2.default.error(err);\n };\n }\n this.settings = new _Settings2.default(_okta._.omit(options, 'el', 'authClient'), { parse: true });\n this.settings.setAuthClient(options.authClient);\n\n if (!options.el) {\n this.settings.callGlobalError(new _Errors2.default.ConfigError((0, _okta.loc)('error.required.el')));\n }\n\n (0, _okta.$)('body > div').on('click', function () {\n // OKTA-69769 Tooltip wont close on iPhone/iPad\n // Registering a click handler on the first div\n // allows a tap that falls outside the tooltip\n // to be registered as a tap by iOS\n // and then the open tooltip will lose focus and close.\n });\n\n this.appState = new _AppState2.default();\n\n var wrapper = new _AuthContainer2.default({ appState: this.appState });\n\n (0, _okta.$)(options.el).append(wrapper.render().$el);\n this.el = '#' + _Enums2.default.WIDGET_CONTAINER_ID;\n this.header = new _Header2.default({\n el: this.el,\n appState: this.appState,\n settings: this.settings\n });\n\n // TODO: OKTA-244631 How to suface up the CORS error in IDX?\n // Since in new pipeline, it invokes introspect API first\n // hence no way to call GlobalError when CORS failure.\n this.listenTo(this.appState, 'change:remediationFailure', function (appState, err) {\n // Global error handling for CORS enabled errors\n if (err.xhr && _BrowserFeatures2.default.corsIsNotEnabled(err.xhr)) {\n this.settings.callGlobalError(new _Errors2.default.UnsupportedBrowserError((0, _okta.loc)('error.enabled.cors')));\n return;\n }\n //set flashError\n this.appState.set('flashError', err);\n this.defaultAuth();\n });\n\n this.listenTo(this.appState, 'change:introspectSuccess', function (appState, trans) {\n //transfer introspectSuccess into remediationSuccess response\n // `data` attribute is added by auth-js Transaction Class as the 'original response'\n // but it's not useful in idx pipeline which has own way to keep the\n // original response in AppState(`__rawResponse`)\n this.appState.trigger('remediationSuccess', _okta._.omit(trans, 'data'));\n });\n\n this.listenTo(this.appState, 'remediationSuccess', this.handleRemediationSuccess);\n },\n\n handleRemediationSuccess: function handleRemediationSuccess() {\n // transform response\n var ionResponse = _okta._.compose(_uiSchemaTransformer2.default, _responseTransformer2.default)(this.appState.get('idx'));\n this.appState.setIonResponse(ionResponse);\n },\n\n render: function render(Controller) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n // If we need to load a language (or apply custom i18n overrides), do\n // this now and re-run render after it's finished.\n if (!_Bundles2.default.isLoaded(this.settings.get('languageCode'))) {\n return loadLanguage(this.appState, this.settings.get('languageCode'), this.settings.get('i18n'), this.settings.get('assets.baseUrl'), this.settings.get('assets.rewrite')).then(_okta._.bind(this.render, this, Controller, options)).done();\n }\n\n // Load the custom colors only on the first render\n if (this.settings.get('colors.brand') && !_ColorsUtil2.default.isLoaded()) {\n var colors = {\n brand: this.settings.get('colors.brand')\n };\n\n _ColorsUtil2.default.addStyle(colors);\n }\n\n if (!this.header.rendered()) {\n this.el = this.header.render().getContentEl();\n }\n\n // render Controller\n this.unload();\n var controllerOptions = _okta._.extend({\n el: this.el,\n settings: this.settings,\n appState: this.appState\n }, options);\n this.controller = new Controller(controllerOptions);\n this.controller.render();\n },\n\n hide: function hide() {\n this.header.$el.hide();\n },\n\n show: function show() {\n this.header.$el.show();\n },\n\n remove: function remove() {\n this.unload();\n this.header.$el.remove();\n this.stopListening(this.appState);\n this.stopListening(this.settings);\n _Bundles2.default.remove();\n _okta.Backbone.history.stop();\n }\n});\n\n/***/ }),\n/* 670 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _assign = __webpack_require__(47);\n\nvar _assign2 = _interopRequireDefault(_assign);\n\nvar _okta = __webpack_require__(0);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * Transform the ion spec response into canonical format.\n */\n\n/**\n * Authn V2 response\n * @typedef {Object} AuthnResponse\n */\n\n/**\n * @typedef {Object} AuthnResult\n * @property {Object=} user\n * @property {Object=} factor\n */\n\nvar isObject = function isObject(x) {\n return _okta._.isObject(x);\n};\n\n/**\n * Flatten first level objects from response\n */\n/*!\n * Copyright (c) 2019, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n\nvar getFirstLevelObjects = function getFirstLevelObjects(resp) {\n var result = {};\n _okta._.each(resp, function (val, key) {\n // if key is remediation we dont do any transformation\n if (key === 'remediation') {\n return;\n }\n\n // for arrays we just want it as a top level object\n // Example factors array in select-factor form\n if (val.type === 'array') {\n result[key] = {\n value: val.value\n };\n }\n\n // for handling attributes with type object\n if (val.type === 'object') {\n result[key] = val.value;\n }\n });\n return result;\n};\n\nvar getRemediationValues = function getRemediationValues(idx) {\n var remediationValues = [];\n // handle success case\n if (_okta._.isEmpty(idx.neededToProceed) && idx.context.success) {\n remediationValues.push({\n name: idx.context.success.name,\n href: idx.context.success.href,\n value: []\n });\n }\n _okta._.each(idx.neededToProceed, function (value, key) {\n if (value && value.length) {\n remediationValues.push({\n value: value,\n name: key\n });\n } else {\n remediationValues.push(_okta._.omit(idx.rawIdxState.remediation.value[0], 'rel', 'value'));\n }\n });\n return {\n remediations: remediationValues\n };\n};\n\n/**\n *\n * @param {idx} idx object\n * @returns {} transformed object with flattened firstlevel objects, idx and remediations array\n * Example: {\n * remediations: [],\n * proceed: Æ’(),\n * neededToProceed: {},\n * actions: {cancel: Æ’()},\n * context: {},\n * rawIdxState:{},\n * factors: {},\n * factor: {},\n * messages: {},\n * }\n */\nvar convert = function convert(idx) {\n if (!isObject(idx && idx.rawIdxState)) {\n return null;\n }\n var resp = idx.rawIdxState;\n\n var firstLevelObjects = getFirstLevelObjects(resp);\n\n var remediationValues = getRemediationValues(idx);\n\n var result = (0, _assign2.default)({}, firstLevelObjects, remediationValues, idx);\n return result;\n};\n\nmodule.exports = convert;\n\n/***/ }),\n/* 671 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _assign = __webpack_require__(47);\n\nvar _assign2 = _interopRequireDefault(_assign);\n\nvar _okta = __webpack_require__(0);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * Adds factorType metadata to each select-factor option item using factors array\n */\nvar createFactorTypeOptions = function createFactorTypeOptions(options, factors) {\n _okta._.each(options, function (optionItem) {\n var factorValue = optionItem.value;\n var factor = factors.find(function (item) {\n return item.factorProfileId === factorValue || item.factorId === factorValue;\n });\n optionItem.factorType = factor.factorType;\n });\n return options;\n};\n\n/**\n * @typedef {Object} IONFormField\n * @property {string} name\n * @property {string=} type\n * @property {string=} required\n * @property {string=} secret\n * @property {string=} label\n * @property {Object[]} options\n */\n\n/**\n *\n * @param {IONFormField[]} remediationValue\n * @param {factor[]} factors\n */\n/*!\n * Copyright (c) 2019, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n\n/**\n * Create UI Schema into remedation object base on remediation values\n */\nvar createUISchema = function createUISchema() {\n var remediationValue = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n var factors = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];\n\n // For cases where field itself is a form, it has a formname and we are appending the formname to each field\n // This is so that while making the request we can bundle these key:value pairs under the same key name\n // For simplicity we are assuming that when field itself is a form its only one level deep\n remediationValue = _okta._.chain(remediationValue).map(function (v) {\n if (v.form) {\n var inputGroupName = v.name;\n return v.form.value.map(function (input) {\n return (0, _assign2.default)({}, input, { name: inputGroupName + '.' + input.name });\n });\n } else {\n return v;\n }\n }).flatten().value();\n return remediationValue.map(function (ionFormField) {\n var uiSchema = {\n type: 'text'\n };\n if (ionFormField.secret === true) {\n uiSchema.type = 'password';\n uiSchema.params = {\n showPasswordToggle: true\n };\n }\n // select factor form for multiple factor enroll and multiple factor verify\n // when factor has not been enrolled we get back factorProfileId, and once its enrolled\n // we get back factorId\n if (ionFormField.name === 'factorId' || ionFormField.name === 'factorProfileId') {\n uiSchema.type = 'factorType';\n uiSchema.options = createFactorTypeOptions(ionFormField.options, factors);\n }\n return (0, _assign2.default)({}, ionFormField, uiSchema);\n });\n};\n\n/**\n *\n * @param {AuthResult} transformedResp\n */\nvar insertUISchema = function insertUISchema(transformedResp) {\n if (transformedResp) {\n var factors = transformedResp.factors && transformedResp.factors.value || [];\n\n transformedResp.remediations = transformedResp.remediations.map(function (obj) {\n obj.uiSchema = createUISchema(obj.value, factors);\n return obj;\n });\n }\n return transformedResp;\n};\n\nmodule.exports = insertUISchema;\n\n/***/ }),\n/* 672 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _keys = __webpack_require__(171);\n\nvar _keys2 = _interopRequireDefault(_keys);\n\nvar _okta = __webpack_require__(0);\n\nvar _Logger = __webpack_require__(57);\n\nvar _Logger2 = _interopRequireDefault(_Logger);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/*!\n * Copyright (c) 2019, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n\nexports.default = _okta.Model.extend({\n\n local: {\n introspectSuccess: 'object', // only set during introspection\n introspectError: 'object', // only set during introspection\n\n factor: 'object', // optional\n user: 'object', // optional\n currentFormName: 'string',\n idx: 'object',\n remediations: 'array',\n __previousResponse: 'object'\n },\n\n derived: {\n factorProfile: {\n deps: ['factor'],\n fn: function fn() {\n var factor = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n return factor.profile || {};\n }\n },\n factorType: {\n deps: ['factor'],\n fn: function fn() {\n var factor = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n return factor.factorType;\n }\n },\n currentStep: {\n deps: ['idx'],\n fn: function fn() {\n var idx = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n if (idx && idx.context && idx.context.step) {\n return idx.context.step.toLowerCase();\n }\n }\n },\n showSignoutLink: {\n deps: ['idx'],\n fn: function fn() {\n var idx = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n var invalidSignOutSteps = ['IDENTIFY', 'ENROLL', 'SUCCESS'];\n // hide signout for IDENTIFY, ENROLL & SUCCESS step\n return idx.actions && _okta._.isFunction(idx.actions.cancel) && !invalidSignOutSteps.includes(idx.context.step);\n }\n }\n },\n\n hasRemediationForm: function hasRemediationForm(formName) {\n return (0, _keys2.default)(this.get('idx').neededToProceed).filter(function (name) {\n return name === formName;\n }).length === 1;\n },\n getActionByPath: function getActionByPath(actionPath) {\n var paths = actionPath.split('.');\n var targetObject = void 0;\n if (paths.length === 1) {\n targetObject = this.get('idx').actions;\n } else {\n targetObject = this.get(paths.shift());\n }\n // Limitation\n // At the time of writting, action only lives in first level of state objects.\n var actionName = paths.shift();\n if (targetObject && _okta._.isFunction(targetObject[actionName])) {\n return targetObject[actionName];\n } else {\n return null;\n }\n },\n getCurrentViewState: function getCurrentViewState() {\n var currentFormName = this.get('currentFormName');\n\n var currentViewState = void 0;\n if (!_okta._.isEmpty(this.get('remediations'))) {\n currentViewState = this.get('remediations').filter(function (r) {\n return r.name === currentFormName;\n })[0];\n }\n\n if (!currentViewState) {\n if (currentFormName) {\n _Logger2.default.warn('Cannot find view state for form ' + currentFormName + '. Fall back to terminal state.');\n }\n\n currentViewState = this.get('terminal');\n }\n\n return currentViewState;\n },\n setIonResponse: function setIonResponse(resp) {\n var idx = this.get('idx');\n // Don't re-render view if new response is same as last.\n // Usually happening at polling and pipeline doesn't proceed to next step.\n // expiresAt will be different for each response, hence compare objects without that property\n if (_okta._.isEqual(_okta._.omit(idx.rawIdxState, 'expiresAt'), _okta._.omit(this.get('__previousResponse'), 'expiresAt'))) {\n return;\n }\n\n // `currentFormName` is default to first form of remediation object or nothing.\n resp.currentFormName = null;\n\n if (idx.neededToProceed && idx.rawIdxState.remediation) {\n resp.currentFormName = idx.rawIdxState.remediation.value[0].name;\n }\n\n if (idx.rawIdxState.success) {\n resp.currentFormName = idx.rawIdxState.success.name;\n }\n\n // default terminal state for fall back\n if (idx.context.terminal && _okta._.isEmpty(idx.context.terminal.value)) {\n resp.terminal = {\n name: 'terminal',\n value: [],\n uiSchema: []\n };\n }\n //clear appState before setting new values\n this.clear({ silent: true });\n // set new app state properties\n this.set(resp);\n // reset idx\n this.set('idx', idx);\n this.set('__previousResponse', idx.rawIdxState);\n\n // broadcast idxResponseUpdated to re-render the view\n this.trigger('idxResponseUpdated', resp);\n }\n});\n\n// Keep track of stateMachine with this special model. Similar to Appstate.js\n\n/***/ }),\n/* 673 */\n/***/ (function(module, exports, __webpack_require__) {\n\n/*!\n * Copyright (c) 2015-present, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n * \n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * \n * See the License for the specific language governing permissions and limitations under the License.\n * \n */\n!function(e,t){ true?module.exports=t():\"function\"==typeof define&&define.amd?define([],t):\"object\"==typeof exports?exports.OktaAuth=t():e.OktaAuth=t()}(\"undefined\"!=typeof self?self:this,function(){return function(e){function t(r){if(n[r])return n[r].exports;var o=n[r]={i:r,l:!1,exports:{}};return e[r].call(o.exports,o,o.exports,t),o.l=!0,o.exports}var n={};return t.m=e,t.c=n,t.d=function(e,n,r){t.o(e,n)||Object.defineProperty(e,n,{configurable:!1,enumerable:!0,get:r})},t.n=function(e){var n=e&&e.__esModule?function(){return e.default}:function(){return e};return t.d(n,\"a\",n),n},t.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},t.p=\"\",t(t.s=11)}([function(e,t){var n=e.exports;n.stringToBase64Url=function(e){var t=btoa(e);return n.base64ToBase64Url(t)},n.base64ToBase64Url=function(e){return e.replace(/\\+/g,\"-\").replace(/\\//g,\"_\").replace(/=+$/,\"\")},n.base64UrlToBase64=function(e){return e.replace(/-/g,\"+\").replace(/_/g,\"/\")},n.base64UrlToString=function(e){var t=n.base64UrlToBase64(e);switch(t.length%4){case 0:break;case 2:t+=\"==\";break;case 3:t+=\"=\";break;default:throw\"Not a valid Base64Url\"}var r=atob(t);try{return decodeURIComponent(escape(r))}catch(e){return r}},n.stringToBuffer=function(e){for(var t=new Uint8Array(e.length),n=0;n<e.length;n++)t[n]=e.charCodeAt(n);return t},n.base64UrlDecode=function(e){return atob(n.base64UrlToBase64(e))},n.bind=function(e,t){var n=Array.prototype.slice.call(arguments,2);return function(){var r=Array.prototype.slice.call(arguments);return r=n.concat(r),e.apply(t,r)}},n.isAbsoluteUrl=function(e){return/^(?:[a-z]+:)?\\/\\//i.test(e)},n.isString=function(e){return\"[object String]\"===Object.prototype.toString.call(e)},n.isObject=function(e){return\"[object Object]\"===Object.prototype.toString.call(e)},n.isNumber=function(e){return\"[object Number]\"===Object.prototype.toString.call(e)},n.isArray=function(e){return\"[object Array]\"===Object.prototype.toString.call(e)},n.isoToUTCString=function(e){var t=e.match(/\\d+/g),n=Date.UTC(t[0],t[1]-1,t[2],t[3],t[4],t[5]);return new Date(n).toUTCString()},n.toQueryParams=function(e){var t=[];if(null!==e)for(var n in e)e.hasOwnProperty(n)&&void 0!==e[n]&&null!==e[n]&&t.push(n+\"=\"+encodeURIComponent(e[n]));return t.length?\"?\"+t.join(\"&\"):\"\"},n.genRandomString=function(e){for(var t=\"abcdefghijklnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789\",n=\"\",r=0,o=t.length;r<e;++r)n+=t[Math.floor(Math.random()*o)];return n},n.extend=function(){var e=arguments[0];return[].slice.call(arguments,1).forEach(function(t){for(var n in t)t.hasOwnProperty(n)&&void 0!==t[n]&&(e[n]=t[n])}),e},n.removeNils=function(e){var t={};for(var n in e)if(e.hasOwnProperty(n)){var r=e[n];null!==r&&void 0!==r&&(t[n]=r)}return t},n.clone=function(e){if(e){var t=JSON.stringify(e);if(t)return JSON.parse(t)}return e},n.omit=function(e){var t=Array.prototype.slice.call(arguments,1),r={};for(var o in e)e.hasOwnProperty(o)&&-1==t.indexOf(o)&&(r[o]=e[o]);return n.clone(r)},n.find=function(e,t){for(var n=e.length;n--;){var r=e[n],o=!0;for(var i in t)if(t.hasOwnProperty(i)&&r[i]!==t[i]){o=!1;break}if(o)return r}},n.getLink=function(e,t,r){if(e&&e._links){var o=n.clone(e._links[t]);return o&&o.name&&r?o.name===r?o:void 0:o}},n.getNativeConsole=function(){return\"undefined\"!=typeof window?window.console:\"undefined\"!=typeof console?console:void 0},n.getConsole=function(){var e=n.getNativeConsole();return e&&e.log?e:{log:function(){}}},n.warn=function(e){n.getConsole().log(\"[okta-auth-sdk] WARN: \"+e)},n.deprecate=function(e){n.getConsole().log(\"[okta-auth-sdk] DEPRECATION: \"+e)},n.deprecateWrap=function(e,t){return function(){return n.deprecate(e),t.apply(null,arguments)}},n.removeTrailingSlash=function(e){if(e){var t=e.replace(/^\\s+|\\s+$/gm,\"\");return t=t.replace(/\\/+$/,\"\")}},n.isIE11OrLess=function(){return!!document.documentMode&&document.documentMode<=11},n.isFunction=function(e){return!!e&&\"[object Function]\"==={}.toString.call(e)}},function(e,t){function n(e,t){this.name=\"AuthSdkError\",this.message=e,this.errorCode=\"INTERNAL\",this.errorSummary=e,this.errorLink=\"INTERNAL\",this.errorId=\"INTERNAL\",this.errorCauses=[],t&&(this.xhr=t)}n.prototype=new Error,e.exports=n},function(e,t){e.exports={STATE_TOKEN_KEY_NAME:\"oktaStateToken\",DEFAULT_POLLING_DELAY:500,DEFAULT_MAX_CLOCK_SKEW:300,DEFAULT_CACHE_DURATION:86400,REDIRECT_OAUTH_PARAMS_COOKIE_NAME:\"okta-oauth-redirect-params\",REDIRECT_STATE_COOKIE_NAME:\"okta-oauth-state\",REDIRECT_NONCE_COOKIE_NAME:\"okta-oauth-nonce\",TOKEN_STORAGE_NAME:\"okta-token-storage\",CACHE_STORAGE_NAME:\"okta-cache-storage\",PKCE_STORAGE_NAME:\"okta-pkce-storage\"}},function(e,t,n){function r(e,t){t=t||{};var n=t.url,r=t.method,o=t.args,i=t.saveAuthnState,f=t.accessToken,p=!1!==t.withCredentials,l=e.options.storageUtil,d=l.storage,h=l.getHttpCache();if(t.cacheResponse){var y=h.getStorage(),g=y[n];if(g&&Date.now()/1e3<g.expiresAt)return a.resolve(g.response)}var m={Accept:\"application/json\",\"Content-Type\":\"application/json\",\"X-Okta-User-Agent-Extended\":e.userAgent};s.extend(m,e.options.headers,t.headers),f&&s.isString(f)&&(m.Authorization=\"Bearer \"+f);var v,w,T={headers:m,data:o||void 0,withCredentials:p};return new a(e.options.httpRequestClient(r,n,T)).then(function(e){return w=e.responseText,w&&s.isString(w)&&(w=JSON.parse(w)),i&&(w.stateToken||d.delete(c.STATE_TOKEN_KEY_NAME)),w&&w.stateToken&&w.expiresAt&&d.set(c.STATE_TOKEN_KEY_NAME,w.stateToken,w.expiresAt),w&&t.cacheResponse&&h.updateStorage(n,{expiresAt:Math.floor(Date.now()/1e3)+c.DEFAULT_CACHE_DURATION,response:w}),w}).fail(function(t){var n=t.responseText||{};if(s.isString(n))try{n=JSON.parse(n)}catch(e){n={errorSummary:\"Unknown error\"}}throw t.status>=500&&(n.errorSummary=\"Unknown error\"),e.options.transformErrorXHR&&(t=e.options.transformErrorXHR(s.clone(t))),v=new u(n,t),\"E0000011\"===v.errorCode&&d.delete(c.STATE_TOKEN_KEY_NAME),v})}function o(e,t,n){t=s.isAbsoluteUrl(t)?t:e.options.url+t;var o={url:t,method:\"GET\"};return s.extend(o,n),r(e,o)}function i(e,t,n,o){t=s.isAbsoluteUrl(t)?t:e.options.url+t;var i={url:t,method:\"POST\",args:n,saveAuthnState:!0};return s.extend(i,o),r(e,i)}var s=n(0),a=n(5),u=n(22),c=n(2);e.exports={get:o,post:i,httpRequest:r}},function(e,t,n){var r=n(14),o=n(6),i=n(2),s={};s.browserHasLocalStorage=function(){try{var e=s.getLocalStorage();return s.testStorage(e)}catch(e){return!1}},s.browserHasSessionStorage=function(){try{var e=s.getSessionStorage();return s.testStorage(e)}catch(e){return!1}},s.getPKCEStorage=function(){return s.browserHasLocalStorage()?o(s.getLocalStorage(),i.PKCE_STORAGE_NAME):s.browserHasSessionStorage()?o(s.getSessionStorage(),i.PKCE_STORAGE_NAME):o(s.getCookieStorage({secure:\"https:\"===window.location.protocol}),i.PKCE_STORAGE_NAME)},s.getHttpCache=function(){return s.browserHasLocalStorage()?o(s.getLocalStorage(),i.CACHE_STORAGE_NAME):s.browserHasSessionStorage()?o(s.getSessionStorage(),i.CACHE_STORAGE_NAME):o(s.getCookieStorage({secure:\"https:\"===window.location.protocol}),i.CACHE_STORAGE_NAME)},s.getLocalStorage=function(){return localStorage},s.getSessionStorage=function(){return sessionStorage},s.getCookieStorage=function(e){e=e||{};var t=e.secure||!1,n=e.sameSite||(t?\"none\":\"lax\");return{getItem:s.storage.get,setItem:function(e,r){s.storage.set(e,r,\"2200-01-01T00:00:00.000Z\",{secure:t,sameSite:n})}}},s.getInMemoryStorage=function(){var e={};return{getItem:function(t){return e[t]},setItem:function(t,n){e[t]=n}}},s.testStorage=function(e){var t=\"okta-test-storage\";try{return e.setItem(t,t),e.removeItem(t),!0}catch(e){return!1}},s.storage={set:function(e,t,n,o){o=o||{};var i={path:o.path||\"/\",secure:o.secure,sameSite:o.sameSite};return Date.parse(n)&&(i.expires=new Date(n)),r.set(e,t,i),s.storage.get(e)},get:function(e){return r.get(e)},delete:function(e){return r.remove(e,{path:\"/\"})}},e.exports=s},function(e,t,n){(function(t,n){/*!\n *\n * Copyright 2009-2012 Kris Kowal under the terms of the MIT\n * license found at http://github.com/kriskowal/q/raw/master/LICENSE\n *\n * With parts by Tyler Close\n * Copyright 2007-2009 Tyler Close under the terms of the MIT X license found\n * at http://www.opensource.org/licenses/mit-license.html\n * Forked at ref_send.js version: 2009-05-11\n *\n * With parts by Mark Miller\n * Copyright (C) 2011 Google Inc.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n */\n!function(t){\"use strict\";if(\"function\"==typeof bootstrap)bootstrap(\"promise\",t);else{e.exports=t()}}(function(){\"use strict\";function e(e){return function(){return J.apply(e,arguments)}}function r(e){return e===Object(e)}function o(e){return\"[object StopIteration]\"===ne(e)||e instanceof z}function i(e,t){if(K&&t.stack&&\"object\"==typeof e&&null!==e&&e.stack&&-1===e.stack.indexOf(re)){for(var n=[],r=t;r;r=r.source)r.stack&&n.unshift(r.stack);n.unshift(e.stack);var o=n.join(\"\\n\"+re+\"\\n\");e.stack=s(o)}}function s(e){for(var t=e.split(\"\\n\"),n=[],r=0;r<t.length;++r){var o=t[r];c(o)||a(o)||!o||n.push(o)}return n.join(\"\\n\")}function a(e){return-1!==e.indexOf(\"(module.js:\")||-1!==e.indexOf(\"(node.js:\")}function u(e){var t=/at .+ \\((.+):(\\d+):(?:\\d+)\\)$/.exec(e);if(t)return[t[1],Number(t[2])];var n=/at ([^ ]+):(\\d+):(?:\\d+)$/.exec(e);if(n)return[n[1],Number(n[2])];var r=/.*@(.+):(\\d+)$/.exec(e);return r?[r[1],Number(r[2])]:void 0}function c(e){var t=u(e);if(!t)return!1;var n=t[0],r=t[1];return n===q&&r>=W&&r<=ue}function f(){if(K)try{throw new Error}catch(r){var e=r.stack.split(\"\\n\"),t=e[0].indexOf(\"@\")>0?e[1]:e[2],n=u(t);if(!n)return;return q=n[0],n[1]}}function p(e){return e instanceof y?e:w(e)?O(e):_(e)}function l(){function e(e){t=e,i.source=e,Y(n,function(t,n){p.nextTick(function(){e.promiseDispatch.apply(e,n)})},void 0),n=void 0,r=void 0}var t,n=[],r=[],o=Z(l.prototype),i=Z(y.prototype);if(i.promiseDispatch=function(e,o,i){var s=Q(arguments);n?(n.push(s),\"when\"===o&&i[1]&&r.push(i[1])):p.nextTick(function(){t.promiseDispatch.apply(t,s)})},i.valueOf=function(){if(n)return i;var e=m(t);return v(e)&&(t=e),e},i.inspect=function(){return t?t.inspect():{state:\"pending\"}},p.longStackSupport&&K)try{throw new Error}catch(e){i.stack=e.stack.substring(e.stack.indexOf(\"\\n\")+1)}return o.promise=i,o.resolve=function(n){t||e(p(n))},o.fulfill=function(n){t||e(_(n))},o.reject=function(n){t||e(x(n))},o.notify=function(e){t||Y(r,function(t,n){p.nextTick(function(){n(e)})},void 0)},o}function d(e){if(\"function\"!=typeof e)throw new TypeError(\"resolver must be a function.\");var t=l();try{e(t.resolve,t.reject,t.notify)}catch(e){t.reject(e)}return t.promise}function h(e){return d(function(t,n){for(var r=0,o=e.length;r<o;r++)p(e[r]).then(t,n)})}function y(e,t,n){void 0===t&&(t=function(e){return x(new Error(\"Promise does not support operation: \"+e))}),void 0===n&&(n=function(){return{state:\"unknown\"}});var r=Z(y.prototype);if(r.promiseDispatch=function(n,o,i){var s;try{s=e[o]?e[o].apply(r,i):t.call(r,o,i)}catch(e){s=x(e)}n&&n(s)},r.inspect=n,n){var o=n();\"rejected\"===o.state&&(r.exception=o.reason),r.valueOf=function(){var e=n();return\"pending\"===e.state||\"rejected\"===e.state?r:e.value}}return r}function g(e,t,n,r){return p(e).then(t,n,r)}function m(e){if(v(e)){var t=e.inspect();if(\"fulfilled\"===t.state)return t.value}return e}function v(e){return e instanceof y}function w(e){return r(e)&&\"function\"==typeof e.then}function T(e){return v(e)&&\"pending\"===e.inspect().state}function k(e){return!v(e)||\"fulfilled\"===e.inspect().state}function b(e){return v(e)&&\"rejected\"===e.inspect().state}function E(){oe.length=0,ie.length=0,ae||(ae=!0)}function S(e,n){ae&&(\"object\"==typeof t&&\"function\"==typeof t.emit&&p.nextTick.runAfter(function(){-1!==X(ie,e)&&(t.emit(\"unhandledRejection\",n,e),se.push(e))}),ie.push(e),n&&void 0!==n.stack?oe.push(n.stack):oe.push(\"(no stack) \"+n))}function A(e){if(ae){var n=X(ie,e);-1!==n&&(\"object\"==typeof t&&\"function\"==typeof t.emit&&p.nextTick.runAfter(function(){var r=X(se,e);-1!==r&&(t.emit(\"rejectionHandled\",oe[n],e),se.splice(r,1))}),ie.splice(n,1),oe.splice(n,1))}}function x(e){var t=y({when:function(t){return t&&A(this),t?t(e):this}},function(){return this},function(){return{state:\"rejected\",reason:e}});return S(t,e),t}function _(e){return y({when:function(){return e},get:function(t){return e[t]},set:function(t,n){e[t]=n},delete:function(t){delete e[t]},post:function(t,n){return null===t||void 0===t?e.apply(void 0,n):e[t].apply(e,n)},apply:function(t,n){return e.apply(t,n)},keys:function(){return te(e)}},void 0,function(){return{state:\"fulfilled\",value:e}})}function O(e){var t=l();return p.nextTick(function(){try{e.then(t.resolve,t.reject,t.notify)}catch(e){t.reject(e)}}),t.promise}function U(e){return y({isDef:function(){}},function(t,n){return M(e,t,n)},function(){return p(e).inspect()})}function C(e,t,n){return p(e).spread(t,n)}function R(e){return function(){function t(e,t){var s;if(\"undefined\"==typeof StopIteration){try{s=n[e](t)}catch(e){return x(e)}return s.done?p(s.value):g(s.value,r,i)}try{s=n[e](t)}catch(e){return o(e)?p(e.value):x(e)}return g(s,r,i)}var n=e.apply(this,arguments),r=t.bind(t,\"next\"),i=t.bind(t,\"throw\");return r()}}function j(e){p.done(p.async(e)())}function P(e){throw new z(e)}function I(e){return function(){return C([this,N(arguments)],function(t,n){return e.apply(t,n)})}}function M(e,t,n){return p(e).dispatch(t,n)}function N(e){return g(e,function(e){var t=0,n=l();return Y(e,function(r,o,i){var s;v(o)&&\"fulfilled\"===(s=o.inspect()).state?e[i]=s.value:(++t,g(o,function(r){e[i]=r,0==--t&&n.resolve(e)},n.reject,function(e){n.notify({index:i,value:e})}))},void 0),0===t&&n.resolve(e),n.promise})}function D(e){if(0===e.length)return p.resolve();var t=p.defer(),n=0;return Y(e,function(r,o,i){function s(e){t.resolve(e)}function a(){0===--n&&t.reject(new Error(\"Can't get fulfillment value from any promise, all promises were rejected.\"))}function u(e){t.notify({index:i,value:e})}var c=e[i];n++,g(c,s,a,u)},void 0),t.promise}function L(e){return g(e,function(e){return e=$(e,p),g(N($(e,function(e){return g(e,G,G)})),function(){return e})})}function F(e){return p(e).allSettled()}function B(e,t){return p(e).then(void 0,void 0,t)}function H(e,t){return p(e).nodeify(t)}var K=!1;try{throw new Error}catch(e){K=!!e.stack}var q,z,W=f(),G=function(){},V=function(){function e(){for(var e,t;o.next;)o=o.next,e=o.task,o.task=void 0,t=o.domain,t&&(o.domain=void 0,t.enter()),r(e,t);for(;c.length;)e=c.pop(),r(e);s=!1}function r(t,n){try{t()}catch(t){if(u)throw n&&n.exit(),setTimeout(e,0),n&&n.enter(),t;setTimeout(function(){throw t},0)}n&&n.exit()}var o={task:void 0,next:null},i=o,s=!1,a=void 0,u=!1,c=[];if(V=function(e){i=i.next={task:e,domain:u&&t.domain,next:null},s||(s=!0,a())},\"object\"==typeof t&&\"[object process]\"===t.toString()&&t.nextTick)u=!0,a=function(){t.nextTick(e)};else if(\"function\"==typeof n)a=\"undefined\"!=typeof window?n.bind(window,e):function(){n(e)};else if(\"undefined\"!=typeof MessageChannel){var f=new MessageChannel;f.port1.onmessage=function(){a=p,f.port1.onmessage=e,e()};var p=function(){f.port2.postMessage(0)};a=function(){setTimeout(e,0),p()}}else a=function(){setTimeout(e,0)};return V.runAfter=function(e){c.push(e),s||(s=!0,a())},V}(),J=Function.call,Q=e(Array.prototype.slice),Y=e(Array.prototype.reduce||function(e,t){var n=0,r=this.length;if(1===arguments.length)for(;;){if(n in this){t=this[n++];break}if(++n>=r)throw new TypeError}for(;n<r;n++)n in this&&(t=e(t,this[n],n));return t}),X=e(Array.prototype.indexOf||function(e){for(var t=0;t<this.length;t++)if(this[t]===e)return t;return-1}),$=e(Array.prototype.map||function(e,t){var n=this,r=[];return Y(n,function(o,i,s){r.push(e.call(t,i,s,n))},void 0),r}),Z=Object.create||function(e){function t(){}return t.prototype=e,new t},ee=e(Object.prototype.hasOwnProperty),te=Object.keys||function(e){var t=[];for(var n in e)ee(e,n)&&t.push(n);return t},ne=e(Object.prototype.toString);z=\"undefined\"!=typeof ReturnValue?ReturnValue:function(e){this.value=e};var re=\"From previous event:\";p.resolve=p,p.nextTick=V,p.longStackSupport=!1,\"object\"==typeof t&&t&&t.env&&t.env.Q_DEBUG&&(p.longStackSupport=!0),p.defer=l,l.prototype.makeNodeResolver=function(){var e=this;return function(t,n){t?e.reject(t):arguments.length>2?e.resolve(Q(arguments,1)):e.resolve(n)}},p.Promise=d,p.promise=d,d.race=h,d.all=N,d.reject=x,d.resolve=p,p.passByCopy=function(e){return e},y.prototype.passByCopy=function(){return this},p.join=function(e,t){return p(e).join(t)},y.prototype.join=function(e){return p([this,e]).spread(function(e,t){if(e===t)return e;throw new Error(\"Can't join: not the same: \"+e+\" \"+t)})},p.race=h,y.prototype.race=function(){return this.then(p.race)},p.makePromise=y,y.prototype.toString=function(){return\"[object Promise]\"},y.prototype.then=function(e,t,n){function r(t){try{return\"function\"==typeof e?e(t):t}catch(e){return x(e)}}function o(e){if(\"function\"==typeof t){i(e,a);try{return t(e)}catch(e){return x(e)}}return x(e)}function s(e){return\"function\"==typeof n?n(e):e}var a=this,u=l(),c=!1;return p.nextTick(function(){a.promiseDispatch(function(e){c||(c=!0,u.resolve(r(e)))},\"when\",[function(e){c||(c=!0,u.resolve(o(e)))}])}),a.promiseDispatch(void 0,\"when\",[void 0,function(e){var t,n=!1;try{t=s(e)}catch(e){if(n=!0,!p.onerror)throw e;p.onerror(e)}n||u.notify(t)}]),u.promise},p.tap=function(e,t){return p(e).tap(t)},y.prototype.tap=function(e){return e=p(e),this.then(function(t){return e.fcall(t).thenResolve(t)})},p.when=g,y.prototype.thenResolve=function(e){return this.then(function(){return e})},p.thenResolve=function(e,t){return p(e).thenResolve(t)},y.prototype.thenReject=function(e){return this.then(function(){throw e})},p.thenReject=function(e,t){return p(e).thenReject(t)},p.nearer=m,p.isPromise=v,p.isPromiseAlike=w,p.isPending=T,y.prototype.isPending=function(){return\"pending\"===this.inspect().state},p.isFulfilled=k,y.prototype.isFulfilled=function(){return\"fulfilled\"===this.inspect().state},p.isRejected=b,y.prototype.isRejected=function(){return\"rejected\"===this.inspect().state};var oe=[],ie=[],se=[],ae=!0;p.resetUnhandledRejections=E,p.getUnhandledReasons=function(){return oe.slice()},p.stopUnhandledRejectionTracking=function(){E(),ae=!1},E(),p.reject=x,p.fulfill=_,p.master=U,p.spread=C,y.prototype.spread=function(e,t){return this.all().then(function(t){return e.apply(void 0,t)},t)},p.async=R,p.spawn=j,p.return=P,p.promised=I,p.dispatch=M,y.prototype.dispatch=function(e,t){var n=this,r=l();return p.nextTick(function(){n.promiseDispatch(r.resolve,e,t)}),r.promise},p.get=function(e,t){return p(e).dispatch(\"get\",[t])},y.prototype.get=function(e){return this.dispatch(\"get\",[e])},p.set=function(e,t,n){return p(e).dispatch(\"set\",[t,n])},y.prototype.set=function(e,t){return this.dispatch(\"set\",[e,t])},p.del=p.delete=function(e,t){return p(e).dispatch(\"delete\",[t])},y.prototype.del=y.prototype.delete=function(e){return this.dispatch(\"delete\",[e])},p.mapply=p.post=function(e,t,n){return p(e).dispatch(\"post\",[t,n])},y.prototype.mapply=y.prototype.post=function(e,t){return this.dispatch(\"post\",[e,t])},p.send=p.mcall=p.invoke=function(e,t){return p(e).dispatch(\"post\",[t,Q(arguments,2)])},y.prototype.send=y.prototype.mcall=y.prototype.invoke=function(e){return this.dispatch(\"post\",[e,Q(arguments,1)])},p.fapply=function(e,t){return p(e).dispatch(\"apply\",[void 0,t])},y.prototype.fapply=function(e){return this.dispatch(\"apply\",[void 0,e])},p.try=p.fcall=function(e){return p(e).dispatch(\"apply\",[void 0,Q(arguments,1)])},y.prototype.fcall=function(){return this.dispatch(\"apply\",[void 0,Q(arguments)])},p.fbind=function(e){var t=p(e),n=Q(arguments,1);return function(){return t.dispatch(\"apply\",[this,n.concat(Q(arguments))])}},y.prototype.fbind=function(){var e=this,t=Q(arguments);return function(){return e.dispatch(\"apply\",[this,t.concat(Q(arguments))])}},p.keys=function(e){return p(e).dispatch(\"keys\",[])},y.prototype.keys=function(){return this.dispatch(\"keys\",[])},p.all=N,y.prototype.all=function(){return N(this)},p.any=D,y.prototype.any=function(){return D(this)},p.allResolved=function(e,t,n){return function(){return\"undefined\"!=typeof console&&\"function\"==typeof console.warn&&console.warn(t+\" is deprecated, use \"+n+\" instead.\",new Error(\"\").stack),e.apply(e,arguments)}}(L,\"allResolved\",\"allSettled\"),y.prototype.allResolved=function(){return L(this)},p.allSettled=F,y.prototype.allSettled=function(){return this.then(function(e){return N($(e,function(e){function t(){return e.inspect()}return e=p(e),e.then(t,t)}))})},p.fail=p.catch=function(e,t){return p(e).then(void 0,t)},y.prototype.fail=y.prototype.catch=function(e){return this.then(void 0,e)},p.progress=B,y.prototype.progress=function(e){return this.then(void 0,void 0,e)},p.fin=p.finally=function(e,t){return p(e).finally(t)},y.prototype.fin=y.prototype.finally=function(e){return e=p(e),this.then(function(t){return e.fcall().then(function(){return t})},function(t){return e.fcall().then(function(){throw t})})},p.done=function(e,t,n,r){return p(e).done(t,n,r)},y.prototype.done=function(e,n,r){var o=function(e){p.nextTick(function(){if(i(e,s),!p.onerror)throw e;p.onerror(e)})},s=e||n||r?this.then(e,n,r):this;\"object\"==typeof t&&t&&t.domain&&(o=t.domain.bind(o)),s.then(void 0,o)},p.timeout=function(e,t,n){return p(e).timeout(t,n)},y.prototype.timeout=function(e,t){var n=l(),r=setTimeout(function(){t&&\"string\"!=typeof t||(t=new Error(t||\"Timed out after \"+e+\" ms\"),t.code=\"ETIMEDOUT\"),n.reject(t)},e);return this.then(function(e){clearTimeout(r),n.resolve(e)},function(e){clearTimeout(r),n.reject(e)},n.notify),n.promise},p.delay=function(e,t){return void 0===t&&(t=e,e=void 0),p(e).delay(t)},y.prototype.delay=function(e){return this.then(function(t){var n=l();return setTimeout(function(){n.resolve(t)},e),n.promise})},p.nfapply=function(e,t){return p(e).nfapply(t)},y.prototype.nfapply=function(e){var t=l(),n=Q(e);return n.push(t.makeNodeResolver()),this.fapply(n).fail(t.reject),t.promise},p.nfcall=function(e){var t=Q(arguments,1);return p(e).nfapply(t)},y.prototype.nfcall=function(){var e=Q(arguments),t=l();return e.push(t.makeNodeResolver()),this.fapply(e).fail(t.reject),t.promise},p.nfbind=p.denodeify=function(e){var t=Q(arguments,1);return function(){var n=t.concat(Q(arguments)),r=l();return n.push(r.makeNodeResolver()),p(e).fapply(n).fail(r.reject),r.promise}},y.prototype.nfbind=y.prototype.denodeify=function(){var e=Q(arguments);return e.unshift(this),p.denodeify.apply(void 0,e)},p.nbind=function(e,t){var n=Q(arguments,2);return function(){function r(){return e.apply(t,arguments)}var o=n.concat(Q(arguments)),i=l();return o.push(i.makeNodeResolver()),p(r).fapply(o).fail(i.reject),i.promise}},y.prototype.nbind=function(){var e=Q(arguments,0);return e.unshift(this),p.nbind.apply(void 0,e)},p.nmapply=p.npost=function(e,t,n){return p(e).npost(t,n)},y.prototype.nmapply=y.prototype.npost=function(e,t){var n=Q(t||[]),r=l();return n.push(r.makeNodeResolver()),this.dispatch(\"post\",[e,n]).fail(r.reject),r.promise},p.nsend=p.nmcall=p.ninvoke=function(e,t){var n=Q(arguments,2),r=l();return n.push(r.makeNodeResolver()),p(e).dispatch(\"post\",[t,n]).fail(r.reject),r.promise},y.prototype.nsend=y.prototype.nmcall=y.prototype.ninvoke=function(e){var t=Q(arguments,1),n=l();return t.push(n.makeNodeResolver()),this.dispatch(\"post\",[e,t]).fail(n.reject),n.promise},p.nodeify=H,y.prototype.nodeify=function(e){if(!e)return this;this.then(function(t){p.nextTick(function(){e(null,t)})},function(t){p.nextTick(function(){e(t)})})},p.noConflict=function(){throw new Error(\"Q.noConflict only works when Q is used as a global\")};var ue=f();return p})}).call(t,n(8),n(20).setImmediate)},function(e,t,n){function r(e,t){function n(){var n=e.getItem(t);n=n||\"{}\";try{return JSON.parse(n)}catch(e){throw new o(\"Unable to parse storage string: \"+t)}}function r(n){try{var r=JSON.stringify(n);e.setItem(t,r)}catch(e){throw new o(\"Unable to set storage: \"+t)}}function i(e){e||r({});var t=n();delete t[e],r(t)}function s(e,t){var o=n();o[e]=t,r(o)}if(\"string\"!=typeof t||!t.length)throw new o('\"storageName\" is required');return{getStorage:n,setStorage:r,clearStorage:i,updateStorage:s}}var o=n(1);e.exports=r},function(e,t,n){function r(e,t){var n={};return m.extend(n,t),!n.stateToken&&e.stateToken&&(n.stateToken=e.stateToken),n}function o(e){return r(e)}function i(e,t){return t=r(e,t),g.post(e,e.options.url+\"/api/v1/authn\",t)}function s(e,t){if(!t||!t.stateToken){var n=e.tx.exists._get(k.STATE_TOKEN_KEY_NAME);if(!n)return v.reject(new w(\"No transaction to resume\"));t={stateToken:n}}return e.tx.status(t).then(function(t){return new y(e,t)})}function a(e,t){if(!t||!t.stateToken){var n=e.tx.exists._get(k.STATE_TOKEN_KEY_NAME);if(!n)return v.reject(new w(\"No transaction to evaluate\"));t={stateToken:n}}return u(e,t).then(function(t){return new y(e,t)})}function u(e,t){return t=r(e,t),g.post(e,e.options.url+\"/api/v1/authn/introspect\",t)}function c(e){return!!e.tx.exists._get(k.STATE_TOKEN_KEY_NAME)}function f(e,t,n,r){return g.post(e,t,n,r).then(function(t){return new y(e,t)})}function p(e,t,n){return function(r){function i(){var n={};if(\"function\"==typeof u)try{n.autoPush=!!u()}catch(e){return v.reject(new w(\"AutoPush resulted in an error.\"))}else void 0!==u&&null!==u&&(n.autoPush=!!u);if(\"function\"==typeof a)try{n.rememberDevice=!!a()}catch(e){return v.reject(new w(\"RememberDevice resulted in an error.\"))}else void 0!==a&&null!==a&&(n.rememberDevice=!!a);var r=f.href+m.toQueryParams(n);return g.post(e,r,o(t),{saveAuthnState:!1})}var s,a,u,c;m.isNumber(r)?s=r:m.isObject(r)&&(s=r.delay,a=r.rememberDevice,u=r.autoPush,c=r.transactionCallBack),s||0===s||(s=k.DEFAULT_POLLING_DELAY);var f=m.getLink(t,\"next\",\"poll\");n.isPolling=!0;var p=0,l=function(){return n.isPolling?i().then(function(t){if(p=0,t.factorResult&&\"WAITING\"===t.factorResult){if(!n.isPolling)throw new T;return\"function\"==typeof c&&c(t),v.delay(s).then(l)}return n.isPolling=!1,new y(e,t)}).fail(function(e){if(e.xhr&&(0===e.xhr.status||429===e.xhr.status)&&p<=4){var t=1e3*Math.pow(2,p);return p++,v.delay(t).then(l)}throw e}):v.reject(new T)};return l().fail(function(e){throw n.isPolling=!1,e})}}function l(e,t,n,o,i){if(Array.isArray(o))return function(r,s){if(!r)throw new w(\"Must provide a link name\");var a=m.find(o,{name:r});if(!a)throw new w(\"No link found for that name\");return l(e,t,n,a,i)(s)};if(o.hints&&o.hints.allow&&1===o.hints.allow.length){switch(o.hints.allow[0]){case\"GET\":return function(){return g.get(e,o.href)};case\"POST\":return function(s){i&&i.isPolling&&(i.isPolling=!1);var a=r(t,s);\"MFA_ENROLL\"!==t.status&&\"FACTOR_ENROLL\"!==t.status||m.extend(a,{factorType:n.factorType,provider:n.provider});var u={},c=a.autoPush;if(void 0!==c){if(\"function\"==typeof c)try{u.autoPush=!!c()}catch(e){return v.reject(new w(\"AutoPush resulted in an error.\"))}else null!==c&&(u.autoPush=!!c);a=m.omit(a,\"autoPush\")}var p=a.rememberDevice;if(void 0!==p){if(\"function\"==typeof p)try{u.rememberDevice=!!p()}catch(e){return v.reject(new w(\"RememberDevice resulted in an error.\"))}else null!==p&&(u.rememberDevice=!!p);a=m.omit(a,\"rememberDevice\")}else a.profile&&void 0!==a.profile.updatePhone&&(a.profile.updatePhone&&(u.updatePhone=!0),a.profile=m.omit(a.profile,\"updatePhone\"));var l=o.href+m.toQueryParams(u);return f(e,l,a)}}}}function d(e,t,n,r){var o={};for(var i in n._links)if(n._links.hasOwnProperty(i)){var s=n._links[i];if(\"next\"===i&&(i=s.name),s.type)o[i]=s;else switch(i){case\"poll\":o.poll=p(e,t,r);break;default:var a=l(e,t,n,s,r);a&&(o[i]=a)}}return o}function h(e,t,n,r){if(n=n||t,n=m.clone(n),Array.isArray(n)){for(var o=[],i=0,s=n.length;i<s;i++)o.push(h(e,t,n[i],r));return o}var a=n._embedded||{};for(var u in a)a.hasOwnProperty(u)&&(m.isObject(a[u])||Array.isArray(a[u]))&&(a[u]=h(e,t,a[u],r));var c=d(e,t,n,r);return m.extend(a,c),n=m.omit(n,\"_embedded\",\"_links\"),m.extend(n,a),n}function y(e,t){t&&(this.data=t,m.extend(this,h(e,t,t,{})),delete this.stateToken,\"RECOVERY_CHALLENGE\"!==t.status||t._links||(this.cancel=function(){return new v(new y(e))}))}var g=n(3),m=n(0),v=n(5),w=n(1),T=n(23),k=n(2);e.exports={transactionStatus:i,resumeTransaction:s,transactionExists:c,postToTransaction:f,introspect:a}},function(e,t){function n(){throw new Error(\"setTimeout has not been defined\")}function r(){throw new Error(\"clearTimeout has not been defined\")}function o(e){if(f===setTimeout)return setTimeout(e,0);if((f===n||!f)&&setTimeout)return f=setTimeout,setTimeout(e,0);try{return f(e,0)}catch(t){try{return f.call(null,e,0)}catch(t){return f.call(this,e,0)}}}function i(e){if(p===clearTimeout)return clearTimeout(e);if((p===r||!p)&&clearTimeout)return p=clearTimeout,clearTimeout(e);try{return p(e)}catch(t){try{return p.call(null,e)}catch(t){return p.call(this,e)}}}function s(){y&&d&&(y=!1,d.length?h=d.concat(h):g=-1,h.length&&a())}function a(){if(!y){var e=o(s);y=!0;for(var t=h.length;t;){for(d=h,h=[];++g<t;)d&&d[g].run();g=-1,t=h.length}d=null,y=!1,i(e)}}function u(e,t){this.fun=e,this.array=t}function c(){}var f,p,l=e.exports={};!function(){try{f=\"function\"==typeof setTimeout?setTimeout:n}catch(e){f=n}try{p=\"function\"==typeof clearTimeout?clearTimeout:r}catch(e){p=r}}();var d,h=[],y=!1,g=-1;l.nextTick=function(e){var t=new Array(arguments.length-1);if(arguments.length>1)for(var n=1;n<arguments.length;n++)t[n-1]=arguments[n];h.push(new u(e,t)),1!==h.length||y||o(a)},u.prototype.run=function(){this.fun.apply(null,this.array)},l.title=\"browser\",l.browser=!0,l.env={},l.argv=[],l.version=\"\",l.versions={},l.on=c,l.addListener=c,l.once=c,l.off=c,l.removeListener=c,l.removeAllListeners=c,l.emit=c,l.prependListener=c,l.prependOnceListener=c,l.listeners=function(e){return[]},l.binding=function(e){throw new Error(\"process.binding is not supported\")},l.cwd=function(){return\"/\"},l.chdir=function(e){throw new Error(\"process.chdir is not supported\")},l.umask=function(){return 0}},function(e,t){var n;n=function(){return this}();try{n=n||Function(\"return this\")()||(0,eval)(\"this\")}catch(e){\"object\"==typeof window&&(n=window)}e.exports=n},function(e,t,n){function r(){return g.genRandomString(64)}function o(){return g.genRandomString(64)}function i(e){return!(!e||!e.accessToken&&!e.idToken||!Array.isArray(e.scopes))}function s(e,t,n){e.addEventListener?e.addEventListener(t,n):e.attachEvent(\"on\"+t,n)}function a(e,t,n){e.removeEventListener?e.removeEventListener(t,n):e.detachEvent(\"on\"+t,n)}function u(e){var t=document.createElement(\"iframe\");return t.style.display=\"none\",t.src=e,document.body.appendChild(t)}function c(e,t){var n=t.popupTitle||\"External Identity Provider User Authentication\",r=\"toolbar=no, scrollbars=yes, resizable=yes, top=100, left=500, width=600, height=600\";if(g.isIE11OrLess()){var o=window.open(\"/\",n,r);return o.location.href=e,o}return window.open(e,n,r)}function f(e,t){var n=t||e.options.issuer||e.options.url;return y.get(e,n+\"/.well-known/openid-configuration\",{cacheResponse:!0})}function p(e,t,n){return f(e,t).then(function(t){var r=t.jwks_uri,o=w.getStorage(),i=o[r];if(i&&Date.now()/1e3<i.expiresAt){var s=g.find(i.response.keys,{kid:n});if(s)return s}return w.clearStorage(r),y.get(e,r,{cacheResponse:!0}).then(function(e){var t=g.find(e.keys,{kid:n});if(t)return t;throw new v(\"The key id, \"+n+\", was not found in the server's keys\")})})}function l(e,t,n){var r=n.clientId,o=n.issuer,i=n.nonce;if(!t||!o||!r)throw new v(\"The jwt, iss, and aud arguments are all required\");if(i&&t.nonce!==i)throw new v(\"OAuth flow response nonce doesn't match request nonce\");var s=Math.floor(Date.now()/1e3);if(t.iss!==o)throw new v(\"The issuer [\"+t.iss+\"] does not match [\"+o+\"]\");if(t.aud!==r)throw new v(\"The audience [\"+t.aud+\"] does not match [\"+r+\"]\");if(t.iat>t.exp)throw new v(\"The JWT expired before it was issued\");if(s-e.options.maxClockSkew>t.exp)throw new v(\"The JWT expired and is no longer valid\");if(t.iat>s+e.options.maxClockSkew)throw new v(\"The JWT was issued in the future\")}function d(e,t,n){n=n||{};var r=g.removeTrailingSlash(n.authorizeUrl)||e.options.authorizeUrl,o=g.removeTrailingSlash(n.issuer)||e.options.issuer,i=g.removeTrailingSlash(n.userinfoUrl)||e.options.userinfoUrl,s=g.removeTrailingSlash(n.tokenUrl)||e.options.tokenUrl,a=g.removeTrailingSlash(n.logoutUrl)||e.options.logoutUrl,u=g.removeTrailingSlash(n.revokeUrl)||e.options.revokeUrl;if(o&&!/^https?:/.test(o)&&(o=e.options.url+\"/oauth2/\"+o),!o&&r&&-1!==t.responseType.indexOf(\"id_token\"))throw new v(\"Cannot request idToken with an authorizeUrl without an issuer\");if(!o&&t&&-1!==t.responseType.indexOf(\"token\")){if(r&&!i)throw new v(\"Cannot request accessToken with an authorizeUrl without an issuer or userinfoUrl\");if(i&&!r)throw new v(\"Cannot request token with an userinfoUrl without an issuer or authorizeUrl\")}o=o||e.options.url,o=g.removeTrailingSlash(o);var c=o;return new RegExp(\"^https?://.*?/oauth2/.+\").test(c)||c.endsWith(\"/oauth2\")||(c+=\"/oauth2\"),r=r||c+\"/v1/authorize\",i=i||c+\"/v1/userinfo\",s=s||c+\"/v1/token\",u=u||c+\"/v1/revoke\",a=a||c+\"/v1/logout\",{issuer:o,authorizeUrl:r,userinfoUrl:i,tokenUrl:s,revokeUrl:u,logoutUrl:a}}function h(e){for(var t,n=/\\+/g,r=/([^&=]+)=?([^&]*)/g,o=e.substring(1),i={};;){if(!(t=r.exec(o)))break;var s=t[1],a=t[2];i[s]=\"id_token\"===s||\"access_token\"===s||\"code\"===s?a:decodeURIComponent(a.replace(n,\" \"))}return i}var y=n(3),g=n(0),m=n(4),v=n(1),w=m.getHttpCache();e.exports={generateState:r,generateNonce:o,getWellKnown:f,getKey:p,validateClaims:l,getOAuthUrls:d,loadFrame:u,loadPopup:c,urlParamsToObject:h,isToken:i,addListener:s,removeListener:a}},function(e,t,n){var r=n(12),o=n(4);e.exports=n(15)(o,r)},function(e,t,n){function r(e,t,n){var r=n.data,i=n.headers||{};return\"application/json\"===(i[\"Content-Type\"]||i[\"content-type\"]||\"\")&&r&&\"string\"!=typeof r&&(r=JSON.stringify(r)),o(t,{method:e,headers:n.headers,body:r,credentials:!1===n.withCredentials?\"omit\":\"include\"}).then(function(e){var t=!e.ok,n=e.status,r=function(e){var r={responseText:e,status:n};if(t)throw r;return r};return e.headers.get(\"Content-Type\")&&e.headers.get(\"Content-Type\").toLowerCase().indexOf(\"application/json\")>=0?e.json().then(r):e.text().then(r)})}var o=n(13);e.exports=r},function(e,t){var n=function(e){function t(){this.fetch=!1,this.DOMException=e.DOMException}return t.prototype=e,new t}(\"undefined\"!=typeof self?self:this);!function(e){!function(t){function n(e){return e&&DataView.prototype.isPrototypeOf(e)}function r(e){if(\"string\"!=typeof e&&(e=String(e)),/[^a-z0-9\\-#$%&'*+.^_`|~]/i.test(e))throw new TypeError(\"Invalid character in header field name\");return e.toLowerCase()}function o(e){return\"string\"!=typeof e&&(e=String(e)),e}function i(e){var t={next:function(){var t=e.shift();return{done:void 0===t,value:t}}};return T.iterable&&(t[Symbol.iterator]=function(){return t}),t}function s(e){this.map={},e instanceof s?e.forEach(function(e,t){this.append(t,e)},this):Array.isArray(e)?e.forEach(function(e){this.append(e[0],e[1])},this):e&&Object.getOwnPropertyNames(e).forEach(function(t){this.append(t,e[t])},this)}function a(e){if(e.bodyUsed)return Promise.reject(new TypeError(\"Already read\"));e.bodyUsed=!0}function u(e){return new Promise(function(t,n){e.onload=function(){t(e.result)},e.onerror=function(){n(e.error)}})}function c(e){var t=new FileReader,n=u(t);return t.readAsArrayBuffer(e),n}function f(e){var t=new FileReader,n=u(t);return t.readAsText(e),n}function p(e){for(var t=new Uint8Array(e),n=new Array(t.length),r=0;r<t.length;r++)n[r]=String.fromCharCode(t[r]);return n.join(\"\")}function l(e){if(e.slice)return e.slice(0);var t=new Uint8Array(e.byteLength);return t.set(new Uint8Array(e)),t.buffer}function d(){return this.bodyUsed=!1,this._initBody=function(e){this._bodyInit=e,e?\"string\"==typeof e?this._bodyText=e:T.blob&&Blob.prototype.isPrototypeOf(e)?this._bodyBlob=e:T.formData&&FormData.prototype.isPrototypeOf(e)?this._bodyFormData=e:T.searchParams&&URLSearchParams.prototype.isPrototypeOf(e)?this._bodyText=e.toString():T.arrayBuffer&&T.blob&&n(e)?(this._bodyArrayBuffer=l(e.buffer),this._bodyInit=new Blob([this._bodyArrayBuffer])):T.arrayBuffer&&(ArrayBuffer.prototype.isPrototypeOf(e)||b(e))?this._bodyArrayBuffer=l(e):this._bodyText=e=Object.prototype.toString.call(e):this._bodyText=\"\",this.headers.get(\"content-type\")||(\"string\"==typeof e?this.headers.set(\"content-type\",\"text/plain;charset=UTF-8\"):this._bodyBlob&&this._bodyBlob.type?this.headers.set(\"content-type\",this._bodyBlob.type):T.searchParams&&URLSearchParams.prototype.isPrototypeOf(e)&&this.headers.set(\"content-type\",\"application/x-www-form-urlencoded;charset=UTF-8\"))},T.blob&&(this.blob=function(){var e=a(this);if(e)return e;if(this._bodyBlob)return Promise.resolve(this._bodyBlob);if(this._bodyArrayBuffer)return Promise.resolve(new Blob([this._bodyArrayBuffer]));if(this._bodyFormData)throw new Error(\"could not read FormData body as blob\");return Promise.resolve(new Blob([this._bodyText]))},this.arrayBuffer=function(){return this._bodyArrayBuffer?a(this)||Promise.resolve(this._bodyArrayBuffer):this.blob().then(c)}),this.text=function(){var e=a(this);if(e)return e;if(this._bodyBlob)return f(this._bodyBlob);if(this._bodyArrayBuffer)return Promise.resolve(p(this._bodyArrayBuffer));if(this._bodyFormData)throw new Error(\"could not read FormData body as text\");return Promise.resolve(this._bodyText)},T.formData&&(this.formData=function(){return this.text().then(g)}),this.json=function(){return this.text().then(JSON.parse)},this}function h(e){var t=e.toUpperCase();return E.indexOf(t)>-1?t:e}function y(e,t){t=t||{};var n=t.body;if(e instanceof y){if(e.bodyUsed)throw new TypeError(\"Already read\");this.url=e.url,this.credentials=e.credentials,t.headers||(this.headers=new s(e.headers)),this.method=e.method,this.mode=e.mode,this.signal=e.signal,n||null==e._bodyInit||(n=e._bodyInit,e.bodyUsed=!0)}else this.url=String(e);if(this.credentials=t.credentials||this.credentials||\"same-origin\",!t.headers&&this.headers||(this.headers=new s(t.headers)),this.method=h(t.method||this.method||\"GET\"),this.mode=t.mode||this.mode||null,this.signal=t.signal||this.signal,this.referrer=null,(\"GET\"===this.method||\"HEAD\"===this.method)&&n)throw new TypeError(\"Body not allowed for GET or HEAD requests\");this._initBody(n)}function g(e){var t=new FormData;return e.trim().split(\"&\").forEach(function(e){if(e){var n=e.split(\"=\"),r=n.shift().replace(/\\+/g,\" \"),o=n.join(\"=\").replace(/\\+/g,\" \");t.append(decodeURIComponent(r),decodeURIComponent(o))}}),t}function m(e){var t=new s;return e.replace(/\\r?\\n[\\t ]+/g,\" \").split(/\\r?\\n/).forEach(function(e){var n=e.split(\":\"),r=n.shift().trim();if(r){var o=n.join(\":\").trim();t.append(r,o)}}),t}function v(e,t){t||(t={}),this.type=\"default\",this.status=void 0===t.status?200:t.status,this.ok=this.status>=200&&this.status<300,this.statusText=\"statusText\"in t?t.statusText:\"OK\",this.headers=new s(t.headers),this.url=t.url||\"\",this._initBody(e)}function w(e,n){return new Promise(function(r,o){function i(){a.abort()}var s=new y(e,n);if(s.signal&&s.signal.aborted)return o(new t.DOMException(\"Aborted\",\"AbortError\"));var a=new XMLHttpRequest;a.onload=function(){var e={status:a.status,statusText:a.statusText,headers:m(a.getAllResponseHeaders()||\"\")};e.url=\"responseURL\"in a?a.responseURL:e.headers.get(\"X-Request-URL\");var t=\"response\"in a?a.response:a.responseText;r(new v(t,e))},a.onerror=function(){o(new TypeError(\"Network request failed\"))},a.ontimeout=function(){o(new TypeError(\"Network request failed\"))},a.onabort=function(){o(new t.DOMException(\"Aborted\",\"AbortError\"))},a.open(s.method,s.url,!0),\"include\"===s.credentials?a.withCredentials=!0:\"omit\"===s.credentials&&(a.withCredentials=!1),\"responseType\"in a&&T.blob&&(a.responseType=\"blob\"),s.headers.forEach(function(e,t){a.setRequestHeader(t,e)}),s.signal&&(s.signal.addEventListener(\"abort\",i),a.onreadystatechange=function(){4===a.readyState&&s.signal.removeEventListener(\"abort\",i)}),a.send(void 0===s._bodyInit?null:s._bodyInit)})}var T={searchParams:\"URLSearchParams\"in e,iterable:\"Symbol\"in e&&\"iterator\"in Symbol,blob:\"FileReader\"in e&&\"Blob\"in e&&function(){try{return new Blob,!0}catch(e){return!1}}(),formData:\"FormData\"in e,arrayBuffer:\"ArrayBuffer\"in e};if(T.arrayBuffer)var k=[\"[object Int8Array]\",\"[object Uint8Array]\",\"[object Uint8ClampedArray]\",\"[object Int16Array]\",\"[object Uint16Array]\",\"[object Int32Array]\",\"[object Uint32Array]\",\"[object Float32Array]\",\"[object Float64Array]\"],b=ArrayBuffer.isView||function(e){return e&&k.indexOf(Object.prototype.toString.call(e))>-1};s.prototype.append=function(e,t){e=r(e),t=o(t);var n=this.map[e];this.map[e]=n?n+\", \"+t:t},s.prototype.delete=function(e){delete this.map[r(e)]},s.prototype.get=function(e){return e=r(e),this.has(e)?this.map[e]:null},s.prototype.has=function(e){return this.map.hasOwnProperty(r(e))},s.prototype.set=function(e,t){this.map[r(e)]=o(t)},s.prototype.forEach=function(e,t){for(var n in this.map)this.map.hasOwnProperty(n)&&e.call(t,this.map[n],n,this)},s.prototype.keys=function(){var e=[];return this.forEach(function(t,n){e.push(n)}),i(e)},s.prototype.values=function(){var e=[];return this.forEach(function(t){e.push(t)}),i(e)},s.prototype.entries=function(){var e=[];return this.forEach(function(t,n){e.push([n,t])}),i(e)},T.iterable&&(s.prototype[Symbol.iterator]=s.prototype.entries);var E=[\"DELETE\",\"GET\",\"HEAD\",\"OPTIONS\",\"POST\",\"PUT\"];y.prototype.clone=function(){return new y(this,{body:this._bodyInit})},d.call(y.prototype),d.call(v.prototype),v.prototype.clone=function(){return new v(this._bodyInit,{status:this.status,statusText:this.statusText,headers:new s(this.headers),url:this.url})},v.error=function(){var e=new v(null,{status:0,statusText:\"\"});return e.type=\"error\",e};var S=[301,302,303,307,308];v.redirect=function(e,t){if(-1===S.indexOf(t))throw new RangeError(\"Invalid status code\");return new v(null,{status:t,headers:{location:e}})},t.DOMException=e.DOMException;try{new t.DOMException}catch(e){t.DOMException=function(e,t){this.message=e,this.name=t;var n=Error(e);this.stack=n.stack},t.DOMException.prototype=Object.create(Error.prototype),t.DOMException.prototype.constructor=t.DOMException}w.polyfill=!0,e.fetch||(e.fetch=w,e.Headers=s,e.Request=y,e.Response=v),t.Headers=s,t.Request=y,t.Response=v,t.fetch=w}({})}(n),delete n.fetch.polyfill,t=n.fetch,t.default=n.fetch,t.fetch=n.fetch,t.Headers=n.Headers,t.Request=n.Request,t.Response=n.Response,e.exports=t},function(e,t,n){var r,o;!function(i){var s=!1;if(r=i,void 0!==(o=\"function\"==typeof r?r.call(t,n,t,e):r)&&(e.exports=o),s=!0,e.exports=i(),s=!0,!s){var a=window.Cookies,u=window.Cookies=i();u.noConflict=function(){return window.Cookies=a,u}}}(function(){function e(){for(var e=0,t={};e<arguments.length;e++){var n=arguments[e];for(var r in n)t[r]=n[r]}return t}function t(n){function r(t,o,i){var s;if(\"undefined\"!=typeof document){if(arguments.length>1){if(i=e({path:\"/\"},r.defaults,i),\"number\"==typeof i.expires){var a=new Date;a.setMilliseconds(a.getMilliseconds()+864e5*i.expires),i.expires=a}i.expires=i.expires?i.expires.toUTCString():\"\";try{s=JSON.stringify(o),/^[\\{\\[]/.test(s)&&(o=s)}catch(e){}o=n.write?n.write(o,t):encodeURIComponent(String(o)).replace(/%(23|24|26|2B|3A|3C|3E|3D|2F|3F|40|5B|5D|5E|60|7B|7D|7C)/g,decodeURIComponent),t=encodeURIComponent(String(t)),t=t.replace(/%(23|24|26|2B|5E|60|7C)/g,decodeURIComponent),t=t.replace(/[\\(\\)]/g,escape);var u=\"\";for(var c in i)i[c]&&(u+=\"; \"+c,!0!==i[c]&&(u+=\"=\"+i[c]));return document.cookie=t+\"=\"+o+u}t||(s={});for(var f=document.cookie?document.cookie.split(\"; \"):[],p=/(%[0-9A-Z]{2})+/g,l=0;l<f.length;l++){var d=f[l].split(\"=\"),h=d.slice(1).join(\"=\");this.json||'\"'!==h.charAt(0)||(h=h.slice(1,-1));try{var y=d[0].replace(p,decodeURIComponent);if(h=n.read?n.read(h,y):n(h,y)||h.replace(p,decodeURIComponent),this.json)try{h=JSON.parse(h)}catch(e){}if(t===y){s=h;break}t||(s[y]=h)}catch(e){}}return s}}return r.set=r,r.get=function(e){return r.call(r,e)},r.getJSON=function(){return r.apply({json:!0},[].slice.call(arguments))},r.defaults={},r.remove=function(t,n){r(t,\"\",e(n,{expires:-1}))},r.withConverter=t,r}return t(function(){})})},function(e,t,n){function r(e){var t=this,n=s.getValidUrl(e),r=e.pkce||\"authorization_code\"===e.grantType;if(this.options={url:g.removeTrailingSlash(n),clientId:e.clientId,issuer:g.removeTrailingSlash(e.issuer),authorizeUrl:g.removeTrailingSlash(e.authorizeUrl),userinfoUrl:g.removeTrailingSlash(e.userinfoUrl),tokenUrl:g.removeTrailingSlash(e.tokenUrl),revokeUrl:g.removeTrailingSlash(e.revokeUrl),logoutUrl:g.removeTrailingSlash(e.logoutUrl),pkce:r,redirectUri:e.redirectUri,postLogoutRedirectUri:e.postLogoutRedirectUri,responseMode:e.responseMode,httpRequestClient:e.httpRequestClient,storageUtil:e.storageUtil,transformErrorXHR:e.transformErrorXHR,headers:e.headers,onSessionExpired:e.onSessionExpired},this.options.pkce&&!t.features.isPKCESupported()){var c=\"PKCE requires a modern browser with encryption support running in a secure context.\";throw t.features.isHTTPS()||(c+=\"\\nThe current page is not being served with HTTPS protocol. Try using HTTPS.\"),t.features.hasTextEncoder()||(c+='\\n\"TextEncoder\" is not defined. You may need a polyfill/shim for this browser.'),new i(c)}this.userAgent=\"okta-auth-js-2.13.2\",e.maxClockSkew||0===e.maxClockSkew?this.options.maxClockSkew=e.maxClockSkew:this.options.maxClockSkew=a.DEFAULT_MAX_CLOCK_SKEW,this.options.ignoreSignature=!!e.ignoreSignature,t.session={close:g.bind(l.closeSession,null,t),exists:g.bind(l.sessionExists,null,t),get:g.bind(l.getSession,null,t),refresh:g.bind(l.refreshSession,null,t),setCookieAndRedirect:g.bind(l.setCookieAndRedirect,null,t)},t.tx={status:g.bind(y.transactionStatus,null,t),resume:g.bind(y.resumeTransaction,null,t),exists:g.bind(y.transactionExists,null,t),introspect:g.bind(y.introspect,null,t)},t.tx.exists._get=function(e){return u.get(e)},t.idToken={authorize:{_getLocationHref:function(){return window.location.href}}},t.token={getWithoutPrompt:g.bind(d.getWithoutPrompt,null,t),getWithPopup:g.bind(d.getWithPopup,null,t),getWithRedirect:g.bind(d.getWithRedirect,null,t),parseFromUrl:g.bind(d.parseFromUrl,null,t),decode:d.decodeToken,revoke:g.bind(d.revokeToken,null,t),renew:g.bind(d.renewToken,null,t),getUserInfo:g.bind(d.getUserInfo,null,t),verify:g.bind(d.verifyToken,null,t)},t.token.getWithRedirect._setLocation=function(e){window.location=e},t.token.parseFromUrl._getHistory=function(){return window.history},t.token.parseFromUrl._getLocation=function(){return window.location},t.token.parseFromUrl._getDocument=function(){return window.document},t.fingerprint._getUserAgent=function(){return navigator.userAgent};var f=/windows phone|iemobile|wpdesktop/i;t.features.isFingerprintSupported=function(){var e=t.fingerprint._getUserAgent();return e&&!f.test(e)},t.emitter=new o,t.tokenManager=new h(t,e.tokenManager),t.tokenManager.on(\"error\",this._onTokenManagerError,this)}n(16);var o=n(18),i=n(1),s=n(19),a=n(2),u=n(4).storage,c=n(3),f=n(10),p=n(5),l=n(24),d=n(25),h=n(29),y=n(7),g=n(0),m=r.prototype;m._onTokenManagerError=function(e){\"login_required\"===e.errorCode&&e.accessToken&&(this.options.onSessionExpired?this.options.onSessionExpired():console.error(\"Session has expired or was closed outside the application.\"))},m.features={},m.features.isPopupPostMessageSupported=function(){var e=document.documentMode&&document.documentMode<10;return!(!window.postMessage||e)},m.features.isTokenVerifySupported=function(){return\"undefined\"!=typeof crypto&&crypto.subtle&&\"undefined\"!=typeof Uint8Array},m.features.hasTextEncoder=function(){return\"undefined\"!=typeof TextEncoder},m.features.isPKCESupported=function(){return m.features.isTokenVerifySupported()&&m.features.hasTextEncoder()},m.features.isHTTPS=function(){return\"https:\"===window.location.protocol},m.signIn=function(e){function t(t){return delete e.sendFingerprint,y.postToTransaction(n,\"/api/v1/authn\",e,t)}var n=this;return e=g.clone(e||{}),e.sendFingerprint?n.fingerprint().then(function(e){return t({headers:{\"X-Device-Fingerprint\":e}})}):t()},m.signOut=function(e){function t(){return s.session.close().catch(function(e){if(\"AuthApiError\"!==e.name)throw e})}e=g.extend({},e);var n=e.postLogoutRedirectUri||this.options.postLogoutRedirectUri,r=e.accessToken,o=e.revokeAccessToken,i=e.idToken,s=this,a=f.getOAuthUrls(s).logoutUrl;return p.allSettled([function(){return(new p).then(function(){return o&&void 0===r?s.tokenManager.get(\"token\"):r})}(),function(){return(new p).then(function(){return n&&void 0===i?s.tokenManager.get(\"idToken\"):i})}()]).then(function(e){if(r=e[0].value,i=e[1].value,s.tokenManager.clear(),o&&r)return s.token.revoke(r).catch(function(e){if(\"AuthApiError\"!==e.name)throw e})}).then(function(){if(!n)return t();if(!i)return t().catch(function(e){console.log(\"Unhandled exception while closing session\",e)}).then(function(){window.location.assign(n)});var r=e.state,o=i.idToken,s=a+\"?id_token_hint=\"+encodeURIComponent(o)+\"&post_logout_redirect_uri=\"+encodeURIComponent(n);r&&(s+=\"&state=\"+encodeURIComponent(r)),window.location.assign(s)})},s.addSharedPrototypes(m),m.webfinger=function(e){var t=\"/.well-known/webfinger\"+g.toQueryParams(e),n={headers:{Accept:\"application/jrd+json\"}};return c.get(this,t,n)},m.fingerprint=function(e){function t(e){if(e&&e.data&&e.origin===n.options.url){try{var t=JSON.parse(e.data)}catch(e){return r.reject(new i(\"Unable to parse iframe response\"))}if(t)return\"FingerprintAvailable\"===t.type?r.resolve(t.fingerprint):void(\"FingerprintServiceReady\"===t.type&&e.source.postMessage(JSON.stringify({type:\"GetFingerprint\"}),e.origin))}}e=e||{};var n=this;if(!n.features.isFingerprintSupported())return p.reject(new i(\"Fingerprinting is not supported on this device\"));var r=p.defer(),o=document.createElement(\"iframe\");o.style.display=\"none\",f.addListener(window,\"message\",t),o.src=n.options.url+\"/auth/services/devicefingerprint\",document.body.appendChild(o);var s=setTimeout(function(){r.reject(new i(\"Fingerprinting timed out\"))},e.timeout||15e3);return r.promise.fin(function(){clearTimeout(s),f.removeListener(window,\"message\",t),document.body.contains(o)&&o.parentElement.removeChild(o)})},e.exports=s.buildOktaAuth(r)},function(e,t,n){n(17),Array.prototype.indexOf||(Array.prototype.indexOf=function(e,t){var n;if(null==this)throw new TypeError('\"this\" is null or not defined');var r=Object(this),o=r.length>>>0;if(0===o)return-1;var i=+t||0;if(Math.abs(i)===1/0&&(i=0),i>=o)return-1;for(n=Math.max(i>=0?i:o-Math.abs(i),0);n<o;){if(n in r&&r[n]===e)return n;n++}return-1}),Array.isArray||(Array.isArray=function(e){return\"[object Array]\"===Object.prototype.toString.call(e)})},function(e,t,n){!function(){function e(e){this.message=e}var n=t,r=\"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=\";e.prototype=new Error,e.prototype.name=\"InvalidCharacterError\",n.btoa||(n.btoa=function(t){for(var n,o,i=String(t),s=0,a=r,u=\"\";i.charAt(0|s)||(a=\"=\",s%1);u+=a.charAt(63&n>>8-s%1*8)){if((o=i.charCodeAt(s+=.75))>255)throw new e(\"'btoa' failed: The string to be encoded contains characters outside of the Latin1 range.\");n=n<<8|o}return u}),n.atob||(n.atob=function(t){var n=String(t).replace(/=+$/,\"\");if(n.length%4==1)throw new e(\"'atob' failed: The string to be decoded is not correctly encoded.\");for(var o,i,s=0,a=0,u=\"\";i=n.charAt(a++);~i&&(o=s%4?64*o+i:i,s++%4)?u+=String.fromCharCode(255&o>>(-2*s&6)):0)i=r.indexOf(i);return u})}()},function(e,t){function n(){}n.prototype={on:function(e,t,n){var r=this.e||(this.e={});return(r[e]||(r[e]=[])).push({fn:t,ctx:n}),this},once:function(e,t,n){function r(){o.off(e,r),t.apply(n,arguments)}var o=this;return r._=t,this.on(e,r,n)},emit:function(e){var t=[].slice.call(arguments,1),n=((this.e||(this.e={}))[e]||[]).slice(),r=0,o=n.length;for(r;r<o;r++)n[r].fn.apply(n[r].ctx,t);return this},off:function(e,t){var n=this.e||(this.e={}),r=n[e],o=[];if(r&&t)for(var i=0,s=r.length;i<s;i++)r[i].fn!==t&&r[i].fn._!==t&&o.push(r[i]);return o.length?n[e]=o:delete n[e],this}},e.exports=n},function(e,t,n){function r(e){if(!e)throw new s(\"No arguments passed to constructor. Required usage: new OktaAuth(args)\");var t=e.url;if(!t){var n=new RegExp(\"^http?s?://.+\");if(!e.issuer||!n.test(e.issuer))throw new s('No url passed to constructor. Required usage: new OktaAuth({url: \"https://{yourOktaDomain}.com\"})');t=e.issuer.split(\"/oauth2/\")[0]}if(-1!==t.indexOf(\"-admin.\"))throw new s('URL passed to constructor contains \"-admin\" in subdomain. Required usage: new OktaAuth({url: \"https://{yourOktaDomain}.com})');return t}function o(e){e.forgotPassword=function(e){return a.postToTransaction(this,\"/api/v1/authn/recovery/password\",e)},e.unlockAccount=function(e){return a.postToTransaction(this,\"/api/v1/authn/recovery/unlock\",e)},e.verifyRecoveryToken=function(e){return a.postToTransaction(this,\"/api/v1/authn/recovery/token\",e)}}function i(e){return function(t,n){function r(o){if(!(this instanceof r))return new r(o);o&&(o.storageUtil=t,o.ajaxRequest?(u.deprecate(\"ajaxRequest is being deprecated, use httpRequestClient attribute instead.\"),o.httpRequestClient=o.ajaxRequest):o.httpRequestClient||(o.httpRequestClient=n)),u.bind(e,this)(o)}return r.prototype=e.prototype,r.prototype.constructor=r,r.features=e.prototype.features,r}}var s=n(1),a=n(7),u=n(0);e.exports={addSharedPrototypes:o,buildOktaAuth:i,getValidUrl:r}},function(e,t,n){(function(e){function r(e,t){this._id=e,this._clearFn=t}var o=void 0!==e&&e||\"undefined\"!=typeof self&&self||window,i=Function.prototype.apply;t.setTimeout=function(){return new r(i.call(setTimeout,o,arguments),clearTimeout)},t.setInterval=function(){return new r(i.call(setInterval,o,arguments),clearInterval)},t.clearTimeout=t.clearInterval=function(e){e&&e.close()},r.prototype.unref=r.prototype.ref=function(){},r.prototype.close=function(){this._clearFn.call(o,this._id)},t.enroll=function(e,t){clearTimeout(e._idleTimeoutId),e._idleTimeout=t},t.unenroll=function(e){clearTimeout(e._idleTimeoutId),e._idleTimeout=-1},t._unrefActive=t.active=function(e){clearTimeout(e._idleTimeoutId);var t=e._idleTimeout;t>=0&&(e._idleTimeoutId=setTimeout(function(){e._onTimeout&&e._onTimeout()},t))},n(21),t.setImmediate=\"undefined\"!=typeof self&&self.setImmediate||void 0!==e&&e.setImmediate||this&&this.setImmediate,t.clearImmediate=\"undefined\"!=typeof self&&self.clearImmediate||void 0!==e&&e.clearImmediate||this&&this.clearImmediate}).call(t,n(9))},function(e,t,n){(function(e,t){!function(e,n){\"use strict\";function r(e){\"function\"!=typeof e&&(e=new Function(\"\"+e));for(var t=new Array(arguments.length-1),n=0;n<t.length;n++)t[n]=arguments[n+1];var r={callback:e,args:t};return c[u]=r,a(u),u++}function o(e){delete c[e]}function i(e){var t=e.callback,r=e.args;switch(r.length){case 0:t();break;case 1:t(r[0]);break;case 2:t(r[0],r[1]);break;case 3:t(r[0],r[1],r[2]);break;default:t.apply(n,r)}}function s(e){if(f)setTimeout(s,0,e);else{var t=c[e];if(t){f=!0;try{i(t)}finally{o(e),f=!1}}}}if(!e.setImmediate){var a,u=1,c={},f=!1,p=e.document,l=Object.getPrototypeOf&&Object.getPrototypeOf(e);l=l&&l.setTimeout?l:e,\"[object process]\"==={}.toString.call(e.process)?function(){a=function(e){t.nextTick(function(){s(e)})}}():function(){if(e.postMessage&&!e.importScripts){var t=!0,n=e.onmessage;return e.onmessage=function(){t=!1},e.postMessage(\"\",\"*\"),e.onmessage=n,t}}()?function(){var t=\"setImmediate$\"+Math.random()+\"$\",n=function(n){n.source===e&&\"string\"==typeof n.data&&0===n.data.indexOf(t)&&s(+n.data.slice(t.length))};e.addEventListener?e.addEventListener(\"message\",n,!1):e.attachEvent(\"onmessage\",n),a=function(n){e.postMessage(t+n,\"*\")}}():e.MessageChannel?function(){var e=new MessageChannel;e.port1.onmessage=function(e){s(e.data)},a=function(t){e.port2.postMessage(t)}}():p&&\"onreadystatechange\"in p.createElement(\"script\")?function(){var e=p.documentElement;a=function(t){var n=p.createElement(\"script\");n.onreadystatechange=function(){s(t),n.onreadystatechange=null,e.removeChild(n),n=null},e.appendChild(n)}}():function(){a=function(e){setTimeout(s,0,e)}}(),l.setImmediate=r,l.clearImmediate=o}}(\"undefined\"==typeof self?void 0===e?this:e:self)}).call(t,n(9),n(8))},function(e,t){function n(e,t){this.name=\"AuthApiError\",this.message=e.errorSummary,this.errorSummary=e.errorSummary,this.errorCode=e.errorCode,this.errorLink=e.errorLink,this.errorId=e.errorId,this.errorCauses=e.errorCauses,t&&(this.xhr=t)}n.prototype=new Error,e.exports=n},function(e,t){function n(){this.name=\"AuthPollStopError\",this.message=\"The poll was stopped by the sdk\"}n.prototype=new Error,e.exports=n},function(e,t,n){function r(e){return e.session.get().then(function(e){return\"ACTIVE\"===e.status}).fail(function(){return!1})}function o(e){return c.get(e,\"/api/v1/sessions/me\").then(function(t){var n=u.omit(t,\"_links\");return n.refresh=function(){return c.post(e,u.getLink(t,\"refresh\").href)},n.user=function(){return c.get(e,u.getLink(t,\"user\").href)},n}).fail(function(){return{status:\"INACTIVE\"}})}function i(e){return c.httpRequest(e,{url:e.options.url+\"/api/v1/sessions/me\",method:\"DELETE\"})}function s(e){return c.post(e,\"/api/v1/sessions/me/lifecycle/refresh\")}function a(e,t,n){n=n||window.location.href,window.location=e.options.url+\"/login/sessionCookieRedirect\"+u.toQueryParams({checkAccountSetupComplete:!0,token:t,redirectUrl:n})}var u=n(0),c=n(3);e.exports={sessionExists:r,getSession:o,closeSession:i,refreshSession:s,setCookieAndRedirect:a}},function(e,t,n){function r(e,t){return(new _).then(function(){if(!t||!t.accessToken)throw new U(\"A valid access token object is required\");var n=e.options.clientId;if(!n)throw new U(\"A clientId must be specified in the OktaAuth constructor to revoke a token\");var r=x.getOAuthUrls(e).revokeUrl,o=t.accessToken,i=A.toQueryParams({token_type_hint:\"access_token\",token:o}).slice(1),s=btoa(n);return S.post(e,r,i,{headers:{\"Content-Type\":\"application/x-www-form-urlencoded\",Authorization:\"Basic \"+s}})})}function o(e){var t,n=e.split(\".\");try{t={header:JSON.parse(A.base64UrlToString(n[0])),payload:JSON.parse(A.base64UrlToString(n[1])),signature:n[2]}}catch(e){throw new U(\"Malformed token\")}return t}function i(e,t,n){return(new _).then(function(){if(!t||!t.idToken)throw new U(\"Only idTokens may be verified\");var r=o(t.idToken),i={clientId:e.options.clientId,issuer:e.options.issuer||e.options.url,ignoreSignature:e.options.ignoreSignature};return A.extend(i,n),x.validateClaims(e,r.payload,i),1!=i.ignoreSignature&&e.features.isTokenVerifySupported()?x.getKey(e,t.issuer,r.header.kid).then(function(e){return O.verifyToken(t.idToken,e)}).then(function(e){if(!e)throw new U(\"The token signature is not valid\");return t}):t})}function s(e,t,n){function r(t){if(t.data&&t.data.state===n)return t.origin!==e.options.url?o.reject(new U(\"The request does not match client configuration\")):void o.resolve(t.data)}var o=_.defer();return x.addListener(window,\"message\",r),o.promise.timeout(t||12e4,new U(\"OAuth flow timed out\")).fin(function(){x.removeListener(window,\"message\",r)})}function a(e,t,n){function r(){try{t&&t.location&&t.location.hash?o.resolve(x.hashToObject(t.location.hash)):t&&!t.closed&&setTimeout(r,500)}catch(e){setTimeout(r,500)}}var o=_.defer();return r(),o.promise.timeout(n||12e4,new U(\"OAuth flow timed out\"))}function u(e,t,n,r){var o=P.loadMeta(e),i={clientId:t.clientId,authorizationCode:n,codeVerifier:o.codeVerifier,redirectUri:o.redirectUri};return P.getToken(e,i,r).then(function(e){return c(e,i),e}).fin(function(){P.clearMeta(e)})}function c(e,t){if(e.error||e.error_description)throw new C(e.error,e.error_description);if(e.state!==t.state)throw new U(\"OAuth flow response state doesn't match request state\")}function f(e,t,n,r){r=r||{};var o=t.responseType,s=A.clone(t.scopes),a=t.clientId||e.options.clientId;return(new _).then(function(){return c(n,t),n.code?(o=[\"token\",\"id_token\"],u(e,t,n.code,r)):n}).then(function(n){var o={};if(n.access_token&&(o.token={accessToken:n.access_token,expiresAt:Number(n.expires_in)+Math.floor(Date.now()/1e3),tokenType:n.token_type,scopes:s,authorizeUrl:r.authorizeUrl,userinfoUrl:r.userinfoUrl}),n.id_token){var u=e.token.decode(n.id_token),c={idToken:n.id_token,claims:u.payload,expiresAt:u.payload.exp,scopes:s,authorizeUrl:r.authorizeUrl,issuer:r.issuer,clientId:a},f={clientId:a,issuer:r.issuer,nonce:t.nonce};return void 0!==t.ignoreSignature&&(f.ignoreSignature=t.ignoreSignature),i(e,c,f).then(function(){return o.id_token=c,o})}return o}).then(function(e){return Array.isArray(o)?([\"token\",\"id_token\"].filter(function(e){return-1!==o.indexOf(e)}).forEach(function(t){if(!e[t])throw new U(\"Unable to parse OAuth flow response: \"+t+\" was not returned.\")}),o.map(function(t){return e[t]})):e[o]})}function p(e){return{pkce:e.options.pkce||!1,clientId:e.options.clientId,redirectUri:e.options.redirectUri||window.location.href,responseType:\"id_token\",responseMode:\"okta_post_message\",state:x.generateState(),nonce:x.generateNonce(),scopes:[\"openid\",\"email\"],ignoreSignature:e.options.ignoreSignature}}function l(e){if(!e.clientId)throw new U(\"A clientId must be specified in the OktaAuth constructor to get a token\");if(A.isString(e.responseType)&&-1!==e.responseType.indexOf(\" \"))throw new U(\"Multiple OAuth responseTypes must be defined as an array\");var t=A.removeNils({client_id:e.clientId,code_challenge:e.codeChallenge,code_challenge_method:e.codeChallengeMethod,display:e.display,idp:e.idp,idp_scope:e.idpScope,login_hint:e.loginHint,max_age:e.maxAge,nonce:e.nonce,prompt:e.prompt,redirect_uri:e.redirectUri,response_mode:e.responseMode,response_type:e.responseType,sessionToken:e.sessionToken,state:e.state});if([\"idp_scope\",\"response_type\"].forEach(function(e){Array.isArray(t[e])&&(t[e]=t[e].join(\" \"))}),-1!==e.responseType.indexOf(\"id_token\")&&-1===e.scopes.indexOf(\"openid\"))throw new U(\"openid scope must be specified in the scopes argument when requesting an id_token\");return t.scope=e.scopes.join(\" \"),t}function d(e){var t=l(e);return A.toQueryParams(t)}function h(e,t,n){return t=t||{},n=n||{},m(e,t).then(function(r){function o(e){return/^(https?\\:\\/\\/)?([^:\\/?#]*(?:\\:[0-9]+)?)/.exec(e)[0]}function i(e){if(!e||e.closed)return b.reject(new U(\"Unable to parse OAuth flow response\")),!0}var u={prompt:\"none\",responseMode:\"okta_post_message\",display:null},c={display:\"popup\"};t.sessionToken?A.extend(r,u):t.idp&&A.extend(r,c);var p,l,h;try{h=x.getOAuthUrls(e,r,n),l=t.codeVerifier?h.tokenUrl:h.authorizeUrl,p=l+d(r)}catch(e){return _.reject(e)}switch(r.sessionToken||null===r.display?\"IFRAME\":\"popup\"===r.display?\"POPUP\":\"IMPLICIT\"){case\"IFRAME\":var y=s(e,n.timeout,r.state),g=x.loadFrame(p);return y.then(function(t){return f(e,r,t,h)}).fin(function(){document.body.contains(g)&&g.parentElement.removeChild(g)});case\"POPUP\":var m;if(\"okta_post_message\"===r.responseMode){if(!e.features.isPopupPostMessageSupported())return _.reject(new U(\"This browser doesn't have full postMessage support\"));m=s(e,n.timeout,r.state)}var v={popupTitle:n.popupTitle},w=x.loadPopup(p,v);if(\"fragment\"===r.responseMode){var T=o(e.idToken.authorize._getLocationHref()),k=o(r.redirectUri);if(T!==k)return _.reject(new U(\"Using fragment, the redirectUri origin (\"+k+\") must match the origin of this page (\"+T+\")\"));m=a(e,w,n.timeout)}var b=_.defer(),E=setInterval(function(){i(w)&&clearInterval(E)},500);return m.then(function(e){b.resolve(e)}).fail(function(e){b.reject(e)}),b.promise.then(function(t){return f(e,r,t,h)}).fin(function(){clearInterval(E),w&&!w.closed&&w.close()});default:return _.reject(new U(\"The full page redirect flow is not supported\"))}})}function y(e,t,n){var r=A.clone(t)||{};return A.extend(r,{prompt:\"none\",responseMode:\"okta_post_message\",display:null}),h(e,r,n)}function g(e,t,n){var r=A.clone(t)||{};return A.extend(r,{display:\"popup\",responseMode:\"okta_post_message\"}),h(e,r,n)}function m(e,t){t=A.clone(t)||{},\"authorization_code\"===t.grantType&&(t.pkce=!0);var n=p(e);return A.extend(n,t),!0!==n.pkce?_.resolve(n):e.features.isPKCESupported()?(n.codeChallengeMethod||(n.codeChallengeMethod=P.DEFAULT_CODE_CHALLENGE_METHOD),n.responseType=\"code\",x.getWellKnown(e,null).then(function(e){if(-1===(e.code_challenge_methods_supported||[]).indexOf(n.codeChallengeMethod))throw new U(\"Invalid code_challenge_method\")}).then(function(){var t=P.generateVerifier(n.codeVerifier),r={codeVerifier:t,redirectUri:n.redirectUri};return P.saveMeta(e,r),P.computeChallenge(t)}).then(function(e){var t=A.clone(n)||{};return A.extend(t,n,{codeChallenge:e}),t})):_.reject(new U(\"This browser doesn't support PKCE\"))}function v(e,t,n){return t=A.clone(t)||{},m(e,t).then(function(r){t.responseMode||(r.responseType.includes(\"code\")&&!r.pkce?r.responseMode=\"query\":r.responseMode=e.options.responseMode||\"fragment\");var o=x.getOAuthUrls(e,r,n),i=o.authorizeUrl+d(r),s=\"https:\"===window.location.protocol,a={secure:s,sameSite:s?\"none\":\"lax\"};j.set(R.REDIRECT_OAUTH_PARAMS_COOKIE_NAME,JSON.stringify({responseType:r.responseType,state:r.state,nonce:r.nonce,scopes:r.scopes,clientId:r.clientId,urls:o,ignoreSignature:r.ignoreSignature}),null,a),j.set(R.REDIRECT_NONCE_COOKIE_NAME,r.nonce,null,a),j.set(R.REDIRECT_STATE_COOKIE_NAME,r.state,null,a),e.token.getWithRedirect._setLocation(i)})}function w(e,t){if(!x.isToken(t))return _.reject(new U(\"Renew must be passed a token with an array of scopes and an accessToken or idToken\"));var n;return n=e.options.pkce?\"code\":t.accessToken?\"token\":\"id_token\",e.token.getWithoutPrompt({responseType:n,scopes:t.scopes},{authorizeUrl:t.authorizeUrl,userinfoUrl:t.userinfoUrl,issuer:t.issuer})}function T(e){var t=e.token.parseFromUrl._getHistory(),n=e.token.parseFromUrl._getDocument(),r=e.token.parseFromUrl._getLocation();t&&t.replaceState?t.replaceState(null,n.title,r.pathname+r.search):r.hash=\"\"}function k(e){var t=e.token.parseFromUrl._getHistory(),n=e.token.parseFromUrl._getDocument(),r=e.token.parseFromUrl._getLocation();t&&t.replaceState?t.replaceState(null,n.title,r.pathname+r.hash):r.search=\"\"}function b(e,t){t=t||{},A.isString(t)&&(t={url:t});var n,r=t.url,o=t.responseMode||e.options.responseMode||\"fragment\",i=e.token.parseFromUrl._getLocation();if(!(n=\"query\"===o?r?r.substring(r.indexOf(\"?\")):i.search:r?r.substring(r.indexOf(\"#\")):i.hash))return _.reject(new U(\"Unable to parse a token from the url\"));var s=j.get(R.REDIRECT_OAUTH_PARAMS_COOKIE_NAME);if(!s)return _.reject(new U(\"Unable to retrieve OAuth redirect params cookie\"));try{var a=JSON.parse(s),u=a.urls;delete a.urls,j.delete(R.REDIRECT_OAUTH_PARAMS_COOKIE_NAME)}catch(e){return _.reject(new U(\"Unable to parse the \"+R.REDIRECT_OAUTH_PARAMS_COOKIE_NAME+\" cookie: \"+e.message))}return _.resolve(x.urlParamsToObject(n)).then(function(t){return r||(\"query\"===o?k(e):T(e)),f(e,a,t,u)})}function E(e,t){return t&&(x.isToken(t)||t.accessToken||t.userinfoUrl)?S.httpRequest(e,{url:t.userinfoUrl,method:\"GET\",accessToken:t.accessToken}).fail(function(e){if(e.xhr&&(401===e.xhr.status||403===e.xhr.status)){var t;if(e.xhr.headers&&A.isFunction(e.xhr.headers.get)&&e.xhr.headers.get(\"WWW-Authenticate\")?t=e.xhr.headers.get(\"WWW-Authenticate\"):A.isFunction(e.xhr.getResponseHeader)&&(t=e.xhr.getResponseHeader(\"WWW-Authenticate\")),t){var n=t.match(/error=\"(.*?)\"/)||[],r=t.match(/error_description=\"(.*?)\"/)||[],o=n[1],i=r[1];o&&i&&(e=new C(o,i))}}throw e}):_.reject(new U(\"getUserInfo requires an access token object\"))}var S=n(3),A=n(0),x=n(10),_=n(5),O=n(26),U=n(1),C=n(27),R=n(2),j=n(4).storage,P=n(28);e.exports={revokeToken:r,getToken:h,getWithoutPrompt:y,getWithPopup:g,getWithRedirect:v,parseFromUrl:b,decodeToken:o,renewToken:w,getUserInfo:E,verifyToken:i,handleOAuthResponse:f,prepareOauthParams:m}},function(e,t,n){function r(e,t){t=o.clone(t);var n={name:\"RSASSA-PKCS1-v1_5\",hash:{name:\"SHA-256\"}},r=[\"verify\"];return delete t.use,crypto.subtle.importKey(\"jwk\",t,n,!0,r).then(function(t){var r=e.split(\".\"),i=o.stringToBuffer(r[0]+\".\"+r[1]),s=o.base64UrlDecode(r[2]),a=o.stringToBuffer(s);return crypto.subtle.verify(n,t,a,i)})}var o=n(0);e.exports={verifyToken:r}},function(e,t){function n(e,t){this.name=\"OAuthError\",this.message=t,this.errorCode=e,this.errorSummary=t}n.prototype=new Error,e.exports=n},function(e,t,n){function r(e){return(\"0\"+e.toString(16)).substr(-2)}function o(e){var t=new Uint8Array(Math.ceil(e/2));return crypto.getRandomValues(t),Array.from(t,r).join(\"\").slice(0,e)}function i(e){var t=e||\"\";return t.length<g&&(t+=o(g-t.length)),encodeURIComponent(t).slice(0,m)}function s(e,t){e.options.storageUtil.getPKCEStorage().setStorage(t)}function a(e){return e.options.storageUtil.getPKCEStorage().getStorage()}function u(e){e.options.storageUtil.getPKCEStorage().clearStorage()}function c(e){var t=(new TextEncoder).encode(e);return crypto.subtle.digest(\"SHA-256\",t).then(function(e){var t=String.fromCharCode.apply(null,new Uint8Array(e));return y.stringToBase64Url(t)})}function f(e){if(!e.clientId)throw new d(\"A clientId must be specified in the OktaAuth constructor to get a token\");if(!e.redirectUri)throw new d(\"The redirectUri passed to /authorize must also be passed to /token\");if(!e.authorizationCode)throw new d(\"An authorization code (returned from /authorize) must be passed to /token\");if(!e.codeVerifier)throw new d('The \"codeVerifier\" (generated and saved by your app) must be passed to /token')}function p(e){var t=y.removeNils({client_id:e.clientId,redirect_uri:e.redirectUri,grant_type:\"authorization_code\",code:e.authorizationCode,code_verifier:e.codeVerifier});return y.toQueryParams(t).slice(1)}function l(e,t,n){f(t);var r=p(t);return h.httpRequest(e,{url:n.tokenUrl,method:\"POST\",args:r,withCredentials:!1,headers:{\"Content-Type\":\"application/x-www-form-urlencoded\"}})}var d=n(1),h=n(3),y=n(0),g=43,m=128;e.exports={DEFAULT_CODE_CHALLENGE_METHOD:\"S256\",generateVerifier:i,clearMeta:u,saveMeta:s,loadMeta:a,computeChallenge:c,getToken:l}},function(e,t,n){function r(e,t){return t.expiresAt-e.options.expireEarlySeconds}function o(e,t){return r(e,t)<=e.clock.now()}function i(e,t,n){e.emitter.emit(\"expired\",t,n)}function s(e,t){e.emitter.emit(\"error\",t)}function a(e,t){clearTimeout(e.expireTimeouts[t]),delete e.expireTimeouts[t],delete e.renewPromise[t]}function u(e){var t=e.expireTimeouts;for(var n in t)t.hasOwnProperty(n)&&a(e,n)}function c(e,t,n,o){var s=r(t,o),u=1e3*Math.max(s-t.clock.now(),0);a(t,n);var c=setTimeout(function(){i(t,n,o)},u);t.expireTimeouts[n]=c}function f(e,t,n){try{var r=n.getStorage()}catch(e){return void s(t,e)}for(var o in r)if(r.hasOwnProperty(o)){var i=r[o];c(e,t,o,i)}}function p(e,t,n,r,o){var i=n.getStorage();if(!v.isObject(o)||!o.scopes||!o.expiresAt&&0!==o.expiresAt||!o.idToken&&!o.accessToken)throw new w(\"Token must be an Object with scopes, expiresAt, and an idToken or accessToken properties\");i[r]=o,n.setStorage(i),c(e,t,r,o)}function l(e,t){return e.getStorage()[t]}function d(e,t,n,r){return k.Promise(function(i){var s=l(n,r);return i(s&&o(t,s)?t.options.autoRenew?y(e,t,n,r):h(t,n,r):s)})}function h(e,t,n){a(e,n);var r=t.getStorage();delete r[n],t.setStorage(r)}function y(e,t,n,r){var o=t.renewPromise[r];if(o)return o;try{var i=l(n,r);if(!i)throw new w(\"The tokenManager has no token for the key: \"+r)}catch(e){return k.reject(e)}return a(t,r),t.renewPromise[r]=e.token.renew(i).then(function(o){var s=o;o instanceof Array&&(s=o.find(function(e){return e.idToken&&i.idToken||e.accessToken&&i.accessToken}));var a=l(n,r);if(a)return p(e,t,n,r,s),t.emitter.emit(\"renewed\",r,s,a),s}).catch(function(e){throw\"OAuthError\"!==e.name&&\"AuthSdkError\"!==e.name||(h(t,n,r),e.tokenKey=r,e.accessToken=!!i.accessToken,s(t,e)),e}).finally(function(){delete t.renewPromise[r]}),t.renewPromise[r]}function g(e,t){u(e),t.clearStorage()}function m(e,t){t=v.extend({},A,v.removeNils(t)),\"localStorage\"!==t.storage||T.browserHasLocalStorage()||(v.warn(\"This browser doesn't support localStorage. Switching to sessionStorage.\"),t.storage=\"sessionStorage\"),\"sessionStorage\"!==t.storage||T.browserHasSessionStorage()||(v.warn(\"This browser doesn't support sessionStorage. Switching to cookie-based storage.\"),t.storage=\"cookie\");var n;if(\"object\"==typeof t.storage)n=t.storage;else switch(t.storage){case\"localStorage\":n=localStorage;break;case\"sessionStorage\":n=sessionStorage;break;case\"cookie\":n=T.getCookieStorage(t);break;case\"memory\":n=T.getInMemoryStorage();break;default:throw new w(\"Unrecognized storage option\")}var r=t.storageKey||b.TOKEN_STORAGE_NAME,o=E(n,r),i=S.create(e,t),s={clock:i,options:t,emitter:e.emitter,expireTimeouts:{},renewPromise:{}};this.add=v.bind(p,this,e,s,o),this.get=v.bind(d,this,e,s,o),this.remove=v.bind(h,this,s,o),this.clear=v.bind(g,this,s,o),this.renew=v.bind(y,this,e,s,o),this.on=v.bind(s.emitter.on,s.emitter),this.off=v.bind(s.emitter.off,s.emitter),f(e,s,o)}var v=n(0),w=n(1),T=n(4),k=n(5),b=n(2),E=n(6),S=n(30),A={autoRenew:!0,storage:\"localStorage\",expireEarlySeconds:30};e.exports=m},function(e,t,n){function r(e){this.localOffset=parseInt(e||0)}n(0).extend(r.prototype,{now:function(){return(Date.now()+this.localOffset)/1e3}}),r.create=function(){return new r(0)},e.exports=r}])});\n//# sourceMappingURL=okta-auth-js.min.js.map\n\n/***/ })\n/******/ ]);\n});\n\n\n// WEBPACK FOOTER //\n// okta-sign-in.min.js"," \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, {\n \t\t\t\tconfigurable: false,\n \t\t\t\tenumerable: true,\n \t\t\t\tget: getter\n \t\t\t});\n \t\t}\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 272);\n\n\n\n// WEBPACK FOOTER //\n// webpack/bootstrap fcf764599e99614da6b1","/*! THIS FILE IS GENERATED FROM PACKAGE @okta/courage@4.6.0-beta.3298.g75d547c */\nmodule.exports =\n/******/ (function(modules) { // webpackBootstrap\n/******/ \t// The module cache\n/******/ \tvar installedModules = {};\n/******/\n/******/ \t// The require function\n/******/ \tfunction __webpack_require__(moduleId) {\n/******/\n/******/ \t\t// Check if module is in cache\n/******/ \t\tif(installedModules[moduleId]) {\n/******/ \t\t\treturn installedModules[moduleId].exports;\n/******/ \t\t}\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = installedModules[moduleId] = {\n/******/ \t\t\ti: moduleId,\n/******/ \t\t\tl: false,\n/******/ \t\t\texports: {}\n/******/ \t\t};\n/******/\n/******/ \t\t// Execute the module function\n/******/ \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n/******/\n/******/ \t\t// Flag the module as loaded\n/******/ \t\tmodule.l = true;\n/******/\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n/******/\n/******/\n/******/ \t// expose the modules object (__webpack_modules__)\n/******/ \t__webpack_require__.m = modules;\n/******/\n/******/ \t// expose the module cache\n/******/ \t__webpack_require__.c = installedModules;\n/******/\n/******/ \t// define getter function for harmony exports\n/******/ \t__webpack_require__.d = function(exports, name, getter) {\n/******/ \t\tif(!__webpack_require__.o(exports, name)) {\n/******/ \t\t\tObject.defineProperty(exports, name, {\n/******/ \t\t\t\tconfigurable: false,\n/******/ \t\t\t\tenumerable: true,\n/******/ \t\t\t\tget: getter\n/******/ \t\t\t});\n/******/ \t\t}\n/******/ \t};\n/******/\n/******/ \t// getDefaultExport function for compatibility with non-harmony modules\n/******/ \t__webpack_require__.n = function(module) {\n/******/ \t\tvar getter = module && module.__esModule ?\n/******/ \t\t\tfunction getDefault() { return module['default']; } :\n/******/ \t\t\tfunction getModuleExports() { return module; };\n/******/ \t\t__webpack_require__.d(getter, 'a', getter);\n/******/ \t\treturn getter;\n/******/ \t};\n/******/\n/******/ \t// Object.prototype.hasOwnProperty.call\n/******/ \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n/******/\n/******/ \t// __webpack_public_path__\n/******/ \t__webpack_require__.p = \"\";\n/******/\n/******/ \t// Load entry module and return exports\n/******/ \treturn __webpack_require__(__webpack_require__.s = 33);\n/******/ })\n/************************************************************************/\n/******/ ([\n/* 0 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\nObject.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_handlebars__ = __webpack_require__(5);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_handlebars___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_handlebars__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_underscore__ = __webpack_require__(35);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_underscore___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_underscore__);\n/* eslint @okta/okta/enforce-requirejs-names: 0, @okta/okta/no-specific-methods: 0, @okta/okta/no-specific-modules: 0 */\n\n\n\nconst _ = __WEBPACK_IMPORTED_MODULE_1_underscore___default.a.noConflict();\n\n_.mixin({\n resultCtx: function (object, property, context, defaultValue) {\n let value = _.isObject(object) ? object[property] : void 0;\n\n if (_.isFunction(value)) {\n value = value.call(context || object);\n }\n if (value) {\n return value;\n } else {\n return !_.isUndefined(defaultValue) ? defaultValue : value;\n }\n },\n\n isInteger: function (x) {\n return _.isNumber(x) && x % 1 === 0;\n },\n\n template: function (source, data) {\n const template = __WEBPACK_IMPORTED_MODULE_0_handlebars___default.a.compile(source);\n\n return data\n ? template(data)\n : function (data) {\n return template(data);\n };\n }\n});\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (_);\n\n\n/***/ }),\n/* 1 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\nObject.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_backbone__ = __webpack_require__(6);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_backbone___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_backbone__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__util_underscore_wrapper__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__framework_View__ = __webpack_require__(22);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__util_TemplateUtil__ = __webpack_require__(4);\n\n\n\n\n\nconst eventBus = __WEBPACK_IMPORTED_MODULE_1__util_underscore_wrapper__[\"default\"].clone(__WEBPACK_IMPORTED_MODULE_0_backbone___default.a.Events);\n\n// add `broadcast` and `listen` functionality to all views\n// We use one event emitter per all views\n// This means we need to be very careful with event names\n\nconst proto = {\n constructor: function () {\n __WEBPACK_IMPORTED_MODULE_2__framework_View__[\"a\" /* default */].apply(this, arguments);\n this.module && this.$el.attr('data-view', this.module.id);\n },\n\n /**\n * @deprecated Use {@link #removeChildren}\n */\n empty: function () {\n return this.removeChildren();\n },\n\n compileTemplate: __WEBPACK_IMPORTED_MODULE_3__util_TemplateUtil__[\"default\"].tpl,\n\n /**\n *\n * Broadcasts a global event that all views and controllers can subscribe to\n * for framework use only - prefer using a shared model\n *\n * @param {String} eventName A unique identifier for the event\n * @param {...String} param Parameter to pass with the event (can pass more than one parameter)\n * @deprecated For internal use only\n * @private\n */\n broadcast: function () {\n eventBus.trigger.apply(eventBus, arguments);\n return this;\n },\n\n /**\n * Subscribe to broadcast events\n * for framework use only - prefer using a shared model\n *\n * @param {String} eventName The event identifier to subscribe\n * @param {Function} fn The callback function to invoke\n * @deprecated For internal use only\n * @private\n */\n listen: function (name, fn) {\n eventBus.off(name, fn);\n this.listenTo(eventBus, name, fn);\n return this;\n },\n\n /**\n * Shows a notification box\n * @param {String} level success / warning / error\n * @param {String} message The message to display\n * @param {Object} [options]\n * @param {Number} [options.width] Set a custom width\n * @param {String} [options.title] Set a custom title\n * @param {Boolean} [options.hide=true] Do we want to auto-hide this notification?\n * @param {Boolean} [options.dismissable] Show a dismiss button\n * @example\n * view.notify('success', 'Group created successfully');\n */\n notify: function (level, message, options) {\n this.broadcast('notification', __WEBPACK_IMPORTED_MODULE_1__util_underscore_wrapper__[\"default\"].defaults({ message: message, level: level }, options));\n return this;\n },\n\n /**\n * Shows a confirmation dialog\n *\n * The main difference between this and the native javascript `confirm` method\n * Is this method is non blocking (note the callback pattern).\n *\n * The callback function will run in the context (`this`) of the invoking view.\n *\n * @param {String} [title] The title of the confirmation dialog\n * @param {String} [message] The message of the confirmation dialog\n * @param {Function} [okfn] The callback to run when the user hits \"OK\" (runs in the context of the invoking view)\n * @param {Function} [cancelfn] The callback to run when the user hits \"Cancel\"\n * (runs in the context of the invoking view)\n * @example\n * view.confirm('Delete Group', 'Are you sure you want to delete the selected group?', function () {\n * model.destroy();\n * });\n *\n * // title will be auto-set to \"Okta\"\n * view.confirm('Are you sure you want to delete the selected group?', function () {\n * model.destroy();\n * });\n *\n * view.confirm({\n * title: 'Delete Group', //=> Modal title\n * subtitle: 'Are you sure you want to delete the selected group?', //=> Modal subtitle\n * content: '<h3 color=\"red\">THIS WILL DELETE THE GROUP!</h3>', //=> A template or a view to add to the modal\n * save: 'Delete Group', //=> Button label\n * ok: _.bind(model.save, model) // Callback function on hitting \"ok\" button\n * cancel: 'Cancel', //=> Button label\n * cancelFn: _.bind(model.destroy, model) // Callback function on hitting \"cancel\" button\n * });\n */\n confirm: function (title, message, okfn, cancelfn) {\n let options;\n /* eslint max-statements: [2, 12] */\n\n if (typeof title === 'object') {\n options = title;\n } else {\n if (arguments.length === 2 && __WEBPACK_IMPORTED_MODULE_1__util_underscore_wrapper__[\"default\"].isFunction(message)) {\n options = {\n title: 'Okta',\n subtitle: title,\n ok: message\n };\n } else {\n options = {\n title: title,\n subtitle: message,\n ok: okfn,\n cancelFn: cancelfn\n };\n }\n }\n if (__WEBPACK_IMPORTED_MODULE_1__util_underscore_wrapper__[\"default\"].isFunction(options.ok)) {\n options.ok = __WEBPACK_IMPORTED_MODULE_1__util_underscore_wrapper__[\"default\"].bind(options.ok, this);\n }\n if (__WEBPACK_IMPORTED_MODULE_1__util_underscore_wrapper__[\"default\"].isFunction(options.cancelFn)) {\n options.cancelFn = __WEBPACK_IMPORTED_MODULE_1__util_underscore_wrapper__[\"default\"].bind(options.cancelFn, this);\n }\n this.broadcast('confirmation', options);\n return this;\n },\n\n /**\n * Shows an alert box\n *\n * The main difference between this and the native javascript `alert` method\n * Is this method is non blocking.\n *\n * @param {String} message The message\n * @example\n * view.alert('Mission complete');\n */\n alert: function (params) {\n if (__WEBPACK_IMPORTED_MODULE_1__util_underscore_wrapper__[\"default\"].isString(params)) {\n params = {\n subtitle: params\n };\n }\n this.confirm(\n __WEBPACK_IMPORTED_MODULE_1__util_underscore_wrapper__[\"default\"].extend({}, params, {\n noCancelButton: true\n })\n );\n return this;\n }\n};\n\n/**\n * See {@link src/framework/View} for more detail and examples from the base class.\n * @class module:Okta.View\n * @extends src/framework/View\n */\n\n/** @lends module:Okta.View.prototype */\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (__WEBPACK_IMPORTED_MODULE_2__framework_View__[\"a\" /* default */].extend(\n proto,\n /** @lends View.prototype */ {\n /** @method */\n decorate: function (TargetView) {\n const BaseViewView = TargetView.extend({});\n\n __WEBPACK_IMPORTED_MODULE_1__util_underscore_wrapper__[\"default\"].defaults(BaseViewView.prototype, proto);\n return BaseViewView;\n }\n }\n));\n\n\n/***/ }),\n/* 2 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\nObject.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_jquery__ = __webpack_require__(12);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_jquery___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_jquery__);\n/* eslint-disable @okta/okta/enforce-requirejs-names, @okta/okta/no-specific-modules */\n\n\n__WEBPACK_IMPORTED_MODULE_0_jquery___default.a.ajaxSetup({\n beforeSend: function (xhr) {\n xhr.setRequestHeader('X-Okta-XsrfToken', __WEBPACK_IMPORTED_MODULE_0_jquery___default()('#_xsrfToken').text());\n },\n converters: {\n 'text secureJSON': function (str) {\n if (str.substring(0, 11) === 'while(1){};') {\n str = str.substring(11);\n }\n return JSON.parse(str);\n }\n }\n});\n\n// Selenium Hook\n// Widget such as autocomplete and autosuggest needs to be triggered from the running version of jQuery.\n// We have 2 versions of jQuery running in parallel and they don't share the same events bus\nwindow.jQueryCourage = __WEBPACK_IMPORTED_MODULE_0_jquery___default.a;\n/* harmony default export */ __webpack_exports__[\"default\"] = (__WEBPACK_IMPORTED_MODULE_0_jquery___default.a);\n\n\n/***/ }),\n/* 3 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\nObject.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__jquery_wrapper__ = __webpack_require__(2);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__underscore_wrapper__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_okta_i18n_bundles__ = __webpack_require__(39);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_okta_i18n_bundles___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_2_okta_i18n_bundles__);\n\n\n\n\nconst entityMap = {\n '&': '&',\n '<': '<',\n '>': '>',\n '"': '\"',\n ''': '\\'',\n ''': '\\'',\n '/': '/'\n};\nconst emailValidator = /^(([^<>()[\\]\\\\.,;:\\s@\"]+(\\.[^<>()[\\]\\\\.,;:\\s@\"]+)*)|(\".+\"))@(?!-)((\\[?[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\]?)|(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]{2,}))$/;\n\n/* eslint max-len: 0*/\n\nconst StringUtil = /** @lends module:Okta.internal.util.StringUtil */ {\n /** @static */\n sprintf: function () {\n const args = Array.prototype.slice.apply(arguments);\n let value = args.shift();\n let oldValue = value;\n /* eslint max-statements: [2, 13] */\n\n function triggerError() {\n throw new Error('Mismatch number of variables: ' + arguments[0] + ', ' + JSON.stringify(args));\n }\n\n for (var i = 0, l = args.length; i < l; i++) {\n const entity = args[i];\n\n value = value.replace('{' + i + '}', entity);\n if (entity === undefined || entity === null || value === oldValue) {\n triggerError();\n }\n oldValue = value;\n }\n\n if (/\\{[\\d+]\\}/.test(value)) {\n triggerError();\n }\n\n return value;\n },\n\n /**\n * Converts a URI encoded query string into a hash map\n * @param {String} query The query string\n * @return {Object} The map\n * @static\n * @example\n * StringUtil.parseQuery('foo=bar&baz=qux') // {foo: 'bar', baz: 'qux'}\n */\n parseQuery: function (query) {\n const params = {};\n const pairs = decodeURIComponent(query.replace(/\\+/g, ' ')).split('&');\n\n for (var i = 0; i < pairs.length; i++) {\n const pair = pairs[i];\n const data = pair.split('=');\n\n params[data.shift()] = data.join('=');\n }\n return params;\n },\n\n /** @static */\n encodeJSObject: function (jsObj) {\n return encodeURIComponent(JSON.stringify(jsObj));\n },\n\n /** @static */\n decodeJSObject: function (jsObj) {\n try {\n return JSON.parse(decodeURIComponent(jsObj));\n } catch (e) {\n return null;\n }\n },\n\n /** @static */\n unescapeHtml: function (string) {\n return String(string).replace(/&[\\w#\\d]{2,};/g, function (s) {\n return entityMap[s] || s;\n });\n },\n\n /**\n * Get the original i18n template directly without string format with parameters\n * @param {String} key The key\n * @param {String} bundle=\"messages\"] The name of the i18n bundle. Defaults to the first bundle in the list.\n */\n getTemplate: function (key, bundleName) {\n const bundle = bundleName ? __WEBPACK_IMPORTED_MODULE_2_okta_i18n_bundles___default.a[bundleName] : __WEBPACK_IMPORTED_MODULE_2_okta_i18n_bundles___default.a[__WEBPACK_IMPORTED_MODULE_1__underscore_wrapper__[\"default\"].keys(__WEBPACK_IMPORTED_MODULE_2_okta_i18n_bundles___default.a)[0]];\n if (!bundle) {\n return 'L10N_ERROR[' + bundleName + ']';\n }\n return bundle[key] || 'L10N_ERROR[' + key + ']';\n },\n\n /**\n * Translate a key to the localized value\n * @static\n * @param {String} key The key\n * @param {String} [bundle=\"messages\"] The name of the i18n bundle. Defaults to the first bundle in the list.\n * @param {Array} [params] A list of parameters to apply as tokens to the i18n value\n * @return {String} The localized value\n */\n localize: function (key, bundleName, params) {\n const bundle = bundleName ? __WEBPACK_IMPORTED_MODULE_2_okta_i18n_bundles___default.a[bundleName] : __WEBPACK_IMPORTED_MODULE_2_okta_i18n_bundles___default.a[__WEBPACK_IMPORTED_MODULE_1__underscore_wrapper__[\"default\"].keys(__WEBPACK_IMPORTED_MODULE_2_okta_i18n_bundles___default.a)[0]];\n /* eslint complexity: [2, 7] */\n\n if (!bundle) {\n return 'L10N_ERROR[' + bundleName + ']';\n }\n\n let value = bundle[key];\n\n try {\n params = params && params.slice ? params.slice(0) : [];\n params.unshift(value);\n value = StringUtil.sprintf.apply(null, params);\n } catch (e) {\n value = null;\n }\n\n return value || 'L10N_ERROR[' + key + ']';\n },\n\n /**\n * Convert a string to a float if valid, otherwise return the string.\n * Valid numbers may contain a negative sign and a decimal point.\n * @static\n * @param {String} string The string to convert to a number\n * @return {String|Number} Returns a number if the string can be casted, otherwise returns the original string\n */\n parseFloat: function (string) {\n const number = +string;\n\n return typeof string === 'string' && number === parseFloat(string) ? number : string;\n },\n\n /**\n * Convert a string to an integer if valid, otherwise return the string\n * @static\n * @param {String} string The string to convert to an integer\n * @return {String|integer} Returns an integer if the string can be casted, otherwise, returns the original string\n */\n parseInt: function (string) {\n const int = +string;\n\n return __WEBPACK_IMPORTED_MODULE_1__underscore_wrapper__[\"default\"].isString(string) && int === parseInt(string, 10) ? int : string;\n },\n\n /**\n * Convert a string to an object if valid, otherwise return the string\n * @static\n * @param {String} string The string to convert to an object\n * @return {String|object} Returns an object if the string can be casted, otherwise, returns the original string\n */\n parseObject: function (string) {\n if (!__WEBPACK_IMPORTED_MODULE_1__underscore_wrapper__[\"default\"].isString(string)) {\n return string;\n }\n\n try {\n const object = JSON.parse(string);\n\n return __WEBPACK_IMPORTED_MODULE_0__jquery_wrapper__[\"default\"].isPlainObject(object) ? object : string;\n } catch (e) {\n return string;\n }\n },\n\n /**\n * Returns a random string from [a-z][A-Z][0-9] of a given length\n * @static\n * @param {Number} length The length of the random string.\n * @return {String} Returns a random string from [a-z][A-Z][0-9] of a given length\n */\n randomString: function (length) {\n const characters = '0123456789ABCDEFGHIJKLMNOPQRSTUVWXTZabcdefghiklmnopqrstuvwxyz';\n\n if (length === undefined) {\n length = __WEBPACK_IMPORTED_MODULE_1__underscore_wrapper__[\"default\"].random(characters.length);\n } else if (length === 0) {\n return '';\n }\n\n const stringArray = [];\n\n while (length--) {\n stringArray.push(characters[__WEBPACK_IMPORTED_MODULE_1__underscore_wrapper__[\"default\"].random(characters.length - 1)]);\n }\n return stringArray.join('');\n },\n\n /**\n * Returns if a str ends with another string\n * @static\n * @param {String} str The string to search\n * @param {String} ends The string it should end with\n *\n * @return {Boolean} Returns if the str ends with ends\n */\n endsWith: function (str, ends) {\n str += '';\n ends += '';\n return str.length >= ends.length && str.substring(str.length - ends.length) === ends;\n },\n\n /** @static */\n isEmail: function (str) {\n const target = __WEBPACK_IMPORTED_MODULE_0__jquery_wrapper__[\"default\"].trim(str);\n\n return !__WEBPACK_IMPORTED_MODULE_1__underscore_wrapper__[\"default\"].isEmpty(target) && emailValidator.test(target);\n }\n};\n\n/**\n * Handy utility functions to handle strings.\n *\n * @class module:Okta.internal.util.StringUtil\n * @hideconstructor\n */\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (StringUtil);\n\n\n/***/ }),\n/* 4 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\nObject.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_handlebars__ = __webpack_require__(5);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_handlebars___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_handlebars__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__underscore_wrapper__ = __webpack_require__(0);\n/* eslint @okta/okta/no-specific-methods: 0 */\n\n\n\n/**\n * @class module:Okta.internal.util.TemplateUtil\n * @hideconstructor\n */\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n /**\n * Compiles a Handlebars template\n * @static\n * @method\n */\n tpl: __WEBPACK_IMPORTED_MODULE_1__underscore_wrapper__[\"default\"].memoize(function (tpl) {\n /* eslint okta/no-specific-methods: 0 */\n return __WEBPACK_IMPORTED_MODULE_0_handlebars___default.a.compile(tpl);\n })\n});\n\n\n/***/ }),\n/* 5 */\n/***/ (function(module, exports) {\n\nmodule.exports = require(\"handlebars\");\n\n/***/ }),\n/* 6 */\n/***/ (function(module, exports) {\n\nmodule.exports = require(\"backbone\");\n\n/***/ }),\n/* 7 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\nObject.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\nfunction log(level, args) {\n if (window.console && window.okta && window.okta.debug) {\n window.console[level].apply(window.console, args);\n }\n}\n\n/**\n * Utility library of logging functions.\n * @class module:Okta.Logger\n */\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n /**\n * See [console.trace](https://developer.mozilla.org/en-US/docs/Web/API/Console.trace)\n * @static\n */\n trace: function () {\n return log('trace', arguments);\n },\n /**\n * See [console.dir](https://developer.mozilla.org/en-US/docs/Web/API/Console.dir)\n * @static\n */\n dir: function () {\n return log('dir', arguments);\n },\n /**\n * See [console.time](https://developer.mozilla.org/en-US/docs/Web/API/Console.time)\n * @static\n */\n time: function () {\n return log('time', arguments);\n },\n /**\n * See [console.timeEnd](https://developer.mozilla.org/en-US/docs/Web/API/Console.timeEnd)\n * @static\n */\n timeEnd: function () {\n return log('timeEnd', arguments);\n },\n /**\n * See [console.group](https://developer.mozilla.org/en-US/docs/Web/API/Console.group)\n * @static\n */\n group: function () {\n return log('group', arguments);\n },\n /**\n * See [console.groupEnd](https://developer.mozilla.org/en-US/docs/Web/API/Console.groupEnd)\n * @static\n */\n groupEnd: function () {\n return log('groupEnd', arguments);\n },\n /**\n * See [console.assert](https://developer.mozilla.org/en-US/docs/Web/API/Console.assert)\n * @static\n */\n assert: function () {\n return log('assert', arguments);\n },\n /**\n * See [console.log](https://developer.mozilla.org/en-US/docs/Web/API/Console.log)\n * @static\n */\n log: function () {\n return log('log', arguments);\n },\n /**\n * See [console.info](https://developer.mozilla.org/en-US/docs/Web/API/Console.info)\n * @static\n */\n info: function () {\n return log('info', arguments);\n },\n /**\n * See [console.warn](https://developer.mozilla.org/en-US/docs/Web/API/Console.warn)\n * @static\n */\n warn: function () {\n return log('warn', arguments);\n },\n /**\n * See [console.error](https://developer.mozilla.org/en-US/docs/Web/API/Console.error)\n * @static\n */\n error: function () {\n return log('error', arguments);\n }\n});\n\n\n/***/ }),\n/* 8 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\nObject.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n UP: 38,\n DOWN: 40,\n DEL: 46,\n TAB: 9,\n RETURN: 13,\n ENTER: 13,\n ESC: 27,\n COMMA: 188,\n PAGEUP: 33,\n PAGEDOWN: 34,\n SPACE: 32,\n BACKSPACE: 8,\n __isKey: function (e, key) {\n return (e.which || e.keyCode) === this[key];\n },\n isEnter: function (e) {\n return this.__isKey(e, 'ENTER');\n },\n isEsc: function (e) {\n return this.__isKey(e, 'ESC');\n },\n isSpaceBar: function (e) {\n return this.__isKey(e, 'SPACE');\n }\n});\n\n\n/***/ }),\n/* 9 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\nObject.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__util_Keys__ = __webpack_require__(8);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__util_Logger__ = __webpack_require__(7);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__util_StringUtil__ = __webpack_require__(3);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__util_ViewUtil__ = __webpack_require__(24);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__BaseView__ = __webpack_require__(1);\n/* eslint max-params: [2, 6] */\n\n\n\n\n\n\nconst LABEL_OPTIONS = ['model', 'id', 'inputId', 'type', 'label', 'sublabel', 'tooltip', 'name'];\nconst CONTAINER_OPTIONS = [\n 'wide',\n 'multi',\n 'input',\n 'label-top',\n 'explain',\n 'explain-top',\n 'customExplain',\n 'model',\n 'name',\n 'type',\n 'autoRender'\n];\nconst WRAPPER_OPTIONS = [\n 'model',\n 'name',\n 'label-top',\n 'readOnly',\n 'events',\n 'initialize',\n 'showWhen',\n 'bindings',\n 'render',\n 'className',\n 'data-se',\n 'toggleWhen',\n];\nconst INPUT_OPTIONS = [\n 'model',\n 'name',\n 'inputId',\n 'type', // base options\n 'input', // custom input\n 'placeholder',\n 'label', // labels\n 'readOnly',\n 'read',\n 'disabled',\n 'readModeString', // modes\n 'options', // select/radio\n 'deps', // used to specify inputs that have dependencies and show a callout to user on select\n 'from',\n 'to', // model transformers,\n 'autoRender', // model attributes change event to trigger rerendering of the input\n 'inlineValidation', // control inline validating against the model on focus lost\n 'validateOnlyIfDirty', // check if field has been interacted with and then validate\n 'ariaLabel', // 508 compliance for inputs that do not have label associated with them\n 'params',\n];\nconst // widgets params - for input specific widgets\n\n OTHER_OPTIONS = ['errorField'];\n\nconst ALL_OPTIONS = __WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].uniq(__WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].union(LABEL_OPTIONS, CONTAINER_OPTIONS, WRAPPER_OPTIONS, INPUT_OPTIONS, OTHER_OPTIONS));\n\nconst SAVE_BUTTON_PHASES = [\n '• ',\n '• • ',\n '• • • ',\n '• • • •',\n ' • • •',\n ' • •',\n ' •',\n ' ',\n ' ',\n ' ',\n];\n\nfunction decorateDoWhen(doWhen) {\n if (doWhen && !doWhen['__edit__']) {\n return __WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].extend({ __edit__: __WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].constant(true) }, doWhen);\n }\n}\n\nfunction createButton(options) {\n options = __WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].pick(options || {}, 'action', 'id', 'className', 'text', 'type');\n\n let timeoutId;\n let intervalId;\n let phaseCount;\n\n return __WEBPACK_IMPORTED_MODULE_5__BaseView__[\"default\"].extend({\n tagName: 'input',\n className: 'button',\n events: {\n click: function () {\n if (options.action && !this.disabled()) {\n options.action.call(this);\n }\n },\n keyup: function (e) {\n if (__WEBPACK_IMPORTED_MODULE_1__util_Keys__[\"default\"].isEnter(e) && options.action && !this.disabled()) {\n options.action.call(this);\n }\n }\n },\n\n disabled: function () {\n return this.$el.prop('disabled') === true;\n },\n\n disable: function () {\n this.$el.prop('disabled', true);\n this.$el.addClass('btn-disabled');\n },\n\n enable: function () {\n this.$el.prop('disabled', false);\n this.$el.removeClass('btn-disabled');\n },\n\n initialize: function () {\n const self = this;\n\n this.$el.attr('type', options.type === 'save' ? 'submit' : 'button');\n this.$el.val(options.text);\n if (options.id) {\n this.$el.attr('id', options.id);\n }\n if (options.className) {\n this.$el.addClass(options.className);\n }\n if (options.type) {\n this.$el.attr('data-type', options.type);\n }\n\n this.$el.mousedown(function () {\n self.model.set('__pending__', true);\n });\n\n this.$el.mouseup(function () {\n self.model.set('__pending__', false);\n });\n\n this.listenTo(this.model, 'form:set-saving-state', function () {\n this.disable();\n if (options.type === 'save') {\n timeoutId = setTimeout(__WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].bind(this.__changeSaveText, this), 1000);\n }\n });\n this.listenTo(this.model, 'form:clear-saving-state', function () {\n this.enable();\n if (options.type === 'save') {\n clearTimeout(timeoutId);\n clearInterval(intervalId);\n this.$el.val(options.text);\n }\n });\n },\n\n __changeSaveText: function () {\n phaseCount = 0;\n intervalId = setInterval(__WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].bind(this.__showLoadingText, this), 200);\n },\n\n __showLoadingText: function () {\n this.$el.val(SAVE_BUTTON_PHASES[phaseCount++ % SAVE_BUTTON_PHASES.length]);\n }\n });\n}\n\nfunction validateInput(options, model) {\n /* eslint max-statements: 0, complexity: 0 */\n\n options || (options = {});\n\n if (options.type === 'label') {\n if (!options.label) {\n __WEBPACK_IMPORTED_MODULE_2__util_Logger__[\"default\"].warn('A label input must have a \"label\" parameter', options);\n }\n return;\n }\n\n if (options.type === 'button') {\n if (!options.title && !options.icon) {\n __WEBPACK_IMPORTED_MODULE_2__util_Logger__[\"default\"].warn('A button input must have a \"title\" and/or an \"icon\" parameter', options);\n }\n if (!options.click && !options.href) {\n __WEBPACK_IMPORTED_MODULE_2__util_Logger__[\"default\"].warn('A button input must have a \"click\" and/or an \"href\" parameter', options);\n }\n return;\n }\n\n if (!options.name && !options.input) {\n __WEBPACK_IMPORTED_MODULE_2__util_Logger__[\"default\"].warn('Missing \"name\" or \"input\" parameters', options);\n }\n\n if (__WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].isArray(options.name) && __WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].isArray(options.input)) {\n throw new Error('Not allowed to have both \"name\" and \"input\" defined as array.');\n }\n\n if (options.type !== 'list' && options.name && model && model.allows) {\n let names = [];\n\n if (__WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].isArray(options.name)) {\n names = options.name;\n } else {\n names.push(options.name);\n }\n __WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].each(names, function (name) {\n if (!model.allows(name)) {\n throw new Error('field not allowed: ' + options.name);\n }\n });\n }\n\n if (__WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].isArray(options.input) && options.type !== 'list') {\n __WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].each(options.input, function (input) {\n validateInput(input, model);\n });\n }\n\n const keys = __WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].keys(options);\n\n const intersection = __WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].intersection(keys, ALL_OPTIONS);\n\n if (__WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].size(intersection) !== __WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].size(options)) {\n const fields = __WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].clone(ALL_OPTIONS);\n\n fields.unshift(keys);\n __WEBPACK_IMPORTED_MODULE_2__util_Logger__[\"default\"].warn('Invalid input parameters', __WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].without.apply(null, fields), options);\n }\n}\n\nfunction generateInputOptions(options, form, createFn) {\n options = __WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].clone(options);\n\n if (__WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].contains(['list', 'group'], options.type)) {\n options.params = __WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].defaults(\n {\n create: createFn,\n inputs: __WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].map(__WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].isArray(options.input) ? options.input : [options.input], function (input) {\n return __WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].first(generateInputOptions(input, form, createFn));\n })\n },\n options.params || {}\n );\n delete options.input;\n }\n\n const inputs = __WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].isArray(options.input) ? __WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].clone(options.input) : [options];\n\n return __WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].map(inputs, function (input) {\n const target = __WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].defaults({ model: form.model }, input, __WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].omit(options, 'input', 'inputs'), form.options, {\n id: __WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].uniqueId('input'),\n readOnly: form.isReadOnly(),\n read: form.hasReadMode()\n });\n\n if (form.isReadOnly()) {\n target.read = target.readOnly = true;\n }\n return target;\n });\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n LABEL_OPTIONS: LABEL_OPTIONS,\n CONTAINER_OPTIONS: CONTAINER_OPTIONS,\n WRAPPER_OPTIONS: WRAPPER_OPTIONS,\n INPUT_OPTIONS: INPUT_OPTIONS,\n\n generateInputOptions: generateInputOptions,\n\n changeEventString: function (fieldNames) {\n return 'change:' + fieldNames.join(' change:');\n },\n\n createReadFormButton: function (options) {\n let action;\n let text;\n let ariaLabel;\n\n if (options.type === 'cancel') {\n text = ariaLabel = __WEBPACK_IMPORTED_MODULE_3__util_StringUtil__[\"default\"].localize('oform.cancel', 'courage');\n action = function () {\n this.model.trigger('form:cancel');\n };\n } else {\n text = __WEBPACK_IMPORTED_MODULE_3__util_StringUtil__[\"default\"].localize('oform.edit', 'courage');\n ariaLabel = text + ' ' + options.formTitle;\n action = function () {\n this.model.set('__edit__', true);\n };\n }\n\n return __WEBPACK_IMPORTED_MODULE_5__BaseView__[\"default\"].extend({\n tagName: 'a',\n attributes: {\n href: '#',\n 'aria-label': ariaLabel\n },\n template: function () {\n return __WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].escape(text);\n },\n events: {\n click: function (e) {\n e.preventDefault();\n action.call(this);\n }\n }\n });\n },\n\n createButton: function (options) {\n options = __WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].clone(options);\n switch (options.type) {\n case 'save':\n __WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].defaults(options, { className: 'button-primary' });\n break;\n case 'cancel':\n __WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].defaults(options, {\n text: __WEBPACK_IMPORTED_MODULE_3__util_StringUtil__[\"default\"].localize('oform.cancel', 'courage'),\n action: function () {\n this.model.trigger('form:cancel');\n }\n });\n break;\n case 'previous':\n __WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].defaults(options, {\n text: __WEBPACK_IMPORTED_MODULE_3__util_StringUtil__[\"default\"].localize('oform.previous', 'courage'),\n action: function () {\n this.model.trigger('form:previous');\n }\n });\n break;\n }\n return createButton(options);\n },\n\n validateInput: validateInput,\n\n /**\n * Applies a show-when logic on a view instance.\n * The show-when is a map of a model field name -> a boolean or a function that returns a boolean.\n * The view will toggle based on the field value.\n *\n * @param {Okta.View} view a view instance that has a this.model attached to it\n * @param {Object} showWhen\n */\n applyShowWhen: function (view, showWhen) {\n const toggleAndResize = function (bool) {\n return function () {\n // The `toggle` is here since an event may be triggered before the el is in the DOM\n // and in that case slide events may not function as expected.\n view.$el.toggle(bool);\n view.model.trigger('form:resize');\n };\n };\n\n __WEBPACK_IMPORTED_MODULE_4__util_ViewUtil__[\"a\" /* default */].applyDoWhen(view, decorateDoWhen(showWhen), function (bool, options) {\n if (!options.animate) {\n view.$el.toggle(bool);\n } else {\n view.$el['slide' + (bool ? 'Down' : 'Up')](200, toggleAndResize(bool));\n }\n });\n },\n\n applyToggleWhen: function (view, toggleWhen) {\n __WEBPACK_IMPORTED_MODULE_4__util_ViewUtil__[\"a\" /* default */].applyDoWhen(view, decorateDoWhen(toggleWhen), function (bool, options) {\n view.$el.toggle(bool);\n view.model.trigger('form:resize');\n if (options.animate) {\n view.render();\n }\n });\n }\n});\n\n\n/***/ }),\n/* 10 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__util_jquery_wrapper__ = __webpack_require__(2);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__util_underscore_wrapper__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__util_ButtonFactory__ = __webpack_require__(23);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__util_StringUtil__ = __webpack_require__(3);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__BaseView__ = __webpack_require__(1);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__components_Callout__ = __webpack_require__(29);\n/* eslint-env es6 */\n/* eslint max-statements: [2, 17], max-len: [2, 160], max-params: [2, 6] */\n\n\n\n\n\n\n\n/**\n * @class BaseInput\n * @private\n * An abstract object that defines an input for {@link Okta.Form}\n *\n * BaseInputs are typically not created directly, but being passed to {@link Okta.Form#addInput}\n * @extends Okta.View\n */\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (__WEBPACK_IMPORTED_MODULE_4__BaseView__[\"default\"].extend({\n tagName: 'span',\n\n attributes: function () {\n return {\n 'data-se': 'o-form-input-' + this.getNameString()\n };\n },\n\n /**\n * default placeholder text when options.placeholder is not defined\n */\n defaultPlaceholder: '',\n\n constructor: function (options) {\n /* eslint complexity: [2, 7] */\n options = __WEBPACK_IMPORTED_MODULE_1__util_underscore_wrapper__[\"default\"].defaults(options || {}, {\n inputId: options.id || __WEBPACK_IMPORTED_MODULE_1__util_underscore_wrapper__[\"default\"].uniqueId('input'),\n placeholder: this.defaultPlaceholder,\n inlineValidation: true,\n validateOnlyIfDirty: false\n });\n\n delete options.id;\n\n // decorate the `enable` and `disable` and toggle the `o-form-disabled` class.\n // so we wont need to worry about this when overriding the methods\n const self = this;\n\n __WEBPACK_IMPORTED_MODULE_1__util_underscore_wrapper__[\"default\"].each({ enable: 'removeClass', disable: 'addClass' }, function (method, action) {\n self[action] = __WEBPACK_IMPORTED_MODULE_1__util_underscore_wrapper__[\"default\"].wrap(self[action], function (fn) {\n fn.apply(self, arguments);\n self.$el[method]('o-form-disabled');\n });\n });\n\n __WEBPACK_IMPORTED_MODULE_4__BaseView__[\"default\"].call(this, options);\n\n if (__WEBPACK_IMPORTED_MODULE_1__util_underscore_wrapper__[\"default\"].result(options, 'readOnly') !== true && __WEBPACK_IMPORTED_MODULE_1__util_underscore_wrapper__[\"default\"].result(options, 'read') === true) {\n this.listenTo(this.model, 'change:__edit__', this.render);\n }\n\n if (__WEBPACK_IMPORTED_MODULE_1__util_underscore_wrapper__[\"default\"].isFunction(this.focus)) {\n this.focus = __WEBPACK_IMPORTED_MODULE_1__util_underscore_wrapper__[\"default\"].debounce(__WEBPACK_IMPORTED_MODULE_1__util_underscore_wrapper__[\"default\"].bind(this.focus, this), 50);\n }\n\n // Enable inline validation if this is not the first field in the form.\n if (!__WEBPACK_IMPORTED_MODULE_1__util_underscore_wrapper__[\"default\"].result(options, 'validateOnlyIfDirty')) {\n this.addInlineValidation();\n }\n\n this.addModelListeners();\n this.$el.addClass('o-form-input-name-' + this.getNameString());\n },\n\n addAriaLabel: function () {\n const ariaLabel = this.options.ariaLabel;\n\n if (ariaLabel) {\n this.$(':input').attr('aria-label', ariaLabel);\n }\n },\n\n addInlineValidation: function () {\n if (__WEBPACK_IMPORTED_MODULE_1__util_underscore_wrapper__[\"default\"].result(this.options, 'inlineValidation')) {\n this.$el.on('focusout', ':input', __WEBPACK_IMPORTED_MODULE_1__util_underscore_wrapper__[\"default\"].bind(this.validate, this));\n }\n },\n\n toModelValue: function () {\n let value = this.val();\n\n if (__WEBPACK_IMPORTED_MODULE_1__util_underscore_wrapper__[\"default\"].isFunction(this.to)) {\n value = this.to.call(this, value);\n }\n if (__WEBPACK_IMPORTED_MODULE_1__util_underscore_wrapper__[\"default\"].isFunction(this.options.to)) {\n value = this.options.to.call(this, value);\n }\n return value;\n },\n\n __getDependencyCalloutBtn: function (btnConfig) {\n const self = this;\n\n const btnOptions = __WEBPACK_IMPORTED_MODULE_1__util_underscore_wrapper__[\"default\"].clone(btnConfig);\n\n const originalClick = btnOptions.click || function () {};\n // add onfocus listener to re-evaluate depedency when callout button is clicked\n\n btnOptions.click = function () {\n Object(__WEBPACK_IMPORTED_MODULE_0__util_jquery_wrapper__[\"default\"])(window).one('focus.dependency', function () {\n self.__showInputDependencies();\n });\n originalClick.call(self);\n };\n const BaseInputCalloutBtn = __WEBPACK_IMPORTED_MODULE_4__BaseView__[\"default\"].extend({\n children: [__WEBPACK_IMPORTED_MODULE_2__util_ButtonFactory__[\"default\"].create(btnOptions)]\n });\n\n return new BaseInputCalloutBtn();\n },\n\n getCalloutParent: function () {\n return this.$('input[value=\"' + this.getModelValue() + '\"]').parent();\n },\n\n __getCalloutMsgContainer: function (calloutMsg) {\n return __WEBPACK_IMPORTED_MODULE_4__BaseView__[\"default\"].extend({\n template: '\\\n <span class=\"o-form-explain\">\\\n {{msg}}\\\n </span>\\\n ',\n getTemplateData: function () {\n return {\n msg: calloutMsg\n };\n }\n });\n },\n\n showCallout: function (calloutConfig, dependencyResolved) {\n const callout = __WEBPACK_IMPORTED_MODULE_1__util_underscore_wrapper__[\"default\"].clone(calloutConfig);\n\n callout.className = 'dependency-callout';\n if (callout.btn) {\n callout.content = this.__getDependencyCalloutBtn(callout.btn);\n delete callout.btn;\n }\n const dependencyCallout = __WEBPACK_IMPORTED_MODULE_5__components_Callout__[\"default\"].create(callout);\n\n if (!dependencyResolved) {\n dependencyCallout.add(this.__getCalloutMsgContainer(__WEBPACK_IMPORTED_MODULE_3__util_StringUtil__[\"default\"].localize('dependency.callout.msg', 'courage')));\n }\n const calloutParent = this.getCalloutParent();\n\n calloutParent.append(dependencyCallout.render().el);\n if (callout.type === 'success') {\n __WEBPACK_IMPORTED_MODULE_1__util_underscore_wrapper__[\"default\"].delay(function () {\n // fade out success callout\n dependencyCallout.$el.fadeOut(800);\n }, 1000);\n }\n },\n\n removeCallout: function () {\n this.$el.find('.dependency-callout').remove();\n },\n\n __evaluateCalloutObject: function (dependencyResolved, calloutTitle) {\n let defaultCallout;\n\n if (dependencyResolved) {\n defaultCallout = {\n title: __WEBPACK_IMPORTED_MODULE_3__util_StringUtil__[\"default\"].localize('dependency.action.completed', 'courage'),\n size: 'large',\n type: 'success'\n };\n } else {\n defaultCallout = {\n title: __WEBPACK_IMPORTED_MODULE_3__util_StringUtil__[\"default\"].localize('dependency.action.required', 'courage', [calloutTitle]),\n size: 'large',\n type: 'warning'\n };\n }\n return defaultCallout;\n },\n\n __handleDependency: function (result, callout) {\n const self = this;\n const calloutConfig = __WEBPACK_IMPORTED_MODULE_1__util_underscore_wrapper__[\"default\"].isFunction(callout)\n ? callout(result)\n : __WEBPACK_IMPORTED_MODULE_1__util_underscore_wrapper__[\"default\"].extend({}, callout, self.__evaluateCalloutObject(result.resolved, callout.title));\n\n // remove existing callouts if any\n self.removeCallout();\n self.showCallout(calloutConfig, result.resolved);\n },\n\n __showInputDependencies: function () {\n const self = this;\n const fieldDependency = self.options.deps[self.getModelValue()];\n\n if (fieldDependency && __WEBPACK_IMPORTED_MODULE_1__util_underscore_wrapper__[\"default\"].isFunction(fieldDependency.func)) {\n fieldDependency\n .func()\n .done(function (data) {\n self.__handleDependency({ resolved: true, data: data }, fieldDependency.callout);\n })\n .fail(function (data) {\n self.__handleDependency({ resolved: false, data: data }, fieldDependency.callout);\n });\n } else {\n self.removeCallout();\n }\n },\n\n _isEdited: false,\n /**\n * updates the model with the input's value\n */\n update: function () {\n if (!this._isEdited && __WEBPACK_IMPORTED_MODULE_1__util_underscore_wrapper__[\"default\"].result(this.options, 'validateOnlyIfDirty')) {\n this._isEdited = true;\n this.addInlineValidation();\n }\n this.model.set(this.options.name, this.toModelValue());\n if (this.options.deps) {\n // check for dependencies\n this.__showInputDependencies();\n }\n },\n\n /**\n * Is the input in edit mode\n * @return {Boolean}\n */\n isEditMode: function () {\n const ret =\n !__WEBPACK_IMPORTED_MODULE_1__util_underscore_wrapper__[\"default\"].result(this.options, 'readOnly') &&\n (__WEBPACK_IMPORTED_MODULE_1__util_underscore_wrapper__[\"default\"].result(this.options, 'read') !== true || this.model.get('__edit__') === true);\n\n return ret;\n },\n\n /**\n * Renders the input\n * @readonly\n */\n render: function () {\n this.preRender();\n const params = this.options.params;\n\n this.options.params = __WEBPACK_IMPORTED_MODULE_1__util_underscore_wrapper__[\"default\"].resultCtx(this.options, 'params', this);\n\n if (this.isEditMode()) {\n this.editMode();\n if (__WEBPACK_IMPORTED_MODULE_1__util_underscore_wrapper__[\"default\"].resultCtx(this.options, 'disabled', this)) {\n this.disable();\n } else {\n this.enable();\n }\n } else {\n this.readMode();\n }\n\n this.options.params = params;\n this.addAriaLabel();\n this.postRender();\n\n return this;\n },\n\n /**\n * checks if the current value in the model is valid for this field\n */\n validate: function () {\n if (!this.model.get('__pending__') && this.isEditMode() && __WEBPACK_IMPORTED_MODULE_1__util_underscore_wrapper__[\"default\"].isFunction(this.model.validateField)) {\n const validationError = this.model.validateField(this.options.name);\n\n if (validationError) {\n __WEBPACK_IMPORTED_MODULE_1__util_underscore_wrapper__[\"default\"].delay(\n function () {\n this.model.trigger('form:clear-error:' + this.options.name);\n this.model.trigger('invalid', this.model, validationError, false);\n }.bind(this),\n 100\n );\n }\n }\n },\n\n /**\n * Add model event listeners\n */\n addModelListeners: function () {\n this.listenTo(this.model, 'form:field-error', function (name) {\n if (this.options.name === name) {\n this.__markError();\n }\n });\n this.listenTo(this.model, 'form:clear-errors change:' + this.options.name, this.__clearError);\n this.listenTo(this.model, 'form:clear-error:' + this.options.name, this.__clearError);\n },\n\n /**\n * The value of the input\n * @return {Mixed}\n */\n val: function () {\n throw new Error('val() is an abstract method');\n },\n\n /**\n * Set focus on the input\n */\n focus: function () {\n throw new Error('focus() is an abstract method');\n },\n\n /**\n * Default value in read mode\n * When model has no value for the field\n */\n defaultValue: function () {\n return '';\n },\n\n /**\n * Renders the input in edit mode\n */\n editMode: function () {\n const options = __WEBPACK_IMPORTED_MODULE_1__util_underscore_wrapper__[\"default\"].extend({}, this.options, {\n value: this.getModelValue()\n });\n\n this.$el.html(this.template(options));\n this.options.multi && this.$el.removeClass('margin-r');\n return this;\n },\n\n /**\n * Renders the readable value of the input in read mode\n */\n readMode: function () {\n this.$el.text(this.getReadModeString());\n this.$el.removeClass('error-field');\n this.options.multi && this.$el.addClass('margin-r');\n return this;\n },\n\n getReadModeString: function () {\n const readModeStr = __WEBPACK_IMPORTED_MODULE_1__util_underscore_wrapper__[\"default\"].resultCtx(this.options, 'readModeString', this);\n\n if (readModeStr) {\n return readModeStr;\n }\n return this.toStringValue();\n },\n\n /**\n * The model value off the field associated with the input\n * @return {Mixed}\n */\n getModelValue: function () {\n let value = this.model.get(this.options.name);\n\n if (__WEBPACK_IMPORTED_MODULE_1__util_underscore_wrapper__[\"default\"].isFunction(this.from)) {\n value = this.from.call(this, value);\n }\n if (__WEBPACK_IMPORTED_MODULE_1__util_underscore_wrapper__[\"default\"].isFunction(this.options.from)) {\n value = this.options.from.call(this, value);\n }\n return value;\n },\n\n /*\n * convenience method to get the textual value from the model\n * will return the textual label rather than value in case of select/radio\n * @return {String}\n */\n toStringValue: function () {\n let value = this.getModelValue();\n\n if (this.options.options) {\n // dropdown or radio\n value = this.options.options[value];\n }\n return value || this.defaultValue();\n },\n\n /**\n * Triggers a form:resize event in order to tell dialogs content size has changed\n */\n resize: function () {\n this.model.trigger('form:resize');\n },\n\n /**\n * Disable the input\n */\n disable: function () {\n this.$(':input').prop('disabled', true);\n },\n\n /**\n * Enable the input\n */\n enable: function () {\n this.$(':input').prop('disabled', false);\n },\n\n /**\n * Change the type of the input field. (e.g., text <--> password)\n * @param type\n */\n changeType: function (type) {\n this.$(':input').prop('type', type);\n // Update the options so that it keeps the uptodate state\n this.options.type = type;\n },\n\n getNameString: function () {\n if (__WEBPACK_IMPORTED_MODULE_1__util_underscore_wrapper__[\"default\"].isArray(this.options.name)) {\n return this.options.name.join('-');\n }\n return this.options.name;\n },\n\n /**\n * Get parameters, computing _.result\n * @param {[type]} options alternative options\n * @return {Object} the params\n */\n getParams: function (options) {\n const opts = options || this.options || {};\n\n return __WEBPACK_IMPORTED_MODULE_1__util_underscore_wrapper__[\"default\"].clone(__WEBPACK_IMPORTED_MODULE_1__util_underscore_wrapper__[\"default\"].resultCtx(opts, 'params', this) || {});\n },\n\n /**\n * get a parameter from options.params, compute _.result when needed.\n * @param {String} key\n * @param {Object} defaultValue\n * @return {Object} the params\n */\n getParam: function (key, defaultValue) {\n const result = __WEBPACK_IMPORTED_MODULE_1__util_underscore_wrapper__[\"default\"].resultCtx(this.getParams(), key, this);\n\n return !__WEBPACK_IMPORTED_MODULE_1__util_underscore_wrapper__[\"default\"].isUndefined(result) ? result : defaultValue;\n },\n\n /**\n * Get a parameter from options.params or if empty, object attribute.\n *\n * @param {String} key\n * @return {Object} the param or attribute\n */\n getParamOrAttribute: function (key) {\n return this.getParam(key) || __WEBPACK_IMPORTED_MODULE_1__util_underscore_wrapper__[\"default\"].result(this, key);\n },\n\n __markError: function () {\n this.$el.addClass('o-form-has-errors');\n },\n\n __clearError: function () {\n this.$el.removeClass('o-form-has-errors');\n }\n}));\n\n\n/***/ }),\n/* 11 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\nObject.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__framework_Model__ = __webpack_require__(37);\n\n\n\n/**\n * Wrapper around the more generic {@link src/framework/Model} that\n * contains Okta-specific logic.\n * @class module:Okta.Model\n * @extends src/framework/Model\n */\n/* harmony default export */ __webpack_exports__[\"default\"] = (__WEBPACK_IMPORTED_MODULE_1__framework_Model__[\"a\" /* default */].extend(\n /** @lends module:Okta.Model.prototype */ {\n /**\n * Is the end point using the legacy \"secureJSON\" format\n * @type {Function|Boolean}\n */\n secureJSON: false,\n\n _builtInLocalProps: {\n __edit__: 'boolean',\n __pending__: 'boolean'\n },\n\n constructor: function () {\n this.local = __WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].defaults({}, __WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].result(this, 'local'), this._builtInLocalProps);\n\n if (__WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].result(this, 'secureJSON')) {\n this.sync = __WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].wrap(this.sync, function (sync, method, model, options) {\n return sync.call(this, method, model, __WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].extend({ dataType: 'secureJSON' }, options));\n });\n }\n\n __WEBPACK_IMPORTED_MODULE_1__framework_Model__[\"a\" /* default */].apply(this, arguments);\n }\n }\n));\n\n\n/***/ }),\n/* 12 */\n/***/ (function(module, exports) {\n\nmodule.exports = require(\"jquery\");\n\n/***/ }),\n/* 13 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__underscore_wrapper__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__StringUtil__ = __webpack_require__(3);\n\n\nconst loc = __WEBPACK_IMPORTED_MODULE_1__StringUtil__[\"default\"].localize;\nconst SchemaUtils = {\n STRING: 'string',\n NUMBER: 'number',\n INTEGER: 'integer',\n BOOLEAN: 'boolean',\n OBJECT: 'object',\n FORMATDISPLAYTYPE: {\n 'date-time': 'date',\n uri: 'uri',\n email: 'email',\n // TODO: settle on using EITHER underscores OR hyphens --- not both (OKTA-202818)\n 'country-code': 'country-code',\n 'language-code': 'language-code',\n 'country_code': 'country_code',\n 'language_code': 'language_code',\n locale: 'locale',\n timezone: 'timezone',\n 'ref-id': 'reference'\n },\n ARRAYDISPLAYTYPE: {\n arrayofobject: 'arrayofobject',\n arrayofstring: 'arrayofstring',\n arrayofnumber: 'arrayofnumber',\n arrayofinteger: 'arrayofinteger',\n 'arrayofref-id': 'arrayofref-id'\n },\n DISPLAYTYPES: {\n date: { type: 'string', format: 'date-time' },\n uri: { type: 'string', format: 'uri' },\n email: { type: 'string', format: 'email' },\n // TODO: Resolve inconsistencies in hyphens vs. underscores for these properties (OKTA-202818)\n 'country-code': { type: 'string', format: 'country-code' },\n 'language-code': { type: 'string', format: 'language-code' },\n 'country_code': { type: 'string' },\n 'language_code': { type: 'string' },\n locale: { type: 'string', format: 'locale' },\n timezone: { type: 'string', format: 'timezone' },\n string: { type: 'string' },\n number: { type: 'number' },\n boolean: { type: 'boolean' },\n integer: { type: 'integer' },\n reference: { type: 'string', format: 'ref-id' },\n arrayofobject: { type: 'array', items: { type: 'object' } },\n arrayofstring: { type: 'array', items: { type: 'string' } },\n arrayofnumber: { type: 'array', items: { type: 'number' } },\n arrayofinteger: { type: 'array', items: { type: 'integer' } },\n 'arrayofref-id': { type: 'array', items: { type: 'string', format: 'ref-id' } },\n image: { type: 'image' },\n password: { type: 'string' }\n },\n SUPPORTSMINMAX: ['string', 'number', 'integer', 'password'],\n SUPPORTENUM: [\n 'string',\n 'number',\n 'integer',\n 'object',\n 'arrayofstring',\n 'arrayofnumber',\n 'arrayofinteger',\n 'arrayofobject',\n ],\n DATATYPE: {\n string: 'string',\n number: 'number',\n boolean: 'boolean',\n integer: 'integer',\n date: 'datetime',\n object: 'object',\n arrayofobject: 'object array',\n arrayofstring: 'string array',\n arrayofnumber: 'number array',\n arrayofinteger: 'integer array',\n 'arrayofref-id': 'reference array',\n // TODO: settle on using EITHER underscores OR hyphens --- not both (OKTA-202818)\n 'country-code': 'country code',\n 'language-code': 'language code',\n 'country_code': 'country code',\n 'language_code': 'language code',\n reference: 'reference',\n timezone: 'timezone',\n image: 'image'\n },\n MUTABILITY: {\n READONLY: 'READ_ONLY',\n WRITEONLY: 'WRITE_ONLY',\n READWRITE: 'READ_WRITE',\n IMMUTABLE: 'IMMUTABLE'\n },\n SCOPE: {\n NONE: 'NONE',\n SELF: 'SELF',\n SYSTEM: 'SYSTEM'\n },\n DISPLAYSCOPE: {\n SELF: 'User personal',\n SYSTEM: 'System',\n NA: 'None'\n },\n UNION: {\n DISABLE: 'DISABLE',\n ENABLE: 'ENABLE'\n },\n UNION_OPTIONS: {\n DISABLE: loc('universal-directory.profiles.attribute.form.union.enable.display', 'courage'),\n ENABLE: loc('universal-directory.profiles.attribute.form.union.disable.display', 'courage')\n },\n PERMISSION: {\n HIDE: 'HIDE',\n READ_ONLY: 'READ_ONLY',\n WRITE_ONLY: 'WRITE_ONLY',\n READ_WRITE: 'READ_WRITE'\n },\n ENDUSER_ATTRIBUTE_PERMISSION_OPTIONS: {\n HIDE: loc('universal-directory.profiles.attribute.enduser.permission.hide', 'courage'),\n READ_ONLY: loc('universal-directory.profiles.attribute.enduser.permission.readonly', 'courage'),\n READ_WRITE: loc('universal-directory.profiles.attribute.enduser.permission.readwrite', 'courage')\n },\n ATTRIBUTE_LEVEL_MASTERING_OPTIONS: {\n INHERIT: loc('universal-directory.profiles.attribute.master.inherit', 'courage'),\n OKTA_MASTERED: loc('universal-directory.profiles.attribute.master.oktamastered', 'courage'),\n OVERRIDE: loc('universal-directory.profiles.attribute.master.override', 'courage')\n },\n USERNAMETYPE: {\n NONE: 'non-username',\n OKTA_TO_APP: 'okta-to-app-username',\n OKTA_TO_AD: 'okta-to-ad-username',\n APP_TO_OKTA: 'app-to-okta-username',\n IDP_TO_OKTA: 'idp-to-okta-username'\n },\n LOGINPATTERNFORMAT: {\n EMAIL: 'EMAIL',\n CUSTOM: 'CUSTOM',\n NONE: 'NONE'\n },\n UNIQUENESS: {\n NOT_UNIQUE: 'NOT_UNIQUE',\n PENDING_UNIQUENESS: 'PENDING_UNIQUENESS',\n UNIQUE_VALIDATED: 'UNIQUE_VALIDATED'\n },\n\n /*\n * Get a display string for a schema attribute type.\n * @param {String} type Type of an attribute\n * @param {String} format Format of an attribute\n * @param {String} itemType Item type of an attribute if an array\n * @param {String} defaultValue The default value if an attribute type is undefined\n * @return {String} the display value\n */\n getDisplayType: function (type, format, itemType, defaultValue) {\n let displayType;\n\n // type is undefined for\n // - an un-mapped source attribute from mapping\n // - an source attribute which is mapped to username target attribute\n if (type) {\n // format is only defined for complicated types (ex. reference, date time, array)\n // not for simple types (ex. string, integer, boolean)\n if (format) {\n displayType = this.FORMATDISPLAYTYPE[format];\n } else {\n // itemType is only defined for array type\n // to specify an array element type (ex. string, integer, number)\n displayType = itemType ? this.ARRAYDISPLAYTYPE[type + 'of' + itemType] : type;\n }\n }\n if (!displayType) {\n displayType = typeof defaultValue === 'undefined' ? '' : defaultValue;\n }\n return displayType;\n },\n\n /*\n * Get attribute mapping source attribute username type\n * @param {String} mappingDirection\n * @param {String} targetName The mapping target attribute name\n * @param {String} appName The app name that's mapped to/from Okta\n * @return {String} the source attribute username type value\n */\n getSourceUsernameType: function (mappingDirection, targetName, appName) {\n let sourceUsernameType = this.USERNAMETYPE.NONE;\n /* eslint complexity: [2, 7] */\n\n if (mappingDirection === 'oktaToApp') {\n if (targetName === 'userName') {\n sourceUsernameType = this.USERNAMETYPE.OKTA_TO_APP;\n } else if (targetName === 'cn') {\n sourceUsernameType = this.USERNAMETYPE.OKTA_TO_AD;\n }\n } else if (mappingDirection === 'appToOkta' && targetName === 'login') {\n if (appName === 'saml_idp') {\n sourceUsernameType = this.USERNAMETYPE.IDP_TO_OKTA;\n } else {\n sourceUsernameType = this.USERNAMETYPE.APP_TO_OKTA;\n }\n }\n return sourceUsernameType;\n },\n\n isArrayDataType: function (type) {\n return __WEBPACK_IMPORTED_MODULE_0__underscore_wrapper__[\"default\"].contains(__WEBPACK_IMPORTED_MODULE_0__underscore_wrapper__[\"default\"].values(this.ARRAYDISPLAYTYPE), type);\n },\n\n isObjectDataType: function (type) {\n return this.DATATYPE.object === type;\n }\n};\n/* harmony default export */ __webpack_exports__[\"a\"] = (SchemaUtils);\n\n\n/***/ }),\n/* 14 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\nObject.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__framework_Collection__ = __webpack_require__(36);\n\n\n\n/**\n * Wrapper around the more generic {@link src/framework/Collection} that\n * contains Okta-specific logic.\n * @class module:Okta.Collection\n * @extends src/framework/Collection\n */\n/* harmony default export */ __webpack_exports__[\"default\"] = (__WEBPACK_IMPORTED_MODULE_1__framework_Collection__[\"a\" /* default */].extend(\n /** @lends module:Okta.Collection.prototype */ {\n /**\n * Is the end point using the legacy \"secureJSON\" format\n * @type {Function|Boolean}\n */\n secureJSON: false,\n\n constructor: function () {\n if (__WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].result(this, 'secureJSON')) {\n this.sync = __WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].wrap(this.sync, function (sync, method, collection, options) {\n return sync.call(this, method, collection, __WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].extend({ dataType: 'secureJSON' }, options));\n });\n }\n __WEBPACK_IMPORTED_MODULE_1__framework_Collection__[\"a\" /* default */].apply(this, arguments);\n }\n }\n));\n\n\n/***/ }),\n/* 15 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\nObject.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__Model__ = __webpack_require__(11);\n\n\n\nconst hasProps = function (model) {\n const local = __WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].omit(model.local, __WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].keys(model._builtInLocalProps));\n\n return __WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].size(model.props) + __WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].size(local) > 0;\n};\n\n/**\n * @class module:Okta.BaseModel\n * @extends module:Okta.Model\n * @deprecated Use {@link module:Okta.Model|Okta.Model} instead\n * @example\n * var Model = BaseModel.extend({\n * defaults: {\n * name: BaseModel.ComputedProperty(['fname', 'lname'], function (fname, lname) {\n * return fname + ' ' + lname;\n * })\n * }\n * });\n * var model = new Model({fname: 'Joe', lname: 'Doe'});\n * model.get('name'); //=> \"Joe Doe\"\n * model.toJSON(); //=> {fname: 'Joe', lname: 'Doe'}\n *\n * model.set('__private__', 'private property');\n * model.get('__private__'); //=> \"private property\"\n * model.toJSON(); //=> {fname: 'Joe', lname: 'Doe'}\n */\n\nconst BaseModelBaseModel = __WEBPACK_IMPORTED_MODULE_1__Model__[\"default\"].extend(\n /** @lends module:Okta.BaseModel.prototype */ {\n /**\n * @type {Boolean}\n */\n flat: false,\n\n constructor: function () {\n __WEBPACK_IMPORTED_MODULE_1__Model__[\"default\"].apply(this, arguments);\n this.on('sync', this._setSynced);\n },\n\n allows: function () {\n if (hasProps(this)) {\n return __WEBPACK_IMPORTED_MODULE_1__Model__[\"default\"].prototype.allows.apply(this, arguments);\n } else {\n return true;\n }\n },\n\n // bw compatibility support for old computed properties\n set: function (key, val) {\n let attrs;\n\n if (typeof key === 'object') {\n attrs = key;\n } else {\n (attrs = {})[key] = val;\n }\n\n // computed properties\n Object(__WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"])(attrs).each(function (fn, attr) {\n if (!fn || !__WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].isArray(fn.__attributes)) {\n return;\n }\n this.on(\n 'change:' + fn.__attributes.join(' change:'),\n function () {\n const val = this.get(attr);\n\n if (val !== this['__schema__'].computedProperties[attr]) {\n this['__schema__'].computedProperties[attr] = val;\n this.trigger('change:' + attr, val);\n }\n },\n this\n );\n }, this);\n\n return __WEBPACK_IMPORTED_MODULE_1__Model__[\"default\"].prototype.set.apply(this, arguments);\n },\n\n /**\n * Get the current value of an attribute from the model. For example: `note.get(\"title\")`\n *\n * See [Model.get](http://backbonejs.org/#Model-get)\n * @param {String} attribute\n * @return {Mixed} The value of the model attribute\n */\n get: function () {\n const value = __WEBPACK_IMPORTED_MODULE_1__Model__[\"default\"].prototype.get.apply(this, arguments);\n\n if (__WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].isFunction(value)) {\n return value.apply(this, __WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].map(value.__attributes || [], this.get, this));\n }\n return value;\n },\n\n /**\n * Return a shallow copy of the model's attributes for JSON stringification.\n * This can be used for persistence, serialization, or for augmentation before being sent to the server.\n * The name of this method is a bit confusing, as it doesn't actually return a JSON string —\n * but I'm afraid that it's the way that the JavaScript API for JSON.stringify works.\n *\n * ```javascript\n * var artist = new Model({\n * firstName: \"Wassily\",\n * lastName: \"Kandinsky\"\n * });\n *\n * artist.set({birthday: \"December 16, 1866\"});\n * alert(JSON.stringify(artist)); // {\"firstName\":\"Wassily\",\"lastName\":\"Kandinsky\",\"birthday\":\"December 16, 1866\"}\n * ```\n * See [Model.toJSON](http://backbonejs.org/#Model-toJSON)\n * @param {Object} options\n * @return {Object}\n */\n toJSON: function (options) {\n options || (options = {});\n const res = __WEBPACK_IMPORTED_MODULE_1__Model__[\"default\"].prototype.toJSON.apply(this, arguments);\n\n // cleanup computed properties\n Object(__WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"])(res).each(function (value, key) {\n if (typeof value === 'function') {\n if (options.verbose) {\n res[key] = this.get(key);\n } else {\n delete res[key];\n }\n }\n }, this);\n\n // cleanup private properties\n if (!options.verbose) {\n Object(__WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"])(res).each(function (value, key) {\n if (/^__\\w+__$/.test(key)) {\n delete res[key];\n }\n });\n }\n\n return res;\n },\n\n sanitizeAttributes: function (attributes) {\n const attrs = {};\n\n __WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].each(attributes, function (value, key) {\n if (!__WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].isFunction(value)) {\n attrs[key] = value;\n }\n });\n return attrs;\n },\n\n reset: function (options) {\n this.clear(options);\n this.set(this.sanitizeAttributes(this.defaults), options);\n },\n\n clear: function (options) {\n const attrs = {};\n\n __WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].each(this.sanitizeAttributes(this.attributes), function (value, key) {\n attrs[key] = void 0;\n });\n return this.set(attrs, __WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].extend({}, options, { unset: true }));\n },\n\n /**\n * @private\n */\n _setSynced: function (newModel) {\n this._syncedData = newModel && __WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].isFunction(newModel.toJSON) ? newModel.toJSON() : {};\n },\n\n /**\n * @private\n */\n _getSynced: function () {\n return this._syncedData;\n },\n\n isSynced: function () {\n return __WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].isEqual(this._getSynced(), this.toJSON());\n }\n },\n /** @lends module:Okta.BaseModel.prototype */ {\n /**\n * @static\n *\n * Example:\n *\n * ```javascript\n * var Model = BaseModel.extend({\n * defaults: {\n * name: BaseModel.ComputedProperty(['fname', 'lname'], function (fname, lname) {\n * return fname + ' ' + lname;\n * })\n * }\n * });\n * var model = new Model({fname: 'Joe', lname: 'Doe'});\n * model.get('name'); // Joe Doe\n * model.toJSON(); // {fname: 'Joe', lname: 'Doe'}\n * ```\n *\n * @param {Array} attributes - an array of the attribute names this method depends on\n * @param {Function} callback the function that computes the value of the property\n *\n * @deprecated Use {@link #derived} instead\n */\n ComputedProperty: function () {\n const args = __WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].toArray(arguments);\n\n const fn = args.pop();\n\n fn.__attributes = args.pop();\n return fn;\n }\n }\n);\n/* harmony default export */ __webpack_exports__[\"default\"] = (BaseModelBaseModel);\n\n\n/***/ }),\n/* 16 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\nObject.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__underscore_wrapper__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__views_BaseView__ = __webpack_require__(1);\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n redirect: function (url) {\n window.location = url;\n },\n\n reloadPage: function () {\n window.location.reload();\n },\n\n constantError: function (errorMessage) {\n return function () {\n throw new Error(errorMessage);\n };\n },\n\n /**\n * Simply convert an URL query key value pair object into an URL query string.\n * Remember NOT to escape the query string when using this util.\n * example:\n * input: {userId: 123, instanceId: undefined, expand: 'schema,app'}\n * output: '?userId=123&expand=schema,app'\n */\n getUrlQueryString: function (queries) {\n __WEBPACK_IMPORTED_MODULE_0__underscore_wrapper__[\"default\"].isObject(queries) || (queries = {});\n\n const queriesString = __WEBPACK_IMPORTED_MODULE_0__underscore_wrapper__[\"default\"].without(\n __WEBPACK_IMPORTED_MODULE_0__underscore_wrapper__[\"default\"].map(queries, function (value, key) {\n if (value !== undefined && value !== null) {\n return key + '=' + encodeURIComponent(value);\n }\n }),\n undefined\n ).join('&');\n\n return __WEBPACK_IMPORTED_MODULE_0__underscore_wrapper__[\"default\"].isEmpty(queriesString) ? '' : '?' + queriesString;\n },\n\n isABaseView(obj) {\n return obj instanceof __WEBPACK_IMPORTED_MODULE_1__views_BaseView__[\"default\"] || obj.prototype instanceof __WEBPACK_IMPORTED_MODULE_1__views_BaseView__[\"default\"] || obj === __WEBPACK_IMPORTED_MODULE_1__views_BaseView__[\"default\"];\n }\n});\n\n\n/***/ }),\n/* 17 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\nObject.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__util_jquery_wrapper__ = __webpack_require__(2);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__util_underscore_wrapper__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__BaseCollection__ = __webpack_require__(14);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__BaseModel__ = __webpack_require__(15);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__util_Logger__ = __webpack_require__(7);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__util_SchemaUtil__ = __webpack_require__(13);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__util_StringUtil__ = __webpack_require__(3);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_7__views_forms_helpers_EnumTypeHelper__ = __webpack_require__(18);\n/* eslint max-statements: [2, 16], complexity: [2, 8], max-params: [2, 8] */\n\n\n\n\n\n\n\n\nconst loc = __WEBPACK_IMPORTED_MODULE_6__util_StringUtil__[\"default\"].localize;\nconst STRING = __WEBPACK_IMPORTED_MODULE_5__util_SchemaUtil__[\"a\" /* default */].STRING;\nconst NUMBER = __WEBPACK_IMPORTED_MODULE_5__util_SchemaUtil__[\"a\" /* default */].NUMBER;\nconst INTEGER = __WEBPACK_IMPORTED_MODULE_5__util_SchemaUtil__[\"a\" /* default */].INTEGER;\nconst OBJECT = __WEBPACK_IMPORTED_MODULE_5__util_SchemaUtil__[\"a\" /* default */].OBJECT;\n\nconst getArrayTypeName = function (type, elementType) {\n return type + 'of' + elementType;\n};\n\nconst SchemaPropertySubSchema = __WEBPACK_IMPORTED_MODULE_3__BaseModel__[\"default\"].extend({\n defaults: {\n description: undefined,\n minLength: undefined,\n maxLength: undefined,\n format: undefined\n },\n parse: function (resp) {\n if (__WEBPACK_IMPORTED_MODULE_1__util_underscore_wrapper__[\"default\"].isString(resp.format)) {\n const matcher = /^\\/(.+)\\/$/.exec(resp.format);\n\n if (matcher) {\n resp.format = matcher[1];\n }\n }\n return resp;\n }\n});\nconst SchemaPropertySubSchemaCollection = __WEBPACK_IMPORTED_MODULE_2__BaseCollection__[\"default\"].extend({\n model: SchemaPropertySubSchema\n});\nconst SchemaPropertySubSchemaAllOfCollection = SchemaPropertySubSchemaCollection.extend({\n _type: 'allOf'\n});\nconst SchemaPropertySubSchemaOneOfCollection = SchemaPropertySubSchemaCollection.extend({\n _type: 'oneOf'\n});\nconst SchemaPropertySubSchemaNoneOfCollection = SchemaPropertySubSchemaCollection.extend({\n _type: 'noneOf'\n});\nconst constraintTypeErrorMessages = {\n string: loc('schema.validation.field.value.must.string', 'courage'),\n number: loc('schema.validation.field.value.must.number', 'courage'),\n integer: loc('schema.validation.field.value.must.integer', 'courage'),\n object: loc('schema.validation.field.value.must.object', 'courage')\n};\nconst loginFormatNonePattern = '.+';\nconst escapedLoginCharsRe = /[^a-zA-Z0-9-]/;\nconst SchemaPropertySchemaProperty = __WEBPACK_IMPORTED_MODULE_3__BaseModel__[\"default\"].extend({\n constraintHandlers: {\n between: '_checkBetweenConstraints',\n greaterThan: '_checkGreaterThanConstraint',\n lessThan: '_checkLessThanConstraint',\n equals: '_checkEqualsConstraint'\n },\n\n idAttribute: 'name',\n\n local: {\n __oneOf__: {\n type: 'array',\n minItems: 1\n }\n },\n\n defaults: {\n // OKTA-28445, set empty string by default as the key for each property when syncing with server\n // so that server can respond with error when a name is not provided\n name: '',\n title: undefined,\n type: undefined,\n description: undefined,\n required: false,\n format: undefined,\n // choose disable option be default.\n union: undefined,\n subSchemas: undefined,\n settings: { permissions: { SELF: __WEBPACK_IMPORTED_MODULE_5__util_SchemaUtil__[\"a\" /* default */].PERMISSION.READ_ONLY } },\n unique: undefined,\n __metadata__: undefined,\n __isSensitive__: __WEBPACK_IMPORTED_MODULE_3__BaseModel__[\"default\"].ComputedProperty(['settings'], function (settings) {\n return !!(settings && settings.sensitive);\n }),\n __unique__: false,\n __isUniqueValidated__: __WEBPACK_IMPORTED_MODULE_3__BaseModel__[\"default\"].ComputedProperty(['unique'], function (unique) {\n return unique === __WEBPACK_IMPORTED_MODULE_5__util_SchemaUtil__[\"a\" /* default */].UNIQUENESS.UNIQUE_VALIDATED;\n }),\n __isPendingUniqueness__: __WEBPACK_IMPORTED_MODULE_3__BaseModel__[\"default\"].ComputedProperty(['unique'], function (unique) {\n return unique === __WEBPACK_IMPORTED_MODULE_5__util_SchemaUtil__[\"a\" /* default */].UNIQUENESS.PENDING_UNIQUENESS;\n }),\n __isUniqueness__: __WEBPACK_IMPORTED_MODULE_3__BaseModel__[\"default\"].ComputedProperty(['__isUniqueValidated__', '__isPendingUniqueness__'], \n function (isValidated, isPending) {\n return isValidated || isPending;\n }),\n __canBeSensitive__: __WEBPACK_IMPORTED_MODULE_3__BaseModel__[\"default\"].ComputedProperty(['__metadata__'], function (metadata) {\n return !!(metadata && metadata.sensitivizable);\n }),\n __userPermission__: __WEBPACK_IMPORTED_MODULE_5__util_SchemaUtil__[\"a\" /* default */].PERMISSION.READ_ONLY,\n __displayType__: undefined,\n __displayTypeLabel__: __WEBPACK_IMPORTED_MODULE_3__BaseModel__[\"default\"].ComputedProperty(['__displayType__'], function (displayType) {\n return __WEBPACK_IMPORTED_MODULE_5__util_SchemaUtil__[\"a\" /* default */].DATATYPE[displayType] || displayType;\n }),\n __supportsMinMax__: false,\n // use the private naming convention for these computed properties,\n // to deal with the complexity in cloning schema with properties (toJSON({verbose: true})),\n // to make sure these attributes are being excluded from api request\n __isReadOnly__: __WEBPACK_IMPORTED_MODULE_3__BaseModel__[\"default\"].ComputedProperty(['mutability'], function (mutability) {\n return mutability === __WEBPACK_IMPORTED_MODULE_5__util_SchemaUtil__[\"a\" /* default */].MUTABILITY.READONLY;\n }),\n __isWriteOnly__: __WEBPACK_IMPORTED_MODULE_3__BaseModel__[\"default\"].ComputedProperty(['mutability'], function (mutability) {\n return mutability === __WEBPACK_IMPORTED_MODULE_5__util_SchemaUtil__[\"a\" /* default */].MUTABILITY.WRITEONLY;\n }),\n __displayScope__: undefined,\n __isScopeSelf__: __WEBPACK_IMPORTED_MODULE_3__BaseModel__[\"default\"].ComputedProperty(['scope'], function (scope) {\n return scope === __WEBPACK_IMPORTED_MODULE_5__util_SchemaUtil__[\"a\" /* default */].SCOPE.SELF;\n }),\n __isNoneScopeArrayType__: __WEBPACK_IMPORTED_MODULE_3__BaseModel__[\"default\"].ComputedProperty(['__isScopeSelf__', '__displayType__'], function (\n isScopeSelf,\n displayType\n ) {\n return !isScopeSelf && __WEBPACK_IMPORTED_MODULE_5__util_SchemaUtil__[\"a\" /* default */].isArrayDataType(displayType);\n }),\n __isImported__: __WEBPACK_IMPORTED_MODULE_3__BaseModel__[\"default\"].ComputedProperty(['externalName'], function (externalName) {\n return !!externalName;\n }),\n __isFromBaseSchema__: __WEBPACK_IMPORTED_MODULE_3__BaseModel__[\"default\"].ComputedProperty(['__schemaMeta__'], function (schemaMeta) {\n return schemaMeta && schemaMeta.name === 'base';\n }),\n // Only UI can turn on __enumDefined__ and reprocess the enum/oneOf value; otherwise,\n // it should leave existing value untouch\n __enumDefined__: false,\n __supportEnum__: __WEBPACK_IMPORTED_MODULE_3__BaseModel__[\"default\"].ComputedProperty(['__displayType__'], function (displayType) {\n return __WEBPACK_IMPORTED_MODULE_1__util_underscore_wrapper__[\"default\"].contains(__WEBPACK_IMPORTED_MODULE_5__util_SchemaUtil__[\"a\" /* default */].SUPPORTENUM, displayType);\n }),\n __isNumberTypeEnum__: __WEBPACK_IMPORTED_MODULE_3__BaseModel__[\"default\"].ComputedProperty(['__displayType__'], function (displayType) {\n return __WEBPACK_IMPORTED_MODULE_1__util_underscore_wrapper__[\"default\"].contains([__WEBPACK_IMPORTED_MODULE_5__util_SchemaUtil__[\"a\" /* default */].NUMBER, __WEBPACK_IMPORTED_MODULE_5__util_SchemaUtil__[\"a\" /* default */].ARRAYDISPLAYTYPE.arrayofnumber], displayType);\n }),\n __isIntegerTypeEnum__: __WEBPACK_IMPORTED_MODULE_3__BaseModel__[\"default\"].ComputedProperty(['__displayType__'], function (displayType) {\n return __WEBPACK_IMPORTED_MODULE_1__util_underscore_wrapper__[\"default\"].contains([__WEBPACK_IMPORTED_MODULE_5__util_SchemaUtil__[\"a\" /* default */].INTEGER, __WEBPACK_IMPORTED_MODULE_5__util_SchemaUtil__[\"a\" /* default */].ARRAYDISPLAYTYPE.arrayofinteger], displayType);\n }),\n __isObjectTypeEnum__: __WEBPACK_IMPORTED_MODULE_3__BaseModel__[\"default\"].ComputedProperty(['__displayType__'], function (displayType) {\n return __WEBPACK_IMPORTED_MODULE_1__util_underscore_wrapper__[\"default\"].contains([__WEBPACK_IMPORTED_MODULE_5__util_SchemaUtil__[\"a\" /* default */].OBJECT, __WEBPACK_IMPORTED_MODULE_5__util_SchemaUtil__[\"a\" /* default */].ARRAYDISPLAYTYPE.arrayofobject], displayType);\n }),\n __isStringTypeEnum__: __WEBPACK_IMPORTED_MODULE_3__BaseModel__[\"default\"].ComputedProperty(['__displayType__'], function (displayType) {\n return __WEBPACK_IMPORTED_MODULE_1__util_underscore_wrapper__[\"default\"].contains([__WEBPACK_IMPORTED_MODULE_5__util_SchemaUtil__[\"a\" /* default */].STRING, __WEBPACK_IMPORTED_MODULE_5__util_SchemaUtil__[\"a\" /* default */].ARRAYDISPLAYTYPE.arrayofstring], displayType);\n }),\n __enumConstraintType__: __WEBPACK_IMPORTED_MODULE_3__BaseModel__[\"default\"].ComputedProperty(\n ['__isStringTypeEnum__', '__isNumberTypeEnum__', '__isIntegerTypeEnum__', '__isObjectTypeEnum__'],\n function (isStringType, isNumberType, isIntegerType, isObjectType) {\n if (isStringType) {\n return STRING;\n }\n if (isNumberType) {\n return NUMBER;\n }\n if (isIntegerType) {\n return INTEGER;\n }\n if (isObjectType) {\n return OBJECT;\n }\n }\n ),\n __isEnumDefinedAndSupported__: __WEBPACK_IMPORTED_MODULE_3__BaseModel__[\"default\"].ComputedProperty(['__enumDefined__', '__supportEnum__'], function (\n enumDefined,\n supportEnum\n ) {\n return enumDefined && supportEnum;\n }),\n __isLoginOfBaseSchema__: __WEBPACK_IMPORTED_MODULE_3__BaseModel__[\"default\"].ComputedProperty(['__isFromBaseSchema__', 'name'], function (\n isFromBaseSchema,\n name\n ) {\n return isFromBaseSchema && name === 'login';\n }),\n __isLoginFormatRestrictionToEmail__: __WEBPACK_IMPORTED_MODULE_3__BaseModel__[\"default\"].ComputedProperty(['__loginFormatRestriction__'], \n function (loginFormatRestriction) {\n return loginFormatRestriction === __WEBPACK_IMPORTED_MODULE_5__util_SchemaUtil__[\"a\" /* default */].LOGINPATTERNFORMAT.EMAIL;\n })\n },\n\n initialize: function () {\n __WEBPACK_IMPORTED_MODULE_3__BaseModel__[\"default\"].prototype.initialize.apply(this, arguments);\n this.listenTo(this, 'change:__displayType__', this._updateTypeFormatConstraints);\n this.listenTo(this, 'change:type change:format change:items', this._updateDisplayType);\n this.listenTo(this, 'change:__minVal__ change:__maxVal__', this._updateMinMax);\n this.listenTo(this, 'change:__equals__', this._convertEqualsToMinMax);\n this.listenTo(this, 'change:__constraint__', this._setConstraintText);\n this._setConstraintText();\n this._setLoginPattern();\n },\n\n parse: function (resp) {\n /* eslint complexity: [2, 9] */\n resp = __WEBPACK_IMPORTED_MODULE_1__util_underscore_wrapper__[\"default\"].clone(resp);\n\n if (resp.type === 'object' && resp.extendedType === 'image') {\n resp.type = 'image';\n }\n resp['__displayType__'] = __WEBPACK_IMPORTED_MODULE_5__util_SchemaUtil__[\"a\" /* default */].getDisplayType(\n resp.type,\n resp.format,\n resp.items ? (resp.items.format ? resp.items.format : resp.items.type) : undefined\n );\n this._setRangeConstraints(resp);\n resp['__supportsMinMax__'] = __WEBPACK_IMPORTED_MODULE_5__util_SchemaUtil__[\"a\" /* default */].SUPPORTSMINMAX.indexOf(resp['__displayType__']) !== -1;\n resp['__displayScope__'] = __WEBPACK_IMPORTED_MODULE_5__util_SchemaUtil__[\"a\" /* default */].DISPLAYSCOPE[resp.scope] || __WEBPACK_IMPORTED_MODULE_5__util_SchemaUtil__[\"a\" /* default */].DISPLAYSCOPE.NA;\n if (resp.settings && resp.settings.permissions && resp.settings.permissions.SELF) {\n resp['__userPermission__'] = resp.settings.permissions.SELF;\n }\n this._setMasterOverride(resp);\n this._setSubSchemas(resp);\n this._setUniqueness(resp);\n return resp;\n },\n\n validate: function () {\n const enumValidationError = this._validateEnumOneOf();\n\n if (enumValidationError) {\n return enumValidationError;\n }\n\n if (!this.get('__supportsMinMax__') || !this.get('__constraint__')) {\n return undefined;\n }\n\n const constraitType = this.get('__constraint__');\n const constraitHandler = this[this.constraintHandlers[constraitType]];\n\n if (__WEBPACK_IMPORTED_MODULE_1__util_underscore_wrapper__[\"default\"].isFunction(constraitHandler)) {\n return constraitHandler.call(this);\n } else {\n __WEBPACK_IMPORTED_MODULE_4__util_Logger__[\"default\"].warn('No constraint handler found for: ' + constraitType);\n return undefined;\n }\n },\n\n _checkBetweenConstraints: function () {\n const minVal = this.get('__minVal__');\n const maxVal = this.get('__maxVal__');\n\n if (!minVal && !maxVal) {\n return;\n }\n if (!minVal) {\n return { __minVal__: 'Min value is required' };\n }\n if (!maxVal) {\n return { __maxVal__: 'Max value is required' };\n }\n\n let val = this._checkIntegerConstraints('__minVal__', 'Min value');\n\n if (val) {\n return val;\n }\n val = this._checkIntegerConstraints('__maxVal__', 'Max value');\n if (val) {\n return val;\n }\n if (+minVal >= +maxVal) {\n return { __maxVal__: 'Max val must be greater than min val' };\n }\n },\n\n _checkGreaterThanConstraint: function () {\n const minVal = this.get('__minVal__');\n\n if (!minVal) {\n return;\n }\n\n const val = this._checkIntegerConstraints('__minVal__', 'Min value');\n\n if (val) {\n return val;\n }\n },\n\n _checkLessThanConstraint: function () {\n const maxVal = this.get('__maxVal__');\n\n if (!maxVal) {\n return;\n }\n\n const val = this._checkIntegerConstraints('__maxVal__', 'Max value');\n\n if (val) {\n return val;\n }\n },\n\n _checkEqualsConstraint: function () {\n const equals = this.get('__equals__');\n\n if (!equals) {\n return;\n }\n\n const val = this._checkIntegerConstraints('__equals__', 'Constraint');\n\n if (val) {\n return val;\n }\n },\n\n _checkIntegerConstraints: function (field, name) {\n const val = this.get(field);\n const error = {};\n\n if (isNaN(val)) {\n error[field] = name + ' must be a number';\n return error;\n }\n if (+val < 0) {\n error[field] = name + ' must be greater than 0';\n return error;\n }\n },\n\n _setMasterOverride: function (resp) {\n if (resp.settings && resp.settings.masterOverride && resp.settings.masterOverride) {\n const masterOverrideValue = resp.settings.masterOverride.value;\n\n if (__WEBPACK_IMPORTED_MODULE_1__util_underscore_wrapper__[\"default\"].isArray(masterOverrideValue) && !__WEBPACK_IMPORTED_MODULE_1__util_underscore_wrapper__[\"default\"].isEmpty(masterOverrideValue)) {\n resp['__masterOverrideType__'] = 'OVERRIDE';\n resp['__masterOverrideValue__'] = masterOverrideValue || [];\n } else {\n resp['__masterOverrideType__'] = resp.settings.masterOverride.type;\n }\n } else {\n resp['__masterOverrideType__'] = 'INHERIT';\n }\n },\n\n _setRangeConstraints: function (resp) {\n /* eslint complexity: [2, 11] */\n if (resp['__displayType__'] === STRING) {\n resp['__minVal__'] = resp.minLength;\n resp['__maxVal__'] = resp.maxLength;\n } else if (resp['__displayType__'] === INTEGER || resp['__displayType__'] === NUMBER) {\n resp['__minVal__'] = resp.minimum;\n resp['__maxVal__'] = resp.maximum;\n }\n if (resp['__minVal__'] && resp['__maxVal__']) {\n if (resp['__minVal__'] === resp['__maxVal__']) {\n resp['__constraint__'] = 'equals';\n resp['__equals__'] = resp['__minVal__'];\n } else {\n resp['__constraint__'] = 'between';\n }\n } else if (!resp['__minVal__'] && resp['__maxVal__']) {\n resp['__constraint__'] = 'lessThan';\n } else if (!resp['__maxVal__'] && resp['__minVal__']) {\n resp['__constraint__'] = 'greaterThan';\n }\n },\n\n _setSubSchemas: function (resp) {\n if (resp.allOf) {\n resp['subSchemas'] = new SchemaPropertySubSchemaAllOfCollection(resp.allOf, { parse: true });\n } else if (resp.oneOf) {\n resp['subSchemas'] = new SchemaPropertySubSchemaOneOfCollection(resp.oneOf, { parse: true });\n } else if (resp.noneOf) {\n resp['subSchemas'] = new SchemaPropertySubSchemaNoneOfCollection(resp.noneOf, { parse: true });\n }\n },\n\n _setUniqueness: function (resp) {\n const unique = resp && resp.unique;\n resp['__unique__'] = !!(unique && \n (unique === __WEBPACK_IMPORTED_MODULE_5__util_SchemaUtil__[\"a\" /* default */].UNIQUENESS.UNIQUE_VALIDATED || unique === __WEBPACK_IMPORTED_MODULE_5__util_SchemaUtil__[\"a\" /* default */].UNIQUENESS.PENDING_UNIQUENESS));\n },\n\n _setLoginPattern: function () {\n if (!this.get('__isLoginOfBaseSchema__')) {\n return;\n }\n\n const pattern = this.get('pattern');\n\n if (pattern === loginFormatNonePattern) {\n this.set('__loginFormatRestriction__', __WEBPACK_IMPORTED_MODULE_5__util_SchemaUtil__[\"a\" /* default */].LOGINPATTERNFORMAT.NONE);\n } else if (pattern) {\n this.set('__loginFormatRestriction__', __WEBPACK_IMPORTED_MODULE_5__util_SchemaUtil__[\"a\" /* default */].LOGINPATTERNFORMAT.CUSTOM);\n this.set('__loginFormatRestrictionCustom__', this._extractLoginPattern(pattern));\n } else {\n this.set('__loginFormatRestriction__', __WEBPACK_IMPORTED_MODULE_5__util_SchemaUtil__[\"a\" /* default */].LOGINPATTERNFORMAT.EMAIL);\n }\n },\n\n _updateDisplayType: function () {\n const type = this.get('type');\n\n if (type === STRING && this.get('format')) {\n this.set('__displayType__', __WEBPACK_IMPORTED_MODULE_5__util_SchemaUtil__[\"a\" /* default */].FORMATDISPLAYTYPE[this.get('format')]);\n } else {\n const items = this.get('items');\n const arraytype = items && (items.format ? items.format : items.type);\n\n if (type && arraytype) {\n this.set('__displayType__', __WEBPACK_IMPORTED_MODULE_5__util_SchemaUtil__[\"a\" /* default */].ARRAYDISPLAYTYPE[getArrayTypeName(type, arraytype)]);\n } else {\n this.set('__displayType__', type);\n }\n }\n },\n\n _validateEnumOneOf: function () {\n if (!this.get('__isEnumDefinedAndSupported__')) {\n return;\n }\n\n const enumOneOf = this.get('__oneOf__') || [];\n\n if (__WEBPACK_IMPORTED_MODULE_1__util_underscore_wrapper__[\"default\"].isEmpty(enumOneOf)) {\n return { __oneOf__: loc('model.validation.field.blank', 'courage') };\n }\n\n if (!this._isValidateOneOfConstraint(enumOneOf)) {\n const constraintType = this.get('__enumConstraintType__');\n const errorTypeMsg = constraintTypeErrorMessages[constraintType];\n\n return { __oneOf__: errorTypeMsg };\n }\n },\n\n _isValidateOneOfConstraint: function (values) {\n const constraintType = this.get('__enumConstraintType__');\n\n return __WEBPACK_IMPORTED_MODULE_1__util_underscore_wrapper__[\"default\"].all(values, function (value) {\n return __WEBPACK_IMPORTED_MODULE_7__views_forms_helpers_EnumTypeHelper__[\"a\" /* default */].isConstraintValueMatchType(value.const, constraintType);\n });\n },\n\n toJSON: function () {\n let json = __WEBPACK_IMPORTED_MODULE_3__BaseModel__[\"default\"].prototype.toJSON.apply(this, arguments);\n\n json.settings = { permissions: {} };\n json.settings.permissions['SELF'] = this.get('__userPermission__');\n\n // omit \"sensitive\" filed will have default it value to false.\n if (this.get('__isSensitive__')) {\n json.settings.sensitive = this.get('__isSensitive__');\n }\n if (this.get('type') === 'image') {\n json.type = 'object';\n json.extendedType = 'image';\n }\n\n json = this._enumAssignment(json);\n json = this._attributeOverrideToJson(json);\n json = this._normalizeUnionValue(json);\n json = this._patternAssignment(json);\n json = this._uniquenessAssignment(json);\n return json;\n },\n\n _attributeOverrideToJson: function (json) {\n const masterOverrideType = this.get('__masterOverrideType__');\n const masterOverrideValue = this.get('__masterOverrideValue__');\n\n if (masterOverrideType === 'OKTA_MASTERED') {\n json.settings.masterOverride = { type: 'OKTA_MASTERED' };\n } else if (masterOverrideType === 'OVERRIDE') {\n json.settings.masterOverride = { type: 'ORDERED_LIST', value: [] };\n if (masterOverrideValue instanceof __WEBPACK_IMPORTED_MODULE_2__BaseCollection__[\"default\"]) {\n __WEBPACK_IMPORTED_MODULE_1__util_underscore_wrapper__[\"default\"].each(masterOverrideValue.toJSON(), function (overrideProfile) {\n json.settings.masterOverride.value.push(overrideProfile.id);\n });\n } else if (masterOverrideValue instanceof Array) {\n json.settings.masterOverride.value = masterOverrideValue;\n }\n if (__WEBPACK_IMPORTED_MODULE_1__util_underscore_wrapper__[\"default\"].isEmpty(json.settings.masterOverride.value)) {\n delete json.settings.masterOverride;\n }\n }\n\n if (masterOverrideType === 'INHERIT') {\n delete json.settings.masterOverride;\n }\n return json;\n },\n\n /**\n * Only allow set \"union\" value when isScopeSelf is NONE and displayType is\n * array of (string/number/integer), otherwise reset to default.\n *\n * @see /universal-directory/shared/views/components/UnionGroupValuesRadio.js\n */\n _normalizeUnionValue: function (json) {\n if (!this.get('__isNoneScopeArrayType__')) {\n json['union'] = undefined;\n }\n\n return json;\n },\n\n _enumAssignment: function (json) {\n if (!this.get('__isEnumDefinedAndSupported__')) {\n return json;\n }\n\n // backfill empty title by constraint\n\n const enumOneOf = this._getEnumOneOfWithTitleCheck();\n\n if (this.get('type') === 'array') {\n delete json.items.enum;\n json.items.oneOf = enumOneOf;\n } else {\n delete json.enum;\n json.oneOf = enumOneOf;\n }\n\n return json;\n },\n\n _patternAssignment: function (json) {\n if (!this.get('__isLoginOfBaseSchema__') || !this.get('__loginFormatRestriction__')) {\n return json;\n }\n\n switch (this.get('__loginFormatRestriction__')) {\n case __WEBPACK_IMPORTED_MODULE_5__util_SchemaUtil__[\"a\" /* default */].LOGINPATTERNFORMAT.EMAIL:\n delete json.pattern;\n break;\n case __WEBPACK_IMPORTED_MODULE_5__util_SchemaUtil__[\"a\" /* default */].LOGINPATTERNFORMAT.CUSTOM:\n json.pattern = this._buildLoginPattern(this.get('__loginFormatRestrictionCustom__'));\n break;\n case __WEBPACK_IMPORTED_MODULE_5__util_SchemaUtil__[\"a\" /* default */].LOGINPATTERNFORMAT.NONE:\n json.pattern = loginFormatNonePattern;\n break;\n }\n\n return json;\n },\n\n _uniquenessAssignment: function (json) {\n if (!this.get('__unique__')) {\n delete json.unique;\n } else if (!this.get('__isUniqueness__')) {\n json.unique = __WEBPACK_IMPORTED_MODULE_5__util_SchemaUtil__[\"a\" /* default */].UNIQUENESS.UNIQUE_VALIDATED;\n }\n\n return json;\n },\n\n /**\n * Character should be escaped except letters, digits and hyphen\n */\n _escapedRegexChar: function (pattern, index) {\n const char = pattern.charAt(index);\n\n if (escapedLoginCharsRe.test(char)) {\n return '\\\\' + char;\n }\n\n return char;\n },\n\n _buildLoginPattern: function (pattern) {\n let result = '';\n\n for (var i = 0; i < pattern.length; i++) {\n result = result + this._escapedRegexChar(pattern, i);\n }\n\n return '[' + result + ']+';\n },\n\n _extractLoginPattern: function (pattern) {\n const re = /^\\[(.*)\\]\\+/;\n const matches = pattern.match(re);\n\n return matches ? matches[1].replace(/\\\\(.)/g, '$1') : pattern;\n },\n\n _getEnumOneOfWithTitleCheck: function () {\n const enumOneOf = this.get('__oneOf__');\n\n return __WEBPACK_IMPORTED_MODULE_1__util_underscore_wrapper__[\"default\"].map(enumOneOf, function (value) {\n if (__WEBPACK_IMPORTED_MODULE_0__util_jquery_wrapper__[\"default\"].trim(value.title) !== '') {\n return value;\n }\n\n value.title = !__WEBPACK_IMPORTED_MODULE_1__util_underscore_wrapper__[\"default\"].isString(value.const) ? JSON.stringify(value.const) : value.const;\n\n return value;\n });\n },\n\n _updateTypeFormatConstraints: function () {\n const displayType = this.get('__displayType__');\n\n // OKTA-31952 reset format according to its displayType\n this.unset('format', { silent: true });\n this.unset('items', { silent: true });\n this.set(__WEBPACK_IMPORTED_MODULE_5__util_SchemaUtil__[\"a\" /* default */].DISPLAYTYPES[displayType]);\n if (displayType !== NUMBER && displayType !== INTEGER) {\n this.unset('minimum');\n this.unset('maximum');\n }\n if (displayType !== STRING) {\n this.unset('minLength');\n this.unset('maxLength');\n }\n\n this.unset('__minVal__');\n this.unset('__maxVal__');\n this.unset('__equals__');\n this.set('__supportsMinMax__', __WEBPACK_IMPORTED_MODULE_5__util_SchemaUtil__[\"a\" /* default */].SUPPORTSMINMAX.indexOf(this.get('__displayType__')) !== -1);\n },\n\n _updateMinMax: function () {\n let min;\n let max;\n const displayType = this.get('__displayType__');\n\n if (displayType === STRING) {\n min = 'minLength';\n max = 'maxLength';\n } else if (displayType === INTEGER || displayType === NUMBER) {\n min = 'minimum';\n max = 'maximum';\n }\n\n if (this.get('__minVal__')) {\n this.set(min, parseInt(this.get('__minVal__'), 10));\n } else {\n this.unset(min);\n }\n\n if (this.get('__maxVal__')) {\n this.set(max, parseInt(this.get('__maxVal__'), 10));\n } else {\n this.unset(max);\n }\n },\n\n _convertEqualsToMinMax: function () {\n const equals = this.get('__equals__');\n\n if (equals) {\n this.set('__minVal__', equals);\n this.set('__maxVal__', equals);\n }\n },\n\n /*\n Normally we would use a derived property here but derived properties do not work with the model Clone function\n so we use this workaround instead.\n */\n _setConstraintText: function () {\n const constraint = this.get('__constraint__');\n const min = this.get('__minVal__');\n const max = this.get('__maxVal__');\n const equals = this.get('__equals__');\n\n switch (constraint) {\n case 'between':\n this.set('__constraintText__', 'Between ' + min + ' and ' + max);\n break;\n case 'greaterThan':\n this.set('__constraintText__', 'Greater than ' + min);\n break;\n case 'lessThan':\n this.set('__constraintText__', 'Less than ' + max);\n break;\n case 'equals':\n this.set('__constraintText__', 'Equals ' + equals);\n break;\n default:\n this.set('__constraintText__', '');\n break;\n }\n },\n\n cleanup: function () {\n if (this.get('__constraint__') === 'lessThan') {\n this.unset('__minVal__');\n } else if (this.get('__constraint__') === 'greaterThan') {\n this.unset('__maxVal__');\n }\n if (this.get('scope') !== __WEBPACK_IMPORTED_MODULE_5__util_SchemaUtil__[\"a\" /* default */].SCOPE.SYSTEM) {\n if (this.get('__isScopeSelf__') === true) {\n this.set({ scope: __WEBPACK_IMPORTED_MODULE_5__util_SchemaUtil__[\"a\" /* default */].SCOPE.SELF }, { silent: true });\n } else {\n this.unset('scope');\n }\n }\n\n if (!this.get('__unique__')) {\n this.unset('unique');\n }\n },\n\n /**\n * Since there is not an dedicated attribute to flag enum type,\n * use enum values to determine whether the property is enum type or not.\n */\n isEnumType: function () {\n return !!this.getEnumValues();\n },\n\n getEnumValues: function () {\n return (\n this.get('oneOf') ||\n this.get('enum') ||\n (this.get('items') && this.get('items')['oneOf']) ||\n (this.get('items') && this.get('items')['enum'])\n );\n },\n\n detectHasEnumDefined: function () {\n const enumValues = this.getEnumValues();\n\n if (!enumValues) {\n return;\n }\n\n this.set('__oneOf__', __WEBPACK_IMPORTED_MODULE_7__views_forms_helpers_EnumTypeHelper__[\"a\" /* default */].convertToOneOf(enumValues));\n this.set('__enumDefined__', true);\n }\n});\nconst SchemaPropertySchemaProperties = __WEBPACK_IMPORTED_MODULE_2__BaseCollection__[\"default\"].extend({\n model: SchemaPropertySchemaProperty,\n clone: function () {\n return new this.constructor(this.toJSON({ verbose: true }), { parse: true });\n },\n areAllReadOnly: function () {\n return __WEBPACK_IMPORTED_MODULE_1__util_underscore_wrapper__[\"default\"].all(this.pluck('__isReadOnly__'));\n },\n createModelProperties: function () {\n return this.reduce(function (p, schemaProperty) {\n const type = schemaProperty.get('type');\n\n p[schemaProperty.id] = __WEBPACK_IMPORTED_MODULE_1__util_underscore_wrapper__[\"default\"].clone(__WEBPACK_IMPORTED_MODULE_5__util_SchemaUtil__[\"a\" /* default */].DISPLAYTYPES[type]);\n if (__WEBPACK_IMPORTED_MODULE_5__util_SchemaUtil__[\"a\" /* default */].SUPPORTSMINMAX.indexOf(type) !== -1) {\n p[schemaProperty.id].minLength = schemaProperty.get('minLength');\n p[schemaProperty.id].maxLength = schemaProperty.get('maxLength');\n }\n if (type === 'string') {\n p[schemaProperty.id].format = schemaProperty.get('format');\n }\n return p;\n }, {});\n }\n});\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n Model: SchemaPropertySchemaProperty,\n Collection: SchemaPropertySchemaProperties\n});\n\n\n/***/ }),\n/* 18 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__util_jquery_wrapper__ = __webpack_require__(2);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__util_underscore_wrapper__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__util_SchemaUtil__ = __webpack_require__(13);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__util_StringUtil__ = __webpack_require__(3);\n/* eslint max-statements: 0 */\n\n\n\n\nconst NAME = 'name';\nconst ENUM_KEY_PREFIX = '_enum_';\n\n/**\n * Generate Input Options in order to create an input in an Form for Enum type attribute.\n * @param {Object} config informations for creating input options\n * config.name schema property name\n * config.title schema property title\n * config.readOnly create an read only input?\n * config.explain sub-title to the input\n * config.enumValues list of enum values for creating input options (Dropdown/SimpleCheckBoxSet)\n * config.displayType display type of schema property\n *\n * @return {Object} inputOptions options for create an Input view. (Dropdown/SimpleCheckBoxSet)\n *\n */\nfunction getEnumInputOptions(config) {\n const enumOneOf = convertToOneOf(config.enumValues);\n const inputOptions = {\n name: config.name,\n label: config.title,\n readOnly: config.readOnly,\n customExplain: config.explain,\n params: { enumOneOf: enumOneOf },\n options: getDropdownOptionsFromOneOf(enumOneOf)\n };\n\n // input type\n if (__WEBPACK_IMPORTED_MODULE_2__util_SchemaUtil__[\"a\" /* default */].isArrayDataType(config.displayType)) {\n inputOptions.type = 'checkboxset';\n inputOptions.to = valuesToEnumObjects;\n inputOptions.from = enumObjectsToValues;\n } else {\n inputOptions.type = 'select';\n inputOptions.to = valueToEnumObject;\n inputOptions.from = enumObjectToValue;\n }\n\n inputOptions.input = null;\n return inputOptions;\n}\n\nfunction getDropdownOptions(values) {\n return __WEBPACK_IMPORTED_MODULE_1__util_underscore_wrapper__[\"default\"].isArray(values) ? getDropdownOptionsFromOneOf(convertToOneOf(values)) : {};\n}\n\nfunction getDropdownOptionsFromOneOf(values) {\n if (!isOneOfEnumObject(values)) {\n return {};\n }\n\n return __WEBPACK_IMPORTED_MODULE_1__util_underscore_wrapper__[\"default\"].reduce(\n values,\n function (options, value, index) {\n options[convertIndexToEnumIndex(index)] = value.title;\n return options;\n },\n {}\n );\n}\n\nfunction convertToOneOf(values) {\n // assume this is a legacy enum array and convert to oneOf object\n if (!__WEBPACK_IMPORTED_MODULE_1__util_underscore_wrapper__[\"default\"].all(values, __WEBPACK_IMPORTED_MODULE_0__util_jquery_wrapper__[\"default\"].isPlainObject)) {\n return convertEnumToOneOf(values);\n\n // we assume object without const and title is an enum object which need special conversion\n } else if (!isOneOfEnumObject(values)) {\n return convertEnumObjectToOneOf(values);\n }\n\n return values;\n}\n\nfunction isOneOfEnumObject(values) {\n return (\n __WEBPACK_IMPORTED_MODULE_1__util_underscore_wrapper__[\"default\"].isArray(values) &&\n __WEBPACK_IMPORTED_MODULE_1__util_underscore_wrapper__[\"default\"].all(values, function (value) {\n return __WEBPACK_IMPORTED_MODULE_1__util_underscore_wrapper__[\"default\"].has(value, 'const') && __WEBPACK_IMPORTED_MODULE_1__util_underscore_wrapper__[\"default\"].has(value, 'title');\n })\n );\n}\n\nfunction convertEnumToOneOf(values) {\n return __WEBPACK_IMPORTED_MODULE_1__util_underscore_wrapper__[\"default\"].map(values, function (value) {\n return {\n const: value,\n title: valueToTitle(value)\n };\n });\n}\n\nfunction valueToTitle(value) {\n if (__WEBPACK_IMPORTED_MODULE_1__util_underscore_wrapper__[\"default\"].isObject(value)) {\n return JSON.stringify(value);\n }\n\n if (__WEBPACK_IMPORTED_MODULE_1__util_underscore_wrapper__[\"default\"].isNumber(value)) {\n return value + '';\n }\n\n return value;\n}\n\nfunction convertEnumObjectToOneOf(values) {\n const findKey = __WEBPACK_IMPORTED_MODULE_1__util_underscore_wrapper__[\"default\"].partial(__WEBPACK_IMPORTED_MODULE_1__util_underscore_wrapper__[\"default\"].has, __WEBPACK_IMPORTED_MODULE_1__util_underscore_wrapper__[\"default\"], NAME);\n // If all object found the key NAME, use the NAME's value as display name\n\n if (__WEBPACK_IMPORTED_MODULE_1__util_underscore_wrapper__[\"default\"].all(values, findKey)) {\n return __WEBPACK_IMPORTED_MODULE_1__util_underscore_wrapper__[\"default\"].chain(values)\n .filter(function (value) {\n return __WEBPACK_IMPORTED_MODULE_0__util_jquery_wrapper__[\"default\"].isPlainObject(value) && __WEBPACK_IMPORTED_MODULE_1__util_underscore_wrapper__[\"default\"].has(value, NAME);\n })\n .map(function (value) {\n return { const: value, title: value[NAME] };\n })\n .value();\n }\n\n // Assume a legacy object array does not need special handling and just convert to const/title enum\n return convertEnumToOneOf(values);\n}\n\nfunction convertIndexToEnumIndex(index) {\n return `${ENUM_KEY_PREFIX}${index}`;\n}\n\nfunction enumObjectToValue(obj) {\n const index = __WEBPACK_IMPORTED_MODULE_1__util_underscore_wrapper__[\"default\"].findIndex(this.options.params.enumOneOf, function (oneOfObj) {\n return __WEBPACK_IMPORTED_MODULE_1__util_underscore_wrapper__[\"default\"].isObject(obj) ? __WEBPACK_IMPORTED_MODULE_1__util_underscore_wrapper__[\"default\"].isEqual(oneOfObj.const, obj) : oneOfObj.const === obj;\n });\n // Cannot rely on comparator in findIndex when compare objects so need special handling\n\n return index > -1 ? convertIndexToEnumIndex(index) : obj;\n}\n\nfunction valueToEnumObject(val) {\n if (!__WEBPACK_IMPORTED_MODULE_1__util_underscore_wrapper__[\"default\"].isString(val) || val.indexOf(ENUM_KEY_PREFIX) !== 0) {\n return val;\n }\n\n const index = val.replace(ENUM_KEY_PREFIX, '');\n const enumValue =\n this.options.params && __WEBPACK_IMPORTED_MODULE_1__util_underscore_wrapper__[\"default\"].isArray(this.options.params.enumOneOf) ? this.options.params.enumOneOf[index] : null;\n\n // @see `getEnumInputOptions` how enumValues has been set.\n\n return __WEBPACK_IMPORTED_MODULE_1__util_underscore_wrapper__[\"default\"].has(enumValue, 'const') ? enumValue.const : enumValue;\n}\n\nfunction valuesToEnumObjects(values) {\n return __WEBPACK_IMPORTED_MODULE_1__util_underscore_wrapper__[\"default\"].map(values, valueToEnumObject.bind(this));\n}\n\nfunction enumObjectsToValues(values) {\n return __WEBPACK_IMPORTED_MODULE_1__util_underscore_wrapper__[\"default\"].map(values, enumObjectToValue.bind(this));\n}\n\nfunction isStringConstraint(value) {\n return __WEBPACK_IMPORTED_MODULE_1__util_underscore_wrapper__[\"default\"].isString(value) && __WEBPACK_IMPORTED_MODULE_0__util_jquery_wrapper__[\"default\"].trim(value) !== '';\n}\n\nfunction isNumberConstraint(value) {\n return __WEBPACK_IMPORTED_MODULE_1__util_underscore_wrapper__[\"default\"].isNumber(value) || __WEBPACK_IMPORTED_MODULE_1__util_underscore_wrapper__[\"default\"].isNumber(__WEBPACK_IMPORTED_MODULE_3__util_StringUtil__[\"default\"].parseFloat(__WEBPACK_IMPORTED_MODULE_0__util_jquery_wrapper__[\"default\"].trim(value)));\n}\n\nfunction isIntegerConstraint(value) {\n const integer = __WEBPACK_IMPORTED_MODULE_1__util_underscore_wrapper__[\"default\"].isNumber(value) ? value : __WEBPACK_IMPORTED_MODULE_3__util_StringUtil__[\"default\"].parseInt(__WEBPACK_IMPORTED_MODULE_0__util_jquery_wrapper__[\"default\"].trim(value));\n\n return typeof integer === 'number' && isFinite(integer) && Math.floor(integer) === integer;\n}\n\nfunction isObjectConstraint(value) {\n if (__WEBPACK_IMPORTED_MODULE_1__util_underscore_wrapper__[\"default\"].isObject(value) && !__WEBPACK_IMPORTED_MODULE_1__util_underscore_wrapper__[\"default\"].isArray(value)) {\n return true;\n }\n\n const object = __WEBPACK_IMPORTED_MODULE_3__util_StringUtil__[\"default\"].parseObject(__WEBPACK_IMPORTED_MODULE_0__util_jquery_wrapper__[\"default\"].trim(value));\n\n return __WEBPACK_IMPORTED_MODULE_1__util_underscore_wrapper__[\"default\"].isObject(object) && !__WEBPACK_IMPORTED_MODULE_1__util_underscore_wrapper__[\"default\"].isArray(object);\n}\n\nfunction isConstraintValueMatchType(value, type) {\n switch (type) {\n case __WEBPACK_IMPORTED_MODULE_2__util_SchemaUtil__[\"a\" /* default */].STRING:\n return isStringConstraint(value);\n case __WEBPACK_IMPORTED_MODULE_2__util_SchemaUtil__[\"a\" /* default */].NUMBER:\n return isNumberConstraint(value);\n case __WEBPACK_IMPORTED_MODULE_2__util_SchemaUtil__[\"a\" /* default */].INTEGER:\n return isIntegerConstraint(value);\n case __WEBPACK_IMPORTED_MODULE_2__util_SchemaUtil__[\"a\" /* default */].OBJECT:\n return isObjectConstraint(value);\n }\n}\n\n/* harmony default export */ __webpack_exports__[\"a\"] = ({\n getEnumInputOptions: getEnumInputOptions,\n getDropdownOptions: getDropdownOptions,\n convertToOneOf: convertToOneOf,\n isConstraintValueMatchType: isConstraintValueMatchType\n});\n\n\n/***/ }),\n/* 19 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\nObject.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_backbone__ = __webpack_require__(6);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_backbone___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_backbone__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__jquery_wrapper__ = __webpack_require__(2);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__underscore_wrapper__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__Logger__ = __webpack_require__(7);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__SettingsModel__ = __webpack_require__(20);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5_ConfirmationDialog__ = __webpack_require__(21);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5_ConfirmationDialog___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_5_ConfirmationDialog__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__views_components_Notification__ = __webpack_require__(41);\n/* eslint max-len: [2, 150], max-params: [2, 7] */\n\n\n\n\n\n\n\n\nfunction getRoute(router, route) {\n const root = __WEBPACK_IMPORTED_MODULE_2__underscore_wrapper__[\"default\"].result(router, 'root') || '';\n\n if (root && __WEBPACK_IMPORTED_MODULE_2__underscore_wrapper__[\"default\"].isString(route)) {\n return [root, route].join('/').replace(/\\/{2,}/g, '/');\n }\n return route;\n}\n\n/**\n * BaseRouter is a standard [Backbone.Router](http://backbonejs.org/#Router)\n * with a few additions:\n * - Explicit mapping between routes and controllers\n * - Support for rendering notification and confirmation dialogs\n *\n * Checkout the [Hello World Tutorial](https://github.com/okta/courage/wiki/Hello-World)\n * for a step-by-step guide to using this.\n *\n * @class module:Okta.Router\n * @extends external:Backbone.Router\n * @param {Object} options options hash\n * @param {String} options.el a jQuery selector string stating where to attach the controller in the DOM\n */\n/* harmony default export */ __webpack_exports__[\"default\"] = (__WEBPACK_IMPORTED_MODULE_0_backbone___default.a.Router.extend(\n /** @lends module:Okta.Router.prototype */ {\n /**\n * The root URL for the router. When setting {@link http://backbonejs.org/#Router-routes|routes},\n * it will be prepended to each route.\n * @type {String|Function}\n */\n root: '',\n\n listen: __WEBPACK_IMPORTED_MODULE_6__views_components_Notification__[\"a\" /* default */].prototype.listen,\n\n constructor: function (options) {\n options || (options = {});\n this.el = options.el;\n this.settings = new __WEBPACK_IMPORTED_MODULE_4__SettingsModel__[\"a\" /* default */](__WEBPACK_IMPORTED_MODULE_2__underscore_wrapper__[\"default\"].omit(options, 'el'));\n if (options.root) {\n this.root = options.root;\n }\n\n __WEBPACK_IMPORTED_MODULE_0_backbone___default.a.Router.apply(this, arguments);\n\n this.listen('notification', this._notify);\n this.listen('confirmation', this._confirm);\n },\n\n /**\n * Fires up a confirmation dialog\n *\n * @param {Object} options Options Hash\n * @param {String} options.title The title\n * @param {String} options.subtitle The explain text\n * @param {String} options.save The text for the save button\n * @param {Function} options.ok The callback function to run when hitting \"OK\"\n * @param {String} options.cancel The text for the cancel button\n * @param {Function} options.cancelFn The callback function to run when hitting \"Cancel\"\n * @param {Boolean} options.noCancelButton Don't render the cancel button (useful for alert dialogs)\n *\n * @private\n *\n * @return {Okta.View} the dialog view\n */\n _confirm: function (options) {\n options || (options = {});\n const Dialog = __WEBPACK_IMPORTED_MODULE_5_ConfirmationDialog___default.a.extend(\n __WEBPACK_IMPORTED_MODULE_2__underscore_wrapper__[\"default\"].pick(options, 'title', 'subtitle', 'save', 'ok', 'cancel', 'cancelFn', 'noCancelButton', 'content', 'danger', 'type', 'closeOnOverlayClick')\n );\n const dialog = new Dialog({ model: this.settings });\n // The model is here because itsa part of the BaseForm paradigm.\n // It will be ignored in the context of a confirmation dialog.\n\n dialog.render();\n return dialog; // test hook\n },\n\n /**\n * Fires up a notification banner\n *\n * @param {Object} options Options Hash\n * @return {Okta.View} the notification view\n * @private\n */\n _notify: function (options) {\n const notification = new __WEBPACK_IMPORTED_MODULE_6__views_components_Notification__[\"a\" /* default */](options);\n\n Object(__WEBPACK_IMPORTED_MODULE_1__jquery_wrapper__[\"default\"])('#content').prepend(notification.render().el);\n return notification; // test hook\n },\n\n /**\n * Renders a Controller\n * This will initialize new instance of a controller and call render on it\n *\n * @param {Okta.Controller} Controller The controller Class we which to render\n * @param {Object} [options] Extra options to the controller constructor\n */\n render: function (Controller, options) {\n this.unload();\n options = __WEBPACK_IMPORTED_MODULE_2__underscore_wrapper__[\"default\"].extend(__WEBPACK_IMPORTED_MODULE_2__underscore_wrapper__[\"default\"].pick(this, 'settings', 'el'), options || {});\n this.controller = new Controller(options);\n this.controller.render();\n },\n\n /**\n * Starts the backbone history object\n *\n * Waits for the dom to be ready before calling `Backbone.history.start()` (IE issue).\n *\n * See [Backbone History](http://backbonejs.org/#History) for more information.\n */\n start: function () {\n const args = arguments;\n\n Object(__WEBPACK_IMPORTED_MODULE_1__jquery_wrapper__[\"default\"])(function () {\n if (__WEBPACK_IMPORTED_MODULE_0_backbone___default.a.History.started) {\n __WEBPACK_IMPORTED_MODULE_3__Logger__[\"default\"].error('History has already been started');\n return;\n }\n __WEBPACK_IMPORTED_MODULE_0_backbone___default.a.history.start.apply(__WEBPACK_IMPORTED_MODULE_0_backbone___default.a.history, args);\n });\n },\n\n /**\n * Removes active controller and frees up event listeners\n */\n unload: function () {\n if (this.controller) {\n this.stopListening(this.controller);\n this.stopListening(this.controller.state);\n this.controller.remove();\n }\n },\n\n route: function (route, name, callback) {\n return __WEBPACK_IMPORTED_MODULE_0_backbone___default.a.Router.prototype.route.call(this, getRoute(this, route), name, callback);\n },\n\n navigate: function (fragment, options) {\n return __WEBPACK_IMPORTED_MODULE_0_backbone___default.a.Router.prototype.navigate.call(this, getRoute(this, fragment), options);\n }\n }\n));\n\n\n/***/ }),\n/* 20 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__underscore_wrapper__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__models_Model__ = __webpack_require__(11);\n\n\n\n/**\n * @class SettingsModel\n * @extends {Okta.Model}\n * @private\n */\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (__WEBPACK_IMPORTED_MODULE_1__models_Model__[\"default\"].extend({\n local: function () {\n const settings = (window.okta && window.okta.settings) || {};\n\n return {\n orgId: ['string', false, settings.orgId],\n orgName: ['string', false, settings.orgName],\n serverStatus: ['string', false, settings.serverStatus],\n persona: ['string', false, settings.persona],\n isDeveloperConsole: ['boolean', false, settings.isDeveloperConsole],\n isPreview: ['boolean', false, settings.isPreview],\n permissions: ['array', true, settings.permissions || []]\n };\n },\n\n extraProperties: true,\n\n constructor: function () {\n this.features = window._features || [];\n __WEBPACK_IMPORTED_MODULE_1__models_Model__[\"default\"].apply(this, arguments);\n },\n\n /**\n * Checks if the user have a feature flag enabled (Based of the org level feature flag)\n * @param {String} feature Feature name\n * @return {Boolean}\n */\n hasFeature: function (feature) {\n if (window._possibleFeatures\n && !__WEBPACK_IMPORTED_MODULE_0__underscore_wrapper__[\"default\"].contains(window._possibleFeatures, feature)\n && window.okta\n && window.okta.logHasFeatureError) {\n window.okta.logHasFeatureError(feature);\n }\n return __WEBPACK_IMPORTED_MODULE_0__underscore_wrapper__[\"default\"].contains(this.features, feature);\n },\n\n /**\n * Checks if any of the given feature flags are enabled (Based of the org level feature flags)\n * @param {Array} featureArray Features names\n * @return {Boolean} true if any of the give features are enabled. False otherwise\n */\n hasAnyFeature: function (featureArray) {\n return __WEBPACK_IMPORTED_MODULE_0__underscore_wrapper__[\"default\"].some(featureArray, this.hasFeature, this);\n },\n\n /**\n * Checks if the user have a specific permission (based on data passed from JSP)\n * @param {String} permission Permission name\n * @return {Boolean}\n */\n hasPermission: function (permission) {\n return __WEBPACK_IMPORTED_MODULE_0__underscore_wrapper__[\"default\"].contains(this.get('permissions'), permission);\n }\n}));\n\n\n/***/ }),\n/* 21 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\nvar __WEBPACK_AMD_DEFINE_RESULT__;\n\n// TODO: maybe replaced by\n// https://github.com/Calvein/empty-module\n// https://github.com/crimx/empty-module-loader\n!(__WEBPACK_AMD_DEFINE_RESULT__ = (function () {}).call(exports, __webpack_require__, exports, module),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\n/***/ }),\n/* 22 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_backbone__ = __webpack_require__(6);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_backbone___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_backbone__);\n\n\n\n\nvar CHILDREN = '__children__',\n RENDERED = '__rendered__',\n PARENT = '__parent__',\n CHILD_DEFINITIONS = '__children_definitions__',\n ADD_TO_CONTAINER = '__add_to_container__';\n\nfunction getIndex(container, view) {\n for (var i = 0; i < container[CHILDREN].length; i++) {\n if (view.cid === container[CHILDREN][i].cid) {\n return i;\n }\n }\n}\n\nfunction noop() { }\n\nfunction doRender(view) {\n view[RENDERED] = true;\n\n var html = view.renderTemplate(view.template);\n if (html) {\n view.$el.html(html);\n }\n else if (view.length) {\n view.$el.empty();\n }\n\n view.each(function (view) {\n view[ADD_TO_CONTAINER]();\n });\n}\n\nfunction subscribeEvents(view) {\n var isEventPropertyRe = /^(?!(?:delegate|undelegate|_))([a-zA-Z0-9]+)(?:Events)$/;\n __WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].each(__WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].allKeys(view), function (key) {\n var matchKeys = key.match(isEventPropertyRe);\n if (!matchKeys) {\n return;\n }\n var bindings = __WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].result(view, key),\n entity = view.options[matchKeys[1]] || view[matchKeys[1]];\n if (!entity || !__WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].isObject(bindings) || !__WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].isFunction(entity.trigger)) {\n return;\n }\n __WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].each(bindings, function (callback, event) {\n var callbacks = __WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].isFunction(callback) ? [callback] : __WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].reduce(callback.split(/\\s+/), function (arr, name) {\n if (__WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].isFunction(view[name])) {\n arr.push(view[name]);\n }\n return arr;\n }, []);\n __WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].each(callbacks, function (cb) {\n view.listenTo(entity, event, cb);\n });\n });\n });\n}\n\n/**\n * A View operates on a string template, an token based template, or a model based template, with a few added hooks.\n * It provides a collection of child views, when a child view could be a View or another View.\n * Conceptually, if we were in a file system, the View is a folder, when the concrete child views are files,\n * and the child Views are sub folders.\n *\n * *Technically, when using a View as a container, it could have its own concrete logic,\n * but conceptually we like to keep it separated so a view is either a concrete view or a collection of child views.*\n *\n * In addition to the standard backbone options, we added `settings` and `state` as first class options.\n * it will automatically assign `options` to `this.options` as an instance member.\n *\n * See [Backbone.View](http://backbonejs.org/#View).\n *\n * @class src/framework/View\n * @extends external:Backbone.View\n * @param {Object} [options] options hash\n * @example\n * var DocumentView = Archer.View.extend({\n * template: [\n * '<header></header>',\n * '<article></article>',\n * '<footer></footer>'\n * ].join(''),\n * children: [[HeaderView, 'header'], [ContentView, 'article'], [FooterView, 'footer']]\n * });\n */\nvar View = __WEBPACK_IMPORTED_MODULE_1_backbone___default.a.View.extend(/** @lends src/framework/View.prototype */ {\n\n /**\n * An object listing events and callback bind to this.{entity}\n * @name *Events\n * @memberof src/framework/View\n * @type {(Object|Function)}\n * @instance\n * @example\n * var FooView = View.extend({\n * modelEvents: {\n * 'change:name': 'render'\n * }\n * })\n * //equivalent to ==>\n * var FooView = View.extend({\n * initialize: function() {\n * this.listenTo(this.model, 'change:name', this.render);\n * }\n * });\n *\n *\n * //Multiple callbacks:\n * var FooView = View.extend({\n * modelEvents: {\n * 'change:name': 'render foo'\n * },\n * foo: function() {}\n * });\n *\n * //Callbacks As Function:\n * var FooView = View.extend({\n * stateEvents: {\n * 'change': function() {\n * }\n * });\n *\n * //Event Configuration As Function\n * var FooView = View.extend({\n * collectionEvents: function() {\n * var events = { 'change:name deleteItem': 'render' };\n * events['changeItem'] = 'spin';\n * events['addItem'] = function() {};\n * return events;\n * }\n * });\n */\n\n constructor: function (options) {\n /* eslint max-statements: [2, 17] */\n this.options = options || {};\n __WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].extend(this, __WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].pick(this.options, 'state', 'settings'));\n\n // init per-instance children collection\n this[CHILDREN] = [];\n this[RENDERED] = false;\n this[PARENT] = null;\n this[CHILD_DEFINITIONS] = this.children;\n\n // we want to make sure initialize is triggered *after* we append the views from the `this.views` array\n var initialize = this.initialize;\n this.initialize = noop;\n\n __WEBPACK_IMPORTED_MODULE_1_backbone___default.a.View.apply(this, arguments);\n\n __WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].each(__WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].result(this, CHILD_DEFINITIONS), function (childDefinition) {\n this.add.apply(this, __WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].isArray(childDefinition) ? childDefinition : [childDefinition]);\n }, this);\n delete this[CHILD_DEFINITIONS];\n\n if (this.autoRender && this.model) {\n var event = __WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].isArray(this.autoRender) ? __WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].map(this.autoRender, function (field) {\n return 'change:' + field;\n }).join(' ') : 'change';\n this.listenTo(this.model, event, function () {\n this.render();\n });\n }\n\n this.initialize = initialize;\n this.initialize.apply(this, arguments);\n subscribeEvents(this);\n },\n\n /**\n * Unregister view from container\n * Note: this will not remove the view from the dom\n * and will not call the `remove` method on the view\n *\n * @param {src/framework/View} view the view to unregister\n * @private\n */\n unregister: function (view) {\n\n this.stopListening(view);\n var viewIndex = getIndex(this, view);\n // viewIndex is undefined when the view is not found (may have been removed)\n // check if it is undefined to prevent unexpected thing to happen\n // array.splice(undefined, x) removes the first x element(s) from the array\n // this protects us against issues when calling `remove` on a child view multiple times\n if (__WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].isNumber(viewIndex)) {\n this[CHILDREN].splice(viewIndex, 1);\n }\n },\n\n /**\n * Should we auto render the view upon model change. Boolean or array of field names to listen to.\n * @type {Boolean|Array}\n * @deprecated Instead, please use modelEvents\n * @example\n * modelEvents: {\n * change:name: 'render'\n * }\n */\n autoRender: false,\n\n /**\n *\n * When the template is an underscore template, the render method will pass the options has to the template\n * And the associated model, if exists, when it will prefer the model over the options in case of a conflict.\n * {@link #render View.render}\n * @type {(String|Function)}\n * @example\n * var View = View.extend({\n * template: '<p class=\"name\">{{name}}</p>'\n * };\n */\n template: null,\n\n /**\n * A list of child view definitions to be passed to {@link #add this.add()}.\n * Note: these definitions will be added **before** the {@link #constructor initiliaze} method invokes.\n * @type {(Array|Function)}\n * @example\n * var Container = View.extend({\n * template: '<p class=\"content\"></p>',\n * children: [\n * [ContentView, '.content'],\n * [OtherContentView, '.content'],\n * OtherView\n * ]\n * })\n *\n * var Container = View.extend({\n * template: '<dov class=\"form-wrap\"></div>',\n * children: function () {\n * return [\n * [FormView, '.form-wrap', {options: {model: this.optiosn.otherModel}}]\n * ]\n * }\n * })\n */\n children: [],\n\n /**\n * Add a child view to the container.\n * If the container is already rendered, will also render the view and append it to the DOM.\n * Otherwise will render and append once the container is rendered.\n *\n * *We believe that for the sake of encapsulation, a view should control its own chilren, so we treat this method as\n * protected and even though technically you can call `view.add` externally we strongly discourage it.*\n *\n * @param {(src/framework/View|String)} view A class (or an instance which is discouraged) of a View - or an HTML\n * string/template\n * @param {String} [selector] selector in the view's template on which the view will be added to\n * @param {Object} [options]\n * @param {Boolean} [options.bubble=false] Bubble (proxy) events from this view up the chain\n * @param {Boolean} [options.prepend=false] Prepend the view instend of appending\n * @param {String} [options.selector] Selector in the view's template on which the view will be added to\n * @param {Object} [options.options] Extra options to pass to the child constructor\n * @protected\n * @returns {src/framework/View} - The instance of itself for the sake of chaining\n * @example\n * var Container = View.extend({\n *\n * template: [\n * '<h1></h1>',\n * '<section></section>',\n * ].join(''),\n *\n * initalize: function () {\n *\n * this.add(TitleView, 'h1'); // will be added to <h1>\n *\n * this.add(ContentView1, 'section'); // will be added to <section>\n *\n * this.add(ContentView2, 'section', {prepend: true}); // will be add into <section> **before** ContentView1\n *\n * this.add(OtherView, {\n * options: {\n * model: new Model()\n * }\n * }); // will be added **after** the <section> element\n *\n * this.add('<p class=\"name\">some html</p>'); //=> \"<p class=\"name\">some html</p>\"\n * this.add('<p class=\"name\">{{name}}</p>'); //=> \"<p class=\"name\">John Doe</p>\"\n * this.add('{{name}}') //=> \"<div>John Doe</div>\"\n * this.add('<span>{{name}}</span> w00t') //=> \"<div><span>John Doe</span> w00t</div>\"\n * }\n *\n * });\n *\n * var container - new View({name: 'John Doe'});\n */\n add: function (view, selector, bubble, prepend, extraOptions) {\n /* eslint max-statements: [2, 28], complexity: [2, 9] */\n\n var options = {},\n args = __WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].toArray(arguments);\n\n if (__WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].isObject(selector)) {\n options = selector;\n selector = options.selector;\n bubble = options.bubble;\n prepend = options.prepend;\n extraOptions = options.options;\n }\n else if (__WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].isObject(bubble)) {\n options = bubble;\n bubble = options.bubble;\n prepend = options.prepend;\n extraOptions = options.options;\n }\n\n if (__WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].isString(view)) {\n view = (function (template) {\n return View.extend({\n constructor: function () {\n try {\n var $el = __WEBPACK_IMPORTED_MODULE_1_backbone___default.a.$(template);\n\n if ($el.length != 1) { throw 'invalid Element'; }\n\n var unescapingRexExp = /&(\\w+|#x\\d+);/g;\n var elementUnescapedOuterHTMLLength = $el.prop('outerHTML').replace(unescapingRexExp, ' ').length;\n var templateUnescapedLength = template.replace(unescapingRexExp, ' ').length;\n\n if (elementUnescapedOuterHTMLLength !== templateUnescapedLength) { throw 'invalid Element'; }\n\n this.template = $el.html();\n this.el = $el.empty()[0];\n }\n catch (e) { // not a valid html tag.\n this.template = template;\n }\n View.apply(this, arguments);\n }\n });\n }(view));\n }\n\n if (view.prototype && view.prototype instanceof View) {\n /* eslint new-cap: 0 */\n var viewOptions = __WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].omit(__WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].extend({}, this.options, extraOptions), 'el');\n args[0] = new view(viewOptions);\n return this.add.apply(this, args);\n }\n\n // prevent dups\n if (__WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].isNumber(getIndex(this, view))) {\n throw new Error('Duplicate child');\n }\n\n view[PARENT] = this;\n\n // make the view responsible for adding itself to the parent:\n // * register the selector in the closure\n // * register a reference the parent in the closure\n view[ADD_TO_CONTAINER] = (function (selector) {\n return function () {\n if (selector && view[PARENT].$(selector).length != 1) {\n throw new Error('Invalid selector: ' + selector);\n }\n var $el = selector ? this[PARENT].$(selector) : this[PARENT].$el;\n this.render();\n // we need to delegate events in case\n // the view was added and removed before\n this.delegateEvents();\n\n // this[PARENT].at(index).$el.before(this.el);\n prepend ? $el.prepend(this.el) : $el.append(this.el);\n };\n }).call(view, selector);\n\n // if flag to bubble events is set\n // proxy all child view events\n if (bubble) {\n this.listenTo(view, 'all', function () {\n this.trigger.apply(this, arguments);\n });\n }\n\n // add to the dom if `render` has been called\n if (this.rendered()) {\n view[ADD_TO_CONTAINER]();\n }\n\n // add view to child views collection\n this[CHILDREN].push(view);\n\n return this;\n\n },\n\n /**\n * Remove all children from container\n */\n removeChildren: function () {\n this.each(function (view) {\n view.remove();\n });\n return this;\n },\n\n /**\n * Removes a view from the DOM, and calls stopListening to remove any bound events that the view has listenTo'd.\n * Also removes all childern of the view if any, and removes itself from its parent view(s)\n */\n remove: function () {\n this.removeChildren();\n if (this[PARENT]) {\n this[PARENT].unregister(this);\n }\n return __WEBPACK_IMPORTED_MODULE_1_backbone___default.a.View.prototype.remove.apply(this, arguments);\n },\n\n /**\n * Compile the template to function you can apply tokens on on render time.\n * Uses the underscore tempalting engine by default\n * @protected\n * @param {String} template\n * @return {Function} a compiled template\n */\n compileTemplate: function (template) {\n /* eslint @okta/okta/no-specific-methods: 0*/\n return __WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].template(template);\n },\n\n /**\n * Render a template with `this.model` and `this.options` as parameters\n * preferring the model over the options.\n *\n * @param {(String|Function)} template The template to build\n * @return {String} An HTML string\n * @protected\n */\n renderTemplate: function (template) {\n if (__WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].isString(template)) {\n template = this.compileTemplate(template);\n }\n if (__WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].isFunction(template)) {\n return template(this.getTemplateData());\n }\n },\n\n /**\n * The data hash passed to the compiled template\n * @return {Object}\n * @protected\n */\n getTemplateData: function () {\n var modelData = this.model && this.model.toJSON({ verbose: true }) || {};\n var options = __WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].omit(this.options, ['state', 'settings', 'model', 'collection']);\n return __WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].defaults({}, modelData, options);\n },\n\n /**\n * Renders the template to `$el` and append all children in order\n * {@link #template View.template}\n */\n render: function () {\n this.preRender();\n doRender(this);\n this.postRender();\n return this;\n },\n\n /**\n * Pre render routine. Will be called right *before* the logic in {@link #render} is executed\n * @method\n */\n preRender: noop,\n\n /**\n * Post render routine. Will be called right *after* the logic in {@link #render} is executed\n * @method\n */\n postRender: noop,\n\n /**\n * Was this instance rendered\n */\n rendered: function () {\n return this[RENDERED];\n },\n\n /**\n * Get all direct child views.\n * @returns {src/framework/View[]}\n * @example\n * var container = View.extend({\n * children: [View1, View2]\n * }).render();\n * container.getChildren() //=> [view1, view2];\n */\n getChildren: function () {\n return this.toArray();\n },\n\n /**\n * Get a child by index\n * @param {number} index\n * @returns {src/framework/View} The child view\n */\n at: function (index) {\n return this.getChildren()[index];\n },\n\n /**\n * Invokes a method on all children down the tree\n *\n * @param {String} method The method to invoke\n */\n invoke: function (methodName) {\n var args = __WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].toArray(arguments);\n this.each(function (child) {\n // if child has children, bubble down the tree\n if (child.size()) {\n child.invoke.apply(child, args);\n }\n // run the function on the child\n if (__WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].isFunction(child[methodName])) {\n child[methodName].apply(child, args.slice(1));\n }\n });\n return this;\n }\n});\n\n// Code borrowed from Backbone.js source\n// Underscore methods that we want to implement on the Container.\nvar methods = ['each', 'map', 'reduce', 'reduceRight', 'find', 'filter', 'reject', 'every',\n 'some', 'contains', 'toArray', 'size', 'first', 'initial', 'rest', 'last', 'without',\n 'indexOf', 'shuffle', 'lastIndexOf', 'isEmpty', 'chain', 'where', 'findWhere'];\n\n__WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].each(methods, function (method) {\n View.prototype[method] = function () {\n var args = __WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].toArray(arguments);\n args.unshift(__WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].toArray(this[CHILDREN]));\n return __WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"][method].apply(__WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"], args);\n };\n}, this);\n\n/**\n * See [_.each](http://underscorejs.org/#each)\n * @name each\n * @memberof src/framework/View\n * @method\n * @instance\n * @param {Function} iterator\n * @param {Object} [context]\n */\n/**\n * See [_.map](http://underscorejs.org/#map)\n * @name map\n * @memberof src/framework/View\n * @method\n * @instance\n * @param {Function} iterator\n * @param {Object} [context]\n */\n/**\n * See [_.reduce](http://underscorejs.org/#reduce)\n * @name reduce\n * @memberof src/framework/View\n * @method\n * @instance\n * @param {Function} iterator\n * @param {Mixed} memo\n * @param {Object} [context]\n */\n\n/**\n * See [_.reduceRight](http://underscorejs.org/#reduceRight)\n * @name reduceRight\n * @memberof src/framework/View\n * @method\n * @instance\n * @param {Function} iterator\n * @param {Mixed} memo\n * @param {Object} [context]\n */\n/**\n * See [_.find](http://underscorejs.org/#find)\n * @name find\n * @memberof src/framework/View\n * @method\n * @instance\n * @param {Function} predicate\n * @param {Object} [context]\n */\n/**\n * See [_.filter](http://underscorejs.org/#filter)\n * @name filter\n * @memberof src/framework/View\n * @method\n * @instance\n * @param {Function} predicate\n * @param {Object} [context]\n */\n/**\n * See [_.reject](http://underscorejs.org/#reject)\n * @name reject\n * @memberof src/framework/View\n * @method\n * @instance\n * @param {Function} predicate\n * @param {Object} [context]\n */\n/**\n * See [_.every](http://underscorejs.org/#every)\n * @name every\n * @memberof src/framework/View\n * @method\n * @instance\n * @param {Function} [predicate]\n * @param {Object} [context]\n */\n/**\n * See [_.some](http://underscorejs.org/#some)\n * @name some\n * @memberof src/framework/View\n * @method\n * @instance\n * @param {Function} [predicate]\n * @param {Object} [context]\n */\n/**\n * See [_.contains](http://underscorejs.org/#contains)\n * @name contains\n * @memberof src/framework/View\n * @method\n * @instance\n * @param {Mixed} value\n */\n/**\n * See [_.toArray](http://underscorejs.org/#toArray)\n * @name toArray\n * @memberof src/framework/View\n * @method\n * @instance\n */\n/**\n * See [_.size](http://underscorejs.org/#size)\n * @name size\n * @memberof src/framework/View\n * @method\n * @instance\n */\n/**\n * See [_.first](http://underscorejs.org/#first)\n * @name first\n * @memberof src/framework/View\n * @method\n * @instance\n * @param {Number} [n]\n */\n/**\n * See [_.initial](http://underscorejs.org/#initial)\n * @name initial\n * @memberof src/framework/View\n * @method\n * @instance\n * @param {Number} [n]\n */\n/**\n * See [_.last](http://underscorejs.org/#last)\n * @name last\n * @memberof src/framework/View\n * @method\n * @instance\n * @param {Number} [n]\n */\n/**\n * See [_.rest](http://underscorejs.org/#rest)\n * @name rest\n * @memberof src/framework/View\n * @method\n * @instance\n * @param {Number} [index]\n */\n/**\n * See [_.without](http://underscorejs.org/#without)\n * @name without\n * @memberof src/framework/View\n * @method\n * @instance\n */\n/**\n * See [_.indexOf](http://underscorejs.org/#indexOf)\n * @name indexOf\n * @memberof src/framework/View\n * @method\n * @instance\n * @param {Mixed} value\n * @param {Boolean} [isSorted]\n */\n/**\n * See [_.shuffle](http://underscorejs.org/#shuffle)\n * @name shuffle\n * @memberof src/framework/View\n * @method\n * @instance\n */\n/**\n * See [_.shuffle](http://underscorejs.org/#lastIndexOf)\n * @name lastIndexOf\n * @memberof src/framework/View\n * @method\n * @instance\n * @param {Mixed} value\n * @param {Number} [fromIndex]\n */\n/**\n * See [_.isEmpty](http://underscorejs.org/#isEmpty)\n * @name isEmpty\n * @memberof src/framework/View\n * @method\n * @instance\n */\n/**\n * See [_.chain](http://underscorejs.org/#chain)\n * @name chain\n * @memberof src/framework/View\n * @method\n * @instance\n */\n/**\n * See [_.where](http://underscorejs.org/#where)\n * @name where\n * @memberof src/framework/View\n * @method\n * @instance\n * @param {Object} properties\n */\n/**\n * See [_.findWhere](http://underscorejs.org/#findWhere)\n * @name findWhere\n * @memberof src/framework/View\n * @method\n * @instance\n * @param {Object} properties\n */\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (View);\n\n\n/***/ }),\n/* 23 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\nObject.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__underscore_wrapper__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__views_components_BaseButtonLink__ = __webpack_require__(43);\n/* eslint '@okta/okta-ui/no-deprecated-methods': [0, [{ name: 'BaseButtonLink.extend', use: 'Okta.createButton'}, ]] */\n\n\n\n/**\n * A factory method wrapper for {@link BaseButtonLink} creation\n * @class module:Okta.internal.util.ButtonFactory\n */\n\nfunction normalizeEvents(options) {\n const events = __WEBPACK_IMPORTED_MODULE_0__underscore_wrapper__[\"default\"].extend(options.click ? { click: options.click } : {}, options.events || {});\n\n const target = {};\n\n __WEBPACK_IMPORTED_MODULE_0__underscore_wrapper__[\"default\"].each(events, function (fn, eventName) {\n target[eventName] = function (e) {\n if (!options.href) {\n e.preventDefault();\n e.stopPropagation();\n }\n fn.apply(this, arguments);\n };\n });\n return target;\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n /**\n * Creates a {@link module:Okta.internal.views.components.BaseButtonLink|BaseButtonLink}.\n * @param {Object} options Options hash\n * @param {String} [options.title] The button text\n * @param {String} [options.icon]\n * CSS class for the icon to display. See [Style guide](http://rain.okta1.com:1802/su/dev/style-guide#icons)\n * @param {String} [options.href] The button link\n * @param {Function} [options.click] On click callback\n * @param {Object} [options.events] a [Backbone events](http://backbonejs.org/#View-delegateEvents) hash\n * @returns {module:Okta.internal.views.components.BaseButtonLink} BaseButtonLink prototype (\"class\")\n */\n create: function (options) {\n options = __WEBPACK_IMPORTED_MODULE_0__underscore_wrapper__[\"default\"].clone(options);\n options.attrs = options.attributes;\n delete options.attributes;\n\n return __WEBPACK_IMPORTED_MODULE_1__views_components_BaseButtonLink__[\"a\" /* default */].extend(\n __WEBPACK_IMPORTED_MODULE_0__underscore_wrapper__[\"default\"].extend(options, {\n events: normalizeEvents(options)\n })\n );\n }\n});\n\n\n/***/ }),\n/* 24 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__underscore_wrapper__ = __webpack_require__(0);\n\n\nfunction changeEventString(doWhen) {\n return 'change:' + __WEBPACK_IMPORTED_MODULE_0__underscore_wrapper__[\"default\"].keys(doWhen).join(' change:');\n}\n\nfunction calcDoWhen(value, key) {\n const modelValue = this.model.get(key);\n\n if (__WEBPACK_IMPORTED_MODULE_0__underscore_wrapper__[\"default\"].isFunction(value)) {\n return value.call(this, modelValue);\n } else {\n return value === modelValue;\n }\n}\n\nfunction _doWhen(view, doWhen, fn) {\n const toggle = __WEBPACK_IMPORTED_MODULE_0__underscore_wrapper__[\"default\"].bind(fn, view, view, doWhen);\n\n view.render = __WEBPACK_IMPORTED_MODULE_0__underscore_wrapper__[\"default\"].wrap(view.render, function (render) {\n const val = render.call(view);\n\n toggle({ animate: false });\n return val;\n });\n\n view.listenTo(view.model, changeEventString(doWhen), function () {\n toggle({ animate: true });\n });\n}\n\n/* harmony default export */ __webpack_exports__[\"a\"] = ({\n applyDoWhen: function (view, doWhen, fn) {\n if (!(view.model && __WEBPACK_IMPORTED_MODULE_0__underscore_wrapper__[\"default\"].isObject(doWhen) && __WEBPACK_IMPORTED_MODULE_0__underscore_wrapper__[\"default\"].size(doWhen) && __WEBPACK_IMPORTED_MODULE_0__underscore_wrapper__[\"default\"].isFunction(fn))) {\n return;\n }\n _doWhen(view, doWhen, function (view, doWhen, options) {\n const result = __WEBPACK_IMPORTED_MODULE_0__underscore_wrapper__[\"default\"].every(__WEBPACK_IMPORTED_MODULE_0__underscore_wrapper__[\"default\"].map(doWhen, calcDoWhen, view));\n\n fn.call(view, result, options);\n });\n }\n});\n\n\n/***/ }),\n/* 25 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\nObject.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__BaseView__ = __webpack_require__(1);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__helpers_FormUtil__ = __webpack_require__(9);\n\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (__WEBPACK_IMPORTED_MODULE_1__BaseView__[\"default\"].extend({\n className: 'o-form-button-bar',\n\n initialize: function (options) {\n this.addButton({\n type: 'save',\n text: __WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].resultCtx(options, 'save', this),\n id: __WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].resultCtx(options, 'saveId', this),\n className: __WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].resultCtx(options, 'saveClassName', this)\n });\n\n if (!options.noCancelButton) {\n this.addButton({ type: 'cancel', text: __WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].resultCtx(options, 'cancel', this) });\n }\n\n if (options.hasPrevStep) {\n this.addButton({ type: 'previous' }, { prepend: true });\n }\n },\n\n /**\n * Adds a buttomn to the toolbar\n * @param {Object} params button parameters\n * @param {Object} options {@link Okta.View#add} options\n */\n addButton: function (params, options) {\n return this.add(__WEBPACK_IMPORTED_MODULE_2__helpers_FormUtil__[\"default\"].createButton(params), options);\n }\n}));\n\n\n/***/ }),\n/* 26 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\nObject.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__ = __webpack_require__(0);\n\nconst registry = {};\n\nfunction isBaseInput(input) {\n if (__WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].isFunction(input)) {\n return __WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].isFunction(input.prototype.editMode) && __WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].isFunction(input.prototype.readMode);\n } else {\n return __WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].isObject(input) && __WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].isFunction(input.editMode) && __WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].isFunction(input.readMode);\n }\n}\n\n/**\n * @class module:Okta.internal.views.forms.helpers.InputRegistry\n */\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n isBaseInput: isBaseInput,\n\n /**\n * Register a form input\n * @param {String} type string identifier for the input\n * @param {BaseInput} input the input to register\n */\n register: function (type, input) {\n registry[type] = input;\n },\n\n /**\n * Get a form input by type\n * @param {Object} options input definition\n * @param {String} options.type string identifier for the input\n * @return {BaseInput} a matching input\n */\n get: function (options) {\n const input = registry[options.type];\n\n return input && (isBaseInput(input) ? input : input(options));\n },\n\n /**\n * Unregister an input type\n * @param {String} type\n */\n unregister: function (type) {\n delete registry[type];\n }\n});\n\n\n/***/ }),\n/* 27 */\n/***/ (function(module, exports) {\n\nmodule.exports = require(\"qtip\");\n\n/***/ }),\n/* 28 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\nObject.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__util_jquery_wrapper__ = __webpack_require__(2);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__util_underscore_wrapper__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__util_Keys__ = __webpack_require__(8);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__util_TemplateUtil__ = __webpack_require__(4);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4_vendor_plugins_chosen_jquery__ = __webpack_require__(67);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4_vendor_plugins_chosen_jquery___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_4_vendor_plugins_chosen_jquery__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__BaseInput__ = __webpack_require__(10);\n\n\n\n\n\n\nconst template = __WEBPACK_IMPORTED_MODULE_3__util_TemplateUtil__[\"default\"].tpl('<select id=\"{{inputId}}\" name=\"{{name}}\"></select>');\nconst option = __WEBPACK_IMPORTED_MODULE_3__util_TemplateUtil__[\"default\"].tpl('<option value=\"{{key}}\">{{value}}</option>');\nconst CHOSEN_WINDOW_MARGIN = 20;\n\n// Chosen has known problems when it's at the bottom of a container that has\n// overflow:hidden set. Because it attaches to the parent container, its\n// dropdown will be cut off in the UI. Any modal with a chosen select element\n// at the bottom will manifest this behavior.\n//\n// The fix (aside from replacing Chosen) is to change Chosen's behavior -\n// use the existing styles, but attach it to 'body' and position it correctly\n// so that it is not affected by a parent overflow.\n//\n// More details can be found in OKTA-46489, OKTA-83570\n\nconst CHOSEN_MAX_HEIGHT = 240;\nconst CHOSEN_Z_INDEX = 50000;\n\nfunction defer(fn) {\n if (this.params.autoWidth) {\n return fn.call(this);\n } else {\n return __WEBPACK_IMPORTED_MODULE_1__util_underscore_wrapper__[\"default\"].defer(__WEBPACK_IMPORTED_MODULE_1__util_underscore_wrapper__[\"default\"].bind(fn, this));\n }\n}\n\nfunction findSelectWidth(self) {\n self.$select.hide();\n const select = Object(__WEBPACK_IMPORTED_MODULE_0__util_jquery_wrapper__[\"default\"])(self.$select[0]).hide();\n\n Object(__WEBPACK_IMPORTED_MODULE_0__util_jquery_wrapper__[\"default\"])('body').append(select);\n const width = (self.params.width = select.width() * 1.2 + 'px');\n\n self.$el.append(select.show());\n return width;\n}\n\nfunction recalculateChosen($chosen, $results, $clone) {\n const offset = $clone.offset();\n\n $chosen.css({\n left: offset.left,\n top: offset.top\n });\n // Update the max-height to fit within the constraints of the window. This\n // is especially important for modals because page scrolling is disabled.\n const $win = Object(__WEBPACK_IMPORTED_MODULE_0__util_jquery_wrapper__[\"default\"])(window);\n const rHeight = $results.outerHeight();\n const rBottom = rHeight + $results.offset().top - $win.scrollTop();\n const wHeight = $win.height() - CHOSEN_WINDOW_MARGIN;\n const maxHeight = Math.min(rHeight + wHeight - rBottom, CHOSEN_MAX_HEIGHT);\n\n $results.css('max-height', maxHeight);\n}\n\nfunction fixChosenModal($select) {\n const $chosen = $select.next('.chzn-container');\n const $clone = $chosen.clone();\n const $results = $chosen.find('.chzn-results');\n\n // Use a hidden clone to maintain layout and calculate offset. This is\n // necessary for more complex layouts (like adding a group rule) where\n // the chosen element is floated.\n $clone.css('visibility', 'hidden');\n $clone.removeAttr('id');\n $clone.find('li').removeAttr('id');\n\n // Save the original styles - we'll revert to them when the select closes\n const baseStyles = {\n left: $chosen.css('left'),\n top: $chosen.css('top'),\n position: $chosen.css('position'),\n float: $chosen.css('float'),\n 'z-index': $chosen.css('z-index')\n };\n\n $results.hide();\n\n // Handler for any resize events that happen when the results list is open\n\n const resizeHandler = __WEBPACK_IMPORTED_MODULE_1__util_underscore_wrapper__[\"default\"].debounce(function () {\n recalculateChosen($chosen, $results, $clone);\n }, 10);\n\n // When the dropdown opens, attach it to body, with the correct absolute\n // position coordinates\n $select.off('.fixChosen'); // Remove events we could have added before\n $select.on('liszt:showing_dropdown.fixChosen', function () {\n $chosen.width($chosen.width());\n $select.after($clone);\n // .chzn-container can trigger the vertical scrollbar if it causes scrollHeight > window height after append to\n // the body. Force top -999999 to avoid the scrollbar so $chosen can find the right offset for relocation.\n $chosen.css({\n position: 'absolute',\n float: 'none',\n 'z-index': CHOSEN_Z_INDEX,\n top: -999999\n });\n Object(__WEBPACK_IMPORTED_MODULE_0__util_jquery_wrapper__[\"default\"])('body').append($chosen);\n $results.show();\n recalculateChosen($chosen, $results, $clone);\n // Capture scroll events:\n // - for forms that use fixed positioning (like editing attributes in\n // Profile Editor) - window scroll\n // - for forms that are too long for the modal - o-form-content scroll\n $select.parents().scroll(resizeHandler);\n Object(__WEBPACK_IMPORTED_MODULE_0__util_jquery_wrapper__[\"default\"])(window).on('resize scroll', resizeHandler);\n });\n\n // When the dropdown closes or the element is removed, revert to the\n // original styles and reattach it to its original placement in the dom.\n $select.on('liszt:hiding_dropdown.fixChosen remove.fixChosen', function () {\n $select.parents().off('scroll', resizeHandler);\n Object(__WEBPACK_IMPORTED_MODULE_0__util_jquery_wrapper__[\"default\"])(window).off('resize scroll', resizeHandler);\n $chosen.css(baseStyles);\n $results.hide();\n $results.css('max-height', CHOSEN_MAX_HEIGHT);\n $clone.remove();\n $select.after($chosen);\n });\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (__WEBPACK_IMPORTED_MODULE_5__BaseInput__[\"a\" /* default */].extend({\n className: 'o-form-select',\n\n /**\n * @Override\n */\n events: {\n 'change select': 'update',\n 'keyup .chzn-search > :text': function (e) {\n if (__WEBPACK_IMPORTED_MODULE_2__util_Keys__[\"default\"].isEsc(e)) {\n this.$('.chzn-search > :text').val('');\n e.stopPropagation();\n }\n }\n },\n\n constructor: function () {\n this.template = template;\n this.option = option;\n __WEBPACK_IMPORTED_MODULE_5__BaseInput__[\"a\" /* default */].apply(this, arguments);\n this.params = this.options.params || {};\n },\n\n /**\n * @Override\n */\n editMode: function () {\n /* eslint max-statements: [2, 13] */\n\n this.$el.html(template(this.options));\n this.$select = this.$('select');\n\n const options = this.getOptions();\n\n __WEBPACK_IMPORTED_MODULE_1__util_underscore_wrapper__[\"default\"].each(\n options,\n function (value, key) {\n this.$select.append(option({ key: key, value: value }));\n },\n this\n );\n\n // Fix a regression in jQuery 1.x on Firefox\n // jQuery.val(value) prepends an empty option to the dropdown\n // if value doesnt exist in the dropdown.\n // http://bugs.jquery.com/ticket/13514\n const value = this.getModelValue();\n\n if (value) {\n this.$select.val(value);\n } else {\n this.$('option:first-child').prop('selected', true);\n }\n this.$el.addClass('o-form-control');\n\n if (this.params.chosen !== false) {\n this.__applyChosen();\n }\n return this;\n },\n\n __applyChosen: function (update) {\n let width = this.options.wide ? '100%' : this.params.width || '62%';\n\n if (this.params.autoWidth) {\n width = findSelectWidth(this);\n }\n\n defer.call(this, function () {\n const searchThreshold = this.getParam('searchThreshold', 10);\n\n if (!__WEBPACK_IMPORTED_MODULE_1__util_underscore_wrapper__[\"default\"].result(this.options, 'autoRender') && update !== false) {\n this.update();\n }\n this.$select.chosen({\n width: width,\n disable_search_threshold: searchThreshold, //eslint-disable-line camelcase\n placeholder_text: this.options['placeholder'], //eslint-disable-line camelcase\n search_contains: true //eslint-disable-line camelcase\n });\n fixChosenModal(this.$select);\n\n if (this.params.autoWidth) {\n // fix a chosen css bug\n this.$el.width(0);\n }\n\n this.model.trigger('form:resize');\n });\n },\n\n /**\n * @Override\n */\n val: function () {\n return this.$select && this.$select.val();\n },\n\n /**\n * @Override\n */\n focus: function () {\n if (this.$select) {\n return this.$select.focus();\n }\n },\n\n /**\n * @Override\n */\n toStringValue: function () {\n const selectedOption = this.getModelValue();\n let displayString = selectedOption;\n const options = this.getOptions();\n\n if (!__WEBPACK_IMPORTED_MODULE_1__util_underscore_wrapper__[\"default\"].isEmpty(options)) {\n displayString = options[selectedOption];\n }\n if (__WEBPACK_IMPORTED_MODULE_1__util_underscore_wrapper__[\"default\"].isUndefined(displayString)) {\n displayString = this.defaultValue();\n }\n return displayString || '';\n },\n\n /**\n * Convert options to an object\n * support input options that is a\n * 1. a static object such as {key1: val1, key2: val2...}\n * 2. a function to be called to return a static object\n * will return an object with key-value pairs or with empty content\n * @return {Object} The value\n */\n getOptions: function () {\n let options = this.options.options;\n\n if (__WEBPACK_IMPORTED_MODULE_1__util_underscore_wrapper__[\"default\"].isFunction(options)) {\n options = options.call(this);\n }\n\n return __WEBPACK_IMPORTED_MODULE_1__util_underscore_wrapper__[\"default\"].isObject(options) ? options : {};\n },\n\n remove: function () {\n if (this.$select) {\n this.$select.trigger('remove');\n }\n return __WEBPACK_IMPORTED_MODULE_5__BaseInput__[\"a\" /* default */].prototype.remove.apply(this, arguments);\n }\n}));\n\n\n/***/ }),\n/* 29 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\nObject.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__util_Time__ = __webpack_require__(30);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__BaseView__ = __webpack_require__(1);\n\n\n\n\nfunction getOption(callout, option) {\n return __WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].resultCtx(callout.options, option, callout) || __WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].result(callout, option);\n}\n\nfunction getTopClass(callout) {\n let klass = 'infobox clearfix infobox-' + getOption(callout, 'type');\n\n switch (getOption(callout, 'size')) {\n case 'standard':\n klass += '';\n break;\n case 'slim':\n klass += ' infobox-slim';\n break;\n case 'compact':\n klass += ' infobox-compact';\n break;\n case 'large':\n klass += ' infobox-md';\n break;\n }\n if (getOption(callout, 'dismissible')) {\n klass += ' infobox-dismiss';\n }\n return klass;\n}\n\nconst events = {\n 'click .infobox-dismiss-link': function (e) {\n e.preventDefault();\n this.$el.fadeOut(__WEBPACK_IMPORTED_MODULE_1__util_Time__[\"a\" /* default */].UNLOADING_FADE, () => {\n this.trigger('dismissed');\n this.remove();\n });\n }\n};\nconst template =\n '\\\n {{#if dismissible}}\\\n <a data-se=\"dismiss-link\" class=\"infobox-dismiss-link\" title=\"Dismiss\" href=\"#\">\\\n <span data-se=\"icon\" class=\"dismiss-icon\"></span>\\\n </a>\\\n {{/if}}\\\n <span data-se=\"icon\" class=\"icon {{icon}}\"></span>\\\n {{#if title}}<h3 data-se=\"header\">{{title}}</h3>{{/if}}\\\n {{#if subtitle}}<p data-se=\"sub-header\">{{subtitle}}</p>{{/if}}\\\n {{#if bullets}}\\\n <ul data-se=\"list\" class=\"bullets\">\\\n {{#each bullets}}<li data-se=\"list-item\">{{this}}</li>{{/each}}\\\n </ul>\\\n {{/if}}\\\n ';\nconst CalloutCallout = __WEBPACK_IMPORTED_MODULE_2__BaseView__[\"default\"].extend(\n /** @lends src/views/components/Callout.prototype */ {\n attributes: {\n 'data-se': 'callout'\n },\n\n /**\n * Custom HTML or view to inject to the callout\n * @type {String|Okta.View}\n */\n content: null,\n\n /**\n * Size of icon. options are standard, large, compact\n * @type {String}\n */\n size: 'standard',\n\n /**\n * Type of the callout. Valid values are: info, success, warning, error, tip\n * @type {String}\n */\n type: 'info',\n\n /**\n * Can the callout be dismissed\n * @type {Boolean}\n */\n dismissible: false,\n\n /**\n * Callout title\n * @type {String}\n */\n title: null,\n\n /**\n * Callout subtitle\n * @type {String}\n */\n subtitle: null,\n\n /**\n * Array of strings to render as bullet points\n * @type {Array}\n */\n bullets: null,\n\n /**\n * Fired after the callout is dismised - applies when\n * {@link module:Okta.internal.views.components.Callout|dismissible} is set to true\n * @event src/views/components/Callout#dismissed\n */\n\n constructor: function () {\n this.events = __WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].defaults(this.events || {}, events);\n\n __WEBPACK_IMPORTED_MODULE_2__BaseView__[\"default\"].apply(this, arguments);\n\n this.$el.addClass(getTopClass(this));\n\n this.template = template;\n\n const content = getOption(this, 'content');\n\n if (content) {\n this.add(content);\n }\n },\n\n getTemplateData: function () {\n let icon = getOption(this, 'type');\n\n const size = getOption(this, 'size');\n if (icon === 'tip') {\n // css is inconsistent\n icon = 'light-bulb';\n }\n switch (size) {\n case 'slim':\n icon = '';\n break;\n case 'large':\n icon = [icon, '-', '24'].join('');\n break;\n default:\n icon = [icon, '-', '16'].join('');\n }\n return {\n icon,\n title: getOption(this, 'title'),\n subtitle: getOption(this, 'subtitle'),\n bullets: getOption(this, 'bullets'),\n dismissible: getOption(this, 'dismissible')\n };\n }\n }\n);\n\n/**\n * @class src/views/components/Callout\n * @extends module:Okta.View\n */\n\n/**\n * @class module:Okta.internal.views.components.Callout\n */\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n /**\n * Creates a {@link src/views/components/Callout|Callout}.\n * @static\n * @param {Object} options\n * @param {String|Function} [options.size] Size of icon. options are standard, large, compact, slim\n * @param {String|Okta.View} [options.content] Custom HTML or view to inject to the callout\n * @param {String|Function} [options.title] Callout title\n * @param {String|Function} [options.subtitle] Callout subtitle\n * @param {Array|Function} [options.bullets] Array of strings to render as bullet points\n * @param {Boolean|Function} [options.dismissible] Can the callout be dismissed\n * @param {String|Function} [options.type] Callout type. Valid values are: info, success, warning, error, tip\n *\n * @return {src/views/components/Callout}\n */\n create: function (options) {\n return new CalloutCallout(options);\n }\n});\n\n\n/***/ }),\n/* 30 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony default export */ __webpack_exports__[\"a\"] = ({\n DEBOUNCE_DELAY: 200,\n LOADING_FADE: 400,\n UNLOADING_FADE: 400,\n ROW_EXPANDER_TRANSITION: 150,\n HIDE_ADD_MAPPING_FORM: 300\n});\n\n\n/***/ }),\n/* 31 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;/**\n * There are following local modifications:\n * - Author: Uzi Kilon ukilon@okta.com\n * Bug: OKTA-20830 - solves the conflict when there are multiple labels\n */\n/**\n * --------------------------------------------------------------------\n * jQuery customInput plugin\n * Author: Maggie Costello Wachs maggie@filamentgroup.com, Scott Jehl, scott@filamentgroup.com\n * Copyright (c) 2009 Filament Group\n * licensed under MIT (filamentgroup.com/examples/mit-license.txt)\n * --------------------------------------------------------------------\n*/\n!(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(12)], __WEBPACK_AMD_DEFINE_RESULT__ = (function (jQuery) {\n var $ = jQuery;\n jQuery.fn.customInput = function(){\n return $(this).each(function(){\n if($(this).is('[type=checkbox],[type=radio]')){\n var input = $(this);\n\n // get the associated label using the input's id\n var label = input.siblings('label[for=\"'+input.attr('id')+'\"]:first');\n if (!label.length) {\n label = input.closest('label[for=\"'+input.attr('id')+'\"]:first');\n }\n // wrap the input + label in a div\n input.add(label).wrapAll('<div class=\"custom-'+ input.attr('type') +'\"></div>');\n\n // necessary for browsers that don't support the :hover pseudo class on labels\n label.hover(\n function(){ $(this).addClass('hover'); },\n function(){ $(this).removeClass('hover'); }\n );\n\n //bind custom event, trigger it, bind click,focus,blur events\n input.bind('updateState', function(){\n input.is(':checked') ? label.addClass('checked') : label.removeClass('checked checkedHover checkedFocus');\n })\n .trigger('updateState')\n .click(function(){\n $('input[name=\"'+ $(this).attr('name') +'\"]').trigger('updateState');\n })\n .focus(function(){\n label.addClass('focus');\n if(input.is(':checked')){ $(this).addClass('checkedFocus'); }\n })\n .blur(function(){ label.removeClass('focus checkedFocus'); });\n }\n });\n };\n\n}).apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\n/***/ }),\n/* 32 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\nObject.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__util_jquery_wrapper__ = __webpack_require__(2);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_qtip__ = __webpack_require__(27);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_qtip___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_qtip__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__util_Keys__ = __webpack_require__(8);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__util_TemplateUtil__ = __webpack_require__(4);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4_vendor_plugins_jquery_placeholder__ = __webpack_require__(72);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4_vendor_plugins_jquery_placeholder___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_4_vendor_plugins_jquery_placeholder__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__BaseInput__ = __webpack_require__(10);\n\n\n\n\n\n\nconst className = 'okta-form-input-field input-fix';\n\nfunction hasTitleAndText(options) {\n const title = options.title;\n const text = options.text;\n\n return title && text && title !== text;\n}\n\n// options may be a string or an object.\nfunction createQtipContent(options) {\n if (hasTitleAndText(options)) {\n return options;\n }\n return { text: options.text || options };\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (__WEBPACK_IMPORTED_MODULE_5__BaseInput__[\"a\" /* default */].extend({\n template: __WEBPACK_IMPORTED_MODULE_3__util_TemplateUtil__[\"default\"].tpl(\n '\\\n {{#if params.innerTooltip}}\\\n <span class=\"input-tooltip icon form-help-16\"></span>\\\n {{/if}}\\\n {{#if params.icon}}\\\n <span class=\"icon input-icon {{params.icon}}\"></span>\\\n {{/if}}\\\n <input type=\"{{type}}\" placeholder=\"{{placeholder}}\" name=\"{{name}}\" id=\"{{inputId}}\"\\\n value=\"{{value}}\" aria-label=\"{{placeholder}}\" autocomplete=\"off\"/>\\\n {{#if params.iconDivider}}\\\n <span class=\"input-icon-divider\"></span>\\\n {{/if}}\\\n '\n ),\n /**\n * @Override\n */\n events: {\n 'input input': 'update',\n 'change input': 'update',\n 'keydown input': 'update',\n 'keyup input': function (e) {\n if (__WEBPACK_IMPORTED_MODULE_2__util_Keys__[\"default\"].isEnter(e)) {\n this.model.trigger('form:save');\n } else if (__WEBPACK_IMPORTED_MODULE_2__util_Keys__[\"default\"].isEsc(e)) {\n this.model.trigger('form:cancel');\n }\n }\n },\n\n constructor: function () {\n __WEBPACK_IMPORTED_MODULE_5__BaseInput__[\"a\" /* default */].apply(this, arguments);\n this.$el.addClass('o-form-control');\n },\n\n /**\n * @Override\n */\n editMode: function () {\n this.$el.addClass(className);\n __WEBPACK_IMPORTED_MODULE_5__BaseInput__[\"a\" /* default */].prototype.editMode.apply(this, arguments);\n this.$('input').placeholder();\n },\n\n /**\n * @Override\n */\n readMode: function () {\n __WEBPACK_IMPORTED_MODULE_5__BaseInput__[\"a\" /* default */].prototype.readMode.apply(this, arguments);\n if (this.options.type === 'password') {\n this.$el.text('********');\n }\n this.$el.removeClass(className);\n },\n\n /**\n * @Override\n */\n val: function () {\n let inputValue = this.$('input[type=\"' + this.options.type + '\"]').val();\n //IE will only read clear text pw if type=\"password\" is explicitly in selector\n\n if (this.options.type !== 'password') {\n inputValue = __WEBPACK_IMPORTED_MODULE_0__util_jquery_wrapper__[\"default\"].trim(inputValue);\n }\n return inputValue;\n },\n\n /**\n * @Override\n */\n focus: function () {\n return this.$('input').focus();\n },\n\n postRender: function () {\n const params = this.options.params;\n let content;\n\n if (params && params.innerTooltip) {\n content = createQtipContent(params.innerTooltip);\n this.$('.input-tooltip').qtip({\n content: content,\n style: { classes: 'okta-tooltip qtip-custom qtip-shadow' },\n position: {\n my: 'bottom left',\n // Note: qTip2 has a known issue calculating the tooltip offset when:\n // 1. A container element has both:\n // a) position: relative/absolute\n // b) overlay: value other than 'visible'\n // 2. The page is scrolled\n //\n // We set position:relative and overlay:auto on the body element,\n // where both are required for:\n // - Positioning the footer correctly\n // - Displaying long pages in embedded browsers\n //\n // The original design called for a fixed position relative to the\n // tooltip icon - this has been switched to \"relative to mouse, and\n // update position when mouse moves\" because of this constraint.\n target: 'mouse',\n adjust: {\n method: 'flip',\n mouse: true,\n y: -5,\n x: 5\n },\n viewport: Object(__WEBPACK_IMPORTED_MODULE_0__util_jquery_wrapper__[\"default\"])('body')\n }\n });\n }\n }\n}));\n\n\n/***/ }),\n/* 33 */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = __webpack_require__(34);\n\n\n/***/ }),\n/* 34 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _BaseCollection = __webpack_require__(14);\n\nvar _BaseCollection2 = _interopRequireDefault(_BaseCollection);\n\nvar _BaseModel = __webpack_require__(15);\n\nvar _BaseModel2 = _interopRequireDefault(_BaseModel);\n\nvar _BaseSchema = __webpack_require__(38);\n\nvar _BaseSchema2 = _interopRequireDefault(_BaseSchema);\n\nvar _Model = __webpack_require__(11);\n\nvar _Model2 = _interopRequireDefault(_Model);\n\nvar _SchemaProperty = __webpack_require__(17);\n\nvar _SchemaProperty2 = _interopRequireDefault(_SchemaProperty);\n\nvar _BaseController = __webpack_require__(40);\n\nvar _BaseController2 = _interopRequireDefault(_BaseController);\n\nvar _BaseRouter = __webpack_require__(19);\n\nvar _BaseRouter2 = _interopRequireDefault(_BaseRouter);\n\nvar _ButtonFactory = __webpack_require__(23);\n\nvar _ButtonFactory2 = _interopRequireDefault(_ButtonFactory);\n\nvar _Class = __webpack_require__(44);\n\nvar _Class2 = _interopRequireDefault(_Class);\n\nvar _Cookie = __webpack_require__(45);\n\nvar _Cookie2 = _interopRequireDefault(_Cookie);\n\nvar _Keys = __webpack_require__(8);\n\nvar _Keys2 = _interopRequireDefault(_Keys);\n\nvar _Logger = __webpack_require__(7);\n\nvar _Logger2 = _interopRequireDefault(_Logger);\n\nvar _StringUtil = __webpack_require__(3);\n\nvar _StringUtil2 = _interopRequireDefault(_StringUtil);\n\nvar _TemplateUtil = __webpack_require__(4);\n\nvar _TemplateUtil2 = _interopRequireDefault(_TemplateUtil);\n\nvar _Util = __webpack_require__(16);\n\nvar _Util2 = _interopRequireDefault(_Util);\n\nvar _handlebarsWrapper = __webpack_require__(47);\n\nvar _handlebarsWrapper2 = _interopRequireDefault(_handlebarsWrapper);\n\nvar _jqueryWrapper = __webpack_require__(2);\n\nvar _jqueryWrapper2 = _interopRequireDefault(_jqueryWrapper);\n\nvar _underscoreWrapper = __webpack_require__(0);\n\nvar _underscoreWrapper2 = _interopRequireDefault(_underscoreWrapper);\n\nvar _Backbone = __webpack_require__(54);\n\nvar _Backbone2 = _interopRequireDefault(_Backbone);\n\nvar _BaseView = __webpack_require__(1);\n\nvar _BaseView2 = _interopRequireDefault(_BaseView);\n\nvar _BaseDropDown = __webpack_require__(56);\n\nvar _BaseDropDown2 = _interopRequireDefault(_BaseDropDown);\n\nvar _BaseForm = __webpack_require__(57);\n\nvar _BaseForm2 = _interopRequireDefault(_BaseForm);\n\nvar _Toolbar = __webpack_require__(25);\n\nvar _Toolbar2 = _interopRequireDefault(_Toolbar);\n\nvar _FormUtil = __webpack_require__(9);\n\nvar _FormUtil2 = _interopRequireDefault(_FormUtil);\n\nvar _InputRegistry = __webpack_require__(26);\n\nvar _InputRegistry2 = _interopRequireDefault(_InputRegistry);\n\nvar _SchemaFormFactory = __webpack_require__(65);\n\nvar _SchemaFormFactory2 = _interopRequireDefault(_SchemaFormFactory);\n\nvar _CheckBox = __webpack_require__(70);\n\nvar _CheckBox2 = _interopRequireDefault(_CheckBox);\n\nvar _PasswordBox = __webpack_require__(71);\n\nvar _PasswordBox2 = _interopRequireDefault(_PasswordBox);\n\nvar _Radio = __webpack_require__(73);\n\nvar _Radio2 = _interopRequireDefault(_Radio);\n\nvar _Select = __webpack_require__(28);\n\nvar _Select2 = _interopRequireDefault(_Select);\n\nvar _TextBox = __webpack_require__(32);\n\nvar _TextBox2 = _interopRequireDefault(_TextBox);\n\nvar _Callout = __webpack_require__(29);\n\nvar _Callout2 = _interopRequireDefault(_Callout);\n\nvar _backbone = __webpack_require__(6);\n\nvar _backbone2 = _interopRequireDefault(_backbone);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar Okta = {\n Backbone: _backbone2.default,\n\n $: _jqueryWrapper2.default,\n\n _: _underscoreWrapper2.default,\n\n Handlebars: _handlebarsWrapper2.default,\n\n loc: _StringUtil2.default.localize,\n\n createButton: _ButtonFactory2.default.create,\n\n createCallout: _Callout2.default.create,\n\n registerInput: _InputRegistry2.default.register,\n\n tpl: _TemplateUtil2.default.tpl,\n\n Model: _Model2.default,\n\n BaseModel: _BaseModel2.default,\n\n Collection: _BaseCollection2.default,\n\n View: _BaseView2.default,\n\n ListView: _Backbone2.default,\n\n Router: _BaseRouter2.default,\n\n Controller: _BaseController2.default,\n\n Form: _BaseForm2.default,\n\n internal: {\n util: {\n Util: _Util2.default,\n Cookie: _Cookie2.default,\n Logger: _Logger2.default,\n Class: _Class2.default,\n Keys: _Keys2.default\n },\n\n views: {\n components: {\n BaseDropDown: _BaseDropDown2.default\n },\n\n forms: {\n helpers: {\n FormUtil: _FormUtil2.default,\n SchemaFormFactory: _SchemaFormFactory2.default\n },\n\n components: {\n Toolbar: _Toolbar2.default\n },\n\n inputs: {\n TextBox: _TextBox2.default,\n PasswordBox: _PasswordBox2.default,\n CheckBox: _CheckBox2.default,\n Radio: _Radio2.default,\n Select: _Select2.default\n }\n }\n },\n\n models: {\n BaseSchema: _BaseSchema2.default,\n SchemaProperty: _SchemaProperty2.default\n }\n }\n};\n\nOkta.registerInput('text', _TextBox2.default);\nOkta.registerInput('password', _PasswordBox2.default);\nOkta.registerInput('checkbox', _CheckBox2.default);\nOkta.registerInput('radio', _Radio2.default);\nOkta.registerInput('select', _Select2.default);\n\nmodule.exports = Okta;\n\n/***/ }),\n/* 35 */\n/***/ (function(module, exports) {\n\nmodule.exports = require(\"underscore\");\n\n/***/ }),\n/* 36 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_backbone__ = __webpack_require__(6);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_backbone___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_backbone__);\n\n\n\n\nvar STATE = '__STATE__',\n FETCH_DATA = 'FETCH_DATA',\n PAGINATION_DATA = 'PAGINATION_DATA',\n DEFAULT_PARAMS = 'DEFAULT_PARAMS',\n LINK_BY_HEADER = 'LINK_BY_HEADER',\n XHR = 'XHR';\n\n/*\n * Sets the next page URL on the collection from link headers\n * See: http://www.rfc-editor.org/rfc/rfc5988.txt\n *\n * This method is looking for a link header with `rel=\"next\"`\n * An set's it as the next page's URL.\n *\n * If it doesn't find a next page, and current page is set by a link header\n * it assumes we are at the last page and deletes the current `next`\n */\nfunction setLinkHeadersPagination(collection, xhr) {\n try {\n var links = parseLinkHeader(xhr.getResponseHeader('link'));\n collection[STATE].set(LINK_BY_HEADER, true);\n collection.setPagination(links['next'].href);\n }\n catch (e) {\n if (collection[STATE].get(LINK_BY_HEADER)) {\n collection.setPagination(null);\n }\n }\n}\n\nfunction parseQuery(url) {\n var params = {},\n rawQueryStr = url && url.split('?')[1],\n queryString = rawQueryStr && decodeURIComponent(rawQueryStr.split('#')[0]).replace(/\\+/g, ' '),\n props = queryString ? queryString.split('&') : [];\n for (var i = 0; i < props.length; i++) {\n var parts = props[i].split('=');\n params[parts.shift()] = parts.join('=');\n }\n return params;\n}\n\n// ################################################\n// # Source: https://gist.github.com/deiu/9335803\n// ################################################\n\n// unquote string (utility)\nfunction unquote(value) {\n if (value.charAt(0) == '\"' && value.charAt(value.length - 1) == '\"') {\n return value.substring(1, value.length - 1);\n }\n return value;\n}\n/*\nparse a Link header\nLink:<https://example.org/.meta>; rel=meta\nvar r = parseLinkHeader(xhr.getResponseHeader('Link');\nr['meta']['href'] outputs https://example.org/.meta\n*/\nfunction parseLinkHeader(header) {\n /* eslint max-statements: 0 */\n var linkexp = /<[^>]*>\\s*(\\s*;\\s*[^()<>@,;:\"/[\\]?={} \\t]+=(([^()<>@,;:\"/[\\]?={} \\t]+)|(\"[^\"]*\")))*(,|$)/g,\n paramexp = /[^()<>@,;:\"/[\\]?={} \\t]+=(([^()<>@,;:\"/[\\]?={} \\t]+)|(\"[^\"]*\"))/g;\n\n var matches = header.match(linkexp);\n var rels = {};\n for (var i = 0; i < matches.length; i++) {\n var split = matches[i].split('>');\n var href = split[0].substring(1);\n var link = {};\n link.href = href;\n var s = split[1].match(paramexp);\n for (var j = 0; j < s.length; j++) {\n var paramsplit = s[j].split('=');\n var name = paramsplit[0];\n link[name] = unquote(paramsplit[1]);\n }\n\n if (link.rel !== undefined) {\n rels[link.rel] = link;\n }\n }\n\n return rels;\n}\n\n// ################################################\n// # /Source\n// ################################################\n//\n\n/**\n *\n * Archer.Collection is a standard [Backbone.Collection](http://backbonejs.org/#Collection) with pre-set `data`\n * parameters and built in pagination - works with [http link headers](https://tools.ietf.org/html/rfc5988)\n * out of the box:\n *\n * @class src/framework/Collection\n * @extends external:Backbone.Collection\n * @example\n * var Users = Archer.Collection.extend({\n * url: '/api/v1/users'\n * params: {expand: true}\n * });\n * var users = new Users(null, {params: {type: 'new'}}),\n * $button = this.$('a.fetch-more');\n *\n * $button.click(function () {\n * users.fetchMore();\n * });\n *\n * this.listenTo(users, 'sync', function () {\n * $button.toggle(users.hasMore());\n * });\n *\n * collection.fetch(); //=> '/api/v1/users?expand=true&type=new'\n */\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (__WEBPACK_IMPORTED_MODULE_1_backbone___default.a.Collection.extend(/** @lends src/framework/Collection.prototype */ {\n\n /**\n * Default fetch parameters\n * @type {Object}\n */\n params: {},\n\n constructor: function (models, options) {\n var state = this[STATE] = new __WEBPACK_IMPORTED_MODULE_1_backbone___default.a.Model();\n state.set(DEFAULT_PARAMS, __WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].defaults(options && options.params || {}, this.params || {}));\n __WEBPACK_IMPORTED_MODULE_1_backbone___default.a.Collection.apply(this, arguments);\n },\n\n /**\n * See [Backbone Collection.sync](http://backbonejs.org/#Collection-sync).\n */\n sync: function (method, collection, options) {\n var self = this,\n success = options.success;\n options.success = function (resp, status, xhr) {\n // its important to set the pagination data *before* we call the success callback\n // because we want the pagination data to be ready when the collection triggers the `sync` event\n setLinkHeadersPagination(self, xhr);\n success.apply(null, arguments);\n };\n return __WEBPACK_IMPORTED_MODULE_1_backbone___default.a.Collection.prototype.sync.call(this, method, collection, options);\n },\n\n /**\n * See [Backbone Collection.fetch](http://backbonejs.org/#Collection-fetch).\n */\n fetch: function (options) {\n options || (options = {});\n var state = this[STATE],\n xhr = state.get(XHR);\n\n options.data = __WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].extend({}, state.get(DEFAULT_PARAMS), options.data || {});\n options.fromFetch = true;\n\n state.set(FETCH_DATA, options.data);\n if (xhr && xhr.abort && options.abort !== false) {\n xhr.abort();\n }\n xhr = __WEBPACK_IMPORTED_MODULE_1_backbone___default.a.Collection.prototype.fetch.call(this, options);\n state.set(XHR, xhr);\n return xhr;\n },\n\n /**\n * Set pagination data to get to the next page\n * @param {Mixed} params\n * @param {Object} [options]\n * @param {Boolean} [options.fromFetch] should we include data from the previous fetch call in this object\n * @example\n * collection.setPagination({q: 'foo', page: '2'}); //=> {q: 'foo', page: '2'}\n *\n * collection.setPagination('/path/to/resource?q=baz&page=4'); //=> {q: 'baz', page: '4'}\n *\n * collection.setPagination('/path/to/resource'); //=> {}\n *\n * collection.fetch({data: {q: 'foo'}});\n * collection.setPagination({page: 2}, {fromFetch: true}); //=> {q: 'foo', page: 2}\n *\n * any \"falsy\" value resets pagination\n * collection.setPagination(); //=> {}\n * collection.setPagination(null); //=> {}\n * collection.setPagination(false); //=> {}\n * collection.setPagination(''); //=> {}\n * collection.setPagination(0); //=> {}\n * @protected\n */\n setPagination: function (params, options) {\n /* eslint complexity: [2, 8] */\n if (__WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].isString(params) && params) {\n params = parseQuery(params);\n }\n if (!__WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].isObject(params) || __WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].isArray(params) || !__WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].size(params)) {\n params = null;\n }\n else if (options && options.fromFetch) {\n params = __WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].extend({}, this.getFetchData(), params);\n }\n this[STATE].set(PAGINATION_DATA, params);\n },\n\n /**\n * Returns the `data` parameters applied in th most recent `fetch` call\n * It will include parameters set by {@link #params} and optios.params passed to the constructor\n * @return {Object}\n * @protected\n */\n getFetchData: function () {\n return this[STATE].get(FETCH_DATA) || {};\n },\n\n /**\n * Data object for constructing a request to fetch the next page\n * @return {Object}\n * @protected\n */\n getPaginationData: function () {\n return this[STATE].get(PAGINATION_DATA) || {};\n },\n\n /**\n * Does this collection have more data on the server (e.g is there a next \"page\")\n * @return {Boolean}\n */\n hasMore: function () {\n return __WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].size(this.getPaginationData()) > 0;\n },\n\n /**\n * Get the next page from the server\n * @return {Object} xhr returned by {@link #fetch}\n */\n fetchMore: function () {\n if (!this.hasMore()) {\n throw new Error('Invalid Request');\n }\n return this.fetch({ data: this.getPaginationData(), add: true, remove: false, update: true });\n },\n\n /**\n * See [Backbone Collection.reset](http://backbonejs.org/#Collection-reset).\n */\n reset: function (models, options) {\n options || (options = {});\n // only reset the pagination when reset is being called explicitly.\n // this is to avoid link headers pagination being overriden and reset when\n // fetching the collection using `collection.fetch({reset: true})`\n if (!options.fromFetch) {\n this.setPagination(null);\n }\n return __WEBPACK_IMPORTED_MODULE_1_backbone___default.a.Collection.prototype.reset.apply(this, arguments);\n },\n\n // we want \"where\" to be able to search through derived properties as well\n where: function (attrs, first) {\n if (__WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].isEmpty(attrs)) {\n return first ? void 0 : [];\n }\n return this[first ? 'find' : 'filter'](function (model) {\n for (var key in attrs) {\n if (attrs[key] !== model.get(key)) {\n return false;\n }\n }\n return true;\n });\n },\n\n /**\n * See [Backbone Collection.create](http://backbonejs.org/#Collection-create).\n */\n create: function (model, options) {\n options || (options = {});\n if (!__WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].result(model, 'urlRoot')) {\n options.url = __WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].result(this, 'url');\n }\n return __WEBPACK_IMPORTED_MODULE_1_backbone___default.a.Collection.prototype.create.call(this, model, options);\n }\n\n}));\n\n\n/***/ }),\n/* 37 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_backbone__ = __webpack_require__(6);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_backbone___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_backbone__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__util_Logger__ = __webpack_require__(7);\n\n\n\n\n\n\n/**\n * Archer.Model is a standard [Backbone.Model](http://backbonejs.org/#Model) with a few additions:\n *\n * - {@link src/framework/Model#derived Derived properties}\n * - {@link src/framework/Model#props Built in schema validation}\n * - {@link src/framework/Model#local Private properties (with schema validation)}\n * - {@link src/framework/Model#flat Flattening of nested objects}\n *\n * Both derived and private properties are filtered out when sending the data to the server.\n *\n * See [Backbone.Model](http://backbonejs.org/#Model-constructor).\n *\n * @class src/framework/Model\n * @extends external:Backbone.Model\n * @param {Object} [attributes] - Initial model attributes (data)\n * @param {Object} [options] - Options hash\n * @example\n * var Person = Archer.Model.extend({\n * props: {\n * 'fname': 'string',\n * 'lname': 'string'\n * },\n * local: {\n * isLoggedIn: 'boolean'\n * },\n * derived: {\n * name: {\n * deps: ['fname', 'lname'],\n * fn: function (fname, lname) {\n * return fname + ' ' + lname;\n * }\n * }\n * }\n * });\n * var model = new Person({fname: 'Joe', lname: 'Doe'});\n * model.get('name'); //=> \"Joe Doe\"\n * model.toJSON(); //=> {fname: 'Joe', lname: 'Doe'}\n *\n * model.set('isLoggedIn', true);\n * model.get('isLoggedIn'); //=> true\n * model.toJSON(); //=> {fname: 'Joe', lname: 'Doe'}\n */\nvar Model;\n\nfunction flatten(value, objectTypeFields, key, target) {\n var filter = __WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].contains(objectTypeFields, key);\n target || (target = {});\n if (!filter && __WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].isObject(value) && !__WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].isArray(value) && !__WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].isFunction(value)) {\n __WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].each(value, function (val, i) {\n flatten(val, objectTypeFields, key ? (key + '.' + i) : i, target);\n });\n }\n // Case where target is an empty object. Guard against returning {undefined: undefined}.\n else if (key !== undefined) {\n target[key] = value;\n }\n return target;\n}\n\nfunction unflatten(data) {\n __WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].each(data, function (value, key, data) {\n if (key.indexOf('.') == -1) {\n return;\n }\n var part,\n ref = data,\n parts = key.split('.');\n while ((part = parts.shift()) !== undefined) {\n if (!ref[part]) {\n ref[part] = parts.length ? {} : value;\n }\n ref = ref[part];\n }\n delete data[key];\n });\n return data;\n}\n\nfunction createMessage(field, msg) {\n var obj = {};\n obj[field.name] = msg;\n return obj;\n}\n\nfunction normalizeSchemaDef(field, name) {\n var target;\n if (__WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].isString(field)) {\n target = {\n type: field\n };\n }\n else if (__WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].isArray(field)) {\n target = {\n type: field[0],\n required: field[1],\n value: field[2]\n };\n }\n else {\n target = __WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].clone(field);\n }\n __WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].defaults(target, {required: false, name: name});\n return target;\n}\n\nfunction capitalize(string) {\n return string.toLowerCase().replace(/\\b[a-z]/g, function (letter) {\n return letter.toUpperCase();\n });\n}\n\nfunction _validateRegex(value, pattern, error) {\n if (!pattern.test(value)) {\n return error;\n }\n}\n\nvar StringFormatValidators = {\n /*eslint max-len: 0 */\n email: function (value) {\n // Taken from http://emailregex.com/ on 2017-03-06.\n var pattern = /^(([^<>()[\\]\\\\.,;:\\s@\"]+(\\.[^<>()[\\]\\\\.,;:\\s@\"]+)*)|(\".+\"))@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}])|(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]{2,}))$/;\n return _validateRegex(value, pattern, Model.ERROR_INVALID_FORMAT_EMAIL);\n },\n uri: function (value) {\n // source: https://mathiasbynens.be/demo/url-regex\n var pattern = /^(?:(?:https?|ftp):\\/\\/)(?:\\S+(?::\\S*)?@)?(?:(?!(?:10|127)(?:\\.\\d{1,3}){3})(?!(?:169\\.254|192\\.168)(?:\\.\\d{1,3}){2})(?!172\\.(?:1[6-9]|2\\d|3[0-1])(?:\\.\\d{1,3}){2})(?:[1-9]\\d?|1\\d\\d|2[01]\\d|22[0-3])(?:\\.(?:1?\\d{1,2}|2[0-4]\\d|25[0-5])){2}(?:\\.(?:[1-9]\\d?|1\\d\\d|2[0-4]\\d|25[0-4]))|(?:(?:[a-z\\u00a1-\\uffff0-9]-*)*[a-z\\u00a1-\\uffff0-9]+)(?:\\.(?:[a-z\\u00a1-\\uffff0-9]-*)*[a-z\\u00a1-\\uffff0-9]+)*(?:\\.(?:[a-z\\u00a1-\\uffff]{2,}))\\.?)(?::\\d{2,5})?(?:[/?#]\\S*)?$/i;\n return _validateRegex(value, pattern, Model.ERROR_INVALID_FORMAT_URI);\n },\n ipv4: function (value) {\n // source: https://www.safaribooksonline.com/library/view/regular-expressions-cookbook/9780596802837/ch07s16.html\n var pattern = /^(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$/;\n return _validateRegex(value, pattern, Model.ERROR_INVALID_FORMAT_IPV4);\n },\n hostname: function (value) {\n // source: http://www.regextester.com/23\n var pattern = /^(([a-zA-Z0-9]|[a-zA-Z0-9][a-zA-Z0-9-]*[a-zA-Z0-9])\\.)*([A-Za-z0-9]|[A-Za-z0-9][A-Za-z0-9-]*[A-Za-z0-9])$/;\n return _validateRegex(value, pattern, Model.ERROR_INVALID_FORMAT_HOSTNAME);\n }\n};\n\nfunction validateStringFormat(field, value) {\n var validator = StringFormatValidators[field.format];\n if (field.format && !validator) {\n throw new TypeError(field.format + ' is not a supported string format');\n }\n return validator && validator(value);\n}\n\nfunction validateString(field, value) {\n var createMessageWith = __WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].partial(createMessage, field),\n invalidFormat = validateStringFormat(field, value);\n if (invalidFormat) {\n return createMessageWith(invalidFormat);\n }\n if (value && field.minLength && value.length < field.minLength) {\n return createMessageWith(Model.ERROR_STRING_STRING_MIN_LENGTH, value.length);\n }\n if (value && field.maxLength && value.length > field.maxLength) {\n return createMessageWith(Model.ERROR_STRING_STRING_MAX_LENGTH, value.length);\n }\n}\n\nfunction validateField(field, value) {\n /* eslint complexity: [2, 25], max-statements: [2, 27] */\n var createMessageWith = __WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].partial(createMessage, field),\n isDefined = !__WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].isUndefined(value) && !__WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].isNull(value),\n checkType,\n errorMessage;\n\n // If using an array validator, perform the validation\n if (Array.isArray(field.validate)) {\n let output = [];\n let foundError = false;\n let result;\n field.validate.forEach(item => {\n if (!value) {\n result = false;\n } else {\n switch (item.type.toLowerCase()) {\n case 'regex':\n result = (new RegExp(item.value.pattern, item.value.flags || '')).test(value);\n break;\n default:\n result = false;\n }\n }\n // Append the result.\n foundError = foundError || !result;\n output.push({\n message: item.hasOwnProperty('message') ? item.message : '',\n passed: result\n });\n });\n if (foundError) {\n return createMessageWith(output);\n }\n return;\n }\n\n // check required fields\n if (field.required && (!isDefined || __WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].isNull(value) || value === '')) {\n return createMessageWith(Model.ERROR_BLANK);\n }\n // check type\n checkType = __WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"]['is' + capitalize(field.type)];\n if (isDefined && field.type != 'any' && (!__WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].isFunction(checkType) || !checkType(value))) {\n return createMessageWith(Model.ERROR_WRONG_TYPE);\n }\n // validate string format\n if (value && field.type == 'string') {\n var error = validateString(field, value);\n if (error) {\n return error;\n }\n }\n // check pre set values (enum)\n if (isDefined && field.values && !__WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].contains(field.values, value)) {\n return createMessageWith(Model.ERROR_NOT_ALLOWED);\n }\n // check validate method\n if (__WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].isFunction(field.validate)) {\n var result = field.validate(value);\n if (__WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].isString(result) && result) {\n return createMessageWith(result);\n }\n else if (result === false) {\n return createMessageWith(Model.ERROR_INVALID);\n }\n }\n // check array items\n if (isDefined && field.type == 'array' && (errorMessage = validateArrayField(field, value))) {\n return createMessageWith(errorMessage);\n }\n}\n\nfunction validateArrayField(field, arr) {\n if (field.minItems && arr.length < field.minItems) {\n return 'model.validation.field.array.minItems';\n }\n else if (field.maxItems && arr.length > field.maxItems) {\n return 'model.validation.field.array.maxItems';\n }\n else if (field.uniqueItems && arr.length > __WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].uniq(arr).length) {\n return Model.ERROR_IARRAY_UNIQUE;\n }\n else if (field.items) {\n /* eslint max-depth: [2, 3] */\n var arrayField = normalizeSchemaDef(field.items, 'placeholder');\n for (var i = 0; i < arr.length; i++) {\n var value = arr[i];\n var error = validateField(arrayField, value);\n if (error) {\n return error['placeholder'];\n }\n }\n }\n}\n\nModel = __WEBPACK_IMPORTED_MODULE_1_backbone___default.a.Model.extend(/** @lends src/framework/Model.prototype */ {\n\n /**\n * Pass props as an object to extend, describing the observable properties of your model. The props\n * properties should not be set on an instance, as this won't define new properties, they should only be passed to\n * extend.\n * Properties can be defined in three different ways:\n *\n * - As a string with the expected dataType. One of string, number, boolean, array, object, date, or any.\n * Eg: `name: 'string'`.\n * - An array of `[dataType, required, default]`\n * - An object `{type: 'string', format: '', required: true, value: '', values: [], validate: function() {}`\n * - `value` will be the value that the property will be set to if it is undefined, either by not being set during\n * initialization, or by being explicitly set to undefined.\n * - `format` is a json-schame derived string format. Supported formats are: `email`, `uri`, `hostname` and `ipv4`.\n * - If `required` is true, one of two things will happen. If a default is set for the property, the property will\n * start with that value. If a default is not set for the property, validation will fail\n * - If `values` array is passed, then you'll be able to change a property to one of those values only.\n * - If `validate` is defined, it should return false or a custom message string when the validation fails.\n * - If the type is defined as `array`, the array elements could be defined by `minItems` (Number),\n * `uniqueItems` (Boolean) and `items` (a field definition such as this one that will validate each array member)\n * To the `validate` method\n * - Trying to set a property to an invalid type will raise an exception.\n *\n * @type {Mixed}\n * @example\n * var Person = Model.extend({\n * props: {\n * name: 'string',\n * age: 'number',\n * paying: ['boolean', true, false], //required attribute, defaulted to false\n * type: {\n * type: 'string',\n * values: ['regular-hero', 'super-hero', 'mega-hero']\n * },\n * likes: {\n * type: 'string',\n * validate: function (value) {\n * return /^[\\w]+ing$/.test(value)\n * }\n * }\n * }\n * });\n */\n props: {},\n\n /**\n * Derived properties (also known as computed properties) are properties of the model that depend on the\n * other (props, local or even derived properties to determine their value. Best demonstrated with an example:\n *\n * Each derived property, is defined as an object with the current properties:\n *\n * - `deps` {Array} - An array of property names which the derived property depends on.\n * - `fn` {Function} - A function which returns the value of the computed property. It is called in the context of\n * the current object, so that this is set correctly.\n * - `cache` {Boolean} - - Whether to cache the property. Uncached properties are computed every time they are\n * accessed. Useful if it depends on the current time for example. Defaults to `true`.\n *\n * Derived properties are retrieved and fire change events just like any other property. They cannot be set\n * directly.\n * @type {Object}\n * @example\n * var Person = Model.extend({\n * props: {\n * firstName: 'string',\n * lastName: 'string'\n * },\n * derived: {\n * fullName: {\n * deps: ['firstName', 'lastName'],\n * fn: function (firstName, lastName) {\n * return firstName + ' ' + lastName;\n * }\n * }\n * }\n * });\n *\n * var person = new Person({ firstName: 'Phil', lastName: 'Roberts' })\n * console.log(person.get('fullName')) //=> \"Phil Roberts\"\n *\n * person.set('firstName', 'Bob');\n * console.log(person.get('fullName')) //=> \"Bob Roberts\"\n */\n derived: {},\n\n /**\n * local properties are defined and work in exactly the same way as {@link src/framework/Model#props|props}, but generally only exist for\n * the lifetime of the page.\n * They would not typically be persisted to the server, and are not returned by calls to {@link src/framework/Model#toJSON|toJSON}.\n *\n * @type {Object}\n * @example\n * var Person = Model.extend({\n * props: {\n * name: 'string',\n * },\n * local: {\n * isLoggedIn: 'boolean'\n * }\n * );\n */\n local: {},\n\n /**\n * Flatten the payload into dot notation string keys:\n *\n * @type {Boolean}\n * @example\n * var Person = Model.extend({\n * props: {\n * 'profile.fname': 'string',\n * 'profile.lname': 'string',\n * 'profile.languages': 'object'\n * },\n * flat: true\n * });\n * var person = new Person({'profile': {\n * 'fname': 'John',\n * 'lname': 'Doe',\n * 'languages': {name: \"English\", value: \"EN\"}\n * }}, {parse: true});\n * person.get('profile'); //=> undefined\n * person.get('profile.fname'); //=> 'John'\n * person.get('profile.lname'); //=> 'Doe'\n * person.get('profile.languages'); //=> {name: \"English\", value: \"EN\"}\n * person.get('profile.languages.name'); //=> undefined\n * person.toJSON(); //=> {'profile': {'fname': 'John'} }\n */\n flat: true,\n\n /**\n * @deprecated\n * @alias Backbone.Model#defaults\n */\n defaults: {},\n\n constructor: function (options) {\n this.options = options || {};\n\n var schema = this['__schema__'] = {},\n objectTypeFields = [];\n\n schema.computedProperties = {};\n\n schema.props = __WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].clone(__WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].result(this, 'props') || {});\n schema.derived = __WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].clone(__WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].result(this, 'derived') || {});\n schema.local = __WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].clone(__WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].result(this, 'local') || {});\n\n var defaults = {};\n __WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].each(__WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].extend({}, schema.props, schema.local), function (options, name) {\n var schemaDef = normalizeSchemaDef(options, name);\n if (!__WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].isUndefined(schemaDef.value)) {\n defaults[name] = schemaDef.value;\n }\n if (schemaDef.type === 'object') {\n objectTypeFields.push(name);\n }\n }, this);\n if (__WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].size(defaults)) {\n var localDefaults = __WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].result(this, 'defaults');\n this.defaults = function () {\n return __WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].defaults({}, defaults, localDefaults);\n };\n }\n\n // override `validate`\n this.validate = __WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].wrap(this.validate, function (validate) {\n var args = __WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].rest(arguments),\n res = __WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].extend(this._validateSchema.apply(this, args), validate.apply(this, args));\n return __WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].size(res) && res || undefined;\n });\n\n // override `parse`\n this.parse = __WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].wrap(this.parse, function (parse) {\n var target = parse.apply(this, __WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].rest(arguments));\n if (this.flat) {\n target = flatten(target, objectTypeFields);\n }\n return target;\n });\n\n __WEBPACK_IMPORTED_MODULE_1_backbone___default.a.Model.apply(this, arguments);\n\n __WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].each(schema.derived, function (options, name) {\n schema.computedProperties[name] = this.__getDerivedValue(name); // set initial value;\n var deps = options.deps || [];\n if (deps.length) {\n this.on('cache:clear change:' + deps.join(' change:'), function () {\n var value = this.__getDerivedValue(name);\n if (value !== schema.computedProperties[name]) {\n schema.computedProperties[name] = value;\n this.trigger('change:' + name, this, value);\n }\n }, this);\n }\n }, this);\n\n this.on('sync', function () {\n this.__syncedData = this.toJSON();\n }, this);\n },\n\n validate: function () {},\n\n /**\n * Check if the schema settings allow this field to exist in the model\n * @param {String} key\n * @return {Boolean}\n */\n allows: function (key) {\n var schema = this['__schema__'],\n all = __WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].extend({}, schema.props, schema.local);\n if (!__WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].has(all, key)) {\n __WEBPACK_IMPORTED_MODULE_2__util_Logger__[\"default\"].warn('Field not defined in schema', key);\n }\n return true;\n },\n\n /**\n * Returns the schema for the specific property\n *\n * @param propName - The name of the property\n * @returns {*} | null\n */\n getPropertySchema: function (propName) {\n var schema = this['__schema__'];\n return __WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].reduce([schema.props, schema.local], function (result, options) {\n return result || normalizeSchemaDef(options[propName], propName);\n }, null);\n },\n\n set: function (key, val) {\n var attrs;\n if (typeof key === 'object') {\n attrs = key;\n } else {\n (attrs = {})[key] = val;\n }\n\n // Don't override a computed properties\n __WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].each(attrs, function (value, key) {\n if (__WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].has(this['__schema__'].derived, key)) {\n throw 'overriding derived properties is not supported: ' + key;\n }\n }, this);\n\n // Schema validation\n var errorFields = [];\n __WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].each(attrs, function (value, key) {\n this.allows(key) || errorFields.push(key);\n }, this);\n if (errorFields.length) {\n throw 'field not allowed: ' + errorFields.join(', ');\n }\n\n return __WEBPACK_IMPORTED_MODULE_1_backbone___default.a.Model.prototype.set.apply(this, arguments);\n },\n\n get: function (attr) {\n var schema = this['__schema__'];\n if (__WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].has(schema.derived, attr)) {\n if (schema.derived[attr].cache !== false) {\n return schema.computedProperties[attr];\n }\n else {\n return this.__getDerivedValue(attr);\n }\n }\n return __WEBPACK_IMPORTED_MODULE_1_backbone___default.a.Model.prototype.get.apply(this, arguments);\n },\n\n /**\n * Return a shallow copy of the model's attributes for JSON stringification.\n * This can be used for persistence, serialization, or for augmentation before being sent to the server.\n * The name of this method is a bit confusing, as it doesn't actually return a JSON string —\n * but I'm afraid that it's the way that the JavaScript API for JSON.stringify works.\n *\n * See [Backbone.Model.toJSON](http://backbonejs.org/#Model-toJSON)\n *\n * @param {Object} options\n * @return {Object}\n * @example\n * var artist = new Model({\n * firstName: 'Wassily',\n * lastName: 'Kandinsky'\n * });\n *\n * artist.set({birthday: 'December 16, 1866'});\n * JSON.stringify(artist); //=> {'firstName':'Wassily','lastName':'Kandinsky','birthday':'December 16, 1866'}\n */\n toJSON: function (options) {\n options || (options = {});\n var res = __WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].clone(__WEBPACK_IMPORTED_MODULE_1_backbone___default.a.Model.prototype.toJSON.apply(this, arguments)),\n schema = this['__schema__'];\n\n // cleanup local properties\n if (!options.verbose) {\n res = __WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].omit(res, __WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].keys(schema.local));\n }\n else { // add derived properties\n __WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].each(schema.derived, function (options, name) {\n res[name] = this.get(name);\n }, this);\n }\n\n if (this.flat) {\n res = unflatten(res);\n }\n\n return res;\n },\n\n /**\n * Removes all attributes from the model, including the id attribute.\n * Fires a `\"change\"` event unless `silent` is passed as an option.\n * Sets the default values to the model\n * @param {Object} [options]\n */\n reset: function (options) {\n this.clear(options);\n this.set(__WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].result(this, 'defaults'), options);\n },\n\n /**\n * Is the data on the model has local modifications since the last sync event?\n * @return {Boolean} is the model in sync with the server\n */\n isSynced: function () {\n return __WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].isEqual(this.__syncedData, this.toJSON());\n },\n\n /**\n * validate a specific field in the model.\n * @param {String} key\n * @return {Object} returns `{fieldName: errorMessage}` if invalid, otherwise undefined.\n * @readonly\n */\n validateField: function (key) {\n var schema = key && this.getPropertySchema(key);\n return schema && validateField(schema, this.get(key));\n },\n\n /**\n * Runs local schema validation. Invoked internally by {@link src/framework/Model#validate|validate}.\n * @return {Object}\n * @protected\n */\n _validateSchema: function () {\n var schema = this['__schema__'];\n return __WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].reduce(__WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].extend({}, schema.props, schema.local), function (memo, options, name) {\n return __WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].extend(memo, this.validateField(name) || {});\n }, {}, this);\n },\n\n __getDerivedValue: function (name) {\n var options = this['__schema__'].derived[name];\n if (__WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].isString(options)) {\n var key = options;\n options = {\n deps: [key],\n fn: function () {\n return this.get(key);\n }\n };\n }\n var deps = options.deps || [];\n return options.fn.apply(this, __WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].map(deps, this.get, this));\n }\n\n},\n{\n ERROR_BLANK: 'model.validation.field.blank',\n ERROR_WRONG_TYPE: 'model.validation.field.wrong.type',\n ERROR_NOT_ALLOWED: 'model.validation.field.value.not.allowed',\n ERROR_INVALID: 'model.validation.field.invalid',\n ERROR_IARRAY_UNIQUE: 'model.validation.field.array.unique',\n ERROR_INVALID_FORMAT_EMAIL: 'model.validation.field.invalid.format.email',\n ERROR_INVALID_FORMAT_URI: 'model.validation.field.invalid.format.uri',\n ERROR_INVALID_FORMAT_IPV4: 'model.validation.field.invalid.format.ipv4',\n ERROR_INVALID_FORMAT_HOSTNAME: 'model.validation.field.invalid.format.hostname',\n ERROR_STRING_STRING_MIN_LENGTH: 'model.validation.field.string.minLength',\n ERROR_STRING_STRING_MAX_LENGTH: 'model.validation.field.string.maxLength'\n}\n);\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (Model);\n\n\n/***/ }),\n/* 38 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\nObject.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__BaseCollection__ = __webpack_require__(14);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__BaseModel__ = __webpack_require__(15);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__SchemaProperty__ = __webpack_require__(17);\n\n\n\n\n\nconst parseProperties = function (resp) {\n const schemaMeta = __WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].pick(resp, 'id', 'name', 'displayName');\n\n const properties = __WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].map(resp.schema.properties, function (property, name) {\n return __WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].extend({ name }, property);\n });\n\n __WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].each(properties, function (property) {\n property['__schemaMeta__'] = schemaMeta;\n\n if (property.__metadata) {\n property['__metadata__'] = property.__metadata;\n delete property.__metadata;\n }\n });\n return properties;\n};\n\nconst BaseSchemaSchema = __WEBPACK_IMPORTED_MODULE_2__BaseModel__[\"default\"].extend({\n defaults: {\n id: undefined,\n displayName: undefined,\n name: undefined\n },\n\n constructor: function () {\n this.properties = new __WEBPACK_IMPORTED_MODULE_3__SchemaProperty__[\"default\"].Collection();\n __WEBPACK_IMPORTED_MODULE_2__BaseModel__[\"default\"].apply(this, arguments);\n },\n\n getProperties: function () {\n return this.properties;\n },\n\n clone: function () {\n const model = __WEBPACK_IMPORTED_MODULE_2__BaseModel__[\"default\"].prototype.clone.apply(this, arguments);\n\n model.getProperties().set(this.getProperties().toJSON({ verbose: true }));\n return model;\n },\n\n parse: function (resp) {\n const properties = parseProperties(resp);\n\n this.properties.set(properties, { parse: true });\n return __WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].omit(resp, 'schema');\n },\n\n trimProperty: function (property) {\n return __WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].omit(property, 'name');\n },\n\n toJSON: function () {\n const json = __WEBPACK_IMPORTED_MODULE_2__BaseModel__[\"default\"].prototype.toJSON.apply(this, arguments);\n\n json.schema = { properties: {} };\n this.getProperties().each(function (model) {\n const property = model.toJSON();\n\n json.schema.properties[property.name] = this.trimProperty(property);\n }, this);\n return json;\n },\n\n save: function () {\n this.getProperties().each(function (model) {\n model.cleanup();\n });\n return __WEBPACK_IMPORTED_MODULE_2__BaseModel__[\"default\"].prototype.save.apply(this, arguments);\n }\n});\nconst BaseSchemaSchemas = __WEBPACK_IMPORTED_MODULE_1__BaseCollection__[\"default\"].extend({\n model: BaseSchemaSchema\n});\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n parseProperties: parseProperties,\n Model: BaseSchemaSchema,\n Collection: BaseSchemaSchemas\n});\n\n\n/***/ }),\n/* 39 */\n/***/ (function(module, exports) {\n\nmodule.exports = require(\"okta-i18n-bundles\");\n\n/***/ }),\n/* 40 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\nObject.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__jquery_wrapper__ = __webpack_require__(2);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__underscore_wrapper__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__BaseRouter__ = __webpack_require__(19);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__SettingsModel__ = __webpack_require__(20);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__StateMachine__ = __webpack_require__(42);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__views_BaseView__ = __webpack_require__(1);\n/* eslint max-len: [2, 150] */\n\n\n\n\n\n\n\nfunction clean(obj) {\n const res = {};\n\n __WEBPACK_IMPORTED_MODULE_1__underscore_wrapper__[\"default\"].each(obj, function (value, key) {\n if (!__WEBPACK_IMPORTED_MODULE_1__underscore_wrapper__[\"default\"].isNull(value)) {\n res[key] = value;\n }\n });\n return res;\n}\n\n/**\n * A Controller is our application control flow component.\n *\n * Typically it will:\n * - Initialize the models, controller and main views\n * - Listen to events\n * - Create, read, update and delete models\n * - Create modal dialogs, confirmation dialogs and alert dialogs\n * - Control the application flow\n *\n * The constructor is responsible for:\n * - Create the application state object\n * - Assign or creates the application settings object\n * - Create an instance of the main view with the relevant parameters\n *\n * See:\n * [Hello World Tutorial](https://github.com/okta/courage/wiki/Hello-World),\n * [Jasmine Spec](https://github.com/okta/okta-core/blob/master/WebContent/js/test/unit/spec/shared/util/BaseController_spec.js)\n *\n * @class module:Okta.Controller\n * @param {Object} options Options Hash\n * @param {SettingsModel} [options.settings] Application Settings Model\n * @param {String} options.el a jQuery selector string stating where to attach the controller in the DOM\n */\n/* harmony default export */ __webpack_exports__[\"default\"] = (__WEBPACK_IMPORTED_MODULE_5__views_BaseView__[\"default\"].extend(\n /** @lends module:Okta.Controller.prototype */ {\n constructor: function (options) {\n /* eslint max-statements: [2, 15], complexity: [2, 9]*/\n options || (options = {});\n\n // If 'state' is passed down as options, use it, else create a 'new StateMachine()'\n if (options.state instanceof __WEBPACK_IMPORTED_MODULE_4__StateMachine__[\"a\" /* default */] || this.state instanceof __WEBPACK_IMPORTED_MODULE_4__StateMachine__[\"a\" /* default */]) {\n this.state = options.state || this.state;\n }\n else {\n const stateData = __WEBPACK_IMPORTED_MODULE_1__underscore_wrapper__[\"default\"].defaults(clean(options.state), this.state || {});\n this.state = new __WEBPACK_IMPORTED_MODULE_4__StateMachine__[\"a\" /* default */](stateData);\n delete options.state;\n }\n\n if (options.settings) {\n this.settings = options.settings;\n } else {\n // allow the controller to live without a router\n this.settings = options.settings = new __WEBPACK_IMPORTED_MODULE_3__SettingsModel__[\"a\" /* default */](__WEBPACK_IMPORTED_MODULE_1__underscore_wrapper__[\"default\"].omit(options || {}, 'el'));\n this.listen('notification', __WEBPACK_IMPORTED_MODULE_2__BaseRouter__[\"default\"].prototype._notify);\n this.listen('confirmation', __WEBPACK_IMPORTED_MODULE_2__BaseRouter__[\"default\"].prototype._confirm);\n }\n\n __WEBPACK_IMPORTED_MODULE_5__views_BaseView__[\"default\"].call(this, options);\n\n this.listenTo(this.state, '__invoke__', function () {\n const args = __WEBPACK_IMPORTED_MODULE_1__underscore_wrapper__[\"default\"].toArray(arguments);\n\n const method = args.shift();\n\n if (__WEBPACK_IMPORTED_MODULE_1__underscore_wrapper__[\"default\"].isFunction(this[method])) {\n this[method].apply(this, args);\n }\n });\n\n if (this.View) {\n this.add(new this.View(this.toJSON()));\n }\n },\n\n /**\n * The default values of our application state\n * @type {Object}\n * @default {}\n */\n state: {},\n\n /**\n * The main view this controller operate on\n * @type {module:Okta.View}\n * @default null\n */\n View: null,\n\n /**\n * Renders the {@link module:Okta.Controller#View|main view} after the DOM is ready\n * in case the controller is the root component of the page (e.g there's no router)\n */\n render: function () {\n const args = arguments;\n const self = this;\n\n Object(__WEBPACK_IMPORTED_MODULE_0__jquery_wrapper__[\"default\"])(function () {\n __WEBPACK_IMPORTED_MODULE_5__views_BaseView__[\"default\"].prototype.render.apply(self, args);\n });\n return this;\n },\n\n /**\n * Creates the view constructor options\n * @param {Object} [options] Extra options\n * @return {Object} The view constructor options\n */\n toJSON: function (options) {\n return __WEBPACK_IMPORTED_MODULE_1__underscore_wrapper__[\"default\"].extend(__WEBPACK_IMPORTED_MODULE_1__underscore_wrapper__[\"default\"].pick(this, 'state', 'settings', 'collection', 'model'), options || {});\n },\n\n /**\n * Removes the child views, empty the DOM element and stop listening to events\n */\n remove: function () {\n this.removeChildren();\n this.stopListening();\n this.$el.empty();\n return this;\n }\n }\n));\n\n\n/***/ }),\n/* 41 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__util_jquery_wrapper__ = __webpack_require__(2);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__util_underscore_wrapper__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__BaseView__ = __webpack_require__(1);\n\n\n\nconst defaults = {\n level: 'success',\n message: 'Great Success!',\n hide: true,\n fade: 400,\n delay: 3000,\n width: 0,\n dismissable: false\n};\n/* harmony default export */ __webpack_exports__[\"a\"] = (__WEBPACK_IMPORTED_MODULE_2__BaseView__[\"default\"].extend({\n className: 'infobox infobox-confirm infobox-confirm-fixed',\n\n events: {\n 'click .infobox-dismiss-link': function (e) {\n e.preventDefault();\n this.fadeOut();\n }\n },\n\n template:\n '\\\n {{#if dismissable}}\\\n <a class=\"infobox-dismiss-link\" title=\"Dismiss\" href=\"#\">\\\n <span class=\"dismiss-icon\"></span>\\\n </a>\\\n {{/if}}\\\n <span class=\"icon {{level}}-16\"></span>\\\n {{#if title}}<h3>{{title}}</h3>{{/if}}\\\n <p>{{message}}</p>\\\n ',\n\n initialize: function () {\n this.options = __WEBPACK_IMPORTED_MODULE_1__util_underscore_wrapper__[\"default\"].defaults({}, this.options, defaults);\n this.$el.addClass('infobox-' + this.options.level);\n if (this.options.width) {\n this.$el.width(this.options.width).css({\n 'margin-left': '0px',\n left: Math.round((Object(__WEBPACK_IMPORTED_MODULE_0__util_jquery_wrapper__[\"default\"])(window).width() - this.options.width) / 2)\n });\n }\n },\n\n getTemplateData: function () {\n return __WEBPACK_IMPORTED_MODULE_1__util_underscore_wrapper__[\"default\"].extend(__WEBPACK_IMPORTED_MODULE_1__util_underscore_wrapper__[\"default\"].pick(this.options, 'level', 'message', 'title'), {\n dismissable: this.options.hide === false || this.options.dismissable === true\n });\n },\n\n postRender: function () {\n if (this.options.hide) {\n __WEBPACK_IMPORTED_MODULE_1__util_underscore_wrapper__[\"default\"].delay(__WEBPACK_IMPORTED_MODULE_1__util_underscore_wrapper__[\"default\"].bind(this.fadeOut, this), this.options.delay);\n }\n },\n\n fadeOut: function () {\n this.$el.fadeOut(this.options.fade, __WEBPACK_IMPORTED_MODULE_1__util_underscore_wrapper__[\"default\"].bind(this.remove, this));\n }\n}));\n\n\n/***/ }),\n/* 42 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__underscore_wrapper__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__models_Model__ = __webpack_require__(11);\n\n\n\n/**\n * @class StateMachine\n * @extends Okta.Model\n * @private\n *\n * A state object that holds the applciation state\n */\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (__WEBPACK_IMPORTED_MODULE_1__models_Model__[\"default\"].extend({\n extraProperties: true,\n /**\n * Invokes a method on the applicable {@link Okta.Controller}\n *\n * ```javascript\n * state.invoke('methodName', 'param1', 'param2')\n * // Will call\n * contoller.methodName('param1', 'param2')\n * ```\n * @param {String} methodName the name of the controller method to invoke on the controller\n */\n invoke: function () {\n const args = __WEBPACK_IMPORTED_MODULE_0__underscore_wrapper__[\"default\"].toArray(arguments);\n\n args.unshift('__invoke__');\n this.trigger.apply(this, args);\n }\n}));\n\n\n/***/ }),\n/* 43 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__util_ViewUtil__ = __webpack_require__(24);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__BaseView__ = __webpack_require__(1);\n\n\n\nconst disabledEvents = {\n click: function (e) {\n e.preventDefault();\n e.stopPropagation();\n }\n};\n\n/**\n * A configurable button\n * @class module:Okta.internal.views.components.BaseButtonLink\n * @extends module:Okta.View\n * @example\n * var View = BaseButtonLink.extend({\n * title: 'Click Me',\n * icon: 'help-text'\n * })\n */\n/* harmony default export */ __webpack_exports__[\"a\"] = (__WEBPACK_IMPORTED_MODULE_2__BaseView__[\"default\"].extend(\n /** @lends module:Okta.internal.views.components.BaseButtonLink.prototype */ {\n attributes() {\n const defaultAttrs = {\n 'data-se': 'button'\n };\n const additionalAttr = this.__getAttribute('attrs');\n return __WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].extend(defaultAttrs, additionalAttr);\n },\n /**\n * The main text for the button\n * @name title\n * @memberof module:Okta.internal.views.components.BaseButtonLink\n * @type {(String|Function)}\n * @instance\n */\n\n /**\n * The link for the button\n * @name href\n * @memberof module:Okta.internal.views.components.BaseButtonLink\n * @type {(String|Function)}\n * @instance\n */\n\n /**\n * CSS class for the icon to display. See [Style guide](http://rain.okta1.com:1802/su/dev/style-guide#icons)\n * @name icon\n * @memberof module:Okta.internal.views.components.BaseButtonLink\n * @type {(String|Function)}\n * @instance\n */\n\n /**\n * A [Backbone events](http://backbonejs.org/#View-delegateEvents) hash\n * @name events\n * @memberof module:Okta.internal.views.components.BaseButtonLink\n * @type {Object}\n * @instance\n */\n\n tagName: 'a',\n\n template: '{{#if icon}}<span class=\"icon {{icon}}\"></span>{{/if}}{{#if title}}{{title}}{{/if}}',\n\n /**\n * Make this button visible, default to true.\n * @type {(Boolean|Function)}\n * @default true\n */\n visible: true,\n\n /**\n * Make this button enabled, default to true.\n * @type {(Boolean|Function)}\n * @default true\n */\n enabled: true,\n\n /**\n * The setting to determine when the button is enabled, default to {} and\n * enabled takes a higher priority.\n * @type {(Object|Function)}\n * @default {}\n */\n enableWhen: {},\n\n /**\n * The setting to determine when the button is visible, default to {} and\n * visible takes a higher priority.\n * @type {(Object|Function)}\n * @default {}\n */\n showWhen: {},\n\n constructor: function (options) {\n this.options = options || {};\n const data = this.getTemplateData();\n\n this.disabled = false;\n\n __WEBPACK_IMPORTED_MODULE_2__BaseView__[\"default\"].apply(this, arguments);\n\n this.$el.addClass('link-button');\n if (data.icon) {\n this.$el.addClass('link-button-icon');\n if (!data.title) {\n this.$el.addClass('icon-only');\n }\n }\n },\n\n getTemplateData: function () {\n return {\n href: this.__getAttribute('href'),\n title: this.__getAttribute('title'),\n icon: this.__getAttribute('icon')\n };\n },\n\n initialize: function () {\n __WEBPACK_IMPORTED_MODULE_1__util_ViewUtil__[\"a\" /* default */].applyDoWhen(this, __WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].resultCtx(this, 'enableWhen', this), this.toggle);\n __WEBPACK_IMPORTED_MODULE_1__util_ViewUtil__[\"a\" /* default */].applyDoWhen(this, __WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].resultCtx(this, 'showWhen', this), this.toggleVisible);\n },\n\n render: function () {\n __WEBPACK_IMPORTED_MODULE_2__BaseView__[\"default\"].prototype.render.apply(this, arguments);\n\n if (!__WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].result(this, 'enabled')) {\n this.toggle(false);\n }\n\n if (!__WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].result(this, 'visible')) {\n this.toggleVisible(false);\n }\n\n const data = this.getTemplateData();\n\n this.$el.attr('href', data.href || '#');\n\n return this;\n },\n\n __getAttribute: function (name, defaultValue) {\n let value = __WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].resultCtx(this.options, name, this);\n\n if (__WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].isUndefined(value)) {\n value = __WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].result(this, name);\n }\n return !__WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].isUndefined(value) ? value : defaultValue;\n },\n\n enable: function () {\n this.toggle(true);\n },\n\n disable: function () {\n this.toggle(false);\n },\n\n show: function () {\n this.toggleVisible(true);\n },\n\n hide: function () {\n this.toggleVisible(false);\n },\n\n toggle: function (enable) {\n const bool = !!enable && __WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].result(this, 'enabled');\n //this is to toggle the enability\n\n this.disabled = !bool;\n this.$el.toggleClass('link-button-disabled btn-disabled disabled', this.disabled);\n this.delegateEvents(this.disabled ? disabledEvents : null);\n },\n\n toggleVisible: function (visible) {\n const hidden = !visible || !__WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].result(this, 'visible');\n\n this.$el.toggleClass('hide', hidden);\n }\n }\n));\n\n\n/***/ }),\n/* 44 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\nObject.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_backbone__ = __webpack_require__(6);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_backbone___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_backbone__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__underscore_wrapper__ = __webpack_require__(0);\n\n\n\nfunction Class(options) {\n this.options = __WEBPACK_IMPORTED_MODULE_1__underscore_wrapper__[\"default\"].clone(options || {});\n this.cid = __WEBPACK_IMPORTED_MODULE_1__underscore_wrapper__[\"default\"].uniqueId('class');\n this.initialize.apply(this, arguments);\n}\n\n__WEBPACK_IMPORTED_MODULE_1__underscore_wrapper__[\"default\"].extend(Class.prototype, __WEBPACK_IMPORTED_MODULE_0_backbone___default.a.Events, {\n initialize: function () {}\n});\n\nClass.extend = __WEBPACK_IMPORTED_MODULE_0_backbone___default.a.Model.extend;\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (Class);\n\n\n/***/ }),\n/* 45 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\nObject.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__underscore_wrapper__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_vendor_lib_js_cookie__ = __webpack_require__(46);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_vendor_lib_js_cookie___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_vendor_lib_js_cookie__);\n\n\nconst SECURED_COOKIE = /^https/.test(window.location.href);\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n setCookie: function (name, value, options) {\n __WEBPACK_IMPORTED_MODULE_1_vendor_lib_js_cookie___default.a.set(\n name,\n value,\n __WEBPACK_IMPORTED_MODULE_0__underscore_wrapper__[\"default\"].defaults(options || {}, {\n secure: SECURED_COOKIE,\n path: '/'\n })\n );\n },\n\n getCookie: function () {\n return __WEBPACK_IMPORTED_MODULE_1_vendor_lib_js_cookie___default.a.get.apply(__WEBPACK_IMPORTED_MODULE_1_vendor_lib_js_cookie___default.a, arguments);\n },\n\n removeCookie: function () {\n return __WEBPACK_IMPORTED_MODULE_1_vendor_lib_js_cookie___default.a.remove.apply(__WEBPACK_IMPORTED_MODULE_1_vendor_lib_js_cookie___default.a, arguments);\n }\n});\n\n\n/***/ }),\n/* 46 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_RESULT__;/*!\n * JavaScript Cookie v2.1.0\n * https://github.com/js-cookie/js-cookie\n *\n * Copyright 2006, 2015 Klaus Hartl & Fagner Brack\n * Released under the MIT license\n */\n(function (factory) {\n\tif (true) {\n\t\t!(__WEBPACK_AMD_DEFINE_FACTORY__ = (factory),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?\n\t\t\t\t(__WEBPACK_AMD_DEFINE_FACTORY__.call(exports, __webpack_require__, exports, module)) :\n\t\t\t\t__WEBPACK_AMD_DEFINE_FACTORY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\t} else if (typeof exports === 'object') {\n\t\tmodule.exports = factory();\n\t} else {\n\t\tvar _OldCookies = window.Cookies;\n\t\tvar api = window.Cookies = factory();\n\t\tapi.noConflict = function () {\n\t\t\twindow.Cookies = _OldCookies;\n\t\t\treturn api;\n\t\t};\n\t}\n}(function () {\n\tfunction extend () {\n\t\tvar i = 0;\n\t\tvar result = {};\n\t\tfor (; i < arguments.length; i++) {\n\t\t\tvar attributes = arguments[ i ];\n\t\t\tfor (var key in attributes) {\n\t\t\t\tresult[key] = attributes[key];\n\t\t\t}\n\t\t}\n\t\treturn result;\n\t}\n\n\tfunction init (converter) {\n\t\tfunction api (key, value, attributes) {\n\t\t\tvar result;\n\n\t\t\t// Write\n\n\t\t\tif (arguments.length > 1) {\n\t\t\t\tattributes = extend({\n\t\t\t\t\tpath: '/'\n\t\t\t\t}, api.defaults, attributes);\n\n\t\t\t\tif (typeof attributes.expires === 'number') {\n\t\t\t\t\tvar expires = new Date();\n\t\t\t\t\texpires.setMilliseconds(expires.getMilliseconds() + attributes.expires * 864e+5);\n\t\t\t\t\tattributes.expires = expires;\n\t\t\t\t}\n\n\t\t\t\ttry {\n\t\t\t\t\tresult = JSON.stringify(value);\n\t\t\t\t\tif (/^[\\{\\[]/.test(result)) {\n\t\t\t\t\t\tvalue = result;\n\t\t\t\t\t}\n\t\t\t\t} catch (e) {}\n\n\t\t\t\tif (!converter.write) {\n\t\t\t\t\tvalue = encodeURIComponent(String(value))\n\t\t\t\t\t\t.replace(/%(23|24|26|2B|3A|3C|3E|3D|2F|3F|40|5B|5D|5E|60|7B|7D|7C)/g, decodeURIComponent);\n\t\t\t\t} else {\n\t\t\t\t\tvalue = converter.write(value, key);\n\t\t\t\t}\n\n\t\t\t\tkey = encodeURIComponent(String(key));\n\t\t\t\tkey = key.replace(/%(23|24|26|2B|5E|60|7C)/g, decodeURIComponent);\n\t\t\t\tkey = key.replace(/[\\(\\)]/g, escape);\n\n\t\t\t\treturn (document.cookie = [\n\t\t\t\t\tkey, '=', value,\n\t\t\t\t\tattributes.expires && '; expires=' + attributes.expires.toUTCString(), // use expires attribute, max-age is not supported by IE\n\t\t\t\t\tattributes.path && '; path=' + attributes.path,\n\t\t\t\t\tattributes.domain && '; domain=' + attributes.domain,\n\t\t\t\t\tattributes.secure ? '; secure' : ''\n\t\t\t\t].join(''));\n\t\t\t}\n\n\t\t\t// Read\n\n\t\t\tif (!key) {\n\t\t\t\tresult = {};\n\t\t\t}\n\n\t\t\t// To prevent the for loop in the first place assign an empty array\n\t\t\t// in case there are no cookies at all. Also prevents odd result when\n\t\t\t// calling \"get()\"\n\t\t\tvar cookies = document.cookie ? document.cookie.split('; ') : [];\n\t\t\tvar rdecode = /(%[0-9A-Z]{2})+/g;\n\t\t\tvar i = 0;\n\n\t\t\tfor (; i < cookies.length; i++) {\n\t\t\t\tvar parts = cookies[i].split('=');\n\t\t\t\tvar name = parts[0].replace(rdecode, decodeURIComponent);\n\t\t\t\tvar cookie = parts.slice(1).join('=');\n\n\t\t\t\tif (cookie.charAt(0) === '\"') {\n\t\t\t\t\tcookie = cookie.slice(1, -1);\n\t\t\t\t}\n\n\t\t\t\ttry {\n\t\t\t\t\tcookie = converter.read ?\n\t\t\t\t\t\tconverter.read(cookie, name) : converter(cookie, name) ||\n\t\t\t\t\t\tcookie.replace(rdecode, decodeURIComponent);\n\n\t\t\t\t\tif (this.json) {\n\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\tcookie = JSON.parse(cookie);\n\t\t\t\t\t\t} catch (e) {}\n\t\t\t\t\t}\n\n\t\t\t\t\tif (key === name) {\n\t\t\t\t\t\tresult = cookie;\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\n\t\t\t\t\tif (!key) {\n\t\t\t\t\t\tresult[name] = cookie;\n\t\t\t\t\t}\n\t\t\t\t} catch (e) {}\n\t\t\t}\n\n\t\t\treturn result;\n\t\t}\n\n\t\tapi.get = api.set = api;\n\t\tapi.getJSON = function () {\n\t\t\treturn api.apply({\n\t\t\t\tjson: true\n\t\t\t}, [].slice.call(arguments));\n\t\t};\n\t\tapi.defaults = {};\n\n\t\tapi.remove = function (key, attributes) {\n\t\t\tapi(key, '', extend(attributes, {\n\t\t\t\texpires: -1\n\t\t\t}));\n\t\t};\n\n\t\tapi.withConverter = init;\n\n\t\treturn api;\n\t}\n\n\treturn init(function () {});\n}));\n\n\n/***/ }),\n/* 47 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\nObject.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_handlebars__ = __webpack_require__(5);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_handlebars___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_handlebars__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__handlebars_helper_date__ = __webpack_require__(48);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__handlebars_helper_i18n__ = __webpack_require__(49);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__handlebars_helper_img__ = __webpack_require__(50);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__handlebars_helper_markdown__ = __webpack_require__(51);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__handlebars_helper_xsrfTokenInput__ = __webpack_require__(53);\n/* eslint @okta/okta/no-specific-modules: 0 */\n\n\n\n\n\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (__WEBPACK_IMPORTED_MODULE_0_handlebars___default.a);\n\n\n/***/ }),\n/* 48 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_handlebars__ = __webpack_require__(5);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_handlebars___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_handlebars__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_moment__ = __webpack_require__(21);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_moment___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_moment__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__underscore_wrapper__ = __webpack_require__(0);\n/* eslint @okta/okta/enforce-requirejs-names: 0, @okta/okta/no-specific-modules: 0, max-params: 0, max-statements: 0 */\n\n\n\n\nfunction formatDate(format, dateInISOString) {\n return __WEBPACK_IMPORTED_MODULE_1_moment___default.a\n .utc(dateInISOString)\n .utcOffset('-07:00')\n .format(format);\n}\n\n__WEBPACK_IMPORTED_MODULE_0_handlebars___default.a.registerHelper('shortDate', __WEBPACK_IMPORTED_MODULE_2__underscore_wrapper__[\"default\"].partial(formatDate, 'MMM Do'));\n__WEBPACK_IMPORTED_MODULE_0_handlebars___default.a.registerHelper('mediumDate', __WEBPACK_IMPORTED_MODULE_2__underscore_wrapper__[\"default\"].partial(formatDate, 'MMMM DD, YYYY'));\n__WEBPACK_IMPORTED_MODULE_0_handlebars___default.a.registerHelper('longDate', __WEBPACK_IMPORTED_MODULE_2__underscore_wrapper__[\"default\"].partial(formatDate, 'MMMM DD, YYYY, h:mma'));\n__WEBPACK_IMPORTED_MODULE_0_handlebars___default.a.registerHelper('formatDate', formatDate);\n\n/* unused harmony default export */ var _unused_webpack_default_export = (__WEBPACK_IMPORTED_MODULE_0_handlebars___default.a);\n\n\n/***/ }),\n/* 49 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_handlebars__ = __webpack_require__(5);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_handlebars___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_handlebars__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__underscore_wrapper__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__StringUtil__ = __webpack_require__(3);\n/* eslint @okta/okta/no-specific-modules: 0 */\n\n\n\n\nfunction trim(str) {\n return str && str.replace(/^\\s+|\\s+$/g, '');\n}\n\n__WEBPACK_IMPORTED_MODULE_0_handlebars___default.a.registerHelper('i18n', function (options) {\n let params;\n const key = trim(options.hash.code);\n const bundle = trim(options.hash.bundle);\n const args = trim(options.hash['arguments']);\n\n if (args) {\n params = __WEBPACK_IMPORTED_MODULE_1__underscore_wrapper__[\"default\"].map(\n trim(args).split(';'),\n function (param) {\n param = trim(param);\n let val;\n const data = this;\n\n /*\n * the context(data) may be a deep object, ex {user: {name: 'John', gender: 'M'}}\n * arguments may be 'user.name'\n * return data['user']['name']\n */\n __WEBPACK_IMPORTED_MODULE_1__underscore_wrapper__[\"default\"].each(param.split('.'), function (p) {\n val = val ? val[p] : data[p];\n });\n return val;\n },\n this\n );\n }\n\n return __WEBPACK_IMPORTED_MODULE_2__StringUtil__[\"default\"].localize(key, bundle, params);\n});\n\n/* unused harmony default export */ var _unused_webpack_default_export = (__WEBPACK_IMPORTED_MODULE_0_handlebars___default.a);\n\n\n/***/ }),\n/* 50 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_handlebars__ = __webpack_require__(5);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_handlebars___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_handlebars__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__underscore_wrapper__ = __webpack_require__(0);\n/* eslint @okta/okta/no-specific-modules: 0 */\n\n\nconst CACHE_BUST_URL_PREFIX = '/assets';\n\nfunction prependCachebustPrefix(path) {\n if (path.indexOf(CACHE_BUST_URL_PREFIX) === 0) {\n return path;\n }\n return CACHE_BUST_URL_PREFIX + path;\n}\n\n__WEBPACK_IMPORTED_MODULE_0_handlebars___default.a.registerHelper('img', function (options) {\n const cdn = (typeof okta !== 'undefined' && okta.cdnUrlHostname) || '';\n /*global okta */\n\n const hash = __WEBPACK_IMPORTED_MODULE_1__underscore_wrapper__[\"default\"].pick(options.hash, ['src', 'alt', 'width', 'height', 'class', 'title']);\n\n hash.src = '' + cdn + prependCachebustPrefix(hash.src);\n\n const attrs = __WEBPACK_IMPORTED_MODULE_1__underscore_wrapper__[\"default\"].map(hash, function (value, attr) {\n return attr + '=\"' + __WEBPACK_IMPORTED_MODULE_0_handlebars___default.a.Utils.escapeExpression(value) + '\"';\n });\n\n return new __WEBPACK_IMPORTED_MODULE_0_handlebars___default.a.SafeString('<img ' + attrs.join(' ') + '/>');\n});\n\n/* unused harmony default export */ var _unused_webpack_default_export = (__WEBPACK_IMPORTED_MODULE_0_handlebars___default.a);\n\n\n/***/ }),\n/* 51 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_handlebars__ = __webpack_require__(5);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_handlebars___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_handlebars__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__markdownToHtml__ = __webpack_require__(52);\n/* eslint @okta/okta/no-specific-modules: 0 */\n\n\n\n__WEBPACK_IMPORTED_MODULE_0_handlebars___default.a.registerHelper('markdown', function (mdText) {\n return Object(__WEBPACK_IMPORTED_MODULE_1__markdownToHtml__[\"a\" /* default */])(__WEBPACK_IMPORTED_MODULE_0_handlebars___default.a, mdText);\n});\n\n/* unused harmony default export */ var _unused_webpack_default_export = (__WEBPACK_IMPORTED_MODULE_0_handlebars___default.a);\n\n\n/***/ }),\n/* 52 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = mdToHtml;\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__underscore_wrapper__ = __webpack_require__(0);\n// Simple \"markdown parser\" - just handles markdown formatted links. If we\n// find that we need more extensive markdown support, we should include\n// a fully formulated markdown library like:\n// https://github.com/evilstreak/markdown-js\n\nconst RE_LINK = /\\[[^\\]]*\\]\\([^)]*\\)/gi;\nconst RE_LINK_HREF = /\\]\\(([^)]*)\\)/i;\nconst RE_LINK_TEXT = /\\[([^\\]]*)\\]/i;\nconst RE_LINK_JS = /javascript:/gi;\n\n// Converts links\n// FROM:\n// [some link text](http://the/link/url)\n// TO:\n// <a href=\"http://the/link/url\">some link text</a>\nfunction mdToHtml(Handlebars, markdownText) {\n const linkTemplate = Handlebars.compile('<a href=\"{{href}}\">{{text}}</a>');\n /* eslint @okta/okta/no-specific-methods: 0*/\n\n let res;\n\n if (!__WEBPACK_IMPORTED_MODULE_0__underscore_wrapper__[\"default\"].isString(markdownText)) {\n res = '';\n } else {\n res = Handlebars.Utils.escapeExpression(markdownText)\n .replace(RE_LINK_JS, '')\n .replace(RE_LINK, function (mdLink) {\n return linkTemplate({\n href: mdLink.match(RE_LINK_HREF)[1],\n text: mdLink.match(RE_LINK_TEXT)[1]\n });\n });\n }\n return new Handlebars.SafeString(res);\n}\n\n\n/***/ }),\n/* 53 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_handlebars__ = __webpack_require__(5);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_handlebars___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_handlebars__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__jquery_wrapper__ = __webpack_require__(2);\n/* eslint @okta/okta/no-specific-modules: 0 */\n\n\n\n__WEBPACK_IMPORTED_MODULE_0_handlebars___default.a.registerHelper('xsrfTokenInput', function () {\n return new __WEBPACK_IMPORTED_MODULE_0_handlebars___default.a.SafeString(\n '<input type=\"hidden\" class=\"hide\" name=\"_xsrfToken\" ' + 'value=\"' + Object(__WEBPACK_IMPORTED_MODULE_1__jquery_wrapper__[\"default\"])('#_xsrfToken').text() + '\">'\n );\n});\n\n/* unused harmony default export */ var _unused_webpack_default_export = (__WEBPACK_IMPORTED_MODULE_0_handlebars___default.a);\n\n\n/***/ }),\n/* 54 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\nObject.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__framework_ListView__ = __webpack_require__(55);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__BaseView__ = __webpack_require__(1);\n\n\n\n/**\n * See {@link src/framework/ListView} for more detail and examples from the base class.\n * @class module:Okta.ListView\n * @extends src/framework/ListView\n * @mixes module:Okta.View\n */\n/* harmony default export */ __webpack_exports__[\"default\"] = (__WEBPACK_IMPORTED_MODULE_1__BaseView__[\"default\"].decorate(__WEBPACK_IMPORTED_MODULE_0__framework_ListView__[\"a\" /* default */]));\n\n\n/***/ }),\n/* 55 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__View__ = __webpack_require__(22);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__util_underscore_wrapper__ = __webpack_require__(0);\n/* eslint-disable max-statements */\n\n\n\n/**\n * Archer.ListView is a {@link src/framework/View} that operates on a\n * collection and builds a list of \"things\" of the same type.\n *\n * Automagically adds, removes and sorts upon standard collection events.\n *\n * Listen to collection events so the ListView will do the right thing when\n * a model is added or the collection is reset or sorted.\n *\n * @class src/framework/ListView\n * @extends src/framework/View\n * @param {Object} options options hash\n * @param {Object} options.collection The collection which this view operates on\n * @example\n * var UserList = Archer.ListView.extend({\n * tagName: 'ul',\n * item: '<li>{{fname}} {{lname}}</li>'\n * });\n *\n * var users = new Archer.Collection([\n * {fname: 'John', lname: 'Doe'},\n * {fname: 'Jane', lname: 'Doe'}\n * ]);\n *\n * var userList = new UserList({collection: users}).render();\n * userList.el; //=> \"<ul><li>John Doe</li><li>Jane Doe</li></ul>\"\n *\n * users.push({fname: 'Jim', lname: 'Doe'});\n * userList.el; //=> \"<ul><li>John Doe</li><li>Jane Doe</li><li>Jim Doe</li></ul>\"\n *\n * users.first().destroy();\n * userList.el; //=> \"<ul><li>Jane Doe</li><li>Jim Doe</li></ul>\"\n */\n/* harmony default export */ __webpack_exports__[\"a\"] = (__WEBPACK_IMPORTED_MODULE_0__View__[\"a\" /* default */].extend(/** @lends src/framework/ListView.prototype */ {\n\n constructor: function () {\n __WEBPACK_IMPORTED_MODULE_0__View__[\"a\" /* default */].apply(this, arguments);\n if (!this.collection) {\n throw new Error('Missing collection');\n }\n this.listenTo(this.collection, 'reset sort', this.reset);\n this.listenTo(this.collection, 'add', this.addItem);\n\n if (this.fetchCollection) {\n this.collection.fetch();\n } else {\n this.collection.each(this.addItem, this);\n }\n },\n\n /**\n * The view/template we will use to render each model in the collection.\n * @type {String|module:Okta.View}\n */\n item: null,\n\n /**\n * A selector in the local template where to append each item\n * @type {String}\n */\n itemSelector: null,\n\n /**\n * Empty the list and re-add everything from the collection.\n * Usefull for handling `collection.reset()` or for handling the initial load\n * @protected\n */\n reset: function () {\n this.removeChildren();\n this.collection.each((model, index) => {\n this.addItem(model, index);\n });\n return this;\n },\n\n /**\n * Add an item view to the list that will represent one model from the collection\n *\n * Listen to the model so when it is destoyed or removed from the collection\n * this item will remove itself from the list\n *\n * @param {Backbone.Model} model The model this row operates on\n * @protected\n */\n addItem: function (model) {\n var view = this.add(this.item, this.itemSelector, {options: {model: model}}).last();\n if (this.state && this.state.get('trackItemAdded')) {\n this.state.trigger('itemAdded', view);\n }\n view.listenTo(model, 'destroy remove', view.remove);\n return this;\n },\n\n addShowMore: __WEBPACK_IMPORTED_MODULE_1__util_underscore_wrapper__[\"default\"].noop\n\n}));\n\n\n/***/ }),\n/* 56 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\nObject.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__util_jquery_wrapper__ = __webpack_require__(2);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__util_underscore_wrapper__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__util_TemplateUtil__ = __webpack_require__(4);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__BaseView__ = __webpack_require__(1);\n\n\n\n\nconst optionsTemplate = __WEBPACK_IMPORTED_MODULE_2__util_TemplateUtil__[\"default\"].tpl(\n '\\\n <a href=\"\" class=\"icon-16 {{className}}\" data-se=\"{{seleniumId}}\">\\\n {{#if icon}}\\\n <span class=\"icon {{icon}}\"></span>\\\n {{/if}}\\\n {{#if title}}\\\n {{title}}\\\n {{/if}}\\\n {{#if subtitle}}\\\n <p class=\"option-subtitle\">{{subtitle}}</p>\\\n {{/if}}\\\n </a>\\\n '\n);\nconst BaseDropDownDropDownOption = __WEBPACK_IMPORTED_MODULE_3__BaseView__[\"default\"].extend({\n tagName: 'li',\n\n events: {\n click: function (e) {\n e.preventDefault();\n this.action && this.action.call(this);\n }\n },\n\n constructor: function () {\n __WEBPACK_IMPORTED_MODULE_3__BaseView__[\"default\"].apply(this, arguments);\n this.$el.addClass('okta-dropdown-option option');\n },\n\n render: function () {\n this.$el.html(\n optionsTemplate({\n icon: __WEBPACK_IMPORTED_MODULE_1__util_underscore_wrapper__[\"default\"].result(this, 'icon'),\n className: __WEBPACK_IMPORTED_MODULE_1__util_underscore_wrapper__[\"default\"].result(this, 'className') || '',\n title: __WEBPACK_IMPORTED_MODULE_1__util_underscore_wrapper__[\"default\"].result(this, 'title'),\n subtitle: __WEBPACK_IMPORTED_MODULE_1__util_underscore_wrapper__[\"default\"].result(this, 'subtitle'),\n seleniumId: __WEBPACK_IMPORTED_MODULE_1__util_underscore_wrapper__[\"default\"].result(this, 'seleniumId')\n })\n );\n if (__WEBPACK_IMPORTED_MODULE_1__util_underscore_wrapper__[\"default\"].result(this, 'disabled')) {\n this.disable();\n }\n return this;\n },\n\n disable: function () {\n this.$el.addClass('option-disabled');\n this.$el.find('a').attr('tabindex', '-1');\n }\n});\n/* harmony default export */ __webpack_exports__[\"default\"] = (__WEBPACK_IMPORTED_MODULE_3__BaseView__[\"default\"].extend({\n events: {\n 'click a.option-selected': function (e) {\n e.preventDefault();\n if (__WEBPACK_IMPORTED_MODULE_1__util_underscore_wrapper__[\"default\"].result(this, 'disabled')) {\n e.stopPropagation();\n }\n },\n 'click .dropdown-disabled': function (e) {\n e.preventDefault();\n e.stopPropagation();\n }\n },\n\n items: [],\n\n constructor: function () {\n const className = this.className;\n\n // In this very specific case we want to NOT append className to $el\n // but to the <a> tag in the template\n // so we want to disable backbone default functionality.\n\n this.className = null;\n\n __WEBPACK_IMPORTED_MODULE_3__BaseView__[\"default\"].apply(this, arguments);\n\n this.className = className;\n\n this.$el.addClass('dropdown more-actions float-l');\n\n __WEBPACK_IMPORTED_MODULE_1__util_underscore_wrapper__[\"default\"].each(\n __WEBPACK_IMPORTED_MODULE_1__util_underscore_wrapper__[\"default\"].result(this, 'items'),\n function (option) {\n this.addOption(option, this.options);\n },\n this\n );\n },\n\n template:\n '\\\n <a href=\"#\" class=\"link-button {{className}} link-button-icon option-selected center\"\\\n aria-expanded=\"false\" aria-controls=\"okta-dropdown-options\">\\\n {{#if icon}}\\\n <span class=\"icon {{icon}}\"></span>\\\n {{/if}}\\\n {{#if screenReaderText}}\\\n <span class=\"off-screen\">{{screenReaderText}}</span>\\\n {{/if}}\\\n <span class=\"option-selected-text\">{{title}}</span>\\\n <span class=\"icon-dm\"></span>\\\n </a>\\\n <div id=\"okta-dropdown-options\" class=\"options clearfix\" style=\"display: none;\">\\\n <ul class=\"okta-dropdown-list options-wrap clearfix\"></ul>\\\n </div>\\\n ',\n\n getTemplateData: function () {\n const className = [__WEBPACK_IMPORTED_MODULE_1__util_underscore_wrapper__[\"default\"].result(this, 'className') || '', __WEBPACK_IMPORTED_MODULE_1__util_underscore_wrapper__[\"default\"].result(this, 'disabled') ? 'dropdown-disabled' : ''];\n\n return {\n icon: __WEBPACK_IMPORTED_MODULE_1__util_underscore_wrapper__[\"default\"].result(this, 'icon'),\n className: __WEBPACK_IMPORTED_MODULE_0__util_jquery_wrapper__[\"default\"].trim(className.join(' ')),\n title: __WEBPACK_IMPORTED_MODULE_1__util_underscore_wrapper__[\"default\"].result(this, 'title'),\n screenReaderText: __WEBPACK_IMPORTED_MODULE_1__util_underscore_wrapper__[\"default\"].result(this, 'screenReaderText')\n };\n },\n\n addOption: function (proto, options) {\n this.add(BaseDropDownDropDownOption.extend(proto), 'ul.options-wrap', { options: options || {} });\n }\n}));\n\n\n/***/ }),\n/* 57 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\nObject.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__util_jquery_wrapper__ = __webpack_require__(2);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__util_underscore_wrapper__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__util_StringUtil__ = __webpack_require__(3);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__util_TemplateUtil__ = __webpack_require__(4);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__BaseView__ = __webpack_require__(1);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__components_ReadModeBar__ = __webpack_require__(58);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__components_Toolbar__ = __webpack_require__(25);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_7__helpers_ErrorBanner__ = __webpack_require__(59);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_8__helpers_ErrorParser__ = __webpack_require__(60);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_9__helpers_FormUtil__ = __webpack_require__(9);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_10__helpers_InputContainer__ = __webpack_require__(61);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_11__helpers_InputFactory__ = __webpack_require__(62);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_12__helpers_InputLabel__ = __webpack_require__(63);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_13__helpers_InputWrapper__ = __webpack_require__(64);\n/* eslint max-statements: [2, 11] */\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nconst template =\n '\\\n {{#if hasReadMode}}\\\n <h2 class=\"o-form-title-bar\" data-se=\"o-form-title-bar\">\\\n {{title}}\\\n </h2>\\\n {{/if}}\\\n <div data-se=\"o-form-content\" class=\"o-form-content {{layout}} clearfix\">\\\n {{#unless hasReadMode}}\\\n {{#if title}}\\\n <h2 data-se=\"o-form-head\" class=\"okta-form-title o-form-head\">{{title}}</h2>\\\n {{/if}}\\\n {{/unless}}\\\n {{#if subtitle}}\\\n <p class=\"okta-form-subtitle o-form-explain\" data-se=\"o-form-explain\">{{subtitle}}</p>\\\n {{/if}}\\\n <div class=\"o-form-error-container\" data-se=\"o-form-error-container\"></div>\\\n <div class=\"o-form-fieldset-container\" data-se=\"o-form-fieldset-container\"></div>\\\n </div>\\\n ';\nconst pointerEventsSupported = Object(__WEBPACK_IMPORTED_MODULE_0__util_jquery_wrapper__[\"default\"])('<div>').css({ 'pointer-events': 'auto' })[0].style.pointerEvents === 'auto';\n\n// polyfill for `pointer-events: none;` in IE < 11\n// Logic borrowed from https://github.com/kmewhort/pointer_events_polyfill (BSD)\n\nfunction pointerEventsPolyfill(e) {\n if (!pointerEventsSupported && this.$el.hasClass('o-form-saving')) {\n const $el = Object(__WEBPACK_IMPORTED_MODULE_0__util_jquery_wrapper__[\"default\"])(e.currentTarget);\n\n $el.css('display', 'none');\n const underneathElem = document.elementFromPoint(e.clientX, e.clientY);\n\n $el.css('display', 'block');\n\n e.target = underneathElem;\n Object(__WEBPACK_IMPORTED_MODULE_0__util_jquery_wrapper__[\"default\"])(underneathElem).trigger(e);\n\n return false;\n }\n}\n\nconst events = {\n submit: function (e) {\n e.preventDefault();\n this.__save();\n }\n};\n\n__WEBPACK_IMPORTED_MODULE_1__util_underscore_wrapper__[\"default\"].each(['click', 'dblclick', 'mousedown', 'mouseup'], function (event) {\n events[event + ' .o-form-input'] = pointerEventsPolyfill;\n});\n\nconst attributes = function (model) {\n model || (model = {});\n const collection = (model && model.collection) || {};\n\n return {\n method: 'POST',\n action: __WEBPACK_IMPORTED_MODULE_1__util_underscore_wrapper__[\"default\"].result(model, 'urlRoot') || __WEBPACK_IMPORTED_MODULE_1__util_underscore_wrapper__[\"default\"].result(collection, 'url') || window.location.pathname,\n 'data-se': 'o-form',\n slot: 'content'\n };\n};\n\nconst convertSavingState = function (rawSavingStateEvent, defaultEvent) {\n rawSavingStateEvent || (rawSavingStateEvent = '');\n let savingStateEvent = [];\n\n if (__WEBPACK_IMPORTED_MODULE_1__util_underscore_wrapper__[\"default\"].isString(rawSavingStateEvent)) {\n savingStateEvent = rawSavingStateEvent.split(' ');\n }\n savingStateEvent = __WEBPACK_IMPORTED_MODULE_1__util_underscore_wrapper__[\"default\"].union(savingStateEvent, defaultEvent);\n return savingStateEvent.join(' ');\n};\n\nconst getErrorSummary = function (responseJSON = {}) {\n if (Array.isArray(responseJSON.errorCauses) && responseJSON.errorCauses.length > 0) {\n //set errorSummary from first errorCause which is not field specific error\n return responseJSON.errorCauses[0].errorSummary;\n } else {\n //set errorSummary from top level errorSummary\n return responseJSON.errorSummary;\n }\n};\n/**\n * A Form utility framework\n *\n * Okta.Form is a form that operates on one flat model\n * It exposes one main factory method, {@link module:Okta.Form#addInput|addInput}, which add inputs to the form,\n * and each input operates on one field in the model, identified by the `name` field.\n *\n * See:\n * [Basic O-Form Tutorial](https://github.com/okta/courage/wiki/Basic-O-Form)\n *\n * @class module:Okta.Form\n * @extends module:Okta.View\n * @param {Object} options options hash (See {@link module:Okta.View|View})\n * @param {Object} options.model the model this form operates on\n * @param {Boolean} [options.label-top=false] position label on top of inputs\n * @param {Boolean} [options.wide=false] Use a wide input layout for all input\n */\n\n/**\n * Fired when the \"Save\" button is clicked\n * @event module:Okta.Form#save\n * @param {module:Okta.Model} model Model used in the form\n */\n\n/**\n * Fired after the model is successfully saved - applies when {@link module:Okta.Form#autoSave|autoSave}\n * is set to true\n * @event module:Okta.Form#saved\n * @param {module:Okta.Model} model Model used in the form\n */\n\n/**\n * Fired when the model fires an invalid event or an error event;\n * @event module:Okta.Form#error\n * @param {module:Okta.Model} model Model used in the form\n */\n\n/**\n * Fired when the form layout is likely to be resized\n * @event module:Okta.Form#resize\n * @param {module:Okta.Model} model Model used in the form\n */\n\n/**\n * Fired when the \"Cancel\" button is clicked\n * @event module:Okta.Form#cancel\n */\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (__WEBPACK_IMPORTED_MODULE_4__BaseView__[\"default\"].extend(\n /** @lends module:Okta.Form.prototype */ {\n /**\n * Specifies how to validate form:\n * - In case \"local\" string provided as a value of the property,\n * the form will validate only fields added as inputs to the form;\n * - In case array is provided, the validation will be performed only for fields specified in array;\n * - In case function is provided, provided function will be used as a validation function,\n * it must return an error object with the format {fieldName: 'error text'} with as many fields as you need.\n * @name validate\n * @memberof module:Okta.Form\n * @type {String|Array|Function}\n * @instance\n */\n\n constructor: function (options) {\n /* eslint max-statements: 0, complexity: 0 */\n options || (options = {});\n this.options = options;\n\n this.id = __WEBPACK_IMPORTED_MODULE_1__util_underscore_wrapper__[\"default\"].uniqueId('form');\n this.tagName = 'form';\n\n __WEBPACK_IMPORTED_MODULE_1__util_underscore_wrapper__[\"default\"].defaults(this.events, events);\n __WEBPACK_IMPORTED_MODULE_1__util_underscore_wrapper__[\"default\"].defaults(this.attributes, attributes(options.model));\n\n this.__buttons = [];\n this.__errorFields = {};\n\n this.__saveModelState(options.model);\n\n if (this.step) {\n if (!this.save) {\n this.save = !this.totalSteps || this.step === this.totalSteps ? 'Finish' : 'Next';\n }\n this.className += ' wizard';\n }\n this.className += ' o-form';\n\n this.__toolbar = this.__createToolbar(options);\n\n __WEBPACK_IMPORTED_MODULE_4__BaseView__[\"default\"].call(this, options);\n\n __WEBPACK_IMPORTED_MODULE_1__util_underscore_wrapper__[\"default\"].each(\n __WEBPACK_IMPORTED_MODULE_1__util_underscore_wrapper__[\"default\"].result(this, 'inputs') || [],\n function (input) {\n // to ingore extra argumests from `each` iteratee function\n // http://underscorejs.org/#each\n this.__addLayoutItem(input);\n },\n this\n );\n\n this.add(this.__toolbar, '');\n\n this.listenTo(this.model, 'change:__edit__', this.__applyMode);\n\n this.listenTo(\n this.model,\n 'invalid error',\n __WEBPACK_IMPORTED_MODULE_1__util_underscore_wrapper__[\"default\"].throttle(\n function (model, resp, showBanner) {\n this.__showErrors(model, resp, showBanner !== false);\n },\n 100,\n { trailing: false }\n )\n );\n\n this.listenTo(this.model, 'form:resize', function () {\n this.trigger('resize');\n });\n\n this.listenTo(this.model, 'form:cancel', __WEBPACK_IMPORTED_MODULE_1__util_underscore_wrapper__[\"default\"].throttle(this.__cancel, 100, { trailing: false }));\n this.listenTo(this.model, 'form:previous', __WEBPACK_IMPORTED_MODULE_1__util_underscore_wrapper__[\"default\"].throttle(this.__previous, 100, { trailing: false }));\n\n this.__save = __WEBPACK_IMPORTED_MODULE_1__util_underscore_wrapper__[\"default\"].throttle(this.__save, 200, { trailing: false });\n this.listenTo(this.model, 'form:save', function () {\n this.$el.submit();\n });\n\n this.listenTo(this.model, 'sync', function () {\n if (this.model.get('__edit__')) {\n this.model.set('__edit__', false, { silent: true });\n }\n this.__saveModelState(this.model);\n this.render();\n });\n\n let hasSavingState = this.getAttribute('hasSavingState');\n\n if (this.getAttribute('autoSave')) {\n this.listenTo(this, 'save', function (model) {\n const xhr = model.save();\n\n if (xhr && xhr.done) {\n xhr.done(() => {\n this.trigger('saved', model);\n });\n }\n });\n if (__WEBPACK_IMPORTED_MODULE_1__util_underscore_wrapper__[\"default\"].isUndefined(hasSavingState)) {\n hasSavingState = true;\n }\n }\n\n /*\n * Attach model event listeners\n * by default, model's request event starts the form saving state,\n * error and sync event stops it\n * you can define customized saving start and stop state, like\n * customSavingState: {start: 'requestingAdditionalInfo', stop: 'retrievedAdditionalInfo'}\n * doing this does not override the default events\n */\n if (hasSavingState) {\n const customSavingState = this.getAttribute('customSavingState', {});\n\n this.listenTo(\n this.model,\n convertSavingState(customSavingState.start || '', ['request']),\n this.__setSavingState\n );\n this.listenTo(\n this.model,\n convertSavingState(customSavingState.stop || '', ['error', 'sync']),\n this.__clearSavingState\n );\n }\n },\n\n /**\n * Create the bottom button bar\n * @param {Object} options options h\n * @return {Okta.View} The toolbar\n * @private\n */\n __createToolbar: function (options) {\n const danger = this.getAttribute('danger');\n const saveBtnClassName = danger === true ? 'button-error' : 'button-primary';\n const toolbar = new __WEBPACK_IMPORTED_MODULE_6__components_Toolbar__[\"default\"](\n __WEBPACK_IMPORTED_MODULE_1__util_underscore_wrapper__[\"default\"].extend(\n {\n save: this.save || __WEBPACK_IMPORTED_MODULE_2__util_StringUtil__[\"default\"].localize('oform.save', 'courage'),\n saveId: this.saveId,\n saveClassName: saveBtnClassName,\n cancel: this.cancel || __WEBPACK_IMPORTED_MODULE_2__util_StringUtil__[\"default\"].localize('oform.cancel', 'courage'),\n noCancelButton: this.noCancelButton || false,\n hasPrevStep: this.step && this.step > 1\n },\n options || this.options\n )\n );\n\n __WEBPACK_IMPORTED_MODULE_1__util_underscore_wrapper__[\"default\"].each(this.__buttons, function (args) {\n toolbar.addButton.apply(toolbar, args);\n });\n\n return toolbar;\n },\n\n className: '',\n\n attributes: {},\n\n events: {},\n\n /**\n * An array of input configurations to render in the form\n * @type {Array}\n */\n inputs: [],\n\n template: null,\n\n /**\n * Does the form support read/edit toggle.\n * @type {Boolean|Function}\n * @default false\n */\n read: false,\n\n /**\n * Is the form in readOnly mode.\n * @type {Boolean|Function}\n * @default false\n */\n readOnly: false,\n\n /**\n * Should we not render the button bar\n * @type {Boolean|Function}\n * @default false\n */\n noButtonBar: false,\n\n /**\n * Should we not render a cancel button\n * @type {Boolean|Function}\n * @default false\n */\n noCancelButton: false,\n\n /**\n * The text on the save button\n * @type {String}\n * @default \"Save\"\n */\n save: null,\n\n /**\n * The text on the cancel button\n * @type {String}\n * @default \"Cancel\"\n */\n cancel: null,\n\n /**\n * To use button-error to style the submit button instead of button-primary.\n * @type {Boolean|Function}\n * @default false\n */\n danger: false,\n\n /**\n * A layout CSS class to add to the form\n * @type {String|Function}\n * @default \"\"\n */\n layout: '',\n\n /**\n * The step this form is in the context of a wizard\n * @type {Number}\n */\n step: undefined,\n\n /**\n * The total numbers of steps the wizard this form is a part of has\n * @type {Number}\n */\n totalSteps: undefined,\n\n /**\n * The form's title\n * @type {String|Function}\n */\n title: null,\n\n /**\n * The form's subtitle\n * @type {String|Function}\n */\n subtitle: null,\n\n /**\n * Auto-save the model when hitting save. Triggers a `saved` event when done\n * @type {Boolean}\n * @default false\n */\n autoSave: false,\n\n /**\n * Scroll to the top of the form on error\n * @type {Boolean|Function}\n * @default true\n */\n scrollOnError: true,\n\n /**\n * Show the error banner upon error\n * @type {Boolean|Function}\n * @default true\n */\n showErrors: true,\n\n /**\n * The form's scrollable area\n * @type {String}\n * @default \".o-form-content\"\n */\n resizeSelector: '.o-form-content',\n\n /**\n * Sets whether or not the form shows the saving state when\n * the model is saved. Has no effect on setSavingState and clearSavingState as those are manual calls\n * to trigger/clear the saving state.\n * @name hasSavingState\n * @memberof module:Okta.Form\n * @type {Boolean}\n * @default false\n * @instance\n */\n\n /**\n * Get an attribute value from options or instance.\n * Prefer options value over instance value\n * @param {String} name Name of the attribute\n * @param {Object} defaultValue the default value to return if the attribute is not found\n * @return {Object} The value\n */\n getAttribute: function (name, defaultValue) {\n let value = __WEBPACK_IMPORTED_MODULE_1__util_underscore_wrapper__[\"default\"].resultCtx(this.options, name, this);\n\n if (__WEBPACK_IMPORTED_MODULE_1__util_underscore_wrapper__[\"default\"].isUndefined(value)) {\n value = __WEBPACK_IMPORTED_MODULE_1__util_underscore_wrapper__[\"default\"].result(this, name);\n }\n return !__WEBPACK_IMPORTED_MODULE_1__util_underscore_wrapper__[\"default\"].isUndefined(value) ? value : defaultValue;\n },\n\n /**\n * Does this form have a \"read\" mode\n * @return {Boolean}\n */\n hasReadMode: function () {\n return !!this.getAttribute('read');\n },\n\n /**\n * Is this form in \"read only\" mode\n * @return {Boolean}\n */\n isReadOnly: function () {\n return !!this.getAttribute('readOnly');\n },\n\n /**\n * Does this form have a button bar\n * @return {Boolean}\n */\n hasButtonBar: function () {\n return !(this.getAttribute('noButtonBar') || this.isReadOnly());\n },\n\n render: function () {\n this.__readModeBar && this.__readModeBar.remove();\n if (this.hasReadMode() && !this.isReadOnly()) {\n const readModeBar = __WEBPACK_IMPORTED_MODULE_5__components_ReadModeBar__[\"a\" /* default */].extend({\n formTitle: this.getAttribute('title', '')\n });\n\n this.__readModeBar = this.add(readModeBar, '.o-form-title-bar').last();\n }\n\n const html = __WEBPACK_IMPORTED_MODULE_3__util_TemplateUtil__[\"default\"].tpl(template)({\n layout: this.getAttribute('layout', ''),\n title: this.getAttribute('title', '', true),\n subtitle: this.getAttribute('subtitle', '', true),\n hasReadMode: this.hasReadMode()\n });\n\n this.$el.html(html);\n delete this.template;\n\n __WEBPACK_IMPORTED_MODULE_4__BaseView__[\"default\"].prototype.render.apply(this, arguments);\n\n this.__applyMode();\n\n return this;\n },\n\n /**\n * Changes form UI to indicate saving. Disables all inputs and buttons. Use this function if you have set\n * hasSavingState to false on the the form\n * @private\n */\n __setSavingState: function () {\n this.model.trigger('form:set-saving-state');\n this.$el.addClass('o-form-saving');\n },\n\n /**\n * Changes form UI back to normal from the saving state. Use this function if you are have set hasSavingState\n * to false on the form\n * @private\n */\n __clearSavingState: function () {\n this.model.trigger('form:clear-saving-state');\n this.$el.removeClass('o-form-saving');\n },\n\n /**\n * Toggles the visibility of the bottom button bar\n * @private\n */\n __toggleToolbar: function () {\n this.__toolbar && this.__toolbar.remove();\n if (this.hasButtonBar() && this._editMode()) {\n this.__toolbar = this.__createToolbar();\n this.add(this.__toolbar, '');\n }\n this.trigger('resize');\n },\n\n /**\n * Cancels this form\n * - Reset the model to the previous state\n * - Clears all errors\n * - Triggers a `cancel` event\n * - Sets the model to read mode (if applicable)\n * @private\n * @fires cancel\n */\n __cancel: function () {\n const edit = this.model.get('__edit__');\n /* eslint max-statements: [2, 12] */\n\n this.model.clear({ silent: true });\n let data;\n\n if (this.model.sanitizeAttributes) {\n data = this.model.sanitizeAttributes(this.__originalModel);\n } else {\n data = __WEBPACK_IMPORTED_MODULE_1__util_underscore_wrapper__[\"default\"].clone(this.__originalModel);\n }\n this.model.set(data, { silent: true });\n this.trigger('cancel', this.model);\n this.model.trigger('cache:clear');\n if (edit) {\n this.model.set('__edit__', false, { silent: true });\n this.model.trigger('change:__edit__', this.model, false);\n }\n this.clearErrors();\n },\n\n /**\n * Runs {@link module:Okta.Form#validate|validate} to check the model state.\n * Triggers an \"invalid\" event on the model if validation fails\n * @returns {Boolean}\n */\n isValid: function () {\n let res;\n const self = this;\n\n function validateArray(arr) {\n return __WEBPACK_IMPORTED_MODULE_1__util_underscore_wrapper__[\"default\"].reduce(\n arr,\n function (memo, fieldName) {\n return __WEBPACK_IMPORTED_MODULE_1__util_underscore_wrapper__[\"default\"].extend(memo, self.model.validateField(fieldName));\n },\n {}\n );\n }\n\n if (__WEBPACK_IMPORTED_MODULE_1__util_underscore_wrapper__[\"default\"].isUndefined(this.validate)) {\n return this.model.isValid();\n } else if (__WEBPACK_IMPORTED_MODULE_1__util_underscore_wrapper__[\"default\"].isFunction(this.validate)) {\n res = this.validate();\n } else if (__WEBPACK_IMPORTED_MODULE_1__util_underscore_wrapper__[\"default\"].isArray(this.validate)) {\n res = validateArray(this.validate);\n } else if (this.validate === 'local') {\n res = validateArray(\n this.getInputs().map(function (input) {\n return input.options.name;\n })\n );\n }\n\n if (!__WEBPACK_IMPORTED_MODULE_1__util_underscore_wrapper__[\"default\"].isEmpty(res)) {\n this.model.trigger('invalid', this.model, res);\n return false;\n } else {\n return true;\n }\n },\n\n /**\n * A throttled function that saves the form not more than once every 100 ms\n * Basically all this method does is trigger a `save` event\n * @fires save\n * @private\n */\n __save: function () {\n this.clearErrors();\n if (this.isValid()) {\n this.trigger('save', this.model);\n }\n },\n\n /**\n * In the context of a wizard, go to previous state\n * Technically all this method does is trigger a `previous` event\n * @param {Event} e\n * @private\n */\n __previous: function () {\n this.trigger('previous', this.model);\n },\n\n /**\n * Renders the form in the correct mode based on the model.\n * @private\n */\n __applyMode: function () {\n this.clearErrors();\n this.__toggleToolbar();\n\n if (this._editMode()) {\n this.$el.addClass('o-form-edit-mode');\n this.$el.removeClass('o-form-read-mode');\n this.$('.o-form-content').removeClass('rounded-btm-4');\n this.focus();\n } else {\n this.$el.removeClass('o-form-edit-mode');\n this.$el.addClass('o-form-read-mode');\n this.$('.o-form-content').addClass('rounded-btm-4');\n }\n },\n\n /**\n * Is the form in edit mode\n * @return {Boolean}\n * @private\n */\n _editMode: function () {\n return this.model.get('__edit__') || !this.hasReadMode();\n },\n\n /**\n * Function can be overridden to alter top level error summary.\n * @param {Object} responseJSON\n *\n * @example\n * // responseJSON object\n * {\n * errorCauses: [{errorSummary: \"At least one of Proxy Status, Location, or ASN should be configured.\"}]\n * errorSummary: \"At least one of Proxy Status, Location, or ASN should be configured.\"\n * errorCode: \"E0000001\"\n * errorId: \"oaepsrTCHrhT-eIi8XTm6KWWg\"\n * errorLink: \"E0000001\"\n * errorSummary: \"Api validation failed: networkZone\"\n * }\n *\n * @method\n * @default _.identity\n */\n parseErrorMessage: __WEBPACK_IMPORTED_MODULE_1__util_underscore_wrapper__[\"default\"].identity,\n\n /**\n * Show an error message based on an XHR error\n * @param {Okta.BaseModel} model the model\n * @param {jqXHR} xhr The jQuery XmlHttpRequest Object\n * @private\n */\n __showErrors: function (model, resp, showBanner) {\n this.trigger('error', model);\n\n /* eslint max-statements: 0 */\n if (this.getAttribute('showErrors')) {\n let errorSummary;\n let responseJSON = __WEBPACK_IMPORTED_MODULE_8__helpers_ErrorParser__[\"a\" /* default */].getResponseJSON(resp);\n const validationErrors = __WEBPACK_IMPORTED_MODULE_8__helpers_ErrorParser__[\"a\" /* default */].parseFieldErrors(resp);\n\n // trigger events for field validation errors\n if (__WEBPACK_IMPORTED_MODULE_1__util_underscore_wrapper__[\"default\"].size(validationErrors)) {\n __WEBPACK_IMPORTED_MODULE_1__util_underscore_wrapper__[\"default\"].each(\n validationErrors,\n function (errors, field) {\n this.model.trigger(\n 'form:field-error',\n this.__errorFields[field] || field,\n __WEBPACK_IMPORTED_MODULE_1__util_underscore_wrapper__[\"default\"].map(errors, function (error) {\n return /^model\\.validation/.test(error) ? __WEBPACK_IMPORTED_MODULE_2__util_StringUtil__[\"default\"].localize(error, 'courage') : error;\n })\n );\n },\n this\n );\n } else {\n responseJSON = this.parseErrorMessage(responseJSON);\n errorSummary = getErrorSummary(responseJSON);\n }\n\n // show the error message\n if (showBanner) {\n this.$('.o-form-error-container').addClass('o-form-has-errors');\n this.add(__WEBPACK_IMPORTED_MODULE_7__helpers_ErrorBanner__[\"a\" /* default */], '.o-form-error-container', { options: { errorSummary: errorSummary } });\n }\n\n // slide to and focus on the error message\n if (this.getAttribute('scrollOnError')) {\n const $el = Object(__WEBPACK_IMPORTED_MODULE_0__util_jquery_wrapper__[\"default\"])('#' + this.id + ' .o-form-error-container');\n\n $el.length && Object(__WEBPACK_IMPORTED_MODULE_0__util_jquery_wrapper__[\"default\"])('html, body').animate({ scrollTop: $el.offset().top }, 400);\n }\n\n this.model.trigger('form:resize');\n }\n },\n\n /**\n * Clears the error banner\n * @private\n */\n clearErrors: function () {\n this.$('.o-form-error-container').removeClass('o-form-has-errors');\n this.model.trigger('form:clear-errors');\n this.model.trigger('form:resize');\n },\n\n /**\n * Toggles between edit and read mode\n */\n toggle: function () {\n this.model.set('__edit__', !this.hasReadMode() || !this.model.get('__edit__'));\n return this;\n },\n\n __addLayoutItem: function (input) {\n if (__WEBPACK_IMPORTED_MODULE_11__helpers_InputFactory__[\"a\" /* default */].supports(input)) {\n this.addInput(input);\n } else {\n this.__addNonInputLayoutItem(input);\n }\n },\n\n __addNonInputLayoutItem: function (item) {\n const itemOptions = __WEBPACK_IMPORTED_MODULE_1__util_underscore_wrapper__[\"default\"].omit(item, 'type');\n\n switch (item.type) {\n case 'sectionTitle':\n this.addSectionTitle(item.title, __WEBPACK_IMPORTED_MODULE_1__util_underscore_wrapper__[\"default\"].omit(itemOptions, 'title'));\n break;\n case 'divider':\n this.addDivider(itemOptions);\n break;\n default:\n throw new Error('unknown input: ' + item.type);\n }\n },\n\n /**\n * Adds a view to the buttons tool bar\n * @param {Object} params parameterized button options\n * @param {Object} options options to send to {@link module:Okta.View#add|View.add}\n */\n addButton: function (params, options) {\n this.__toolbar && this.__toolbar.addButton(params, options);\n this.__buttons.push([params, options]);\n },\n\n /**\n * Adds a divider\n */\n addDivider: function (options) {\n this.add('<div class=\"okta-form-divider form-divider\"></div>');\n __WEBPACK_IMPORTED_MODULE_9__helpers_FormUtil__[\"default\"].applyShowWhen(this.last(), options && options.showWhen);\n __WEBPACK_IMPORTED_MODULE_9__helpers_FormUtil__[\"default\"].applyToggleWhen(this.last(), options && options.toggleWhen);\n return this;\n },\n\n /**\n * Adds section header\n * @param {String} title\n */\n addSectionTitle: function (title, options) {\n this.add(__WEBPACK_IMPORTED_MODULE_3__util_TemplateUtil__[\"default\"].tpl('<h2 class=\"o-form-head\">{{title}}</h2>')({ title: title }));\n __WEBPACK_IMPORTED_MODULE_9__helpers_FormUtil__[\"default\"].applyShowWhen(this.last(), options && options.showWhen);\n __WEBPACK_IMPORTED_MODULE_9__helpers_FormUtil__[\"default\"].applyToggleWhen(this.last(), options && options.toggleWhen);\n return this;\n },\n\n /**\n * Add a form input\n * @param {Object} options Options to describe the input\n * @param {String} options.type The input type.\n * The options are: `text`, `textarea`, `select`, `checkbox`, `radio`, `switch`,\n * `password`, `number`, `textselect`, `date`, `grouppicker`, `admingrouppicker`, `su-orgspicker`\n * `file/image`, `file/cert`, `checkboxset`, `list`, `group`, `zonepicker`\n * @param {String} options.name The name of the model field this input mutates\n * @param {String|Function} [options.label]\n * The input label text.\n * When passed as a function, will invoke the function (in the context of the {@link InputLabel})\n * on render time, and use the returned value.\n * @param {String} [options.sublabel] The input sub label text\n * @param {String} [options.tooltip] A popover tooltip to be displayed next to the label\n * @param {String} [options.placeholder] Placeholder text.\n * @param {String} [options.explain] Explanation text to render below the input\n * @param {Okta.View} [options.customExplain] A custom view to render below the input (deprecated)\n * @param {Boolean} [options.disabled=false] Make this input disabled\n * @param {Boolean} [options.wide=false] Use a wide input layout\n * @param {Boolean} [options.label-top=false] position label on top of an input\n * @param {Boolean} [options.explain-top=false] position explain on top of an input (requires label-top=true)\n * @param {Number} [options.multi] have multiple in-line inputs. useful when `input` is passed as an array of inputs\n * @param {String} [options.errorField] The API error field here that maps to this input\n * @param {Boolean} [options.inlineValidation=true] Validate input on focusout\n * @param {String} [options.ariaLabel] Used to add aria-label attribute to the input when label is not present.\n * @param {Object} [options.options]\n * In the context of `radio` and `select`, a key/value set of options\n *\n * @param {Object} [options.params]\n * Widget specific parameters. Varies per input.\n *\n * @param {BaseInput|Object[]} [options.input]\n * - A custom input \"class\" or instance - preferably a **class**, so we can automagically assign the right\n * parameters when initializing it\n * - An array of input definition object literals (such as this one)\n *\n * @param {Object} [options.showWhen]\n * Setting to define when to show (or hide) the input. The input is visible by default.\n *\n * @param {Object} [options.bindings]\n * Bind a certain model attribute to a callback function, so the function is being called on render,\n * and any time this model field changes.\n * This is similar to `showWhen` but is not limited to toggling.\n *\n * @param {Function} [options.render]\n * A post-render hook that will run upon render on InputWrapper\n *\n * @param {String|Function} className A className to apply on the {@link InputWrapper}\n *\n * @param {Function} [options.initialize]\n * An `initialize` function to run when initializing the {@link InputWrapper}\n * Useful for state mutation on start time, and complex state logic\n *\n * @example\n * // showhen: the field will be visible when `advanced` is set to `true`\n * // and `mode` is set to `\"ON\"`.\n * showWhen: {\n * 'advanced': true,\n * 'mode': function (value) {\n * return value == 'ON'; // this is identical to this.model.get('mode') == 'ON'\n * }\n * }\n *\n * @example\n * // bindings\n * bindings: {\n * 'status mode': function (status, mode) {\n * var labelView = this.getLabel();\n * if (status == 1) {\n * labelView.options.label = 'Something';\n * }\n * else {\n * labelView.options.label = mode;\n * }\n * labelView.render();\n * }\n * }\n */\n addInput: function (_options) {\n _options = __WEBPACK_IMPORTED_MODULE_1__util_underscore_wrapper__[\"default\"].clone(_options);\n\n __WEBPACK_IMPORTED_MODULE_9__helpers_FormUtil__[\"default\"].validateInput(_options, this.model);\n\n const inputsOptions = __WEBPACK_IMPORTED_MODULE_9__helpers_FormUtil__[\"default\"].generateInputOptions(_options, this, this.__createInput).reverse();\n\n // We need a local variable here to keep track\n // as addInput can be called either directy or through the inputs array.\n if (__WEBPACK_IMPORTED_MODULE_1__util_underscore_wrapper__[\"default\"].isEmpty(this.getInputs().toArray())) {\n __WEBPACK_IMPORTED_MODULE_1__util_underscore_wrapper__[\"default\"].extend(inputsOptions[0], { validateOnlyIfDirty: true });\n }\n\n const inputs = __WEBPACK_IMPORTED_MODULE_1__util_underscore_wrapper__[\"default\"].map(inputsOptions, this.__createInput, this);\n\n __WEBPACK_IMPORTED_MODULE_1__util_underscore_wrapper__[\"default\"].each(\n inputsOptions,\n function (input) {\n if (input.errorField) {\n this.__errorFields[input.errorField] = input.name;\n }\n },\n this\n );\n\n const options = {\n inputId: __WEBPACK_IMPORTED_MODULE_1__util_underscore_wrapper__[\"default\"].last(inputs).options.inputId,\n input: inputs,\n multi: inputsOptions.length > 1 ? inputsOptions.length : undefined\n };\n\n __WEBPACK_IMPORTED_MODULE_1__util_underscore_wrapper__[\"default\"].extend(options, __WEBPACK_IMPORTED_MODULE_1__util_underscore_wrapper__[\"default\"].omit(this.options, 'input'), __WEBPACK_IMPORTED_MODULE_1__util_underscore_wrapper__[\"default\"].omit(_options, 'input'));\n\n const inputWrapper = this.__createWrapper(options);\n\n if (options.label !== false) {\n inputWrapper.add(this.__createLabel(options));\n }\n inputWrapper.add(this._createContainer(options));\n inputWrapper.type = options.type || options.input.type || 'custom';\n\n const args = [inputWrapper].concat(__WEBPACK_IMPORTED_MODULE_1__util_underscore_wrapper__[\"default\"].rest(arguments));\n\n return this.add.apply(this, args);\n },\n\n /**\n * @private\n */\n __createInput: function (options) {\n options = __WEBPACK_IMPORTED_MODULE_1__util_underscore_wrapper__[\"default\"].pick(options, __WEBPACK_IMPORTED_MODULE_9__helpers_FormUtil__[\"default\"].INPUT_OPTIONS);\n return __WEBPACK_IMPORTED_MODULE_11__helpers_InputFactory__[\"a\" /* default */].create(options);\n },\n\n /**\n * @private\n */\n __createWrapper: function (options) {\n options = __WEBPACK_IMPORTED_MODULE_1__util_underscore_wrapper__[\"default\"].pick(options, __WEBPACK_IMPORTED_MODULE_9__helpers_FormUtil__[\"default\"].WRAPPER_OPTIONS);\n return new __WEBPACK_IMPORTED_MODULE_13__helpers_InputWrapper__[\"a\" /* default */](options);\n },\n\n /**\n * @private\n */\n __createLabel: function (options) {\n options = __WEBPACK_IMPORTED_MODULE_1__util_underscore_wrapper__[\"default\"].pick(options, __WEBPACK_IMPORTED_MODULE_9__helpers_FormUtil__[\"default\"].LABEL_OPTIONS);\n return new __WEBPACK_IMPORTED_MODULE_12__helpers_InputLabel__[\"a\" /* default */](options);\n },\n\n /**\n * @private\n */\n _createContainer: function (options) {\n options = __WEBPACK_IMPORTED_MODULE_1__util_underscore_wrapper__[\"default\"].pick(options, __WEBPACK_IMPORTED_MODULE_9__helpers_FormUtil__[\"default\"].CONTAINER_OPTIONS);\n return new __WEBPACK_IMPORTED_MODULE_10__helpers_InputContainer__[\"a\" /* default */](options);\n },\n\n /**\n * Stores the current attributes of the model to a private property\n * @param {Okta.BaseModel} model The model\n * @private\n */\n __saveModelState: function (model) {\n this.__originalModel = __WEBPACK_IMPORTED_MODULE_0__util_jquery_wrapper__[\"default\"].extend(true, {}, model.attributes);\n },\n\n /**\n * @override\n * @ignore\n */\n add: function () {\n const args = __WEBPACK_IMPORTED_MODULE_1__util_underscore_wrapper__[\"default\"].toArray(arguments);\n\n typeof args[1] === 'undefined' && (args[1] = '> div.o-form-content > .o-form-fieldset-container');\n return __WEBPACK_IMPORTED_MODULE_4__BaseView__[\"default\"].prototype.add.apply(this, args);\n },\n\n /**\n * Set the focus on the first input in the form\n */\n focus: function () {\n const first = this.getInputs().first();\n\n if (first && first.focus) {\n first.focus();\n }\n return this;\n },\n\n /**\n * Disable all inputs in the form\n * @deprecated not currently in use\n */\n disable: function () {\n this.invoke('disable');\n return this;\n },\n\n /**\n * Enable all inputs in the form\n * @deprecated not currently in use\n */\n enable: function () {\n this.invoke('enable');\n },\n\n /**\n * Set the max-height for o-form-content class container within the form if a height is provided,\n * otherwise, get its computed inner height\n * @param {Number} the height in pixel to set for class o-form-content\n * @return {Number}\n */\n contentHeight: function (height) {\n const content = this.$('.o-form-content');\n\n if (__WEBPACK_IMPORTED_MODULE_1__util_underscore_wrapper__[\"default\"].isNumber(height)) {\n content.css('max-height', height);\n } else {\n return content.height();\n }\n },\n\n /**\n * Get only the input children\n * @return {InputWrapper[]} An underscore wrapped array of {@link InputWrapper} instances\n */\n getInputs: function () {\n return Object(__WEBPACK_IMPORTED_MODULE_1__util_underscore_wrapper__[\"default\"])(\n this.filter(function (view) {\n return view instanceof __WEBPACK_IMPORTED_MODULE_13__helpers_InputWrapper__[\"a\" /* default */];\n })\n );\n }\n }\n));\n\n\n/***/ }),\n/* 58 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__BaseView__ = __webpack_require__(1);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__helpers_FormUtil__ = __webpack_require__(9);\n\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (__WEBPACK_IMPORTED_MODULE_0__BaseView__[\"default\"].extend({\n el: '<span class=\"o-form-toggle\" data-type=\"header-btn\"></span>',\n\n formTitle: '',\n\n modelEvents: {\n 'change:__edit__': 'toggle'\n },\n\n initialize: function () {\n this.addButton();\n },\n\n addButton: function () {\n if (this.model.get('__edit__')) {\n this.add(__WEBPACK_IMPORTED_MODULE_1__helpers_FormUtil__[\"default\"].createReadFormButton({ type: 'cancel' }));\n } else {\n this.add(\n __WEBPACK_IMPORTED_MODULE_1__helpers_FormUtil__[\"default\"].createReadFormButton({\n type: 'edit',\n formTitle: this.formTitle\n })\n );\n }\n },\n\n toggle: function () {\n this.removeChildren();\n this.addButton();\n }\n}));\n\n\n/***/ }),\n/* 59 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__BaseView__ = __webpack_require__(1);\n\nconst template =\n '\\\n <div class=\"okta-form-infobox-error infobox infobox-error\" role=\"alert\">\\\n <span class=\"icon error-16\"></span>\\\n {{#if errorSummary}}\\\n <p>{{errorSummary}}</p>\\\n {{else}}\\\n <p>{{i18n code=\"oform.errorbanner.title\" bundle=\"courage\"}}</p>\\\n {{/if}}\\\n </div>\\\n ';\n/* harmony default export */ __webpack_exports__[\"a\"] = (__WEBPACK_IMPORTED_MODULE_0__BaseView__[\"default\"].extend({\n template: template,\n modelEvents: {\n 'form:clear-errors': 'remove'\n }\n}));\n\n\n/***/ }),\n/* 60 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__util_StringUtil__ = __webpack_require__(3);\n\n\nconst FIELD_REGEX = /^([\\S]+): (.+)$/;\n/* harmony default export */ __webpack_exports__[\"a\"] = ({\n /**\n * Helper function that returns the json output of an xhr objext\n * @param {jqXhr} xhr\n * @return {Object}\n */\n getResponseJSON: function (xhr) {\n try {\n return xhr.responseJSON || JSON.parse(xhr.responseText);\n } catch (e) {\n return;\n }\n },\n\n /**\n * Parses an error summary to extract a field name and an error message\n * @param {String} errorSummary The raw error summary\n * @return {String[]} An array with two members: [field name, error message]\n */\n parseErrorSummary: function (errorSummary) {\n const matches = errorSummary.match(FIELD_REGEX);\n // error format is: `fieldName: The field cannot be left blank`\n\n if (matches) {\n return [matches[1], matches[2]];\n }\n },\n\n /**\n * Parses an error cause object to extract a field name from property attribute\n * and an error message form errorSummary attribute. It looks to see if there is\n * a custom override/translation for the erorrCause.reason before using the errorSummary\n * @param {Object} errorCause object\n * @return {String[]} An array with two members: [field name, error message]\n */\n parseErrorCauseObject: function (errorCause) {\n if (errorCause.property && errorCause.errorSummary) {\n const localizedMsg = __WEBPACK_IMPORTED_MODULE_1__util_StringUtil__[\"default\"].localize(errorCause.reason);\n const apiMsg = errorCause.errorSummary;\n const field = errorCause.property;\n const errorMessage = localizedMsg.indexOf('L10N_ERROR[') === -1 ? localizedMsg : apiMsg;\n\n return [field, errorMessage];\n }\n },\n\n parseErrors: function (resp) {\n const responseJSON = this.getResponseJSON(resp);\n\n return __WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].map((responseJSON && responseJSON.errorCauses) || [], function (errorCause) {\n return ('' + errorCause.errorSummary).replace(FIELD_REGEX, '$2');\n });\n },\n\n /**\n * Parses the response for errors\n * Returns a map of field names > array or error messages\n * Example:\n * ```javascript\n * {\n * url: ['The field cannot be left blank', 'The field has to be a valid URI'],\n * name: ['The field cannot be left blank']\n * }\n * ```\n * @param {Object} resp\n * @return {Object}\n */\n parseFieldErrors: function (resp) {\n const responseJSON = this.getResponseJSON(resp);\n const errors = {};\n\n // xhr error object\n if (responseJSON) {\n /* eslint complexity: [2, 7] */\n __WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].each(\n responseJSON.errorCauses || [],\n function (cause) {\n let res = [];\n\n if (cause.property && cause.errorSummary) {\n res = this.parseErrorCauseObject(cause);\n } else {\n res = this.parseErrorSummary((cause && cause.errorSummary) || '');\n }\n if (res) {\n const fieldName = res[0];\n const message = res[1];\n\n errors[fieldName] || (errors[fieldName] = []);\n errors[fieldName].push(message);\n }\n },\n this\n );\n }\n // validation key/value object\n else if (__WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].isObject(resp) && __WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].size(resp)) {\n __WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].each(resp, function (msg, field) {\n errors[field] = [msg];\n });\n }\n return __WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].size(errors) ? errors : undefined;\n }\n});\n\n\n/***/ }),\n/* 61 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__util_Logger__ = __webpack_require__(7);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__util_TemplateUtil__ = __webpack_require__(4);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__util_Util__ = __webpack_require__(16);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__util_StringUtil__ = __webpack_require__(3);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__BaseView__ = __webpack_require__(1);\n\n\n\n\n\n\nconst isABaseView = __WEBPACK_IMPORTED_MODULE_3__util_Util__[\"default\"].isABaseView;\n/**\n * @class InputContainer\n * @private\n *\n * TODO: OKTA-80796\n * Attention: Please change with caution since this is used in other places\n */\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (__WEBPACK_IMPORTED_MODULE_5__BaseView__[\"default\"].extend({\n attributes: function () {\n return {\n 'data-se': 'o-form-input-container'\n };\n },\n\n className: function () {\n let className = 'o-form-input';\n\n if (this.options.wide) {\n className += ' o-form-wide';\n }\n if (__WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].contains([1, 2, 3, 4], this.options.multi)) {\n className += ' o-form-multi-input-' + this.options.multi;\n if (__WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].isArray(this.options.input)) {\n const inputGroup = __WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].find(this.options.input, function (input) {\n return __WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].contains(['text+select', 'select+text'], input.options.type);\n });\n\n inputGroup && (className += ' o-form-multi-input-group-' + this.options.multi);\n }\n }\n return className;\n },\n\n _getNames: function () {\n const names = __WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].isArray(this.options.name) ? this.options.name : [this.options.name];\n /*eslint complexity: 0 */\n\n if (this.options.type === 'group') {\n names.push.apply(names, __WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].pluck(this.options.input[0].options.params.inputs, 'name'));\n } else if (__WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].isArray(this.options.name)) {\n if (this.options.input && this.options.input.options && this.options.input.options.name) {\n names.push(this.options.input.options.name);\n }\n } else if (this.options.input) {\n if (__WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].isArray(this.options.input)) {\n __WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].each(this.options.input, function (inputItem) {\n names.push(inputItem.options.name);\n });\n } else {\n names.push(this.options.input.options.name);\n }\n }\n return __WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].uniq(__WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].compact(names));\n },\n\n constructor: function () {\n /* eslint max-statements: [2, 18] */\n __WEBPACK_IMPORTED_MODULE_5__BaseView__[\"default\"].apply(this, arguments);\n\n const explainTop = this.options['explain-top'] && this.options['label-top'];\n if (this.options.input) {\n if (__WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].isArray(this.options.input)) {\n __WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].each(\n this.options.input,\n function (inputItem) {\n this.add(inputItem, { prepend: !explainTop });\n },\n this\n );\n } else {\n this.add(this.options.input, { prepend: !explainTop });\n }\n }\n\n this.__setExplain(this.options);\n\n const names = this._getNames();\n\n this.listenTo(this.model, 'form:field-error', function (name, errors) {\n if (__WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].contains(names, name)) {\n this.__setError(errors, explainTop);\n }\n });\n\n this.listenTo(this.model, 'form:clear-errors change:' + names.join(' change:'), this.__clearError);\n this.listenTo(this.model, 'form:clear-error:' + names.join(' form:clear-error:'), this.__clearError);\n\n if (__WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].resultCtx(this.options, 'autoRender', this)) {\n this.listenTo(this.model, 'change:' + this.options.name, this.render);\n }\n\n this.__errorState = false;\n },\n\n /**\n * Populates the explain on the input container (if it exists). There are\n * two ways to use this:\n * 1. Raw text - wraps in the correct html template\n * 2. Custom html\n * - pass in a View class (preferred)\n * - pass in an instance of a View\n * Some additional notes:\n * - You can pass a function that returns any of the above\n * - This maintains support for the deprecated \"customExplain\" property\n * that was used before. This pattern is superseded by explain, so use\n * that instead.\n * @private\n */\n __setExplain: function (options) {\n let explain;\n\n // Deprecated - if you need custom html, use explain instead\n if (options.customExplain) {\n __WEBPACK_IMPORTED_MODULE_1__util_Logger__[\"default\"].warn('Deprecated - use explain instead of customExplain');\n this.add(this.options.customExplain);\n return;\n }\n\n explain = options.explain;\n if (__WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].isFunction(explain) && !isABaseView(explain)) {\n explain = __WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].resultCtx(this.options, 'explain', this);\n }\n if (!explain) {\n return;\n }\n\n if (isABaseView(explain)) {\n this.template = '<p class=\"o-form-explain\"></p>';\n this.add(explain, '.o-form-explain');\n } else {\n this.template = '<p class=\"o-form-explain\">{{explain}}</p>';\n }\n },\n\n /**\n * Highlight the input as invalid (validation failed)\n * Adds an explaination message of the error\n * @private\n */\n __setError: function (errors, explainTop) {\n this.__errorState = true;\n this.$el.addClass('o-form-has-errors');\n\n const errorId = __WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].uniqueId('input-container-error');\n const tmpl = [\n '<p id=\"{{errorId}}\" class=\"okta-form-input-error o-form-input-error o-form-explain\" role=\"alert\">',\n '<span class=\"icon icon-16 error-16-small\" role=\"img\" aria-label=\"{{iconLabel}}\"></span>',\n '{{text}}',\n '</p>',\n ].join('');\n\n const iconLabel = __WEBPACK_IMPORTED_MODULE_4__util_StringUtil__[\"default\"].localize('oform.error.icon.ariaLabel', 'courage'); // 'Error'\n const html = __WEBPACK_IMPORTED_MODULE_2__util_TemplateUtil__[\"default\"].tpl(tmpl)({\n errorId: errorId,\n iconLabel: iconLabel,\n text: errors.join(', ')\n });\n\n const $elExplain = this.$('.o-form-explain')\n .not('.o-form-input-error')\n .first();\n\n if ($elExplain.length && !explainTop) {\n $elExplain.before(html);\n } else {\n this.$el.append(html);\n }\n\n this.$el.attr('aria-describedby', errorId);\n },\n\n /**\n * Un-highlight the input and remove explaination text\n * @private\n */\n __clearError: function () {\n if (this.__errorState) {\n this.$('.o-form-input-error').remove();\n this.$el.attr('aria-describedby', null);\n this.$el.removeClass('o-form-has-errors');\n this.__errorState = false;\n __WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].defer(() => {\n this.model.trigger('form:resize');\n });\n }\n },\n\n focus: function () {\n this.each(function (view) {\n if (view.focus) {\n return view.focus();\n }\n });\n\n return this;\n }\n}));\n\n\n/***/ }),\n/* 62 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__InputRegistry__ = __webpack_require__(26);\n/* eslint complexity: 0, max-statements: 0 */\n\n\n\nfunction createInput(Input, options) {\n if (__WEBPACK_IMPORTED_MODULE_1__InputRegistry__[\"default\"].isBaseInput(Input)) {\n return Input.prototype ? new Input(__WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].omit(options, 'input')) : Input;\n } else {\n return Input;\n }\n}\n\nfunction create(options) {\n options = __WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].clone(options);\n if (options.input) {\n return createInput(options.input, options);\n }\n const Input = __WEBPACK_IMPORTED_MODULE_1__InputRegistry__[\"default\"].get(options);\n\n if (!Input) {\n throw new Error('unknown input: ' + options.type);\n }\n return createInput(Input, options);\n}\n\nfunction supports(options) {\n return !!options.input || !!__WEBPACK_IMPORTED_MODULE_1__InputRegistry__[\"default\"].get(options);\n}\n\n/* harmony default export */ __webpack_exports__[\"a\"] = ({\n create: create,\n supports: supports\n});\n\n\n/***/ }),\n/* 63 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_qtip__ = __webpack_require__(27);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_qtip___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_qtip__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__util_TemplateUtil__ = __webpack_require__(4);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__BaseView__ = __webpack_require__(1);\n\n\n\n\n\n/**\n * @class InputLabel\n * @extends {Okta.View}\n * @private\n * The input's label.\n */\n/* harmony default export */ __webpack_exports__[\"a\"] = (__WEBPACK_IMPORTED_MODULE_3__BaseView__[\"default\"].extend({\n className: 'okta-form-label o-form-label',\n\n attributes: {\n 'data-se': 'o-form-label'\n },\n\n /**\n * @constructor\n * @param {Object} options options hash\n * @param {String} [options.type] Input type\n * @param {String|Function} [options.label] Label text\n * @param {String|Function} [options.sublabel] Sub label text\n * @param {String|Function} [options.tooltip] Tooltip text\n * @param {String|Function} [options.inputId] Id of the inputs\n * @param {String|Function} [options.id] Id of the inputs\n */\n constructor: function (options) {\n /* eslint max-statements: [2, 16] complexity: [2, 7]*/\n __WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].defaults(options, { inputId: options.id });\n delete options.id;\n\n __WEBPACK_IMPORTED_MODULE_3__BaseView__[\"default\"].apply(this, arguments);\n\n let template;\n\n if (this._isLabelView(options.label)) {\n template = '<label for=\"{{inputId}}\"></label>';\n } else if (__WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].contains(['radio', 'checkbox'], options.type) || !options.label) {\n template = '{{label}}';\n } else {\n //space added in the end of the label to avoid selecting label text with double click in read mode\n template = '<label for=\"{{inputId}}\">{{label}} </label>';\n }\n if (options.sublabel) {\n template += '<span class=\"o-form-explain\">{{sublabel}}</span>';\n }\n if (options.tooltip) {\n if (__WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].isString(options.tooltip)) {\n options.tooltip = {\n text: options.tooltip\n };\n }\n template += '<span class=\"o-form-tooltip icon-16 icon-only form-help-16\" title=\"{{tooltip.text}}\"></span>';\n }\n this.template = __WEBPACK_IMPORTED_MODULE_2__util_TemplateUtil__[\"default\"].tpl(template);\n },\n\n getTemplateData: function () {\n const options = { label: '' };\n\n __WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].each(\n ['inputId', 'label', 'sublabel', 'tooltip'],\n function (option) {\n options[option] = __WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].resultCtx(this.options, option, this);\n },\n this\n );\n\n return options;\n },\n\n _isLabelView: function (label) {\n return !__WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].isUndefined(label) && label instanceof __WEBPACK_IMPORTED_MODULE_3__BaseView__[\"default\"];\n },\n\n postRender: function () {\n const options = this.getTemplateData();\n\n if (this._isLabelView(options.label)) {\n this.removeChildren();\n this.add(options.label, 'label');\n }\n\n if (options.tooltip) {\n this.$('.o-form-tooltip').qtip(\n __WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].extend(\n {\n style: { classes: 'qtip-custom qtip-shadow' },\n position: {\n my: 'bottom left',\n at: 'top center'\n },\n hide: { fixed: true },\n show: { delay: 0 }\n },\n options.tooltip.options\n )\n );\n }\n }\n}));\n\n\n/***/ }),\n/* 64 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__BaseView__ = __webpack_require__(1);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__FormUtil__ = __webpack_require__(9);\n\n\n\n\nfunction runCallback(callback, field) {\n callback.apply(\n this,\n __WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].map(\n field.split(/\\s+/),\n function (field) {\n return this.model.get(field);\n },\n this\n )\n );\n}\n\nfunction runIf(fn, ctx) {\n if (__WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].isFunction(fn)) {\n fn.call(ctx);\n }\n}\n\n/**\n * @class InputWrapper\n * @extends Okta.View\n * @private\n * The outer wrapper that warps the label and the input container\n */\n/* harmony default export */ __webpack_exports__[\"a\"] = (__WEBPACK_IMPORTED_MODULE_1__BaseView__[\"default\"].extend({\n className: function () {\n let className = 'o-form-fieldset';\n\n if (this.options['label-top']) {\n className += ' o-form-label-top';\n }\n\n if (this.options.readOnly) {\n className += ' o-form-read-mode';\n }\n\n return className;\n },\n\n attributes: function () {\n return {\n 'data-se': this.options['data-se'] || 'o-form-fieldset'\n };\n },\n\n /**\n * @constructor\n * @param {Object} options options hash\n * @param {Object} [options.events]\n * @param {Object} [options.bindings]\n * @param {Object} [options.showWhen]\n * @param {Function} [options.initialize] post initialize callback\n * @param {Function} [options.render] post render callback\n */\n constructor: function (options) {\n if (options.className) {\n this.inputWrapperClassName = this.className;\n this.optionsClassName = options.className;\n options.className = function () {\n return __WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].result(this, 'inputWrapperClassName', '') + ' ' + __WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].result(this, 'optionsClassName');\n };\n }\n __WEBPACK_IMPORTED_MODULE_1__BaseView__[\"default\"].apply(this, arguments);\n __WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].each(\n options.events || {},\n function (callback, event) {\n this.listenTo(this.model, event, callback);\n },\n this\n );\n\n __WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].each(\n options.bindings || {},\n function (callback, field) {\n this.listenTo(\n this.model,\n __WEBPACK_IMPORTED_MODULE_2__FormUtil__[\"default\"].changeEventString(field.split(/\\s+/)),\n __WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].bind(runCallback, this, callback, field)\n );\n },\n this\n );\n\n __WEBPACK_IMPORTED_MODULE_2__FormUtil__[\"default\"].applyShowWhen(this, options.showWhen);\n __WEBPACK_IMPORTED_MODULE_2__FormUtil__[\"default\"].applyToggleWhen(this, options.toggleWhen);\n\n runIf(options.initialize, this);\n },\n\n postRender: function () {\n __WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].each(this.options.bindings || {}, runCallback, this);\n runIf(this.options.render, this);\n },\n\n /**\n * @return {InputLabel}\n */\n getLabel: function () {\n return this.size() > 1 ? this.at(0) : null;\n },\n /**\n * @deprecated ambiguous naming, use {@link #getInputContainer}\n */\n getInput: function () {\n return this.getInputContainer();\n },\n\n /**\n * @return {InputContainer}\n */\n getInputContainer: function () {\n return this.at(this.size() > 1 ? 1 : 0);\n },\n\n /**\n * @return {BaseInput[]}\n */\n getInputs: function () {\n return this.getInputContainer().toArray();\n },\n\n focus: function () {\n return this.getInput().focus();\n }\n}));\n\n\n/***/ }),\n/* 65 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\nObject.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__util_StringUtil__ = __webpack_require__(3);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__inputs_BooleanSelect__ = __webpack_require__(66);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__inputs_TextBoxSet__ = __webpack_require__(68);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__EnumTypeHelper__ = __webpack_require__(18);\n/* eslint max-statements: 0, max-params: 0 */\n\n\n\n\n\n\n// Maps each __displayType__ to a basic set of inputOptions.\nfunction defaultOptions(property) {\n const type = property.get('__displayType__');\n const values = property.get('__possibleValues__');\n const name = property.get('name');\n const title = property.get('title');\n /* eslint complexity: [2, 24] */\n\n const inputOptions = {\n type: 'text',\n name: name,\n label: title || name\n };\n\n // @see customOptions for enum complex \"object\" type,\n // a.k.a \"object\" or \"arrayofobject\" type has enum values defined.\n // Other cases (e.g., nested object type) are not support yet.\n\n switch (type) {\n case 'arrayofstring':\n inputOptions.input = __WEBPACK_IMPORTED_MODULE_3__inputs_TextBoxSet__[\"a\" /* default */];\n inputOptions.params = { itemType: 'string' };\n break;\n case 'arrayofnumber':\n inputOptions.input = __WEBPACK_IMPORTED_MODULE_3__inputs_TextBoxSet__[\"a\" /* default */];\n inputOptions.params = { itemType: 'number' };\n break;\n case 'arrayofinteger':\n inputOptions.input = __WEBPACK_IMPORTED_MODULE_3__inputs_TextBoxSet__[\"a\" /* default */];\n inputOptions.params = { itemType: 'integer' };\n break;\n case 'arrayofobject':\n inputOptions.input = __WEBPACK_IMPORTED_MODULE_3__inputs_TextBoxSet__[\"a\" /* default */];\n inputOptions.params = { itemType: property.get('items').type };\n break;\n case 'arrayofref-id':\n inputOptions.input = __WEBPACK_IMPORTED_MODULE_3__inputs_TextBoxSet__[\"a\" /* default */];\n inputOptions.params = { itemType: property.get('items').format };\n break;\n case 'boolean':\n inputOptions.input = __WEBPACK_IMPORTED_MODULE_2__inputs_BooleanSelect__[\"a\" /* default */];\n break;\n case 'integer':\n case 'number':\n inputOptions.to = convertStringToNumber;\n break;\n case 'reference':\n inputOptions.type = 'select';\n inputOptions.options = getChoices(values);\n break;\n case 'image':\n inputOptions.readOnly = true;\n inputOptions.from = function (value) {\n return __WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].isEmpty(value) ? '' : __WEBPACK_IMPORTED_MODULE_1__util_StringUtil__[\"default\"].localize('user.profile.image.image_set', 'courage'); //TODO\n };\n break;\n case 'password':\n inputOptions.type = 'password';\n break;\n case 'date':\n inputOptions.type = 'date';\n break;\n case 'uri':\n case 'country-code':\n case 'country_code':\n case 'language-code':\n case 'language_code':\n case 'email':\n case 'locale':\n case 'timezone':\n case 'string':\n case 'object':\n //default input options\n break;\n default:\n throw new Error('unknown type: ' + type);\n }\n return inputOptions;\n}\n\n// Sets nonbasic inputOptions, such as an array with possible values\nfunction customOptions(property) {\n let inputOptions = {};\n const name = property.get('name');\n const type = property.get('__displayType__');\n const values = property.get('__possibleValues__');\n const prefix = property.get('__fieldNamePrefix__');\n\n if (prefix) {\n inputOptions.name = prefix + name;\n inputOptions.errorField = name;\n }\n\n if (property.isEnumType()) {\n const configs = {\n displayType: type,\n title: property.get('title'),\n enumValues: property.getEnumValues()\n };\n\n inputOptions = __WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].extend({}, __WEBPACK_IMPORTED_MODULE_4__EnumTypeHelper__[\"a\" /* default */].getEnumInputOptions(configs), inputOptions);\n } else if (isArray(type) && values) {\n inputOptions.type = 'checkboxset';\n inputOptions.input = null;\n inputOptions.options = getChoices(values);\n }\n\n return inputOptions;\n}\n\nfunction convertStringToNumber(string) {\n const number = __WEBPACK_IMPORTED_MODULE_1__util_StringUtil__[\"default\"].parseFloat(string);\n\n return string === '' ? null : number;\n}\n\nfunction isArray(type) {\n return type && type.indexOf('array') >= 0;\n}\n\n// converts possibleValues to choices\n// [a, b, c] => {a: a, b: b, c: c}\nfunction getChoices(values) {\n return __WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].object(values, values);\n}\n\n// A schema property may have an objectName either\n// at the root level or nested in the items object\nfunction getObjectName(schemaProp) {\n const items = schemaProp.get('items');\n\n if (items) {\n return items.objectName;\n } else {\n return schemaProp.get('objectName');\n }\n}\n\nfunction augmentSchemaProp(schemaProp, possibleValues, profile) {\n const name = schemaProp.get('name');\n const prefix = profile['__nestedProperty__'];\n let defaultValues = possibleValues[name];\n const userValues = profile.get(name);\n let //TODO: Not implemented\n fixedValues;\n let values;\n\n // If API responds with a field name that differs from the form-field name\n // example: Model's 'profile.username' vs. server's 'username'\n if (prefix) {\n schemaProp.set('__fieldNamePrefix__', prefix);\n }\n\n // case 1: objectName - fixed list of values are set for the input\n fixedValues = possibleValues[getObjectName(schemaProp)];\n\n // case 2: name only - default list of values are provided, user can add more\n // TODO: this case does not yet exist, so it is not tested\n if (defaultValues && userValues) {\n defaultValues = __WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].union(defaultValues, userValues);\n }\n\n // If both fixed and default values exist,\n // take the fixed values unless they are empty\n if (fixedValues && fixedValues.length) {\n values = fixedValues;\n } else if (defaultValues && defaultValues.length) {\n values = defaultValues;\n }\n\n schemaProp.set('__possibleValues__', values);\n}\n\nfunction augmentSchemaProps(schemaProps, possibleValues, profile) {\n schemaProps.each(function (schemaProp) {\n augmentSchemaProp(schemaProp, possibleValues, profile);\n });\n\n return schemaProps;\n}\n\n/**\n * Remove invalid schema properties from a collection\n *\n * @param {SchemaProperties Collection} [properties] A collection of schema properties\n * @param {Object} [values] An object of the form { key: [value1, value2]}\n * @return {Array} An array of valid schema models, this can be used to reset\n * a schema properties collection for example.\n * @private\n */\nfunction cleanSchema(properties, values) {\n return properties.filter(function (schema) {\n return isValidSchemaProp(schema, values);\n });\n}\n\n/**\n * Checks the validity of a schema property.\n *\n * @param {SchemaProperty} [schemaProp] A schema property backbone model\n * @param {Object} [values] An object of the form { key: [value1, value2]}\n * @return {Boolean} true/false\n * @private\n */\nfunction isValidSchemaProp(schemaProp, values) {\n const objectName = getObjectName(schemaProp);\n const results = values[objectName];\n\n // a schema property that references an empty list of values\n // Im looking at you, google apps.\n if (objectName && Object(__WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"])(results).isEmpty()) {\n return false;\n }\n return true;\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n /**\n * Creates the options hash for BaseForm.addInput from a prepared schema\n * property.\n *\n * @param {Okta.Model} [preparedSchemaProp] A schema property backbone model\n * that has been standardized by the prepareSchema method.\n * @return {Object} An object containing all of the options needed by\n * BaseForm's addInput()\n */\n createInputOptions: function (preparedSchemaProp) {\n const custom = customOptions(preparedSchemaProp);\n const standard = defaultOptions(preparedSchemaProp);\n\n // underscore did not support nested extend\n // https://github.com/jashkenas/underscore/issues/162\n if (custom.params && standard.params) {\n custom.params = __WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].defaults(custom.params, standard.params);\n }\n return __WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].defaults(custom, standard);\n },\n\n hasValidSchemaProps: function (schemaProps, possibleValues) {\n if (__WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].isEmpty(schemaProps)) {\n return false;\n } else {\n const validSchema = cleanSchema(schemaProps, possibleValues);\n\n return !!validSchema.length;\n }\n },\n\n /**\n * This method is responsible for preparing a collection for the form\n * factory to use by putting all of the information to create an input\n * into the schema property and removing invalid properties.\n * The typical UD form takes 3 models:\n * The data model has the input values.\n * The schema model describes which input to use, such as a textbox or a checkbox.\n * The possible values model provide a list of default options to display, for example in a drop down menu.\n *\n * @param {SchemaProperty Collection} [schemaProps] A schema property backbone model.\n * @param {Object} [possibleValues] An object of the form { key: [value1, value2]}\n * @param {Okta.Model} [profile] A backbone model containing the property described by the schema property.\n * @return {SchemaProperty Collection} A schema property collection with standardized models.\n * The standard schema model adds a couple of additional private properties to\n * allow the form factory to reference lookup values or name prefixes without going to a second model.\n */\n prepareSchema: function (schemaProps, possibleValues, profile) {\n schemaProps.reset(cleanSchema(schemaProps, possibleValues));\n return augmentSchemaProps(schemaProps, possibleValues, profile);\n },\n\n /**\n * `prepareSchema` will reset the property list which may not be necessary at some case.\n * like when setting default value for schema properties.\n * (more detail about such case @see wiki UX, App+Entitlements+for+Provisioning)\n *\n * @param { }\n * @return {String}\n */\n\n augmentSchemaProps: augmentSchemaProps,\n\n augmentSchemaProp: augmentSchemaProp\n});\n\n\n/***/ }),\n/* 66 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__Select__ = __webpack_require__(28);\n\nconst options = {\n undefined: 'undefined',\n true: 'true',\n false: 'false'\n};\n\nconst from = function (val) {\n if (val) {\n return 'true';\n }\n if (val === false) {\n return 'false';\n }\n return 'undefined';\n};\n\nconst to = function (val) {\n switch (val) {\n case 'undefined':\n return null;\n case 'true':\n return true;\n case 'false':\n return false;\n default:\n return null;\n }\n};\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (__WEBPACK_IMPORTED_MODULE_0__Select__[\"default\"].extend({\n initialize: function () {\n this.options.options = options;\n this.options.from = from;\n this.options.to = to;\n }\n}));\n\n\n/***/ }),\n/* 67 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;// Chosen, a Select Box Enhancer for jQuery and Prototype\n// by Patrick Filler for Harvest, http://getharvest.com\n//\n// Version 0.11.1\n// Full source at https://github.com/harvesthq/chosen\n// Copyright (c) 2011 Harvest http://getharvest.com\n\n// MIT License, https://github.com/harvesthq/chosen/blob/master/LICENSE.md\n// This file is generated by `grunt build`, do not edit it by hand.\n\n!(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(12)], __WEBPACK_AMD_DEFINE_RESULT__ = (function (jQuery) {\n (function() {\n var SelectParser;\n\n SelectParser = (function() {\n function SelectParser() {\n this.options_index = 0;\n this.parsed = [];\n }\n\n SelectParser.prototype.add_node = function(child) {\n if (child.nodeName.toUpperCase() === \"OPTGROUP\") {\n return this.add_group(child);\n } else {\n return this.add_option(child);\n }\n };\n\n SelectParser.prototype.add_group = function(group) {\n var group_position, option, _i, _len, _ref, _results;\n\n group_position = this.parsed.length;\n this.parsed.push({\n array_index: group_position,\n group: true,\n label: group.label,\n children: 0,\n disabled: group.disabled\n });\n _ref = group.childNodes;\n _results = [];\n for (_i = 0, _len = _ref.length; _i < _len; _i++) {\n option = _ref[_i];\n _results.push(this.add_option(option, group_position, group.disabled));\n }\n return _results;\n };\n\n SelectParser.prototype.add_option = function(option, group_position, group_disabled) {\n if (option.nodeName.toUpperCase() === \"OPTION\") {\n if (option.text !== \"\") {\n if (group_position != null) {\n this.parsed[group_position].children += 1;\n }\n this.parsed.push({\n array_index: this.parsed.length,\n options_index: this.options_index,\n value: option.value,\n text: option.text,\n html: option.innerHTML,\n selected: option.selected,\n disabled: group_disabled === true ? group_disabled : option.disabled,\n group_array_index: group_position,\n classes: option.className,\n style: option.style.cssText\n });\n } else {\n this.parsed.push({\n array_index: this.parsed.length,\n options_index: this.options_index,\n empty: true\n });\n }\n return this.options_index += 1;\n }\n };\n\n return SelectParser;\n\n })();\n\n SelectParser.select_to_array = function(select) {\n var child, parser, _i, _len, _ref;\n\n parser = new SelectParser();\n _ref = select.childNodes;\n for (_i = 0, _len = _ref.length; _i < _len; _i++) {\n child = _ref[_i];\n parser.add_node(child);\n }\n return parser.parsed;\n };\n\n this.SelectParser = SelectParser;\n\n }).call(this);\n\n (function() {\n var AbstractChosen, root;\n\n root = this;\n\n AbstractChosen = (function() {\n function AbstractChosen(form_field, options) {\n this.form_field = form_field;\n this.options = options != null ? options : {};\n if (!AbstractChosen.browser_is_supported()) {\n return;\n }\n this.is_multiple = this.form_field.multiple;\n this.set_default_text();\n this.set_default_values();\n this.setup();\n this.set_up_html();\n this.register_observers();\n this.finish_setup();\n }\n\n AbstractChosen.prototype.set_default_values = function() {\n var _this = this;\n\n this.click_test_action = function(evt) {\n return _this.test_active_click(evt);\n };\n this.activate_action = function(evt) {\n return _this.activate_field(evt);\n };\n this.active_field = false;\n this.mouse_on_container = false;\n this.results_showing = false;\n this.result_highlighted = null;\n this.result_single_selected = null;\n this.allow_single_deselect = (this.options.allow_single_deselect != null) && (this.form_field.options[0] != null) && this.form_field.options[0].text === \"\" ? this.options.allow_single_deselect : false;\n this.disable_search_threshold = this.options.disable_search_threshold || 0;\n this.disable_search = this.options.disable_search || false;\n this.enable_split_word_search = this.options.enable_split_word_search != null ? this.options.enable_split_word_search : true;\n this.search_contains = this.options.search_contains || false;\n this.single_backstroke_delete = this.options.single_backstroke_delete || false;\n this.max_selected_options = this.options.max_selected_options || Infinity;\n return this.inherit_select_classes = this.options.inherit_select_classes || false;\n };\n\n AbstractChosen.prototype.set_default_text = function() {\n if (this.form_field.getAttribute(\"data-placeholder\")) {\n this.default_text = this.form_field.getAttribute(\"data-placeholder\");\n } else if (this.is_multiple) {\n this.default_text = this.options.placeholder_text_multiple || this.options.placeholder_text || AbstractChosen.default_multiple_text;\n } else {\n this.default_text = this.options.placeholder_text_single || this.options.placeholder_text || AbstractChosen.default_single_text;\n }\n return this.results_none_found = this.form_field.getAttribute(\"data-no_results_text\") || this.options.no_results_text || AbstractChosen.default_no_result_text;\n };\n\n AbstractChosen.prototype.mouse_enter = function() {\n return this.mouse_on_container = true;\n };\n\n AbstractChosen.prototype.mouse_leave = function() {\n return this.mouse_on_container = false;\n };\n\n AbstractChosen.prototype.input_focus = function(evt) {\n var _this = this;\n\n if (this.is_multiple) {\n if (!this.active_field) {\n return setTimeout((function() {\n return _this.container_mousedown();\n }), 50);\n }\n } else {\n if (!this.active_field) {\n return this.activate_field();\n }\n }\n };\n\n AbstractChosen.prototype.input_blur = function(evt) {\n var _this = this;\n\n if (!this.mouse_on_container) {\n this.active_field = false;\n return setTimeout((function() {\n return _this.blur_test();\n }), 100);\n }\n };\n\n AbstractChosen.prototype.result_add_option = function(option) {\n var classes, style;\n\n option.dom_id = this.container_id + \"_o_\" + option.array_index;\n classes = [];\n if (!option.disabled && !(option.selected && this.is_multiple)) {\n classes.push(\"active-result\");\n }\n if (option.disabled && !(option.selected && this.is_multiple)) {\n classes.push(\"disabled-result\");\n }\n if (option.selected) {\n classes.push(\"result-selected\");\n }\n if (option.group_array_index != null) {\n classes.push(\"group-option\");\n }\n if (option.classes !== \"\") {\n classes.push(option.classes);\n }\n style = option.style.cssText !== \"\" ? \" style=\\\"\" + option.style + \"\\\"\" : \"\";\n return '<li id=\"' + option.dom_id + '\" class=\"' + classes.join(' ') + '\"' + style + '>' + option.html + '</li>';\n };\n\n AbstractChosen.prototype.results_update_field = function() {\n this.set_default_text();\n if (!this.is_multiple) {\n this.results_reset_cleanup();\n }\n this.result_clear_highlight();\n this.result_single_selected = null;\n return this.results_build();\n };\n\n AbstractChosen.prototype.results_toggle = function() {\n if (this.results_showing) {\n return this.results_hide();\n } else {\n return this.results_show();\n }\n };\n\n AbstractChosen.prototype.results_search = function(evt) {\n if (this.results_showing) {\n return this.winnow_results();\n } else {\n return this.results_show();\n }\n };\n\n AbstractChosen.prototype.choices_count = function() {\n var option, _i, _len, _ref;\n\n if (this.selected_option_count != null) {\n return this.selected_option_count;\n }\n this.selected_option_count = 0;\n _ref = this.form_field.options;\n for (_i = 0, _len = _ref.length; _i < _len; _i++) {\n option = _ref[_i];\n if (option.selected) {\n this.selected_option_count += 1;\n }\n }\n return this.selected_option_count;\n };\n\n AbstractChosen.prototype.choices_click = function(evt) {\n evt.preventDefault();\n if (!(this.results_showing || this.is_disabled)) {\n return this.results_show();\n }\n };\n\n AbstractChosen.prototype.keyup_checker = function(evt) {\n var stroke, _ref;\n\n stroke = (_ref = evt.which) != null ? _ref : evt.keyCode;\n this.search_field_scale();\n switch (stroke) {\n case 8:\n if (this.is_multiple && this.backstroke_length < 1 && this.choices_count() > 0) {\n return this.keydown_backstroke();\n } else if (!this.pending_backstroke) {\n this.result_clear_highlight();\n return this.results_search();\n }\n break;\n case 13:\n evt.preventDefault();\n if (this.results_showing) {\n return this.result_select(evt);\n }\n break;\n case 27:\n if (this.results_showing) {\n this.results_hide();\n }\n return true;\n case 9:\n case 38:\n case 40:\n case 16:\n case 91:\n case 17:\n break;\n default:\n return this.results_search();\n }\n };\n\n AbstractChosen.prototype.generate_field_id = function() {\n var new_id;\n\n new_id = this.generate_random_id();\n this.form_field.id = new_id;\n return new_id;\n };\n\n AbstractChosen.prototype.generate_random_char = function() {\n var chars, newchar, rand;\n\n chars = \"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ\";\n rand = Math.floor(Math.random() * chars.length);\n return newchar = chars.substring(rand, rand + 1);\n };\n\n AbstractChosen.prototype.container_width = function() {\n if (this.options.width != null) {\n return this.options.width;\n } else {\n return \"\" + this.form_field.offsetWidth + \"px\";\n }\n };\n\n AbstractChosen.browser_is_supported = function() {\n var _ref;\n\n if (window.navigator.appName === \"Microsoft Internet Explorer\") {\n return (null !== (_ref = document.documentMode) && _ref >= 8);\n }\n return true;\n };\n\n AbstractChosen.default_multiple_text = \"Select Some Options\";\n\n AbstractChosen.default_single_text = \"Select an Option\";\n\n AbstractChosen.default_no_result_text = \"No results match\";\n\n return AbstractChosen;\n\n })();\n\n root.AbstractChosen = AbstractChosen;\n\n }).call(this);\n\n (function() {\n var $, Chosen, root, _ref,\n __hasProp = {}.hasOwnProperty,\n __extends = function(child, parent) { for (var key in parent) { if (__hasProp.call(parent, key)) child[key] = parent[key]; } function ctor() { this.constructor = child; } ctor.prototype = parent.prototype; child.prototype = new ctor(); child.__super__ = parent.prototype; return child; };\n\n root = this;\n\n // OKTA-93521 - plugin assumes root is global scope\n var AbstractChosen = root.AbstractChosen;\n\n $ = jQuery;\n\n $.fn.extend({\n chosen: function(options) {\n if (!AbstractChosen.browser_is_supported()) {\n return this;\n }\n return this.each(function(input_field) {\n var $this;\n\n $this = $(this);\n if (!$this.hasClass(\"chzn-done\")) {\n return $this.data('chosen', new Chosen(this, options));\n }\n });\n }\n });\n\n Chosen = (function(_super) {\n __extends(Chosen, _super);\n\n function Chosen() {\n _ref = Chosen.__super__.constructor.apply(this, arguments);\n return _ref;\n }\n\n Chosen.prototype.setup = function() {\n this.form_field_jq = $(this.form_field);\n this.current_selectedIndex = this.form_field.selectedIndex;\n return this.is_rtl = this.form_field_jq.hasClass(\"chzn-rtl\");\n };\n\n Chosen.prototype.finish_setup = function() {\n return this.form_field_jq.addClass(\"chzn-done\");\n };\n\n Chosen.prototype.set_up_html = function() {\n var container_classes, container_props;\n\n this.container_id = this.form_field.id.length ? this.form_field.id.replace(/[^\\w]/g, '_') : this.generate_field_id();\n this.container_id += \"_chzn\";\n container_classes = [\"chzn-container\"];\n container_classes.push(\"chzn-container-\" + (this.is_multiple ? \"multi\" : \"single\"));\n if (this.inherit_select_classes && this.form_field.className) {\n container_classes.push(this.form_field.className);\n }\n if (this.is_rtl) {\n container_classes.push(\"chzn-rtl\");\n }\n container_props = {\n 'id': this.container_id,\n 'class': container_classes.join(' '),\n 'style': \"width: \" + (this.container_width()) + \";\",\n 'title': this.form_field.title\n };\n this.container = $(\"<div />\", container_props);\n if (this.is_multiple) {\n this.container.html('<ul class=\"chzn-choices\"><li class=\"search-field\"><input type=\"text\" value=\"' + this.default_text + '\" class=\"default\" autocomplete=\"off\" style=\"width:25px;\" /></li></ul><div class=\"chzn-drop\"><ul class=\"chzn-results\"></ul></div>');\n } else {\n this.container.html('<a href=\"javascript:void(0)\" class=\"chzn-single chzn-default\" tabindex=\"-1\"><span>' + this.default_text + '</span><div><b></b></div></a><div class=\"chzn-drop\"><div class=\"chzn-search\"><input type=\"text\" autocomplete=\"off\" /></div><ul class=\"chzn-results\"></ul></div>');\n }\n this.form_field_jq.hide().after(this.container);\n this.dropdown = this.container.find('div.chzn-drop').first();\n this.search_field = this.container.find('input').first();\n this.search_results = this.container.find('ul.chzn-results').first();\n this.search_field_scale();\n this.search_no_results = this.container.find('li.no-results').first();\n if (this.is_multiple) {\n this.search_choices = this.container.find('ul.chzn-choices').first();\n this.search_container = this.container.find('li.search-field').first();\n } else {\n this.search_container = this.container.find('div.chzn-search').first();\n this.selected_item = this.container.find('.chzn-single').first();\n }\n this.results_build();\n this.set_tab_index();\n this.set_label_behavior();\n return this.form_field_jq.trigger(\"liszt:ready\", {\n chosen: this\n });\n };\n\n Chosen.prototype.register_observers = function() {\n var _this = this;\n\n this.container.mousedown(function(evt) {\n _this.container_mousedown(evt);\n });\n this.container.mouseup(function(evt) {\n _this.container_mouseup(evt);\n });\n this.container.mouseenter(function(evt) {\n _this.mouse_enter(evt);\n });\n this.container.mouseleave(function(evt) {\n _this.mouse_leave(evt);\n });\n this.search_results.mouseup(function(evt) {\n _this.search_results_mouseup(evt);\n });\n this.search_results.mouseover(function(evt) {\n _this.search_results_mouseover(evt);\n });\n this.search_results.mouseout(function(evt) {\n _this.search_results_mouseout(evt);\n });\n this.search_results.bind('mousewheel DOMMouseScroll', function(evt) {\n _this.search_results_mousewheel(evt);\n });\n this.form_field_jq.bind(\"liszt:updated\", function(evt) {\n _this.results_update_field(evt);\n });\n this.form_field_jq.bind(\"liszt:activate\", function(evt) {\n _this.activate_field(evt);\n });\n this.form_field_jq.bind(\"liszt:open\", function(evt) {\n _this.container_mousedown(evt);\n });\n this.search_field.blur(function(evt) {\n _this.input_blur(evt);\n });\n this.search_field.keyup(function(evt) {\n _this.keyup_checker(evt);\n });\n this.search_field.keydown(function(evt) {\n _this.keydown_checker(evt);\n });\n this.search_field.focus(function(evt) {\n _this.input_focus(evt);\n });\n if (this.is_multiple) {\n return this.search_choices.click(function(evt) {\n _this.choices_click(evt);\n });\n } else {\n return this.container.click(function(evt) {\n evt.preventDefault();\n });\n }\n };\n\n Chosen.prototype.search_field_disabled = function() {\n this.is_disabled = this.form_field_jq[0].disabled;\n if (this.is_disabled) {\n this.container.addClass('chzn-disabled');\n this.search_field[0].disabled = true;\n if (!this.is_multiple) {\n this.selected_item.unbind(\"focus\", this.activate_action);\n }\n return this.close_field();\n } else {\n this.container.removeClass('chzn-disabled');\n this.search_field[0].disabled = false;\n if (!this.is_multiple) {\n return this.selected_item.bind(\"focus\", this.activate_action);\n }\n }\n };\n\n Chosen.prototype.container_mousedown = function(evt) {\n if (!this.is_disabled) {\n if (evt && evt.type === \"mousedown\" && !this.results_showing) {\n evt.preventDefault();\n }\n if (!((evt != null) && ($(evt.target)).hasClass(\"search-choice-close\"))) {\n if (!this.active_field) {\n if (this.is_multiple) {\n this.search_field.val(\"\");\n }\n $(document).click(this.click_test_action);\n this.results_show();\n } else if (!this.is_multiple && evt && (($(evt.target)[0] === this.selected_item[0]) || $(evt.target).parents(\"a.chzn-single\").length)) {\n evt.preventDefault();\n this.results_toggle();\n }\n return this.activate_field();\n }\n }\n };\n\n Chosen.prototype.container_mouseup = function(evt) {\n if (evt.target.nodeName === \"ABBR\" && !this.is_disabled) {\n return this.results_reset(evt);\n }\n };\n\n Chosen.prototype.search_results_mousewheel = function(evt) {\n var delta, _ref1, _ref2;\n\n delta = -((_ref1 = evt.originalEvent) != null ? _ref1.wheelDelta : void 0) || ((_ref2 = evt.originialEvent) != null ? _ref2.detail : void 0);\n if (delta != null) {\n evt.preventDefault();\n if (evt.type === 'DOMMouseScroll') {\n delta = delta * 40;\n }\n return this.search_results.scrollTop(delta + this.search_results.scrollTop());\n }\n };\n\n Chosen.prototype.blur_test = function(evt) {\n if (!this.active_field && this.container.hasClass(\"chzn-container-active\")) {\n return this.close_field();\n }\n };\n\n Chosen.prototype.close_field = function() {\n $(document).unbind(\"click\", this.click_test_action);\n this.active_field = false;\n this.results_hide();\n this.container.removeClass(\"chzn-container-active\");\n this.clear_backstroke();\n this.show_search_field_default();\n return this.search_field_scale();\n };\n\n Chosen.prototype.activate_field = function() {\n this.container.addClass(\"chzn-container-active\");\n this.active_field = true;\n this.search_field.val(this.search_field.val());\n return this.search_field.focus();\n };\n\n Chosen.prototype.test_active_click = function(evt) {\n if ($(evt.target).parents('#' + this.container_id).length) {\n return this.active_field = true;\n } else {\n return this.close_field();\n }\n };\n\n Chosen.prototype.results_build = function() {\n var content, data, _i, _len, _ref1;\n\n this.parsing = true;\n this.selected_option_count = null;\n this.results_data = root.SelectParser.select_to_array(this.form_field);\n if (this.is_multiple) {\n this.search_choices.find(\"li.search-choice\").remove();\n } else if (!this.is_multiple) {\n this.selected_item.addClass(\"chzn-default\").find(\"span\").text(this.default_text);\n if (this.disable_search || this.form_field.options.length <= this.disable_search_threshold) {\n this.search_field[0].readOnly = true;\n this.container.addClass(\"chzn-container-single-nosearch\");\n } else {\n this.search_field[0].readOnly = false;\n this.container.removeClass(\"chzn-container-single-nosearch\");\n }\n }\n content = '';\n _ref1 = this.results_data;\n for (_i = 0, _len = _ref1.length; _i < _len; _i++) {\n data = _ref1[_i];\n if (data.group) {\n content += this.result_add_group(data);\n } else if (!data.empty) {\n content += this.result_add_option(data);\n if (data.selected && this.is_multiple) {\n this.choice_build(data);\n } else if (data.selected && !this.is_multiple) {\n this.selected_item.removeClass(\"chzn-default\").find(\"span\").text(data.text);\n if (this.allow_single_deselect) {\n this.single_deselect_control_build();\n }\n }\n }\n }\n this.search_field_disabled();\n this.show_search_field_default();\n this.search_field_scale();\n this.search_results.html(content);\n return this.parsing = false;\n };\n\n Chosen.prototype.result_add_group = function(group) {\n group.dom_id = this.container_id + \"_g_\" + group.array_index;\n return '<li id=\"' + group.dom_id + '\" class=\"group-result\">' + $(\"<div />\").text(group.label).html() + '</li>';\n };\n\n Chosen.prototype.result_do_highlight = function(el) {\n var high_bottom, high_top, maxHeight, visible_bottom, visible_top;\n\n if (el.length) {\n this.result_clear_highlight();\n this.result_highlight = el;\n this.result_highlight.addClass(\"highlighted\");\n maxHeight = parseInt(this.search_results.css(\"maxHeight\"), 10);\n visible_top = this.search_results.scrollTop();\n visible_bottom = maxHeight + visible_top;\n high_top = this.result_highlight.position().top + this.search_results.scrollTop();\n high_bottom = high_top + this.result_highlight.outerHeight();\n if (high_bottom >= visible_bottom) {\n return this.search_results.scrollTop((high_bottom - maxHeight) > 0 ? high_bottom - maxHeight : 0);\n } else if (high_top < visible_top) {\n return this.search_results.scrollTop(high_top);\n }\n }\n };\n\n Chosen.prototype.result_clear_highlight = function() {\n if (this.result_highlight) {\n this.result_highlight.removeClass(\"highlighted\");\n }\n return this.result_highlight = null;\n };\n\n Chosen.prototype.results_show = function() {\n if (this.is_multiple && this.max_selected_options <= this.choices_count()) {\n this.form_field_jq.trigger(\"liszt:maxselected\", {\n chosen: this\n });\n return false;\n }\n this.container.addClass(\"chzn-with-drop\");\n this.form_field_jq.trigger(\"liszt:showing_dropdown\", {\n chosen: this\n });\n this.results_showing = true;\n this.search_field.focus();\n this.search_field.val(this.search_field.val());\n return this.winnow_results();\n };\n\n Chosen.prototype.results_hide = function() {\n if (this.results_showing) {\n this.result_clear_highlight();\n this.container.removeClass(\"chzn-with-drop\");\n this.form_field_jq.trigger(\"liszt:hiding_dropdown\", {\n chosen: this\n });\n }\n return this.results_showing = false;\n };\n\n Chosen.prototype.set_tab_index = function(el) {\n var ti;\n\n if (this.form_field_jq.attr(\"tabindex\")) {\n ti = this.form_field_jq.attr(\"tabindex\");\n this.form_field_jq.attr(\"tabindex\", -1);\n return this.search_field.attr(\"tabindex\", ti);\n }\n };\n\n Chosen.prototype.set_label_behavior = function() {\n var _this = this;\n\n this.form_field_label = this.form_field_jq.parents(\"label\");\n if (!this.form_field_label.length && this.form_field.id.length) {\n this.form_field_label = $(\"label[for='\" + this.form_field.id + \"']\");\n }\n if (this.form_field_label.length > 0) {\n return this.form_field_label.click(function(evt) {\n if (_this.is_multiple) {\n return _this.container_mousedown(evt);\n } else {\n return _this.activate_field();\n }\n });\n }\n };\n\n Chosen.prototype.show_search_field_default = function() {\n if (this.is_multiple && this.choices_count() < 1 && !this.active_field) {\n this.search_field.val(this.default_text);\n return this.search_field.addClass(\"default\");\n } else {\n this.search_field.val(\"\");\n return this.search_field.removeClass(\"default\");\n }\n };\n\n Chosen.prototype.search_results_mouseup = function(evt) {\n var target;\n\n target = $(evt.target).hasClass(\"active-result\") ? $(evt.target) : $(evt.target).parents(\".active-result\").first();\n if (target.length) {\n this.result_highlight = target;\n this.result_select(evt);\n return this.search_field.focus();\n }\n };\n\n Chosen.prototype.search_results_mouseover = function(evt) {\n var target;\n\n target = $(evt.target).hasClass(\"active-result\") ? $(evt.target) : $(evt.target).parents(\".active-result\").first();\n if (target) {\n return this.result_do_highlight(target);\n }\n };\n\n Chosen.prototype.search_results_mouseout = function(evt) {\n if ($(evt.target).hasClass(\"active-result\" || $(evt.target).parents('.active-result').first())) {\n return this.result_clear_highlight();\n }\n };\n\n Chosen.prototype.choice_build = function(item) {\n var choice, close_link,\n _this = this;\n\n choice = $('<li />', {\n \"class\": \"search-choice\"\n }).html(\"<span>\" + item.html + \"</span>\");\n if (item.disabled) {\n choice.addClass('search-choice-disabled');\n } else {\n close_link = $('<a />', {\n href: '#',\n \"class\": 'search-choice-close',\n rel: item.array_index\n });\n close_link.click(function(evt) {\n return _this.choice_destroy_link_click(evt);\n });\n choice.append(close_link);\n }\n return this.search_container.before(choice);\n };\n\n Chosen.prototype.choice_destroy_link_click = function(evt) {\n evt.preventDefault();\n evt.stopPropagation();\n if (!this.is_disabled) {\n return this.choice_destroy($(evt.target));\n }\n };\n\n Chosen.prototype.choice_destroy = function(link) {\n if (this.result_deselect(link.attr(\"rel\"))) {\n this.show_search_field_default();\n if (this.is_multiple && this.choices_count() > 0 && this.search_field.val().length < 1) {\n this.results_hide();\n }\n link.parents('li').first().remove();\n return this.search_field_scale();\n }\n };\n\n Chosen.prototype.results_reset = function() {\n this.form_field.options[0].selected = true;\n this.selected_option_count = null;\n this.selected_item.find(\"span\").text(this.default_text);\n if (!this.is_multiple) {\n this.selected_item.addClass(\"chzn-default\");\n }\n this.show_search_field_default();\n this.results_reset_cleanup();\n this.form_field_jq.trigger(\"change\");\n if (this.active_field) {\n return this.results_hide();\n }\n };\n\n Chosen.prototype.results_reset_cleanup = function() {\n this.current_selectedIndex = this.form_field.selectedIndex;\n return this.selected_item.find(\"abbr\").remove();\n };\n\n Chosen.prototype.result_select = function(evt) {\n var high, high_id, item, position;\n\n if (this.result_highlight) {\n high = this.result_highlight;\n high_id = high.attr(\"id\");\n this.result_clear_highlight();\n if (this.is_multiple && this.max_selected_options <= this.choices_count()) {\n this.form_field_jq.trigger(\"liszt:maxselected\", {\n chosen: this\n });\n return false;\n }\n if (this.is_multiple) {\n high.removeClass(\"active-result\");\n } else {\n this.search_results.find(\".result-selected\").removeClass(\"result-selected\");\n this.result_single_selected = high;\n this.selected_item.removeClass(\"chzn-default\");\n }\n high.addClass(\"result-selected\");\n position = high_id.substr(high_id.lastIndexOf(\"_\") + 1);\n item = this.results_data[position];\n item.selected = true;\n this.form_field.options[item.options_index].selected = true;\n this.selected_option_count = null;\n if (this.is_multiple) {\n this.choice_build(item);\n } else {\n this.selected_item.find(\"span\").first().text(item.text);\n if (this.allow_single_deselect) {\n this.single_deselect_control_build();\n }\n }\n if (!((evt.metaKey || evt.ctrlKey) && this.is_multiple)) {\n this.results_hide();\n }\n this.search_field.val(\"\");\n if (this.is_multiple || this.form_field.selectedIndex !== this.current_selectedIndex) {\n this.form_field_jq.trigger(\"change\", {\n 'selected': this.form_field.options[item.options_index].value\n });\n }\n this.current_selectedIndex = this.form_field.selectedIndex;\n return this.search_field_scale();\n }\n };\n\n Chosen.prototype.result_activate = function(el, option) {\n if (option.disabled) {\n return el.addClass(\"disabled-result\");\n } else if (this.is_multiple && option.selected) {\n return el.addClass(\"result-selected\");\n } else {\n return el.addClass(\"active-result\");\n }\n };\n\n Chosen.prototype.result_deactivate = function(el) {\n return el.removeClass(\"active-result result-selected disabled-result\");\n };\n\n Chosen.prototype.result_deselect = function(pos) {\n var result, result_data;\n\n result_data = this.results_data[pos];\n if (!this.form_field.options[result_data.options_index].disabled) {\n result_data.selected = false;\n this.form_field.options[result_data.options_index].selected = false;\n this.selected_option_count = null;\n result = $(\"#\" + this.container_id + \"_o_\" + pos);\n result.removeClass(\"result-selected\").addClass(\"active-result\").show();\n this.result_clear_highlight();\n this.winnow_results();\n this.form_field_jq.trigger(\"change\", {\n deselected: this.form_field.options[result_data.options_index].value\n });\n this.search_field_scale();\n return true;\n } else {\n return false;\n }\n };\n\n Chosen.prototype.single_deselect_control_build = function() {\n if (!this.allow_single_deselect) {\n return;\n }\n if (!this.selected_item.find(\"abbr\").length) {\n this.selected_item.find(\"span\").first().after(\"<abbr class=\\\"search-choice-close\\\"></abbr>\");\n }\n return this.selected_item.addClass(\"chzn-single-with-deselect\");\n };\n\n Chosen.prototype.winnow_results = function() {\n var found, option, part, parts, regex, regexAnchor, result, result_id, results, searchText, startpos, text, zregex, _i, _j, _len, _len1, _ref1;\n\n this.no_results_clear();\n results = 0;\n searchText = this.search_field.val() === this.default_text ? \"\" : $('<div/>').text($.trim(this.search_field.val())).html();\n regexAnchor = this.search_contains ? \"\" : \"^\";\n regex = new RegExp(regexAnchor + searchText.replace(/[-[\\]{}()*+?.,\\\\^$|#\\s]/g, \"\\\\$&\"), 'i');\n zregex = new RegExp(searchText.replace(/[-[\\]{}()*+?.,\\\\^$|#\\s]/g, \"\\\\$&\"), 'i');\n _ref1 = this.results_data;\n for (_i = 0, _len = _ref1.length; _i < _len; _i++) {\n option = _ref1[_i];\n if (!option.empty) {\n if (option.group) {\n $('#' + option.dom_id).css('display', 'none');\n } else {\n found = false;\n result_id = option.dom_id;\n result = $(\"#\" + result_id);\n if (regex.test(option.html)) {\n found = true;\n results += 1;\n } else if (this.enable_split_word_search && (option.html.indexOf(\" \") >= 0 || option.html.indexOf(\"[\") === 0)) {\n parts = option.html.replace(/\\[|\\]/g, \"\").split(\" \");\n if (parts.length) {\n for (_j = 0, _len1 = parts.length; _j < _len1; _j++) {\n part = parts[_j];\n if (regex.test(part)) {\n found = true;\n results += 1;\n }\n }\n }\n }\n if (found) {\n if (searchText.length) {\n startpos = option.html.search(zregex);\n text = option.html.substr(0, startpos + searchText.length) + '</em>' + option.html.substr(startpos + searchText.length);\n text = text.substr(0, startpos) + '<em>' + text.substr(startpos);\n } else {\n text = option.html;\n }\n result.html(text);\n this.result_activate(result, option);\n if (option.group_array_index != null) {\n $(\"#\" + this.results_data[option.group_array_index].dom_id).css('display', 'list-item');\n }\n } else {\n if (this.result_highlight && result_id === this.result_highlight.attr('id')) {\n this.result_clear_highlight();\n }\n this.result_deactivate(result);\n }\n }\n }\n }\n if (results < 1 && searchText.length) {\n return this.no_results(searchText);\n } else {\n return this.winnow_results_set_highlight();\n }\n };\n\n Chosen.prototype.winnow_results_set_highlight = function() {\n var do_high, selected_results;\n\n if (!this.result_highlight) {\n selected_results = !this.is_multiple ? this.search_results.find(\".result-selected.active-result\") : [];\n do_high = selected_results.length ? selected_results.first() : this.search_results.find(\".active-result\").first();\n if (do_high != null) {\n return this.result_do_highlight(do_high);\n }\n }\n };\n\n Chosen.prototype.no_results = function(terms) {\n var no_results_html;\n\n no_results_html = $('<li class=\"no-results\">' + this.results_none_found + ' \"<span></span>\"</li>');\n no_results_html.find(\"span\").first().html(terms);\n return this.search_results.append(no_results_html);\n };\n\n Chosen.prototype.no_results_clear = function() {\n return this.search_results.find(\".no-results\").remove();\n };\n\n Chosen.prototype.keydown_arrow = function() {\n var next_sib;\n\n if (this.results_showing && this.result_highlight) {\n next_sib = this.result_highlight.nextAll(\"li.active-result\").first();\n if (next_sib) {\n return this.result_do_highlight(next_sib);\n }\n } else {\n return this.results_show();\n }\n };\n\n Chosen.prototype.keyup_arrow = function() {\n var prev_sibs;\n\n if (!this.results_showing && !this.is_multiple) {\n return this.results_show();\n } else if (this.result_highlight) {\n prev_sibs = this.result_highlight.prevAll(\"li.active-result\");\n if (prev_sibs.length) {\n return this.result_do_highlight(prev_sibs.first());\n } else {\n if (this.choices_count() > 0) {\n this.results_hide();\n }\n return this.result_clear_highlight();\n }\n }\n };\n\n Chosen.prototype.keydown_backstroke = function() {\n var next_available_destroy;\n\n if (this.pending_backstroke) {\n this.choice_destroy(this.pending_backstroke.find(\"a\").first());\n return this.clear_backstroke();\n } else {\n next_available_destroy = this.search_container.siblings(\"li.search-choice\").last();\n if (next_available_destroy.length && !next_available_destroy.hasClass(\"search-choice-disabled\")) {\n this.pending_backstroke = next_available_destroy;\n if (this.single_backstroke_delete) {\n return this.keydown_backstroke();\n } else {\n return this.pending_backstroke.addClass(\"search-choice-focus\");\n }\n }\n }\n };\n\n Chosen.prototype.clear_backstroke = function() {\n if (this.pending_backstroke) {\n this.pending_backstroke.removeClass(\"search-choice-focus\");\n }\n return this.pending_backstroke = null;\n };\n\n Chosen.prototype.keydown_checker = function(evt) {\n var stroke, _ref1;\n\n stroke = (_ref1 = evt.which) != null ? _ref1 : evt.keyCode;\n this.search_field_scale();\n if (stroke !== 8 && this.pending_backstroke) {\n this.clear_backstroke();\n }\n switch (stroke) {\n case 8:\n this.backstroke_length = this.search_field.val().length;\n break;\n case 9:\n if (this.results_showing && !this.is_multiple) {\n this.result_select(evt);\n }\n this.mouse_on_container = false;\n break;\n case 13:\n evt.preventDefault();\n break;\n case 38:\n evt.preventDefault();\n this.keyup_arrow();\n break;\n case 40:\n evt.preventDefault();\n this.keydown_arrow();\n break;\n }\n };\n\n Chosen.prototype.search_field_scale = function() {\n var div, h, style, style_block, styles, w, _i, _len;\n\n if (this.is_multiple) {\n h = 0;\n w = 0;\n style_block = \"position:absolute; left: -1000px; top: -1000px; display:none;\";\n styles = ['font-size', 'font-style', 'font-weight', 'font-family', 'line-height', 'text-transform', 'letter-spacing'];\n for (_i = 0, _len = styles.length; _i < _len; _i++) {\n style = styles[_i];\n style_block += style + \":\" + this.search_field.css(style) + \";\";\n }\n div = $('<div />', {\n 'style': style_block\n });\n div.text(this.search_field.val());\n $('body').append(div);\n w = div.width() + 25;\n div.remove();\n if (!this.f_width) {\n this.f_width = this.container.outerWidth();\n }\n if (w > this.f_width - 10) {\n w = this.f_width - 10;\n }\n return this.search_field.css({\n 'width': w + 'px'\n });\n }\n };\n\n Chosen.prototype.generate_random_id = function() {\n var string;\n\n string = \"sel\" + this.generate_random_char() + this.generate_random_char() + this.generate_random_char();\n while ($(\"#\" + string).length > 0) {\n string += this.generate_random_char();\n }\n return string;\n };\n\n return Chosen;\n\n })(AbstractChosen);\n\n root.Chosen = Chosen;\n\n }).call(this);\n\n}).apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\n/***/ }),\n/* 68 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__util_SchemaUtil__ = __webpack_require__(13);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__BaseInput__ = __webpack_require__(10);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__DeletableBox__ = __webpack_require__(69);\n\n\n\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (__WEBPACK_IMPORTED_MODULE_2__BaseInput__[\"a\" /* default */].extend({\n className: 'array-input',\n\n template: '<a href=\"#\" class=\"array-inputs-button link-button\">Add Another</a>',\n\n params: {\n itemType: 'string'\n },\n\n events: {\n 'click .array-inputs-button': function (e) {\n e.preventDefault();\n if (this.isEditMode()) {\n this.addNewElement();\n }\n }\n },\n\n initialize: function (options) {\n options || (options = {});\n this.params = __WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].defaults(options.params || {}, this.params);\n this.uniqueIdPrefix = 'array';\n },\n\n // api returns null for an array that does not have value\n // convert it to an empty array\n from: function (val) {\n if (!__WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].isArray(val)) {\n return [];\n }\n return val;\n },\n\n // @Override\n editMode: function () {\n this._setArrayObject();\n this.$el.html(this.template);\n __WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].each(this.arrayObject, __WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].bind(this._addDeletableBox, this));\n\n return this;\n },\n\n // @Override\n readMode: function () {\n this.editMode();\n this.$('.array-inputs-button').addClass('link-button-disabled');\n },\n\n // @Override\n // converts arrayObject to a plain array\n // for string type array, returns all values\n // for number/integer type array, returns values in number type\n val: function () {\n let values = __WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].values(this.arrayObject);\n\n if (__WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].contains([__WEBPACK_IMPORTED_MODULE_1__util_SchemaUtil__[\"a\" /* default */].DATATYPE.number, __WEBPACK_IMPORTED_MODULE_1__util_SchemaUtil__[\"a\" /* default */].DATATYPE.integer], this.params.itemType)) {\n values = __WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].filter(values, __WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].isNumber);\n }\n return values;\n },\n\n focus: function () {},\n\n addNewElement: function () {\n const value = '';\n\n const key = __WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].uniqueId(this.uniqueIdPrefix);\n\n this.arrayObject[key] = value;\n this._addDeletableBox(value, key);\n // update is called to make sure an empty string value is added for string type array\n this.update();\n },\n\n _addDeletableBox: function (value, key) {\n const deletableBox = new __WEBPACK_IMPORTED_MODULE_3__DeletableBox__[\"a\" /* default */](\n __WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].extend(__WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].pick(this.options, 'read', 'readOnly', 'model'), {\n key: key,\n value: value,\n itemType: this.params.itemType\n })\n );\n\n this.listenTo(deletableBox, 'updateArray', function (updatedValue) {\n if (__WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].isNull(updatedValue)) {\n delete this.arrayObject[key];\n this.stopListening(deletableBox);\n } else {\n this.arrayObject[key] = updatedValue;\n }\n this.update();\n });\n\n deletableBox.render().$el.hide();\n this.$('.array-inputs-button').before(deletableBox.el);\n deletableBox.$el.slideDown();\n\n return deletableBox;\n },\n\n _setArrayObject: function () {\n const array = this.model.get(this.options.name);\n\n this.arrayObject = {};\n if (__WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].isArray(array) && !__WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].isEmpty(array)) {\n const keys = [];\n const self = this;\n\n Object(__WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"])(array.length).times(function () {\n keys.push(__WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].uniqueId(self.uniqueIdPrefix));\n });\n this.arrayObject = __WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].object(keys, array);\n }\n }\n}));\n\n\n/***/ }),\n/* 69 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__util_SchemaUtil__ = __webpack_require__(13);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__util_StringUtil__ = __webpack_require__(3);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__util_TemplateUtil__ = __webpack_require__(4);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__util_Time__ = __webpack_require__(30);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__BaseView__ = __webpack_require__(1);\n\n\n\n\n\n\n\nconst isVowel = function (string) {\n return /^[aeiou]/.test(string);\n};\n\nconst getArticle = function (string) {\n return isVowel(string) ? 'an' : 'a';\n};\n\nconst template = __WEBPACK_IMPORTED_MODULE_3__util_TemplateUtil__[\"default\"].tpl(\n '\\\n <div class=\"o-form-input-group-controls\">\\\n <span class=\"input-fix o-form-control\">\\\n <input type=\"text\" class=\"o-form-text\" name=\"{{key}}\" id=\"{{key}}\" value=\"{{value}}\" \\\n placeholder=\"{{placeholder}}\"/>\\\n </span>\\\n <a href=\"#\" class=\"link-button link-button-icon icon-only\">\\\n <span class=\"icon clear-input-16 \"></span>\\\n </a>\\\n </div>\\\n <p class=\"o-form-input-error o-form-explain\">\\\n <span class=\"icon icon-16 error-16-small\"></span> {{errorExplain}}\\\n </p>\\\n '\n);\nconst errorClass = 'o-form-has-errors';\nconst updateArrayEvent = 'updateArray';\n/* harmony default export */ __webpack_exports__[\"a\"] = (__WEBPACK_IMPORTED_MODULE_5__BaseView__[\"default\"].extend({\n tagName: 'div',\n\n className: 'o-form-input-group',\n\n events: {\n 'click a': function (e) {\n e.preventDefault();\n this.remove();\n },\n 'keyup input': function () {\n this.update();\n }\n },\n\n isEditMode: function () {\n return !this.options.readOnly && (this.options.read !== true || this.model.get('__edit__') === true);\n },\n\n initialize: function () {\n this.template = template(\n __WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].extend(this.options, {\n placeholder: this.getPlaceholderText(),\n errorExplain: this.getErrorExplainText()\n })\n );\n this.update = __WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].debounce(this.update, this.options.debounceDelay || __WEBPACK_IMPORTED_MODULE_4__util_Time__[\"a\" /* default */].DEBOUNCE_DELAY);\n },\n\n render: function () {\n if (this.isEditMode()) {\n this.$el.html(this.template);\n } else {\n this.$el.text(this.options.value);\n this.$('a').hide();\n }\n return this;\n },\n\n remove: function () {\n this.trigger(updateArrayEvent, null);\n this.$el.slideUp(() => {\n __WEBPACK_IMPORTED_MODULE_5__BaseView__[\"default\"].prototype.remove.call(this, arguments);\n });\n },\n\n update: function () {\n let updatedValue = this.$('input').val();\n\n const parseFunc = __WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].object(\n [__WEBPACK_IMPORTED_MODULE_1__util_SchemaUtil__[\"a\" /* default */].DATATYPE.number, __WEBPACK_IMPORTED_MODULE_1__util_SchemaUtil__[\"a\" /* default */].DATATYPE.integer],\n [__WEBPACK_IMPORTED_MODULE_2__util_StringUtil__[\"default\"].parseFloat, this.parseInt]\n );\n\n if (__WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].has(parseFunc, this.options.itemType)) {\n updatedValue = parseFunc[this.options.itemType](updatedValue);\n !__WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].isNumber(updatedValue) ? this.markInvalid() : this.clearInvalid();\n }\n this.trigger(updateArrayEvent, updatedValue);\n },\n\n markInvalid: function () {\n this.$el.addClass(errorClass);\n },\n\n clearInvalid: function () {\n this.$el.removeClass(errorClass);\n },\n\n getPlaceholderText: function () {\n const text = ['Enter'];\n\n text.push(getArticle(this.options.itemType));\n text.push(this.options.itemType.toLowerCase());\n return text.join(' ');\n },\n\n getErrorExplainText: function () {\n const text = ['Value must be'];\n\n text.push(getArticle(this.options.itemType));\n text.push(this.options.itemType.toLowerCase());\n return text.join(' ');\n },\n\n parseInt: function (string) {\n // native javascript parseInt is aggressive\n // there're cases we don't want a string to be parsed even though it is convertable\n // so that we don't convert a string silently before warning a user the potential error\n // this is to make sure the string is in an integer format before we parse it\n if (/^-?\\d+$/.test(string)) {\n const num = parseInt(string, 10);\n\n return !__WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].isNaN(num) ? num : string;\n }\n return string;\n }\n}));\n\n\n/***/ }),\n/* 70 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\nObject.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__util_Keys__ = __webpack_require__(8);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__util_TemplateUtil__ = __webpack_require__(4);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_vendor_plugins_jquery_custominput__ = __webpack_require__(31);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_vendor_plugins_jquery_custominput___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_3_vendor_plugins_jquery_custominput__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__BaseInput__ = __webpack_require__(10);\n\n\n\n\n\nconst template = __WEBPACK_IMPORTED_MODULE_2__util_TemplateUtil__[\"default\"].tpl(\n '\\\n <input type=\"checkbox\" name=\"{{name}}\" id=\"{{inputId}}\"/>\\\n <label for=\"{{inputId}}\" data-se-for-name=\"{{name}}\">{{placeholder}}</label>\\\n '\n);\n/* harmony default export */ __webpack_exports__[\"default\"] = (__WEBPACK_IMPORTED_MODULE_4__BaseInput__[\"a\" /* default */].extend({\n template: template,\n /**\n * @Override\n */\n events: {\n 'change :checkbox': 'update',\n keyup: function (e) {\n if (__WEBPACK_IMPORTED_MODULE_1__util_Keys__[\"default\"].isSpaceBar(e)) {\n this.$(':checkbox').click();\n } else if (__WEBPACK_IMPORTED_MODULE_1__util_Keys__[\"default\"].isEnter(e)) {\n this.model.trigger('form:save');\n }\n }\n },\n\n /**\n * @Override\n */\n editMode: function () {\n let placeholder = __WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].resultCtx(this.options, 'placeholder', this);\n\n if (placeholder === '') {\n placeholder = __WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].resultCtx(this.options, 'label', this);\n } else if (placeholder === false) {\n placeholder = '';\n }\n\n this.$el.html(this.template(__WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].extend(__WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].omit(this.options, 'placeholder'), { placeholder: placeholder })));\n const $input = this.$(':checkbox');\n\n $input.prop('checked', this.getModelValue() || false);\n\n this.$('input').customInput();\n this.model.trigger('form:resize');\n\n return this;\n },\n\n /**\n * @Override\n */\n readMode: function () {\n this.editMode();\n this.$(':checkbox').prop('disabled', true);\n return this;\n },\n\n /**\n * @Override\n */\n val: function () {\n return this.$(':checkbox').prop('checked');\n },\n\n /**\n * @Override\n */\n focus: function () {\n return this.$(':checkbox').focus();\n }\n}));\n\n\n/***/ }),\n/* 71 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\nObject.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__util_TemplateUtil__ = __webpack_require__(4);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__TextBox__ = __webpack_require__(32);\n/*!\n * Copyright (c) 2015-2018, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n\n\n\n\nconst toggleTemplate = __WEBPACK_IMPORTED_MODULE_1__util_TemplateUtil__[\"default\"].tpl(\n '\\\n <span class=\"password-toggle\">\\\n <span class=\"eyeicon visibility-16 button-show\"></span>\\\n <span class=\"eyeicon visibility-off-16 button-hide\"></span>\\\n </span>\\\n '\n);\nconst toggleTimeout = 30000;\n/* harmony default export */ __webpack_exports__[\"default\"] = (__WEBPACK_IMPORTED_MODULE_2__TextBox__[\"default\"].extend({\n initialize: function () {\n if (this.__showPasswordToggle()) {\n this.events['click .password-toggle .button-show'] = '__showPassword';\n this.events['click .password-toggle .button-hide'] = '__hidePassword';\n }\n this.delegateEvents();\n },\n\n postRender: function () {\n if (this.isEditMode() && this.__showPasswordToggle()) {\n this.$el.append(toggleTemplate);\n this.$el.find('input[type=\"password\"]').addClass('password-with-toggle');\n }\n __WEBPACK_IMPORTED_MODULE_2__TextBox__[\"default\"].prototype.postRender.apply(this, arguments);\n },\n\n __showPasswordToggle: function () {\n return this.options.params && this.options.params.showPasswordToggle;\n },\n\n __showPassword: function () {\n __WEBPACK_IMPORTED_MODULE_2__TextBox__[\"default\"].prototype.changeType.apply(this, ['text']);\n this.$('.password-toggle .button-show').hide();\n this.$('.password-toggle .button-hide').show();\n this.passwordToggleTimer = __WEBPACK_IMPORTED_MODULE_0__util_underscore_wrapper__[\"default\"].delay(() => {\n this.__hidePassword();\n }, toggleTimeout);\n },\n\n __hidePassword: function () {\n __WEBPACK_IMPORTED_MODULE_2__TextBox__[\"default\"].prototype.changeType.apply(this, ['password']);\n this.$('.password-toggle .button-show').show();\n this.$('.password-toggle .button-hide').hide();\n // clear timeout\n if (this.passwordToggleTimer) {\n clearTimeout(this.passwordToggleTimer);\n }\n }\n}));\n\n\n/***/ }),\n/* 72 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;/*! http://mths.be/placeholder v2.0.7 by @mathias */\n!(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(12)], __WEBPACK_AMD_DEFINE_RESULT__ = (function($){\n\n\tvar isInputSupported = 'placeholder' in document.createElement('input'),\n\t isTextareaSupported = 'placeholder' in document.createElement('textarea'),\n\t prototype = $.fn,\n\t valHooks = $.valHooks,\n\t hooks,\n\t placeholder;\n\n\tif (isInputSupported && isTextareaSupported) {\n\n\t\tplaceholder = prototype.placeholder = function() {\n\t\t\treturn this;\n\t\t};\n\n\t\tplaceholder.input = placeholder.textarea = true;\n\n\t} else {\n\n\t\tplaceholder = prototype.placeholder = function() {\n\t\t\tvar $this = this;\n\t\t\t$this\n\t\t\t\t.filter((isInputSupported ? 'textarea' : ':input') + '[placeholder]')\n\t\t\t\t.not('.placeholder')\n\t\t\t\t.bind({\n\t\t\t\t\t'focus.placeholder': clearPlaceholder,\n\t\t\t\t\t'blur.placeholder': setPlaceholder\n\t\t\t\t})\n\t\t\t\t.data('placeholder-enabled', true)\n\t\t\t\t.trigger('blur.placeholder');\n\t\t\treturn $this;\n\t\t};\n\n\t\tplaceholder.input = isInputSupported;\n\t\tplaceholder.textarea = isTextareaSupported;\n\n\t\thooks = {\n\t\t\t'get': function(element) {\n\t\t\t\tvar $element = $(element);\n\t\t\t\treturn $element.data('placeholder-enabled') && $element.hasClass('placeholder') ? '' : element.value;\n\t\t\t},\n\t\t\t'set': function(element, value) {\n\t\t\t\tvar $element = $(element);\n\t\t\t\tif (!$element.data('placeholder-enabled')) {\n\t\t\t\t\treturn element.value = value;\n\t\t\t\t}\n\t\t\t\tif (value == '') {\n\t\t\t\t\telement.value = value;\n\t\t\t\t\t// Issue #56: Setting the placeholder causes problems if the element continues to have focus.\n\t\t\t\t\tif (element != document.activeElement) {\n\t\t\t\t\t\t// We can't use `triggerHandler` here because of dummy text/password inputs :(\n\t\t\t\t\t\tsetPlaceholder.call(element);\n\t\t\t\t\t}\n\t\t\t\t} else if ($element.hasClass('placeholder')) {\n\t\t\t\t\tclearPlaceholder.call(element, true, value) || (element.value = value);\n\t\t\t\t} else {\n\t\t\t\t\telement.value = value;\n\t\t\t\t}\n\t\t\t\t// `set` can not return `undefined`; see http://jsapi.info/jquery/1.7.1/val#L2363\n\t\t\t\treturn $element;\n\t\t\t}\n\t\t};\n\n\t\tisInputSupported || (valHooks.input = hooks);\n\t\tisTextareaSupported || (valHooks.textarea = hooks);\n\n\t\t$(function() {\n\t\t\t// Look for forms\n\t\t\t$(document).delegate('form', 'submit.placeholder', function() {\n\t\t\t\t// Clear the placeholder values so they don't get submitted\n\t\t\t\tvar $inputs = $('.placeholder', this).each(clearPlaceholder);\n\t\t\t\tsetTimeout(function() {\n\t\t\t\t\t$inputs.each(setPlaceholder);\n\t\t\t\t}, 10);\n\t\t\t});\n\t\t});\n\n\t\t// Clear placeholder values upon page reload\n\t\t$(window).bind('beforeunload.placeholder', function() {\n\t\t\t$('.placeholder').each(function() {\n\t\t\t\tthis.value = '';\n\t\t\t});\n\t\t});\n\n\t}\n\n\tfunction args(elem) {\n\t\t// Return an object of element attributes\n\t\tvar newAttrs = {},\n\t\t rinlinejQuery = /^jQuery\\d+$/;\n\t\t$.each(elem.attributes, function(i, attr) {\n\t\t\tif (attr.specified && !rinlinejQuery.test(attr.name)) {\n\t\t\t\tnewAttrs[attr.name] = attr.value;\n\t\t\t}\n\t\t});\n\t\treturn newAttrs;\n\t}\n\n\tfunction clearPlaceholder(event, value) {\n\t\tvar input = this,\n\t\t $input = $(input);\n\t\tif (input.value == $input.attr('placeholder') && $input.hasClass('placeholder')) {\n\t\t\tif ($input.data('placeholder-password')) {\n\t\t\t\t$input = $input.hide().next().show().attr('id', $input.removeAttr('id').data('placeholder-id'));\n\t\t\t\t// If `clearPlaceholder` was called from `$.valHooks.input.set`\n\t\t\t\tif (event === true) {\n\t\t\t\t\treturn $input[0].value = value;\n\t\t\t\t}\n\t\t\t\t$input.focus();\n\t\t\t} else {\n\t\t\t\tinput.value = '';\n\t\t\t\t$input.removeClass('placeholder');\n\t\t\t\tinput == document.activeElement && input.select();\n\t\t\t}\n\t\t}\n\t}\n\n\tfunction setPlaceholder() {\n\t\tvar $replacement,\n\t\t input = this,\n\t\t $input = $(input),\n\t\t $origInput = $input,\n\t\t id = this.id;\n\t\tif (input.value == '') {\n\t\t\tif (input.type == 'password') {\n\t\t\t\tif (!$input.data('placeholder-textinput')) {\n\t\t\t\t\ttry {\n\t\t\t\t\t\t$replacement = $input.clone().attr({ 'type': 'text' });\n\t\t\t\t\t} catch(e) {\n\t\t\t\t\t\t$replacement = $('<input>').attr($.extend(args(this), { 'type': 'text' }));\n\t\t\t\t\t}\n\t\t\t\t\t$replacement\n\t\t\t\t\t\t.removeAttr('name')\n\t\t\t\t\t\t.data({\n\t\t\t\t\t\t\t'placeholder-password': true,\n\t\t\t\t\t\t\t'placeholder-id': id\n\t\t\t\t\t\t})\n\t\t\t\t\t\t.bind('focus.placeholder', clearPlaceholder);\n\t\t\t\t\t$input\n\t\t\t\t\t\t.data({\n\t\t\t\t\t\t\t'placeholder-textinput': $replacement,\n\t\t\t\t\t\t\t'placeholder-id': id\n\t\t\t\t\t\t})\n\t\t\t\t\t\t.before($replacement);\n\t\t\t\t}\n\t\t\t\t$input = $input.removeAttr('id').hide().prev().attr('id', id).show();\n\t\t\t\t// Note: `$input[0] != input` now!\n\t\t\t}\n\t\t\t$input.addClass('placeholder');\n\t\t\t$input[0].value = $input.attr('placeholder');\n\t\t} else {\n\t\t\t$input.removeClass('placeholder');\n\t\t}\n\t}\n}).apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__),\n\t\t\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n\n/***/ }),\n/* 73 */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\nObject.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__util_jquery_wrapper__ = __webpack_require__(2);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__util_underscore_wrapper__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__util_Keys__ = __webpack_require__(8);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__util_Util__ = __webpack_require__(16);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__BaseView__ = __webpack_require__(1);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5_vendor_plugins_jquery_custominput__ = __webpack_require__(31);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5_vendor_plugins_jquery_custominput___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_5_vendor_plugins_jquery_custominput__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__BaseInput__ = __webpack_require__(10);\n/* eslint max-statements: [2, 12], max-params: [2, 6] */\n\n\n\n\n\n\n\nconst isABaseView = __WEBPACK_IMPORTED_MODULE_3__util_Util__[\"default\"].isABaseView;\nconst RadioRadioOption = __WEBPACK_IMPORTED_MODULE_4__BaseView__[\"default\"].extend({\n template:\n '\\\n <input type=\"radio\" name=\"{{name}}\" data-se-name=\"{{realName}}\" value=\"{{value}}\" id=\"{{optionId}}\">\\\n <label for=\"{{optionId}}\" data-se-for-name=\"{{realName}}\" class=\"radio-label\">\\\n {{label}}\\\n </label>\\\n ',\n initialize: function (options) {\n let explain;\n\n explain = options.explain;\n if (__WEBPACK_IMPORTED_MODULE_1__util_underscore_wrapper__[\"default\"].isFunction(explain) && !isABaseView(explain)) {\n explain = __WEBPACK_IMPORTED_MODULE_1__util_underscore_wrapper__[\"default\"].resultCtx(this.options, 'explain', this);\n }\n if (!explain) {\n return;\n }\n\n if (isABaseView(explain)) {\n this.add('<p class=\"o-form-explain\"></p>', '.radio-label');\n this.add(explain, '.o-form-explain');\n } else {\n this.add('<p class=\"o-form-explain\">{{explain}}</p>', '.radio-label');\n }\n }\n});\n/* harmony default export */ __webpack_exports__[\"default\"] = (__WEBPACK_IMPORTED_MODULE_6__BaseInput__[\"a\" /* default */].extend({\n /**\n * @Override\n */\n events: {\n 'change :radio': 'update',\n keyup: function (e) {\n if (__WEBPACK_IMPORTED_MODULE_2__util_Keys__[\"default\"].isSpaceBar(e)) {\n Object(__WEBPACK_IMPORTED_MODULE_0__util_jquery_wrapper__[\"default\"])(e.target).click();\n } else if (__WEBPACK_IMPORTED_MODULE_2__util_Keys__[\"default\"].isEnter(e)) {\n this.model.trigger('form:save');\n }\n }\n },\n\n /**\n * @Override\n */\n editMode: function () {\n const templates = [];\n\n this.$el.empty();\n\n __WEBPACK_IMPORTED_MODULE_1__util_underscore_wrapper__[\"default\"].each(\n this.options.options,\n function (value, key) {\n const options = {\n optionId: __WEBPACK_IMPORTED_MODULE_1__util_underscore_wrapper__[\"default\"].uniqueId('option'),\n name: this.options.inputId,\n realName: this.options.name,\n value: key\n };\n\n if (!__WEBPACK_IMPORTED_MODULE_1__util_underscore_wrapper__[\"default\"].isObject(value)) {\n value = { label: value };\n }\n __WEBPACK_IMPORTED_MODULE_1__util_underscore_wrapper__[\"default\"].extend(options, value);\n\n templates.push(new RadioRadioOption(options).render().el);\n },\n this\n );\n this.$el.append(templates);\n let value = this.getModelValue();\n\n if (value) {\n this.$(':radio[value=' + value + ']').prop('checked', true);\n }\n\n this.$('input').customInput();\n this.model.trigger('form:resize');\n\n if (this.getParam('inline') === true) {\n this.$('div.custom-radio').addClass('inline');\n }\n\n return this;\n },\n\n /**\n * @Override\n */\n readMode: function () {\n this.editMode();\n this.$(':radio').prop('disabled', true);\n return this;\n },\n\n /**\n * @Override\n */\n val: function () {\n return this.$(':radio:checked').val();\n },\n\n /**\n * @Override\n */\n focus: function () {\n return this.$('label:eq(0)').focus();\n }\n}));\n\n\n/***/ })\n/******/ ]);\n//# sourceMappingURL=okta.js.map\n\n\n// WEBPACK FOOTER //\n// ./packages/@okta/courage-dist/okta.js","var global = require('./_global');\nvar core = require('./_core');\nvar hide = require('./_hide');\nvar redefine = require('./_redefine');\nvar ctx = require('./_ctx');\nvar PROTOTYPE = 'prototype';\n\nvar $export = function (type, name, source) {\n var IS_FORCED = type & $export.F;\n var IS_GLOBAL = type & $export.G;\n var IS_STATIC = type & $export.S;\n var IS_PROTO = type & $export.P;\n var IS_BIND = type & $export.B;\n var target = IS_GLOBAL ? global : IS_STATIC ? global[name] || (global[name] = {}) : (global[name] || {})[PROTOTYPE];\n var exports = IS_GLOBAL ? core : core[name] || (core[name] = {});\n var expProto = exports[PROTOTYPE] || (exports[PROTOTYPE] = {});\n var key, own, out, exp;\n if (IS_GLOBAL) source = name;\n for (key in source) {\n // contains in native\n own = !IS_FORCED && target && target[key] !== undefined;\n // export native or passed\n out = (own ? target : source)[key];\n // bind timers to global for call from export context\n exp = IS_BIND && own ? ctx(out, global) : IS_PROTO && typeof out == 'function' ? ctx(Function.call, out) : out;\n // extend global\n if (target) redefine(target, key, out, type & $export.U);\n // export\n if (exports[key] != out) hide(exports, key, exp);\n if (IS_PROTO && expProto[key] != out) expProto[key] = out;\n }\n};\nglobal.core = core;\n// type bitmap\n$export.F = 1; // forced\n$export.G = 2; // global\n$export.S = 4; // static\n$export.P = 8; // proto\n$export.B = 16; // bind\n$export.W = 32; // wrap\n$export.U = 64; // safe\n$export.R = 128; // real proto method for `library`\nmodule.exports = $export;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/_export.js\n// module id = 1\n// module chunks = 0","/*!\n * Copyright (c) 2015-2016, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n\ndefine([\n 'okta',\n './FormType',\n './BaseLoginController',\n 'models/BaseLoginModel'\n],\nfunction (Okta, FormType, BaseLoginController, BaseLoginModel) {\n\n var { Toolbar } = Okta.internal.views.forms.components;\n var { FormUtil } = Okta.internal.views.forms.helpers;\n var _ = Okta._;\n\n var SimpleForm = Okta.Form.extend({\n layout: 'o-form-theme',\n noCancelButton: true,\n constructor: function (options) {\n Okta.Form.call(this, options);\n _.each(_.result(this, 'formChildren') || [], function (child) {\n switch (child.type) {\n case FormType.INPUT:\n this.addInput(_.extend({\n label: false,\n 'label-top': true\n }, child.viewOptions));\n break;\n case FormType.BUTTON:\n this.add(Okta.createButton(_.extend({ model: this.model }, child.viewOptions)), child.addOptions);\n FormUtil.applyShowWhen(this.last(), child.viewOptions && child.viewOptions.showWhen);\n break;\n case FormType.DIVIDER:\n this.addDivider(child.viewOptions);\n break;\n case FormType.TOOLBAR:\n this.add(Toolbar, { options: child.viewOptions });\n FormUtil.applyShowWhen(this.last(), child.viewOptions && child.viewOptions.showWhen);\n break;\n case FormType.VIEW:\n this.add(child.viewOptions.View, child.addOptions);\n FormUtil.applyShowWhen(this.last(), child.viewOptions.showWhen);\n break;\n default:\n throw new Error('Unrecognized child type: ' + child.type);\n }\n }, this);\n }\n });\n\n return BaseLoginController.extend({\n\n constructor: function () {\n var initialize = this.initialize;\n this.initialize = function () {};\n\n BaseLoginController.apply(this, arguments);\n\n if (this.Model && this.Form) {\n var Model = BaseLoginModel.extend(_.extend({\n parse: function (attributes) {\n this.settings = attributes.settings;\n this.appState = attributes.appState;\n return _.omit(attributes, ['settings', 'appState']);\n }\n }, _.result(this, 'Model')));\n this.model = new Model({\n settings: this.settings,\n appState: this.options.appState\n }, { parse: true });\n var Form = SimpleForm.extend(_.result(this, 'Form', this));\n this.form = new Form(this.toJSON());\n this.add(this.form);\n }\n\n if (this.Footer) {\n this.addFooter(this.Footer);\n }\n\n this.addListeners();\n initialize.apply(this, arguments);\n },\n\n addFooter: function (Footer, args) {\n this.footer = new Footer(_.extend(this.toJSON(), args || {}));\n this.add(this.footer);\n },\n\n toJSON: function () {\n var data = BaseLoginController.prototype.toJSON.apply(this, arguments);\n return _.extend(_.pick(this.options, 'appState'), data);\n },\n\n back: function () {\n if (this.footer && this.footer.back) {\n this.footer.back();\n }\n }\n });\n});\n\n\n\n// WEBPACK FOOTER //\n// ./src/util/FormController.js","var isObject = require('./_is-object');\nmodule.exports = function (it) {\n if (!isObject(it)) throw TypeError(it + ' is not an object!');\n return it;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/_an-object.js\n// module id = 3\n// module chunks = 0","/*!\n * Copyright (c) 2015-2016, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n\ndefine(function () {\n\n // Syntactic sugar to provide some structure to SimpleForm inputs - Just\n // wraps options with { type: type, viewOptions: viewOptions, addOptions: addOptions }\n\n var INPUT = 'INPUT';\n var BUTTON = 'BUTTON';\n var DIVIDER = 'DIVIDER';\n var TOOLBAR = 'TOOLBAR';\n var VIEW = 'VIEW';\n\n function wrap (type) {\n return function (viewOptions, addOptions) {\n return { type: type, viewOptions: viewOptions, addOptions: addOptions };\n };\n }\n\n return {\n Input: wrap(INPUT),\n Button: wrap(BUTTON),\n Divider: wrap(DIVIDER),\n Toolbar: wrap(TOOLBAR),\n View: wrap(VIEW),\n\n INPUT: INPUT,\n BUTTON: BUTTON,\n DIVIDER: DIVIDER,\n TOOLBAR: TOOLBAR,\n VIEW: VIEW\n };\n\n});\n\n\n\n// WEBPACK FOOTER //\n// ./src/util/FormType.js","// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028\nvar global = module.exports = typeof window != 'undefined' && window.Math == Math\n ? window : typeof self != 'undefined' && self.Math == Math ? self\n // eslint-disable-next-line no-new-func\n : Function('return this')();\nif (typeof __g == 'number') __g = global; // eslint-disable-line no-undef\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/_global.js\n// module id = 5\n// module chunks = 0","/*!\n * Copyright (c) 2015-2016, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n\ndefine({\n\n API_RATE_LIMIT: 30000, //milliseconds\n\n WIDGET_CONTAINER_ID: 'okta-sign-in',\n WIDGET_CONFIG_COLORS_ID: 'okta-sign-in-config-colors',\n\n DIRECTION_BACK: 'DIRECTION_BACK',\n\n RECOVERY_TYPE_PASSWORD: 'PASSWORD',\n RECOVERY_TYPE_UNLOCK: 'UNLOCK',\n RECOVERY_FACTOR_TYPE_SMS: 'SMS',\n RECOVERY_FACTOR_TYPE_EMAIL: 'EMAIL',\n RECOVERY_FACTOR_TYPE_CALL: 'CALL',\n\n // Global success messages\n SUCCESS: 'SUCCESS',\n FORGOT_PASSWORD_EMAIL_SENT: 'FORGOT_PASSWORD_EMAIL_SENT',\n UNLOCK_ACCOUNT_EMAIL_SENT: 'UNLOCK_ACCOUNT_EMAIL_SENT',\n\n // Global error messages\n CONFIG_ERROR: 'CONFIG_ERROR',\n UNSUPPORTED_BROWSER_ERROR: 'UNSUPPORTED_BROWSER_ERROR',\n OAUTH_ERROR: 'OAUTH_ERROR',\n AUTH_STOP_POLL_INITIATION_ERROR: 'AUTH_STOP_POLL_INITIATION_ERROR',\n U2F_ERROR: 'U2F_ERROR',\n WEB_AUTHN_ERROR: 'WEB_AUTHN_ERROR',\n WEBAUTHN_ABORT_ERROR: 'WEBAUTHN_ABORT_ERROR',\n\n // Enroll choice page types\n ALL_OPTIONAL_NONE_ENROLLED: 'ALL_OPTIONAL_NONE_ENROLLED',\n ALL_OPTIONAL_SOME_ENROLLED: 'ALL_OPTIONAL_SOME_ENROLLED',\n HAS_REQUIRED_NONE_ENROLLED: 'HAS_REQUIRED_NONE_ENROLLED',\n HAS_REQUIRED_SOME_REQUIRED_ENROLLED: 'HAS_REQUIRED_SOME_REQUIRED_ENROLLED',\n HAS_REQUIRED_ALL_REQUIRED_ENROLLED: 'HAS_REQUIRED_ALL_REQUIRED_ENROLLED',\n\n // Operations\n PRIMARY_AUTH: 'PRIMARY_AUTH',\n FORGOT_PASSWORD: 'FORGOT_PASSWORD',\n UNLOCK_ACCOUNT: 'UNLOCK_ACCOUNT',\n\n // Auth Types\n SESSION_SSO: 'SESSION_SSO',\n SESSION_STEP_UP: 'SESSION_STEP_UP',\n\n //Registration\n ACTIVATION_EMAIL_SENT: 'ACTIVATION_EMAIL_SENT',\n REGISTRATION_COMPLETE: 'REGISTRATION_COMPLETE',\n REGISTRATION_FAILED: 'REGISTRATION_FAILED',\n\n //IDP Discovery\n IDP_DISCOVERY: 'IDP_DISCOVERY'\n});\n\n\n\n// WEBPACK FOOTER //\n// ./src/util/Enums.js","module.exports = function (exec) {\n try {\n return !!exec();\n } catch (e) {\n return true;\n }\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/_fails.js\n// module id = 7\n// module chunks = 0","module.exports = function (it) {\n return typeof it === 'object' ? it !== null : typeof it === 'function';\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/_is-object.js\n// module id = 8\n// module chunks = 0","var core = module.exports = { version: '2.6.9' };\nif (typeof __e == 'number') __e = core; // eslint-disable-line no-undef\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_core.js\n// module id = 9\n// module chunks = 0","var store = require('./_shared')('wks');\nvar uid = require('./_uid');\nvar Symbol = require('./_global').Symbol;\nvar USE_SYMBOL = typeof Symbol == 'function';\n\nvar $exports = module.exports = function (name) {\n return store[name] || (store[name] =\n USE_SYMBOL && Symbol[name] || (USE_SYMBOL ? Symbol : uid)('Symbol.' + name));\n};\n\n$exports.store = store;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/_wks.js\n// module id = 10\n// module chunks = 0","// 7.1.15 ToLength\nvar toInteger = require('./_to-integer');\nvar min = Math.min;\nmodule.exports = function (it) {\n return it > 0 ? min(toInteger(it), 0x1fffffffffffff) : 0; // pow(2, 53) - 1 == 9007199254740991\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/_to-length.js\n// module id = 11\n// module chunks = 0","// Thank's IE8 for his funny defineProperty\nmodule.exports = !require('./_fails')(function () {\n return Object.defineProperty({}, 'a', { get: function () { return 7; } }).a != 7;\n});\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/_descriptors.js\n// module id = 12\n// module chunks = 0","/*!\n * Copyright (c) 2015-2016, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n\n/* eslint complexity: [2, 13], max-depth: [2, 3] */\ndefine(['q', 'okta', './Logger', './Enums', 'idx'], function (Q, Okta, Logger, Enums, idx) {\n\n var Util = {};\n var _ = Okta._;\n var { start } = idx.default;\n\n\n var buildInputForParameter = function (name, value) {\n var input = document.createElement('input');\n input.name = name;\n input.value = decodeURIComponent(value);\n input.type = 'hidden';\n return input;\n };\n\n var buildDynamicForm = function (url = '', method) {\n var splitOnFragment = url.split('#');\n var fragment = splitOnFragment[1];\n\n var splitOnQuery = (splitOnFragment[0] || '').split('?');\n var query = splitOnQuery[1];\n var targetUrl = splitOnQuery[0];\n if (fragment) {\n targetUrl += '#' + fragment;\n }\n\n var form = document.createElement('form');\n form.method = method;\n form.setAttribute('style', 'display: none;');\n form.action = targetUrl;\n if (query && query.length) {\n var queryParts = query.split('&');\n queryParts.forEach(queryPart => {\n var parameterParts = queryPart.split('=');\n var input = buildInputForParameter(parameterParts[0], parameterParts[1]);\n form.appendChild(input);\n });\n }\n return form;\n };\n\n Util.hasTokensInHash = function (hash) {\n return /((id|access)_token=)/i.test(hash);\n };\n\n Util.transformErrorXHR = function (xhr) {\n // Handle network connection error\n if (xhr.status === 0 && _.isEmpty(xhr.responseJSON)) {\n xhr.responseJSON = { errorSummary: Okta.loc('error.network.connection', 'login') };\n return xhr;\n }\n if (!xhr.responseJSON) {\n if (!xhr.responseText) {\n xhr.responseJSON = { errorSummary: Okta.loc('oform.error.unexpected', 'login') };\n return xhr;\n }\n xhr.responseJSON = xhr.responseText;\n }\n // Temporary solution to display field errors\n // Assuming there is only one field error in a response\n if (xhr.responseJSON && xhr.responseJSON.errorCauses && xhr.responseJSON.errorCauses.length) {\n xhr.responseJSON.errorSummary = xhr.responseJSON.errorCauses[0].errorSummary;\n }\n // Replace error messages\n if (!_.isEmpty(xhr.responseJSON)) {\n var errorMsg = Okta.loc('errors.' + xhr.responseJSON.errorCode, 'login');\n if (errorMsg.indexOf('L10N_ERROR[') === -1) {\n xhr.responseJSON.errorSummary = errorMsg;\n if (xhr.responseJSON && xhr.responseJSON.errorCauses && xhr.responseJSON.errorCauses.length) {\n // BaseForm will consume errorCauses before errorSummary if it is an array,\n // so, we have to make sure to remove it when we have a valid error code\n delete xhr.responseJSON.errorCauses;\n }\n }\n }\n return xhr;\n };\n\n // Simple helper function to lowercase all strings in the given array\n Util.toLower = function (strings) {\n return _.map(strings, function (str) {\n return str.toLowerCase();\n });\n };\n\n // A languageCode can be composed of multiple parts, i.e:\n // {{langage}}-{{region}}-{{dialect}}\n //\n // In these cases, it's necessary to generate a list of other possible\n // combinations that we might support (in preferred order).\n //\n // For example:\n // en-US -> [en-US, en]\n // de-DE-bavarian -> [de-DE-bavarian, de-DE, de]\n function expandLanguage (language) {\n var expanded = [language],\n parts = language.split('-');\n while (parts.pop() && parts.length > 0) {\n expanded.push(parts.join('-'));\n }\n return expanded;\n }\n\n // Following the rules of expanding one language, this will generate\n // all potential languages in the given order (where higher priority is\n // given to expanded languages over other downstream languages).\n Util.expandLanguages = function (languages) {\n return _.chain(languages)\n .map(expandLanguage)\n .flatten()\n .uniq()\n .value();\n };\n\n //helper to call setTimeout\n Util.callAfterTimeout = function (callback, time) {\n return setTimeout(callback, time);\n };\n\n // Helper function to provide consistent formatting of template literals\n // that are logged when in development mode.\n Util.debugMessage = function (message) {\n Logger.warn(`\\n${message.replace(/^(\\s)+/gm, '')}`);\n };\n\n // Trigger an afterError event\n Util.triggerAfterError = function (controller, err = {}) {\n if (!err.statusCode && err.xhr && err.xhr.status) {\n // Bring the statusCode to the top-level of the Error\n err.statusCode = err.xhr.status;\n }\n // Some controllers return the className as a function - process it here:\n var className = _.isFunction(controller.className) ? controller.className() : controller.className;\n var error = _.pick(err, 'name', 'message', 'statusCode', 'xhr');\n controller.trigger('afterError', { controller: className }, error);\n // Logs to console only in dev mode\n Logger.warn('controller: ' + className + ', error: ' + error);\n };\n\n Util.redirect = function (url, win = window) {\n if (!url) {\n Logger.error(`Cannot redirect to empty URL: (${url})`);\n return;\n }\n win.location.href = url;\n };\n\n /**\n * Why redirect via Form get rather using `window.location.href`?\n * At the time of writing, Chrome (<72) in Android would block window location change\n * at following case\n * 1. An AJAX is trigger because of user action.\n * 2. 5+ seconds passed without any further user interaction.\n * 3. User takes an action results in window location change.\n *\n * Luckily we discovered that uses Form submit would work around this problem\n * even though it changed window location.\n *\n * Check the commit history for more details.\n */\n Util.redirectWithFormGet = function (url) {\n Util.redirectWithForm(url, 'get');\n };\n\n Util.redirectWithForm = function (url, method = 'post') {\n if (!url) {\n Logger.error(`Cannot redirect to empty URL: (${url})`);\n return;\n }\n\n var mainContainer = document.getElementById(Enums.WIDGET_CONTAINER_ID);\n if (!mainContainer) {\n Logger.error('Cannot find okta-sign-in container append to which a form');\n return;\n }\n\n var form = buildDynamicForm(url, method);\n mainContainer.appendChild(form);\n form.submit();\n };\n\n /**\n * When we want to show an explain text, we need to check if this is different from\n * the label text, to not have an explain that look like a duplicated label.\n * okta-signin-widget gives the possibility to customize every i18n, so we cannot\n * know ahead if these two are equal or different, we need to call this function everytime.\n */\n Util.createInputExplain = function (explainKey, labelKey, bundleName, explainParams, labelParams) {\n var explain = explainParams ? Okta.loc(explainKey, bundleName, explainParams) : Okta.loc(explainKey, bundleName);\n var label = labelParams ? Okta.loc(labelKey, bundleName, labelParams) : Okta.loc(labelKey, bundleName);\n if (explain === label) {\n return false;\n }\n return explain;\n };\n\n Util.isV1StateToken = function (token) {\n return !!(token && _.isString(token) && token.startsWith('00'));\n };\n\n Util.introspectToken = function (authClient, widgetOptions) {\n const domain = widgetOptions.baseUrl;\n const stateHandle = widgetOptions.stateToken;\n var trans;\n if (this.isV1StateToken(stateHandle)) {\n // V1 pipeline uses authjs.introspect\n trans = authClient.tx.introspect({\n stateToken: widgetOptions.stateToken\n });\n } else {\n // V2 pipeline uses idxjs.start\n trans = start({ domain, stateHandle });\n }\n var deferred = Q.defer();\n if (Q.isPromiseAlike(trans)) {\n trans.then(function (trans) {\n deferred.resolve(trans);\n }).catch(function (err) {\n deferred.reject(err);\n });\n }\n return deferred.promise;\n };\n\n return Util;\n\n});\n\n\n\n// WEBPACK FOOTER //\n// ./src/util/Util.js","/*!\n * Copyright (c) 2015-2016, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n\n//note: not including Okta here and explicitly including jquery and Handlebars\n//because we want to be explicit about which TextBox we are extending here\n//and want to avoid the cirucular dependency that occurs if we\n//include Okta\ndefine([\n 'okta',\n 'util/BrowserFeatures',\n 'qtip'\n],\nfunction (Okta, BrowserFeatures) {\n\n var { TextBox } = Okta.internal.views.forms.inputs;\n\n return TextBox.extend({\n postRender: function () {\n if (this.options.type === 'number') {\n var input = this.$('input');\n input.attr({\n pattern: '[0-9]*',\n inputmode: 'numeric'\n });\n }\n TextBox.prototype.postRender.apply(this, arguments);\n },\n // Override the focus() to ignore focus in IE. IE (8-11) has a known bug where\n // the placeholder text disappears when the input field is focused.\n focus: function () {\n if (BrowserFeatures.isIE()) {\n return;\n }\n return TextBox.prototype.focus.apply(this, arguments);\n }\n\n });\n\n});\n\n\n\n// WEBPACK FOOTER //\n// ./src/views/shared/TextBox.js","var anObject = require('./_an-object');\nvar IE8_DOM_DEFINE = require('./_ie8-dom-define');\nvar toPrimitive = require('./_to-primitive');\nvar dP = Object.defineProperty;\n\nexports.f = require('./_descriptors') ? Object.defineProperty : function defineProperty(O, P, Attributes) {\n anObject(O);\n P = toPrimitive(P, true);\n anObject(Attributes);\n if (IE8_DOM_DEFINE) try {\n return dP(O, P, Attributes);\n } catch (e) { /* empty */ }\n if ('get' in Attributes || 'set' in Attributes) throw TypeError('Accessors not supported!');\n if ('value' in Attributes) O[P] = Attributes.value;\n return O;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/_object-dp.js\n// module id = 15\n// module chunks = 0","// 7.1.13 ToObject(argument)\nvar defined = require('./_defined');\nmodule.exports = function (it) {\n return Object(defined(it));\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/_to-object.js\n// module id = 16\n// module chunks = 0","// vim:ts=4:sts=4:sw=4:\n/*!\n *\n * Copyright 2009-2012 Kris Kowal under the terms of the MIT\n * license found at http://github.com/kriskowal/q/raw/master/LICENSE\n *\n * With parts by Tyler Close\n * Copyright 2007-2009 Tyler Close under the terms of the MIT X license found\n * at http://www.opensource.org/licenses/mit-license.html\n * Forked at ref_send.js version: 2009-05-11\n *\n * With parts by Mark Miller\n * Copyright (C) 2011 Google Inc.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n */\n\n(function (definition) {\n \"use strict\";\n\n // This file will function properly as a <script> tag, or a module\n // using CommonJS and NodeJS or RequireJS module formats. In\n // Common/Node/RequireJS, the module exports the Q API and when\n // executed as a simple <script>, it creates a Q global instead.\n\n // Montage Require\n if (typeof bootstrap === \"function\") {\n bootstrap(\"promise\", definition);\n\n // CommonJS\n } else if (typeof exports === \"object\" && typeof module === \"object\") {\n module.exports = definition();\n\n // RequireJS\n } else if (typeof define === \"function\" && define.amd) {\n define(definition);\n\n // SES (Secure EcmaScript)\n } else if (typeof ses !== \"undefined\") {\n if (!ses.ok()) {\n return;\n } else {\n ses.makeQ = definition;\n }\n\n // <script>\n } else if (typeof window !== \"undefined\" || typeof self !== \"undefined\") {\n // Prefer window over self for add-on scripts. Use self for\n // non-windowed contexts.\n var global = typeof window !== \"undefined\" ? window : self;\n\n // Get the `window` object, save the previous Q global\n // and initialize Q as a global.\n var previousQ = global.Q;\n global.Q = definition();\n\n // Add a noConflict function so Q can be removed from the\n // global namespace.\n global.Q.noConflict = function () {\n global.Q = previousQ;\n return this;\n };\n\n } else {\n throw new Error(\"This environment was not anticipated by Q. Please file a bug.\");\n }\n\n})(function () {\n\"use strict\";\n\nvar hasStacks = false;\ntry {\n throw new Error();\n} catch (e) {\n hasStacks = !!e.stack;\n}\n\n// All code after this point will be filtered from stack traces reported\n// by Q.\nvar qStartingLine = captureLine();\nvar qFileName;\n\n// shims\n\n// used for fallback in \"allResolved\"\nvar noop = function () {};\n\n// Use the fastest possible means to execute a task in a future turn\n// of the event loop.\nvar nextTick =(function () {\n // linked list of tasks (single, with head node)\n var head = {task: void 0, next: null};\n var tail = head;\n var flushing = false;\n var requestTick = void 0;\n var isNodeJS = false;\n // queue for late tasks, used by unhandled rejection tracking\n var laterQueue = [];\n\n function flush() {\n /* jshint loopfunc: true */\n var task, domain;\n\n while (head.next) {\n head = head.next;\n task = head.task;\n head.task = void 0;\n domain = head.domain;\n\n if (domain) {\n head.domain = void 0;\n domain.enter();\n }\n runSingle(task, domain);\n\n }\n while (laterQueue.length) {\n task = laterQueue.pop();\n runSingle(task);\n }\n flushing = false;\n }\n // runs a single function in the async queue\n function runSingle(task, domain) {\n try {\n task();\n\n } catch (e) {\n if (isNodeJS) {\n // In node, uncaught exceptions are considered fatal errors.\n // Re-throw them synchronously to interrupt flushing!\n\n // Ensure continuation if the uncaught exception is suppressed\n // listening \"uncaughtException\" events (as domains does).\n // Continue in next event to avoid tick recursion.\n if (domain) {\n domain.exit();\n }\n setTimeout(flush, 0);\n if (domain) {\n domain.enter();\n }\n\n throw e;\n\n } else {\n // In browsers, uncaught exceptions are not fatal.\n // Re-throw them asynchronously to avoid slow-downs.\n setTimeout(function () {\n throw e;\n }, 0);\n }\n }\n\n if (domain) {\n domain.exit();\n }\n }\n\n nextTick = function (task) {\n tail = tail.next = {\n task: task,\n domain: isNodeJS && process.domain,\n next: null\n };\n\n if (!flushing) {\n flushing = true;\n requestTick();\n }\n };\n\n if (typeof process === \"object\" &&\n process.toString() === \"[object process]\" && process.nextTick) {\n // Ensure Q is in a real Node environment, with a `process.nextTick`.\n // To see through fake Node environments:\n // * Mocha test runner - exposes a `process` global without a `nextTick`\n // * Browserify - exposes a `process.nexTick` function that uses\n // `setTimeout`. In this case `setImmediate` is preferred because\n // it is faster. Browserify's `process.toString()` yields\n // \"[object Object]\", while in a real Node environment\n // `process.nextTick()` yields \"[object process]\".\n isNodeJS = true;\n\n requestTick = function () {\n process.nextTick(flush);\n };\n\n } else if (typeof setImmediate === \"function\") {\n // In IE10, Node.js 0.9+, or https://github.com/NobleJS/setImmediate\n if (typeof window !== \"undefined\") {\n requestTick = setImmediate.bind(window, flush);\n } else {\n requestTick = function () {\n setImmediate(flush);\n };\n }\n\n } else if (typeof MessageChannel !== \"undefined\") {\n // modern browsers\n // http://www.nonblocking.io/2011/06/windownexttick.html\n var channel = new MessageChannel();\n // At least Safari Version 6.0.5 (8536.30.1) intermittently cannot create\n // working message ports the first time a page loads.\n channel.port1.onmessage = function () {\n requestTick = requestPortTick;\n channel.port1.onmessage = flush;\n flush();\n };\n var requestPortTick = function () {\n // Opera requires us to provide a message payload, regardless of\n // whether we use it.\n channel.port2.postMessage(0);\n };\n requestTick = function () {\n setTimeout(flush, 0);\n requestPortTick();\n };\n\n } else {\n // old browsers\n requestTick = function () {\n setTimeout(flush, 0);\n };\n }\n // runs a task after all other tasks have been run\n // this is useful for unhandled rejection tracking that needs to happen\n // after all `then`d tasks have been run.\n nextTick.runAfter = function (task) {\n laterQueue.push(task);\n if (!flushing) {\n flushing = true;\n requestTick();\n }\n };\n return nextTick;\n})();\n\n// Attempt to make generics safe in the face of downstream\n// modifications.\n// There is no situation where this is necessary.\n// If you need a security guarantee, these primordials need to be\n// deeply frozen anyway, and if you don’t need a security guarantee,\n// this is just plain paranoid.\n// However, this **might** have the nice side-effect of reducing the size of\n// the minified code by reducing x.call() to merely x()\n// See Mark Miller’s explanation of what this does.\n// http://wiki.ecmascript.org/doku.php?id=conventions:safe_meta_programming\nvar call = Function.call;\nfunction uncurryThis(f) {\n return function () {\n return call.apply(f, arguments);\n };\n}\n// This is equivalent, but slower:\n// uncurryThis = Function_bind.bind(Function_bind.call);\n// http://jsperf.com/uncurrythis\n\nvar array_slice = uncurryThis(Array.prototype.slice);\n\nvar array_reduce = uncurryThis(\n Array.prototype.reduce || function (callback, basis) {\n var index = 0,\n length = this.length;\n // concerning the initial value, if one is not provided\n if (arguments.length === 1) {\n // seek to the first value in the array, accounting\n // for the possibility that is is a sparse array\n do {\n if (index in this) {\n basis = this[index++];\n break;\n }\n if (++index >= length) {\n throw new TypeError();\n }\n } while (1);\n }\n // reduce\n for (; index < length; index++) {\n // account for the possibility that the array is sparse\n if (index in this) {\n basis = callback(basis, this[index], index);\n }\n }\n return basis;\n }\n);\n\nvar array_indexOf = uncurryThis(\n Array.prototype.indexOf || function (value) {\n // not a very good shim, but good enough for our one use of it\n for (var i = 0; i < this.length; i++) {\n if (this[i] === value) {\n return i;\n }\n }\n return -1;\n }\n);\n\nvar array_map = uncurryThis(\n Array.prototype.map || function (callback, thisp) {\n var self = this;\n var collect = [];\n array_reduce(self, function (undefined, value, index) {\n collect.push(callback.call(thisp, value, index, self));\n }, void 0);\n return collect;\n }\n);\n\nvar object_create = Object.create || function (prototype) {\n function Type() { }\n Type.prototype = prototype;\n return new Type();\n};\n\nvar object_hasOwnProperty = uncurryThis(Object.prototype.hasOwnProperty);\n\nvar object_keys = Object.keys || function (object) {\n var keys = [];\n for (var key in object) {\n if (object_hasOwnProperty(object, key)) {\n keys.push(key);\n }\n }\n return keys;\n};\n\nvar object_toString = uncurryThis(Object.prototype.toString);\n\nfunction isObject(value) {\n return value === Object(value);\n}\n\n// generator related shims\n\n// FIXME: Remove this function once ES6 generators are in SpiderMonkey.\nfunction isStopIteration(exception) {\n return (\n object_toString(exception) === \"[object StopIteration]\" ||\n exception instanceof QReturnValue\n );\n}\n\n// FIXME: Remove this helper and Q.return once ES6 generators are in\n// SpiderMonkey.\nvar QReturnValue;\nif (typeof ReturnValue !== \"undefined\") {\n QReturnValue = ReturnValue;\n} else {\n QReturnValue = function (value) {\n this.value = value;\n };\n}\n\n// long stack traces\n\nvar STACK_JUMP_SEPARATOR = \"From previous event:\";\n\nfunction makeStackTraceLong(error, promise) {\n // If possible, transform the error stack trace by removing Node and Q\n // cruft, then concatenating with the stack trace of `promise`. See #57.\n if (hasStacks &&\n promise.stack &&\n typeof error === \"object\" &&\n error !== null &&\n error.stack &&\n error.stack.indexOf(STACK_JUMP_SEPARATOR) === -1\n ) {\n var stacks = [];\n for (var p = promise; !!p; p = p.source) {\n if (p.stack) {\n stacks.unshift(p.stack);\n }\n }\n stacks.unshift(error.stack);\n\n var concatedStacks = stacks.join(\"\\n\" + STACK_JUMP_SEPARATOR + \"\\n\");\n error.stack = filterStackString(concatedStacks);\n }\n}\n\nfunction filterStackString(stackString) {\n var lines = stackString.split(\"\\n\");\n var desiredLines = [];\n for (var i = 0; i < lines.length; ++i) {\n var line = lines[i];\n\n if (!isInternalFrame(line) && !isNodeFrame(line) && line) {\n desiredLines.push(line);\n }\n }\n return desiredLines.join(\"\\n\");\n}\n\nfunction isNodeFrame(stackLine) {\n return stackLine.indexOf(\"(module.js:\") !== -1 ||\n stackLine.indexOf(\"(node.js:\") !== -1;\n}\n\nfunction getFileNameAndLineNumber(stackLine) {\n // Named functions: \"at functionName (filename:lineNumber:columnNumber)\"\n // In IE10 function name can have spaces (\"Anonymous function\") O_o\n var attempt1 = /at .+ \\((.+):(\\d+):(?:\\d+)\\)$/.exec(stackLine);\n if (attempt1) {\n return [attempt1[1], Number(attempt1[2])];\n }\n\n // Anonymous functions: \"at filename:lineNumber:columnNumber\"\n var attempt2 = /at ([^ ]+):(\\d+):(?:\\d+)$/.exec(stackLine);\n if (attempt2) {\n return [attempt2[1], Number(attempt2[2])];\n }\n\n // Firefox style: \"function@filename:lineNumber or @filename:lineNumber\"\n var attempt3 = /.*@(.+):(\\d+)$/.exec(stackLine);\n if (attempt3) {\n return [attempt3[1], Number(attempt3[2])];\n }\n}\n\nfunction isInternalFrame(stackLine) {\n var fileNameAndLineNumber = getFileNameAndLineNumber(stackLine);\n\n if (!fileNameAndLineNumber) {\n return false;\n }\n\n var fileName = fileNameAndLineNumber[0];\n var lineNumber = fileNameAndLineNumber[1];\n\n return fileName === qFileName &&\n lineNumber >= qStartingLine &&\n lineNumber <= qEndingLine;\n}\n\n// discover own file name and line number range for filtering stack\n// traces\nfunction captureLine() {\n if (!hasStacks) {\n return;\n }\n\n try {\n throw new Error();\n } catch (e) {\n var lines = e.stack.split(\"\\n\");\n var firstLine = lines[0].indexOf(\"@\") > 0 ? lines[1] : lines[2];\n var fileNameAndLineNumber = getFileNameAndLineNumber(firstLine);\n if (!fileNameAndLineNumber) {\n return;\n }\n\n qFileName = fileNameAndLineNumber[0];\n return fileNameAndLineNumber[1];\n }\n}\n\nfunction deprecate(callback, name, alternative) {\n return function () {\n if (typeof console !== \"undefined\" &&\n typeof console.warn === \"function\") {\n console.warn(name + \" is deprecated, use \" + alternative +\n \" instead.\", new Error(\"\").stack);\n }\n return callback.apply(callback, arguments);\n };\n}\n\n// end of shims\n// beginning of real work\n\n/**\n * Constructs a promise for an immediate reference, passes promises through, or\n * coerces promises from different systems.\n * @param value immediate reference or promise\n */\nfunction Q(value) {\n // If the object is already a Promise, return it directly. This enables\n // the resolve function to both be used to created references from objects,\n // but to tolerably coerce non-promises to promises.\n if (value instanceof Promise) {\n return value;\n }\n\n // assimilate thenables\n if (isPromiseAlike(value)) {\n return coerce(value);\n } else {\n return fulfill(value);\n }\n}\nQ.resolve = Q;\n\n/**\n * Performs a task in a future turn of the event loop.\n * @param {Function} task\n */\nQ.nextTick = nextTick;\n\n/**\n * Controls whether or not long stack traces will be on\n */\nQ.longStackSupport = false;\n\n// enable long stacks if Q_DEBUG is set\nif (typeof process === \"object\" && process && process.env && process.env.Q_DEBUG) {\n Q.longStackSupport = true;\n}\n\n/**\n * Constructs a {promise, resolve, reject} object.\n *\n * `resolve` is a callback to invoke with a more resolved value for the\n * promise. To fulfill the promise, invoke `resolve` with any value that is\n * not a thenable. To reject the promise, invoke `resolve` with a rejected\n * thenable, or invoke `reject` with the reason directly. To resolve the\n * promise to another thenable, thus putting it in the same state, invoke\n * `resolve` with that other thenable.\n */\nQ.defer = defer;\nfunction defer() {\n // if \"messages\" is an \"Array\", that indicates that the promise has not yet\n // been resolved. If it is \"undefined\", it has been resolved. Each\n // element of the messages array is itself an array of complete arguments to\n // forward to the resolved promise. We coerce the resolution value to a\n // promise using the `resolve` function because it handles both fully\n // non-thenable values and other thenables gracefully.\n var messages = [], progressListeners = [], resolvedPromise;\n\n var deferred = object_create(defer.prototype);\n var promise = object_create(Promise.prototype);\n\n promise.promiseDispatch = function (resolve, op, operands) {\n var args = array_slice(arguments);\n if (messages) {\n messages.push(args);\n if (op === \"when\" && operands[1]) { // progress operand\n progressListeners.push(operands[1]);\n }\n } else {\n Q.nextTick(function () {\n resolvedPromise.promiseDispatch.apply(resolvedPromise, args);\n });\n }\n };\n\n // XXX deprecated\n promise.valueOf = function () {\n if (messages) {\n return promise;\n }\n var nearerValue = nearer(resolvedPromise);\n if (isPromise(nearerValue)) {\n resolvedPromise = nearerValue; // shorten chain\n }\n return nearerValue;\n };\n\n promise.inspect = function () {\n if (!resolvedPromise) {\n return { state: \"pending\" };\n }\n return resolvedPromise.inspect();\n };\n\n if (Q.longStackSupport && hasStacks) {\n try {\n throw new Error();\n } catch (e) {\n // NOTE: don't try to use `Error.captureStackTrace` or transfer the\n // accessor around; that causes memory leaks as per GH-111. Just\n // reify the stack trace as a string ASAP.\n //\n // At the same time, cut off the first line; it's always just\n // \"[object Promise]\\n\", as per the `toString`.\n promise.stack = e.stack.substring(e.stack.indexOf(\"\\n\") + 1);\n }\n }\n\n // NOTE: we do the checks for `resolvedPromise` in each method, instead of\n // consolidating them into `become`, since otherwise we'd create new\n // promises with the lines `become(whatever(value))`. See e.g. GH-252.\n\n function become(newPromise) {\n resolvedPromise = newPromise;\n promise.source = newPromise;\n\n array_reduce(messages, function (undefined, message) {\n Q.nextTick(function () {\n newPromise.promiseDispatch.apply(newPromise, message);\n });\n }, void 0);\n\n messages = void 0;\n progressListeners = void 0;\n }\n\n deferred.promise = promise;\n deferred.resolve = function (value) {\n if (resolvedPromise) {\n return;\n }\n\n become(Q(value));\n };\n\n deferred.fulfill = function (value) {\n if (resolvedPromise) {\n return;\n }\n\n become(fulfill(value));\n };\n deferred.reject = function (reason) {\n if (resolvedPromise) {\n return;\n }\n\n become(reject(reason));\n };\n deferred.notify = function (progress) {\n if (resolvedPromise) {\n return;\n }\n\n array_reduce(progressListeners, function (undefined, progressListener) {\n Q.nextTick(function () {\n progressListener(progress);\n });\n }, void 0);\n };\n\n return deferred;\n}\n\n/**\n * Creates a Node-style callback that will resolve or reject the deferred\n * promise.\n * @returns a nodeback\n */\ndefer.prototype.makeNodeResolver = function () {\n var self = this;\n return function (error, value) {\n if (error) {\n self.reject(error);\n } else if (arguments.length > 2) {\n self.resolve(array_slice(arguments, 1));\n } else {\n self.resolve(value);\n }\n };\n};\n\n/**\n * @param resolver {Function} a function that returns nothing and accepts\n * the resolve, reject, and notify functions for a deferred.\n * @returns a promise that may be resolved with the given resolve and reject\n * functions, or rejected by a thrown exception in resolver\n */\nQ.Promise = promise; // ES6\nQ.promise = promise;\nfunction promise(resolver) {\n if (typeof resolver !== \"function\") {\n throw new TypeError(\"resolver must be a function.\");\n }\n var deferred = defer();\n try {\n resolver(deferred.resolve, deferred.reject, deferred.notify);\n } catch (reason) {\n deferred.reject(reason);\n }\n return deferred.promise;\n}\n\npromise.race = race; // ES6\npromise.all = all; // ES6\npromise.reject = reject; // ES6\npromise.resolve = Q; // ES6\n\n// XXX experimental. This method is a way to denote that a local value is\n// serializable and should be immediately dispatched to a remote upon request,\n// instead of passing a reference.\nQ.passByCopy = function (object) {\n //freeze(object);\n //passByCopies.set(object, true);\n return object;\n};\n\nPromise.prototype.passByCopy = function () {\n //freeze(object);\n //passByCopies.set(object, true);\n return this;\n};\n\n/**\n * If two promises eventually fulfill to the same value, promises that value,\n * but otherwise rejects.\n * @param x {Any*}\n * @param y {Any*}\n * @returns {Any*} a promise for x and y if they are the same, but a rejection\n * otherwise.\n *\n */\nQ.join = function (x, y) {\n return Q(x).join(y);\n};\n\nPromise.prototype.join = function (that) {\n return Q([this, that]).spread(function (x, y) {\n if (x === y) {\n // TODO: \"===\" should be Object.is or equiv\n return x;\n } else {\n throw new Error(\"Can't join: not the same: \" + x + \" \" + y);\n }\n });\n};\n\n/**\n * Returns a promise for the first of an array of promises to become settled.\n * @param answers {Array[Any*]} promises to race\n * @returns {Any*} the first promise to be settled\n */\nQ.race = race;\nfunction race(answerPs) {\n return promise(function (resolve, reject) {\n // Switch to this once we can assume at least ES5\n // answerPs.forEach(function (answerP) {\n // Q(answerP).then(resolve, reject);\n // });\n // Use this in the meantime\n for (var i = 0, len = answerPs.length; i < len; i++) {\n Q(answerPs[i]).then(resolve, reject);\n }\n });\n}\n\nPromise.prototype.race = function () {\n return this.then(Q.race);\n};\n\n/**\n * Constructs a Promise with a promise descriptor object and optional fallback\n * function. The descriptor contains methods like when(rejected), get(name),\n * set(name, value), post(name, args), and delete(name), which all\n * return either a value, a promise for a value, or a rejection. The fallback\n * accepts the operation name, a resolver, and any further arguments that would\n * have been forwarded to the appropriate method above had a method been\n * provided with the proper name. The API makes no guarantees about the nature\n * of the returned object, apart from that it is usable whereever promises are\n * bought and sold.\n */\nQ.makePromise = Promise;\nfunction Promise(descriptor, fallback, inspect) {\n if (fallback === void 0) {\n fallback = function (op) {\n return reject(new Error(\n \"Promise does not support operation: \" + op\n ));\n };\n }\n if (inspect === void 0) {\n inspect = function () {\n return {state: \"unknown\"};\n };\n }\n\n var promise = object_create(Promise.prototype);\n\n promise.promiseDispatch = function (resolve, op, args) {\n var result;\n try {\n if (descriptor[op]) {\n result = descriptor[op].apply(promise, args);\n } else {\n result = fallback.call(promise, op, args);\n }\n } catch (exception) {\n result = reject(exception);\n }\n if (resolve) {\n resolve(result);\n }\n };\n\n promise.inspect = inspect;\n\n // XXX deprecated `valueOf` and `exception` support\n if (inspect) {\n var inspected = inspect();\n if (inspected.state === \"rejected\") {\n promise.exception = inspected.reason;\n }\n\n promise.valueOf = function () {\n var inspected = inspect();\n if (inspected.state === \"pending\" ||\n inspected.state === \"rejected\") {\n return promise;\n }\n return inspected.value;\n };\n }\n\n return promise;\n}\n\nPromise.prototype.toString = function () {\n return \"[object Promise]\";\n};\n\nPromise.prototype.then = function (fulfilled, rejected, progressed) {\n var self = this;\n var deferred = defer();\n var done = false; // ensure the untrusted promise makes at most a\n // single call to one of the callbacks\n\n function _fulfilled(value) {\n try {\n return typeof fulfilled === \"function\" ? fulfilled(value) : value;\n } catch (exception) {\n return reject(exception);\n }\n }\n\n function _rejected(exception) {\n if (typeof rejected === \"function\") {\n makeStackTraceLong(exception, self);\n try {\n return rejected(exception);\n } catch (newException) {\n return reject(newException);\n }\n }\n return reject(exception);\n }\n\n function _progressed(value) {\n return typeof progressed === \"function\" ? progressed(value) : value;\n }\n\n Q.nextTick(function () {\n self.promiseDispatch(function (value) {\n if (done) {\n return;\n }\n done = true;\n\n deferred.resolve(_fulfilled(value));\n }, \"when\", [function (exception) {\n if (done) {\n return;\n }\n done = true;\n\n deferred.resolve(_rejected(exception));\n }]);\n });\n\n // Progress propagator need to be attached in the current tick.\n self.promiseDispatch(void 0, \"when\", [void 0, function (value) {\n var newValue;\n var threw = false;\n try {\n newValue = _progressed(value);\n } catch (e) {\n threw = true;\n if (Q.onerror) {\n Q.onerror(e);\n } else {\n throw e;\n }\n }\n\n if (!threw) {\n deferred.notify(newValue);\n }\n }]);\n\n return deferred.promise;\n};\n\nQ.tap = function (promise, callback) {\n return Q(promise).tap(callback);\n};\n\n/**\n * Works almost like \"finally\", but not called for rejections.\n * Original resolution value is passed through callback unaffected.\n * Callback may return a promise that will be awaited for.\n * @param {Function} callback\n * @returns {Q.Promise}\n * @example\n * doSomething()\n * .then(...)\n * .tap(console.log)\n * .then(...);\n */\nPromise.prototype.tap = function (callback) {\n callback = Q(callback);\n\n return this.then(function (value) {\n return callback.fcall(value).thenResolve(value);\n });\n};\n\n/**\n * Registers an observer on a promise.\n *\n * Guarantees:\n *\n * 1. that fulfilled and rejected will be called only once.\n * 2. that either the fulfilled callback or the rejected callback will be\n * called, but not both.\n * 3. that fulfilled and rejected will not be called in this turn.\n *\n * @param value promise or immediate reference to observe\n * @param fulfilled function to be called with the fulfilled value\n * @param rejected function to be called with the rejection exception\n * @param progressed function to be called on any progress notifications\n * @return promise for the return value from the invoked callback\n */\nQ.when = when;\nfunction when(value, fulfilled, rejected, progressed) {\n return Q(value).then(fulfilled, rejected, progressed);\n}\n\nPromise.prototype.thenResolve = function (value) {\n return this.then(function () { return value; });\n};\n\nQ.thenResolve = function (promise, value) {\n return Q(promise).thenResolve(value);\n};\n\nPromise.prototype.thenReject = function (reason) {\n return this.then(function () { throw reason; });\n};\n\nQ.thenReject = function (promise, reason) {\n return Q(promise).thenReject(reason);\n};\n\n/**\n * If an object is not a promise, it is as \"near\" as possible.\n * If a promise is rejected, it is as \"near\" as possible too.\n * If it’s a fulfilled promise, the fulfillment value is nearer.\n * If it’s a deferred promise and the deferred has been resolved, the\n * resolution is \"nearer\".\n * @param object\n * @returns most resolved (nearest) form of the object\n */\n\n// XXX should we re-do this?\nQ.nearer = nearer;\nfunction nearer(value) {\n if (isPromise(value)) {\n var inspected = value.inspect();\n if (inspected.state === \"fulfilled\") {\n return inspected.value;\n }\n }\n return value;\n}\n\n/**\n * @returns whether the given object is a promise.\n * Otherwise it is a fulfilled value.\n */\nQ.isPromise = isPromise;\nfunction isPromise(object) {\n return object instanceof Promise;\n}\n\nQ.isPromiseAlike = isPromiseAlike;\nfunction isPromiseAlike(object) {\n return isObject(object) && typeof object.then === \"function\";\n}\n\n/**\n * @returns whether the given object is a pending promise, meaning not\n * fulfilled or rejected.\n */\nQ.isPending = isPending;\nfunction isPending(object) {\n return isPromise(object) && object.inspect().state === \"pending\";\n}\n\nPromise.prototype.isPending = function () {\n return this.inspect().state === \"pending\";\n};\n\n/**\n * @returns whether the given object is a value or fulfilled\n * promise.\n */\nQ.isFulfilled = isFulfilled;\nfunction isFulfilled(object) {\n return !isPromise(object) || object.inspect().state === \"fulfilled\";\n}\n\nPromise.prototype.isFulfilled = function () {\n return this.inspect().state === \"fulfilled\";\n};\n\n/**\n * @returns whether the given object is a rejected promise.\n */\nQ.isRejected = isRejected;\nfunction isRejected(object) {\n return isPromise(object) && object.inspect().state === \"rejected\";\n}\n\nPromise.prototype.isRejected = function () {\n return this.inspect().state === \"rejected\";\n};\n\n//// BEGIN UNHANDLED REJECTION TRACKING\n\n// This promise library consumes exceptions thrown in handlers so they can be\n// handled by a subsequent promise. The exceptions get added to this array when\n// they are created, and removed when they are handled. Note that in ES6 or\n// shimmed environments, this would naturally be a `Set`.\nvar unhandledReasons = [];\nvar unhandledRejections = [];\nvar reportedUnhandledRejections = [];\nvar trackUnhandledRejections = true;\n\nfunction resetUnhandledRejections() {\n unhandledReasons.length = 0;\n unhandledRejections.length = 0;\n\n if (!trackUnhandledRejections) {\n trackUnhandledRejections = true;\n }\n}\n\nfunction trackRejection(promise, reason) {\n if (!trackUnhandledRejections) {\n return;\n }\n if (typeof process === \"object\" && typeof process.emit === \"function\") {\n Q.nextTick.runAfter(function () {\n if (array_indexOf(unhandledRejections, promise) !== -1) {\n process.emit(\"unhandledRejection\", reason, promise);\n reportedUnhandledRejections.push(promise);\n }\n });\n }\n\n unhandledRejections.push(promise);\n if (reason && typeof reason.stack !== \"undefined\") {\n unhandledReasons.push(reason.stack);\n } else {\n unhandledReasons.push(\"(no stack) \" + reason);\n }\n}\n\nfunction untrackRejection(promise) {\n if (!trackUnhandledRejections) {\n return;\n }\n\n var at = array_indexOf(unhandledRejections, promise);\n if (at !== -1) {\n if (typeof process === \"object\" && typeof process.emit === \"function\") {\n Q.nextTick.runAfter(function () {\n var atReport = array_indexOf(reportedUnhandledRejections, promise);\n if (atReport !== -1) {\n process.emit(\"rejectionHandled\", unhandledReasons[at], promise);\n reportedUnhandledRejections.splice(atReport, 1);\n }\n });\n }\n unhandledRejections.splice(at, 1);\n unhandledReasons.splice(at, 1);\n }\n}\n\nQ.resetUnhandledRejections = resetUnhandledRejections;\n\nQ.getUnhandledReasons = function () {\n // Make a copy so that consumers can't interfere with our internal state.\n return unhandledReasons.slice();\n};\n\nQ.stopUnhandledRejectionTracking = function () {\n resetUnhandledRejections();\n trackUnhandledRejections = false;\n};\n\nresetUnhandledRejections();\n\n//// END UNHANDLED REJECTION TRACKING\n\n/**\n * Constructs a rejected promise.\n * @param reason value describing the failure\n */\nQ.reject = reject;\nfunction reject(reason) {\n var rejection = Promise({\n \"when\": function (rejected) {\n // note that the error has been handled\n if (rejected) {\n untrackRejection(this);\n }\n return rejected ? rejected(reason) : this;\n }\n }, function fallback() {\n return this;\n }, function inspect() {\n return { state: \"rejected\", reason: reason };\n });\n\n // Note that the reason has not been handled.\n trackRejection(rejection, reason);\n\n return rejection;\n}\n\n/**\n * Constructs a fulfilled promise for an immediate reference.\n * @param value immediate reference\n */\nQ.fulfill = fulfill;\nfunction fulfill(value) {\n return Promise({\n \"when\": function () {\n return value;\n },\n \"get\": function (name) {\n return value[name];\n },\n \"set\": function (name, rhs) {\n value[name] = rhs;\n },\n \"delete\": function (name) {\n delete value[name];\n },\n \"post\": function (name, args) {\n // Mark Miller proposes that post with no name should apply a\n // promised function.\n if (name === null || name === void 0) {\n return value.apply(void 0, args);\n } else {\n return value[name].apply(value, args);\n }\n },\n \"apply\": function (thisp, args) {\n return value.apply(thisp, args);\n },\n \"keys\": function () {\n return object_keys(value);\n }\n }, void 0, function inspect() {\n return { state: \"fulfilled\", value: value };\n });\n}\n\n/**\n * Converts thenables to Q promises.\n * @param promise thenable promise\n * @returns a Q promise\n */\nfunction coerce(promise) {\n var deferred = defer();\n Q.nextTick(function () {\n try {\n promise.then(deferred.resolve, deferred.reject, deferred.notify);\n } catch (exception) {\n deferred.reject(exception);\n }\n });\n return deferred.promise;\n}\n\n/**\n * Annotates an object such that it will never be\n * transferred away from this process over any promise\n * communication channel.\n * @param object\n * @returns promise a wrapping of that object that\n * additionally responds to the \"isDef\" message\n * without a rejection.\n */\nQ.master = master;\nfunction master(object) {\n return Promise({\n \"isDef\": function () {}\n }, function fallback(op, args) {\n return dispatch(object, op, args);\n }, function () {\n return Q(object).inspect();\n });\n}\n\n/**\n * Spreads the values of a promised array of arguments into the\n * fulfillment callback.\n * @param fulfilled callback that receives variadic arguments from the\n * promised array\n * @param rejected callback that receives the exception if the promise\n * is rejected.\n * @returns a promise for the return value or thrown exception of\n * either callback.\n */\nQ.spread = spread;\nfunction spread(value, fulfilled, rejected) {\n return Q(value).spread(fulfilled, rejected);\n}\n\nPromise.prototype.spread = function (fulfilled, rejected) {\n return this.all().then(function (array) {\n return fulfilled.apply(void 0, array);\n }, rejected);\n};\n\n/**\n * The async function is a decorator for generator functions, turning\n * them into asynchronous generators. Although generators are only part\n * of the newest ECMAScript 6 drafts, this code does not cause syntax\n * errors in older engines. This code should continue to work and will\n * in fact improve over time as the language improves.\n *\n * ES6 generators are currently part of V8 version 3.19 with the\n * --harmony-generators runtime flag enabled. SpiderMonkey has had them\n * for longer, but under an older Python-inspired form. This function\n * works on both kinds of generators.\n *\n * Decorates a generator function such that:\n * - it may yield promises\n * - execution will continue when that promise is fulfilled\n * - the value of the yield expression will be the fulfilled value\n * - it returns a promise for the return value (when the generator\n * stops iterating)\n * - the decorated function returns a promise for the return value\n * of the generator or the first rejected promise among those\n * yielded.\n * - if an error is thrown in the generator, it propagates through\n * every following yield until it is caught, or until it escapes\n * the generator function altogether, and is translated into a\n * rejection for the promise returned by the decorated generator.\n */\nQ.async = async;\nfunction async(makeGenerator) {\n return function () {\n // when verb is \"send\", arg is a value\n // when verb is \"throw\", arg is an exception\n function continuer(verb, arg) {\n var result;\n\n // Until V8 3.19 / Chromium 29 is released, SpiderMonkey is the only\n // engine that has a deployed base of browsers that support generators.\n // However, SM's generators use the Python-inspired semantics of\n // outdated ES6 drafts. We would like to support ES6, but we'd also\n // like to make it possible to use generators in deployed browsers, so\n // we also support Python-style generators. At some point we can remove\n // this block.\n\n if (typeof StopIteration === \"undefined\") {\n // ES6 Generators\n try {\n result = generator[verb](arg);\n } catch (exception) {\n return reject(exception);\n }\n if (result.done) {\n return Q(result.value);\n } else {\n return when(result.value, callback, errback);\n }\n } else {\n // SpiderMonkey Generators\n // FIXME: Remove this case when SM does ES6 generators.\n try {\n result = generator[verb](arg);\n } catch (exception) {\n if (isStopIteration(exception)) {\n return Q(exception.value);\n } else {\n return reject(exception);\n }\n }\n return when(result, callback, errback);\n }\n }\n var generator = makeGenerator.apply(this, arguments);\n var callback = continuer.bind(continuer, \"next\");\n var errback = continuer.bind(continuer, \"throw\");\n return callback();\n };\n}\n\n/**\n * The spawn function is a small wrapper around async that immediately\n * calls the generator and also ends the promise chain, so that any\n * unhandled errors are thrown instead of forwarded to the error\n * handler. This is useful because it's extremely common to run\n * generators at the top-level to work with libraries.\n */\nQ.spawn = spawn;\nfunction spawn(makeGenerator) {\n Q.done(Q.async(makeGenerator)());\n}\n\n// FIXME: Remove this interface once ES6 generators are in SpiderMonkey.\n/**\n * Throws a ReturnValue exception to stop an asynchronous generator.\n *\n * This interface is a stop-gap measure to support generator return\n * values in older Firefox/SpiderMonkey. In browsers that support ES6\n * generators like Chromium 29, just use \"return\" in your generator\n * functions.\n *\n * @param value the return value for the surrounding generator\n * @throws ReturnValue exception with the value.\n * @example\n * // ES6 style\n * Q.async(function* () {\n * var foo = yield getFooPromise();\n * var bar = yield getBarPromise();\n * return foo + bar;\n * })\n * // Older SpiderMonkey style\n * Q.async(function () {\n * var foo = yield getFooPromise();\n * var bar = yield getBarPromise();\n * Q.return(foo + bar);\n * })\n */\nQ[\"return\"] = _return;\nfunction _return(value) {\n throw new QReturnValue(value);\n}\n\n/**\n * The promised function decorator ensures that any promise arguments\n * are settled and passed as values (`this` is also settled and passed\n * as a value). It will also ensure that the result of a function is\n * always a promise.\n *\n * @example\n * var add = Q.promised(function (a, b) {\n * return a + b;\n * });\n * add(Q(a), Q(B));\n *\n * @param {function} callback The function to decorate\n * @returns {function} a function that has been decorated.\n */\nQ.promised = promised;\nfunction promised(callback) {\n return function () {\n return spread([this, all(arguments)], function (self, args) {\n return callback.apply(self, args);\n });\n };\n}\n\n/**\n * sends a message to a value in a future turn\n * @param object* the recipient\n * @param op the name of the message operation, e.g., \"when\",\n * @param args further arguments to be forwarded to the operation\n * @returns result {Promise} a promise for the result of the operation\n */\nQ.dispatch = dispatch;\nfunction dispatch(object, op, args) {\n return Q(object).dispatch(op, args);\n}\n\nPromise.prototype.dispatch = function (op, args) {\n var self = this;\n var deferred = defer();\n Q.nextTick(function () {\n self.promiseDispatch(deferred.resolve, op, args);\n });\n return deferred.promise;\n};\n\n/**\n * Gets the value of a property in a future turn.\n * @param object promise or immediate reference for target object\n * @param name name of property to get\n * @return promise for the property value\n */\nQ.get = function (object, key) {\n return Q(object).dispatch(\"get\", [key]);\n};\n\nPromise.prototype.get = function (key) {\n return this.dispatch(\"get\", [key]);\n};\n\n/**\n * Sets the value of a property in a future turn.\n * @param object promise or immediate reference for object object\n * @param name name of property to set\n * @param value new value of property\n * @return promise for the return value\n */\nQ.set = function (object, key, value) {\n return Q(object).dispatch(\"set\", [key, value]);\n};\n\nPromise.prototype.set = function (key, value) {\n return this.dispatch(\"set\", [key, value]);\n};\n\n/**\n * Deletes a property in a future turn.\n * @param object promise or immediate reference for target object\n * @param name name of property to delete\n * @return promise for the return value\n */\nQ.del = // XXX legacy\nQ[\"delete\"] = function (object, key) {\n return Q(object).dispatch(\"delete\", [key]);\n};\n\nPromise.prototype.del = // XXX legacy\nPromise.prototype[\"delete\"] = function (key) {\n return this.dispatch(\"delete\", [key]);\n};\n\n/**\n * Invokes a method in a future turn.\n * @param object promise or immediate reference for target object\n * @param name name of method to invoke\n * @param value a value to post, typically an array of\n * invocation arguments for promises that\n * are ultimately backed with `resolve` values,\n * as opposed to those backed with URLs\n * wherein the posted value can be any\n * JSON serializable object.\n * @return promise for the return value\n */\n// bound locally because it is used by other methods\nQ.mapply = // XXX As proposed by \"Redsandro\"\nQ.post = function (object, name, args) {\n return Q(object).dispatch(\"post\", [name, args]);\n};\n\nPromise.prototype.mapply = // XXX As proposed by \"Redsandro\"\nPromise.prototype.post = function (name, args) {\n return this.dispatch(\"post\", [name, args]);\n};\n\n/**\n * Invokes a method in a future turn.\n * @param object promise or immediate reference for target object\n * @param name name of method to invoke\n * @param ...args array of invocation arguments\n * @return promise for the return value\n */\nQ.send = // XXX Mark Miller's proposed parlance\nQ.mcall = // XXX As proposed by \"Redsandro\"\nQ.invoke = function (object, name /*...args*/) {\n return Q(object).dispatch(\"post\", [name, array_slice(arguments, 2)]);\n};\n\nPromise.prototype.send = // XXX Mark Miller's proposed parlance\nPromise.prototype.mcall = // XXX As proposed by \"Redsandro\"\nPromise.prototype.invoke = function (name /*...args*/) {\n return this.dispatch(\"post\", [name, array_slice(arguments, 1)]);\n};\n\n/**\n * Applies the promised function in a future turn.\n * @param object promise or immediate reference for target function\n * @param args array of application arguments\n */\nQ.fapply = function (object, args) {\n return Q(object).dispatch(\"apply\", [void 0, args]);\n};\n\nPromise.prototype.fapply = function (args) {\n return this.dispatch(\"apply\", [void 0, args]);\n};\n\n/**\n * Calls the promised function in a future turn.\n * @param object promise or immediate reference for target function\n * @param ...args array of application arguments\n */\nQ[\"try\"] =\nQ.fcall = function (object /* ...args*/) {\n return Q(object).dispatch(\"apply\", [void 0, array_slice(arguments, 1)]);\n};\n\nPromise.prototype.fcall = function (/*...args*/) {\n return this.dispatch(\"apply\", [void 0, array_slice(arguments)]);\n};\n\n/**\n * Binds the promised function, transforming return values into a fulfilled\n * promise and thrown errors into a rejected one.\n * @param object promise or immediate reference for target function\n * @param ...args array of application arguments\n */\nQ.fbind = function (object /*...args*/) {\n var promise = Q(object);\n var args = array_slice(arguments, 1);\n return function fbound() {\n return promise.dispatch(\"apply\", [\n this,\n args.concat(array_slice(arguments))\n ]);\n };\n};\nPromise.prototype.fbind = function (/*...args*/) {\n var promise = this;\n var args = array_slice(arguments);\n return function fbound() {\n return promise.dispatch(\"apply\", [\n this,\n args.concat(array_slice(arguments))\n ]);\n };\n};\n\n/**\n * Requests the names of the owned properties of a promised\n * object in a future turn.\n * @param object promise or immediate reference for target object\n * @return promise for the keys of the eventually settled object\n */\nQ.keys = function (object) {\n return Q(object).dispatch(\"keys\", []);\n};\n\nPromise.prototype.keys = function () {\n return this.dispatch(\"keys\", []);\n};\n\n/**\n * Turns an array of promises into a promise for an array. If any of\n * the promises gets rejected, the whole array is rejected immediately.\n * @param {Array*} an array (or promise for an array) of values (or\n * promises for values)\n * @returns a promise for an array of the corresponding values\n */\n// By Mark Miller\n// http://wiki.ecmascript.org/doku.php?id=strawman:concurrency&rev=1308776521#allfulfilled\nQ.all = all;\nfunction all(promises) {\n return when(promises, function (promises) {\n var pendingCount = 0;\n var deferred = defer();\n array_reduce(promises, function (undefined, promise, index) {\n var snapshot;\n if (\n isPromise(promise) &&\n (snapshot = promise.inspect()).state === \"fulfilled\"\n ) {\n promises[index] = snapshot.value;\n } else {\n ++pendingCount;\n when(\n promise,\n function (value) {\n promises[index] = value;\n if (--pendingCount === 0) {\n deferred.resolve(promises);\n }\n },\n deferred.reject,\n function (progress) {\n deferred.notify({ index: index, value: progress });\n }\n );\n }\n }, void 0);\n if (pendingCount === 0) {\n deferred.resolve(promises);\n }\n return deferred.promise;\n });\n}\n\nPromise.prototype.all = function () {\n return all(this);\n};\n\n/**\n * Returns the first resolved promise of an array. Prior rejected promises are\n * ignored. Rejects only if all promises are rejected.\n * @param {Array*} an array containing values or promises for values\n * @returns a promise fulfilled with the value of the first resolved promise,\n * or a rejected promise if all promises are rejected.\n */\nQ.any = any;\n\nfunction any(promises) {\n if (promises.length === 0) {\n return Q.resolve();\n }\n\n var deferred = Q.defer();\n var pendingCount = 0;\n array_reduce(promises, function (prev, current, index) {\n var promise = promises[index];\n\n pendingCount++;\n\n when(promise, onFulfilled, onRejected, onProgress);\n function onFulfilled(result) {\n deferred.resolve(result);\n }\n function onRejected() {\n pendingCount--;\n if (pendingCount === 0) {\n deferred.reject(new Error(\n \"Can't get fulfillment value from any promise, all \" +\n \"promises were rejected.\"\n ));\n }\n }\n function onProgress(progress) {\n deferred.notify({\n index: index,\n value: progress\n });\n }\n }, undefined);\n\n return deferred.promise;\n}\n\nPromise.prototype.any = function () {\n return any(this);\n};\n\n/**\n * Waits for all promises to be settled, either fulfilled or\n * rejected. This is distinct from `all` since that would stop\n * waiting at the first rejection. The promise returned by\n * `allResolved` will never be rejected.\n * @param promises a promise for an array (or an array) of promises\n * (or values)\n * @return a promise for an array of promises\n */\nQ.allResolved = deprecate(allResolved, \"allResolved\", \"allSettled\");\nfunction allResolved(promises) {\n return when(promises, function (promises) {\n promises = array_map(promises, Q);\n return when(all(array_map(promises, function (promise) {\n return when(promise, noop, noop);\n })), function () {\n return promises;\n });\n });\n}\n\nPromise.prototype.allResolved = function () {\n return allResolved(this);\n};\n\n/**\n * @see Promise#allSettled\n */\nQ.allSettled = allSettled;\nfunction allSettled(promises) {\n return Q(promises).allSettled();\n}\n\n/**\n * Turns an array of promises into a promise for an array of their states (as\n * returned by `inspect`) when they have all settled.\n * @param {Array[Any*]} values an array (or promise for an array) of values (or\n * promises for values)\n * @returns {Array[State]} an array of states for the respective values.\n */\nPromise.prototype.allSettled = function () {\n return this.then(function (promises) {\n return all(array_map(promises, function (promise) {\n promise = Q(promise);\n function regardless() {\n return promise.inspect();\n }\n return promise.then(regardless, regardless);\n }));\n });\n};\n\n/**\n * Captures the failure of a promise, giving an oportunity to recover\n * with a callback. If the given promise is fulfilled, the returned\n * promise is fulfilled.\n * @param {Any*} promise for something\n * @param {Function} callback to fulfill the returned promise if the\n * given promise is rejected\n * @returns a promise for the return value of the callback\n */\nQ.fail = // XXX legacy\nQ[\"catch\"] = function (object, rejected) {\n return Q(object).then(void 0, rejected);\n};\n\nPromise.prototype.fail = // XXX legacy\nPromise.prototype[\"catch\"] = function (rejected) {\n return this.then(void 0, rejected);\n};\n\n/**\n * Attaches a listener that can respond to progress notifications from a\n * promise's originating deferred. This listener receives the exact arguments\n * passed to ``deferred.notify``.\n * @param {Any*} promise for something\n * @param {Function} callback to receive any progress notifications\n * @returns the given promise, unchanged\n */\nQ.progress = progress;\nfunction progress(object, progressed) {\n return Q(object).then(void 0, void 0, progressed);\n}\n\nPromise.prototype.progress = function (progressed) {\n return this.then(void 0, void 0, progressed);\n};\n\n/**\n * Provides an opportunity to observe the settling of a promise,\n * regardless of whether the promise is fulfilled or rejected. Forwards\n * the resolution to the returned promise when the callback is done.\n * The callback can return a promise to defer completion.\n * @param {Any*} promise\n * @param {Function} callback to observe the resolution of the given\n * promise, takes no arguments.\n * @returns a promise for the resolution of the given promise when\n * ``fin`` is done.\n */\nQ.fin = // XXX legacy\nQ[\"finally\"] = function (object, callback) {\n return Q(object)[\"finally\"](callback);\n};\n\nPromise.prototype.fin = // XXX legacy\nPromise.prototype[\"finally\"] = function (callback) {\n callback = Q(callback);\n return this.then(function (value) {\n return callback.fcall().then(function () {\n return value;\n });\n }, function (reason) {\n // TODO attempt to recycle the rejection with \"this\".\n return callback.fcall().then(function () {\n throw reason;\n });\n });\n};\n\n/**\n * Terminates a chain of promises, forcing rejections to be\n * thrown as exceptions.\n * @param {Any*} promise at the end of a chain of promises\n * @returns nothing\n */\nQ.done = function (object, fulfilled, rejected, progress) {\n return Q(object).done(fulfilled, rejected, progress);\n};\n\nPromise.prototype.done = function (fulfilled, rejected, progress) {\n var onUnhandledError = function (error) {\n // forward to a future turn so that ``when``\n // does not catch it and turn it into a rejection.\n Q.nextTick(function () {\n makeStackTraceLong(error, promise);\n if (Q.onerror) {\n Q.onerror(error);\n } else {\n throw error;\n }\n });\n };\n\n // Avoid unnecessary `nextTick`ing via an unnecessary `when`.\n var promise = fulfilled || rejected || progress ?\n this.then(fulfilled, rejected, progress) :\n this;\n\n if (typeof process === \"object\" && process && process.domain) {\n onUnhandledError = process.domain.bind(onUnhandledError);\n }\n\n promise.then(void 0, onUnhandledError);\n};\n\n/**\n * Causes a promise to be rejected if it does not get fulfilled before\n * some milliseconds time out.\n * @param {Any*} promise\n * @param {Number} milliseconds timeout\n * @param {Any*} custom error message or Error object (optional)\n * @returns a promise for the resolution of the given promise if it is\n * fulfilled before the timeout, otherwise rejected.\n */\nQ.timeout = function (object, ms, error) {\n return Q(object).timeout(ms, error);\n};\n\nPromise.prototype.timeout = function (ms, error) {\n var deferred = defer();\n var timeoutId = setTimeout(function () {\n if (!error || \"string\" === typeof error) {\n error = new Error(error || \"Timed out after \" + ms + \" ms\");\n error.code = \"ETIMEDOUT\";\n }\n deferred.reject(error);\n }, ms);\n\n this.then(function (value) {\n clearTimeout(timeoutId);\n deferred.resolve(value);\n }, function (exception) {\n clearTimeout(timeoutId);\n deferred.reject(exception);\n }, deferred.notify);\n\n return deferred.promise;\n};\n\n/**\n * Returns a promise for the given value (or promised value), some\n * milliseconds after it resolved. Passes rejections immediately.\n * @param {Any*} promise\n * @param {Number} milliseconds\n * @returns a promise for the resolution of the given promise after milliseconds\n * time has elapsed since the resolution of the given promise.\n * If the given promise rejects, that is passed immediately.\n */\nQ.delay = function (object, timeout) {\n if (timeout === void 0) {\n timeout = object;\n object = void 0;\n }\n return Q(object).delay(timeout);\n};\n\nPromise.prototype.delay = function (timeout) {\n return this.then(function (value) {\n var deferred = defer();\n setTimeout(function () {\n deferred.resolve(value);\n }, timeout);\n return deferred.promise;\n });\n};\n\n/**\n * Passes a continuation to a Node function, which is called with the given\n * arguments provided as an array, and returns a promise.\n *\n * Q.nfapply(FS.readFile, [__filename])\n * .then(function (content) {\n * })\n *\n */\nQ.nfapply = function (callback, args) {\n return Q(callback).nfapply(args);\n};\n\nPromise.prototype.nfapply = function (args) {\n var deferred = defer();\n var nodeArgs = array_slice(args);\n nodeArgs.push(deferred.makeNodeResolver());\n this.fapply(nodeArgs).fail(deferred.reject);\n return deferred.promise;\n};\n\n/**\n * Passes a continuation to a Node function, which is called with the given\n * arguments provided individually, and returns a promise.\n * @example\n * Q.nfcall(FS.readFile, __filename)\n * .then(function (content) {\n * })\n *\n */\nQ.nfcall = function (callback /*...args*/) {\n var args = array_slice(arguments, 1);\n return Q(callback).nfapply(args);\n};\n\nPromise.prototype.nfcall = function (/*...args*/) {\n var nodeArgs = array_slice(arguments);\n var deferred = defer();\n nodeArgs.push(deferred.makeNodeResolver());\n this.fapply(nodeArgs).fail(deferred.reject);\n return deferred.promise;\n};\n\n/**\n * Wraps a NodeJS continuation passing function and returns an equivalent\n * version that returns a promise.\n * @example\n * Q.nfbind(FS.readFile, __filename)(\"utf-8\")\n * .then(console.log)\n * .done()\n */\nQ.nfbind =\nQ.denodeify = function (callback /*...args*/) {\n var baseArgs = array_slice(arguments, 1);\n return function () {\n var nodeArgs = baseArgs.concat(array_slice(arguments));\n var deferred = defer();\n nodeArgs.push(deferred.makeNodeResolver());\n Q(callback).fapply(nodeArgs).fail(deferred.reject);\n return deferred.promise;\n };\n};\n\nPromise.prototype.nfbind =\nPromise.prototype.denodeify = function (/*...args*/) {\n var args = array_slice(arguments);\n args.unshift(this);\n return Q.denodeify.apply(void 0, args);\n};\n\nQ.nbind = function (callback, thisp /*...args*/) {\n var baseArgs = array_slice(arguments, 2);\n return function () {\n var nodeArgs = baseArgs.concat(array_slice(arguments));\n var deferred = defer();\n nodeArgs.push(deferred.makeNodeResolver());\n function bound() {\n return callback.apply(thisp, arguments);\n }\n Q(bound).fapply(nodeArgs).fail(deferred.reject);\n return deferred.promise;\n };\n};\n\nPromise.prototype.nbind = function (/*thisp, ...args*/) {\n var args = array_slice(arguments, 0);\n args.unshift(this);\n return Q.nbind.apply(void 0, args);\n};\n\n/**\n * Calls a method of a Node-style object that accepts a Node-style\n * callback with a given array of arguments, plus a provided callback.\n * @param object an object that has the named method\n * @param {String} name name of the method of object\n * @param {Array} args arguments to pass to the method; the callback\n * will be provided by Q and appended to these arguments.\n * @returns a promise for the value or error\n */\nQ.nmapply = // XXX As proposed by \"Redsandro\"\nQ.npost = function (object, name, args) {\n return Q(object).npost(name, args);\n};\n\nPromise.prototype.nmapply = // XXX As proposed by \"Redsandro\"\nPromise.prototype.npost = function (name, args) {\n var nodeArgs = array_slice(args || []);\n var deferred = defer();\n nodeArgs.push(deferred.makeNodeResolver());\n this.dispatch(\"post\", [name, nodeArgs]).fail(deferred.reject);\n return deferred.promise;\n};\n\n/**\n * Calls a method of a Node-style object that accepts a Node-style\n * callback, forwarding the given variadic arguments, plus a provided\n * callback argument.\n * @param object an object that has the named method\n * @param {String} name name of the method of object\n * @param ...args arguments to pass to the method; the callback will\n * be provided by Q and appended to these arguments.\n * @returns a promise for the value or error\n */\nQ.nsend = // XXX Based on Mark Miller's proposed \"send\"\nQ.nmcall = // XXX Based on \"Redsandro's\" proposal\nQ.ninvoke = function (object, name /*...args*/) {\n var nodeArgs = array_slice(arguments, 2);\n var deferred = defer();\n nodeArgs.push(deferred.makeNodeResolver());\n Q(object).dispatch(\"post\", [name, nodeArgs]).fail(deferred.reject);\n return deferred.promise;\n};\n\nPromise.prototype.nsend = // XXX Based on Mark Miller's proposed \"send\"\nPromise.prototype.nmcall = // XXX Based on \"Redsandro's\" proposal\nPromise.prototype.ninvoke = function (name /*...args*/) {\n var nodeArgs = array_slice(arguments, 1);\n var deferred = defer();\n nodeArgs.push(deferred.makeNodeResolver());\n this.dispatch(\"post\", [name, nodeArgs]).fail(deferred.reject);\n return deferred.promise;\n};\n\n/**\n * If a function would like to support both Node continuation-passing-style and\n * promise-returning-style, it can end its internal promise chain with\n * `nodeify(nodeback)`, forwarding the optional nodeback argument. If the user\n * elects to use a nodeback, the result will be sent there. If they do not\n * pass a nodeback, they will receive the result promise.\n * @param object a result (or a promise for a result)\n * @param {Function} nodeback a Node.js-style callback\n * @returns either the promise or nothing\n */\nQ.nodeify = nodeify;\nfunction nodeify(object, nodeback) {\n return Q(object).nodeify(nodeback);\n}\n\nPromise.prototype.nodeify = function (nodeback) {\n if (nodeback) {\n this.then(function (value) {\n Q.nextTick(function () {\n nodeback(null, value);\n });\n }, function (error) {\n Q.nextTick(function () {\n nodeback(error);\n });\n });\n } else {\n return this;\n }\n};\n\nQ.noConflict = function() {\n throw new Error(\"Q.noConflict only works when Q is used as a global\");\n};\n\n// All code before this point will be filtered from stack traces.\nvar qEndingLine = captureLine();\n\nreturn Q;\n\n});\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/q/q.js\n// module id = 17\n// module chunks = 0","/*!\n * Copyright (c) 2015-2016, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n\n/* eslint complexity: [2, 38], max-statements: [2, 38] */\ndefine([\n 'okta',\n './TimeUtil'\n],\nfunction (Okta, TimeUtil) {\n\n var _ = Okta._;\n\n var fn = {};\n\n var factorData = {\n 'OKTA_VERIFY': {\n label: 'factor.totpSoft.oktaVerify',\n description: 'factor.totpSoft.description',\n iconClassName: 'mfa-okta-verify',\n sortOrder: 1\n },\n 'OKTA_VERIFY_PUSH': {\n label: 'factor.oktaVerifyPush',\n description: 'factor.push.description',\n iconClassName: 'mfa-okta-verify',\n sortOrder: 1\n },\n 'U2F': {\n label: 'factor.u2f',\n description: (brandName) => {\n return brandName ?\n 'factor.u2f.description.specific':\n 'factor.u2f.description.generic';\n },\n iconClassName: 'mfa-u2f',\n sortOrder: 2\n },\n 'WEBAUTHN': {\n label: 'factor.webauthn.biometric',\n description: 'factor.webauthn.biometric.description',\n iconClassName: 'mfa-webauthn',\n sortOrder: 2\n },\n 'WINDOWS_HELLO': {\n label: 'factor.windowsHello',\n description: (brandName) => {\n return brandName ?\n 'factor.windowsHello.signin.description.specific' :\n 'factor.windowsHello.signin.description.generic';\n },\n iconClassName: 'mfa-windows-hello',\n sortOrder: 3\n },\n 'YUBIKEY': {\n label: 'factor.totpHard.yubikey',\n description: 'factor.totpHard.yubikey.description',\n iconClassName: 'mfa-yubikey',\n sortOrder: 4\n },\n 'GOOGLE_AUTH': {\n label: 'factor.totpSoft.googleAuthenticator',\n description: 'factor.totpSoft.description',\n iconClassName: 'mfa-google-auth',\n sortOrder: 5\n },\n 'CUSTOM_HOTP': {\n label: '',\n description: 'factor.hotp.description',\n iconClassName: 'mfa-hotp',\n sortOrder: 6\n },\n 'SMS': {\n label: 'factor.sms',\n description: 'factor.sms.description',\n iconClassName: 'mfa-okta-sms',\n sortOrder: 7\n },\n 'CALL': {\n label: 'factor.call',\n description: 'factor.call.description',\n iconClassName: 'mfa-okta-call',\n sortOrder: 8\n },\n 'EMAIL': {\n label: 'factor.email',\n description: 'factor.email.description',\n iconClassName: 'mfa-okta-email',\n sortOrder: 9\n },\n 'QUESTION': {\n label: 'factor.securityQuestion',\n description: 'factor.securityQuestion.description',\n iconClassName: 'mfa-okta-security-question',\n sortOrder: 10\n },\n 'DUO': {\n label: 'factor.duo',\n description: 'factor.duo.description',\n iconClassName: 'mfa-duo',\n sortOrder: 11\n },\n 'SYMANTEC_VIP': {\n label: 'factor.totpHard.symantecVip',\n description: 'factor.totpHard.description',\n iconClassName: 'mfa-symantec',\n sortOrder: 12\n },\n 'RSA_SECURID': {\n label: 'factor.totpHard.rsaSecurId',\n description: 'factor.totpHard.description',\n iconClassName: 'mfa-rsa',\n sortOrder: 13\n },\n 'ON_PREM': {\n label: '',\n description: 'factor.totpHard.description',\n iconClassName: 'mfa-onprem',\n sortOrder: 14\n },\n 'PASSWORD': {\n label: 'factor.password',\n description: '',\n iconClassName: 'mfa-okta-password',\n sortOrder: 15\n },\n 'CUSTOM_CLAIMS': {\n label: '',\n description: 'factor.customFactor.description',\n iconClassName: 'mfa-custom-factor',\n sortOrder: 16\n },\n 'GENERIC_SAML': {\n label: '',\n description: (brandName) => {\n return brandName ?\n 'factor.customFactor.description.specific':\n 'factor.customFactor.description.generic';\n },\n iconClassName: 'mfa-custom-factor',\n sortOrder: 17\n },\n 'GENERIC_OIDC': {\n label: '',\n description: (brandName) => {\n return brandName ?\n 'factor.customFactor.description.specific' :\n 'factor.customFactor.description.generic';\n },\n iconClassName: 'mfa-custom-factor',\n sortOrder: 18\n }\n };\n\n fn.getFactorName = function (provider, factorType) {\n if (provider === 'OKTA' && factorType === 'token:software:totp') {\n return 'OKTA_VERIFY';\n }\n if (provider === 'OKTA' && factorType === 'push') {\n return 'OKTA_VERIFY_PUSH';\n }\n if (provider === 'GOOGLE') {\n return 'GOOGLE_AUTH';\n }\n if (provider === 'SYMANTEC' && factorType === 'token') {\n return 'SYMANTEC_VIP';\n }\n if (provider === 'RSA' && factorType === 'token') {\n return 'RSA_SECURID';\n }\n if (provider === 'DEL_OATH' && factorType === 'token') {\n return 'ON_PREM';\n }\n if (provider === 'DUO' && factorType === 'web') {\n return 'DUO';\n }\n if (provider === 'YUBICO' && factorType === 'token:hardware') {\n return 'YUBIKEY';\n }\n if (provider === 'OKTA' && factorType === 'sms') {\n return 'SMS';\n }\n if (provider === 'OKTA' && factorType === 'call') {\n return 'CALL';\n }\n if (provider === 'OKTA' && factorType === 'question') {\n return 'QUESTION';\n }\n if (provider === 'OKTA' && factorType === 'email') {\n return 'EMAIL';\n }\n if (provider === 'OKTA' && factorType === 'password') {\n return 'PASSWORD';\n }\n if (provider === 'GENERIC_SAML' && factorType === 'assertion:saml2') {\n return 'GENERIC_SAML';\n }\n if (provider === 'GENERIC_OIDC' && factorType === 'assertion:oidc') {\n return 'GENERIC_OIDC';\n }\n return fn.getFactorNameForFactorType.call(this, factorType);\n };\n\n fn.getFactorNameForFactorType = function (factorType) {\n if (factorType === 'u2f') {\n return 'U2F';\n }\n if (factorType === 'token:software:totp') {\n return 'OKTA_VERIFY';\n }\n if (factorType === 'webauthn') {\n if (this.settings.get('features.webauthn')) {\n return 'WEBAUTHN';\n } else {\n return 'WINDOWS_HELLO';\n }\n }\n if (factorType === 'token:hotp') {\n return 'CUSTOM_HOTP';\n }\n if (factorType === 'claims_provider') {\n return 'CUSTOM_CLAIMS';\n }\n };\n\n fn.isOktaVerify = function (provider, factorType) {\n return provider === 'OKTA' && (factorType === 'token:software:totp' || factorType === 'push');\n };\n\n fn.getFactorLabel = function (provider, factorType) {\n var key = factorData[fn.getFactorName.apply(this, [provider, factorType])].label;\n return Okta.loc(key, 'login');\n };\n\n fn.getFactorDescription = function (provider, factorType) {\n var descriptionKey = factorData[fn.getFactorName.apply(this, [provider, factorType])].description;\n if (_.isFunction(descriptionKey)) {\n var brandName = this.settings.get('brandName');\n var key = descriptionKey(brandName);\n return brandName ? Okta.loc(key, 'login', [brandName]) : Okta.loc(key, 'login');\n } else {\n return Okta.loc(descriptionKey, 'login');\n }\n };\n\n fn.getFactorIconClassName = function (provider, factorType) {\n return factorData[fn.getFactorName.apply(this, [provider, factorType])].iconClassName;\n };\n\n fn.getFactorSortOrder = function (provider, factorType) {\n return factorData[fn.getFactorName.apply(this, [provider, factorType])].sortOrder;\n };\n\n fn.getRememberDeviceValue = function (appState) {\n return appState && appState.get('rememberDeviceByDefault');\n };\n\n fn.getSecurityQuestionLabel = function (questionObj) {\n var localizedQuestion = Okta.loc('security.' + questionObj.question);\n return localizedQuestion.indexOf('L10N_ERROR') < 0 ? localizedQuestion : questionObj.questionText;\n };\n\n fn.getPasswordComplexityDescription = function (policy) {\n var result = [];\n\n var getPasswordAgeRequirement = function (displayableTime) {\n var propertiesString;\n switch (displayableTime.unit) {\n case 'DAY':\n propertiesString = 'password.complexity.minAgeDays';\n break;\n case 'HOUR':\n propertiesString = 'password.complexity.minAgeHours';\n break;\n case 'MINUTE':\n propertiesString = 'password.complexity.minAgeMinutes';\n }\n return Okta.loc(propertiesString, 'login', [displayableTime.time]);\n };\n\n var setExcludeAttributes = function (policyComplexity) {\n var excludeAttributes = policyComplexity.excludeAttributes;\n policyComplexity.excludeFirstName = _.contains(excludeAttributes, 'firstName');\n policyComplexity.excludeLastName = _.contains(excludeAttributes, 'lastName');\n return _.omit(policyComplexity, 'excludeAttributes');\n };\n\n if (policy.complexity) {\n var complexityFields = {\n minLength: {i18n: 'password.complexity.length', args: true},\n minLowerCase: {i18n: 'password.complexity.lowercase'},\n minUpperCase: {i18n: 'password.complexity.uppercase'},\n minNumber: {i18n: 'password.complexity.number'},\n minSymbol: {i18n: 'password.complexity.symbol'},\n excludeUsername: {i18n: 'password.complexity.no_username'},\n excludeFirstName: {i18n: 'password.complexity.no_first_name'},\n excludeLastName: {i18n: 'password.complexity.no_last_name'}\n };\n\n var policyComplexity = setExcludeAttributes(policy.complexity);\n\n var requirements = _.map(policyComplexity, function (complexityValue, complexityType) {\n if (complexityValue <= 0) { // to skip 0 and -1\n return;\n }\n\n var params = complexityFields[complexityType];\n return params.args ?\n Okta.loc(params.i18n, 'login', [complexityValue]) : Okta.loc(params.i18n, 'login');\n });\n\n requirements = _.compact(requirements);\n\n if (requirements.length) {\n requirements = _.reduce(requirements, function (result, requirement) {\n return result ? (result + Okta.loc('password.complexity.list.element', 'login', [requirement])) : requirement;\n });\n\n result.push(Okta.loc('password.complexity.requirements', 'login', [requirements]));\n }\n }\n\n if (policy.age && policy.age.historyCount > 0) {\n result.push(Okta.loc('password.complexity.history', 'login', [policy.age.historyCount]));\n }\n\n if (policy.age && policy.age.minAgeMinutes > 0) {\n var displayableTime = TimeUtil.getTimeInHighestRelevantUnit(policy.age.minAgeMinutes, 'MINUTE');\n var minAgeDescription = getPasswordAgeRequirement(displayableTime);\n result.push(minAgeDescription);\n }\n\n return result.join(' ');\n };\n\n fn.getCardinalityText = function (enrolled, required, cardinality) {\n if (cardinality) {\n if (enrolled) {\n return (cardinality.enrolled === 1) ? '' :\n Okta.loc('enroll.choices.cardinality.setup', 'login', [cardinality.enrolled]);\n }\n else if (required && cardinality.maximum > 1) {\n return Okta.loc('enroll.choices.cardinality.setup.remaining', 'login',\n [cardinality.enrolled, cardinality.minimum]);\n }\n }\n return '';\n };\n\n fn.findFactorInFactorsArray = function (factors, provider, factorType) {\n var factor = factors.findWhere({provider: provider, factorType: factorType});\n if (factor === undefined) {\n //for factors that support cardinality and only have factorType\n factor = factors.findWhere({factorType: factorType});\n }\n return factor;\n };\n\n return fn;\n});\n\n\n\n// WEBPACK FOOTER //\n// ./src/util/FactorUtil.js","/*!\n * Copyright (c) 2015-2016, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n\ndefine(['okta', 'util/Enums'], function (Okta, Enums) {\n\n return Okta.View.extend({\n template: '\\\n <a href=\"#\" class=\"link help js-back\" data-se=\"back-link\">\\\n {{i18n code=\"mfa.backToFactors\" bundle=\"login\"}}\\\n </a>\\\n ',\n className: 'auth-footer',\n events: {\n 'click .js-back' : function (e) {\n e.preventDefault();\n this.options.appState.trigger('backToFactors');\n this.back();\n }\n },\n\n back: function () {\n this.state.set('navigateDir', Enums.DIRECTION_BACK);\n if (this.options.appState.get('prevLink')) {\n // Once we are in the MFA_ENROLL_ACTIVATE, we need to reset to the\n // correct state. Fortunately, this means that the router will\n // handle navigation once the request is finished.\n this.model.doTransaction(function (transaction) {\n return transaction.prev();\n });\n }\n else {\n this.options.appState.trigger('navigate', 'signin/enroll');\n }\n }\n });\n\n});\n\n\n\n// WEBPACK FOOTER //\n// ./src/views/enroll-factors/Footer.js","module.exports = function (it) {\n if (typeof it != 'function') throw TypeError(it + ' is not a function!');\n return it;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/_a-function.js\n// module id = 20\n// module chunks = 0","var global = require('./_global');\nvar core = require('./_core');\nvar ctx = require('./_ctx');\nvar hide = require('./_hide');\nvar has = require('./_has');\nvar PROTOTYPE = 'prototype';\n\nvar $export = function (type, name, source) {\n var IS_FORCED = type & $export.F;\n var IS_GLOBAL = type & $export.G;\n var IS_STATIC = type & $export.S;\n var IS_PROTO = type & $export.P;\n var IS_BIND = type & $export.B;\n var IS_WRAP = type & $export.W;\n var exports = IS_GLOBAL ? core : core[name] || (core[name] = {});\n var expProto = exports[PROTOTYPE];\n var target = IS_GLOBAL ? global : IS_STATIC ? global[name] : (global[name] || {})[PROTOTYPE];\n var key, own, out;\n if (IS_GLOBAL) source = name;\n for (key in source) {\n // contains in native\n own = !IS_FORCED && target && target[key] !== undefined;\n if (own && has(exports, key)) continue;\n // export native or passed\n out = own ? target[key] : source[key];\n // prevent global pollution for namespaces\n exports[key] = IS_GLOBAL && typeof target[key] != 'function' ? source[key]\n // bind timers to global for call from export context\n : IS_BIND && own ? ctx(out, global)\n // wrap global constructors for prevent change them in library\n : IS_WRAP && target[key] == out ? (function (C) {\n var F = function (a, b, c) {\n if (this instanceof C) {\n switch (arguments.length) {\n case 0: return new C();\n case 1: return new C(a);\n case 2: return new C(a, b);\n } return new C(a, b, c);\n } return C.apply(this, arguments);\n };\n F[PROTOTYPE] = C[PROTOTYPE];\n return F;\n // make static versions for prototype methods\n })(out) : IS_PROTO && typeof out == 'function' ? ctx(Function.call, out) : out;\n // export proto methods to core.%CONSTRUCTOR%.methods.%NAME%\n if (IS_PROTO) {\n (exports.virtual || (exports.virtual = {}))[key] = out;\n // export proto methods to core.%CONSTRUCTOR%.prototype.%NAME%\n if (type & $export.R && expProto && !expProto[key]) hide(expProto, key, out);\n }\n }\n};\n// type bitmap\n$export.F = 1; // forced\n$export.G = 2; // global\n$export.S = 4; // static\n$export.P = 8; // proto\n$export.B = 16; // bind\n$export.W = 32; // wrap\n$export.U = 64; // safe\n$export.R = 128; // real proto method for `library`\nmodule.exports = $export;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_export.js\n// module id = 21\n// module chunks = 0","// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028\nvar global = module.exports = typeof window != 'undefined' && window.Math == Math\n ? window : typeof self != 'undefined' && self.Math == Math ? self\n // eslint-disable-next-line no-new-func\n : Function('return this')();\nif (typeof __g == 'number') __g = global; // eslint-disable-line no-undef\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_global.js\n// module id = 22\n// module chunks = 0","var store = require('./_shared')('wks');\nvar uid = require('./_uid');\nvar Symbol = require('./_global').Symbol;\nvar USE_SYMBOL = typeof Symbol == 'function';\n\nvar $exports = module.exports = function (name) {\n return store[name] || (store[name] =\n USE_SYMBOL && Symbol[name] || (USE_SYMBOL ? Symbol : uid)('Symbol.' + name));\n};\n\n$exports.store = store;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_wks.js\n// module id = 23\n// module chunks = 0","/*!\n * Copyright (c) 2015-2016, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n\n/* eslint complexity: [2, 46], max-statements: [2, 40] */\ndefine([\n 'okta',\n './OAuth2Util',\n './Util',\n './Enums',\n './BrowserFeatures',\n './Errors',\n './ErrorCodes'\n],\nfunction (Okta, OAuth2Util, Util, Enums, BrowserFeatures, Errors, ErrorCodes) {\n var fn = {};\n\n var verifyUrlTpl = Okta.tpl('signin/verify/{{provider}}/{{factorType}}');\n var verifyUrlMultipleTpl = Okta.tpl('signin/verify/{{provider}}/{{factorType}}/{{factorIndex}}');\n var verifyUrlNoProviderTpl = Okta.tpl('signin/verify/{{factorType}}');\n var enrollFactorUrlTpl = Okta.tpl('signin/enroll/{{provider}}/{{factorType}}');\n var activateFactorUrlTpl = Okta.tpl(\n 'signin/enroll-activate/{{provider}}/{{factorType}}{{#if step}}/{{step}}{{/if}}'\n );\n var recoveryUrlTpl = Okta.tpl('signin/recovery/{{recoveryToken}}');\n var refreshUrlTpl = Okta.tpl('signin/refresh-auth-state{{#if token}}/{{token}}{{/if}}');\n var sessionCookieRedirectTpl = Okta.tpl(\n '{{baseUrl}}/login/sessionCookieRedirect?checkAccountSetupComplete=true' +\n '&token={{{token}}}&redirectUrl={{{redirectUrl}}}'\n );\n\n fn.isHostBackgroundChromeTab = function () {\n // Checks if the SIW is loaded in a chrome webview and\n // it is in an app that is in background.\n if (navigator.userAgent.match(/Android/) &&\n navigator.userAgent.match(/Chrome/) &&\n document.hidden) {\n return true;\n } else {\n return false;\n }\n };\n\n fn.isDocumentVisible = function () {\n return document.visibilityState === 'visible';\n };\n\n fn.createVerifyUrl = function (provider, factorType, factorIndex) {\n if (provider && factorIndex) {\n return verifyUrlMultipleTpl({\n provider: encodeURIComponent(provider.toLowerCase()),\n factorType: encodeURIComponent(factorType),\n factorIndex: encodeURIComponent(factorIndex)\n });\n }\n else if (provider) {\n return verifyUrlTpl({\n provider: encodeURIComponent(provider.toLowerCase()),\n factorType: encodeURIComponent(factorType)\n });\n }\n else {\n return verifyUrlNoProviderTpl({\n factorType: encodeURIComponent(factorType)\n });\n }\n };\n\n fn.createEnrollFactorUrl = function (provider, factorType) {\n return enrollFactorUrlTpl({\n provider: encodeURIComponent(provider.toLowerCase()),\n factorType: encodeURIComponent(factorType)\n });\n };\n\n fn.createActivateFactorUrl = function (provider, factorType, step) {\n return activateFactorUrlTpl({\n provider: encodeURIComponent(provider.toLowerCase()),\n factorType: encodeURIComponent(factorType),\n step: step ? encodeURIComponent(step) : false\n });\n };\n\n fn.createRecoveryUrl = function (recoveryToken) {\n return recoveryUrlTpl({\n recoveryToken: encodeURIComponent(recoveryToken)\n });\n };\n\n fn.createRefreshUrl = function (stateToken) {\n var token = stateToken ? encodeURIComponent(stateToken) : null;\n return refreshUrlTpl({ token: token });\n };\n\n fn.routeAfterAuthStatusChangeError = function (router, err) {\n if (!err) {\n return;\n }\n\n // Global error handling for CORS enabled errors\n if (err.xhr && BrowserFeatures.corsIsNotEnabled(err.xhr)) {\n router.settings.callGlobalError(new Errors.UnsupportedBrowserError(\n Okta.loc('error.enabled.cors')\n ));\n return;\n }\n\n // Token has expired - no longer valid. Navigate back to primary auth.\n if (err.errorCode === ErrorCodes.INVALID_TOKEN_EXCEPTION) {\n router.appState.set('flashError', err);\n router.controller.state.set('navigateDir', Enums.DIRECTION_BACK);\n router.navigate('', { trigger: true });\n return;\n }\n\n Util.triggerAfterError(router.controller, err);\n };\n\n fn.routeAfterAuthStatusChange = function (router, res) {\n // Other errors are handled by the function making the authClient request\n if (!res || !res.status) {\n router.appState.clearLastAuthResponse();\n return;\n }\n\n router.appState.setAuthResponse(res);\n\n if (router.controller && router.controller.trapAuthResponse(res)) {\n return;\n }\n\n fn.handleResponseStatus(router, res);\n };\n\n fn.handleResponseStatus = function (router, res) {\n switch (res.status) {\n case 'SUCCESS':\n if(res.recoveryType === Enums.RECOVERY_TYPE_UNLOCK) {\n router.navigate('signin/account-unlocked', {trigger: true});\n return;\n }\n\n // If the desired end result object needs to have idToken (and not sessionToken),\n // get the id token from session token before calling the global success function.\n if (router.settings.get('oauth2Enabled')) {\n OAuth2Util.getTokens(router.settings, {sessionToken: res.sessionToken}, router.controller);\n return;\n }\n\n var successData = {\n user: res._embedded.user,\n type: res.type || Enums.SESSION_SSO\n };\n\n if (res.relayState) {\n successData.relayState = res.relayState;\n }\n\n var redirectFn = router.settings.get('redirectUtilFn');\n\n var nextUrl = res._links &&\n ((res._links.original && res._links.original.href) || (res._links.next && res._links.next.href));\n if (res.type === Enums.SESSION_STEP_UP) {\n var targetUrl = res._links && res._links.next && res._links.next.href;\n successData.stepUp = {\n url: targetUrl,\n finish: function () {\n redirectFn(targetUrl);\n }\n };\n } else if (nextUrl) {\n successData.next = function () {\n redirectFn(nextUrl);\n };\n } else {\n // Add the type for now until the API returns it.\n successData.type = Enums.SESSION_SSO;\n successData.session = {\n token: res.sessionToken,\n setCookieAndRedirect: function (redirectUrl) {\n redirectFn(sessionCookieRedirectTpl({\n baseUrl: router.settings.get('baseUrl'),\n token: encodeURIComponent(res.sessionToken),\n redirectUrl: encodeURIComponent(redirectUrl)\n }));\n }\n };\n }\n \n // Check if we need to wait for redirect based on host.\n if (router.settings.get('features.restrictRedirectToForeground') &&\n fn.isHostBackgroundChromeTab()) {\n document.addEventListener('visibilitychange', function checkVisibilityAndCallSuccess () {\n if (fn.isDocumentVisible()) {\n document.removeEventListener('visibilitychange', checkVisibilityAndCallSuccess);\n router.settings.callGlobalSuccess(Enums.SUCCESS, successData);\n }\n });\n } else {\n router.settings.callGlobalSuccess(Enums.SUCCESS, successData);\n }\n return;\n case 'CONSENT_REQUIRED':\n if (router.settings.get('features.consent')) {\n router.navigate('signin/consent', {trigger: true});\n }\n return;\n // We want the same view for FACTOR_REQUIRED & FACTOR_CHALLENGE\n // In the new idx pipeline FACTOR_CHALLENGE API response does not contain a prev link\n case 'FACTOR_REQUIRED':\n case 'FACTOR_CHALLENGE':\n case 'MFA_REQUIRED':\n // When the widget is bootstrapped with an error in MFA_CHALLENGE state, we pass the\n // lastFailedChallengeFactorData to MFA_REQUIRED, in order to show the error message\n // on the correct factor view\n var lastFailedChallengeFactorData = router.appState.get('lastFailedChallengeFactorData');\n if (lastFailedChallengeFactorData && lastFailedChallengeFactorData.factor) {\n router.appState.get('factors').lastUsedFactor = lastFailedChallengeFactorData.factor;\n }\n var factor = router.appState.get('factors').getDefaultFactor();\n var url = fn.createVerifyUrl(factor.get('provider'), factor.get('factorType'));\n router.navigate(url, { trigger: true });\n router.appState.clearLastFailedChallengeFactorData();\n return;\n\n case 'POLL':\n var pollUrl = 'signin/poll';\n router.navigate(pollUrl, { trigger: true });\n return;\n\n case 'MFA_CHALLENGE':\n // Since we normally trap MFA_CHALLENGE, this will only get called on a\n // page refresh or when an error is returned on verification with an IdP.\n // We need to return to MFA_REQUIRED to initialize the\n // page correctly (i.e. factors dropdown, etc)\n if (router.appState.get('isFactorResultFailed')) {\n router.appState.setLastFailedChallengeFactorData();\n }\n router.appState.get('transaction').prev()\n .then(function (trans) {\n router.appState.set('transaction', trans);\n }).done();\n return;\n case 'MFA_ENROLL':\n case 'FACTOR_ENROLL':\n router.navigate('signin/enroll', { trigger: true });\n return;\n case 'MFA_ENROLL_ACTIVATE':\n case 'FACTOR_ENROLL_ACTIVATE':\n var activateUrl = fn.createActivateFactorUrl(router.appState.get('activatedFactorProvider'),\n router.appState.get('activatedFactorType'));\n router.navigate(activateUrl, { trigger: true });\n return;\n case 'PASSWORD_WARN':\n case 'PASSWORD_EXPIRED':\n if (router.settings.get('features.customExpiredPassword') && !router.appState.get('isPwdManagedByOkta')) {\n router.navigate('signin/custom-password-expired', { trigger: true });\n } else {\n router.navigate('signin/password-expired', { trigger: true });\n }\n return;\n case 'RECOVERY_CHALLENGE':\n // Will use this workaround (lowercasing response) until OKTA-69083 is resolved\n var fromEmail = res.factorType.toLowerCase() === Enums.RECOVERY_FACTOR_TYPE_EMAIL.toLowerCase(),\n isForgotPassword = res.recoveryType === Enums.RECOVERY_TYPE_PASSWORD,\n isUnlock = res.recoveryType === Enums.RECOVERY_TYPE_UNLOCK;\n if (isForgotPassword && fromEmail) {\n router.navigate('signin/recovery-emailed', { trigger: true });\n }\n else if (isUnlock && fromEmail) {\n router.navigate('signin/unlock-emailed', { trigger: true });\n }\n else {\n router.navigate('signin/recovery-challenge', { trigger: true });\n }\n return;\n case 'RECOVERY':\n router.navigate('signin/recovery-question', { trigger: true });\n return;\n case 'PASSWORD_RESET':\n router.navigate('signin/password-reset', { trigger: true });\n return;\n case 'LOCKED_OUT':\n if (router.settings.get('features.selfServiceUnlock')) {\n router.navigate('signin/unlock', { trigger: true });\n } else {\n router.controller.model.trigger('error', router.controller.model, {\n responseJSON: {\n errorCauses: [],\n errorSummary: Okta.loc('error.auth.lockedOut', 'login')\n }\n });\n }\n return;\n case 'PROFILE_REQUIRED':\n router.navigate('signin/enroll-user', { trigger: true });\n return;\n case 'UNAUTHENTICATED':\n // Either we have factors and we are in passwordlessAuth mode\n if (router.appState.get('promptForFactorInUnauthenticated')) {\n var defaultFactor = router.appState.get('factors').getDefaultFactor();\n var factorURL = fn.createVerifyUrl(defaultFactor.get('provider'), defaultFactor.get('factorType'));\n router.navigate(factorURL, { trigger: true });\n return;\n }\n // Or we don't have anything and we need to show the login page\n router.navigate('', { trigger: true });\n return;\n default:\n throw new Error('Unknown status: ' + res.status);\n }\n };\n\n return fn;\n\n});\n\n\n\n// WEBPACK FOOTER //\n// ./src/util/RouterUtil.js","var dP = require('./_object-dp');\nvar createDesc = require('./_property-desc');\nmodule.exports = require('./_descriptors') ? function (object, key, value) {\n return dP.f(object, key, createDesc(1, value));\n} : function (object, key, value) {\n object[key] = value;\n return object;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/_hide.js\n// module id = 25\n// module chunks = 0","var global = require('./_global');\nvar hide = require('./_hide');\nvar has = require('./_has');\nvar SRC = require('./_uid')('src');\nvar $toString = require('./_function-to-string');\nvar TO_STRING = 'toString';\nvar TPL = ('' + $toString).split(TO_STRING);\n\nrequire('./_core').inspectSource = function (it) {\n return $toString.call(it);\n};\n\n(module.exports = function (O, key, val, safe) {\n var isFunction = typeof val == 'function';\n if (isFunction) has(val, 'name') || hide(val, 'name', key);\n if (O[key] === val) return;\n if (isFunction) has(val, SRC) || hide(val, SRC, O[key] ? '' + O[key] : TPL.join(String(key)));\n if (O === global) {\n O[key] = val;\n } else if (!safe) {\n delete O[key];\n hide(O, key, val);\n } else if (O[key]) {\n O[key] = val;\n } else {\n hide(O, key, val);\n }\n// add fake Function#toString for correct work wrapped methods / constructors with methods like LoDash isNative\n})(Function.prototype, TO_STRING, function toString() {\n return typeof this == 'function' && this[SRC] || $toString.call(this);\n});\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/_redefine.js\n// module id = 26\n// module chunks = 0","var $export = require('./_export');\nvar fails = require('./_fails');\nvar defined = require('./_defined');\nvar quot = /\"/g;\n// B.2.3.2.1 CreateHTML(string, tag, attribute, value)\nvar createHTML = function (string, tag, attribute, value) {\n var S = String(defined(string));\n var p1 = '<' + tag;\n if (attribute !== '') p1 += ' ' + attribute + '=\"' + String(value).replace(quot, '"') + '\"';\n return p1 + '>' + S + '</' + tag + '>';\n};\nmodule.exports = function (NAME, exec) {\n var O = {};\n O[NAME] = exec(createHTML);\n $export($export.P + $export.F * fails(function () {\n var test = ''[NAME]('\"');\n return test !== test.toLowerCase() || test.split('\"').length > 3;\n }), 'String', O);\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/_string-html.js\n// module id = 27\n// module chunks = 0","import { Form, loc, createCallout } from 'okta' ;\nimport FormInputFactory from './FormInputFactory';\n\nexport default Form.extend({\n\n layout: 'o-form-theme',\n className: 'ion-form',\n hasSavingState: true,\n autoSave: false,\n noCancelButton: true,\n title: 'Authenticate',\n save: loc('oform.next', 'login'),\n\n initialize: function () {\n const uiSchemas = this.getUISchema();\n const inputOptions = uiSchemas.map(FormInputFactory.create);\n\n //should be used before adding any other input components\n this.addCallouts();\n\n inputOptions.forEach(input => {\n this.addInputOrView(input);\n });\n\n this.listenTo(this, 'save', this.saveForm);\n },\n\n saveForm (model) {\n //remove any existing warnings or messages before saving form\n this.$el.find('.o-form-error-container').empty();\n this.options.appState.trigger('saveForm', model);\n },\n\n getUISchema () {\n if (Array.isArray(this.options.currentViewState.uiSchema)) {\n return this.options.currentViewState.uiSchema;\n } else {\n return [];\n }\n },\n\n addInputOrView (input) {\n if (input.View) {\n this.add(input.View, {\n options: input.options\n });\n } else {\n this.addInput(input);\n }\n },\n\n addCallouts () {\n const warningMsgs = this.options.appState.get('messages');\n if (warningMsgs && warningMsgs.value.length) {\n const messageCallout = createCallout({\n content: warningMsgs.value[0].message,\n type: 'warning',\n });\n this.add(messageCallout, '.o-form-error-container');\n }\n }\n\n});\n\n\n\n// WEBPACK FOOTER //\n// ./src/v2/view-builder/internals/BaseForm.js","var hasOwnProperty = {}.hasOwnProperty;\nmodule.exports = function (it, key) {\n return hasOwnProperty.call(it, key);\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/_has.js\n// module id = 29\n// module chunks = 0","// to indexed object, toObject with fallback for non-array-like ES3 strings\nvar IObject = require('./_iobject');\nvar defined = require('./_defined');\nmodule.exports = function (it) {\n return IObject(defined(it));\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/_to-iobject.js\n// module id = 30\n// module chunks = 0","var pIE = require('./_object-pie');\nvar createDesc = require('./_property-desc');\nvar toIObject = require('./_to-iobject');\nvar toPrimitive = require('./_to-primitive');\nvar has = require('./_has');\nvar IE8_DOM_DEFINE = require('./_ie8-dom-define');\nvar gOPD = Object.getOwnPropertyDescriptor;\n\nexports.f = require('./_descriptors') ? gOPD : function getOwnPropertyDescriptor(O, P) {\n O = toIObject(O);\n P = toPrimitive(P, true);\n if (IE8_DOM_DEFINE) try {\n return gOPD(O, P);\n } catch (e) { /* empty */ }\n if (has(O, P)) return createDesc(!pIE.f.call(O, P), O[P]);\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/_object-gopd.js\n// module id = 31\n// module chunks = 0","// 19.1.2.9 / 15.2.3.2 Object.getPrototypeOf(O)\nvar has = require('./_has');\nvar toObject = require('./_to-object');\nvar IE_PROTO = require('./_shared-key')('IE_PROTO');\nvar ObjectProto = Object.prototype;\n\nmodule.exports = Object.getPrototypeOf || function (O) {\n O = toObject(O);\n if (has(O, IE_PROTO)) return O[IE_PROTO];\n if (typeof O.constructor == 'function' && O instanceof O.constructor) {\n return O.constructor.prototype;\n } return O instanceof Object ? ObjectProto : null;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/_object-gpo.js\n// module id = 32\n// module chunks = 0","/*!\n * Copyright (c) 2015-2016, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n\ndefine(['okta', './Enums'], function (Okta, Enums) {\n\n function ConfigError (message) {\n this.name = Enums.CONFIG_ERROR;\n this.message = message || Okta.loc('error.config');\n }\n ConfigError.prototype = new Error();\n\n function UnsupportedBrowserError (message) {\n this.name = Enums.UNSUPPORTED_BROWSER_ERROR;\n this.message = message || Okta.loc('error.unsupported.browser');\n }\n UnsupportedBrowserError.prototype = new Error();\n\n function OAuthError (message) {\n this.name = Enums.OAUTH_ERROR;\n this.message = message;\n }\n OAuthError.prototype = new Error();\n\n function RegistrationError (message) {\n this.name = Enums.REGISTRATION_FAILED;\n this.message = message;\n }\n RegistrationError.prototype = new Error();\n\n // Thrown when initiation of poll was cancelled.\n function AuthStopPollInitiationError () {\n this.name = Enums.AUTH_STOP_POLL_INITIATION_ERROR;\n }\n AuthStopPollInitiationError.prototype = new Error();\n\n function U2FError (err) {\n this.name = Enums.U2F_ERROR;\n this.message = err.xhr.responseJSON.errorSummary;\n this.xhr = err.xhr;\n }\n U2FError.prototype = new Error();\n\n function WebAuthnError (err) {\n this.name = Enums.WEB_AUTHN_ERROR;\n this.message = err.xhr.responseJSON.errorSummary;\n this.xhr = err.xhr;\n }\n WebAuthnError.prototype = new Error();\n\n // This is triggered only when code aborts webauthn browser prompt.\n function WebauthnAbortError () {\n this.name = Enums.WEBAUTHN_ABORT_ERROR;\n }\n WebauthnAbortError.prototype = new Error();\n\n return {\n ConfigError: ConfigError,\n UnsupportedBrowserError: UnsupportedBrowserError,\n OAuthError: OAuthError,\n RegistrationError: RegistrationError,\n AuthStopPollInitiationError: AuthStopPollInitiationError,\n U2FError: U2FError,\n WebAuthnError: WebAuthnError,\n WebauthnAbortError: WebauthnAbortError\n };\n\n});\n\n\n\n// WEBPACK FOOTER //\n// ./src/util/Errors.js","var core = module.exports = { version: '2.6.9' };\nif (typeof __e == 'number') __e = core; // eslint-disable-line no-undef\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/_core.js\n// module id = 34\n// module chunks = 0","// optional / simple context binding\nvar aFunction = require('./_a-function');\nmodule.exports = function (fn, that, length) {\n aFunction(fn);\n if (that === undefined) return fn;\n switch (length) {\n case 1: return function (a) {\n return fn.call(that, a);\n };\n case 2: return function (a, b) {\n return fn.call(that, a, b);\n };\n case 3: return function (a, b, c) {\n return fn.call(that, a, b, c);\n };\n }\n return function (/* ...args */) {\n return fn.apply(that, arguments);\n };\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/_ctx.js\n// module id = 35\n// module chunks = 0","var toString = {}.toString;\n\nmodule.exports = function (it) {\n return toString.call(it).slice(8, -1);\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/_cof.js\n// module id = 36\n// module chunks = 0","// 7.1.4 ToInteger\nvar ceil = Math.ceil;\nvar floor = Math.floor;\nmodule.exports = function (it) {\n return isNaN(it = +it) ? 0 : (it > 0 ? floor : ceil)(it);\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/_to-integer.js\n// module id = 37\n// module chunks = 0","'use strict';\nvar fails = require('./_fails');\n\nmodule.exports = function (method, arg) {\n return !!method && fails(function () {\n // eslint-disable-next-line no-useless-call\n arg ? method.call(null, function () { /* empty */ }, 1) : method.call(null);\n });\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/_strict-method.js\n// module id = 38\n// module chunks = 0","// Thank's IE8 for his funny defineProperty\nmodule.exports = !require('./_fails')(function () {\n return Object.defineProperty({}, 'a', { get: function () { return 7; } }).a != 7;\n});\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_descriptors.js\n// module id = 39\n// module chunks = 0","import { View } from 'okta';\nimport BaseForm from './BaseForm';\nimport BaseModel from './BaseModel';\nimport BaseHeader from './BaseHeader';\nimport BaseFooter from './BaseFooter';\n\nexport default View.extend({\n\n Header: BaseHeader,\n\n Body: BaseForm,\n\n Footer: BaseFooter,\n\n className: 'siw-main-view',\n\n template: '<div class=\"siw-main-header\"></div>' +\n '<div class=\"siw-main-body\"></div>' +\n '<div class=\"siw-main-footer\"></div>',\n\n initialize () {\n // Create Model\n const IonModel = this.createModelClass();\n const model = new IonModel ({\n formName: this.options.currentViewState.name,\n });\n\n // Add Views\n this.add(this.Header, { selector: '.siw-main-header' });\n this.add(this.Body, {\n selector : '.siw-main-body',\n options: {\n model,\n },\n });\n this.add(this.Footer, { selector : '.siw-main-footer' });\n },\n\n postRender () {\n // If user enterted identifier is not found, API sends back a message with a link to sign up\n // This is the click handler for that link\n const appState = this.options.appState;\n this.$el.find('.js-sign-up').click(function () {\n appState.trigger('invokeAction', 'select-enroll-profile');\n return false;\n });\n\n },\n\n createModelClass () {\n return BaseModel.create(this.options.currentViewState);\n }\n\n});\n\n\n\n// WEBPACK FOOTER //\n// ./src/v2/view-builder/internals/BaseView.js","// 7.1.1 ToPrimitive(input [, PreferredType])\nvar isObject = require('./_is-object');\n// instead of the ES6 spec version, we didn't implement @@toPrimitive case\n// and the second argument - flag - preferred type is a string\nmodule.exports = function (it, S) {\n if (!isObject(it)) return it;\n var fn, val;\n if (S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it))) return val;\n if (typeof (fn = it.valueOf) == 'function' && !isObject(val = fn.call(it))) return val;\n if (!S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it))) return val;\n throw TypeError(\"Can't convert object to primitive value\");\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/_to-primitive.js\n// module id = 41\n// module chunks = 0","// 7.2.1 RequireObjectCoercible(argument)\nmodule.exports = function (it) {\n if (it == undefined) throw TypeError(\"Can't call method on \" + it);\n return it;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/_defined.js\n// module id = 42\n// module chunks = 0","// most Object methods by ES6 should accept primitives\nvar $export = require('./_export');\nvar core = require('./_core');\nvar fails = require('./_fails');\nmodule.exports = function (KEY, exec) {\n var fn = (core.Object || {})[KEY] || Object[KEY];\n var exp = {};\n exp[KEY] = exec(fn);\n $export($export.S + $export.F * fails(function () { fn(1); }), 'Object', exp);\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/_object-sap.js\n// module id = 43\n// module chunks = 0","// 0 -> Array#forEach\n// 1 -> Array#map\n// 2 -> Array#filter\n// 3 -> Array#some\n// 4 -> Array#every\n// 5 -> Array#find\n// 6 -> Array#findIndex\nvar ctx = require('./_ctx');\nvar IObject = require('./_iobject');\nvar toObject = require('./_to-object');\nvar toLength = require('./_to-length');\nvar asc = require('./_array-species-create');\nmodule.exports = function (TYPE, $create) {\n var IS_MAP = TYPE == 1;\n var IS_FILTER = TYPE == 2;\n var IS_SOME = TYPE == 3;\n var IS_EVERY = TYPE == 4;\n var IS_FIND_INDEX = TYPE == 6;\n var NO_HOLES = TYPE == 5 || IS_FIND_INDEX;\n var create = $create || asc;\n return function ($this, callbackfn, that) {\n var O = toObject($this);\n var self = IObject(O);\n var f = ctx(callbackfn, that, 3);\n var length = toLength(self.length);\n var index = 0;\n var result = IS_MAP ? create($this, length) : IS_FILTER ? create($this, 0) : undefined;\n var val, res;\n for (;length > index; index++) if (NO_HOLES || index in self) {\n val = self[index];\n res = f(val, index, O);\n if (TYPE) {\n if (IS_MAP) result[index] = res; // map\n else if (res) switch (TYPE) {\n case 3: return true; // some\n case 5: return val; // find\n case 6: return index; // findIndex\n case 2: result.push(val); // filter\n } else if (IS_EVERY) return false; // every\n }\n }\n return IS_FIND_INDEX ? -1 : IS_SOME || IS_EVERY ? IS_EVERY : result;\n };\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/_array-methods.js\n// module id = 44\n// module chunks = 0","var isObject = require('./_is-object');\nmodule.exports = function (it) {\n if (!isObject(it)) throw TypeError(it + ' is not an object!');\n return it;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_an-object.js\n// module id = 45\n// module chunks = 0","module.exports = function (it) {\n return typeof it === 'object' ? it !== null : typeof it === 'function';\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_is-object.js\n// module id = 46\n// module chunks = 0","module.exports = { \"default\": require(\"core-js/library/fn/object/assign\"), __esModule: true };\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/babel-runtime/core-js/object/assign.js\n// module id = 47\n// module chunks = 0","'use strict';\nif (require('./_descriptors')) {\n var LIBRARY = require('./_library');\n var global = require('./_global');\n var fails = require('./_fails');\n var $export = require('./_export');\n var $typed = require('./_typed');\n var $buffer = require('./_typed-buffer');\n var ctx = require('./_ctx');\n var anInstance = require('./_an-instance');\n var propertyDesc = require('./_property-desc');\n var hide = require('./_hide');\n var redefineAll = require('./_redefine-all');\n var toInteger = require('./_to-integer');\n var toLength = require('./_to-length');\n var toIndex = require('./_to-index');\n var toAbsoluteIndex = require('./_to-absolute-index');\n var toPrimitive = require('./_to-primitive');\n var has = require('./_has');\n var classof = require('./_classof');\n var isObject = require('./_is-object');\n var toObject = require('./_to-object');\n var isArrayIter = require('./_is-array-iter');\n var create = require('./_object-create');\n var getPrototypeOf = require('./_object-gpo');\n var gOPN = require('./_object-gopn').f;\n var getIterFn = require('./core.get-iterator-method');\n var uid = require('./_uid');\n var wks = require('./_wks');\n var createArrayMethod = require('./_array-methods');\n var createArrayIncludes = require('./_array-includes');\n var speciesConstructor = require('./_species-constructor');\n var ArrayIterators = require('./es6.array.iterator');\n var Iterators = require('./_iterators');\n var $iterDetect = require('./_iter-detect');\n var setSpecies = require('./_set-species');\n var arrayFill = require('./_array-fill');\n var arrayCopyWithin = require('./_array-copy-within');\n var $DP = require('./_object-dp');\n var $GOPD = require('./_object-gopd');\n var dP = $DP.f;\n var gOPD = $GOPD.f;\n var RangeError = global.RangeError;\n var TypeError = global.TypeError;\n var Uint8Array = global.Uint8Array;\n var ARRAY_BUFFER = 'ArrayBuffer';\n var SHARED_BUFFER = 'Shared' + ARRAY_BUFFER;\n var BYTES_PER_ELEMENT = 'BYTES_PER_ELEMENT';\n var PROTOTYPE = 'prototype';\n var ArrayProto = Array[PROTOTYPE];\n var $ArrayBuffer = $buffer.ArrayBuffer;\n var $DataView = $buffer.DataView;\n var arrayForEach = createArrayMethod(0);\n var arrayFilter = createArrayMethod(2);\n var arraySome = createArrayMethod(3);\n var arrayEvery = createArrayMethod(4);\n var arrayFind = createArrayMethod(5);\n var arrayFindIndex = createArrayMethod(6);\n var arrayIncludes = createArrayIncludes(true);\n var arrayIndexOf = createArrayIncludes(false);\n var arrayValues = ArrayIterators.values;\n var arrayKeys = ArrayIterators.keys;\n var arrayEntries = ArrayIterators.entries;\n var arrayLastIndexOf = ArrayProto.lastIndexOf;\n var arrayReduce = ArrayProto.reduce;\n var arrayReduceRight = ArrayProto.reduceRight;\n var arrayJoin = ArrayProto.join;\n var arraySort = ArrayProto.sort;\n var arraySlice = ArrayProto.slice;\n var arrayToString = ArrayProto.toString;\n var arrayToLocaleString = ArrayProto.toLocaleString;\n var ITERATOR = wks('iterator');\n var TAG = wks('toStringTag');\n var TYPED_CONSTRUCTOR = uid('typed_constructor');\n var DEF_CONSTRUCTOR = uid('def_constructor');\n var ALL_CONSTRUCTORS = $typed.CONSTR;\n var TYPED_ARRAY = $typed.TYPED;\n var VIEW = $typed.VIEW;\n var WRONG_LENGTH = 'Wrong length!';\n\n var $map = createArrayMethod(1, function (O, length) {\n return allocate(speciesConstructor(O, O[DEF_CONSTRUCTOR]), length);\n });\n\n var LITTLE_ENDIAN = fails(function () {\n // eslint-disable-next-line no-undef\n return new Uint8Array(new Uint16Array([1]).buffer)[0] === 1;\n });\n\n var FORCED_SET = !!Uint8Array && !!Uint8Array[PROTOTYPE].set && fails(function () {\n new Uint8Array(1).set({});\n });\n\n var toOffset = function (it, BYTES) {\n var offset = toInteger(it);\n if (offset < 0 || offset % BYTES) throw RangeError('Wrong offset!');\n return offset;\n };\n\n var validate = function (it) {\n if (isObject(it) && TYPED_ARRAY in it) return it;\n throw TypeError(it + ' is not a typed array!');\n };\n\n var allocate = function (C, length) {\n if (!(isObject(C) && TYPED_CONSTRUCTOR in C)) {\n throw TypeError('It is not a typed array constructor!');\n } return new C(length);\n };\n\n var speciesFromList = function (O, list) {\n return fromList(speciesConstructor(O, O[DEF_CONSTRUCTOR]), list);\n };\n\n var fromList = function (C, list) {\n var index = 0;\n var length = list.length;\n var result = allocate(C, length);\n while (length > index) result[index] = list[index++];\n return result;\n };\n\n var addGetter = function (it, key, internal) {\n dP(it, key, { get: function () { return this._d[internal]; } });\n };\n\n var $from = function from(source /* , mapfn, thisArg */) {\n var O = toObject(source);\n var aLen = arguments.length;\n var mapfn = aLen > 1 ? arguments[1] : undefined;\n var mapping = mapfn !== undefined;\n var iterFn = getIterFn(O);\n var i, length, values, result, step, iterator;\n if (iterFn != undefined && !isArrayIter(iterFn)) {\n for (iterator = iterFn.call(O), values = [], i = 0; !(step = iterator.next()).done; i++) {\n values.push(step.value);\n } O = values;\n }\n if (mapping && aLen > 2) mapfn = ctx(mapfn, arguments[2], 2);\n for (i = 0, length = toLength(O.length), result = allocate(this, length); length > i; i++) {\n result[i] = mapping ? mapfn(O[i], i) : O[i];\n }\n return result;\n };\n\n var $of = function of(/* ...items */) {\n var index = 0;\n var length = arguments.length;\n var result = allocate(this, length);\n while (length > index) result[index] = arguments[index++];\n return result;\n };\n\n // iOS Safari 6.x fails here\n var TO_LOCALE_BUG = !!Uint8Array && fails(function () { arrayToLocaleString.call(new Uint8Array(1)); });\n\n var $toLocaleString = function toLocaleString() {\n return arrayToLocaleString.apply(TO_LOCALE_BUG ? arraySlice.call(validate(this)) : validate(this), arguments);\n };\n\n var proto = {\n copyWithin: function copyWithin(target, start /* , end */) {\n return arrayCopyWithin.call(validate(this), target, start, arguments.length > 2 ? arguments[2] : undefined);\n },\n every: function every(callbackfn /* , thisArg */) {\n return arrayEvery(validate(this), callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n },\n fill: function fill(value /* , start, end */) { // eslint-disable-line no-unused-vars\n return arrayFill.apply(validate(this), arguments);\n },\n filter: function filter(callbackfn /* , thisArg */) {\n return speciesFromList(this, arrayFilter(validate(this), callbackfn,\n arguments.length > 1 ? arguments[1] : undefined));\n },\n find: function find(predicate /* , thisArg */) {\n return arrayFind(validate(this), predicate, arguments.length > 1 ? arguments[1] : undefined);\n },\n findIndex: function findIndex(predicate /* , thisArg */) {\n return arrayFindIndex(validate(this), predicate, arguments.length > 1 ? arguments[1] : undefined);\n },\n forEach: function forEach(callbackfn /* , thisArg */) {\n arrayForEach(validate(this), callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n },\n indexOf: function indexOf(searchElement /* , fromIndex */) {\n return arrayIndexOf(validate(this), searchElement, arguments.length > 1 ? arguments[1] : undefined);\n },\n includes: function includes(searchElement /* , fromIndex */) {\n return arrayIncludes(validate(this), searchElement, arguments.length > 1 ? arguments[1] : undefined);\n },\n join: function join(separator) { // eslint-disable-line no-unused-vars\n return arrayJoin.apply(validate(this), arguments);\n },\n lastIndexOf: function lastIndexOf(searchElement /* , fromIndex */) { // eslint-disable-line no-unused-vars\n return arrayLastIndexOf.apply(validate(this), arguments);\n },\n map: function map(mapfn /* , thisArg */) {\n return $map(validate(this), mapfn, arguments.length > 1 ? arguments[1] : undefined);\n },\n reduce: function reduce(callbackfn /* , initialValue */) { // eslint-disable-line no-unused-vars\n return arrayReduce.apply(validate(this), arguments);\n },\n reduceRight: function reduceRight(callbackfn /* , initialValue */) { // eslint-disable-line no-unused-vars\n return arrayReduceRight.apply(validate(this), arguments);\n },\n reverse: function reverse() {\n var that = this;\n var length = validate(that).length;\n var middle = Math.floor(length / 2);\n var index = 0;\n var value;\n while (index < middle) {\n value = that[index];\n that[index++] = that[--length];\n that[length] = value;\n } return that;\n },\n some: function some(callbackfn /* , thisArg */) {\n return arraySome(validate(this), callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n },\n sort: function sort(comparefn) {\n return arraySort.call(validate(this), comparefn);\n },\n subarray: function subarray(begin, end) {\n var O = validate(this);\n var length = O.length;\n var $begin = toAbsoluteIndex(begin, length);\n return new (speciesConstructor(O, O[DEF_CONSTRUCTOR]))(\n O.buffer,\n O.byteOffset + $begin * O.BYTES_PER_ELEMENT,\n toLength((end === undefined ? length : toAbsoluteIndex(end, length)) - $begin)\n );\n }\n };\n\n var $slice = function slice(start, end) {\n return speciesFromList(this, arraySlice.call(validate(this), start, end));\n };\n\n var $set = function set(arrayLike /* , offset */) {\n validate(this);\n var offset = toOffset(arguments[1], 1);\n var length = this.length;\n var src = toObject(arrayLike);\n var len = toLength(src.length);\n var index = 0;\n if (len + offset > length) throw RangeError(WRONG_LENGTH);\n while (index < len) this[offset + index] = src[index++];\n };\n\n var $iterators = {\n entries: function entries() {\n return arrayEntries.call(validate(this));\n },\n keys: function keys() {\n return arrayKeys.call(validate(this));\n },\n values: function values() {\n return arrayValues.call(validate(this));\n }\n };\n\n var isTAIndex = function (target, key) {\n return isObject(target)\n && target[TYPED_ARRAY]\n && typeof key != 'symbol'\n && key in target\n && String(+key) == String(key);\n };\n var $getDesc = function getOwnPropertyDescriptor(target, key) {\n return isTAIndex(target, key = toPrimitive(key, true))\n ? propertyDesc(2, target[key])\n : gOPD(target, key);\n };\n var $setDesc = function defineProperty(target, key, desc) {\n if (isTAIndex(target, key = toPrimitive(key, true))\n && isObject(desc)\n && has(desc, 'value')\n && !has(desc, 'get')\n && !has(desc, 'set')\n // TODO: add validation descriptor w/o calling accessors\n && !desc.configurable\n && (!has(desc, 'writable') || desc.writable)\n && (!has(desc, 'enumerable') || desc.enumerable)\n ) {\n target[key] = desc.value;\n return target;\n } return dP(target, key, desc);\n };\n\n if (!ALL_CONSTRUCTORS) {\n $GOPD.f = $getDesc;\n $DP.f = $setDesc;\n }\n\n $export($export.S + $export.F * !ALL_CONSTRUCTORS, 'Object', {\n getOwnPropertyDescriptor: $getDesc,\n defineProperty: $setDesc\n });\n\n if (fails(function () { arrayToString.call({}); })) {\n arrayToString = arrayToLocaleString = function toString() {\n return arrayJoin.call(this);\n };\n }\n\n var $TypedArrayPrototype$ = redefineAll({}, proto);\n redefineAll($TypedArrayPrototype$, $iterators);\n hide($TypedArrayPrototype$, ITERATOR, $iterators.values);\n redefineAll($TypedArrayPrototype$, {\n slice: $slice,\n set: $set,\n constructor: function () { /* noop */ },\n toString: arrayToString,\n toLocaleString: $toLocaleString\n });\n addGetter($TypedArrayPrototype$, 'buffer', 'b');\n addGetter($TypedArrayPrototype$, 'byteOffset', 'o');\n addGetter($TypedArrayPrototype$, 'byteLength', 'l');\n addGetter($TypedArrayPrototype$, 'length', 'e');\n dP($TypedArrayPrototype$, TAG, {\n get: function () { return this[TYPED_ARRAY]; }\n });\n\n // eslint-disable-next-line max-statements\n module.exports = function (KEY, BYTES, wrapper, CLAMPED) {\n CLAMPED = !!CLAMPED;\n var NAME = KEY + (CLAMPED ? 'Clamped' : '') + 'Array';\n var GETTER = 'get' + KEY;\n var SETTER = 'set' + KEY;\n var TypedArray = global[NAME];\n var Base = TypedArray || {};\n var TAC = TypedArray && getPrototypeOf(TypedArray);\n var FORCED = !TypedArray || !$typed.ABV;\n var O = {};\n var TypedArrayPrototype = TypedArray && TypedArray[PROTOTYPE];\n var getter = function (that, index) {\n var data = that._d;\n return data.v[GETTER](index * BYTES + data.o, LITTLE_ENDIAN);\n };\n var setter = function (that, index, value) {\n var data = that._d;\n if (CLAMPED) value = (value = Math.round(value)) < 0 ? 0 : value > 0xff ? 0xff : value & 0xff;\n data.v[SETTER](index * BYTES + data.o, value, LITTLE_ENDIAN);\n };\n var addElement = function (that, index) {\n dP(that, index, {\n get: function () {\n return getter(this, index);\n },\n set: function (value) {\n return setter(this, index, value);\n },\n enumerable: true\n });\n };\n if (FORCED) {\n TypedArray = wrapper(function (that, data, $offset, $length) {\n anInstance(that, TypedArray, NAME, '_d');\n var index = 0;\n var offset = 0;\n var buffer, byteLength, length, klass;\n if (!isObject(data)) {\n length = toIndex(data);\n byteLength = length * BYTES;\n buffer = new $ArrayBuffer(byteLength);\n } else if (data instanceof $ArrayBuffer || (klass = classof(data)) == ARRAY_BUFFER || klass == SHARED_BUFFER) {\n buffer = data;\n offset = toOffset($offset, BYTES);\n var $len = data.byteLength;\n if ($length === undefined) {\n if ($len % BYTES) throw RangeError(WRONG_LENGTH);\n byteLength = $len - offset;\n if (byteLength < 0) throw RangeError(WRONG_LENGTH);\n } else {\n byteLength = toLength($length) * BYTES;\n if (byteLength + offset > $len) throw RangeError(WRONG_LENGTH);\n }\n length = byteLength / BYTES;\n } else if (TYPED_ARRAY in data) {\n return fromList(TypedArray, data);\n } else {\n return $from.call(TypedArray, data);\n }\n hide(that, '_d', {\n b: buffer,\n o: offset,\n l: byteLength,\n e: length,\n v: new $DataView(buffer)\n });\n while (index < length) addElement(that, index++);\n });\n TypedArrayPrototype = TypedArray[PROTOTYPE] = create($TypedArrayPrototype$);\n hide(TypedArrayPrototype, 'constructor', TypedArray);\n } else if (!fails(function () {\n TypedArray(1);\n }) || !fails(function () {\n new TypedArray(-1); // eslint-disable-line no-new\n }) || !$iterDetect(function (iter) {\n new TypedArray(); // eslint-disable-line no-new\n new TypedArray(null); // eslint-disable-line no-new\n new TypedArray(1.5); // eslint-disable-line no-new\n new TypedArray(iter); // eslint-disable-line no-new\n }, true)) {\n TypedArray = wrapper(function (that, data, $offset, $length) {\n anInstance(that, TypedArray, NAME);\n var klass;\n // `ws` module bug, temporarily remove validation length for Uint8Array\n // https://github.com/websockets/ws/pull/645\n if (!isObject(data)) return new Base(toIndex(data));\n if (data instanceof $ArrayBuffer || (klass = classof(data)) == ARRAY_BUFFER || klass == SHARED_BUFFER) {\n return $length !== undefined\n ? new Base(data, toOffset($offset, BYTES), $length)\n : $offset !== undefined\n ? new Base(data, toOffset($offset, BYTES))\n : new Base(data);\n }\n if (TYPED_ARRAY in data) return fromList(TypedArray, data);\n return $from.call(TypedArray, data);\n });\n arrayForEach(TAC !== Function.prototype ? gOPN(Base).concat(gOPN(TAC)) : gOPN(Base), function (key) {\n if (!(key in TypedArray)) hide(TypedArray, key, Base[key]);\n });\n TypedArray[PROTOTYPE] = TypedArrayPrototype;\n if (!LIBRARY) TypedArrayPrototype.constructor = TypedArray;\n }\n var $nativeIterator = TypedArrayPrototype[ITERATOR];\n var CORRECT_ITER_NAME = !!$nativeIterator\n && ($nativeIterator.name == 'values' || $nativeIterator.name == undefined);\n var $iterator = $iterators.values;\n hide(TypedArray, TYPED_CONSTRUCTOR, true);\n hide(TypedArrayPrototype, TYPED_ARRAY, NAME);\n hide(TypedArrayPrototype, VIEW, true);\n hide(TypedArrayPrototype, DEF_CONSTRUCTOR, TypedArray);\n\n if (CLAMPED ? new TypedArray(1)[TAG] != NAME : !(TAG in TypedArrayPrototype)) {\n dP(TypedArrayPrototype, TAG, {\n get: function () { return NAME; }\n });\n }\n\n O[NAME] = TypedArray;\n\n $export($export.G + $export.W + $export.F * (TypedArray != Base), O);\n\n $export($export.S, NAME, {\n BYTES_PER_ELEMENT: BYTES\n });\n\n $export($export.S + $export.F * fails(function () { Base.of.call(TypedArray, 1); }), NAME, {\n from: $from,\n of: $of\n });\n\n if (!(BYTES_PER_ELEMENT in TypedArrayPrototype)) hide(TypedArrayPrototype, BYTES_PER_ELEMENT, BYTES);\n\n $export($export.P, NAME, proto);\n\n setSpecies(NAME);\n\n $export($export.P + $export.F * FORCED_SET, NAME, { set: $set });\n\n $export($export.P + $export.F * !CORRECT_ITER_NAME, NAME, $iterators);\n\n if (!LIBRARY && TypedArrayPrototype.toString != arrayToString) TypedArrayPrototype.toString = arrayToString;\n\n $export($export.P + $export.F * fails(function () {\n new TypedArray(1).slice();\n }), NAME, { slice: $slice });\n\n $export($export.P + $export.F * (fails(function () {\n return [1, 2].toLocaleString() != new TypedArray([1, 2]).toLocaleString();\n }) || !fails(function () {\n TypedArrayPrototype.toLocaleString.call([1, 2]);\n })), NAME, { toLocaleString: $toLocaleString });\n\n Iterators[NAME] = CORRECT_ITER_NAME ? $nativeIterator : $iterator;\n if (!LIBRARY && !CORRECT_ITER_NAME) hide(TypedArrayPrototype, ITERATOR, $iterator);\n };\n} else module.exports = function () { /* empty */ };\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/_typed-array.js\n// module id = 48\n// module chunks = 0","var Map = require('./es6.map');\nvar $export = require('./_export');\nvar shared = require('./_shared')('metadata');\nvar store = shared.store || (shared.store = new (require('./es6.weak-map'))());\n\nvar getOrCreateMetadataMap = function (target, targetKey, create) {\n var targetMetadata = store.get(target);\n if (!targetMetadata) {\n if (!create) return undefined;\n store.set(target, targetMetadata = new Map());\n }\n var keyMetadata = targetMetadata.get(targetKey);\n if (!keyMetadata) {\n if (!create) return undefined;\n targetMetadata.set(targetKey, keyMetadata = new Map());\n } return keyMetadata;\n};\nvar ordinaryHasOwnMetadata = function (MetadataKey, O, P) {\n var metadataMap = getOrCreateMetadataMap(O, P, false);\n return metadataMap === undefined ? false : metadataMap.has(MetadataKey);\n};\nvar ordinaryGetOwnMetadata = function (MetadataKey, O, P) {\n var metadataMap = getOrCreateMetadataMap(O, P, false);\n return metadataMap === undefined ? undefined : metadataMap.get(MetadataKey);\n};\nvar ordinaryDefineOwnMetadata = function (MetadataKey, MetadataValue, O, P) {\n getOrCreateMetadataMap(O, P, true).set(MetadataKey, MetadataValue);\n};\nvar ordinaryOwnMetadataKeys = function (target, targetKey) {\n var metadataMap = getOrCreateMetadataMap(target, targetKey, false);\n var keys = [];\n if (metadataMap) metadataMap.forEach(function (_, key) { keys.push(key); });\n return keys;\n};\nvar toMetaKey = function (it) {\n return it === undefined || typeof it == 'symbol' ? it : String(it);\n};\nvar exp = function (O) {\n $export($export.S, 'Reflect', O);\n};\n\nmodule.exports = {\n store: store,\n map: getOrCreateMetadataMap,\n has: ordinaryHasOwnMetadata,\n get: ordinaryGetOwnMetadata,\n set: ordinaryDefineOwnMetadata,\n keys: ordinaryOwnMetadataKeys,\n key: toMetaKey,\n exp: exp\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/_metadata.js\n// module id = 49\n// module chunks = 0","var anObject = require('./_an-object');\nvar IE8_DOM_DEFINE = require('./_ie8-dom-define');\nvar toPrimitive = require('./_to-primitive');\nvar dP = Object.defineProperty;\n\nexports.f = require('./_descriptors') ? Object.defineProperty : function defineProperty(O, P, Attributes) {\n anObject(O);\n P = toPrimitive(P, true);\n anObject(Attributes);\n if (IE8_DOM_DEFINE) try {\n return dP(O, P, Attributes);\n } catch (e) { /* empty */ }\n if ('get' in Attributes || 'set' in Attributes) throw TypeError('Accessors not supported!');\n if ('value' in Attributes) O[P] = Attributes.value;\n return O;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_object-dp.js\n// module id = 50\n// module chunks = 0","/*!\n * Copyright (c) 2015-2016, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n\ndefine(['okta', 'util/Enums'], function (Okta, Enums) {\n\n var { Util } = Okta.internal.util;\n var _ = Okta._;\n\n return Okta.View.extend({\n template: '\\\n <a href=\"#\" class=\"link {{linkClassName}}\" data-se=\"signout-link\">\\\n {{linkText}}\\\n </a>\\\n ',\n className: 'auth-footer clearfix',\n events: {\n 'click a' : function (e) {\n e.preventDefault();\n this.options.appState.trigger('signOut');\n var self = this;\n this.model.doTransaction(function (transaction) {\n return transaction.cancel();\n })\n .then(function () {\n if (self.settings.get('signOutLink')) {\n Util.redirect(self.settings.get('signOutLink'));\n } else {\n self.state.set('navigateDir', Enums.DIRECTION_BACK);\n self.options.appState.trigger('navigate', '');\n }\n });\n }\n },\n getTemplateData: function () {\n return {\n linkClassName: _.isUndefined(this.options.linkClassName) ? 'goto' : this.options.linkClassName,\n linkText: this.options.linkText || Okta.loc('signout', 'login')\n };\n }\n });\n\n});\n\n\n\n// WEBPACK FOOTER //\n// ./src/views/shared/FooterSignout.js","/*!\n * Copyright (c) 2015-2016, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n\ndefine([\n 'okta'\n],\nfunction (Okta) {\n\n // Have to be unescaped for the html in enroll.windowsHello.error.notConfiguredHtml\n var template = '\\\n <span class=\"icon error-24\"></span>\\\n <h4><strong>{{{message}}}</strong></h4>\\\n ';\n\n return Okta.View.extend({\n template: template,\n className: 'okta-infobox-error infobox infobox-error infobox-md margin-btm-25',\n attributes: {\n 'data-se': 'o-form-error-html'\n },\n\n message: '',\n\n initialize: function (options) {\n if (options && options.message) {\n this.message = options.message;\n }\n },\n\n getTemplateData: function () {\n return {\n message: this.message\n };\n }\n });\n});\n\n\n\n// WEBPACK FOOTER //\n// ./src/views/mfa-verify/HtmlErrorMessageView.js","module.exports = false;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/_library.js\n// module id = 53\n// module chunks = 0","var META = require('./_uid')('meta');\nvar isObject = require('./_is-object');\nvar has = require('./_has');\nvar setDesc = require('./_object-dp').f;\nvar id = 0;\nvar isExtensible = Object.isExtensible || function () {\n return true;\n};\nvar FREEZE = !require('./_fails')(function () {\n return isExtensible(Object.preventExtensions({}));\n});\nvar setMeta = function (it) {\n setDesc(it, META, { value: {\n i: 'O' + ++id, // object ID\n w: {} // weak collections IDs\n } });\n};\nvar fastKey = function (it, create) {\n // return primitive with prefix\n if (!isObject(it)) return typeof it == 'symbol' ? it : (typeof it == 'string' ? 'S' : 'P') + it;\n if (!has(it, META)) {\n // can't set metadata to uncaught frozen object\n if (!isExtensible(it)) return 'F';\n // not necessary to add metadata\n if (!create) return 'E';\n // add missing metadata\n setMeta(it);\n // return object ID\n } return it[META].i;\n};\nvar getWeak = function (it, create) {\n if (!has(it, META)) {\n // can't set metadata to uncaught frozen object\n if (!isExtensible(it)) return true;\n // not necessary to add metadata\n if (!create) return false;\n // add missing metadata\n setMeta(it);\n // return hash weak collections IDs\n } return it[META].w;\n};\n// add metadata on freeze-family methods calling\nvar onFreeze = function (it) {\n if (FREEZE && meta.NEED && isExtensible(it) && !has(it, META)) setMeta(it);\n return it;\n};\nvar meta = module.exports = {\n KEY: META,\n NEED: false,\n fastKey: fastKey,\n getWeak: getWeak,\n onFreeze: onFreeze\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/_meta.js\n// module id = 54\n// module chunks = 0","// 22.1.3.31 Array.prototype[@@unscopables]\nvar UNSCOPABLES = require('./_wks')('unscopables');\nvar ArrayProto = Array.prototype;\nif (ArrayProto[UNSCOPABLES] == undefined) require('./_hide')(ArrayProto, UNSCOPABLES, {});\nmodule.exports = function (key) {\n ArrayProto[UNSCOPABLES][key] = true;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/_add-to-unscopables.js\n// module id = 55\n// module chunks = 0","// to indexed object, toObject with fallback for non-array-like ES3 strings\nvar IObject = require('./_iobject');\nvar defined = require('./_defined');\nmodule.exports = function (it) {\n return IObject(defined(it));\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_to-iobject.js\n// module id = 56\n// module chunks = 0","/*!\n * Copyright (c) 2015-2016, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n\ndefine(function () {\n\n function log (level, args) {\n // Only log statements in development mode or if\n // throwing an error through console.error\n if (DEBUG || level === 'error') {\n window.console[level].apply(window.console, args);\n }\n }\n\n /**\n * Utility library of logging functions.\n */\n return {\n\n trace: function () {\n return log('trace', arguments);\n },\n\n dir: function () {\n return log('dir', arguments);\n },\n\n time: function () {\n return log('time', arguments);\n },\n\n timeEnd: function () {\n return log('timeEnd', arguments);\n },\n\n group: function () {\n return log('group', arguments);\n },\n\n groupEnd: function () {\n return log('groupEnd', arguments);\n },\n\n assert: function () {\n return log('assert', arguments);\n },\n\n log: function () {\n return log('log', arguments);\n },\n\n info: function () {\n return log('info', arguments);\n },\n\n warn: function () {\n return log('warn', arguments);\n },\n\n error: function () {\n return log('error', arguments);\n },\n\n deprecate: function (msg) {\n return log('warn', ['[okta-signin-widget] DEPRECATED:', msg]);\n }\n };\n});\n\n\n\n// WEBPACK FOOTER //\n// ./src/util/Logger.js","/*!\n * Copyright (c) 2015-2016, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n\ndefine(function () {\n\n var fn = {},\n hasFullCorsSupport = 'withCredentials' in new window.XMLHttpRequest(),\n hasXDomainRequest = typeof XDomainRequest !== 'undefined';\n\n fn.corsIsNotSupported = function () {\n return !(hasFullCorsSupport || hasXDomainRequest);\n };\n\n fn.corsIsNotEnabled = function (jqXhr) {\n // Not a definitive check, but it's the best we've got.\n // Note: This will change when OktaAuth is updated\n return jqXhr.status === 0;\n };\n\n // This is currently not being used, but we'll keep it around for when we\n // want a fallback mechanism - i.e. use localStorage if it exists, else fall\n // back to cookies.\n fn.localStorageIsNotSupported = function () {\n var test = 'test';\n try {\n localStorage.setItem(test, test);\n localStorage.removeItem(test);\n return false;\n } catch(e) {\n return true;\n }\n };\n\n fn.supportsPushState = function (win) {\n win = win || window;\n return !!(win.history && win.history.pushState);\n };\n\n fn.isIE = function () {\n return /(msie|trident)/i.test(navigator.userAgent);\n };\n\n fn.isFirefox = function () {\n return navigator.userAgent.toLowerCase().indexOf('firefox') > -1;\n };\n\n fn.isEdge = function () {\n return navigator.userAgent.toLowerCase().indexOf('edge') > -1;\n };\n\n fn.isSafari = function () {\n // Chrome has safari in its useragent string so adding this extra check.\n return navigator.userAgent.toLowerCase().indexOf('safari') > -1 &&\n navigator.userAgent.toLowerCase().indexOf('chrome') === -1;\n };\n\n fn.isMac = function () {\n return navigator.platform.toUpperCase().indexOf('MAC')>=0;\n };\n\n // Returns a list of languages the user has configured for their browser, in\n // order of preference.\n fn.getUserLanguages = function () {\n var languages, properties;\n\n // Chrome, Firefox\n if (navigator.languages) {\n return navigator.languages;\n }\n\n languages = [];\n properties = [\n 'language', // Safari, IE11\n 'userLanguage', // IE\n 'browserLanguage', // IE\n 'systemLanguage' // IE\n ];\n\n properties.forEach(function (property) {\n if (navigator[property]) {\n languages.push(navigator[property]);\n }\n });\n\n return languages;\n };\n\n return fn;\n\n});\n\n\n\n// WEBPACK FOOTER //\n// ./src/util/BrowserFeatures.js","import { View, _ } from 'okta';\nimport Link from '../components/Link';\n\n/**\n * When `href` is present, the Link behaviors as normal web link.\n * When `actionPath` is present, the Link behaviors as link button\n * upon click, will trigger the action `actionPath`.\n * @typedef {Object} Link\n * @property {string} label\n * @property {string} name\n * @property {string=} href\n * @property {string=} actionPath\n */\n\n\nexport default View.extend({\n\n className: 'auth-footer',\n\n /**\n * {Link[]} links\n */\n links: [],\n\n initialize () {\n let links = _.resultCtx(this, 'links', this);\n if (this.options.appState.get('showSignoutLink')) {\n //add cancel/signout link\n links = links.concat([\n {\n 'actionPath': 'cancel',\n 'label': 'Sign out',\n 'name': 'cancel',\n 'type': 'link'\n },\n ]);\n }\n\n links.forEach(link => {\n this.add(Link, {\n options: link,\n });\n });\n }\n});\n\n\n\n// WEBPACK FOOTER //\n// ./src/v2/view-builder/internals/BaseFooter.js","module.exports = function (bitmap, value) {\n return {\n enumerable: !(bitmap & 1),\n configurable: !(bitmap & 2),\n writable: !(bitmap & 4),\n value: value\n };\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/_property-desc.js\n// module id = 60\n// module chunks = 0","var id = 0;\nvar px = Math.random();\nmodule.exports = function (key) {\n return 'Symbol('.concat(key === undefined ? '' : key, ')_', (++id + px).toString(36));\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/_uid.js\n// module id = 61\n// module chunks = 0","// 19.1.2.14 / 15.2.3.14 Object.keys(O)\nvar $keys = require('./_object-keys-internal');\nvar enumBugKeys = require('./_enum-bug-keys');\n\nmodule.exports = Object.keys || function keys(O) {\n return $keys(O, enumBugKeys);\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/_object-keys.js\n// module id = 62\n// module chunks = 0","var toInteger = require('./_to-integer');\nvar max = Math.max;\nvar min = Math.min;\nmodule.exports = function (index, length) {\n index = toInteger(index);\n return index < 0 ? max(index + length, 0) : min(index, length);\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/_to-absolute-index.js\n// module id = 63\n// module chunks = 0","// 19.1.2.2 / 15.2.3.5 Object.create(O [, Properties])\nvar anObject = require('./_an-object');\nvar dPs = require('./_object-dps');\nvar enumBugKeys = require('./_enum-bug-keys');\nvar IE_PROTO = require('./_shared-key')('IE_PROTO');\nvar Empty = function () { /* empty */ };\nvar PROTOTYPE = 'prototype';\n\n// Create object with fake `null` prototype: use iframe Object with cleared prototype\nvar createDict = function () {\n // Thrash, waste and sodomy: IE GC bug\n var iframe = require('./_dom-create')('iframe');\n var i = enumBugKeys.length;\n var lt = '<';\n var gt = '>';\n var iframeDocument;\n iframe.style.display = 'none';\n require('./_html').appendChild(iframe);\n iframe.src = 'javascript:'; // eslint-disable-line no-script-url\n // createDict = iframe.contentWindow.Object;\n // html.removeChild(iframe);\n iframeDocument = iframe.contentWindow.document;\n iframeDocument.open();\n iframeDocument.write(lt + 'script' + gt + 'document.F=Object' + lt + '/script' + gt);\n iframeDocument.close();\n createDict = iframeDocument.F;\n while (i--) delete createDict[PROTOTYPE][enumBugKeys[i]];\n return createDict();\n};\n\nmodule.exports = Object.create || function create(O, Properties) {\n var result;\n if (O !== null) {\n Empty[PROTOTYPE] = anObject(O);\n result = new Empty();\n Empty[PROTOTYPE] = null;\n // add \"__proto__\" for Object.getPrototypeOf polyfill\n result[IE_PROTO] = O;\n } else result = createDict();\n return Properties === undefined ? result : dPs(result, Properties);\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/_object-create.js\n// module id = 64\n// module chunks = 0","// 19.1.2.7 / 15.2.3.4 Object.getOwnPropertyNames(O)\nvar $keys = require('./_object-keys-internal');\nvar hiddenKeys = require('./_enum-bug-keys').concat('length', 'prototype');\n\nexports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {\n return $keys(O, hiddenKeys);\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/_object-gopn.js\n// module id = 65\n// module chunks = 0","'use strict';\nvar global = require('./_global');\nvar dP = require('./_object-dp');\nvar DESCRIPTORS = require('./_descriptors');\nvar SPECIES = require('./_wks')('species');\n\nmodule.exports = function (KEY) {\n var C = global[KEY];\n if (DESCRIPTORS && C && !C[SPECIES]) dP.f(C, SPECIES, {\n configurable: true,\n get: function () { return this; }\n });\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/_set-species.js\n// module id = 66\n// module chunks = 0","module.exports = function (it, Constructor, name, forbiddenField) {\n if (!(it instanceof Constructor) || (forbiddenField !== undefined && forbiddenField in it)) {\n throw TypeError(name + ': incorrect invocation!');\n } return it;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/_an-instance.js\n// module id = 67\n// module chunks = 0","var ctx = require('./_ctx');\nvar call = require('./_iter-call');\nvar isArrayIter = require('./_is-array-iter');\nvar anObject = require('./_an-object');\nvar toLength = require('./_to-length');\nvar getIterFn = require('./core.get-iterator-method');\nvar BREAK = {};\nvar RETURN = {};\nvar exports = module.exports = function (iterable, entries, fn, that, ITERATOR) {\n var iterFn = ITERATOR ? function () { return iterable; } : getIterFn(iterable);\n var f = ctx(fn, that, entries ? 2 : 1);\n var index = 0;\n var length, step, iterator, result;\n if (typeof iterFn != 'function') throw TypeError(iterable + ' is not iterable!');\n // fast case for arrays with default iterator\n if (isArrayIter(iterFn)) for (length = toLength(iterable.length); length > index; index++) {\n result = entries ? f(anObject(step = iterable[index])[0], step[1]) : f(iterable[index]);\n if (result === BREAK || result === RETURN) return result;\n } else for (iterator = iterFn.call(iterable); !(step = iterator.next()).done;) {\n result = call(iterator, f, step.value, entries);\n if (result === BREAK || result === RETURN) return result;\n }\n};\nexports.BREAK = BREAK;\nexports.RETURN = RETURN;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/_for-of.js\n// module id = 68\n// module chunks = 0","var redefine = require('./_redefine');\nmodule.exports = function (target, src, safe) {\n for (var key in src) redefine(target, key, src[key], safe);\n return target;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/_redefine-all.js\n// module id = 69\n// module chunks = 0","var isObject = require('./_is-object');\nmodule.exports = function (it, TYPE) {\n if (!isObject(it) || it._t !== TYPE) throw TypeError('Incompatible receiver, ' + TYPE + ' required!');\n return it;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/_validate-collection.js\n// module id = 70\n// module chunks = 0","var dP = require('./_object-dp');\nvar createDesc = require('./_property-desc');\nmodule.exports = require('./_descriptors') ? function (object, key, value) {\n return dP.f(object, key, createDesc(1, value));\n} : function (object, key, value) {\n object[key] = value;\n return object;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_hide.js\n// module id = 71\n// module chunks = 0","var hasOwnProperty = {}.hasOwnProperty;\nmodule.exports = function (it, key) {\n return hasOwnProperty.call(it, key);\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_has.js\n// module id = 72\n// module chunks = 0","var def = require('./_object-dp').f;\nvar has = require('./_has');\nvar TAG = require('./_wks')('toStringTag');\n\nmodule.exports = function (it, tag, stat) {\n if (it && !has(it = stat ? it : it.prototype, TAG)) def(it, TAG, { configurable: true, value: tag });\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/_set-to-string-tag.js\n// module id = 73\n// module chunks = 0","// getting tag from 19.1.3.6 Object.prototype.toString()\nvar cof = require('./_cof');\nvar TAG = require('./_wks')('toStringTag');\n// ES3 wrong here\nvar ARG = cof(function () { return arguments; }()) == 'Arguments';\n\n// fallback for IE11 Script Access Denied error\nvar tryGet = function (it, key) {\n try {\n return it[key];\n } catch (e) { /* empty */ }\n};\n\nmodule.exports = function (it) {\n var O, T, B;\n return it === undefined ? 'Undefined' : it === null ? 'Null'\n // @@toStringTag case\n : typeof (T = tryGet(O = Object(it), TAG)) == 'string' ? T\n // builtinTag case\n : ARG ? cof(O)\n // ES3 arguments fallback\n : (B = cof(O)) == 'Object' && typeof O.callee == 'function' ? 'Arguments' : B;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/_classof.js\n// module id = 74\n// module chunks = 0","var $export = require('./_export');\nvar defined = require('./_defined');\nvar fails = require('./_fails');\nvar spaces = require('./_string-ws');\nvar space = '[' + spaces + ']';\nvar non = '\\u200b\\u0085';\nvar ltrim = RegExp('^' + space + space + '*');\nvar rtrim = RegExp(space + space + '*$');\n\nvar exporter = function (KEY, exec, ALIAS) {\n var exp = {};\n var FORCE = fails(function () {\n return !!spaces[KEY]() || non[KEY]() != non;\n });\n var fn = exp[KEY] = FORCE ? exec(trim) : spaces[KEY];\n if (ALIAS) exp[ALIAS] = fn;\n $export($export.P + $export.F * FORCE, 'String', exp);\n};\n\n// 1 -> String#trimLeft\n// 2 -> String#trimRight\n// 3 -> String#trim\nvar trim = exporter.trim = function (string, TYPE) {\n string = String(defined(string));\n if (TYPE & 1) string = string.replace(ltrim, '');\n if (TYPE & 2) string = string.replace(rtrim, '');\n return string;\n};\n\nmodule.exports = exporter;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/_string-trim.js\n// module id = 75\n// module chunks = 0","module.exports = {};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/_iterators.js\n// module id = 76\n// module chunks = 0","module.exports = { \"default\": require(\"core-js/library/fn/json/stringify\"), __esModule: true };\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/babel-runtime/core-js/json/stringify.js\n// module id = 77\n// module chunks = 0","// optional / simple context binding\nvar aFunction = require('./_a-function');\nmodule.exports = function (fn, that, length) {\n aFunction(fn);\n if (that === undefined) return fn;\n switch (length) {\n case 1: return function (a) {\n return fn.call(that, a);\n };\n case 2: return function (a, b) {\n return fn.call(that, a, b);\n };\n case 3: return function (a, b, c) {\n return fn.call(that, a, b, c);\n };\n }\n return function (/* ...args */) {\n return fn.apply(that, arguments);\n };\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_ctx.js\n// module id = 78\n// module chunks = 0","module.exports = function (exec) {\n try {\n return !!exec();\n } catch (e) {\n return true;\n }\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_fails.js\n// module id = 79\n// module chunks = 0","module.exports = {};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_iterators.js\n// module id = 80\n// module chunks = 0","// 19.1.2.14 / 15.2.3.14 Object.keys(O)\nvar $keys = require('./_object-keys-internal');\nvar enumBugKeys = require('./_enum-bug-keys');\n\nmodule.exports = Object.keys || function keys(O) {\n return $keys(O, enumBugKeys);\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_object-keys.js\n// module id = 81\n// module chunks = 0","// 7.1.13 ToObject(argument)\nvar defined = require('./_defined');\nmodule.exports = function (it) {\n return Object(defined(it));\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_to-object.js\n// module id = 82\n// module chunks = 0","/*!\n * Copyright (c) 2015-2016, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n\ndefine(['okta', 'q'], function (Okta, Q) {\n var _ = Okta._;\n\n function getForm (controller) {\n return _.find(controller.getChildren(), function (item) {\n return (item instanceof Okta.Form);\n });\n }\n\n return Okta.Controller.extend({\n\n // Ideally we should be attaching the listeners in the constructor, but because of the way\n // we construct the FormController (this.model is generated after the BaseLoginController's\n // constructor is called), this.model is undefined in when try to attach the events and\n // therefore we don't listen to events for such forms. And changing the order in which we call\n // the constructor doesn't help either (JS errors etc.). This at least guarantees that we\n // are listening to the model events.\n // Note - Figure out a way to call the constructor in the right order.\n addListeners: function () {\n // Events to enable/disable the primary button on the forms\n this.listenTo(this.model, 'save', function () {\n //disable the submit button on forms while making the request\n //to prevent users from hitting rate limiting exceptions of\n //1 per second on the auth api\n var form = getForm(this);\n var disableSubmitButton = form.disableSubmitButton;\n if (disableSubmitButton && !form.disableSubmitButton()) {\n return;\n }\n this.toggleButtonState(true);\n });\n\n this.listenTo(this.model, 'error', function () {\n this.toggleButtonState(false);\n });\n\n this.addModelListeners(this.model);\n },\n\n addModelListeners: function (model) {\n var setTransactionHandler = _.bind(function (transaction) {\n this.options.appState.set('transaction', transaction);\n }, this);\n var transactionErrorHandler = _.bind(function (err) {\n this.options.appState.set('transactionError', err);\n }, this);\n\n // Events to set the transaction attributes on the app state.\n this.listenTo(model, 'setTransaction', setTransactionHandler);\n this.listenTo(model, 'setTransactionError', transactionErrorHandler);\n\n // For TOTP factor model\n // TOTP model is special, its model will not be attached to a controller, but will\n // tag along with the push factor model. We need to listen to the transaction\n // changes on this as well (in case of the push+totp form).\n var totpModel = model.get('backupFactor');\n if (totpModel) {\n this.listenTo(totpModel, 'setTransaction', setTransactionHandler);\n this.listenTo(totpModel, 'setTransactionError', transactionErrorHandler);\n }\n },\n\n // Override this method to delay switching to this screen until return\n // promise is resolved. This is useful for cases like enrolling a security\n // question, which requires an additional request to fetch the question\n // list.\n fetchInitialData: function () {\n return Q();\n },\n\n // Override this method to prevent route navigation. This is useful for\n // intermediate status changes that do not trigger a full refresh of the\n // page, like MFA_ENROLL_ACTIVATE and MFA_CHALLENGE.\n trapAuthResponse: function () {\n return false;\n },\n\n toJSON: function () {\n var data = Okta.Controller.prototype.toJSON.apply(this, arguments);\n return _.extend(_.pick(this.options, 'appState'), data);\n },\n\n toggleButtonState: function (state) {\n var button = this.$el.find('.button');\n button.toggleClass('link-button-disabled', state).prop('disabled', state);\n },\n\n\n postRenderAnimation: function () {\n // Event triggered after a page is rendered along with the classname to identify the page\n // TODO: Deprecate this event in the next major version in favor of 'afterRender'\n this.trigger('pageRendered', {page: this.className});\n\n this.trigger('afterRender', { controller: this.className });\n }\n });\n\n});\n\n\n\n// WEBPACK FOOTER //\n// ./src/util/BaseLoginController.js","var core = require('./_core');\nvar global = require('./_global');\nvar SHARED = '__core-js_shared__';\nvar store = global[SHARED] || (global[SHARED] = {});\n\n(module.exports = function (key, value) {\n return store[key] || (store[key] = value !== undefined ? value : {});\n})('versions', []).push({\n version: core.version,\n mode: require('./_library') ? 'pure' : 'global',\n copyright: '© 2019 Denis Pushkarev (zloirock.ru)'\n});\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/_shared.js\n// module id = 84\n// module chunks = 0","// fallback for non-array-like ES3 and non-enumerable old V8 strings\nvar cof = require('./_cof');\n// eslint-disable-next-line no-prototype-builtins\nmodule.exports = Object('z').propertyIsEnumerable(0) ? Object : function (it) {\n return cof(it) == 'String' ? it.split('') : Object(it);\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/_iobject.js\n// module id = 85\n// module chunks = 0","exports.f = {}.propertyIsEnumerable;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/_object-pie.js\n// module id = 86\n// module chunks = 0","'use strict';\n// 21.2.5.3 get RegExp.prototype.flags\nvar anObject = require('./_an-object');\nmodule.exports = function () {\n var that = anObject(this);\n var result = '';\n if (that.global) result += 'g';\n if (that.ignoreCase) result += 'i';\n if (that.multiline) result += 'm';\n if (that.unicode) result += 'u';\n if (that.sticky) result += 'y';\n return result;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/_flags.js\n// module id = 87\n// module chunks = 0","// 7.3.20 SpeciesConstructor(O, defaultConstructor)\nvar anObject = require('./_an-object');\nvar aFunction = require('./_a-function');\nvar SPECIES = require('./_wks')('species');\nmodule.exports = function (O, D) {\n var C = anObject(O).constructor;\n var S;\n return C === undefined || (S = anObject(C)[SPECIES]) == undefined ? D : aFunction(S);\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/_species-constructor.js\n// module id = 88\n// module chunks = 0","\"use strict\";\n\nexports.__esModule = true;\n\nvar _iterator = require(\"../core-js/symbol/iterator\");\n\nvar _iterator2 = _interopRequireDefault(_iterator);\n\nvar _symbol = require(\"../core-js/symbol\");\n\nvar _symbol2 = _interopRequireDefault(_symbol);\n\nvar _typeof = typeof _symbol2.default === \"function\" && typeof _iterator2.default === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof _symbol2.default === \"function\" && obj.constructor === _symbol2.default && obj !== _symbol2.default.prototype ? \"symbol\" : typeof obj; };\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = typeof _symbol2.default === \"function\" && _typeof(_iterator2.default) === \"symbol\" ? function (obj) {\n return typeof obj === \"undefined\" ? \"undefined\" : _typeof(obj);\n} : function (obj) {\n return obj && typeof _symbol2.default === \"function\" && obj.constructor === _symbol2.default && obj !== _symbol2.default.prototype ? \"symbol\" : typeof obj === \"undefined\" ? \"undefined\" : _typeof(obj);\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/babel-runtime/helpers/typeof.js\n// module id = 89\n// module chunks = 0","'use strict';\nvar $at = require('./_string-at')(true);\n\n// 21.1.3.27 String.prototype[@@iterator]()\nrequire('./_iter-define')(String, 'String', function (iterated) {\n this._t = String(iterated); // target\n this._i = 0; // next index\n// 21.1.5.2.1 %StringIteratorPrototype%.next()\n}, function () {\n var O = this._t;\n var index = this._i;\n var point;\n if (index >= O.length) return { value: undefined, done: true };\n point = $at(O, index);\n this._i += point.length;\n return { value: point, done: false };\n});\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/es6.string.iterator.js\n// module id = 90\n// module chunks = 0","module.exports = true;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_library.js\n// module id = 91\n// module chunks = 0","module.exports = function (bitmap, value) {\n return {\n enumerable: !(bitmap & 1),\n configurable: !(bitmap & 2),\n writable: !(bitmap & 4),\n value: value\n };\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_property-desc.js\n// module id = 92\n// module chunks = 0","var toString = {}.toString;\n\nmodule.exports = function (it) {\n return toString.call(it).slice(8, -1);\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_cof.js\n// module id = 93\n// module chunks = 0","exports.f = {}.propertyIsEnumerable;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_object-pie.js\n// module id = 94\n// module chunks = 0","// most Object methods by ES6 should accept primitives\nvar $export = require('./_export');\nvar core = require('./_core');\nvar fails = require('./_fails');\nmodule.exports = function (KEY, exec) {\n var fn = (core.Object || {})[KEY] || Object[KEY];\n var exp = {};\n exp[KEY] = exec(fn);\n $export($export.S + $export.F * fails(function () { fn(1); }), 'Object', exp);\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_object-sap.js\n// module id = 95\n// module chunks = 0","/*!\n * Copyright (c) 2015-2016, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n\ndefine([\n 'okta',\n 'q',\n 'util/Enums',\n],\nfunction (Okta, Q, Enums) {\n\n var _ = Okta._;\n var KNOWN_ERRORS = [\n 'OAuthError',\n 'AuthSdkError',\n 'AuthPollStopError',\n 'AuthApiError'\n ];\n\n return Okta.Model.extend({\n doTransaction: function (fn, rethrow) {\n var self = this;\n return fn.call(this, this.appState.get('transaction'))\n .then(function (trans) {\n self.trigger('setTransaction', trans);\n return trans;\n })\n .fail(function (err) {\n // Q may still consider AuthPollStopError to be unhandled\n if (err.name === 'AuthPollStopError' ||\n err.name === Enums.AUTH_STOP_POLL_INITIATION_ERROR ||\n err.name === Enums.WEBAUTHN_ABORT_ERROR) {\n return;\n }\n self.trigger('error', self, err.xhr);\n self.trigger('setTransactionError', err);\n if (rethrow || _.indexOf(KNOWN_ERRORS, err.name) === -1) {\n throw err;\n }\n });\n },\n\n manageTransaction: function (fn) {\n var self = this,\n res = fn.call(this, this.appState.get('transaction'), _.bind(this.setTransaction, this));\n\n // If it's a promise, listen for failures\n if (Q.isPromiseAlike(res)) {\n return res.fail(function (err) {\n if (err.name === 'AuthPollStopError' ||\n err.name === Enums.AUTH_STOP_POLL_INITIATION_ERROR ||\n err.name === Enums.WEBAUTHN_ABORT_ERROR) {\n return;\n }\n self.trigger('error', self, err.xhr);\n self.trigger('setTransactionError', err);\n });\n }\n\n return Q.resolve(res);\n },\n\n startTransaction: function (fn) {\n var self = this,\n res = fn.call(this, this.settings.getAuthClient());\n\n // If it's a promise, then chain to it\n if (Q.isPromiseAlike(res)) {\n return res.then(function (trans) {\n self.trigger('setTransaction', trans);\n return trans;\n })\n .fail(function (err) {\n self.trigger('error', self, err.xhr);\n self.trigger('setTransactionError', err);\n throw err;\n });\n }\n\n return Q.resolve(res);\n },\n\n setTransaction: function (trans) {\n this.appState.set('transaction', trans);\n }\n });\n});\n\n\n\n// WEBPACK FOOTER //\n// ./src/models/BaseLoginModel.js","/*!\n * Copyright (c) 2015-2016, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n\n/* globals JSON */\ndefine([\n 'okta',\n 'q',\n 'util/FidoUtil'\n],\nfunction (Okta, Q, FidoUtil) {\n\n function adaptToOkta (promise) {\n return new Q(promise);\n }\n\n function makeCredential (accountInfo, cryptoParams, challenge) {\n cryptoParams = cryptoParams.map(function (param) {\n return {type: 'FIDO_2_0', algorithm: param.algorithm};\n });\n\n var promise = window.msCredentials.makeCredential(accountInfo, cryptoParams, challenge)\n .then(function (cred) {\n return Object.freeze({\n credential: {id: cred.id},\n publicKey: JSON.parse(cred.publicKey),\n attestation: cred.attestation\n });\n });\n\n return adaptToOkta(promise);\n }\n\n function getAssertion (challenge, allowList) {\n var accept = allowList.map(function (item) {\n return {type: 'FIDO_2_0', id: item.id};\n });\n var filters = {accept: accept};\n\n var promise = window.msCredentials.getAssertion(challenge, filters)\n .then(function (attestation) {\n var signature = attestation.signature;\n return Object.freeze({\n credential: {id: attestation.id},\n clientData: signature.clientData,\n authenticatorData: signature.authnrData,\n signature: signature.signature\n });\n });\n\n return adaptToOkta(promise);\n }\n\n return {\n makeCredential: makeCredential,\n getAssertion: getAssertion,\n isAvailable: function () {\n return window.hasOwnProperty('msCredentials');\n },\n isNewApiAvailable: function () {\n return navigator && navigator.credentials && navigator.credentials.create;\n },\n isWebauthnOrU2fAvailable: function () {\n return this.isNewApiAvailable() || FidoUtil.isU2fAvailable();\n }\n };\n});\n\n\n\n// WEBPACK FOOTER //\n// ./src/util/webauthn.js","/*!\n * Copyright (c) 2015-2016, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n\ndefine(['okta'], function (Okta) {\n\n var fn = {};\n\n // Validate the 'username' field on the model.\n fn.validateUsername = function (model) {\n var username = model.get('username');\n if (username && username.length > 256) {\n return {\n username: Okta.loc('model.validation.field.username', 'login')\n };\n }\n };\n\n // Validate that the field1 and field2 fields on the model are a match.\n fn.validateFieldsMatch = function (model, field1, field2, message) {\n if (model.get(field1) !== model.get(field2)) {\n var ret = {};\n ret[field2] = message;\n return ret;\n }\n };\n\n // Validate that the 'newPassword' and 'confirmPassword' fields on the model are a match.\n fn.validatePasswordMatch = function (model) {\n return fn.validateFieldsMatch(model, 'newPassword', 'confirmPassword', Okta.loc('password.error.match', 'login'));\n };\n\n return fn;\n\n});\n\n\n\n// WEBPACK FOOTER //\n// ./src/util/ValidationUtil.js","import BaseView from '../../internals/BaseView';\nimport BaseHeader from '../../internals/BaseHeader';\nimport HeaderBeaconFactor from '../../components/HeaderBeaconFactor';\n\nexport default BaseView.extend({\n Header: BaseHeader.extend({\n HeaderBeacon: HeaderBeaconFactor,\n })\n});\n\n\n\n// WEBPACK FOOTER //\n// ./src/v2/view-builder/views/shared/BaseFactorView.js","var g;\r\n\r\n// This works in non-strict mode\r\ng = (function() {\r\n\treturn this;\r\n})();\r\n\r\ntry {\r\n\t// This works if eval is allowed (see CSP)\r\n\tg = g || Function(\"return this\")() || (1,eval)(\"this\");\r\n} catch(e) {\r\n\t// This works if the window reference is available\r\n\tif(typeof window === \"object\")\r\n\t\tg = window;\r\n}\r\n\r\n// g can still be undefined, but nothing to do about it...\r\n// We return undefined, instead of nothing here, so it's\r\n// easier to handle this case. if(!global) { ...}\r\n\r\nmodule.exports = g;\r\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// (webpack)/buildin/global.js\n// module id = 100\n// module chunks = 0","// false -> Array#indexOf\n// true -> Array#includes\nvar toIObject = require('./_to-iobject');\nvar toLength = require('./_to-length');\nvar toAbsoluteIndex = require('./_to-absolute-index');\nmodule.exports = function (IS_INCLUDES) {\n return function ($this, el, fromIndex) {\n var O = toIObject($this);\n var length = toLength(O.length);\n var index = toAbsoluteIndex(fromIndex, length);\n var value;\n // Array#includes uses SameValueZero equality algorithm\n // eslint-disable-next-line no-self-compare\n if (IS_INCLUDES && el != el) while (length > index) {\n value = O[index++];\n // eslint-disable-next-line no-self-compare\n if (value != value) return true;\n // Array#indexOf ignores holes, Array#includes - not\n } else for (;length > index; index++) if (IS_INCLUDES || index in O) {\n if (O[index] === el) return IS_INCLUDES || index || 0;\n } return !IS_INCLUDES && -1;\n };\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/_array-includes.js\n// module id = 101\n// module chunks = 0","exports.f = Object.getOwnPropertySymbols;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/_object-gops.js\n// module id = 102\n// module chunks = 0","// 7.2.2 IsArray(argument)\nvar cof = require('./_cof');\nmodule.exports = Array.isArray || function isArray(arg) {\n return cof(arg) == 'Array';\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/_is-array.js\n// module id = 103\n// module chunks = 0","var toInteger = require('./_to-integer');\nvar defined = require('./_defined');\n// true -> String#at\n// false -> String#codePointAt\nmodule.exports = function (TO_STRING) {\n return function (that, pos) {\n var s = String(defined(that));\n var i = toInteger(pos);\n var l = s.length;\n var a, b;\n if (i < 0 || i >= l) return TO_STRING ? '' : undefined;\n a = s.charCodeAt(i);\n return a < 0xd800 || a > 0xdbff || i + 1 === l || (b = s.charCodeAt(i + 1)) < 0xdc00 || b > 0xdfff\n ? TO_STRING ? s.charAt(i) : a\n : TO_STRING ? s.slice(i, i + 2) : (a - 0xd800 << 10) + (b - 0xdc00) + 0x10000;\n };\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/_string-at.js\n// module id = 104\n// module chunks = 0","// 7.2.8 IsRegExp(argument)\nvar isObject = require('./_is-object');\nvar cof = require('./_cof');\nvar MATCH = require('./_wks')('match');\nmodule.exports = function (it) {\n var isRegExp;\n return isObject(it) && ((isRegExp = it[MATCH]) !== undefined ? !!isRegExp : cof(it) == 'RegExp');\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/_is-regexp.js\n// module id = 105\n// module chunks = 0","var ITERATOR = require('./_wks')('iterator');\nvar SAFE_CLOSING = false;\n\ntry {\n var riter = [7][ITERATOR]();\n riter['return'] = function () { SAFE_CLOSING = true; };\n // eslint-disable-next-line no-throw-literal\n Array.from(riter, function () { throw 2; });\n} catch (e) { /* empty */ }\n\nmodule.exports = function (exec, skipClosing) {\n if (!skipClosing && !SAFE_CLOSING) return false;\n var safe = false;\n try {\n var arr = [7];\n var iter = arr[ITERATOR]();\n iter.next = function () { return { done: safe = true }; };\n arr[ITERATOR] = function () { return iter; };\n exec(arr);\n } catch (e) { /* empty */ }\n return safe;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/_iter-detect.js\n// module id = 106\n// module chunks = 0","'use strict';\n\nvar classof = require('./_classof');\nvar builtinExec = RegExp.prototype.exec;\n\n // `RegExpExec` abstract operation\n// https://tc39.github.io/ecma262/#sec-regexpexec\nmodule.exports = function (R, S) {\n var exec = R.exec;\n if (typeof exec === 'function') {\n var result = exec.call(R, S);\n if (typeof result !== 'object') {\n throw new TypeError('RegExp exec method returned something other than an Object or null');\n }\n return result;\n }\n if (classof(R) !== 'RegExp') {\n throw new TypeError('RegExp#exec called on incompatible receiver');\n }\n return builtinExec.call(R, S);\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/_regexp-exec-abstract.js\n// module id = 107\n// module chunks = 0","'use strict';\nrequire('./es6.regexp.exec');\nvar redefine = require('./_redefine');\nvar hide = require('./_hide');\nvar fails = require('./_fails');\nvar defined = require('./_defined');\nvar wks = require('./_wks');\nvar regexpExec = require('./_regexp-exec');\n\nvar SPECIES = wks('species');\n\nvar REPLACE_SUPPORTS_NAMED_GROUPS = !fails(function () {\n // #replace needs built-in support for named groups.\n // #match works fine because it just return the exec results, even if it has\n // a \"grops\" property.\n var re = /./;\n re.exec = function () {\n var result = [];\n result.groups = { a: '7' };\n return result;\n };\n return ''.replace(re, '$<a>') !== '7';\n});\n\nvar SPLIT_WORKS_WITH_OVERWRITTEN_EXEC = (function () {\n // Chrome 51 has a buggy \"split\" implementation when RegExp#exec !== nativeExec\n var re = /(?:)/;\n var originalExec = re.exec;\n re.exec = function () { return originalExec.apply(this, arguments); };\n var result = 'ab'.split(re);\n return result.length === 2 && result[0] === 'a' && result[1] === 'b';\n})();\n\nmodule.exports = function (KEY, length, exec) {\n var SYMBOL = wks(KEY);\n\n var DELEGATES_TO_SYMBOL = !fails(function () {\n // String methods call symbol-named RegEp methods\n var O = {};\n O[SYMBOL] = function () { return 7; };\n return ''[KEY](O) != 7;\n });\n\n var DELEGATES_TO_EXEC = DELEGATES_TO_SYMBOL ? !fails(function () {\n // Symbol-named RegExp methods call .exec\n var execCalled = false;\n var re = /a/;\n re.exec = function () { execCalled = true; return null; };\n if (KEY === 'split') {\n // RegExp[@@split] doesn't call the regex's exec method, but first creates\n // a new one. We need to return the patched regex when creating the new one.\n re.constructor = {};\n re.constructor[SPECIES] = function () { return re; };\n }\n re[SYMBOL]('');\n return !execCalled;\n }) : undefined;\n\n if (\n !DELEGATES_TO_SYMBOL ||\n !DELEGATES_TO_EXEC ||\n (KEY === 'replace' && !REPLACE_SUPPORTS_NAMED_GROUPS) ||\n (KEY === 'split' && !SPLIT_WORKS_WITH_OVERWRITTEN_EXEC)\n ) {\n var nativeRegExpMethod = /./[SYMBOL];\n var fns = exec(\n defined,\n SYMBOL,\n ''[KEY],\n function maybeCallNative(nativeMethod, regexp, str, arg2, forceStringMethod) {\n if (regexp.exec === regexpExec) {\n if (DELEGATES_TO_SYMBOL && !forceStringMethod) {\n // The native String method already delegates to @@method (this\n // polyfilled function), leasing to infinite recursion.\n // We avoid it by directly calling the native @@method method.\n return { done: true, value: nativeRegExpMethod.call(regexp, str, arg2) };\n }\n return { done: true, value: nativeMethod.call(str, regexp, arg2) };\n }\n return { done: false };\n }\n );\n var strfn = fns[0];\n var rxfn = fns[1];\n\n redefine(String.prototype, KEY, strfn);\n hide(RegExp.prototype, SYMBOL, length == 2\n // 21.2.5.8 RegExp.prototype[@@replace](string, replaceValue)\n // 21.2.5.11 RegExp.prototype[@@split](string, limit)\n ? function (string, arg) { return rxfn.call(string, this, arg); }\n // 21.2.5.6 RegExp.prototype[@@match](string)\n // 21.2.5.9 RegExp.prototype[@@search](string)\n : function (string) { return rxfn.call(string, this); }\n );\n }\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/_fix-re-wks.js\n// module id = 108\n// module chunks = 0","var global = require('./_global');\nvar navigator = global.navigator;\n\nmodule.exports = navigator && navigator.userAgent || '';\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/_user-agent.js\n// module id = 109\n// module chunks = 0","'use strict';\nvar global = require('./_global');\nvar $export = require('./_export');\nvar redefine = require('./_redefine');\nvar redefineAll = require('./_redefine-all');\nvar meta = require('./_meta');\nvar forOf = require('./_for-of');\nvar anInstance = require('./_an-instance');\nvar isObject = require('./_is-object');\nvar fails = require('./_fails');\nvar $iterDetect = require('./_iter-detect');\nvar setToStringTag = require('./_set-to-string-tag');\nvar inheritIfRequired = require('./_inherit-if-required');\n\nmodule.exports = function (NAME, wrapper, methods, common, IS_MAP, IS_WEAK) {\n var Base = global[NAME];\n var C = Base;\n var ADDER = IS_MAP ? 'set' : 'add';\n var proto = C && C.prototype;\n var O = {};\n var fixMethod = function (KEY) {\n var fn = proto[KEY];\n redefine(proto, KEY,\n KEY == 'delete' ? function (a) {\n return IS_WEAK && !isObject(a) ? false : fn.call(this, a === 0 ? 0 : a);\n } : KEY == 'has' ? function has(a) {\n return IS_WEAK && !isObject(a) ? false : fn.call(this, a === 0 ? 0 : a);\n } : KEY == 'get' ? function get(a) {\n return IS_WEAK && !isObject(a) ? undefined : fn.call(this, a === 0 ? 0 : a);\n } : KEY == 'add' ? function add(a) { fn.call(this, a === 0 ? 0 : a); return this; }\n : function set(a, b) { fn.call(this, a === 0 ? 0 : a, b); return this; }\n );\n };\n if (typeof C != 'function' || !(IS_WEAK || proto.forEach && !fails(function () {\n new C().entries().next();\n }))) {\n // create collection constructor\n C = common.getConstructor(wrapper, NAME, IS_MAP, ADDER);\n redefineAll(C.prototype, methods);\n meta.NEED = true;\n } else {\n var instance = new C();\n // early implementations not supports chaining\n var HASNT_CHAINING = instance[ADDER](IS_WEAK ? {} : -0, 1) != instance;\n // V8 ~ Chromium 40- weak-collections throws on primitives, but should return false\n var THROWS_ON_PRIMITIVES = fails(function () { instance.has(1); });\n // most early implementations doesn't supports iterables, most modern - not close it correctly\n var ACCEPT_ITERABLES = $iterDetect(function (iter) { new C(iter); }); // eslint-disable-line no-new\n // for early implementations -0 and +0 not the same\n var BUGGY_ZERO = !IS_WEAK && fails(function () {\n // V8 ~ Chromium 42- fails only with 5+ elements\n var $instance = new C();\n var index = 5;\n while (index--) $instance[ADDER](index, index);\n return !$instance.has(-0);\n });\n if (!ACCEPT_ITERABLES) {\n C = wrapper(function (target, iterable) {\n anInstance(target, C, NAME);\n var that = inheritIfRequired(new Base(), target, C);\n if (iterable != undefined) forOf(iterable, IS_MAP, that[ADDER], that);\n return that;\n });\n C.prototype = proto;\n proto.constructor = C;\n }\n if (THROWS_ON_PRIMITIVES || BUGGY_ZERO) {\n fixMethod('delete');\n fixMethod('has');\n IS_MAP && fixMethod('get');\n }\n if (BUGGY_ZERO || HASNT_CHAINING) fixMethod(ADDER);\n // weak collections should not contains .clear method\n if (IS_WEAK && proto.clear) delete proto.clear;\n }\n\n setToStringTag(C, NAME);\n\n O[NAME] = C;\n $export($export.G + $export.W + $export.F * (C != Base), O);\n\n if (!IS_WEAK) common.setStrong(C, NAME, IS_MAP);\n\n return C;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/_collection.js\n// module id = 110\n// module chunks = 0","var global = require('./_global');\nvar hide = require('./_hide');\nvar uid = require('./_uid');\nvar TYPED = uid('typed_array');\nvar VIEW = uid('view');\nvar ABV = !!(global.ArrayBuffer && global.DataView);\nvar CONSTR = ABV;\nvar i = 0;\nvar l = 9;\nvar Typed;\n\nvar TypedArrayConstructors = (\n 'Int8Array,Uint8Array,Uint8ClampedArray,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array'\n).split(',');\n\nwhile (i < l) {\n if (Typed = global[TypedArrayConstructors[i++]]) {\n hide(Typed.prototype, TYPED, true);\n hide(Typed.prototype, VIEW, true);\n } else CONSTR = false;\n}\n\nmodule.exports = {\n ABV: ABV,\n CONSTR: CONSTR,\n TYPED: TYPED,\n VIEW: VIEW\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/_typed.js\n// module id = 111\n// module chunks = 0","'use strict';\n// Forced replacement prototype accessors methods\nmodule.exports = require('./_library') || !require('./_fails')(function () {\n var K = Math.random();\n // In FF throws only define methods\n // eslint-disable-next-line no-undef, no-useless-call\n __defineSetter__.call(null, K, function () { /* empty */ });\n delete require('./_global')[K];\n});\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/_object-forced-pam.js\n// module id = 112\n// module chunks = 0","'use strict';\n// https://tc39.github.io/proposal-setmap-offrom/\nvar $export = require('./_export');\n\nmodule.exports = function (COLLECTION) {\n $export($export.S, COLLECTION, { of: function of() {\n var length = arguments.length;\n var A = new Array(length);\n while (length--) A[length] = arguments[length];\n return new this(A);\n } });\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/_set-collection-of.js\n// module id = 113\n// module chunks = 0","'use strict';\n// https://tc39.github.io/proposal-setmap-offrom/\nvar $export = require('./_export');\nvar aFunction = require('./_a-function');\nvar ctx = require('./_ctx');\nvar forOf = require('./_for-of');\n\nmodule.exports = function (COLLECTION) {\n $export($export.S, COLLECTION, { from: function from(source /* , mapFn, thisArg */) {\n var mapFn = arguments[1];\n var mapping, A, n, cb;\n aFunction(this);\n mapping = mapFn !== undefined;\n if (mapping) aFunction(mapFn);\n if (source == undefined) return new this();\n A = [];\n if (mapping) {\n n = 0;\n cb = ctx(mapFn, arguments[2], 2);\n forOf(source, false, function (nextItem) {\n A.push(cb(nextItem, n++));\n });\n } else {\n forOf(source, false, A.push, A);\n }\n return new this(A);\n } });\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/_set-collection-from.js\n// module id = 114\n// module chunks = 0","module.exports = function (it) {\n if (typeof it != 'function') throw TypeError(it + ' is not a function!');\n return it;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_a-function.js\n// module id = 115\n// module chunks = 0","var id = 0;\nvar px = Math.random();\nmodule.exports = function (key) {\n return 'Symbol('.concat(key === undefined ? '' : key, ')_', (++id + px).toString(36));\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_uid.js\n// module id = 116\n// module chunks = 0","var def = require('./_object-dp').f;\nvar has = require('./_has');\nvar TAG = require('./_wks')('toStringTag');\n\nmodule.exports = function (it, tag, stat) {\n if (it && !has(it = stat ? it : it.prototype, TAG)) def(it, TAG, { configurable: true, value: tag });\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_set-to-string-tag.js\n// module id = 117\n// module chunks = 0","require('./es6.array.iterator');\nvar global = require('./_global');\nvar hide = require('./_hide');\nvar Iterators = require('./_iterators');\nvar TO_STRING_TAG = require('./_wks')('toStringTag');\n\nvar DOMIterables = ('CSSRuleList,CSSStyleDeclaration,CSSValueList,ClientRectList,DOMRectList,DOMStringList,' +\n 'DOMTokenList,DataTransferItemList,FileList,HTMLAllCollection,HTMLCollection,HTMLFormElement,HTMLSelectElement,' +\n 'MediaList,MimeTypeArray,NamedNodeMap,NodeList,PaintRequestList,Plugin,PluginArray,SVGLengthList,SVGNumberList,' +\n 'SVGPathSegList,SVGPointList,SVGStringList,SVGTransformList,SourceBufferList,StyleSheetList,TextTrackCueList,' +\n 'TextTrackList,TouchList').split(',');\n\nfor (var i = 0; i < DOMIterables.length; i++) {\n var NAME = DOMIterables[i];\n var Collection = global[NAME];\n var proto = Collection && Collection.prototype;\n if (proto && !proto[TO_STRING_TAG]) hide(proto, TO_STRING_TAG, NAME);\n Iterators[NAME] = Iterators.Array;\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/web.dom.iterable.js\n// module id = 118\n// module chunks = 0","exports.f = require('./_wks');\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_wks-ext.js\n// module id = 119\n// module chunks = 0","/*!\n * jQuery JavaScript Library v1.12.4\n * http://jquery.com/\n *\n * Includes Sizzle.js\n * http://sizzlejs.com/\n *\n * Copyright jQuery Foundation and other contributors\n * Released under the MIT license\n * http://jquery.org/license\n *\n * Date: 2017-10-25T15:48Z\n */\n\n(function( global, factory ) {\n\n\tif ( typeof module === \"object\" && typeof module.exports === \"object\" ) {\n\t\t// For CommonJS and CommonJS-like environments where a proper `window`\n\t\t// is present, execute the factory and get jQuery.\n\t\t// For environments that do not have a `window` with a `document`\n\t\t// (such as Node.js), expose a factory as module.exports.\n\t\t// This accentuates the need for the creation of a real `window`.\n\t\t// e.g. var jQuery = require(\"jquery\")(window);\n\t\t// See ticket #14549 for more info.\n\t\tmodule.exports = global.document ?\n\t\t\tfactory( global, true ) :\n\t\t\tfunction( w ) {\n\t\t\t\tif ( !w.document ) {\n\t\t\t\t\tthrow new Error( \"jQuery requires a window with a document\" );\n\t\t\t\t}\n\t\t\t\treturn factory( w );\n\t\t\t};\n\t} else {\n\t\tfactory( global );\n\t}\n\n// Pass this if window is not defined yet\n}(typeof window !== \"undefined\" ? window : this, function( window, noGlobal ) {\n\n// Support: Firefox 18+\n// Can't be in strict mode, several libs including ASP.NET trace\n// the stack via arguments.caller.callee and Firefox dies if\n// you try to trace through \"use strict\" call chains. (#13335)\n//\"use strict\";\nvar deletedIds = [];\n\nvar document = window.document;\n\nvar slice = deletedIds.slice;\n\nvar concat = deletedIds.concat;\n\nvar push = deletedIds.push;\n\nvar indexOf = deletedIds.indexOf;\n\nvar class2type = {};\n\nvar toString = class2type.toString;\n\nvar hasOwn = class2type.hasOwnProperty;\n\nvar support = {};\n\n\n\nvar\n\tversion = \"1.12.4\",\n\n\t// Define a local copy of jQuery\n\tjQuery = function( selector, context ) {\n\n\t\t// The jQuery object is actually just the init constructor 'enhanced'\n\t\t// Need init if jQuery is called (just allow error to be thrown if not included)\n\t\treturn new jQuery.fn.init( selector, context );\n\t},\n\n\t// Support: Android<4.1, IE<9\n\t// Make sure we trim BOM and NBSP\n\trtrim = /^[\\s\\uFEFF\\xA0]+|[\\s\\uFEFF\\xA0]+$/g,\n\n\t// Matches dashed string for camelizing\n\trmsPrefix = /^-ms-/,\n\trdashAlpha = /-([\\da-z])/gi,\n\n\t// Used by jQuery.camelCase as callback to replace()\n\tfcamelCase = function( all, letter ) {\n\t\treturn letter.toUpperCase();\n\t};\n\njQuery.fn = jQuery.prototype = {\n\n\t// The current version of jQuery being used\n\tjquery: version,\n\n\tconstructor: jQuery,\n\n\t// Start with an empty selector\n\tselector: \"\",\n\n\t// The default length of a jQuery object is 0\n\tlength: 0,\n\n\ttoArray: function() {\n\t\treturn slice.call( this );\n\t},\n\n\t// Get the Nth element in the matched element set OR\n\t// Get the whole matched element set as a clean array\n\tget: function( num ) {\n\t\treturn num != null ?\n\n\t\t\t// Return just the one element from the set\n\t\t\t( num < 0 ? this[ num + this.length ] : this[ num ] ) :\n\n\t\t\t// Return all the elements in a clean array\n\t\t\tslice.call( this );\n\t},\n\n\t// Take an array of elements and push it onto the stack\n\t// (returning the new matched element set)\n\tpushStack: function( elems ) {\n\n\t\t// Build a new jQuery matched element set\n\t\tvar ret = jQuery.merge( this.constructor(), elems );\n\n\t\t// Add the old object onto the stack (as a reference)\n\t\tret.prevObject = this;\n\t\tret.context = this.context;\n\n\t\t// Return the newly-formed element set\n\t\treturn ret;\n\t},\n\n\t// Execute a callback for every element in the matched set.\n\teach: function( callback ) {\n\t\treturn jQuery.each( this, callback );\n\t},\n\n\tmap: function( callback ) {\n\t\treturn this.pushStack( jQuery.map( this, function( elem, i ) {\n\t\t\treturn callback.call( elem, i, elem );\n\t\t} ) );\n\t},\n\n\tslice: function() {\n\t\treturn this.pushStack( slice.apply( this, arguments ) );\n\t},\n\n\tfirst: function() {\n\t\treturn this.eq( 0 );\n\t},\n\n\tlast: function() {\n\t\treturn this.eq( -1 );\n\t},\n\n\teq: function( i ) {\n\t\tvar len = this.length,\n\t\t\tj = +i + ( i < 0 ? len : 0 );\n\t\treturn this.pushStack( j >= 0 && j < len ? [ this[ j ] ] : [] );\n\t},\n\n\tend: function() {\n\t\treturn this.prevObject || this.constructor();\n\t},\n\n\t// For internal use only.\n\t// Behaves like an Array's method, not like a jQuery method.\n\tpush: push,\n\tsort: deletedIds.sort,\n\tsplice: deletedIds.splice\n};\n\njQuery.extend = jQuery.fn.extend = function() {\n\tvar src, copyIsArray, copy, name, options, clone,\n\t\ttarget = arguments[ 0 ] || {},\n\t\ti = 1,\n\t\tlength = arguments.length,\n\t\tdeep = false;\n\n\t// Handle a deep copy situation\n\tif ( typeof target === \"boolean\" ) {\n\t\tdeep = target;\n\n\t\t// skip the boolean and the target\n\t\ttarget = arguments[ i ] || {};\n\t\ti++;\n\t}\n\n\t// Handle case when target is a string or something (possible in deep copy)\n\tif ( typeof target !== \"object\" && !jQuery.isFunction( target ) ) {\n\t\ttarget = {};\n\t}\n\n\t// extend jQuery itself if only one argument is passed\n\tif ( i === length ) {\n\t\ttarget = this;\n\t\ti--;\n\t}\n\n\tfor ( ; i < length; i++ ) {\n\n\t\t// Only deal with non-null/undefined values\n\t\tif ( ( options = arguments[ i ] ) != null ) {\n\n\t\t\t// Extend the base object\n\t\t\tfor ( name in options ) {\n\t\t\t\tsrc = target[ name ];\n\t\t\t\tcopy = options[ name ];\n\n\t\t\t\t// Prevent never-ending loop\n\t\t\t\t// Prevent Object.prototype pollution to avoid CVE-2019-11358 vulnerability\n\t\t\t\t// https://oktainc.atlassian.net/browse/OKTA-277796\n\t\t\t\tif ( name === \"__proto__\" || target === copy ) {\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\n\t\t\t\t// Recurse if we're merging plain objects or arrays\n\t\t\t\tif ( deep && copy && ( jQuery.isPlainObject( copy ) ||\n\t\t\t\t\t( copyIsArray = jQuery.isArray( copy ) ) ) ) {\n\n\t\t\t\t\tif ( copyIsArray ) {\n\t\t\t\t\t\tcopyIsArray = false;\n\t\t\t\t\t\tclone = src && jQuery.isArray( src ) ? src : [];\n\n\t\t\t\t\t} else {\n\t\t\t\t\t\tclone = src && jQuery.isPlainObject( src ) ? src : {};\n\t\t\t\t\t}\n\n\t\t\t\t\t// Never move original objects, clone them\n\t\t\t\t\ttarget[ name ] = jQuery.extend( deep, clone, copy );\n\n\t\t\t\t// Don't bring in undefined values\n\t\t\t\t} else if ( copy !== undefined ) {\n\t\t\t\t\ttarget[ name ] = copy;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\t// Return the modified object\n\treturn target;\n};\n\njQuery.extend( {\n\n\t// Unique for each copy of jQuery on the page\n\texpando: \"jQuery\" + ( version + Math.random() ).replace( /\\D/g, \"\" ),\n\n\t// Assume jQuery is ready without the ready module\n\tisReady: true,\n\n\terror: function( msg ) {\n\t\tthrow new Error( msg );\n\t},\n\n\tnoop: function() {},\n\n\t// See test/unit/core.js for details concerning isFunction.\n\t// Since version 1.3, DOM methods and functions like alert\n\t// aren't supported. They return false on IE (#2968).\n\tisFunction: function( obj ) {\n\t\treturn jQuery.type( obj ) === \"function\";\n\t},\n\n\tisArray: Array.isArray || function( obj ) {\n\t\treturn jQuery.type( obj ) === \"array\";\n\t},\n\n\tisWindow: function( obj ) {\n\t\t/* jshint eqeqeq: false */\n\t\treturn obj != null && obj == obj.window;\n\t},\n\n\tisNumeric: function( obj ) {\n\n\t\t// parseFloat NaNs numeric-cast false positives (null|true|false|\"\")\n\t\t// ...but misinterprets leading-number strings, particularly hex literals (\"0x...\")\n\t\t// subtraction forces infinities to NaN\n\t\t// adding 1 corrects loss of precision from parseFloat (#15100)\n\t\tvar realStringObj = obj && obj.toString();\n\t\treturn !jQuery.isArray( obj ) && ( realStringObj - parseFloat( realStringObj ) + 1 ) >= 0;\n\t},\n\n\tisEmptyObject: function( obj ) {\n\t\tvar name;\n\t\tfor ( name in obj ) {\n\t\t\treturn false;\n\t\t}\n\t\treturn true;\n\t},\n\n\tisPlainObject: function( obj ) {\n\t\tvar key;\n\n\t\t// Must be an Object.\n\t\t// Because of IE, we also have to check the presence of the constructor property.\n\t\t// Make sure that DOM nodes and window objects don't pass through, as well\n\t\tif ( !obj || jQuery.type( obj ) !== \"object\" || obj.nodeType || jQuery.isWindow( obj ) ) {\n\t\t\treturn false;\n\t\t}\n\n\t\ttry {\n\n\t\t\t// Not own constructor property must be Object\n\t\t\tif ( obj.constructor &&\n\t\t\t\t!hasOwn.call( obj, \"constructor\" ) &&\n\t\t\t\t!hasOwn.call( obj.constructor.prototype, \"isPrototypeOf\" ) ) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t} catch ( e ) {\n\n\t\t\t// IE8,9 Will throw exceptions on certain host objects #9897\n\t\t\treturn false;\n\t\t}\n\n\t\t// Support: IE<9\n\t\t// Handle iteration over inherited properties before own properties.\n\t\tif ( !support.ownFirst ) {\n\t\t\tfor ( key in obj ) {\n\t\t\t\treturn hasOwn.call( obj, key );\n\t\t\t}\n\t\t}\n\n\t\t// Own properties are enumerated firstly, so to speed up,\n\t\t// if last one is own, then all properties are own.\n\t\tfor ( key in obj ) {}\n\n\t\treturn key === undefined || hasOwn.call( obj, key );\n\t},\n\n\ttype: function( obj ) {\n\t\tif ( obj == null ) {\n\t\t\treturn obj + \"\";\n\t\t}\n\t\treturn typeof obj === \"object\" || typeof obj === \"function\" ?\n\t\t\tclass2type[ toString.call( obj ) ] || \"object\" :\n\t\t\ttypeof obj;\n\t},\n\n\t// Workarounds based on findings by Jim Driscoll\n\t// http://weblogs.java.net/blog/driscoll/archive/2009/09/08/eval-javascript-global-context\n\tglobalEval: function( data ) {\n\t\tif ( data && jQuery.trim( data ) ) {\n\n\t\t\t// We use execScript on Internet Explorer\n\t\t\t// We use an anonymous function so that context is window\n\t\t\t// rather than jQuery in Firefox\n\t\t\t( window.execScript || function( data ) {\n\t\t\t\twindow[ \"eval\" ].call( window, data ); // jscs:ignore requireDotNotation\n\t\t\t} )( data );\n\t\t}\n\t},\n\n\t// Convert dashed to camelCase; used by the css and data modules\n\t// Microsoft forgot to hump their vendor prefix (#9572)\n\tcamelCase: function( string ) {\n\t\treturn string.replace( rmsPrefix, \"ms-\" ).replace( rdashAlpha, fcamelCase );\n\t},\n\n\tnodeName: function( elem, name ) {\n\t\treturn elem.nodeName && elem.nodeName.toLowerCase() === name.toLowerCase();\n\t},\n\n\teach: function( obj, callback ) {\n\t\tvar length, i = 0;\n\n\t\tif ( isArrayLike( obj ) ) {\n\t\t\tlength = obj.length;\n\t\t\tfor ( ; i < length; i++ ) {\n\t\t\t\tif ( callback.call( obj[ i ], i, obj[ i ] ) === false ) {\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t}\n\t\t} else {\n\t\t\tfor ( i in obj ) {\n\t\t\t\tif ( callback.call( obj[ i ], i, obj[ i ] ) === false ) {\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn obj;\n\t},\n\n\t// Support: Android<4.1, IE<9\n\ttrim: function( text ) {\n\t\treturn text == null ?\n\t\t\t\"\" :\n\t\t\t( text + \"\" ).replace( rtrim, \"\" );\n\t},\n\n\t// results is for internal usage only\n\tmakeArray: function( arr, results ) {\n\t\tvar ret = results || [];\n\n\t\tif ( arr != null ) {\n\t\t\tif ( isArrayLike( Object( arr ) ) ) {\n\t\t\t\tjQuery.merge( ret,\n\t\t\t\t\ttypeof arr === \"string\" ?\n\t\t\t\t\t[ arr ] : arr\n\t\t\t\t);\n\t\t\t} else {\n\t\t\t\tpush.call( ret, arr );\n\t\t\t}\n\t\t}\n\n\t\treturn ret;\n\t},\n\n\tinArray: function( elem, arr, i ) {\n\t\tvar len;\n\n\t\tif ( arr ) {\n\t\t\tif ( indexOf ) {\n\t\t\t\treturn indexOf.call( arr, elem, i );\n\t\t\t}\n\n\t\t\tlen = arr.length;\n\t\t\ti = i ? i < 0 ? Math.max( 0, len + i ) : i : 0;\n\n\t\t\tfor ( ; i < len; i++ ) {\n\n\t\t\t\t// Skip accessing in sparse arrays\n\t\t\t\tif ( i in arr && arr[ i ] === elem ) {\n\t\t\t\t\treturn i;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn -1;\n\t},\n\n\tmerge: function( first, second ) {\n\t\tvar len = +second.length,\n\t\t\tj = 0,\n\t\t\ti = first.length;\n\n\t\twhile ( j < len ) {\n\t\t\tfirst[ i++ ] = second[ j++ ];\n\t\t}\n\n\t\t// Support: IE<9\n\t\t// Workaround casting of .length to NaN on otherwise arraylike objects (e.g., NodeLists)\n\t\tif ( len !== len ) {\n\t\t\twhile ( second[ j ] !== undefined ) {\n\t\t\t\tfirst[ i++ ] = second[ j++ ];\n\t\t\t}\n\t\t}\n\n\t\tfirst.length = i;\n\n\t\treturn first;\n\t},\n\n\tgrep: function( elems, callback, invert ) {\n\t\tvar callbackInverse,\n\t\t\tmatches = [],\n\t\t\ti = 0,\n\t\t\tlength = elems.length,\n\t\t\tcallbackExpect = !invert;\n\n\t\t// Go through the array, only saving the items\n\t\t// that pass the validator function\n\t\tfor ( ; i < length; i++ ) {\n\t\t\tcallbackInverse = !callback( elems[ i ], i );\n\t\t\tif ( callbackInverse !== callbackExpect ) {\n\t\t\t\tmatches.push( elems[ i ] );\n\t\t\t}\n\t\t}\n\n\t\treturn matches;\n\t},\n\n\t// arg is for internal usage only\n\tmap: function( elems, callback, arg ) {\n\t\tvar length, value,\n\t\t\ti = 0,\n\t\t\tret = [];\n\n\t\t// Go through the array, translating each of the items to their new values\n\t\tif ( isArrayLike( elems ) ) {\n\t\t\tlength = elems.length;\n\t\t\tfor ( ; i < length; i++ ) {\n\t\t\t\tvalue = callback( elems[ i ], i, arg );\n\n\t\t\t\tif ( value != null ) {\n\t\t\t\t\tret.push( value );\n\t\t\t\t}\n\t\t\t}\n\n\t\t// Go through every key on the object,\n\t\t} else {\n\t\t\tfor ( i in elems ) {\n\t\t\t\tvalue = callback( elems[ i ], i, arg );\n\n\t\t\t\tif ( value != null ) {\n\t\t\t\t\tret.push( value );\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t// Flatten any nested arrays\n\t\treturn concat.apply( [], ret );\n\t},\n\n\t// A global GUID counter for objects\n\tguid: 1,\n\n\t// Bind a function to a context, optionally partially applying any\n\t// arguments.\n\tproxy: function( fn, context ) {\n\t\tvar args, proxy, tmp;\n\n\t\tif ( typeof context === \"string\" ) {\n\t\t\ttmp = fn[ context ];\n\t\t\tcontext = fn;\n\t\t\tfn = tmp;\n\t\t}\n\n\t\t// Quick check to determine if target is callable, in the spec\n\t\t// this throws a TypeError, but we will just return undefined.\n\t\tif ( !jQuery.isFunction( fn ) ) {\n\t\t\treturn undefined;\n\t\t}\n\n\t\t// Simulated bind\n\t\targs = slice.call( arguments, 2 );\n\t\tproxy = function() {\n\t\t\treturn fn.apply( context || this, args.concat( slice.call( arguments ) ) );\n\t\t};\n\n\t\t// Set the guid of unique handler to the same of original handler, so it can be removed\n\t\tproxy.guid = fn.guid = fn.guid || jQuery.guid++;\n\n\t\treturn proxy;\n\t},\n\n\tnow: function() {\n\t\treturn +( new Date() );\n\t},\n\n\t// jQuery.support is not used in Core but other projects attach their\n\t// properties to it so it needs to exist.\n\tsupport: support\n} );\n\n// JSHint would error on this code due to the Symbol not being defined in ES5.\n// Defining this global in .jshintrc would create a danger of using the global\n// unguarded in another place, it seems safer to just disable JSHint for these\n// three lines.\n/* jshint ignore: start */\nif ( typeof Symbol === \"function\" ) {\n\tjQuery.fn[ Symbol.iterator ] = deletedIds[ Symbol.iterator ];\n}\n/* jshint ignore: end */\n\n// Populate the class2type map\njQuery.each( \"Boolean Number String Function Array Date RegExp Object Error Symbol\".split( \" \" ),\nfunction( i, name ) {\n\tclass2type[ \"[object \" + name + \"]\" ] = name.toLowerCase();\n} );\n\nfunction isArrayLike( obj ) {\n\n\t// Support: iOS 8.2 (not reproducible in simulator)\n\t// `in` check used to prevent JIT error (gh-2145)\n\t// hasOwn isn't used here due to false negatives\n\t// regarding Nodelist length in IE\n\tvar length = !!obj && \"length\" in obj && obj.length,\n\t\ttype = jQuery.type( obj );\n\n\tif ( type === \"function\" || jQuery.isWindow( obj ) ) {\n\t\treturn false;\n\t}\n\n\treturn type === \"array\" || length === 0 ||\n\t\ttypeof length === \"number\" && length > 0 && ( length - 1 ) in obj;\n}\nvar Sizzle =\n/*!\n * Sizzle CSS Selector Engine v2.2.1\n * http://sizzlejs.com/\n *\n * Copyright jQuery Foundation and other contributors\n * Released under the MIT license\n * http://jquery.org/license\n *\n * Date: 2015-10-17\n */\n(function( window ) {\n\nvar i,\n\tsupport,\n\tExpr,\n\tgetText,\n\tisXML,\n\ttokenize,\n\tcompile,\n\tselect,\n\toutermostContext,\n\tsortInput,\n\thasDuplicate,\n\n\t// Local document vars\n\tsetDocument,\n\tdocument,\n\tdocElem,\n\tdocumentIsHTML,\n\trbuggyQSA,\n\trbuggyMatches,\n\tmatches,\n\tcontains,\n\n\t// Instance-specific data\n\texpando = \"sizzle\" + 1 * new Date(),\n\tpreferredDoc = window.document,\n\tdirruns = 0,\n\tdone = 0,\n\tclassCache = createCache(),\n\ttokenCache = createCache(),\n\tcompilerCache = createCache(),\n\tsortOrder = function( a, b ) {\n\t\tif ( a === b ) {\n\t\t\thasDuplicate = true;\n\t\t}\n\t\treturn 0;\n\t},\n\n\t// General-purpose constants\n\tMAX_NEGATIVE = 1 << 31,\n\n\t// Instance methods\n\thasOwn = ({}).hasOwnProperty,\n\tarr = [],\n\tpop = arr.pop,\n\tpush_native = arr.push,\n\tpush = arr.push,\n\tslice = arr.slice,\n\t// Use a stripped-down indexOf as it's faster than native\n\t// http://jsperf.com/thor-indexof-vs-for/5\n\tindexOf = function( list, elem ) {\n\t\tvar i = 0,\n\t\t\tlen = list.length;\n\t\tfor ( ; i < len; i++ ) {\n\t\t\tif ( list[i] === elem ) {\n\t\t\t\treturn i;\n\t\t\t}\n\t\t}\n\t\treturn -1;\n\t},\n\n\tbooleans = \"checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped\",\n\n\t// Regular expressions\n\n\t// http://www.w3.org/TR/css3-selectors/#whitespace\n\twhitespace = \"[\\\\x20\\\\t\\\\r\\\\n\\\\f]\",\n\n\t// http://www.w3.org/TR/CSS21/syndata.html#value-def-identifier\n\tidentifier = \"(?:\\\\\\\\.|[\\\\w-]|[^\\\\x00-\\\\xa0])+\",\n\n\t// Attribute selectors: http://www.w3.org/TR/selectors/#attribute-selectors\n\tattributes = \"\\\\[\" + whitespace + \"*(\" + identifier + \")(?:\" + whitespace +\n\t\t// Operator (capture 2)\n\t\t\"*([*^$|!~]?=)\" + whitespace +\n\t\t// \"Attribute values must be CSS identifiers [capture 5] or strings [capture 3 or capture 4]\"\n\t\t\"*(?:'((?:\\\\\\\\.|[^\\\\\\\\'])*)'|\\\"((?:\\\\\\\\.|[^\\\\\\\\\\\"])*)\\\"|(\" + identifier + \"))|)\" + whitespace +\n\t\t\"*\\\\]\",\n\n\tpseudos = \":(\" + identifier + \")(?:\\\\((\" +\n\t\t// To reduce the number of selectors needing tokenize in the preFilter, prefer arguments:\n\t\t// 1. quoted (capture 3; capture 4 or capture 5)\n\t\t\"('((?:\\\\\\\\.|[^\\\\\\\\'])*)'|\\\"((?:\\\\\\\\.|[^\\\\\\\\\\\"])*)\\\")|\" +\n\t\t// 2. simple (capture 6)\n\t\t\"((?:\\\\\\\\.|[^\\\\\\\\()[\\\\]]|\" + attributes + \")*)|\" +\n\t\t// 3. anything else (capture 2)\n\t\t\".*\" +\n\t\t\")\\\\)|)\",\n\n\t// Leading and non-escaped trailing whitespace, capturing some non-whitespace characters preceding the latter\n\trwhitespace = new RegExp( whitespace + \"+\", \"g\" ),\n\trtrim = new RegExp( \"^\" + whitespace + \"+|((?:^|[^\\\\\\\\])(?:\\\\\\\\.)*)\" + whitespace + \"+$\", \"g\" ),\n\n\trcomma = new RegExp( \"^\" + whitespace + \"*,\" + whitespace + \"*\" ),\n\trcombinators = new RegExp( \"^\" + whitespace + \"*([>+~]|\" + whitespace + \")\" + whitespace + \"*\" ),\n\n\trattributeQuotes = new RegExp( \"=\" + whitespace + \"*([^\\\\]'\\\"]*?)\" + whitespace + \"*\\\\]\", \"g\" ),\n\n\trpseudo = new RegExp( pseudos ),\n\tridentifier = new RegExp( \"^\" + identifier + \"$\" ),\n\n\tmatchExpr = {\n\t\t\"ID\": new RegExp( \"^#(\" + identifier + \")\" ),\n\t\t\"CLASS\": new RegExp( \"^\\\\.(\" + identifier + \")\" ),\n\t\t\"TAG\": new RegExp( \"^(\" + identifier + \"|[*])\" ),\n\t\t\"ATTR\": new RegExp( \"^\" + attributes ),\n\t\t\"PSEUDO\": new RegExp( \"^\" + pseudos ),\n\t\t\"CHILD\": new RegExp( \"^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\\\(\" + whitespace +\n\t\t\t\"*(even|odd|(([+-]|)(\\\\d*)n|)\" + whitespace + \"*(?:([+-]|)\" + whitespace +\n\t\t\t\"*(\\\\d+)|))\" + whitespace + \"*\\\\)|)\", \"i\" ),\n\t\t\"bool\": new RegExp( \"^(?:\" + booleans + \")$\", \"i\" ),\n\t\t// For use in libraries implementing .is()\n\t\t// We use this for POS matching in `select`\n\t\t\"needsContext\": new RegExp( \"^\" + whitespace + \"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\\\(\" +\n\t\t\twhitespace + \"*((?:-\\\\d)?\\\\d*)\" + whitespace + \"*\\\\)|)(?=[^-]|$)\", \"i\" )\n\t},\n\n\trinputs = /^(?:input|select|textarea|button)$/i,\n\trheader = /^h\\d$/i,\n\n\trnative = /^[^{]+\\{\\s*\\[native \\w/,\n\n\t// Easily-parseable/retrievable ID or TAG or CLASS selectors\n\trquickExpr = /^(?:#([\\w-]+)|(\\w+)|\\.([\\w-]+))$/,\n\n\trsibling = /[+~]/,\n\trescape = /'|\\\\/g,\n\n\t// CSS escapes http://www.w3.org/TR/CSS21/syndata.html#escaped-characters\n\trunescape = new RegExp( \"\\\\\\\\([\\\\da-f]{1,6}\" + whitespace + \"?|(\" + whitespace + \")|.)\", \"ig\" ),\n\tfunescape = function( _, escaped, escapedWhitespace ) {\n\t\tvar high = \"0x\" + escaped - 0x10000;\n\t\t// NaN means non-codepoint\n\t\t// Support: Firefox<24\n\t\t// Workaround erroneous numeric interpretation of +\"0x\"\n\t\treturn high !== high || escapedWhitespace ?\n\t\t\tescaped :\n\t\t\thigh < 0 ?\n\t\t\t\t// BMP codepoint\n\t\t\t\tString.fromCharCode( high + 0x10000 ) :\n\t\t\t\t// Supplemental Plane codepoint (surrogate pair)\n\t\t\t\tString.fromCharCode( high >> 10 | 0xD800, high & 0x3FF | 0xDC00 );\n\t},\n\n\t// Used for iframes\n\t// See setDocument()\n\t// Removing the function wrapper causes a \"Permission Denied\"\n\t// error in IE\n\tunloadHandler = function() {\n\t\tsetDocument();\n\t};\n\n// Optimize for push.apply( _, NodeList )\ntry {\n\tpush.apply(\n\t\t(arr = slice.call( preferredDoc.childNodes )),\n\t\tpreferredDoc.childNodes\n\t);\n\t// Support: Android<4.0\n\t// Detect silently failing push.apply\n\tarr[ preferredDoc.childNodes.length ].nodeType;\n} catch ( e ) {\n\tpush = { apply: arr.length ?\n\n\t\t// Leverage slice if possible\n\t\tfunction( target, els ) {\n\t\t\tpush_native.apply( target, slice.call(els) );\n\t\t} :\n\n\t\t// Support: IE<9\n\t\t// Otherwise append directly\n\t\tfunction( target, els ) {\n\t\t\tvar j = target.length,\n\t\t\t\ti = 0;\n\t\t\t// Can't trust NodeList.length\n\t\t\twhile ( (target[j++] = els[i++]) ) {}\n\t\t\ttarget.length = j - 1;\n\t\t}\n\t};\n}\n\nfunction Sizzle( selector, context, results, seed ) {\n\tvar m, i, elem, nid, nidselect, match, groups, newSelector,\n\t\tnewContext = context && context.ownerDocument,\n\n\t\t// nodeType defaults to 9, since context defaults to document\n\t\tnodeType = context ? context.nodeType : 9;\n\n\tresults = results || [];\n\n\t// Return early from calls with invalid selector or context\n\tif ( typeof selector !== \"string\" || !selector ||\n\t\tnodeType !== 1 && nodeType !== 9 && nodeType !== 11 ) {\n\n\t\treturn results;\n\t}\n\n\t// Try to shortcut find operations (as opposed to filters) in HTML documents\n\tif ( !seed ) {\n\n\t\tif ( ( context ? context.ownerDocument || context : preferredDoc ) !== document ) {\n\t\t\tsetDocument( context );\n\t\t}\n\t\tcontext = context || document;\n\n\t\tif ( documentIsHTML ) {\n\n\t\t\t// If the selector is sufficiently simple, try using a \"get*By*\" DOM method\n\t\t\t// (excepting DocumentFragment context, where the methods don't exist)\n\t\t\tif ( nodeType !== 11 && (match = rquickExpr.exec( selector )) ) {\n\n\t\t\t\t// ID selector\n\t\t\t\tif ( (m = match[1]) ) {\n\n\t\t\t\t\t// Document context\n\t\t\t\t\tif ( nodeType === 9 ) {\n\t\t\t\t\t\tif ( (elem = context.getElementById( m )) ) {\n\n\t\t\t\t\t\t\t// Support: IE, Opera, Webkit\n\t\t\t\t\t\t\t// TODO: identify versions\n\t\t\t\t\t\t\t// getElementById can match elements by name instead of ID\n\t\t\t\t\t\t\tif ( elem.id === m ) {\n\t\t\t\t\t\t\t\tresults.push( elem );\n\t\t\t\t\t\t\t\treturn results;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\treturn results;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t// Element context\n\t\t\t\t\t} else {\n\n\t\t\t\t\t\t// Support: IE, Opera, Webkit\n\t\t\t\t\t\t// TODO: identify versions\n\t\t\t\t\t\t// getElementById can match elements by name instead of ID\n\t\t\t\t\t\tif ( newContext && (elem = newContext.getElementById( m )) &&\n\t\t\t\t\t\t\tcontains( context, elem ) &&\n\t\t\t\t\t\t\telem.id === m ) {\n\n\t\t\t\t\t\t\tresults.push( elem );\n\t\t\t\t\t\t\treturn results;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t// Type selector\n\t\t\t\t} else if ( match[2] ) {\n\t\t\t\t\tpush.apply( results, context.getElementsByTagName( selector ) );\n\t\t\t\t\treturn results;\n\n\t\t\t\t// Class selector\n\t\t\t\t} else if ( (m = match[3]) && support.getElementsByClassName &&\n\t\t\t\t\tcontext.getElementsByClassName ) {\n\n\t\t\t\t\tpush.apply( results, context.getElementsByClassName( m ) );\n\t\t\t\t\treturn results;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Take advantage of querySelectorAll\n\t\t\tif ( support.qsa &&\n\t\t\t\t!compilerCache[ selector + \" \" ] &&\n\t\t\t\t(!rbuggyQSA || !rbuggyQSA.test( selector )) ) {\n\n\t\t\t\tif ( nodeType !== 1 ) {\n\t\t\t\t\tnewContext = context;\n\t\t\t\t\tnewSelector = selector;\n\n\t\t\t\t// qSA looks outside Element context, which is not what we want\n\t\t\t\t// Thanks to Andrew Dupont for this workaround technique\n\t\t\t\t// Support: IE <=8\n\t\t\t\t// Exclude object elements\n\t\t\t\t} else if ( context.nodeName.toLowerCase() !== \"object\" ) {\n\n\t\t\t\t\t// Capture the context ID, setting it first if necessary\n\t\t\t\t\tif ( (nid = context.getAttribute( \"id\" )) ) {\n\t\t\t\t\t\tnid = nid.replace( rescape, \"\\\\$&\" );\n\t\t\t\t\t} else {\n\t\t\t\t\t\tcontext.setAttribute( \"id\", (nid = expando) );\n\t\t\t\t\t}\n\n\t\t\t\t\t// Prefix every selector in the list\n\t\t\t\t\tgroups = tokenize( selector );\n\t\t\t\t\ti = groups.length;\n\t\t\t\t\tnidselect = ridentifier.test( nid ) ? \"#\" + nid : \"[id='\" + nid + \"']\";\n\t\t\t\t\twhile ( i-- ) {\n\t\t\t\t\t\tgroups[i] = nidselect + \" \" + toSelector( groups[i] );\n\t\t\t\t\t}\n\t\t\t\t\tnewSelector = groups.join( \",\" );\n\n\t\t\t\t\t// Expand context for sibling selectors\n\t\t\t\t\tnewContext = rsibling.test( selector ) && testContext( context.parentNode ) ||\n\t\t\t\t\t\tcontext;\n\t\t\t\t}\n\n\t\t\t\tif ( newSelector ) {\n\t\t\t\t\ttry {\n\t\t\t\t\t\tpush.apply( results,\n\t\t\t\t\t\t\tnewContext.querySelectorAll( newSelector )\n\t\t\t\t\t\t);\n\t\t\t\t\t\treturn results;\n\t\t\t\t\t} catch ( qsaError ) {\n\t\t\t\t\t} finally {\n\t\t\t\t\t\tif ( nid === expando ) {\n\t\t\t\t\t\t\tcontext.removeAttribute( \"id\" );\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\t// All others\n\treturn select( selector.replace( rtrim, \"$1\" ), context, results, seed );\n}\n\n/**\n * Create key-value caches of limited size\n * @returns {function(string, object)} Returns the Object data after storing it on itself with\n *\tproperty name the (space-suffixed) string and (if the cache is larger than Expr.cacheLength)\n *\tdeleting the oldest entry\n */\nfunction createCache() {\n\tvar keys = [];\n\n\tfunction cache( key, value ) {\n\t\t// Use (key + \" \") to avoid collision with native prototype properties (see Issue #157)\n\t\tif ( keys.push( key + \" \" ) > Expr.cacheLength ) {\n\t\t\t// Only keep the most recent entries\n\t\t\tdelete cache[ keys.shift() ];\n\t\t}\n\t\treturn (cache[ key + \" \" ] = value);\n\t}\n\treturn cache;\n}\n\n/**\n * Mark a function for special use by Sizzle\n * @param {Function} fn The function to mark\n */\nfunction markFunction( fn ) {\n\tfn[ expando ] = true;\n\treturn fn;\n}\n\n/**\n * Support testing using an element\n * @param {Function} fn Passed the created div and expects a boolean result\n */\nfunction assert( fn ) {\n\tvar div = document.createElement(\"div\");\n\n\ttry {\n\t\treturn !!fn( div );\n\t} catch (e) {\n\t\treturn false;\n\t} finally {\n\t\t// Remove from its parent by default\n\t\tif ( div.parentNode ) {\n\t\t\tdiv.parentNode.removeChild( div );\n\t\t}\n\t\t// release memory in IE\n\t\tdiv = null;\n\t}\n}\n\n/**\n * Adds the same handler for all of the specified attrs\n * @param {String} attrs Pipe-separated list of attributes\n * @param {Function} handler The method that will be applied\n */\nfunction addHandle( attrs, handler ) {\n\tvar arr = attrs.split(\"|\"),\n\t\ti = arr.length;\n\n\twhile ( i-- ) {\n\t\tExpr.attrHandle[ arr[i] ] = handler;\n\t}\n}\n\n/**\n * Checks document order of two siblings\n * @param {Element} a\n * @param {Element} b\n * @returns {Number} Returns less than 0 if a precedes b, greater than 0 if a follows b\n */\nfunction siblingCheck( a, b ) {\n\tvar cur = b && a,\n\t\tdiff = cur && a.nodeType === 1 && b.nodeType === 1 &&\n\t\t\t( ~b.sourceIndex || MAX_NEGATIVE ) -\n\t\t\t( ~a.sourceIndex || MAX_NEGATIVE );\n\n\t// Use IE sourceIndex if available on both nodes\n\tif ( diff ) {\n\t\treturn diff;\n\t}\n\n\t// Check if b follows a\n\tif ( cur ) {\n\t\twhile ( (cur = cur.nextSibling) ) {\n\t\t\tif ( cur === b ) {\n\t\t\t\treturn -1;\n\t\t\t}\n\t\t}\n\t}\n\n\treturn a ? 1 : -1;\n}\n\n/**\n * Returns a function to use in pseudos for input types\n * @param {String} type\n */\nfunction createInputPseudo( type ) {\n\treturn function( elem ) {\n\t\tvar name = elem.nodeName.toLowerCase();\n\t\treturn name === \"input\" && elem.type === type;\n\t};\n}\n\n/**\n * Returns a function to use in pseudos for buttons\n * @param {String} type\n */\nfunction createButtonPseudo( type ) {\n\treturn function( elem ) {\n\t\tvar name = elem.nodeName.toLowerCase();\n\t\treturn (name === \"input\" || name === \"button\") && elem.type === type;\n\t};\n}\n\n/**\n * Returns a function to use in pseudos for positionals\n * @param {Function} fn\n */\nfunction createPositionalPseudo( fn ) {\n\treturn markFunction(function( argument ) {\n\t\targument = +argument;\n\t\treturn markFunction(function( seed, matches ) {\n\t\t\tvar j,\n\t\t\t\tmatchIndexes = fn( [], seed.length, argument ),\n\t\t\t\ti = matchIndexes.length;\n\n\t\t\t// Match elements found at the specified indexes\n\t\t\twhile ( i-- ) {\n\t\t\t\tif ( seed[ (j = matchIndexes[i]) ] ) {\n\t\t\t\t\tseed[j] = !(matches[j] = seed[j]);\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\t});\n}\n\n/**\n * Checks a node for validity as a Sizzle context\n * @param {Element|Object=} context\n * @returns {Element|Object|Boolean} The input node if acceptable, otherwise a falsy value\n */\nfunction testContext( context ) {\n\treturn context && typeof context.getElementsByTagName !== \"undefined\" && context;\n}\n\n// Expose support vars for convenience\nsupport = Sizzle.support = {};\n\n/**\n * Detects XML nodes\n * @param {Element|Object} elem An element or a document\n * @returns {Boolean} True iff elem is a non-HTML XML node\n */\nisXML = Sizzle.isXML = function( elem ) {\n\t// documentElement is verified for cases where it doesn't yet exist\n\t// (such as loading iframes in IE - #4833)\n\tvar documentElement = elem && (elem.ownerDocument || elem).documentElement;\n\treturn documentElement ? documentElement.nodeName !== \"HTML\" : false;\n};\n\n/**\n * Sets document-related variables once based on the current document\n * @param {Element|Object} [doc] An element or document object to use to set the document\n * @returns {Object} Returns the current document\n */\nsetDocument = Sizzle.setDocument = function( node ) {\n\tvar hasCompare, parent,\n\t\tdoc = node ? node.ownerDocument || node : preferredDoc;\n\n\t// Return early if doc is invalid or already selected\n\tif ( doc === document || doc.nodeType !== 9 || !doc.documentElement ) {\n\t\treturn document;\n\t}\n\n\t// Update global variables\n\tdocument = doc;\n\tdocElem = document.documentElement;\n\tdocumentIsHTML = !isXML( document );\n\n\t// Support: IE 9-11, Edge\n\t// Accessing iframe documents after unload throws \"permission denied\" errors (jQuery #13936)\n\tif ( (parent = document.defaultView) && parent.top !== parent ) {\n\t\t// Support: IE 11\n\t\tif ( parent.addEventListener ) {\n\t\t\tparent.addEventListener( \"unload\", unloadHandler, false );\n\n\t\t// Support: IE 9 - 10 only\n\t\t} else if ( parent.attachEvent ) {\n\t\t\tparent.attachEvent( \"onunload\", unloadHandler );\n\t\t}\n\t}\n\n\t/* Attributes\n\t---------------------------------------------------------------------- */\n\n\t// Support: IE<8\n\t// Verify that getAttribute really returns attributes and not properties\n\t// (excepting IE8 booleans)\n\tsupport.attributes = assert(function( div ) {\n\t\tdiv.className = \"i\";\n\t\treturn !div.getAttribute(\"className\");\n\t});\n\n\t/* getElement(s)By*\n\t---------------------------------------------------------------------- */\n\n\t// Check if getElementsByTagName(\"*\") returns only elements\n\tsupport.getElementsByTagName = assert(function( div ) {\n\t\tdiv.appendChild( document.createComment(\"\") );\n\t\treturn !div.getElementsByTagName(\"*\").length;\n\t});\n\n\t// Support: IE<9\n\tsupport.getElementsByClassName = rnative.test( document.getElementsByClassName );\n\n\t// Support: IE<10\n\t// Check if getElementById returns elements by name\n\t// The broken getElementById methods don't pick up programatically-set names,\n\t// so use a roundabout getElementsByName test\n\tsupport.getById = assert(function( div ) {\n\t\tdocElem.appendChild( div ).id = expando;\n\t\treturn !document.getElementsByName || !document.getElementsByName( expando ).length;\n\t});\n\n\t// ID find and filter\n\tif ( support.getById ) {\n\t\tExpr.find[\"ID\"] = function( id, context ) {\n\t\t\tif ( typeof context.getElementById !== \"undefined\" && documentIsHTML ) {\n\t\t\t\tvar m = context.getElementById( id );\n\t\t\t\treturn m ? [ m ] : [];\n\t\t\t}\n\t\t};\n\t\tExpr.filter[\"ID\"] = function( id ) {\n\t\t\tvar attrId = id.replace( runescape, funescape );\n\t\t\treturn function( elem ) {\n\t\t\t\treturn elem.getAttribute(\"id\") === attrId;\n\t\t\t};\n\t\t};\n\t} else {\n\t\t// Support: IE6/7\n\t\t// getElementById is not reliable as a find shortcut\n\t\tdelete Expr.find[\"ID\"];\n\n\t\tExpr.filter[\"ID\"] = function( id ) {\n\t\t\tvar attrId = id.replace( runescape, funescape );\n\t\t\treturn function( elem ) {\n\t\t\t\tvar node = typeof elem.getAttributeNode !== \"undefined\" &&\n\t\t\t\t\telem.getAttributeNode(\"id\");\n\t\t\t\treturn node && node.value === attrId;\n\t\t\t};\n\t\t};\n\t}\n\n\t// Tag\n\tExpr.find[\"TAG\"] = support.getElementsByTagName ?\n\t\tfunction( tag, context ) {\n\t\t\tif ( typeof context.getElementsByTagName !== \"undefined\" ) {\n\t\t\t\treturn context.getElementsByTagName( tag );\n\n\t\t\t// DocumentFragment nodes don't have gEBTN\n\t\t\t} else if ( support.qsa ) {\n\t\t\t\treturn context.querySelectorAll( tag );\n\t\t\t}\n\t\t} :\n\n\t\tfunction( tag, context ) {\n\t\t\tvar elem,\n\t\t\t\ttmp = [],\n\t\t\t\ti = 0,\n\t\t\t\t// By happy coincidence, a (broken) gEBTN appears on DocumentFragment nodes too\n\t\t\t\tresults = context.getElementsByTagName( tag );\n\n\t\t\t// Filter out possible comments\n\t\t\tif ( tag === \"*\" ) {\n\t\t\t\twhile ( (elem = results[i++]) ) {\n\t\t\t\t\tif ( elem.nodeType === 1 ) {\n\t\t\t\t\t\ttmp.push( elem );\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\treturn tmp;\n\t\t\t}\n\t\t\treturn results;\n\t\t};\n\n\t// Class\n\tExpr.find[\"CLASS\"] = support.getElementsByClassName && function( className, context ) {\n\t\tif ( typeof context.getElementsByClassName !== \"undefined\" && documentIsHTML ) {\n\t\t\treturn context.getElementsByClassName( className );\n\t\t}\n\t};\n\n\t/* QSA/matchesSelector\n\t---------------------------------------------------------------------- */\n\n\t// QSA and matchesSelector support\n\n\t// matchesSelector(:active) reports false when true (IE9/Opera 11.5)\n\trbuggyMatches = [];\n\n\t// qSa(:focus) reports false when true (Chrome 21)\n\t// We allow this because of a bug in IE8/9 that throws an error\n\t// whenever `document.activeElement` is accessed on an iframe\n\t// So, we allow :focus to pass through QSA all the time to avoid the IE error\n\t// See http://bugs.jquery.com/ticket/13378\n\trbuggyQSA = [];\n\n\tif ( (support.qsa = rnative.test( document.querySelectorAll )) ) {\n\t\t// Build QSA regex\n\t\t// Regex strategy adopted from Diego Perini\n\t\tassert(function( div ) {\n\t\t\t// Select is set to empty string on purpose\n\t\t\t// This is to test IE's treatment of not explicitly\n\t\t\t// setting a boolean content attribute,\n\t\t\t// since its presence should be enough\n\t\t\t// http://bugs.jquery.com/ticket/12359\n\t\t\tdocElem.appendChild( div ).innerHTML = \"<a id='\" + expando + \"'></a>\" +\n\t\t\t\t\"<select id='\" + expando + \"-\\r\\\\' msallowcapture=''>\" +\n\t\t\t\t\"<option selected=''></option></select>\";\n\n\t\t\t// Support: IE8, Opera 11-12.16\n\t\t\t// Nothing should be selected when empty strings follow ^= or $= or *=\n\t\t\t// The test attribute must be unknown in Opera but \"safe\" for WinRT\n\t\t\t// http://msdn.microsoft.com/en-us/library/ie/hh465388.aspx#attribute_section\n\t\t\tif ( div.querySelectorAll(\"[msallowcapture^='']\").length ) {\n\t\t\t\trbuggyQSA.push( \"[*^$]=\" + whitespace + \"*(?:''|\\\"\\\")\" );\n\t\t\t}\n\n\t\t\t// Support: IE8\n\t\t\t// Boolean attributes and \"value\" are not treated correctly\n\t\t\tif ( !div.querySelectorAll(\"[selected]\").length ) {\n\t\t\t\trbuggyQSA.push( \"\\\\[\" + whitespace + \"*(?:value|\" + booleans + \")\" );\n\t\t\t}\n\n\t\t\t// Support: Chrome<29, Android<4.4, Safari<7.0+, iOS<7.0+, PhantomJS<1.9.8+\n\t\t\tif ( !div.querySelectorAll( \"[id~=\" + expando + \"-]\" ).length ) {\n\t\t\t\trbuggyQSA.push(\"~=\");\n\t\t\t}\n\n\t\t\t// Webkit/Opera - :checked should return selected option elements\n\t\t\t// http://www.w3.org/TR/2011/REC-css3-selectors-20110929/#checked\n\t\t\t// IE8 throws error here and will not see later tests\n\t\t\tif ( !div.querySelectorAll(\":checked\").length ) {\n\t\t\t\trbuggyQSA.push(\":checked\");\n\t\t\t}\n\n\t\t\t// Support: Safari 8+, iOS 8+\n\t\t\t// https://bugs.webkit.org/show_bug.cgi?id=136851\n\t\t\t// In-page `selector#id sibing-combinator selector` fails\n\t\t\tif ( !div.querySelectorAll( \"a#\" + expando + \"+*\" ).length ) {\n\t\t\t\trbuggyQSA.push(\".#.+[+~]\");\n\t\t\t}\n\t\t});\n\n\t\tassert(function( div ) {\n\t\t\t// Support: Windows 8 Native Apps\n\t\t\t// The type and name attributes are restricted during .innerHTML assignment\n\t\t\tvar input = document.createElement(\"input\");\n\t\t\tinput.setAttribute( \"type\", \"hidden\" );\n\t\t\tdiv.appendChild( input ).setAttribute( \"name\", \"D\" );\n\n\t\t\t// Support: IE8\n\t\t\t// Enforce case-sensitivity of name attribute\n\t\t\tif ( div.querySelectorAll(\"[name=d]\").length ) {\n\t\t\t\trbuggyQSA.push( \"name\" + whitespace + \"*[*^$|!~]?=\" );\n\t\t\t}\n\n\t\t\t// FF 3.5 - :enabled/:disabled and hidden elements (hidden elements are still enabled)\n\t\t\t// IE8 throws error here and will not see later tests\n\t\t\tif ( !div.querySelectorAll(\":enabled\").length ) {\n\t\t\t\trbuggyQSA.push( \":enabled\", \":disabled\" );\n\t\t\t}\n\n\t\t\t// Opera 10-11 does not throw on post-comma invalid pseudos\n\t\t\tdiv.querySelectorAll(\"*,:x\");\n\t\t\trbuggyQSA.push(\",.*:\");\n\t\t});\n\t}\n\n\tif ( (support.matchesSelector = rnative.test( (matches = docElem.matches ||\n\t\tdocElem.webkitMatchesSelector ||\n\t\tdocElem.mozMatchesSelector ||\n\t\tdocElem.oMatchesSelector ||\n\t\tdocElem.msMatchesSelector) )) ) {\n\n\t\tassert(function( div ) {\n\t\t\t// Check to see if it's possible to do matchesSelector\n\t\t\t// on a disconnected node (IE 9)\n\t\t\tsupport.disconnectedMatch = matches.call( div, \"div\" );\n\n\t\t\t// This should fail with an exception\n\t\t\t// Gecko does not error, returns false instead\n\t\t\tmatches.call( div, \"[s!='']:x\" );\n\t\t\trbuggyMatches.push( \"!=\", pseudos );\n\t\t});\n\t}\n\n\trbuggyQSA = rbuggyQSA.length && new RegExp( rbuggyQSA.join(\"|\") );\n\trbuggyMatches = rbuggyMatches.length && new RegExp( rbuggyMatches.join(\"|\") );\n\n\t/* Contains\n\t---------------------------------------------------------------------- */\n\thasCompare = rnative.test( docElem.compareDocumentPosition );\n\n\t// Element contains another\n\t// Purposefully self-exclusive\n\t// As in, an element does not contain itself\n\tcontains = hasCompare || rnative.test( docElem.contains ) ?\n\t\tfunction( a, b ) {\n\t\t\tvar adown = a.nodeType === 9 ? a.documentElement : a,\n\t\t\t\tbup = b && b.parentNode;\n\t\t\treturn a === bup || !!( bup && bup.nodeType === 1 && (\n\t\t\t\tadown.contains ?\n\t\t\t\t\tadown.contains( bup ) :\n\t\t\t\t\ta.compareDocumentPosition && a.compareDocumentPosition( bup ) & 16\n\t\t\t));\n\t\t} :\n\t\tfunction( a, b ) {\n\t\t\tif ( b ) {\n\t\t\t\twhile ( (b = b.parentNode) ) {\n\t\t\t\t\tif ( b === a ) {\n\t\t\t\t\t\treturn true;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn false;\n\t\t};\n\n\t/* Sorting\n\t---------------------------------------------------------------------- */\n\n\t// Document order sorting\n\tsortOrder = hasCompare ?\n\tfunction( a, b ) {\n\n\t\t// Flag for duplicate removal\n\t\tif ( a === b ) {\n\t\t\thasDuplicate = true;\n\t\t\treturn 0;\n\t\t}\n\n\t\t// Sort on method existence if only one input has compareDocumentPosition\n\t\tvar compare = !a.compareDocumentPosition - !b.compareDocumentPosition;\n\t\tif ( compare ) {\n\t\t\treturn compare;\n\t\t}\n\n\t\t// Calculate position if both inputs belong to the same document\n\t\tcompare = ( a.ownerDocument || a ) === ( b.ownerDocument || b ) ?\n\t\t\ta.compareDocumentPosition( b ) :\n\n\t\t\t// Otherwise we know they are disconnected\n\t\t\t1;\n\n\t\t// Disconnected nodes\n\t\tif ( compare & 1 ||\n\t\t\t(!support.sortDetached && b.compareDocumentPosition( a ) === compare) ) {\n\n\t\t\t// Choose the first element that is related to our preferred document\n\t\t\tif ( a === document || a.ownerDocument === preferredDoc && contains(preferredDoc, a) ) {\n\t\t\t\treturn -1;\n\t\t\t}\n\t\t\tif ( b === document || b.ownerDocument === preferredDoc && contains(preferredDoc, b) ) {\n\t\t\t\treturn 1;\n\t\t\t}\n\n\t\t\t// Maintain original order\n\t\t\treturn sortInput ?\n\t\t\t\t( indexOf( sortInput, a ) - indexOf( sortInput, b ) ) :\n\t\t\t\t0;\n\t\t}\n\n\t\treturn compare & 4 ? -1 : 1;\n\t} :\n\tfunction( a, b ) {\n\t\t// Exit early if the nodes are identical\n\t\tif ( a === b ) {\n\t\t\thasDuplicate = true;\n\t\t\treturn 0;\n\t\t}\n\n\t\tvar cur,\n\t\t\ti = 0,\n\t\t\taup = a.parentNode,\n\t\t\tbup = b.parentNode,\n\t\t\tap = [ a ],\n\t\t\tbp = [ b ];\n\n\t\t// Parentless nodes are either documents or disconnected\n\t\tif ( !aup || !bup ) {\n\t\t\treturn a === document ? -1 :\n\t\t\t\tb === document ? 1 :\n\t\t\t\taup ? -1 :\n\t\t\t\tbup ? 1 :\n\t\t\t\tsortInput ?\n\t\t\t\t( indexOf( sortInput, a ) - indexOf( sortInput, b ) ) :\n\t\t\t\t0;\n\n\t\t// If the nodes are siblings, we can do a quick check\n\t\t} else if ( aup === bup ) {\n\t\t\treturn siblingCheck( a, b );\n\t\t}\n\n\t\t// Otherwise we need full lists of their ancestors for comparison\n\t\tcur = a;\n\t\twhile ( (cur = cur.parentNode) ) {\n\t\t\tap.unshift( cur );\n\t\t}\n\t\tcur = b;\n\t\twhile ( (cur = cur.parentNode) ) {\n\t\t\tbp.unshift( cur );\n\t\t}\n\n\t\t// Walk down the tree looking for a discrepancy\n\t\twhile ( ap[i] === bp[i] ) {\n\t\t\ti++;\n\t\t}\n\n\t\treturn i ?\n\t\t\t// Do a sibling check if the nodes have a common ancestor\n\t\t\tsiblingCheck( ap[i], bp[i] ) :\n\n\t\t\t// Otherwise nodes in our document sort first\n\t\t\tap[i] === preferredDoc ? -1 :\n\t\t\tbp[i] === preferredDoc ? 1 :\n\t\t\t0;\n\t};\n\n\treturn document;\n};\n\nSizzle.matches = function( expr, elements ) {\n\treturn Sizzle( expr, null, null, elements );\n};\n\nSizzle.matchesSelector = function( elem, expr ) {\n\t// Set document vars if needed\n\tif ( ( elem.ownerDocument || elem ) !== document ) {\n\t\tsetDocument( elem );\n\t}\n\n\t// Make sure that attribute selectors are quoted\n\texpr = expr.replace( rattributeQuotes, \"='$1']\" );\n\n\tif ( support.matchesSelector && documentIsHTML &&\n\t\t!compilerCache[ expr + \" \" ] &&\n\t\t( !rbuggyMatches || !rbuggyMatches.test( expr ) ) &&\n\t\t( !rbuggyQSA || !rbuggyQSA.test( expr ) ) ) {\n\n\t\ttry {\n\t\t\tvar ret = matches.call( elem, expr );\n\n\t\t\t// IE 9's matchesSelector returns false on disconnected nodes\n\t\t\tif ( ret || support.disconnectedMatch ||\n\t\t\t\t\t// As well, disconnected nodes are said to be in a document\n\t\t\t\t\t// fragment in IE 9\n\t\t\t\t\telem.document && elem.document.nodeType !== 11 ) {\n\t\t\t\treturn ret;\n\t\t\t}\n\t\t} catch (e) {}\n\t}\n\n\treturn Sizzle( expr, document, null, [ elem ] ).length > 0;\n};\n\nSizzle.contains = function( context, elem ) {\n\t// Set document vars if needed\n\tif ( ( context.ownerDocument || context ) !== document ) {\n\t\tsetDocument( context );\n\t}\n\treturn contains( context, elem );\n};\n\nSizzle.attr = function( elem, name ) {\n\t// Set document vars if needed\n\tif ( ( elem.ownerDocument || elem ) !== document ) {\n\t\tsetDocument( elem );\n\t}\n\n\tvar fn = Expr.attrHandle[ name.toLowerCase() ],\n\t\t// Don't get fooled by Object.prototype properties (jQuery #13807)\n\t\tval = fn && hasOwn.call( Expr.attrHandle, name.toLowerCase() ) ?\n\t\t\tfn( elem, name, !documentIsHTML ) :\n\t\t\tundefined;\n\n\treturn val !== undefined ?\n\t\tval :\n\t\tsupport.attributes || !documentIsHTML ?\n\t\t\telem.getAttribute( name ) :\n\t\t\t(val = elem.getAttributeNode(name)) && val.specified ?\n\t\t\t\tval.value :\n\t\t\t\tnull;\n};\n\nSizzle.error = function( msg ) {\n\tthrow new Error( \"Syntax error, unrecognized expression: \" + msg );\n};\n\n/**\n * Document sorting and removing duplicates\n * @param {ArrayLike} results\n */\nSizzle.uniqueSort = function( results ) {\n\tvar elem,\n\t\tduplicates = [],\n\t\tj = 0,\n\t\ti = 0;\n\n\t// Unless we *know* we can detect duplicates, assume their presence\n\thasDuplicate = !support.detectDuplicates;\n\tsortInput = !support.sortStable && results.slice( 0 );\n\tresults.sort( sortOrder );\n\n\tif ( hasDuplicate ) {\n\t\twhile ( (elem = results[i++]) ) {\n\t\t\tif ( elem === results[ i ] ) {\n\t\t\t\tj = duplicates.push( i );\n\t\t\t}\n\t\t}\n\t\twhile ( j-- ) {\n\t\t\tresults.splice( duplicates[ j ], 1 );\n\t\t}\n\t}\n\n\t// Clear input after sorting to release objects\n\t// See https://github.com/jquery/sizzle/pull/225\n\tsortInput = null;\n\n\treturn results;\n};\n\n/**\n * Utility function for retrieving the text value of an array of DOM nodes\n * @param {Array|Element} elem\n */\ngetText = Sizzle.getText = function( elem ) {\n\tvar node,\n\t\tret = \"\",\n\t\ti = 0,\n\t\tnodeType = elem.nodeType;\n\n\tif ( !nodeType ) {\n\t\t// If no nodeType, this is expected to be an array\n\t\twhile ( (node = elem[i++]) ) {\n\t\t\t// Do not traverse comment nodes\n\t\t\tret += getText( node );\n\t\t}\n\t} else if ( nodeType === 1 || nodeType === 9 || nodeType === 11 ) {\n\t\t// Use textContent for elements\n\t\t// innerText usage removed for consistency of new lines (jQuery #11153)\n\t\tif ( typeof elem.textContent === \"string\" ) {\n\t\t\treturn elem.textContent;\n\t\t} else {\n\t\t\t// Traverse its children\n\t\t\tfor ( elem = elem.firstChild; elem; elem = elem.nextSibling ) {\n\t\t\t\tret += getText( elem );\n\t\t\t}\n\t\t}\n\t} else if ( nodeType === 3 || nodeType === 4 ) {\n\t\treturn elem.nodeValue;\n\t}\n\t// Do not include comment or processing instruction nodes\n\n\treturn ret;\n};\n\nExpr = Sizzle.selectors = {\n\n\t// Can be adjusted by the user\n\tcacheLength: 50,\n\n\tcreatePseudo: markFunction,\n\n\tmatch: matchExpr,\n\n\tattrHandle: {},\n\n\tfind: {},\n\n\trelative: {\n\t\t\">\": { dir: \"parentNode\", first: true },\n\t\t\" \": { dir: \"parentNode\" },\n\t\t\"+\": { dir: \"previousSibling\", first: true },\n\t\t\"~\": { dir: \"previousSibling\" }\n\t},\n\n\tpreFilter: {\n\t\t\"ATTR\": function( match ) {\n\t\t\tmatch[1] = match[1].replace( runescape, funescape );\n\n\t\t\t// Move the given value to match[3] whether quoted or unquoted\n\t\t\tmatch[3] = ( match[3] || match[4] || match[5] || \"\" ).replace( runescape, funescape );\n\n\t\t\tif ( match[2] === \"~=\" ) {\n\t\t\t\tmatch[3] = \" \" + match[3] + \" \";\n\t\t\t}\n\n\t\t\treturn match.slice( 0, 4 );\n\t\t},\n\n\t\t\"CHILD\": function( match ) {\n\t\t\t/* matches from matchExpr[\"CHILD\"]\n\t\t\t\t1 type (only|nth|...)\n\t\t\t\t2 what (child|of-type)\n\t\t\t\t3 argument (even|odd|\\d*|\\d*n([+-]\\d+)?|...)\n\t\t\t\t4 xn-component of xn+y argument ([+-]?\\d*n|)\n\t\t\t\t5 sign of xn-component\n\t\t\t\t6 x of xn-component\n\t\t\t\t7 sign of y-component\n\t\t\t\t8 y of y-component\n\t\t\t*/\n\t\t\tmatch[1] = match[1].toLowerCase();\n\n\t\t\tif ( match[1].slice( 0, 3 ) === \"nth\" ) {\n\t\t\t\t// nth-* requires argument\n\t\t\t\tif ( !match[3] ) {\n\t\t\t\t\tSizzle.error( match[0] );\n\t\t\t\t}\n\n\t\t\t\t// numeric x and y parameters for Expr.filter.CHILD\n\t\t\t\t// remember that false/true cast respectively to 0/1\n\t\t\t\tmatch[4] = +( match[4] ? match[5] + (match[6] || 1) : 2 * ( match[3] === \"even\" || match[3] === \"odd\" ) );\n\t\t\t\tmatch[5] = +( ( match[7] + match[8] ) || match[3] === \"odd\" );\n\n\t\t\t// other types prohibit arguments\n\t\t\t} else if ( match[3] ) {\n\t\t\t\tSizzle.error( match[0] );\n\t\t\t}\n\n\t\t\treturn match;\n\t\t},\n\n\t\t\"PSEUDO\": function( match ) {\n\t\t\tvar excess,\n\t\t\t\tunquoted = !match[6] && match[2];\n\n\t\t\tif ( matchExpr[\"CHILD\"].test( match[0] ) ) {\n\t\t\t\treturn null;\n\t\t\t}\n\n\t\t\t// Accept quoted arguments as-is\n\t\t\tif ( match[3] ) {\n\t\t\t\tmatch[2] = match[4] || match[5] || \"\";\n\n\t\t\t// Strip excess characters from unquoted arguments\n\t\t\t} else if ( unquoted && rpseudo.test( unquoted ) &&\n\t\t\t\t// Get excess from tokenize (recursively)\n\t\t\t\t(excess = tokenize( unquoted, true )) &&\n\t\t\t\t// advance to the next closing parenthesis\n\t\t\t\t(excess = unquoted.indexOf( \")\", unquoted.length - excess ) - unquoted.length) ) {\n\n\t\t\t\t// excess is a negative index\n\t\t\t\tmatch[0] = match[0].slice( 0, excess );\n\t\t\t\tmatch[2] = unquoted.slice( 0, excess );\n\t\t\t}\n\n\t\t\t// Return only captures needed by the pseudo filter method (type and argument)\n\t\t\treturn match.slice( 0, 3 );\n\t\t}\n\t},\n\n\tfilter: {\n\n\t\t\"TAG\": function( nodeNameSelector ) {\n\t\t\tvar nodeName = nodeNameSelector.replace( runescape, funescape ).toLowerCase();\n\t\t\treturn nodeNameSelector === \"*\" ?\n\t\t\t\tfunction() { return true; } :\n\t\t\t\tfunction( elem ) {\n\t\t\t\t\treturn elem.nodeName && elem.nodeName.toLowerCase() === nodeName;\n\t\t\t\t};\n\t\t},\n\n\t\t\"CLASS\": function( className ) {\n\t\t\tvar pattern = classCache[ className + \" \" ];\n\n\t\t\treturn pattern ||\n\t\t\t\t(pattern = new RegExp( \"(^|\" + whitespace + \")\" + className + \"(\" + whitespace + \"|$)\" )) &&\n\t\t\t\tclassCache( className, function( elem ) {\n\t\t\t\t\treturn pattern.test( typeof elem.className === \"string\" && elem.className || typeof elem.getAttribute !== \"undefined\" && elem.getAttribute(\"class\") || \"\" );\n\t\t\t\t});\n\t\t},\n\n\t\t\"ATTR\": function( name, operator, check ) {\n\t\t\treturn function( elem ) {\n\t\t\t\tvar result = Sizzle.attr( elem, name );\n\n\t\t\t\tif ( result == null ) {\n\t\t\t\t\treturn operator === \"!=\";\n\t\t\t\t}\n\t\t\t\tif ( !operator ) {\n\t\t\t\t\treturn true;\n\t\t\t\t}\n\n\t\t\t\tresult += \"\";\n\n\t\t\t\treturn operator === \"=\" ? result === check :\n\t\t\t\t\toperator === \"!=\" ? result !== check :\n\t\t\t\t\toperator === \"^=\" ? check && result.indexOf( check ) === 0 :\n\t\t\t\t\toperator === \"*=\" ? check && result.indexOf( check ) > -1 :\n\t\t\t\t\toperator === \"$=\" ? check && result.slice( -check.length ) === check :\n\t\t\t\t\toperator === \"~=\" ? ( \" \" + result.replace( rwhitespace, \" \" ) + \" \" ).indexOf( check ) > -1 :\n\t\t\t\t\toperator === \"|=\" ? result === check || result.slice( 0, check.length + 1 ) === check + \"-\" :\n\t\t\t\t\tfalse;\n\t\t\t};\n\t\t},\n\n\t\t\"CHILD\": function( type, what, argument, first, last ) {\n\t\t\tvar simple = type.slice( 0, 3 ) !== \"nth\",\n\t\t\t\tforward = type.slice( -4 ) !== \"last\",\n\t\t\t\tofType = what === \"of-type\";\n\n\t\t\treturn first === 1 && last === 0 ?\n\n\t\t\t\t// Shortcut for :nth-*(n)\n\t\t\t\tfunction( elem ) {\n\t\t\t\t\treturn !!elem.parentNode;\n\t\t\t\t} :\n\n\t\t\t\tfunction( elem, context, xml ) {\n\t\t\t\t\tvar cache, uniqueCache, outerCache, node, nodeIndex, start,\n\t\t\t\t\t\tdir = simple !== forward ? \"nextSibling\" : \"previousSibling\",\n\t\t\t\t\t\tparent = elem.parentNode,\n\t\t\t\t\t\tname = ofType && elem.nodeName.toLowerCase(),\n\t\t\t\t\t\tuseCache = !xml && !ofType,\n\t\t\t\t\t\tdiff = false;\n\n\t\t\t\t\tif ( parent ) {\n\n\t\t\t\t\t\t// :(first|last|only)-(child|of-type)\n\t\t\t\t\t\tif ( simple ) {\n\t\t\t\t\t\t\twhile ( dir ) {\n\t\t\t\t\t\t\t\tnode = elem;\n\t\t\t\t\t\t\t\twhile ( (node = node[ dir ]) ) {\n\t\t\t\t\t\t\t\t\tif ( ofType ?\n\t\t\t\t\t\t\t\t\t\tnode.nodeName.toLowerCase() === name :\n\t\t\t\t\t\t\t\t\t\tnode.nodeType === 1 ) {\n\n\t\t\t\t\t\t\t\t\t\treturn false;\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t// Reverse direction for :only-* (if we haven't yet done so)\n\t\t\t\t\t\t\t\tstart = dir = type === \"only\" && !start && \"nextSibling\";\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\treturn true;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tstart = [ forward ? parent.firstChild : parent.lastChild ];\n\n\t\t\t\t\t\t// non-xml :nth-child(...) stores cache data on `parent`\n\t\t\t\t\t\tif ( forward && useCache ) {\n\n\t\t\t\t\t\t\t// Seek `elem` from a previously-cached index\n\n\t\t\t\t\t\t\t// ...in a gzip-friendly way\n\t\t\t\t\t\t\tnode = parent;\n\t\t\t\t\t\t\touterCache = node[ expando ] || (node[ expando ] = {});\n\n\t\t\t\t\t\t\t// Support: IE <9 only\n\t\t\t\t\t\t\t// Defend against cloned attroperties (jQuery gh-1709)\n\t\t\t\t\t\t\tuniqueCache = outerCache[ node.uniqueID ] ||\n\t\t\t\t\t\t\t\t(outerCache[ node.uniqueID ] = {});\n\n\t\t\t\t\t\t\tcache = uniqueCache[ type ] || [];\n\t\t\t\t\t\t\tnodeIndex = cache[ 0 ] === dirruns && cache[ 1 ];\n\t\t\t\t\t\t\tdiff = nodeIndex && cache[ 2 ];\n\t\t\t\t\t\t\tnode = nodeIndex && parent.childNodes[ nodeIndex ];\n\n\t\t\t\t\t\t\twhile ( (node = ++nodeIndex && node && node[ dir ] ||\n\n\t\t\t\t\t\t\t\t// Fallback to seeking `elem` from the start\n\t\t\t\t\t\t\t\t(diff = nodeIndex = 0) || start.pop()) ) {\n\n\t\t\t\t\t\t\t\t// When found, cache indexes on `parent` and break\n\t\t\t\t\t\t\t\tif ( node.nodeType === 1 && ++diff && node === elem ) {\n\t\t\t\t\t\t\t\t\tuniqueCache[ type ] = [ dirruns, nodeIndex, diff ];\n\t\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t// Use previously-cached element index if available\n\t\t\t\t\t\t\tif ( useCache ) {\n\t\t\t\t\t\t\t\t// ...in a gzip-friendly way\n\t\t\t\t\t\t\t\tnode = elem;\n\t\t\t\t\t\t\t\touterCache = node[ expando ] || (node[ expando ] = {});\n\n\t\t\t\t\t\t\t\t// Support: IE <9 only\n\t\t\t\t\t\t\t\t// Defend against cloned attroperties (jQuery gh-1709)\n\t\t\t\t\t\t\t\tuniqueCache = outerCache[ node.uniqueID ] ||\n\t\t\t\t\t\t\t\t\t(outerCache[ node.uniqueID ] = {});\n\n\t\t\t\t\t\t\t\tcache = uniqueCache[ type ] || [];\n\t\t\t\t\t\t\t\tnodeIndex = cache[ 0 ] === dirruns && cache[ 1 ];\n\t\t\t\t\t\t\t\tdiff = nodeIndex;\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t// xml :nth-child(...)\n\t\t\t\t\t\t\t// or :nth-last-child(...) or :nth(-last)?-of-type(...)\n\t\t\t\t\t\t\tif ( diff === false ) {\n\t\t\t\t\t\t\t\t// Use the same loop as above to seek `elem` from the start\n\t\t\t\t\t\t\t\twhile ( (node = ++nodeIndex && node && node[ dir ] ||\n\t\t\t\t\t\t\t\t\t(diff = nodeIndex = 0) || start.pop()) ) {\n\n\t\t\t\t\t\t\t\t\tif ( ( ofType ?\n\t\t\t\t\t\t\t\t\t\tnode.nodeName.toLowerCase() === name :\n\t\t\t\t\t\t\t\t\t\tnode.nodeType === 1 ) &&\n\t\t\t\t\t\t\t\t\t\t++diff ) {\n\n\t\t\t\t\t\t\t\t\t\t// Cache the index of each encountered element\n\t\t\t\t\t\t\t\t\t\tif ( useCache ) {\n\t\t\t\t\t\t\t\t\t\t\touterCache = node[ expando ] || (node[ expando ] = {});\n\n\t\t\t\t\t\t\t\t\t\t\t// Support: IE <9 only\n\t\t\t\t\t\t\t\t\t\t\t// Defend against cloned attroperties (jQuery gh-1709)\n\t\t\t\t\t\t\t\t\t\t\tuniqueCache = outerCache[ node.uniqueID ] ||\n\t\t\t\t\t\t\t\t\t\t\t\t(outerCache[ node.uniqueID ] = {});\n\n\t\t\t\t\t\t\t\t\t\t\tuniqueCache[ type ] = [ dirruns, diff ];\n\t\t\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t\t\tif ( node === elem ) {\n\t\t\t\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t// Incorporate the offset, then check against cycle size\n\t\t\t\t\t\tdiff -= last;\n\t\t\t\t\t\treturn diff === first || ( diff % first === 0 && diff / first >= 0 );\n\t\t\t\t\t}\n\t\t\t\t};\n\t\t},\n\n\t\t\"PSEUDO\": function( pseudo, argument ) {\n\t\t\t// pseudo-class names are case-insensitive\n\t\t\t// http://www.w3.org/TR/selectors/#pseudo-classes\n\t\t\t// Prioritize by case sensitivity in case custom pseudos are added with uppercase letters\n\t\t\t// Remember that setFilters inherits from pseudos\n\t\t\tvar args,\n\t\t\t\tfn = Expr.pseudos[ pseudo ] || Expr.setFilters[ pseudo.toLowerCase() ] ||\n\t\t\t\t\tSizzle.error( \"unsupported pseudo: \" + pseudo );\n\n\t\t\t// The user may use createPseudo to indicate that\n\t\t\t// arguments are needed to create the filter function\n\t\t\t// just as Sizzle does\n\t\t\tif ( fn[ expando ] ) {\n\t\t\t\treturn fn( argument );\n\t\t\t}\n\n\t\t\t// But maintain support for old signatures\n\t\t\tif ( fn.length > 1 ) {\n\t\t\t\targs = [ pseudo, pseudo, \"\", argument ];\n\t\t\t\treturn Expr.setFilters.hasOwnProperty( pseudo.toLowerCase() ) ?\n\t\t\t\t\tmarkFunction(function( seed, matches ) {\n\t\t\t\t\t\tvar idx,\n\t\t\t\t\t\t\tmatched = fn( seed, argument ),\n\t\t\t\t\t\t\ti = matched.length;\n\t\t\t\t\t\twhile ( i-- ) {\n\t\t\t\t\t\t\tidx = indexOf( seed, matched[i] );\n\t\t\t\t\t\t\tseed[ idx ] = !( matches[ idx ] = matched[i] );\n\t\t\t\t\t\t}\n\t\t\t\t\t}) :\n\t\t\t\t\tfunction( elem ) {\n\t\t\t\t\t\treturn fn( elem, 0, args );\n\t\t\t\t\t};\n\t\t\t}\n\n\t\t\treturn fn;\n\t\t}\n\t},\n\n\tpseudos: {\n\t\t// Potentially complex pseudos\n\t\t\"not\": markFunction(function( selector ) {\n\t\t\t// Trim the selector passed to compile\n\t\t\t// to avoid treating leading and trailing\n\t\t\t// spaces as combinators\n\t\t\tvar input = [],\n\t\t\t\tresults = [],\n\t\t\t\tmatcher = compile( selector.replace( rtrim, \"$1\" ) );\n\n\t\t\treturn matcher[ expando ] ?\n\t\t\t\tmarkFunction(function( seed, matches, context, xml ) {\n\t\t\t\t\tvar elem,\n\t\t\t\t\t\tunmatched = matcher( seed, null, xml, [] ),\n\t\t\t\t\t\ti = seed.length;\n\n\t\t\t\t\t// Match elements unmatched by `matcher`\n\t\t\t\t\twhile ( i-- ) {\n\t\t\t\t\t\tif ( (elem = unmatched[i]) ) {\n\t\t\t\t\t\t\tseed[i] = !(matches[i] = elem);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}) :\n\t\t\t\tfunction( elem, context, xml ) {\n\t\t\t\t\tinput[0] = elem;\n\t\t\t\t\tmatcher( input, null, xml, results );\n\t\t\t\t\t// Don't keep the element (issue #299)\n\t\t\t\t\tinput[0] = null;\n\t\t\t\t\treturn !results.pop();\n\t\t\t\t};\n\t\t}),\n\n\t\t\"has\": markFunction(function( selector ) {\n\t\t\treturn function( elem ) {\n\t\t\t\treturn Sizzle( selector, elem ).length > 0;\n\t\t\t};\n\t\t}),\n\n\t\t\"contains\": markFunction(function( text ) {\n\t\t\ttext = text.replace( runescape, funescape );\n\t\t\treturn function( elem ) {\n\t\t\t\treturn ( elem.textContent || elem.innerText || getText( elem ) ).indexOf( text ) > -1;\n\t\t\t};\n\t\t}),\n\n\t\t// \"Whether an element is represented by a :lang() selector\n\t\t// is based solely on the element's language value\n\t\t// being equal to the identifier C,\n\t\t// or beginning with the identifier C immediately followed by \"-\".\n\t\t// The matching of C against the element's language value is performed case-insensitively.\n\t\t// The identifier C does not have to be a valid language name.\"\n\t\t// http://www.w3.org/TR/selectors/#lang-pseudo\n\t\t\"lang\": markFunction( function( lang ) {\n\t\t\t// lang value must be a valid identifier\n\t\t\tif ( !ridentifier.test(lang || \"\") ) {\n\t\t\t\tSizzle.error( \"unsupported lang: \" + lang );\n\t\t\t}\n\t\t\tlang = lang.replace( runescape, funescape ).toLowerCase();\n\t\t\treturn function( elem ) {\n\t\t\t\tvar elemLang;\n\t\t\t\tdo {\n\t\t\t\t\tif ( (elemLang = documentIsHTML ?\n\t\t\t\t\t\telem.lang :\n\t\t\t\t\t\telem.getAttribute(\"xml:lang\") || elem.getAttribute(\"lang\")) ) {\n\n\t\t\t\t\t\telemLang = elemLang.toLowerCase();\n\t\t\t\t\t\treturn elemLang === lang || elemLang.indexOf( lang + \"-\" ) === 0;\n\t\t\t\t\t}\n\t\t\t\t} while ( (elem = elem.parentNode) && elem.nodeType === 1 );\n\t\t\t\treturn false;\n\t\t\t};\n\t\t}),\n\n\t\t// Miscellaneous\n\t\t\"target\": function( elem ) {\n\t\t\tvar hash = window.location && window.location.hash;\n\t\t\treturn hash && hash.slice( 1 ) === elem.id;\n\t\t},\n\n\t\t\"root\": function( elem ) {\n\t\t\treturn elem === docElem;\n\t\t},\n\n\t\t\"focus\": function( elem ) {\n\t\t\treturn elem === document.activeElement && (!document.hasFocus || document.hasFocus()) && !!(elem.type || elem.href || ~elem.tabIndex);\n\t\t},\n\n\t\t// Boolean properties\n\t\t\"enabled\": function( elem ) {\n\t\t\treturn elem.disabled === false;\n\t\t},\n\n\t\t\"disabled\": function( elem ) {\n\t\t\treturn elem.disabled === true;\n\t\t},\n\n\t\t\"checked\": function( elem ) {\n\t\t\t// In CSS3, :checked should return both checked and selected elements\n\t\t\t// http://www.w3.org/TR/2011/REC-css3-selectors-20110929/#checked\n\t\t\tvar nodeName = elem.nodeName.toLowerCase();\n\t\t\treturn (nodeName === \"input\" && !!elem.checked) || (nodeName === \"option\" && !!elem.selected);\n\t\t},\n\n\t\t\"selected\": function( elem ) {\n\t\t\t// Accessing this property makes selected-by-default\n\t\t\t// options in Safari work properly\n\t\t\tif ( elem.parentNode ) {\n\t\t\t\telem.parentNode.selectedIndex;\n\t\t\t}\n\n\t\t\treturn elem.selected === true;\n\t\t},\n\n\t\t// Contents\n\t\t\"empty\": function( elem ) {\n\t\t\t// http://www.w3.org/TR/selectors/#empty-pseudo\n\t\t\t// :empty is negated by element (1) or content nodes (text: 3; cdata: 4; entity ref: 5),\n\t\t\t// but not by others (comment: 8; processing instruction: 7; etc.)\n\t\t\t// nodeType < 6 works because attributes (2) do not appear as children\n\t\t\tfor ( elem = elem.firstChild; elem; elem = elem.nextSibling ) {\n\t\t\t\tif ( elem.nodeType < 6 ) {\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn true;\n\t\t},\n\n\t\t\"parent\": function( elem ) {\n\t\t\treturn !Expr.pseudos[\"empty\"]( elem );\n\t\t},\n\n\t\t// Element/input types\n\t\t\"header\": function( elem ) {\n\t\t\treturn rheader.test( elem.nodeName );\n\t\t},\n\n\t\t\"input\": function( elem ) {\n\t\t\treturn rinputs.test( elem.nodeName );\n\t\t},\n\n\t\t\"button\": function( elem ) {\n\t\t\tvar name = elem.nodeName.toLowerCase();\n\t\t\treturn name === \"input\" && elem.type === \"button\" || name === \"button\";\n\t\t},\n\n\t\t\"text\": function( elem ) {\n\t\t\tvar attr;\n\t\t\treturn elem.nodeName.toLowerCase() === \"input\" &&\n\t\t\t\telem.type === \"text\" &&\n\n\t\t\t\t// Support: IE<8\n\t\t\t\t// New HTML5 attribute values (e.g., \"search\") appear with elem.type === \"text\"\n\t\t\t\t( (attr = elem.getAttribute(\"type\")) == null || attr.toLowerCase() === \"text\" );\n\t\t},\n\n\t\t// Position-in-collection\n\t\t\"first\": createPositionalPseudo(function() {\n\t\t\treturn [ 0 ];\n\t\t}),\n\n\t\t\"last\": createPositionalPseudo(function( matchIndexes, length ) {\n\t\t\treturn [ length - 1 ];\n\t\t}),\n\n\t\t\"eq\": createPositionalPseudo(function( matchIndexes, length, argument ) {\n\t\t\treturn [ argument < 0 ? argument + length : argument ];\n\t\t}),\n\n\t\t\"even\": createPositionalPseudo(function( matchIndexes, length ) {\n\t\t\tvar i = 0;\n\t\t\tfor ( ; i < length; i += 2 ) {\n\t\t\t\tmatchIndexes.push( i );\n\t\t\t}\n\t\t\treturn matchIndexes;\n\t\t}),\n\n\t\t\"odd\": createPositionalPseudo(function( matchIndexes, length ) {\n\t\t\tvar i = 1;\n\t\t\tfor ( ; i < length; i += 2 ) {\n\t\t\t\tmatchIndexes.push( i );\n\t\t\t}\n\t\t\treturn matchIndexes;\n\t\t}),\n\n\t\t\"lt\": createPositionalPseudo(function( matchIndexes, length, argument ) {\n\t\t\tvar i = argument < 0 ? argument + length : argument;\n\t\t\tfor ( ; --i >= 0; ) {\n\t\t\t\tmatchIndexes.push( i );\n\t\t\t}\n\t\t\treturn matchIndexes;\n\t\t}),\n\n\t\t\"gt\": createPositionalPseudo(function( matchIndexes, length, argument ) {\n\t\t\tvar i = argument < 0 ? argument + length : argument;\n\t\t\tfor ( ; ++i < length; ) {\n\t\t\t\tmatchIndexes.push( i );\n\t\t\t}\n\t\t\treturn matchIndexes;\n\t\t})\n\t}\n};\n\nExpr.pseudos[\"nth\"] = Expr.pseudos[\"eq\"];\n\n// Add button/input type pseudos\nfor ( i in { radio: true, checkbox: true, file: true, password: true, image: true } ) {\n\tExpr.pseudos[ i ] = createInputPseudo( i );\n}\nfor ( i in { submit: true, reset: true } ) {\n\tExpr.pseudos[ i ] = createButtonPseudo( i );\n}\n\n// Easy API for creating new setFilters\nfunction setFilters() {}\nsetFilters.prototype = Expr.filters = Expr.pseudos;\nExpr.setFilters = new setFilters();\n\ntokenize = Sizzle.tokenize = function( selector, parseOnly ) {\n\tvar matched, match, tokens, type,\n\t\tsoFar, groups, preFilters,\n\t\tcached = tokenCache[ selector + \" \" ];\n\n\tif ( cached ) {\n\t\treturn parseOnly ? 0 : cached.slice( 0 );\n\t}\n\n\tsoFar = selector;\n\tgroups = [];\n\tpreFilters = Expr.preFilter;\n\n\twhile ( soFar ) {\n\n\t\t// Comma and first run\n\t\tif ( !matched || (match = rcomma.exec( soFar )) ) {\n\t\t\tif ( match ) {\n\t\t\t\t// Don't consume trailing commas as valid\n\t\t\t\tsoFar = soFar.slice( match[0].length ) || soFar;\n\t\t\t}\n\t\t\tgroups.push( (tokens = []) );\n\t\t}\n\n\t\tmatched = false;\n\n\t\t// Combinators\n\t\tif ( (match = rcombinators.exec( soFar )) ) {\n\t\t\tmatched = match.shift();\n\t\t\ttokens.push({\n\t\t\t\tvalue: matched,\n\t\t\t\t// Cast descendant combinators to space\n\t\t\t\ttype: match[0].replace( rtrim, \" \" )\n\t\t\t});\n\t\t\tsoFar = soFar.slice( matched.length );\n\t\t}\n\n\t\t// Filters\n\t\tfor ( type in Expr.filter ) {\n\t\t\tif ( (match = matchExpr[ type ].exec( soFar )) && (!preFilters[ type ] ||\n\t\t\t\t(match = preFilters[ type ]( match ))) ) {\n\t\t\t\tmatched = match.shift();\n\t\t\t\ttokens.push({\n\t\t\t\t\tvalue: matched,\n\t\t\t\t\ttype: type,\n\t\t\t\t\tmatches: match\n\t\t\t\t});\n\t\t\t\tsoFar = soFar.slice( matched.length );\n\t\t\t}\n\t\t}\n\n\t\tif ( !matched ) {\n\t\t\tbreak;\n\t\t}\n\t}\n\n\t// Return the length of the invalid excess\n\t// if we're just parsing\n\t// Otherwise, throw an error or return tokens\n\treturn parseOnly ?\n\t\tsoFar.length :\n\t\tsoFar ?\n\t\t\tSizzle.error( selector ) :\n\t\t\t// Cache the tokens\n\t\t\ttokenCache( selector, groups ).slice( 0 );\n};\n\nfunction toSelector( tokens ) {\n\tvar i = 0,\n\t\tlen = tokens.length,\n\t\tselector = \"\";\n\tfor ( ; i < len; i++ ) {\n\t\tselector += tokens[i].value;\n\t}\n\treturn selector;\n}\n\nfunction addCombinator( matcher, combinator, base ) {\n\tvar dir = combinator.dir,\n\t\tcheckNonElements = base && dir === \"parentNode\",\n\t\tdoneName = done++;\n\n\treturn combinator.first ?\n\t\t// Check against closest ancestor/preceding element\n\t\tfunction( elem, context, xml ) {\n\t\t\twhile ( (elem = elem[ dir ]) ) {\n\t\t\t\tif ( elem.nodeType === 1 || checkNonElements ) {\n\t\t\t\t\treturn matcher( elem, context, xml );\n\t\t\t\t}\n\t\t\t}\n\t\t} :\n\n\t\t// Check against all ancestor/preceding elements\n\t\tfunction( elem, context, xml ) {\n\t\t\tvar oldCache, uniqueCache, outerCache,\n\t\t\t\tnewCache = [ dirruns, doneName ];\n\n\t\t\t// We can't set arbitrary data on XML nodes, so they don't benefit from combinator caching\n\t\t\tif ( xml ) {\n\t\t\t\twhile ( (elem = elem[ dir ]) ) {\n\t\t\t\t\tif ( elem.nodeType === 1 || checkNonElements ) {\n\t\t\t\t\t\tif ( matcher( elem, context, xml ) ) {\n\t\t\t\t\t\t\treturn true;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\twhile ( (elem = elem[ dir ]) ) {\n\t\t\t\t\tif ( elem.nodeType === 1 || checkNonElements ) {\n\t\t\t\t\t\touterCache = elem[ expando ] || (elem[ expando ] = {});\n\n\t\t\t\t\t\t// Support: IE <9 only\n\t\t\t\t\t\t// Defend against cloned attroperties (jQuery gh-1709)\n\t\t\t\t\t\tuniqueCache = outerCache[ elem.uniqueID ] || (outerCache[ elem.uniqueID ] = {});\n\n\t\t\t\t\t\tif ( (oldCache = uniqueCache[ dir ]) &&\n\t\t\t\t\t\t\toldCache[ 0 ] === dirruns && oldCache[ 1 ] === doneName ) {\n\n\t\t\t\t\t\t\t// Assign to newCache so results back-propagate to previous elements\n\t\t\t\t\t\t\treturn (newCache[ 2 ] = oldCache[ 2 ]);\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t// Reuse newcache so results back-propagate to previous elements\n\t\t\t\t\t\t\tuniqueCache[ dir ] = newCache;\n\n\t\t\t\t\t\t\t// A match means we're done; a fail means we have to keep checking\n\t\t\t\t\t\t\tif ( (newCache[ 2 ] = matcher( elem, context, xml )) ) {\n\t\t\t\t\t\t\t\treturn true;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t};\n}\n\nfunction elementMatcher( matchers ) {\n\treturn matchers.length > 1 ?\n\t\tfunction( elem, context, xml ) {\n\t\t\tvar i = matchers.length;\n\t\t\twhile ( i-- ) {\n\t\t\t\tif ( !matchers[i]( elem, context, xml ) ) {\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn true;\n\t\t} :\n\t\tmatchers[0];\n}\n\nfunction multipleContexts( selector, contexts, results ) {\n\tvar i = 0,\n\t\tlen = contexts.length;\n\tfor ( ; i < len; i++ ) {\n\t\tSizzle( selector, contexts[i], results );\n\t}\n\treturn results;\n}\n\nfunction condense( unmatched, map, filter, context, xml ) {\n\tvar elem,\n\t\tnewUnmatched = [],\n\t\ti = 0,\n\t\tlen = unmatched.length,\n\t\tmapped = map != null;\n\n\tfor ( ; i < len; i++ ) {\n\t\tif ( (elem = unmatched[i]) ) {\n\t\t\tif ( !filter || filter( elem, context, xml ) ) {\n\t\t\t\tnewUnmatched.push( elem );\n\t\t\t\tif ( mapped ) {\n\t\t\t\t\tmap.push( i );\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\treturn newUnmatched;\n}\n\nfunction setMatcher( preFilter, selector, matcher, postFilter, postFinder, postSelector ) {\n\tif ( postFilter && !postFilter[ expando ] ) {\n\t\tpostFilter = setMatcher( postFilter );\n\t}\n\tif ( postFinder && !postFinder[ expando ] ) {\n\t\tpostFinder = setMatcher( postFinder, postSelector );\n\t}\n\treturn markFunction(function( seed, results, context, xml ) {\n\t\tvar temp, i, elem,\n\t\t\tpreMap = [],\n\t\t\tpostMap = [],\n\t\t\tpreexisting = results.length,\n\n\t\t\t// Get initial elements from seed or context\n\t\t\telems = seed || multipleContexts( selector || \"*\", context.nodeType ? [ context ] : context, [] ),\n\n\t\t\t// Prefilter to get matcher input, preserving a map for seed-results synchronization\n\t\t\tmatcherIn = preFilter && ( seed || !selector ) ?\n\t\t\t\tcondense( elems, preMap, preFilter, context, xml ) :\n\t\t\t\telems,\n\n\t\t\tmatcherOut = matcher ?\n\t\t\t\t// If we have a postFinder, or filtered seed, or non-seed postFilter or preexisting results,\n\t\t\t\tpostFinder || ( seed ? preFilter : preexisting || postFilter ) ?\n\n\t\t\t\t\t// ...intermediate processing is necessary\n\t\t\t\t\t[] :\n\n\t\t\t\t\t// ...otherwise use results directly\n\t\t\t\t\tresults :\n\t\t\t\tmatcherIn;\n\n\t\t// Find primary matches\n\t\tif ( matcher ) {\n\t\t\tmatcher( matcherIn, matcherOut, context, xml );\n\t\t}\n\n\t\t// Apply postFilter\n\t\tif ( postFilter ) {\n\t\t\ttemp = condense( matcherOut, postMap );\n\t\t\tpostFilter( temp, [], context, xml );\n\n\t\t\t// Un-match failing elements by moving them back to matcherIn\n\t\t\ti = temp.length;\n\t\t\twhile ( i-- ) {\n\t\t\t\tif ( (elem = temp[i]) ) {\n\t\t\t\t\tmatcherOut[ postMap[i] ] = !(matcherIn[ postMap[i] ] = elem);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tif ( seed ) {\n\t\t\tif ( postFinder || preFilter ) {\n\t\t\t\tif ( postFinder ) {\n\t\t\t\t\t// Get the final matcherOut by condensing this intermediate into postFinder contexts\n\t\t\t\t\ttemp = [];\n\t\t\t\t\ti = matcherOut.length;\n\t\t\t\t\twhile ( i-- ) {\n\t\t\t\t\t\tif ( (elem = matcherOut[i]) ) {\n\t\t\t\t\t\t\t// Restore matcherIn since elem is not yet a final match\n\t\t\t\t\t\t\ttemp.push( (matcherIn[i] = elem) );\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tpostFinder( null, (matcherOut = []), temp, xml );\n\t\t\t\t}\n\n\t\t\t\t// Move matched elements from seed to results to keep them synchronized\n\t\t\t\ti = matcherOut.length;\n\t\t\t\twhile ( i-- ) {\n\t\t\t\t\tif ( (elem = matcherOut[i]) &&\n\t\t\t\t\t\t(temp = postFinder ? indexOf( seed, elem ) : preMap[i]) > -1 ) {\n\n\t\t\t\t\t\tseed[temp] = !(results[temp] = elem);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t// Add elements to results, through postFinder if defined\n\t\t} else {\n\t\t\tmatcherOut = condense(\n\t\t\t\tmatcherOut === results ?\n\t\t\t\t\tmatcherOut.splice( preexisting, matcherOut.length ) :\n\t\t\t\t\tmatcherOut\n\t\t\t);\n\t\t\tif ( postFinder ) {\n\t\t\t\tpostFinder( null, results, matcherOut, xml );\n\t\t\t} else {\n\t\t\t\tpush.apply( results, matcherOut );\n\t\t\t}\n\t\t}\n\t});\n}\n\nfunction matcherFromTokens( tokens ) {\n\tvar checkContext, matcher, j,\n\t\tlen = tokens.length,\n\t\tleadingRelative = Expr.relative[ tokens[0].type ],\n\t\timplicitRelative = leadingRelative || Expr.relative[\" \"],\n\t\ti = leadingRelative ? 1 : 0,\n\n\t\t// The foundational matcher ensures that elements are reachable from top-level context(s)\n\t\tmatchContext = addCombinator( function( elem ) {\n\t\t\treturn elem === checkContext;\n\t\t}, implicitRelative, true ),\n\t\tmatchAnyContext = addCombinator( function( elem ) {\n\t\t\treturn indexOf( checkContext, elem ) > -1;\n\t\t}, implicitRelative, true ),\n\t\tmatchers = [ function( elem, context, xml ) {\n\t\t\tvar ret = ( !leadingRelative && ( xml || context !== outermostContext ) ) || (\n\t\t\t\t(checkContext = context).nodeType ?\n\t\t\t\t\tmatchContext( elem, context, xml ) :\n\t\t\t\t\tmatchAnyContext( elem, context, xml ) );\n\t\t\t// Avoid hanging onto element (issue #299)\n\t\t\tcheckContext = null;\n\t\t\treturn ret;\n\t\t} ];\n\n\tfor ( ; i < len; i++ ) {\n\t\tif ( (matcher = Expr.relative[ tokens[i].type ]) ) {\n\t\t\tmatchers = [ addCombinator(elementMatcher( matchers ), matcher) ];\n\t\t} else {\n\t\t\tmatcher = Expr.filter[ tokens[i].type ].apply( null, tokens[i].matches );\n\n\t\t\t// Return special upon seeing a positional matcher\n\t\t\tif ( matcher[ expando ] ) {\n\t\t\t\t// Find the next relative operator (if any) for proper handling\n\t\t\t\tj = ++i;\n\t\t\t\tfor ( ; j < len; j++ ) {\n\t\t\t\t\tif ( Expr.relative[ tokens[j].type ] ) {\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\treturn setMatcher(\n\t\t\t\t\ti > 1 && elementMatcher( matchers ),\n\t\t\t\t\ti > 1 && toSelector(\n\t\t\t\t\t\t// If the preceding token was a descendant combinator, insert an implicit any-element `*`\n\t\t\t\t\t\ttokens.slice( 0, i - 1 ).concat({ value: tokens[ i - 2 ].type === \" \" ? \"*\" : \"\" })\n\t\t\t\t\t).replace( rtrim, \"$1\" ),\n\t\t\t\t\tmatcher,\n\t\t\t\t\ti < j && matcherFromTokens( tokens.slice( i, j ) ),\n\t\t\t\t\tj < len && matcherFromTokens( (tokens = tokens.slice( j )) ),\n\t\t\t\t\tj < len && toSelector( tokens )\n\t\t\t\t);\n\t\t\t}\n\t\t\tmatchers.push( matcher );\n\t\t}\n\t}\n\n\treturn elementMatcher( matchers );\n}\n\nfunction matcherFromGroupMatchers( elementMatchers, setMatchers ) {\n\tvar bySet = setMatchers.length > 0,\n\t\tbyElement = elementMatchers.length > 0,\n\t\tsuperMatcher = function( seed, context, xml, results, outermost ) {\n\t\t\tvar elem, j, matcher,\n\t\t\t\tmatchedCount = 0,\n\t\t\t\ti = \"0\",\n\t\t\t\tunmatched = seed && [],\n\t\t\t\tsetMatched = [],\n\t\t\t\tcontextBackup = outermostContext,\n\t\t\t\t// We must always have either seed elements or outermost context\n\t\t\t\telems = seed || byElement && Expr.find[\"TAG\"]( \"*\", outermost ),\n\t\t\t\t// Use integer dirruns iff this is the outermost matcher\n\t\t\t\tdirrunsUnique = (dirruns += contextBackup == null ? 1 : Math.random() || 0.1),\n\t\t\t\tlen = elems.length;\n\n\t\t\tif ( outermost ) {\n\t\t\t\toutermostContext = context === document || context || outermost;\n\t\t\t}\n\n\t\t\t// Add elements passing elementMatchers directly to results\n\t\t\t// Support: IE<9, Safari\n\t\t\t// Tolerate NodeList properties (IE: \"length\"; Safari: <number>) matching elements by id\n\t\t\tfor ( ; i !== len && (elem = elems[i]) != null; i++ ) {\n\t\t\t\tif ( byElement && elem ) {\n\t\t\t\t\tj = 0;\n\t\t\t\t\tif ( !context && elem.ownerDocument !== document ) {\n\t\t\t\t\t\tsetDocument( elem );\n\t\t\t\t\t\txml = !documentIsHTML;\n\t\t\t\t\t}\n\t\t\t\t\twhile ( (matcher = elementMatchers[j++]) ) {\n\t\t\t\t\t\tif ( matcher( elem, context || document, xml) ) {\n\t\t\t\t\t\t\tresults.push( elem );\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tif ( outermost ) {\n\t\t\t\t\t\tdirruns = dirrunsUnique;\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\t// Track unmatched elements for set filters\n\t\t\t\tif ( bySet ) {\n\t\t\t\t\t// They will have gone through all possible matchers\n\t\t\t\t\tif ( (elem = !matcher && elem) ) {\n\t\t\t\t\t\tmatchedCount--;\n\t\t\t\t\t}\n\n\t\t\t\t\t// Lengthen the array for every element, matched or not\n\t\t\t\t\tif ( seed ) {\n\t\t\t\t\t\tunmatched.push( elem );\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// `i` is now the count of elements visited above, and adding it to `matchedCount`\n\t\t\t// makes the latter nonnegative.\n\t\t\tmatchedCount += i;\n\n\t\t\t// Apply set filters to unmatched elements\n\t\t\t// NOTE: This can be skipped if there are no unmatched elements (i.e., `matchedCount`\n\t\t\t// equals `i`), unless we didn't visit _any_ elements in the above loop because we have\n\t\t\t// no element matchers and no seed.\n\t\t\t// Incrementing an initially-string \"0\" `i` allows `i` to remain a string only in that\n\t\t\t// case, which will result in a \"00\" `matchedCount` that differs from `i` but is also\n\t\t\t// numerically zero.\n\t\t\tif ( bySet && i !== matchedCount ) {\n\t\t\t\tj = 0;\n\t\t\t\twhile ( (matcher = setMatchers[j++]) ) {\n\t\t\t\t\tmatcher( unmatched, setMatched, context, xml );\n\t\t\t\t}\n\n\t\t\t\tif ( seed ) {\n\t\t\t\t\t// Reintegrate element matches to eliminate the need for sorting\n\t\t\t\t\tif ( matchedCount > 0 ) {\n\t\t\t\t\t\twhile ( i-- ) {\n\t\t\t\t\t\t\tif ( !(unmatched[i] || setMatched[i]) ) {\n\t\t\t\t\t\t\t\tsetMatched[i] = pop.call( results );\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\t// Discard index placeholder values to get only actual matches\n\t\t\t\t\tsetMatched = condense( setMatched );\n\t\t\t\t}\n\n\t\t\t\t// Add matches to results\n\t\t\t\tpush.apply( results, setMatched );\n\n\t\t\t\t// Seedless set matches succeeding multiple successful matchers stipulate sorting\n\t\t\t\tif ( outermost && !seed && setMatched.length > 0 &&\n\t\t\t\t\t( matchedCount + setMatchers.length ) > 1 ) {\n\n\t\t\t\t\tSizzle.uniqueSort( results );\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Override manipulation of globals by nested matchers\n\t\t\tif ( outermost ) {\n\t\t\t\tdirruns = dirrunsUnique;\n\t\t\t\toutermostContext = contextBackup;\n\t\t\t}\n\n\t\t\treturn unmatched;\n\t\t};\n\n\treturn bySet ?\n\t\tmarkFunction( superMatcher ) :\n\t\tsuperMatcher;\n}\n\ncompile = Sizzle.compile = function( selector, match /* Internal Use Only */ ) {\n\tvar i,\n\t\tsetMatchers = [],\n\t\telementMatchers = [],\n\t\tcached = compilerCache[ selector + \" \" ];\n\n\tif ( !cached ) {\n\t\t// Generate a function of recursive functions that can be used to check each element\n\t\tif ( !match ) {\n\t\t\tmatch = tokenize( selector );\n\t\t}\n\t\ti = match.length;\n\t\twhile ( i-- ) {\n\t\t\tcached = matcherFromTokens( match[i] );\n\t\t\tif ( cached[ expando ] ) {\n\t\t\t\tsetMatchers.push( cached );\n\t\t\t} else {\n\t\t\t\telementMatchers.push( cached );\n\t\t\t}\n\t\t}\n\n\t\t// Cache the compiled function\n\t\tcached = compilerCache( selector, matcherFromGroupMatchers( elementMatchers, setMatchers ) );\n\n\t\t// Save selector and tokenization\n\t\tcached.selector = selector;\n\t}\n\treturn cached;\n};\n\n/**\n * A low-level selection function that works with Sizzle's compiled\n * selector functions\n * @param {String|Function} selector A selector or a pre-compiled\n * selector function built with Sizzle.compile\n * @param {Element} context\n * @param {Array} [results]\n * @param {Array} [seed] A set of elements to match against\n */\nselect = Sizzle.select = function( selector, context, results, seed ) {\n\tvar i, tokens, token, type, find,\n\t\tcompiled = typeof selector === \"function\" && selector,\n\t\tmatch = !seed && tokenize( (selector = compiled.selector || selector) );\n\n\tresults = results || [];\n\n\t// Try to minimize operations if there is only one selector in the list and no seed\n\t// (the latter of which guarantees us context)\n\tif ( match.length === 1 ) {\n\n\t\t// Reduce context if the leading compound selector is an ID\n\t\ttokens = match[0] = match[0].slice( 0 );\n\t\tif ( tokens.length > 2 && (token = tokens[0]).type === \"ID\" &&\n\t\t\t\tsupport.getById && context.nodeType === 9 && documentIsHTML &&\n\t\t\t\tExpr.relative[ tokens[1].type ] ) {\n\n\t\t\tcontext = ( Expr.find[\"ID\"]( token.matches[0].replace(runescape, funescape), context ) || [] )[0];\n\t\t\tif ( !context ) {\n\t\t\t\treturn results;\n\n\t\t\t// Precompiled matchers will still verify ancestry, so step up a level\n\t\t\t} else if ( compiled ) {\n\t\t\t\tcontext = context.parentNode;\n\t\t\t}\n\n\t\t\tselector = selector.slice( tokens.shift().value.length );\n\t\t}\n\n\t\t// Fetch a seed set for right-to-left matching\n\t\ti = matchExpr[\"needsContext\"].test( selector ) ? 0 : tokens.length;\n\t\twhile ( i-- ) {\n\t\t\ttoken = tokens[i];\n\n\t\t\t// Abort if we hit a combinator\n\t\t\tif ( Expr.relative[ (type = token.type) ] ) {\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\tif ( (find = Expr.find[ type ]) ) {\n\t\t\t\t// Search, expanding context for leading sibling combinators\n\t\t\t\tif ( (seed = find(\n\t\t\t\t\ttoken.matches[0].replace( runescape, funescape ),\n\t\t\t\t\trsibling.test( tokens[0].type ) && testContext( context.parentNode ) || context\n\t\t\t\t)) ) {\n\n\t\t\t\t\t// If seed is empty or no tokens remain, we can return early\n\t\t\t\t\ttokens.splice( i, 1 );\n\t\t\t\t\tselector = seed.length && toSelector( tokens );\n\t\t\t\t\tif ( !selector ) {\n\t\t\t\t\t\tpush.apply( results, seed );\n\t\t\t\t\t\treturn results;\n\t\t\t\t\t}\n\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\t// Compile and execute a filtering function if one is not provided\n\t// Provide `match` to avoid retokenization if we modified the selector above\n\t( compiled || compile( selector, match ) )(\n\t\tseed,\n\t\tcontext,\n\t\t!documentIsHTML,\n\t\tresults,\n\t\t!context || rsibling.test( selector ) && testContext( context.parentNode ) || context\n\t);\n\treturn results;\n};\n\n// One-time assignments\n\n// Sort stability\nsupport.sortStable = expando.split(\"\").sort( sortOrder ).join(\"\") === expando;\n\n// Support: Chrome 14-35+\n// Always assume duplicates if they aren't passed to the comparison function\nsupport.detectDuplicates = !!hasDuplicate;\n\n// Initialize against the default document\nsetDocument();\n\n// Support: Webkit<537.32 - Safari 6.0.3/Chrome 25 (fixed in Chrome 27)\n// Detached nodes confoundingly follow *each other*\nsupport.sortDetached = assert(function( div1 ) {\n\t// Should return 1, but returns 4 (following)\n\treturn div1.compareDocumentPosition( document.createElement(\"div\") ) & 1;\n});\n\n// Support: IE<8\n// Prevent attribute/property \"interpolation\"\n// http://msdn.microsoft.com/en-us/library/ms536429%28VS.85%29.aspx\nif ( !assert(function( div ) {\n\tdiv.innerHTML = \"<a href='#'></a>\";\n\treturn div.firstChild.getAttribute(\"href\") === \"#\" ;\n}) ) {\n\taddHandle( \"type|href|height|width\", function( elem, name, isXML ) {\n\t\tif ( !isXML ) {\n\t\t\treturn elem.getAttribute( name, name.toLowerCase() === \"type\" ? 1 : 2 );\n\t\t}\n\t});\n}\n\n// Support: IE<9\n// Use defaultValue in place of getAttribute(\"value\")\nif ( !support.attributes || !assert(function( div ) {\n\tdiv.innerHTML = \"<input/>\";\n\tdiv.firstChild.setAttribute( \"value\", \"\" );\n\treturn div.firstChild.getAttribute( \"value\" ) === \"\";\n}) ) {\n\taddHandle( \"value\", function( elem, name, isXML ) {\n\t\tif ( !isXML && elem.nodeName.toLowerCase() === \"input\" ) {\n\t\t\treturn elem.defaultValue;\n\t\t}\n\t});\n}\n\n// Support: IE<9\n// Use getAttributeNode to fetch booleans when getAttribute lies\nif ( !assert(function( div ) {\n\treturn div.getAttribute(\"disabled\") == null;\n}) ) {\n\taddHandle( booleans, function( elem, name, isXML ) {\n\t\tvar val;\n\t\tif ( !isXML ) {\n\t\t\treturn elem[ name ] === true ? name.toLowerCase() :\n\t\t\t\t\t(val = elem.getAttributeNode( name )) && val.specified ?\n\t\t\t\t\tval.value :\n\t\t\t\tnull;\n\t\t}\n\t});\n}\n\nreturn Sizzle;\n\n})( window );\n\n\n\njQuery.find = Sizzle;\njQuery.expr = Sizzle.selectors;\njQuery.expr[ \":\" ] = jQuery.expr.pseudos;\njQuery.uniqueSort = jQuery.unique = Sizzle.uniqueSort;\njQuery.text = Sizzle.getText;\njQuery.isXMLDoc = Sizzle.isXML;\njQuery.contains = Sizzle.contains;\n\n\n\nvar dir = function( elem, dir, until ) {\n\tvar matched = [],\n\t\ttruncate = until !== undefined;\n\n\twhile ( ( elem = elem[ dir ] ) && elem.nodeType !== 9 ) {\n\t\tif ( elem.nodeType === 1 ) {\n\t\t\tif ( truncate && jQuery( elem ).is( until ) ) {\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\tmatched.push( elem );\n\t\t}\n\t}\n\treturn matched;\n};\n\n\nvar siblings = function( n, elem ) {\n\tvar matched = [];\n\n\tfor ( ; n; n = n.nextSibling ) {\n\t\tif ( n.nodeType === 1 && n !== elem ) {\n\t\t\tmatched.push( n );\n\t\t}\n\t}\n\n\treturn matched;\n};\n\n\nvar rneedsContext = jQuery.expr.match.needsContext;\n\nvar rsingleTag = ( /^<([\\w-]+)\\s*\\/?>(?:<\\/\\1>|)$/ );\n\n\n\nvar risSimple = /^.[^:#\\[\\.,]*$/;\n\n// Implement the identical functionality for filter and not\nfunction winnow( elements, qualifier, not ) {\n\tif ( jQuery.isFunction( qualifier ) ) {\n\t\treturn jQuery.grep( elements, function( elem, i ) {\n\t\t\t/* jshint -W018 */\n\t\t\treturn !!qualifier.call( elem, i, elem ) !== not;\n\t\t} );\n\n\t}\n\n\tif ( qualifier.nodeType ) {\n\t\treturn jQuery.grep( elements, function( elem ) {\n\t\t\treturn ( elem === qualifier ) !== not;\n\t\t} );\n\n\t}\n\n\tif ( typeof qualifier === \"string\" ) {\n\t\tif ( risSimple.test( qualifier ) ) {\n\t\t\treturn jQuery.filter( qualifier, elements, not );\n\t\t}\n\n\t\tqualifier = jQuery.filter( qualifier, elements );\n\t}\n\n\treturn jQuery.grep( elements, function( elem ) {\n\t\treturn ( jQuery.inArray( elem, qualifier ) > -1 ) !== not;\n\t} );\n}\n\njQuery.filter = function( expr, elems, not ) {\n\tvar elem = elems[ 0 ];\n\n\tif ( not ) {\n\t\texpr = \":not(\" + expr + \")\";\n\t}\n\n\treturn elems.length === 1 && elem.nodeType === 1 ?\n\t\tjQuery.find.matchesSelector( elem, expr ) ? [ elem ] : [] :\n\t\tjQuery.find.matches( expr, jQuery.grep( elems, function( elem ) {\n\t\t\treturn elem.nodeType === 1;\n\t\t} ) );\n};\n\njQuery.fn.extend( {\n\tfind: function( selector ) {\n\t\tvar i,\n\t\t\tret = [],\n\t\t\tself = this,\n\t\t\tlen = self.length;\n\n\t\tif ( typeof selector !== \"string\" ) {\n\t\t\treturn this.pushStack( jQuery( selector ).filter( function() {\n\t\t\t\tfor ( i = 0; i < len; i++ ) {\n\t\t\t\t\tif ( jQuery.contains( self[ i ], this ) ) {\n\t\t\t\t\t\treturn true;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} ) );\n\t\t}\n\n\t\tfor ( i = 0; i < len; i++ ) {\n\t\t\tjQuery.find( selector, self[ i ], ret );\n\t\t}\n\n\t\t// Needed because $( selector, context ) becomes $( context ).find( selector )\n\t\tret = this.pushStack( len > 1 ? jQuery.unique( ret ) : ret );\n\t\tret.selector = this.selector ? this.selector + \" \" + selector : selector;\n\t\treturn ret;\n\t},\n\tfilter: function( selector ) {\n\t\treturn this.pushStack( winnow( this, selector || [], false ) );\n\t},\n\tnot: function( selector ) {\n\t\treturn this.pushStack( winnow( this, selector || [], true ) );\n\t},\n\tis: function( selector ) {\n\t\treturn !!winnow(\n\t\t\tthis,\n\n\t\t\t// If this is a positional/relative selector, check membership in the returned set\n\t\t\t// so $(\"p:first\").is(\"p:last\") won't return true for a doc with two \"p\".\n\t\t\ttypeof selector === \"string\" && rneedsContext.test( selector ) ?\n\t\t\t\tjQuery( selector ) :\n\t\t\t\tselector || [],\n\t\t\tfalse\n\t\t).length;\n\t}\n} );\n\n\n// Initialize a jQuery object\n\n\n// A central reference to the root jQuery(document)\nvar rootjQuery,\n\n\t// A simple way to check for HTML strings\n\t// Prioritize #id over <tag> to avoid XSS via location.hash (#9521)\n\t// Strict HTML recognition (#11290: must start with <)\n\trquickExpr = /^(?:\\s*(<[\\w\\W]+>)[^>]*|#([\\w-]*))$/,\n\n\tinit = jQuery.fn.init = function( selector, context, root ) {\n\t\tvar match, elem;\n\n\t\t// HANDLE: $(\"\"), $(null), $(undefined), $(false)\n\t\tif ( !selector ) {\n\t\t\treturn this;\n\t\t}\n\n\t\t// init accepts an alternate rootjQuery\n\t\t// so migrate can support jQuery.sub (gh-2101)\n\t\troot = root || rootjQuery;\n\n\t\t// Handle HTML strings\n\t\tif ( typeof selector === \"string\" ) {\n\t\t\tif ( selector.charAt( 0 ) === \"<\" &&\n\t\t\t\tselector.charAt( selector.length - 1 ) === \">\" &&\n\t\t\t\tselector.length >= 3 ) {\n\n\t\t\t\t// Assume that strings that start and end with <> are HTML and skip the regex check\n\t\t\t\tmatch = [ null, selector, null ];\n\n\t\t\t} else {\n\t\t\t\tmatch = rquickExpr.exec( selector );\n\t\t\t}\n\n\t\t\t// Match html or make sure no context is specified for #id\n\t\t\tif ( match && ( match[ 1 ] || !context ) ) {\n\n\t\t\t\t// HANDLE: $(html) -> $(array)\n\t\t\t\tif ( match[ 1 ] ) {\n\t\t\t\t\tcontext = context instanceof jQuery ? context[ 0 ] : context;\n\n\t\t\t\t\t// scripts is true for back-compat\n\t\t\t\t\t// Intentionally let the error be thrown if parseHTML is not present\n\t\t\t\t\tjQuery.merge( this, jQuery.parseHTML(\n\t\t\t\t\t\tmatch[ 1 ],\n\t\t\t\t\t\tcontext && context.nodeType ? context.ownerDocument || context : document,\n\t\t\t\t\t\ttrue\n\t\t\t\t\t) );\n\n\t\t\t\t\t// HANDLE: $(html, props)\n\t\t\t\t\tif ( rsingleTag.test( match[ 1 ] ) && jQuery.isPlainObject( context ) ) {\n\t\t\t\t\t\tfor ( match in context ) {\n\n\t\t\t\t\t\t\t// Properties of context are called as methods if possible\n\t\t\t\t\t\t\tif ( jQuery.isFunction( this[ match ] ) ) {\n\t\t\t\t\t\t\t\tthis[ match ]( context[ match ] );\n\n\t\t\t\t\t\t\t// ...and otherwise set as attributes\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\tthis.attr( match, context[ match ] );\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\treturn this;\n\n\t\t\t\t// HANDLE: $(#id)\n\t\t\t\t} else {\n\t\t\t\t\telem = document.getElementById( match[ 2 ] );\n\n\t\t\t\t\t// Check parentNode to catch when Blackberry 4.6 returns\n\t\t\t\t\t// nodes that are no longer in the document #6963\n\t\t\t\t\tif ( elem && elem.parentNode ) {\n\n\t\t\t\t\t\t// Handle the case where IE and Opera return items\n\t\t\t\t\t\t// by name instead of ID\n\t\t\t\t\t\tif ( elem.id !== match[ 2 ] ) {\n\t\t\t\t\t\t\treturn rootjQuery.find( selector );\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t// Otherwise, we inject the element directly into the jQuery object\n\t\t\t\t\t\tthis.length = 1;\n\t\t\t\t\t\tthis[ 0 ] = elem;\n\t\t\t\t\t}\n\n\t\t\t\t\tthis.context = document;\n\t\t\t\t\tthis.selector = selector;\n\t\t\t\t\treturn this;\n\t\t\t\t}\n\n\t\t\t// HANDLE: $(expr, $(...))\n\t\t\t} else if ( !context || context.jquery ) {\n\t\t\t\treturn ( context || root ).find( selector );\n\n\t\t\t// HANDLE: $(expr, context)\n\t\t\t// (which is just equivalent to: $(context).find(expr)\n\t\t\t} else {\n\t\t\t\treturn this.constructor( context ).find( selector );\n\t\t\t}\n\n\t\t// HANDLE: $(DOMElement)\n\t\t} else if ( selector.nodeType ) {\n\t\t\tthis.context = this[ 0 ] = selector;\n\t\t\tthis.length = 1;\n\t\t\treturn this;\n\n\t\t// HANDLE: $(function)\n\t\t// Shortcut for document ready\n\t\t} else if ( jQuery.isFunction( selector ) ) {\n\t\t\treturn typeof root.ready !== \"undefined\" ?\n\t\t\t\troot.ready( selector ) :\n\n\t\t\t\t// Execute immediately if ready is not present\n\t\t\t\tselector( jQuery );\n\t\t}\n\n\t\tif ( selector.selector !== undefined ) {\n\t\t\tthis.selector = selector.selector;\n\t\t\tthis.context = selector.context;\n\t\t}\n\n\t\treturn jQuery.makeArray( selector, this );\n\t};\n\n// Give the init function the jQuery prototype for later instantiation\ninit.prototype = jQuery.fn;\n\n// Initialize central reference\nrootjQuery = jQuery( document );\n\n\nvar rparentsprev = /^(?:parents|prev(?:Until|All))/,\n\n\t// methods guaranteed to produce a unique set when starting from a unique set\n\tguaranteedUnique = {\n\t\tchildren: true,\n\t\tcontents: true,\n\t\tnext: true,\n\t\tprev: true\n\t};\n\njQuery.fn.extend( {\n\thas: function( target ) {\n\t\tvar i,\n\t\t\ttargets = jQuery( target, this ),\n\t\t\tlen = targets.length;\n\n\t\treturn this.filter( function() {\n\t\t\tfor ( i = 0; i < len; i++ ) {\n\t\t\t\tif ( jQuery.contains( this, targets[ i ] ) ) {\n\t\t\t\t\treturn true;\n\t\t\t\t}\n\t\t\t}\n\t\t} );\n\t},\n\n\tclosest: function( selectors, context ) {\n\t\tvar cur,\n\t\t\ti = 0,\n\t\t\tl = this.length,\n\t\t\tmatched = [],\n\t\t\tpos = rneedsContext.test( selectors ) || typeof selectors !== \"string\" ?\n\t\t\t\tjQuery( selectors, context || this.context ) :\n\t\t\t\t0;\n\n\t\tfor ( ; i < l; i++ ) {\n\t\t\tfor ( cur = this[ i ]; cur && cur !== context; cur = cur.parentNode ) {\n\n\t\t\t\t// Always skip document fragments\n\t\t\t\tif ( cur.nodeType < 11 && ( pos ?\n\t\t\t\t\tpos.index( cur ) > -1 :\n\n\t\t\t\t\t// Don't pass non-elements to Sizzle\n\t\t\t\t\tcur.nodeType === 1 &&\n\t\t\t\t\t\tjQuery.find.matchesSelector( cur, selectors ) ) ) {\n\n\t\t\t\t\tmatched.push( cur );\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn this.pushStack( matched.length > 1 ? jQuery.uniqueSort( matched ) : matched );\n\t},\n\n\t// Determine the position of an element within\n\t// the matched set of elements\n\tindex: function( elem ) {\n\n\t\t// No argument, return index in parent\n\t\tif ( !elem ) {\n\t\t\treturn ( this[ 0 ] && this[ 0 ].parentNode ) ? this.first().prevAll().length : -1;\n\t\t}\n\n\t\t// index in selector\n\t\tif ( typeof elem === \"string\" ) {\n\t\t\treturn jQuery.inArray( this[ 0 ], jQuery( elem ) );\n\t\t}\n\n\t\t// Locate the position of the desired element\n\t\treturn jQuery.inArray(\n\n\t\t\t// If it receives a jQuery object, the first element is used\n\t\t\telem.jquery ? elem[ 0 ] : elem, this );\n\t},\n\n\tadd: function( selector, context ) {\n\t\treturn this.pushStack(\n\t\t\tjQuery.uniqueSort(\n\t\t\t\tjQuery.merge( this.get(), jQuery( selector, context ) )\n\t\t\t)\n\t\t);\n\t},\n\n\taddBack: function( selector ) {\n\t\treturn this.add( selector == null ?\n\t\t\tthis.prevObject : this.prevObject.filter( selector )\n\t\t);\n\t}\n} );\n\nfunction sibling( cur, dir ) {\n\tdo {\n\t\tcur = cur[ dir ];\n\t} while ( cur && cur.nodeType !== 1 );\n\n\treturn cur;\n}\n\njQuery.each( {\n\tparent: function( elem ) {\n\t\tvar parent = elem.parentNode;\n\t\treturn parent && parent.nodeType !== 11 ? parent : null;\n\t},\n\tparents: function( elem ) {\n\t\treturn dir( elem, \"parentNode\" );\n\t},\n\tparentsUntil: function( elem, i, until ) {\n\t\treturn dir( elem, \"parentNode\", until );\n\t},\n\tnext: function( elem ) {\n\t\treturn sibling( elem, \"nextSibling\" );\n\t},\n\tprev: function( elem ) {\n\t\treturn sibling( elem, \"previousSibling\" );\n\t},\n\tnextAll: function( elem ) {\n\t\treturn dir( elem, \"nextSibling\" );\n\t},\n\tprevAll: function( elem ) {\n\t\treturn dir( elem, \"previousSibling\" );\n\t},\n\tnextUntil: function( elem, i, until ) {\n\t\treturn dir( elem, \"nextSibling\", until );\n\t},\n\tprevUntil: function( elem, i, until ) {\n\t\treturn dir( elem, \"previousSibling\", until );\n\t},\n\tsiblings: function( elem ) {\n\t\treturn siblings( ( elem.parentNode || {} ).firstChild, elem );\n\t},\n\tchildren: function( elem ) {\n\t\treturn siblings( elem.firstChild );\n\t},\n\tcontents: function( elem ) {\n\t\treturn jQuery.nodeName( elem, \"iframe\" ) ?\n\t\t\telem.contentDocument || elem.contentWindow.document :\n\t\t\tjQuery.merge( [], elem.childNodes );\n\t}\n}, function( name, fn ) {\n\tjQuery.fn[ name ] = function( until, selector ) {\n\t\tvar ret = jQuery.map( this, fn, until );\n\n\t\tif ( name.slice( -5 ) !== \"Until\" ) {\n\t\t\tselector = until;\n\t\t}\n\n\t\tif ( selector && typeof selector === \"string\" ) {\n\t\t\tret = jQuery.filter( selector, ret );\n\t\t}\n\n\t\tif ( this.length > 1 ) {\n\n\t\t\t// Remove duplicates\n\t\t\tif ( !guaranteedUnique[ name ] ) {\n\t\t\t\tret = jQuery.uniqueSort( ret );\n\t\t\t}\n\n\t\t\t// Reverse order for parents* and prev-derivatives\n\t\t\tif ( rparentsprev.test( name ) ) {\n\t\t\t\tret = ret.reverse();\n\t\t\t}\n\t\t}\n\n\t\treturn this.pushStack( ret );\n\t};\n} );\nvar rnotwhite = ( /\\S+/g );\n\n\n\n// Convert String-formatted options into Object-formatted ones\nfunction createOptions( options ) {\n\tvar object = {};\n\tjQuery.each( options.match( rnotwhite ) || [], function( _, flag ) {\n\t\tobject[ flag ] = true;\n\t} );\n\treturn object;\n}\n\n/*\n * Create a callback list using the following parameters:\n *\n *\toptions: an optional list of space-separated options that will change how\n *\t\t\tthe callback list behaves or a more traditional option object\n *\n * By default a callback list will act like an event callback list and can be\n * \"fired\" multiple times.\n *\n * Possible options:\n *\n *\tonce:\t\t\twill ensure the callback list can only be fired once (like a Deferred)\n *\n *\tmemory:\t\t\twill keep track of previous values and will call any callback added\n *\t\t\t\t\tafter the list has been fired right away with the latest \"memorized\"\n *\t\t\t\t\tvalues (like a Deferred)\n *\n *\tunique:\t\t\twill ensure a callback can only be added once (no duplicate in the list)\n *\n *\tstopOnFalse:\tinterrupt callings when a callback returns false\n *\n */\njQuery.Callbacks = function( options ) {\n\n\t// Convert options from String-formatted to Object-formatted if needed\n\t// (we check in cache first)\n\toptions = typeof options === \"string\" ?\n\t\tcreateOptions( options ) :\n\t\tjQuery.extend( {}, options );\n\n\tvar // Flag to know if list is currently firing\n\t\tfiring,\n\n\t\t// Last fire value for non-forgettable lists\n\t\tmemory,\n\n\t\t// Flag to know if list was already fired\n\t\tfired,\n\n\t\t// Flag to prevent firing\n\t\tlocked,\n\n\t\t// Actual callback list\n\t\tlist = [],\n\n\t\t// Queue of execution data for repeatable lists\n\t\tqueue = [],\n\n\t\t// Index of currently firing callback (modified by add/remove as needed)\n\t\tfiringIndex = -1,\n\n\t\t// Fire callbacks\n\t\tfire = function() {\n\n\t\t\t// Enforce single-firing\n\t\t\tlocked = options.once;\n\n\t\t\t// Execute callbacks for all pending executions,\n\t\t\t// respecting firingIndex overrides and runtime changes\n\t\t\tfired = firing = true;\n\t\t\tfor ( ; queue.length; firingIndex = -1 ) {\n\t\t\t\tmemory = queue.shift();\n\t\t\t\twhile ( ++firingIndex < list.length ) {\n\n\t\t\t\t\t// Run callback and check for early termination\n\t\t\t\t\tif ( list[ firingIndex ].apply( memory[ 0 ], memory[ 1 ] ) === false &&\n\t\t\t\t\t\toptions.stopOnFalse ) {\n\n\t\t\t\t\t\t// Jump to end and forget the data so .add doesn't re-fire\n\t\t\t\t\t\tfiringIndex = list.length;\n\t\t\t\t\t\tmemory = false;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Forget the data if we're done with it\n\t\t\tif ( !options.memory ) {\n\t\t\t\tmemory = false;\n\t\t\t}\n\n\t\t\tfiring = false;\n\n\t\t\t// Clean up if we're done firing for good\n\t\t\tif ( locked ) {\n\n\t\t\t\t// Keep an empty list if we have data for future add calls\n\t\t\t\tif ( memory ) {\n\t\t\t\t\tlist = [];\n\n\t\t\t\t// Otherwise, this object is spent\n\t\t\t\t} else {\n\t\t\t\t\tlist = \"\";\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\n\t\t// Actual Callbacks object\n\t\tself = {\n\n\t\t\t// Add a callback or a collection of callbacks to the list\n\t\t\tadd: function() {\n\t\t\t\tif ( list ) {\n\n\t\t\t\t\t// If we have memory from a past run, we should fire after adding\n\t\t\t\t\tif ( memory && !firing ) {\n\t\t\t\t\t\tfiringIndex = list.length - 1;\n\t\t\t\t\t\tqueue.push( memory );\n\t\t\t\t\t}\n\n\t\t\t\t\t( function add( args ) {\n\t\t\t\t\t\tjQuery.each( args, function( _, arg ) {\n\t\t\t\t\t\t\tif ( jQuery.isFunction( arg ) ) {\n\t\t\t\t\t\t\t\tif ( !options.unique || !self.has( arg ) ) {\n\t\t\t\t\t\t\t\t\tlist.push( arg );\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t} else if ( arg && arg.length && jQuery.type( arg ) !== \"string\" ) {\n\n\t\t\t\t\t\t\t\t// Inspect recursively\n\t\t\t\t\t\t\t\tadd( arg );\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t} );\n\t\t\t\t\t} )( arguments );\n\n\t\t\t\t\tif ( memory && !firing ) {\n\t\t\t\t\t\tfire();\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\treturn this;\n\t\t\t},\n\n\t\t\t// Remove a callback from the list\n\t\t\tremove: function() {\n\t\t\t\tjQuery.each( arguments, function( _, arg ) {\n\t\t\t\t\tvar index;\n\t\t\t\t\twhile ( ( index = jQuery.inArray( arg, list, index ) ) > -1 ) {\n\t\t\t\t\t\tlist.splice( index, 1 );\n\n\t\t\t\t\t\t// Handle firing indexes\n\t\t\t\t\t\tif ( index <= firingIndex ) {\n\t\t\t\t\t\t\tfiringIndex--;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t} );\n\t\t\t\treturn this;\n\t\t\t},\n\n\t\t\t// Check if a given callback is in the list.\n\t\t\t// If no argument is given, return whether or not list has callbacks attached.\n\t\t\thas: function( fn ) {\n\t\t\t\treturn fn ?\n\t\t\t\t\tjQuery.inArray( fn, list ) > -1 :\n\t\t\t\t\tlist.length > 0;\n\t\t\t},\n\n\t\t\t// Remove all callbacks from the list\n\t\t\tempty: function() {\n\t\t\t\tif ( list ) {\n\t\t\t\t\tlist = [];\n\t\t\t\t}\n\t\t\t\treturn this;\n\t\t\t},\n\n\t\t\t// Disable .fire and .add\n\t\t\t// Abort any current/pending executions\n\t\t\t// Clear all callbacks and values\n\t\t\tdisable: function() {\n\t\t\t\tlocked = queue = [];\n\t\t\t\tlist = memory = \"\";\n\t\t\t\treturn this;\n\t\t\t},\n\t\t\tdisabled: function() {\n\t\t\t\treturn !list;\n\t\t\t},\n\n\t\t\t// Disable .fire\n\t\t\t// Also disable .add unless we have memory (since it would have no effect)\n\t\t\t// Abort any pending executions\n\t\t\tlock: function() {\n\t\t\t\tlocked = true;\n\t\t\t\tif ( !memory ) {\n\t\t\t\t\tself.disable();\n\t\t\t\t}\n\t\t\t\treturn this;\n\t\t\t},\n\t\t\tlocked: function() {\n\t\t\t\treturn !!locked;\n\t\t\t},\n\n\t\t\t// Call all callbacks with the given context and arguments\n\t\t\tfireWith: function( context, args ) {\n\t\t\t\tif ( !locked ) {\n\t\t\t\t\targs = args || [];\n\t\t\t\t\targs = [ context, args.slice ? args.slice() : args ];\n\t\t\t\t\tqueue.push( args );\n\t\t\t\t\tif ( !firing ) {\n\t\t\t\t\t\tfire();\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\treturn this;\n\t\t\t},\n\n\t\t\t// Call all the callbacks with the given arguments\n\t\t\tfire: function() {\n\t\t\t\tself.fireWith( this, arguments );\n\t\t\t\treturn this;\n\t\t\t},\n\n\t\t\t// To know if the callbacks have already been called at least once\n\t\t\tfired: function() {\n\t\t\t\treturn !!fired;\n\t\t\t}\n\t\t};\n\n\treturn self;\n};\n\n\njQuery.extend( {\n\n\tDeferred: function( func ) {\n\t\tvar tuples = [\n\n\t\t\t\t// action, add listener, listener list, final state\n\t\t\t\t[ \"resolve\", \"done\", jQuery.Callbacks( \"once memory\" ), \"resolved\" ],\n\t\t\t\t[ \"reject\", \"fail\", jQuery.Callbacks( \"once memory\" ), \"rejected\" ],\n\t\t\t\t[ \"notify\", \"progress\", jQuery.Callbacks( \"memory\" ) ]\n\t\t\t],\n\t\t\tstate = \"pending\",\n\t\t\tpromise = {\n\t\t\t\tstate: function() {\n\t\t\t\t\treturn state;\n\t\t\t\t},\n\t\t\t\talways: function() {\n\t\t\t\t\tdeferred.done( arguments ).fail( arguments );\n\t\t\t\t\treturn this;\n\t\t\t\t},\n\t\t\t\tthen: function( /* fnDone, fnFail, fnProgress */ ) {\n\t\t\t\t\tvar fns = arguments;\n\t\t\t\t\treturn jQuery.Deferred( function( newDefer ) {\n\t\t\t\t\t\tjQuery.each( tuples, function( i, tuple ) {\n\t\t\t\t\t\t\tvar fn = jQuery.isFunction( fns[ i ] ) && fns[ i ];\n\n\t\t\t\t\t\t\t// deferred[ done | fail | progress ] for forwarding actions to newDefer\n\t\t\t\t\t\t\tdeferred[ tuple[ 1 ] ]( function() {\n\t\t\t\t\t\t\t\tvar returned = fn && fn.apply( this, arguments );\n\t\t\t\t\t\t\t\tif ( returned && jQuery.isFunction( returned.promise ) ) {\n\t\t\t\t\t\t\t\t\treturned.promise()\n\t\t\t\t\t\t\t\t\t\t.progress( newDefer.notify )\n\t\t\t\t\t\t\t\t\t\t.done( newDefer.resolve )\n\t\t\t\t\t\t\t\t\t\t.fail( newDefer.reject );\n\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\tnewDefer[ tuple[ 0 ] + \"With\" ](\n\t\t\t\t\t\t\t\t\t\tthis === promise ? newDefer.promise() : this,\n\t\t\t\t\t\t\t\t\t\tfn ? [ returned ] : arguments\n\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t} );\n\t\t\t\t\t\tfns = null;\n\t\t\t\t\t} ).promise();\n\t\t\t\t},\n\n\t\t\t\t// Get a promise for this deferred\n\t\t\t\t// If obj is provided, the promise aspect is added to the object\n\t\t\t\tpromise: function( obj ) {\n\t\t\t\t\treturn obj != null ? jQuery.extend( obj, promise ) : promise;\n\t\t\t\t}\n\t\t\t},\n\t\t\tdeferred = {};\n\n\t\t// Keep pipe for back-compat\n\t\tpromise.pipe = promise.then;\n\n\t\t// Add list-specific methods\n\t\tjQuery.each( tuples, function( i, tuple ) {\n\t\t\tvar list = tuple[ 2 ],\n\t\t\t\tstateString = tuple[ 3 ];\n\n\t\t\t// promise[ done | fail | progress ] = list.add\n\t\t\tpromise[ tuple[ 1 ] ] = list.add;\n\n\t\t\t// Handle state\n\t\t\tif ( stateString ) {\n\t\t\t\tlist.add( function() {\n\n\t\t\t\t\t// state = [ resolved | rejected ]\n\t\t\t\t\tstate = stateString;\n\n\t\t\t\t// [ reject_list | resolve_list ].disable; progress_list.lock\n\t\t\t\t}, tuples[ i ^ 1 ][ 2 ].disable, tuples[ 2 ][ 2 ].lock );\n\t\t\t}\n\n\t\t\t// deferred[ resolve | reject | notify ]\n\t\t\tdeferred[ tuple[ 0 ] ] = function() {\n\t\t\t\tdeferred[ tuple[ 0 ] + \"With\" ]( this === deferred ? promise : this, arguments );\n\t\t\t\treturn this;\n\t\t\t};\n\t\t\tdeferred[ tuple[ 0 ] + \"With\" ] = list.fireWith;\n\t\t} );\n\n\t\t// Make the deferred a promise\n\t\tpromise.promise( deferred );\n\n\t\t// Call given func if any\n\t\tif ( func ) {\n\t\t\tfunc.call( deferred, deferred );\n\t\t}\n\n\t\t// All done!\n\t\treturn deferred;\n\t},\n\n\t// Deferred helper\n\twhen: function( subordinate /* , ..., subordinateN */ ) {\n\t\tvar i = 0,\n\t\t\tresolveValues = slice.call( arguments ),\n\t\t\tlength = resolveValues.length,\n\n\t\t\t// the count of uncompleted subordinates\n\t\t\tremaining = length !== 1 ||\n\t\t\t\t( subordinate && jQuery.isFunction( subordinate.promise ) ) ? length : 0,\n\n\t\t\t// the master Deferred.\n\t\t\t// If resolveValues consist of only a single Deferred, just use that.\n\t\t\tdeferred = remaining === 1 ? subordinate : jQuery.Deferred(),\n\n\t\t\t// Update function for both resolve and progress values\n\t\t\tupdateFunc = function( i, contexts, values ) {\n\t\t\t\treturn function( value ) {\n\t\t\t\t\tcontexts[ i ] = this;\n\t\t\t\t\tvalues[ i ] = arguments.length > 1 ? slice.call( arguments ) : value;\n\t\t\t\t\tif ( values === progressValues ) {\n\t\t\t\t\t\tdeferred.notifyWith( contexts, values );\n\n\t\t\t\t\t} else if ( !( --remaining ) ) {\n\t\t\t\t\t\tdeferred.resolveWith( contexts, values );\n\t\t\t\t\t}\n\t\t\t\t};\n\t\t\t},\n\n\t\t\tprogressValues, progressContexts, resolveContexts;\n\n\t\t// add listeners to Deferred subordinates; treat others as resolved\n\t\tif ( length > 1 ) {\n\t\t\tprogressValues = new Array( length );\n\t\t\tprogressContexts = new Array( length );\n\t\t\tresolveContexts = new Array( length );\n\t\t\tfor ( ; i < length; i++ ) {\n\t\t\t\tif ( resolveValues[ i ] && jQuery.isFunction( resolveValues[ i ].promise ) ) {\n\t\t\t\t\tresolveValues[ i ].promise()\n\t\t\t\t\t\t.progress( updateFunc( i, progressContexts, progressValues ) )\n\t\t\t\t\t\t.done( updateFunc( i, resolveContexts, resolveValues ) )\n\t\t\t\t\t\t.fail( deferred.reject );\n\t\t\t\t} else {\n\t\t\t\t\t--remaining;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t// if we're not waiting on anything, resolve the master\n\t\tif ( !remaining ) {\n\t\t\tdeferred.resolveWith( resolveContexts, resolveValues );\n\t\t}\n\n\t\treturn deferred.promise();\n\t}\n} );\n\n\n// The deferred used on DOM ready\nvar readyList;\n\njQuery.fn.ready = function( fn ) {\n\n\t// Add the callback\n\tjQuery.ready.promise().done( fn );\n\n\treturn this;\n};\n\njQuery.extend( {\n\n\t// Is the DOM ready to be used? Set to true once it occurs.\n\tisReady: false,\n\n\t// A counter to track how many items to wait for before\n\t// the ready event fires. See #6781\n\treadyWait: 1,\n\n\t// Hold (or release) the ready event\n\tholdReady: function( hold ) {\n\t\tif ( hold ) {\n\t\t\tjQuery.readyWait++;\n\t\t} else {\n\t\t\tjQuery.ready( true );\n\t\t}\n\t},\n\n\t// Handle when the DOM is ready\n\tready: function( wait ) {\n\n\t\t// Abort if there are pending holds or we're already ready\n\t\tif ( wait === true ? --jQuery.readyWait : jQuery.isReady ) {\n\t\t\treturn;\n\t\t}\n\n\t\t// Remember that the DOM is ready\n\t\tjQuery.isReady = true;\n\n\t\t// If a normal DOM Ready event fired, decrement, and wait if need be\n\t\tif ( wait !== true && --jQuery.readyWait > 0 ) {\n\t\t\treturn;\n\t\t}\n\n\t\t// If there are functions bound, to execute\n\t\treadyList.resolveWith( document, [ jQuery ] );\n\n\t\t// Trigger any bound ready events\n\t\tif ( jQuery.fn.triggerHandler ) {\n\t\t\tjQuery( document ).triggerHandler( \"ready\" );\n\t\t\tjQuery( document ).off( \"ready\" );\n\t\t}\n\t}\n} );\n\n/**\n * Clean-up method for dom ready events\n */\nfunction detach() {\n\tif ( document.addEventListener ) {\n\t\tdocument.removeEventListener( \"DOMContentLoaded\", completed );\n\t\twindow.removeEventListener( \"load\", completed );\n\n\t} else {\n\t\tdocument.detachEvent( \"onreadystatechange\", completed );\n\t\twindow.detachEvent( \"onload\", completed );\n\t}\n}\n\n/**\n * The ready event handler and self cleanup method\n */\nfunction completed() {\n\n\t// readyState === \"complete\" is good enough for us to call the dom ready in oldIE\n\tif ( document.addEventListener ||\n\t\twindow.event.type === \"load\" ||\n\t\tdocument.readyState === \"complete\" ) {\n\n\t\tdetach();\n\t\tjQuery.ready();\n\t}\n}\n\njQuery.ready.promise = function( obj ) {\n\tif ( !readyList ) {\n\n\t\treadyList = jQuery.Deferred();\n\n\t\t// Catch cases where $(document).ready() is called\n\t\t// after the browser event has already occurred.\n\t\t// Support: IE6-10\n\t\t// Older IE sometimes signals \"interactive\" too soon\n\t\tif ( document.readyState === \"complete\" ||\n\t\t\t( document.readyState !== \"loading\" && !document.documentElement.doScroll ) ) {\n\n\t\t\t// Handle it asynchronously to allow scripts the opportunity to delay ready\n\t\t\twindow.setTimeout( jQuery.ready );\n\n\t\t// Standards-based browsers support DOMContentLoaded\n\t\t} else if ( document.addEventListener ) {\n\n\t\t\t// Use the handy event callback\n\t\t\tdocument.addEventListener( \"DOMContentLoaded\", completed );\n\n\t\t\t// A fallback to window.onload, that will always work\n\t\t\twindow.addEventListener( \"load\", completed );\n\n\t\t// If IE event model is used\n\t\t} else {\n\n\t\t\t// Ensure firing before onload, maybe late but safe also for iframes\n\t\t\tdocument.attachEvent( \"onreadystatechange\", completed );\n\n\t\t\t// A fallback to window.onload, that will always work\n\t\t\twindow.attachEvent( \"onload\", completed );\n\n\t\t\t// If IE and not a frame\n\t\t\t// continually check to see if the document is ready\n\t\t\tvar top = false;\n\n\t\t\ttry {\n\t\t\t\ttop = window.frameElement == null && document.documentElement;\n\t\t\t} catch ( e ) {}\n\n\t\t\tif ( top && top.doScroll ) {\n\t\t\t\t( function doScrollCheck() {\n\t\t\t\t\tif ( !jQuery.isReady ) {\n\n\t\t\t\t\t\ttry {\n\n\t\t\t\t\t\t\t// Use the trick by Diego Perini\n\t\t\t\t\t\t\t// http://javascript.nwbox.com/IEContentLoaded/\n\t\t\t\t\t\t\ttop.doScroll( \"left\" );\n\t\t\t\t\t\t} catch ( e ) {\n\t\t\t\t\t\t\treturn window.setTimeout( doScrollCheck, 50 );\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t// detach all dom ready events\n\t\t\t\t\t\tdetach();\n\n\t\t\t\t\t\t// and execute any waiting functions\n\t\t\t\t\t\tjQuery.ready();\n\t\t\t\t\t}\n\t\t\t\t} )();\n\t\t\t}\n\t\t}\n\t}\n\treturn readyList.promise( obj );\n};\n\n// Kick off the DOM ready check even if the user does not\njQuery.ready.promise();\n\n\n\n\n// Support: IE<9\n// Iteration over object's inherited properties before its own\nvar i;\nfor ( i in jQuery( support ) ) {\n\tbreak;\n}\nsupport.ownFirst = i === \"0\";\n\n// Note: most support tests are defined in their respective modules.\n// false until the test is run\nsupport.inlineBlockNeedsLayout = false;\n\n// Execute ASAP in case we need to set body.style.zoom\njQuery( function() {\n\n\t// Minified: var a,b,c,d\n\tvar val, div, body, container;\n\n\tbody = document.getElementsByTagName( \"body\" )[ 0 ];\n\tif ( !body || !body.style ) {\n\n\t\t// Return for frameset docs that don't have a body\n\t\treturn;\n\t}\n\n\t// Setup\n\tdiv = document.createElement( \"div\" );\n\tcontainer = document.createElement( \"div\" );\n\tcontainer.style.cssText = \"position:absolute;border:0;width:0;height:0;top:0;left:-9999px\";\n\tbody.appendChild( container ).appendChild( div );\n\n\tif ( typeof div.style.zoom !== \"undefined\" ) {\n\n\t\t// Support: IE<8\n\t\t// Check if natively block-level elements act like inline-block\n\t\t// elements when setting their display to 'inline' and giving\n\t\t// them layout\n\t\tdiv.style.cssText = \"display:inline;margin:0;border:0;padding:1px;width:1px;zoom:1\";\n\n\t\tsupport.inlineBlockNeedsLayout = val = div.offsetWidth === 3;\n\t\tif ( val ) {\n\n\t\t\t// Prevent IE 6 from affecting layout for positioned elements #11048\n\t\t\t// Prevent IE from shrinking the body in IE 7 mode #12869\n\t\t\t// Support: IE<8\n\t\t\tbody.style.zoom = 1;\n\t\t}\n\t}\n\n\tbody.removeChild( container );\n} );\n\n\n( function() {\n\tvar div = document.createElement( \"div\" );\n\n\t// Support: IE<9\n\tsupport.deleteExpando = true;\n\ttry {\n\t\tdelete div.test;\n\t} catch ( e ) {\n\t\tsupport.deleteExpando = false;\n\t}\n\n\t// Null elements to avoid leaks in IE.\n\tdiv = null;\n} )();\nvar acceptData = function( elem ) {\n\tvar noData = jQuery.noData[ ( elem.nodeName + \" \" ).toLowerCase() ],\n\t\tnodeType = +elem.nodeType || 1;\n\n\t// Do not set data on non-element DOM nodes because it will not be cleared (#8335).\n\treturn nodeType !== 1 && nodeType !== 9 ?\n\t\tfalse :\n\n\t\t// Nodes accept data unless otherwise specified; rejection can be conditional\n\t\t!noData || noData !== true && elem.getAttribute( \"classid\" ) === noData;\n};\n\n\n\n\nvar rbrace = /^(?:\\{[\\w\\W]*\\}|\\[[\\w\\W]*\\])$/,\n\trmultiDash = /([A-Z])/g;\n\nfunction dataAttr( elem, key, data ) {\n\n\t// If nothing was found internally, try to fetch any\n\t// data from the HTML5 data-* attribute\n\tif ( data === undefined && elem.nodeType === 1 ) {\n\n\t\tvar name = \"data-\" + key.replace( rmultiDash, \"-$1\" ).toLowerCase();\n\n\t\tdata = elem.getAttribute( name );\n\n\t\tif ( typeof data === \"string\" ) {\n\t\t\ttry {\n\t\t\t\tdata = data === \"true\" ? true :\n\t\t\t\t\tdata === \"false\" ? false :\n\t\t\t\t\tdata === \"null\" ? null :\n\n\t\t\t\t\t// Only convert to a number if it doesn't change the string\n\t\t\t\t\t+data + \"\" === data ? +data :\n\t\t\t\t\trbrace.test( data ) ? jQuery.parseJSON( data ) :\n\t\t\t\t\tdata;\n\t\t\t} catch ( e ) {}\n\n\t\t\t// Make sure we set the data so it isn't changed later\n\t\t\tjQuery.data( elem, key, data );\n\n\t\t} else {\n\t\t\tdata = undefined;\n\t\t}\n\t}\n\n\treturn data;\n}\n\n// checks a cache object for emptiness\nfunction isEmptyDataObject( obj ) {\n\tvar name;\n\tfor ( name in obj ) {\n\n\t\t// if the public data object is empty, the private is still empty\n\t\tif ( name === \"data\" && jQuery.isEmptyObject( obj[ name ] ) ) {\n\t\t\tcontinue;\n\t\t}\n\t\tif ( name !== \"toJSON\" ) {\n\t\t\treturn false;\n\t\t}\n\t}\n\n\treturn true;\n}\n\nfunction internalData( elem, name, data, pvt /* Internal Use Only */ ) {\n\tif ( !acceptData( elem ) ) {\n\t\treturn;\n\t}\n\n\tvar ret, thisCache,\n\t\tinternalKey = jQuery.expando,\n\n\t\t// We have to handle DOM nodes and JS objects differently because IE6-7\n\t\t// can't GC object references properly across the DOM-JS boundary\n\t\tisNode = elem.nodeType,\n\n\t\t// Only DOM nodes need the global jQuery cache; JS object data is\n\t\t// attached directly to the object so GC can occur automatically\n\t\tcache = isNode ? jQuery.cache : elem,\n\n\t\t// Only defining an ID for JS objects if its cache already exists allows\n\t\t// the code to shortcut on the same path as a DOM node with no cache\n\t\tid = isNode ? elem[ internalKey ] : elem[ internalKey ] && internalKey;\n\n\t// Avoid doing any more work than we need to when trying to get data on an\n\t// object that has no data at all\n\tif ( ( !id || !cache[ id ] || ( !pvt && !cache[ id ].data ) ) &&\n\t\tdata === undefined && typeof name === \"string\" ) {\n\t\treturn;\n\t}\n\n\tif ( !id ) {\n\n\t\t// Only DOM nodes need a new unique ID for each element since their data\n\t\t// ends up in the global cache\n\t\tif ( isNode ) {\n\t\t\tid = elem[ internalKey ] = deletedIds.pop() || jQuery.guid++;\n\t\t} else {\n\t\t\tid = internalKey;\n\t\t}\n\t}\n\n\tif ( !cache[ id ] ) {\n\n\t\t// Avoid exposing jQuery metadata on plain JS objects when the object\n\t\t// is serialized using JSON.stringify\n\t\tcache[ id ] = isNode ? {} : { toJSON: jQuery.noop };\n\t}\n\n\t// An object can be passed to jQuery.data instead of a key/value pair; this gets\n\t// shallow copied over onto the existing cache\n\tif ( typeof name === \"object\" || typeof name === \"function\" ) {\n\t\tif ( pvt ) {\n\t\t\tcache[ id ] = jQuery.extend( cache[ id ], name );\n\t\t} else {\n\t\t\tcache[ id ].data = jQuery.extend( cache[ id ].data, name );\n\t\t}\n\t}\n\n\tthisCache = cache[ id ];\n\n\t// jQuery data() is stored in a separate object inside the object's internal data\n\t// cache in order to avoid key collisions between internal data and user-defined\n\t// data.\n\tif ( !pvt ) {\n\t\tif ( !thisCache.data ) {\n\t\t\tthisCache.data = {};\n\t\t}\n\n\t\tthisCache = thisCache.data;\n\t}\n\n\tif ( data !== undefined ) {\n\t\tthisCache[ jQuery.camelCase( name ) ] = data;\n\t}\n\n\t// Check for both converted-to-camel and non-converted data property names\n\t// If a data property was specified\n\tif ( typeof name === \"string\" ) {\n\n\t\t// First Try to find as-is property data\n\t\tret = thisCache[ name ];\n\n\t\t// Test for null|undefined property data\n\t\tif ( ret == null ) {\n\n\t\t\t// Try to find the camelCased property\n\t\t\tret = thisCache[ jQuery.camelCase( name ) ];\n\t\t}\n\t} else {\n\t\tret = thisCache;\n\t}\n\n\treturn ret;\n}\n\nfunction internalRemoveData( elem, name, pvt ) {\n\tif ( !acceptData( elem ) ) {\n\t\treturn;\n\t}\n\n\tvar thisCache, i,\n\t\tisNode = elem.nodeType,\n\n\t\t// See jQuery.data for more information\n\t\tcache = isNode ? jQuery.cache : elem,\n\t\tid = isNode ? elem[ jQuery.expando ] : jQuery.expando;\n\n\t// If there is already no cache entry for this object, there is no\n\t// purpose in continuing\n\tif ( !cache[ id ] ) {\n\t\treturn;\n\t}\n\n\tif ( name ) {\n\n\t\tthisCache = pvt ? cache[ id ] : cache[ id ].data;\n\n\t\tif ( thisCache ) {\n\n\t\t\t// Support array or space separated string names for data keys\n\t\t\tif ( !jQuery.isArray( name ) ) {\n\n\t\t\t\t// try the string as a key before any manipulation\n\t\t\t\tif ( name in thisCache ) {\n\t\t\t\t\tname = [ name ];\n\t\t\t\t} else {\n\n\t\t\t\t\t// split the camel cased version by spaces unless a key with the spaces exists\n\t\t\t\t\tname = jQuery.camelCase( name );\n\t\t\t\t\tif ( name in thisCache ) {\n\t\t\t\t\t\tname = [ name ];\n\t\t\t\t\t} else {\n\t\t\t\t\t\tname = name.split( \" \" );\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} else {\n\n\t\t\t\t// If \"name\" is an array of keys...\n\t\t\t\t// When data is initially created, via (\"key\", \"val\") signature,\n\t\t\t\t// keys will be converted to camelCase.\n\t\t\t\t// Since there is no way to tell _how_ a key was added, remove\n\t\t\t\t// both plain key and camelCase key. #12786\n\t\t\t\t// This will only penalize the array argument path.\n\t\t\t\tname = name.concat( jQuery.map( name, jQuery.camelCase ) );\n\t\t\t}\n\n\t\t\ti = name.length;\n\t\t\twhile ( i-- ) {\n\t\t\t\tdelete thisCache[ name[ i ] ];\n\t\t\t}\n\n\t\t\t// If there is no data left in the cache, we want to continue\n\t\t\t// and let the cache object itself get destroyed\n\t\t\tif ( pvt ? !isEmptyDataObject( thisCache ) : !jQuery.isEmptyObject( thisCache ) ) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t}\n\t}\n\n\t// See jQuery.data for more information\n\tif ( !pvt ) {\n\t\tdelete cache[ id ].data;\n\n\t\t// Don't destroy the parent cache unless the internal data object\n\t\t// had been the only thing left in it\n\t\tif ( !isEmptyDataObject( cache[ id ] ) ) {\n\t\t\treturn;\n\t\t}\n\t}\n\n\t// Destroy the cache\n\tif ( isNode ) {\n\t\tjQuery.cleanData( [ elem ], true );\n\n\t// Use delete when supported for expandos or `cache` is not a window per isWindow (#10080)\n\t/* jshint eqeqeq: false */\n\t} else if ( support.deleteExpando || cache != cache.window ) {\n\t\t/* jshint eqeqeq: true */\n\t\tdelete cache[ id ];\n\n\t// When all else fails, undefined\n\t} else {\n\t\tcache[ id ] = undefined;\n\t}\n}\n\njQuery.extend( {\n\tcache: {},\n\n\t// The following elements (space-suffixed to avoid Object.prototype collisions)\n\t// throw uncatchable exceptions if you attempt to set expando properties\n\tnoData: {\n\t\t\"applet \": true,\n\t\t\"embed \": true,\n\n\t\t// ...but Flash objects (which have this classid) *can* handle expandos\n\t\t\"object \": \"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000\"\n\t},\n\n\thasData: function( elem ) {\n\t\telem = elem.nodeType ? jQuery.cache[ elem[ jQuery.expando ] ] : elem[ jQuery.expando ];\n\t\treturn !!elem && !isEmptyDataObject( elem );\n\t},\n\n\tdata: function( elem, name, data ) {\n\t\treturn internalData( elem, name, data );\n\t},\n\n\tremoveData: function( elem, name ) {\n\t\treturn internalRemoveData( elem, name );\n\t},\n\n\t// For internal use only.\n\t_data: function( elem, name, data ) {\n\t\treturn internalData( elem, name, data, true );\n\t},\n\n\t_removeData: function( elem, name ) {\n\t\treturn internalRemoveData( elem, name, true );\n\t}\n} );\n\njQuery.fn.extend( {\n\tdata: function( key, value ) {\n\t\tvar i, name, data,\n\t\t\telem = this[ 0 ],\n\t\t\tattrs = elem && elem.attributes;\n\n\t\t// Special expections of .data basically thwart jQuery.access,\n\t\t// so implement the relevant behavior ourselves\n\n\t\t// Gets all values\n\t\tif ( key === undefined ) {\n\t\t\tif ( this.length ) {\n\t\t\t\tdata = jQuery.data( elem );\n\n\t\t\t\tif ( elem.nodeType === 1 && !jQuery._data( elem, \"parsedAttrs\" ) ) {\n\t\t\t\t\ti = attrs.length;\n\t\t\t\t\twhile ( i-- ) {\n\n\t\t\t\t\t\t// Support: IE11+\n\t\t\t\t\t\t// The attrs elements can be null (#14894)\n\t\t\t\t\t\tif ( attrs[ i ] ) {\n\t\t\t\t\t\t\tname = attrs[ i ].name;\n\t\t\t\t\t\t\tif ( name.indexOf( \"data-\" ) === 0 ) {\n\t\t\t\t\t\t\t\tname = jQuery.camelCase( name.slice( 5 ) );\n\t\t\t\t\t\t\t\tdataAttr( elem, name, data[ name ] );\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tjQuery._data( elem, \"parsedAttrs\", true );\n\t\t\t\t}\n\t\t\t}\n\n\t\t\treturn data;\n\t\t}\n\n\t\t// Sets multiple values\n\t\tif ( typeof key === \"object\" ) {\n\t\t\treturn this.each( function() {\n\t\t\t\tjQuery.data( this, key );\n\t\t\t} );\n\t\t}\n\n\t\treturn arguments.length > 1 ?\n\n\t\t\t// Sets one value\n\t\t\tthis.each( function() {\n\t\t\t\tjQuery.data( this, key, value );\n\t\t\t} ) :\n\n\t\t\t// Gets one value\n\t\t\t// Try to fetch any internally stored data first\n\t\t\telem ? dataAttr( elem, key, jQuery.data( elem, key ) ) : undefined;\n\t},\n\n\tremoveData: function( key ) {\n\t\treturn this.each( function() {\n\t\t\tjQuery.removeData( this, key );\n\t\t} );\n\t}\n} );\n\n\njQuery.extend( {\n\tqueue: function( elem, type, data ) {\n\t\tvar queue;\n\n\t\tif ( elem ) {\n\t\t\ttype = ( type || \"fx\" ) + \"queue\";\n\t\t\tqueue = jQuery._data( elem, type );\n\n\t\t\t// Speed up dequeue by getting out quickly if this is just a lookup\n\t\t\tif ( data ) {\n\t\t\t\tif ( !queue || jQuery.isArray( data ) ) {\n\t\t\t\t\tqueue = jQuery._data( elem, type, jQuery.makeArray( data ) );\n\t\t\t\t} else {\n\t\t\t\t\tqueue.push( data );\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn queue || [];\n\t\t}\n\t},\n\n\tdequeue: function( elem, type ) {\n\t\ttype = type || \"fx\";\n\n\t\tvar queue = jQuery.queue( elem, type ),\n\t\t\tstartLength = queue.length,\n\t\t\tfn = queue.shift(),\n\t\t\thooks = jQuery._queueHooks( elem, type ),\n\t\t\tnext = function() {\n\t\t\t\tjQuery.dequeue( elem, type );\n\t\t\t};\n\n\t\t// If the fx queue is dequeued, always remove the progress sentinel\n\t\tif ( fn === \"inprogress\" ) {\n\t\t\tfn = queue.shift();\n\t\t\tstartLength--;\n\t\t}\n\n\t\tif ( fn ) {\n\n\t\t\t// Add a progress sentinel to prevent the fx queue from being\n\t\t\t// automatically dequeued\n\t\t\tif ( type === \"fx\" ) {\n\t\t\t\tqueue.unshift( \"inprogress\" );\n\t\t\t}\n\n\t\t\t// clear up the last queue stop function\n\t\t\tdelete hooks.stop;\n\t\t\tfn.call( elem, next, hooks );\n\t\t}\n\n\t\tif ( !startLength && hooks ) {\n\t\t\thooks.empty.fire();\n\t\t}\n\t},\n\n\t// not intended for public consumption - generates a queueHooks object,\n\t// or returns the current one\n\t_queueHooks: function( elem, type ) {\n\t\tvar key = type + \"queueHooks\";\n\t\treturn jQuery._data( elem, key ) || jQuery._data( elem, key, {\n\t\t\tempty: jQuery.Callbacks( \"once memory\" ).add( function() {\n\t\t\t\tjQuery._removeData( elem, type + \"queue\" );\n\t\t\t\tjQuery._removeData( elem, key );\n\t\t\t} )\n\t\t} );\n\t}\n} );\n\njQuery.fn.extend( {\n\tqueue: function( type, data ) {\n\t\tvar setter = 2;\n\n\t\tif ( typeof type !== \"string\" ) {\n\t\t\tdata = type;\n\t\t\ttype = \"fx\";\n\t\t\tsetter--;\n\t\t}\n\n\t\tif ( arguments.length < setter ) {\n\t\t\treturn jQuery.queue( this[ 0 ], type );\n\t\t}\n\n\t\treturn data === undefined ?\n\t\t\tthis :\n\t\t\tthis.each( function() {\n\t\t\t\tvar queue = jQuery.queue( this, type, data );\n\n\t\t\t\t// ensure a hooks for this queue\n\t\t\t\tjQuery._queueHooks( this, type );\n\n\t\t\t\tif ( type === \"fx\" && queue[ 0 ] !== \"inprogress\" ) {\n\t\t\t\t\tjQuery.dequeue( this, type );\n\t\t\t\t}\n\t\t\t} );\n\t},\n\tdequeue: function( type ) {\n\t\treturn this.each( function() {\n\t\t\tjQuery.dequeue( this, type );\n\t\t} );\n\t},\n\tclearQueue: function( type ) {\n\t\treturn this.queue( type || \"fx\", [] );\n\t},\n\n\t// Get a promise resolved when queues of a certain type\n\t// are emptied (fx is the type by default)\n\tpromise: function( type, obj ) {\n\t\tvar tmp,\n\t\t\tcount = 1,\n\t\t\tdefer = jQuery.Deferred(),\n\t\t\telements = this,\n\t\t\ti = this.length,\n\t\t\tresolve = function() {\n\t\t\t\tif ( !( --count ) ) {\n\t\t\t\t\tdefer.resolveWith( elements, [ elements ] );\n\t\t\t\t}\n\t\t\t};\n\n\t\tif ( typeof type !== \"string\" ) {\n\t\t\tobj = type;\n\t\t\ttype = undefined;\n\t\t}\n\t\ttype = type || \"fx\";\n\n\t\twhile ( i-- ) {\n\t\t\ttmp = jQuery._data( elements[ i ], type + \"queueHooks\" );\n\t\t\tif ( tmp && tmp.empty ) {\n\t\t\t\tcount++;\n\t\t\t\ttmp.empty.add( resolve );\n\t\t\t}\n\t\t}\n\t\tresolve();\n\t\treturn defer.promise( obj );\n\t}\n} );\n\n\n( function() {\n\tvar shrinkWrapBlocksVal;\n\n\tsupport.shrinkWrapBlocks = function() {\n\t\tif ( shrinkWrapBlocksVal != null ) {\n\t\t\treturn shrinkWrapBlocksVal;\n\t\t}\n\n\t\t// Will be changed later if needed.\n\t\tshrinkWrapBlocksVal = false;\n\n\t\t// Minified: var b,c,d\n\t\tvar div, body, container;\n\n\t\tbody = document.getElementsByTagName( \"body\" )[ 0 ];\n\t\tif ( !body || !body.style ) {\n\n\t\t\t// Test fired too early or in an unsupported environment, exit.\n\t\t\treturn;\n\t\t}\n\n\t\t// Setup\n\t\tdiv = document.createElement( \"div\" );\n\t\tcontainer = document.createElement( \"div\" );\n\t\tcontainer.style.cssText = \"position:absolute;border:0;width:0;height:0;top:0;left:-9999px\";\n\t\tbody.appendChild( container ).appendChild( div );\n\n\t\t// Support: IE6\n\t\t// Check if elements with layout shrink-wrap their children\n\t\tif ( typeof div.style.zoom !== \"undefined\" ) {\n\n\t\t\t// Reset CSS: box-sizing; display; margin; border\n\t\t\tdiv.style.cssText =\n\n\t\t\t\t// Support: Firefox<29, Android 2.3\n\t\t\t\t// Vendor-prefix box-sizing\n\t\t\t\t\"-webkit-box-sizing:content-box;-moz-box-sizing:content-box;\" +\n\t\t\t\t\"box-sizing:content-box;display:block;margin:0;border:0;\" +\n\t\t\t\t\"padding:1px;width:1px;zoom:1\";\n\t\t\tdiv.appendChild( document.createElement( \"div\" ) ).style.width = \"5px\";\n\t\t\tshrinkWrapBlocksVal = div.offsetWidth !== 3;\n\t\t}\n\n\t\tbody.removeChild( container );\n\n\t\treturn shrinkWrapBlocksVal;\n\t};\n\n} )();\nvar pnum = ( /[+-]?(?:\\d*\\.|)\\d+(?:[eE][+-]?\\d+|)/ ).source;\n\nvar rcssNum = new RegExp( \"^(?:([+-])=|)(\" + pnum + \")([a-z%]*)$\", \"i\" );\n\n\nvar cssExpand = [ \"Top\", \"Right\", \"Bottom\", \"Left\" ];\n\nvar isHidden = function( elem, el ) {\n\n\t\t// isHidden might be called from jQuery#filter function;\n\t\t// in that case, element will be second argument\n\t\telem = el || elem;\n\t\treturn jQuery.css( elem, \"display\" ) === \"none\" ||\n\t\t\t!jQuery.contains( elem.ownerDocument, elem );\n\t};\n\n\n\nfunction adjustCSS( elem, prop, valueParts, tween ) {\n\tvar adjusted,\n\t\tscale = 1,\n\t\tmaxIterations = 20,\n\t\tcurrentValue = tween ?\n\t\t\tfunction() { return tween.cur(); } :\n\t\t\tfunction() { return jQuery.css( elem, prop, \"\" ); },\n\t\tinitial = currentValue(),\n\t\tunit = valueParts && valueParts[ 3 ] || ( jQuery.cssNumber[ prop ] ? \"\" : \"px\" ),\n\n\t\t// Starting value computation is required for potential unit mismatches\n\t\tinitialInUnit = ( jQuery.cssNumber[ prop ] || unit !== \"px\" && +initial ) &&\n\t\t\trcssNum.exec( jQuery.css( elem, prop ) );\n\n\tif ( initialInUnit && initialInUnit[ 3 ] !== unit ) {\n\n\t\t// Trust units reported by jQuery.css\n\t\tunit = unit || initialInUnit[ 3 ];\n\n\t\t// Make sure we update the tween properties later on\n\t\tvalueParts = valueParts || [];\n\n\t\t// Iteratively approximate from a nonzero starting point\n\t\tinitialInUnit = +initial || 1;\n\n\t\tdo {\n\n\t\t\t// If previous iteration zeroed out, double until we get *something*.\n\t\t\t// Use string for doubling so we don't accidentally see scale as unchanged below\n\t\t\tscale = scale || \".5\";\n\n\t\t\t// Adjust and apply\n\t\t\tinitialInUnit = initialInUnit / scale;\n\t\t\tjQuery.style( elem, prop, initialInUnit + unit );\n\n\t\t// Update scale, tolerating zero or NaN from tween.cur()\n\t\t// Break the loop if scale is unchanged or perfect, or if we've just had enough.\n\t\t} while (\n\t\t\tscale !== ( scale = currentValue() / initial ) && scale !== 1 && --maxIterations\n\t\t);\n\t}\n\n\tif ( valueParts ) {\n\t\tinitialInUnit = +initialInUnit || +initial || 0;\n\n\t\t// Apply relative offset (+=/-=) if specified\n\t\tadjusted = valueParts[ 1 ] ?\n\t\t\tinitialInUnit + ( valueParts[ 1 ] + 1 ) * valueParts[ 2 ] :\n\t\t\t+valueParts[ 2 ];\n\t\tif ( tween ) {\n\t\t\ttween.unit = unit;\n\t\t\ttween.start = initialInUnit;\n\t\t\ttween.end = adjusted;\n\t\t}\n\t}\n\treturn adjusted;\n}\n\n\n// Multifunctional method to get and set values of a collection\n// The value/s can optionally be executed if it's a function\nvar access = function( elems, fn, key, value, chainable, emptyGet, raw ) {\n\tvar i = 0,\n\t\tlength = elems.length,\n\t\tbulk = key == null;\n\n\t// Sets many values\n\tif ( jQuery.type( key ) === \"object\" ) {\n\t\tchainable = true;\n\t\tfor ( i in key ) {\n\t\t\taccess( elems, fn, i, key[ i ], true, emptyGet, raw );\n\t\t}\n\n\t// Sets one value\n\t} else if ( value !== undefined ) {\n\t\tchainable = true;\n\n\t\tif ( !jQuery.isFunction( value ) ) {\n\t\t\traw = true;\n\t\t}\n\n\t\tif ( bulk ) {\n\n\t\t\t// Bulk operations run against the entire set\n\t\t\tif ( raw ) {\n\t\t\t\tfn.call( elems, value );\n\t\t\t\tfn = null;\n\n\t\t\t// ...except when executing function values\n\t\t\t} else {\n\t\t\t\tbulk = fn;\n\t\t\t\tfn = function( elem, key, value ) {\n\t\t\t\t\treturn bulk.call( jQuery( elem ), value );\n\t\t\t\t};\n\t\t\t}\n\t\t}\n\n\t\tif ( fn ) {\n\t\t\tfor ( ; i < length; i++ ) {\n\t\t\t\tfn(\n\t\t\t\t\telems[ i ],\n\t\t\t\t\tkey,\n\t\t\t\t\traw ? value : value.call( elems[ i ], i, fn( elems[ i ], key ) )\n\t\t\t\t);\n\t\t\t}\n\t\t}\n\t}\n\n\treturn chainable ?\n\t\telems :\n\n\t\t// Gets\n\t\tbulk ?\n\t\t\tfn.call( elems ) :\n\t\t\tlength ? fn( elems[ 0 ], key ) : emptyGet;\n};\nvar rcheckableType = ( /^(?:checkbox|radio)$/i );\n\nvar rtagName = ( /<([\\w:-]+)/ );\n\nvar rscriptType = ( /^$|\\/(?:java|ecma)script/i );\n\nvar rleadingWhitespace = ( /^\\s+/ );\n\nvar nodeNames = \"abbr|article|aside|audio|bdi|canvas|data|datalist|\" +\n\t\t\"details|dialog|figcaption|figure|footer|header|hgroup|main|\" +\n\t\t\"mark|meter|nav|output|picture|progress|section|summary|template|time|video\";\n\n\n\nfunction createSafeFragment( document ) {\n\tvar list = nodeNames.split( \"|\" ),\n\t\tsafeFrag = document.createDocumentFragment();\n\n\tif ( safeFrag.createElement ) {\n\t\twhile ( list.length ) {\n\t\t\tsafeFrag.createElement(\n\t\t\t\tlist.pop()\n\t\t\t);\n\t\t}\n\t}\n\treturn safeFrag;\n}\n\n\n( function() {\n\tvar div = document.createElement( \"div\" ),\n\t\tfragment = document.createDocumentFragment(),\n\t\tinput = document.createElement( \"input\" );\n\n\t// Setup\n\tdiv.innerHTML = \" <link/><table></table><a href='/a'>a</a><input type='checkbox'/>\";\n\n\t// IE strips leading whitespace when .innerHTML is used\n\tsupport.leadingWhitespace = div.firstChild.nodeType === 3;\n\n\t// Make sure that tbody elements aren't automatically inserted\n\t// IE will insert them into empty tables\n\tsupport.tbody = !div.getElementsByTagName( \"tbody\" ).length;\n\n\t// Make sure that link elements get serialized correctly by innerHTML\n\t// This requires a wrapper element in IE\n\tsupport.htmlSerialize = !!div.getElementsByTagName( \"link\" ).length;\n\n\t// Makes sure cloning an html5 element does not cause problems\n\t// Where outerHTML is undefined, this still works\n\tsupport.html5Clone =\n\t\tdocument.createElement( \"nav\" ).cloneNode( true ).outerHTML !== \"<:nav></:nav>\";\n\n\t// Check if a disconnected checkbox will retain its checked\n\t// value of true after appended to the DOM (IE6/7)\n\tinput.type = \"checkbox\";\n\tinput.checked = true;\n\tfragment.appendChild( input );\n\tsupport.appendChecked = input.checked;\n\n\t// Make sure textarea (and checkbox) defaultValue is properly cloned\n\t// Support: IE6-IE11+\n\tdiv.innerHTML = \"<textarea>x</textarea>\";\n\tsupport.noCloneChecked = !!div.cloneNode( true ).lastChild.defaultValue;\n\n\t// #11217 - WebKit loses check when the name is after the checked attribute\n\tfragment.appendChild( div );\n\n\t// Support: Windows Web Apps (WWA)\n\t// `name` and `type` must use .setAttribute for WWA (#14901)\n\tinput = document.createElement( \"input\" );\n\tinput.setAttribute( \"type\", \"radio\" );\n\tinput.setAttribute( \"checked\", \"checked\" );\n\tinput.setAttribute( \"name\", \"t\" );\n\n\tdiv.appendChild( input );\n\n\t// Support: Safari 5.1, iOS 5.1, Android 4.x, Android 2.3\n\t// old WebKit doesn't clone checked state correctly in fragments\n\tsupport.checkClone = div.cloneNode( true ).cloneNode( true ).lastChild.checked;\n\n\t// Support: IE<9\n\t// Cloned elements keep attachEvent handlers, we use addEventListener on IE9+\n\tsupport.noCloneEvent = !!div.addEventListener;\n\n\t// Support: IE<9\n\t// Since attributes and properties are the same in IE,\n\t// cleanData must set properties to undefined rather than use removeAttribute\n\tdiv[ jQuery.expando ] = 1;\n\tsupport.attributes = !div.getAttribute( jQuery.expando );\n} )();\n\n\n// We have to close these tags to support XHTML (#13200)\nvar wrapMap = {\n\toption: [ 1, \"<select multiple='multiple'>\", \"</select>\" ],\n\tlegend: [ 1, \"<fieldset>\", \"</fieldset>\" ],\n\tarea: [ 1, \"<map>\", \"</map>\" ],\n\n\t// Support: IE8\n\tparam: [ 1, \"<object>\", \"</object>\" ],\n\tthead: [ 1, \"<table>\", \"</table>\" ],\n\ttr: [ 2, \"<table><tbody>\", \"</tbody></table>\" ],\n\tcol: [ 2, \"<table><tbody></tbody><colgroup>\", \"</colgroup></table>\" ],\n\ttd: [ 3, \"<table><tbody><tr>\", \"</tr></tbody></table>\" ],\n\n\t// IE6-8 can't serialize link, script, style, or any html5 (NoScope) tags,\n\t// unless wrapped in a div with non-breaking characters in front of it.\n\t_default: support.htmlSerialize ? [ 0, \"\", \"\" ] : [ 1, \"X<div>\", \"</div>\" ]\n};\n\n// Support: IE8-IE9\nwrapMap.optgroup = wrapMap.option;\n\nwrapMap.tbody = wrapMap.tfoot = wrapMap.colgroup = wrapMap.caption = wrapMap.thead;\nwrapMap.th = wrapMap.td;\n\n\nfunction getAll( context, tag ) {\n\tvar elems, elem,\n\t\ti = 0,\n\t\tfound = typeof context.getElementsByTagName !== \"undefined\" ?\n\t\t\tcontext.getElementsByTagName( tag || \"*\" ) :\n\t\t\ttypeof context.querySelectorAll !== \"undefined\" ?\n\t\t\t\tcontext.querySelectorAll( tag || \"*\" ) :\n\t\t\t\tundefined;\n\n\tif ( !found ) {\n\t\tfor ( found = [], elems = context.childNodes || context;\n\t\t\t( elem = elems[ i ] ) != null;\n\t\t\ti++\n\t\t) {\n\t\t\tif ( !tag || jQuery.nodeName( elem, tag ) ) {\n\t\t\t\tfound.push( elem );\n\t\t\t} else {\n\t\t\t\tjQuery.merge( found, getAll( elem, tag ) );\n\t\t\t}\n\t\t}\n\t}\n\n\treturn tag === undefined || tag && jQuery.nodeName( context, tag ) ?\n\t\tjQuery.merge( [ context ], found ) :\n\t\tfound;\n}\n\n\n// Mark scripts as having already been evaluated\nfunction setGlobalEval( elems, refElements ) {\n\tvar elem,\n\t\ti = 0;\n\tfor ( ; ( elem = elems[ i ] ) != null; i++ ) {\n\t\tjQuery._data(\n\t\t\telem,\n\t\t\t\"globalEval\",\n\t\t\t!refElements || jQuery._data( refElements[ i ], \"globalEval\" )\n\t\t);\n\t}\n}\n\n\nvar rhtml = /<|&#?\\w+;/,\n\trtbody = /<tbody/i;\n\nfunction fixDefaultChecked( elem ) {\n\tif ( rcheckableType.test( elem.type ) ) {\n\t\telem.defaultChecked = elem.checked;\n\t}\n}\n\nfunction buildFragment( elems, context, scripts, selection, ignored ) {\n\tvar j, elem, contains,\n\t\ttmp, tag, tbody, wrap,\n\t\tl = elems.length,\n\n\t\t// Ensure a safe fragment\n\t\tsafe = createSafeFragment( context ),\n\n\t\tnodes = [],\n\t\ti = 0;\n\n\tfor ( ; i < l; i++ ) {\n\t\telem = elems[ i ];\n\n\t\tif ( elem || elem === 0 ) {\n\n\t\t\t// Add nodes directly\n\t\t\tif ( jQuery.type( elem ) === \"object\" ) {\n\t\t\t\tjQuery.merge( nodes, elem.nodeType ? [ elem ] : elem );\n\n\t\t\t// Convert non-html into a text node\n\t\t\t} else if ( !rhtml.test( elem ) ) {\n\t\t\t\tnodes.push( context.createTextNode( elem ) );\n\n\t\t\t// Convert html into DOM nodes\n\t\t\t} else {\n\t\t\t\ttmp = tmp || safe.appendChild( context.createElement( \"div\" ) );\n\n\t\t\t\t// Deserialize a standard representation\n\t\t\t\ttag = ( rtagName.exec( elem ) || [ \"\", \"\" ] )[ 1 ].toLowerCase();\n\t\t\t\twrap = wrapMap[ tag ] || wrapMap._default;\n\n\t\t\t\ttmp.innerHTML = wrap[ 1 ] + jQuery.htmlPrefilter( elem ) + wrap[ 2 ];\n\n\t\t\t\t// Descend through wrappers to the right content\n\t\t\t\tj = wrap[ 0 ];\n\t\t\t\twhile ( j-- ) {\n\t\t\t\t\ttmp = tmp.lastChild;\n\t\t\t\t}\n\n\t\t\t\t// Manually add leading whitespace removed by IE\n\t\t\t\tif ( !support.leadingWhitespace && rleadingWhitespace.test( elem ) ) {\n\t\t\t\t\tnodes.push( context.createTextNode( rleadingWhitespace.exec( elem )[ 0 ] ) );\n\t\t\t\t}\n\n\t\t\t\t// Remove IE's autoinserted <tbody> from table fragments\n\t\t\t\tif ( !support.tbody ) {\n\n\t\t\t\t\t// String was a <table>, *may* have spurious <tbody>\n\t\t\t\t\telem = tag === \"table\" && !rtbody.test( elem ) ?\n\t\t\t\t\t\ttmp.firstChild :\n\n\t\t\t\t\t\t// String was a bare <thead> or <tfoot>\n\t\t\t\t\t\twrap[ 1 ] === \"<table>\" && !rtbody.test( elem ) ?\n\t\t\t\t\t\t\ttmp :\n\t\t\t\t\t\t\t0;\n\n\t\t\t\t\tj = elem && elem.childNodes.length;\n\t\t\t\t\twhile ( j-- ) {\n\t\t\t\t\t\tif ( jQuery.nodeName( ( tbody = elem.childNodes[ j ] ), \"tbody\" ) &&\n\t\t\t\t\t\t\t!tbody.childNodes.length ) {\n\n\t\t\t\t\t\t\telem.removeChild( tbody );\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tjQuery.merge( nodes, tmp.childNodes );\n\n\t\t\t\t// Fix #12392 for WebKit and IE > 9\n\t\t\t\ttmp.textContent = \"\";\n\n\t\t\t\t// Fix #12392 for oldIE\n\t\t\t\twhile ( tmp.firstChild ) {\n\t\t\t\t\ttmp.removeChild( tmp.firstChild );\n\t\t\t\t}\n\n\t\t\t\t// Remember the top-level container for proper cleanup\n\t\t\t\ttmp = safe.lastChild;\n\t\t\t}\n\t\t}\n\t}\n\n\t// Fix #11356: Clear elements from fragment\n\tif ( tmp ) {\n\t\tsafe.removeChild( tmp );\n\t}\n\n\t// Reset defaultChecked for any radios and checkboxes\n\t// about to be appended to the DOM in IE 6/7 (#8060)\n\tif ( !support.appendChecked ) {\n\t\tjQuery.grep( getAll( nodes, \"input\" ), fixDefaultChecked );\n\t}\n\n\ti = 0;\n\twhile ( ( elem = nodes[ i++ ] ) ) {\n\n\t\t// Skip elements already in the context collection (trac-4087)\n\t\tif ( selection && jQuery.inArray( elem, selection ) > -1 ) {\n\t\t\tif ( ignored ) {\n\t\t\t\tignored.push( elem );\n\t\t\t}\n\n\t\t\tcontinue;\n\t\t}\n\n\t\tcontains = jQuery.contains( elem.ownerDocument, elem );\n\n\t\t// Append to fragment\n\t\ttmp = getAll( safe.appendChild( elem ), \"script\" );\n\n\t\t// Preserve script evaluation history\n\t\tif ( contains ) {\n\t\t\tsetGlobalEval( tmp );\n\t\t}\n\n\t\t// Capture executables\n\t\tif ( scripts ) {\n\t\t\tj = 0;\n\t\t\twhile ( ( elem = tmp[ j++ ] ) ) {\n\t\t\t\tif ( rscriptType.test( elem.type || \"\" ) ) {\n\t\t\t\t\tscripts.push( elem );\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\ttmp = null;\n\n\treturn safe;\n}\n\n\n( function() {\n\tvar i, eventName,\n\t\tdiv = document.createElement( \"div\" );\n\n\t// Support: IE<9 (lack submit/change bubble), Firefox (lack focus(in | out) events)\n\tfor ( i in { submit: true, change: true, focusin: true } ) {\n\t\teventName = \"on\" + i;\n\n\t\tif ( !( support[ i ] = eventName in window ) ) {\n\n\t\t\t// Beware of CSP restrictions (https://developer.mozilla.org/en/Security/CSP)\n\t\t\tdiv.setAttribute( eventName, \"t\" );\n\t\t\tsupport[ i ] = div.attributes[ eventName ].expando === false;\n\t\t}\n\t}\n\n\t// Null elements to avoid leaks in IE.\n\tdiv = null;\n} )();\n\n\nvar rformElems = /^(?:input|select|textarea)$/i,\n\trkeyEvent = /^key/,\n\trmouseEvent = /^(?:mouse|pointer|contextmenu|drag|drop)|click/,\n\trfocusMorph = /^(?:focusinfocus|focusoutblur)$/,\n\trtypenamespace = /^([^.]*)(?:\\.(.+)|)/;\n\nfunction returnTrue() {\n\treturn true;\n}\n\nfunction returnFalse() {\n\treturn false;\n}\n\n// Support: IE9\n// See #13393 for more info\nfunction safeActiveElement() {\n\ttry {\n\t\treturn document.activeElement;\n\t} catch ( err ) { }\n}\n\nfunction on( elem, types, selector, data, fn, one ) {\n\tvar origFn, type;\n\n\t// Types can be a map of types/handlers\n\tif ( typeof types === \"object\" ) {\n\n\t\t// ( types-Object, selector, data )\n\t\tif ( typeof selector !== \"string\" ) {\n\n\t\t\t// ( types-Object, data )\n\t\t\tdata = data || selector;\n\t\t\tselector = undefined;\n\t\t}\n\t\tfor ( type in types ) {\n\t\t\ton( elem, type, selector, data, types[ type ], one );\n\t\t}\n\t\treturn elem;\n\t}\n\n\tif ( data == null && fn == null ) {\n\n\t\t// ( types, fn )\n\t\tfn = selector;\n\t\tdata = selector = undefined;\n\t} else if ( fn == null ) {\n\t\tif ( typeof selector === \"string\" ) {\n\n\t\t\t// ( types, selector, fn )\n\t\t\tfn = data;\n\t\t\tdata = undefined;\n\t\t} else {\n\n\t\t\t// ( types, data, fn )\n\t\t\tfn = data;\n\t\t\tdata = selector;\n\t\t\tselector = undefined;\n\t\t}\n\t}\n\tif ( fn === false ) {\n\t\tfn = returnFalse;\n\t} else if ( !fn ) {\n\t\treturn elem;\n\t}\n\n\tif ( one === 1 ) {\n\t\torigFn = fn;\n\t\tfn = function( event ) {\n\n\t\t\t// Can use an empty set, since event contains the info\n\t\t\tjQuery().off( event );\n\t\t\treturn origFn.apply( this, arguments );\n\t\t};\n\n\t\t// Use same guid so caller can remove using origFn\n\t\tfn.guid = origFn.guid || ( origFn.guid = jQuery.guid++ );\n\t}\n\treturn elem.each( function() {\n\t\tjQuery.event.add( this, types, fn, data, selector );\n\t} );\n}\n\n/*\n * Helper functions for managing events -- not part of the public interface.\n * Props to Dean Edwards' addEvent library for many of the ideas.\n */\njQuery.event = {\n\n\tglobal: {},\n\n\tadd: function( elem, types, handler, data, selector ) {\n\t\tvar tmp, events, t, handleObjIn,\n\t\t\tspecial, eventHandle, handleObj,\n\t\t\thandlers, type, namespaces, origType,\n\t\t\telemData = jQuery._data( elem );\n\n\t\t// Don't attach events to noData or text/comment nodes (but allow plain objects)\n\t\tif ( !elemData ) {\n\t\t\treturn;\n\t\t}\n\n\t\t// Caller can pass in an object of custom data in lieu of the handler\n\t\tif ( handler.handler ) {\n\t\t\thandleObjIn = handler;\n\t\t\thandler = handleObjIn.handler;\n\t\t\tselector = handleObjIn.selector;\n\t\t}\n\n\t\t// Make sure that the handler has a unique ID, used to find/remove it later\n\t\tif ( !handler.guid ) {\n\t\t\thandler.guid = jQuery.guid++;\n\t\t}\n\n\t\t// Init the element's event structure and main handler, if this is the first\n\t\tif ( !( events = elemData.events ) ) {\n\t\t\tevents = elemData.events = {};\n\t\t}\n\t\tif ( !( eventHandle = elemData.handle ) ) {\n\t\t\teventHandle = elemData.handle = function( e ) {\n\n\t\t\t\t// Discard the second event of a jQuery.event.trigger() and\n\t\t\t\t// when an event is called after a page has unloaded\n\t\t\t\treturn typeof jQuery !== \"undefined\" &&\n\t\t\t\t\t( !e || jQuery.event.triggered !== e.type ) ?\n\t\t\t\t\tjQuery.event.dispatch.apply( eventHandle.elem, arguments ) :\n\t\t\t\t\tundefined;\n\t\t\t};\n\n\t\t\t// Add elem as a property of the handle fn to prevent a memory leak\n\t\t\t// with IE non-native events\n\t\t\teventHandle.elem = elem;\n\t\t}\n\n\t\t// Handle multiple events separated by a space\n\t\ttypes = ( types || \"\" ).match( rnotwhite ) || [ \"\" ];\n\t\tt = types.length;\n\t\twhile ( t-- ) {\n\t\t\ttmp = rtypenamespace.exec( types[ t ] ) || [];\n\t\t\ttype = origType = tmp[ 1 ];\n\t\t\tnamespaces = ( tmp[ 2 ] || \"\" ).split( \".\" ).sort();\n\n\t\t\t// There *must* be a type, no attaching namespace-only handlers\n\t\t\tif ( !type ) {\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\t// If event changes its type, use the special event handlers for the changed type\n\t\t\tspecial = jQuery.event.special[ type ] || {};\n\n\t\t\t// If selector defined, determine special event api type, otherwise given type\n\t\t\ttype = ( selector ? special.delegateType : special.bindType ) || type;\n\n\t\t\t// Update special based on newly reset type\n\t\t\tspecial = jQuery.event.special[ type ] || {};\n\n\t\t\t// handleObj is passed to all event handlers\n\t\t\thandleObj = jQuery.extend( {\n\t\t\t\ttype: type,\n\t\t\t\torigType: origType,\n\t\t\t\tdata: data,\n\t\t\t\thandler: handler,\n\t\t\t\tguid: handler.guid,\n\t\t\t\tselector: selector,\n\t\t\t\tneedsContext: selector && jQuery.expr.match.needsContext.test( selector ),\n\t\t\t\tnamespace: namespaces.join( \".\" )\n\t\t\t}, handleObjIn );\n\n\t\t\t// Init the event handler queue if we're the first\n\t\t\tif ( !( handlers = events[ type ] ) ) {\n\t\t\t\thandlers = events[ type ] = [];\n\t\t\t\thandlers.delegateCount = 0;\n\n\t\t\t\t// Only use addEventListener/attachEvent if the special events handler returns false\n\t\t\t\tif ( !special.setup ||\n\t\t\t\t\tspecial.setup.call( elem, data, namespaces, eventHandle ) === false ) {\n\n\t\t\t\t\t// Bind the global event handler to the element\n\t\t\t\t\tif ( elem.addEventListener ) {\n\t\t\t\t\t\telem.addEventListener( type, eventHandle, false );\n\n\t\t\t\t\t} else if ( elem.attachEvent ) {\n\t\t\t\t\t\telem.attachEvent( \"on\" + type, eventHandle );\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif ( special.add ) {\n\t\t\t\tspecial.add.call( elem, handleObj );\n\n\t\t\t\tif ( !handleObj.handler.guid ) {\n\t\t\t\t\thandleObj.handler.guid = handler.guid;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Add to the element's handler list, delegates in front\n\t\t\tif ( selector ) {\n\t\t\t\thandlers.splice( handlers.delegateCount++, 0, handleObj );\n\t\t\t} else {\n\t\t\t\thandlers.push( handleObj );\n\t\t\t}\n\n\t\t\t// Keep track of which events have ever been used, for event optimization\n\t\t\tjQuery.event.global[ type ] = true;\n\t\t}\n\n\t\t// Nullify elem to prevent memory leaks in IE\n\t\telem = null;\n\t},\n\n\t// Detach an event or set of events from an element\n\tremove: function( elem, types, handler, selector, mappedTypes ) {\n\t\tvar j, handleObj, tmp,\n\t\t\torigCount, t, events,\n\t\t\tspecial, handlers, type,\n\t\t\tnamespaces, origType,\n\t\t\telemData = jQuery.hasData( elem ) && jQuery._data( elem );\n\n\t\tif ( !elemData || !( events = elemData.events ) ) {\n\t\t\treturn;\n\t\t}\n\n\t\t// Once for each type.namespace in types; type may be omitted\n\t\ttypes = ( types || \"\" ).match( rnotwhite ) || [ \"\" ];\n\t\tt = types.length;\n\t\twhile ( t-- ) {\n\t\t\ttmp = rtypenamespace.exec( types[ t ] ) || [];\n\t\t\ttype = origType = tmp[ 1 ];\n\t\t\tnamespaces = ( tmp[ 2 ] || \"\" ).split( \".\" ).sort();\n\n\t\t\t// Unbind all events (on this namespace, if provided) for the element\n\t\t\tif ( !type ) {\n\t\t\t\tfor ( type in events ) {\n\t\t\t\t\tjQuery.event.remove( elem, type + types[ t ], handler, selector, true );\n\t\t\t\t}\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\tspecial = jQuery.event.special[ type ] || {};\n\t\t\ttype = ( selector ? special.delegateType : special.bindType ) || type;\n\t\t\thandlers = events[ type ] || [];\n\t\t\ttmp = tmp[ 2 ] &&\n\t\t\t\tnew RegExp( \"(^|\\\\.)\" + namespaces.join( \"\\\\.(?:.*\\\\.|)\" ) + \"(\\\\.|$)\" );\n\n\t\t\t// Remove matching events\n\t\t\torigCount = j = handlers.length;\n\t\t\twhile ( j-- ) {\n\t\t\t\thandleObj = handlers[ j ];\n\n\t\t\t\tif ( ( mappedTypes || origType === handleObj.origType ) &&\n\t\t\t\t\t( !handler || handler.guid === handleObj.guid ) &&\n\t\t\t\t\t( !tmp || tmp.test( handleObj.namespace ) ) &&\n\t\t\t\t\t( !selector || selector === handleObj.selector ||\n\t\t\t\t\t\tselector === \"**\" && handleObj.selector ) ) {\n\t\t\t\t\thandlers.splice( j, 1 );\n\n\t\t\t\t\tif ( handleObj.selector ) {\n\t\t\t\t\t\thandlers.delegateCount--;\n\t\t\t\t\t}\n\t\t\t\t\tif ( special.remove ) {\n\t\t\t\t\t\tspecial.remove.call( elem, handleObj );\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Remove generic event handler if we removed something and no more handlers exist\n\t\t\t// (avoids potential for endless recursion during removal of special event handlers)\n\t\t\tif ( origCount && !handlers.length ) {\n\t\t\t\tif ( !special.teardown ||\n\t\t\t\t\tspecial.teardown.call( elem, namespaces, elemData.handle ) === false ) {\n\n\t\t\t\t\tjQuery.removeEvent( elem, type, elemData.handle );\n\t\t\t\t}\n\n\t\t\t\tdelete events[ type ];\n\t\t\t}\n\t\t}\n\n\t\t// Remove the expando if it's no longer used\n\t\tif ( jQuery.isEmptyObject( events ) ) {\n\t\t\tdelete elemData.handle;\n\n\t\t\t// removeData also checks for emptiness and clears the expando if empty\n\t\t\t// so use it instead of delete\n\t\t\tjQuery._removeData( elem, \"events\" );\n\t\t}\n\t},\n\n\ttrigger: function( event, data, elem, onlyHandlers ) {\n\t\tvar handle, ontype, cur,\n\t\t\tbubbleType, special, tmp, i,\n\t\t\teventPath = [ elem || document ],\n\t\t\ttype = hasOwn.call( event, \"type\" ) ? event.type : event,\n\t\t\tnamespaces = hasOwn.call( event, \"namespace\" ) ? event.namespace.split( \".\" ) : [];\n\n\t\tcur = tmp = elem = elem || document;\n\n\t\t// Don't do events on text and comment nodes\n\t\tif ( elem.nodeType === 3 || elem.nodeType === 8 ) {\n\t\t\treturn;\n\t\t}\n\n\t\t// focus/blur morphs to focusin/out; ensure we're not firing them right now\n\t\tif ( rfocusMorph.test( type + jQuery.event.triggered ) ) {\n\t\t\treturn;\n\t\t}\n\n\t\tif ( type.indexOf( \".\" ) > -1 ) {\n\n\t\t\t// Namespaced trigger; create a regexp to match event type in handle()\n\t\t\tnamespaces = type.split( \".\" );\n\t\t\ttype = namespaces.shift();\n\t\t\tnamespaces.sort();\n\t\t}\n\t\tontype = type.indexOf( \":\" ) < 0 && \"on\" + type;\n\n\t\t// Caller can pass in a jQuery.Event object, Object, or just an event type string\n\t\tevent = event[ jQuery.expando ] ?\n\t\t\tevent :\n\t\t\tnew jQuery.Event( type, typeof event === \"object\" && event );\n\n\t\t// Trigger bitmask: & 1 for native handlers; & 2 for jQuery (always true)\n\t\tevent.isTrigger = onlyHandlers ? 2 : 3;\n\t\tevent.namespace = namespaces.join( \".\" );\n\t\tevent.rnamespace = event.namespace ?\n\t\t\tnew RegExp( \"(^|\\\\.)\" + namespaces.join( \"\\\\.(?:.*\\\\.|)\" ) + \"(\\\\.|$)\" ) :\n\t\t\tnull;\n\n\t\t// Clean up the event in case it is being reused\n\t\tevent.result = undefined;\n\t\tif ( !event.target ) {\n\t\t\tevent.target = elem;\n\t\t}\n\n\t\t// Clone any incoming data and prepend the event, creating the handler arg list\n\t\tdata = data == null ?\n\t\t\t[ event ] :\n\t\t\tjQuery.makeArray( data, [ event ] );\n\n\t\t// Allow special events to draw outside the lines\n\t\tspecial = jQuery.event.special[ type ] || {};\n\t\tif ( !onlyHandlers && special.trigger && special.trigger.apply( elem, data ) === false ) {\n\t\t\treturn;\n\t\t}\n\n\t\t// Determine event propagation path in advance, per W3C events spec (#9951)\n\t\t// Bubble up to document, then to window; watch for a global ownerDocument var (#9724)\n\t\tif ( !onlyHandlers && !special.noBubble && !jQuery.isWindow( elem ) ) {\n\n\t\t\tbubbleType = special.delegateType || type;\n\t\t\tif ( !rfocusMorph.test( bubbleType + type ) ) {\n\t\t\t\tcur = cur.parentNode;\n\t\t\t}\n\t\t\tfor ( ; cur; cur = cur.parentNode ) {\n\t\t\t\teventPath.push( cur );\n\t\t\t\ttmp = cur;\n\t\t\t}\n\n\t\t\t// Only add window if we got to document (e.g., not plain obj or detached DOM)\n\t\t\tif ( tmp === ( elem.ownerDocument || document ) ) {\n\t\t\t\teventPath.push( tmp.defaultView || tmp.parentWindow || window );\n\t\t\t}\n\t\t}\n\n\t\t// Fire handlers on the event path\n\t\ti = 0;\n\t\twhile ( ( cur = eventPath[ i++ ] ) && !event.isPropagationStopped() ) {\n\n\t\t\tevent.type = i > 1 ?\n\t\t\t\tbubbleType :\n\t\t\t\tspecial.bindType || type;\n\n\t\t\t// jQuery handler\n\t\t\thandle = ( jQuery._data( cur, \"events\" ) || {} )[ event.type ] &&\n\t\t\t\tjQuery._data( cur, \"handle\" );\n\n\t\t\tif ( handle ) {\n\t\t\t\thandle.apply( cur, data );\n\t\t\t}\n\n\t\t\t// Native handler\n\t\t\thandle = ontype && cur[ ontype ];\n\t\t\tif ( handle && handle.apply && acceptData( cur ) ) {\n\t\t\t\tevent.result = handle.apply( cur, data );\n\t\t\t\tif ( event.result === false ) {\n\t\t\t\t\tevent.preventDefault();\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\tevent.type = type;\n\n\t\t// If nobody prevented the default action, do it now\n\t\tif ( !onlyHandlers && !event.isDefaultPrevented() ) {\n\n\t\t\tif (\n\t\t\t\t( !special._default ||\n\t\t\t\t special._default.apply( eventPath.pop(), data ) === false\n\t\t\t\t) && acceptData( elem )\n\t\t\t) {\n\n\t\t\t\t// Call a native DOM method on the target with the same name name as the event.\n\t\t\t\t// Can't use an .isFunction() check here because IE6/7 fails that test.\n\t\t\t\t// Don't do default actions on window, that's where global variables be (#6170)\n\t\t\t\tif ( ontype && elem[ type ] && !jQuery.isWindow( elem ) ) {\n\n\t\t\t\t\t// Don't re-trigger an onFOO event when we call its FOO() method\n\t\t\t\t\ttmp = elem[ ontype ];\n\n\t\t\t\t\tif ( tmp ) {\n\t\t\t\t\t\telem[ ontype ] = null;\n\t\t\t\t\t}\n\n\t\t\t\t\t// Prevent re-triggering of the same event, since we already bubbled it above\n\t\t\t\t\tjQuery.event.triggered = type;\n\t\t\t\t\ttry {\n\t\t\t\t\t\telem[ type ]();\n\t\t\t\t\t} catch ( e ) {\n\n\t\t\t\t\t\t// IE<9 dies on focus/blur to hidden element (#1486,#12518)\n\t\t\t\t\t\t// only reproducible on winXP IE8 native, not IE9 in IE8 mode\n\t\t\t\t\t}\n\t\t\t\t\tjQuery.event.triggered = undefined;\n\n\t\t\t\t\tif ( tmp ) {\n\t\t\t\t\t\telem[ ontype ] = tmp;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn event.result;\n\t},\n\n\tdispatch: function( event ) {\n\n\t\t// Make a writable jQuery.Event from the native event object\n\t\tevent = jQuery.event.fix( event );\n\n\t\tvar i, j, ret, matched, handleObj,\n\t\t\thandlerQueue = [],\n\t\t\targs = slice.call( arguments ),\n\t\t\thandlers = ( jQuery._data( this, \"events\" ) || {} )[ event.type ] || [],\n\t\t\tspecial = jQuery.event.special[ event.type ] || {};\n\n\t\t// Use the fix-ed jQuery.Event rather than the (read-only) native event\n\t\targs[ 0 ] = event;\n\t\tevent.delegateTarget = this;\n\n\t\t// Call the preDispatch hook for the mapped type, and let it bail if desired\n\t\tif ( special.preDispatch && special.preDispatch.call( this, event ) === false ) {\n\t\t\treturn;\n\t\t}\n\n\t\t// Determine handlers\n\t\thandlerQueue = jQuery.event.handlers.call( this, event, handlers );\n\n\t\t// Run delegates first; they may want to stop propagation beneath us\n\t\ti = 0;\n\t\twhile ( ( matched = handlerQueue[ i++ ] ) && !event.isPropagationStopped() ) {\n\t\t\tevent.currentTarget = matched.elem;\n\n\t\t\tj = 0;\n\t\t\twhile ( ( handleObj = matched.handlers[ j++ ] ) &&\n\t\t\t\t!event.isImmediatePropagationStopped() ) {\n\n\t\t\t\t// Triggered event must either 1) have no namespace, or 2) have namespace(s)\n\t\t\t\t// a subset or equal to those in the bound event (both can have no namespace).\n\t\t\t\tif ( !event.rnamespace || event.rnamespace.test( handleObj.namespace ) ) {\n\n\t\t\t\t\tevent.handleObj = handleObj;\n\t\t\t\t\tevent.data = handleObj.data;\n\n\t\t\t\t\tret = ( ( jQuery.event.special[ handleObj.origType ] || {} ).handle ||\n\t\t\t\t\t\thandleObj.handler ).apply( matched.elem, args );\n\n\t\t\t\t\tif ( ret !== undefined ) {\n\t\t\t\t\t\tif ( ( event.result = ret ) === false ) {\n\t\t\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\t\t\tevent.stopPropagation();\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t// Call the postDispatch hook for the mapped type\n\t\tif ( special.postDispatch ) {\n\t\t\tspecial.postDispatch.call( this, event );\n\t\t}\n\n\t\treturn event.result;\n\t},\n\n\thandlers: function( event, handlers ) {\n\t\tvar i, matches, sel, handleObj,\n\t\t\thandlerQueue = [],\n\t\t\tdelegateCount = handlers.delegateCount,\n\t\t\tcur = event.target;\n\n\t\t// Support (at least): Chrome, IE9\n\t\t// Find delegate handlers\n\t\t// Black-hole SVG <use> instance trees (#13180)\n\t\t//\n\t\t// Support: Firefox<=42+\n\t\t// Avoid non-left-click in FF but don't block IE radio events (#3861, gh-2343)\n\t\tif ( delegateCount && cur.nodeType &&\n\t\t\t( event.type !== \"click\" || isNaN( event.button ) || event.button < 1 ) ) {\n\n\t\t\t/* jshint eqeqeq: false */\n\t\t\tfor ( ; cur != this; cur = cur.parentNode || this ) {\n\t\t\t\t/* jshint eqeqeq: true */\n\n\t\t\t\t// Don't check non-elements (#13208)\n\t\t\t\t// Don't process clicks on disabled elements (#6911, #8165, #11382, #11764)\n\t\t\t\tif ( cur.nodeType === 1 && ( cur.disabled !== true || event.type !== \"click\" ) ) {\n\t\t\t\t\tmatches = [];\n\t\t\t\t\tfor ( i = 0; i < delegateCount; i++ ) {\n\t\t\t\t\t\thandleObj = handlers[ i ];\n\n\t\t\t\t\t\t// Don't conflict with Object.prototype properties (#13203)\n\t\t\t\t\t\tsel = handleObj.selector + \" \";\n\n\t\t\t\t\t\tif ( matches[ sel ] === undefined ) {\n\t\t\t\t\t\t\tmatches[ sel ] = handleObj.needsContext ?\n\t\t\t\t\t\t\t\tjQuery( sel, this ).index( cur ) > -1 :\n\t\t\t\t\t\t\t\tjQuery.find( sel, this, null, [ cur ] ).length;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif ( matches[ sel ] ) {\n\t\t\t\t\t\t\tmatches.push( handleObj );\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tif ( matches.length ) {\n\t\t\t\t\t\thandlerQueue.push( { elem: cur, handlers: matches } );\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t// Add the remaining (directly-bound) handlers\n\t\tif ( delegateCount < handlers.length ) {\n\t\t\thandlerQueue.push( { elem: this, handlers: handlers.slice( delegateCount ) } );\n\t\t}\n\n\t\treturn handlerQueue;\n\t},\n\n\tfix: function( event ) {\n\t\tif ( event[ jQuery.expando ] ) {\n\t\t\treturn event;\n\t\t}\n\n\t\t// Create a writable copy of the event object and normalize some properties\n\t\tvar i, prop, copy,\n\t\t\ttype = event.type,\n\t\t\toriginalEvent = event,\n\t\t\tfixHook = this.fixHooks[ type ];\n\n\t\tif ( !fixHook ) {\n\t\t\tthis.fixHooks[ type ] = fixHook =\n\t\t\t\trmouseEvent.test( type ) ? this.mouseHooks :\n\t\t\t\trkeyEvent.test( type ) ? this.keyHooks :\n\t\t\t\t{};\n\t\t}\n\t\tcopy = fixHook.props ? this.props.concat( fixHook.props ) : this.props;\n\n\t\tevent = new jQuery.Event( originalEvent );\n\n\t\ti = copy.length;\n\t\twhile ( i-- ) {\n\t\t\tprop = copy[ i ];\n\t\t\tevent[ prop ] = originalEvent[ prop ];\n\t\t}\n\n\t\t// Support: IE<9\n\t\t// Fix target property (#1925)\n\t\tif ( !event.target ) {\n\t\t\tevent.target = originalEvent.srcElement || document;\n\t\t}\n\n\t\t// Support: Safari 6-8+\n\t\t// Target should not be a text node (#504, #13143)\n\t\tif ( event.target.nodeType === 3 ) {\n\t\t\tevent.target = event.target.parentNode;\n\t\t}\n\n\t\t// Support: IE<9\n\t\t// For mouse/key events, metaKey==false if it's undefined (#3368, #11328)\n\t\tevent.metaKey = !!event.metaKey;\n\n\t\treturn fixHook.filter ? fixHook.filter( event, originalEvent ) : event;\n\t},\n\n\t// Includes some event props shared by KeyEvent and MouseEvent\n\tprops: ( \"altKey bubbles cancelable ctrlKey currentTarget detail eventPhase \" +\n\t\t\"metaKey relatedTarget shiftKey target timeStamp view which\" ).split( \" \" ),\n\n\tfixHooks: {},\n\n\tkeyHooks: {\n\t\tprops: \"char charCode key keyCode\".split( \" \" ),\n\t\tfilter: function( event, original ) {\n\n\t\t\t// Add which for key events\n\t\t\tif ( event.which == null ) {\n\t\t\t\tevent.which = original.charCode != null ? original.charCode : original.keyCode;\n\t\t\t}\n\n\t\t\treturn event;\n\t\t}\n\t},\n\n\tmouseHooks: {\n\t\tprops: ( \"button buttons clientX clientY fromElement offsetX offsetY \" +\n\t\t\t\"pageX pageY screenX screenY toElement\" ).split( \" \" ),\n\t\tfilter: function( event, original ) {\n\t\t\tvar body, eventDoc, doc,\n\t\t\t\tbutton = original.button,\n\t\t\t\tfromElement = original.fromElement;\n\n\t\t\t// Calculate pageX/Y if missing and clientX/Y available\n\t\t\tif ( event.pageX == null && original.clientX != null ) {\n\t\t\t\teventDoc = event.target.ownerDocument || document;\n\t\t\t\tdoc = eventDoc.documentElement;\n\t\t\t\tbody = eventDoc.body;\n\n\t\t\t\tevent.pageX = original.clientX +\n\t\t\t\t\t( doc && doc.scrollLeft || body && body.scrollLeft || 0 ) -\n\t\t\t\t\t( doc && doc.clientLeft || body && body.clientLeft || 0 );\n\t\t\t\tevent.pageY = original.clientY +\n\t\t\t\t\t( doc && doc.scrollTop || body && body.scrollTop || 0 ) -\n\t\t\t\t\t( doc && doc.clientTop || body && body.clientTop || 0 );\n\t\t\t}\n\n\t\t\t// Add relatedTarget, if necessary\n\t\t\tif ( !event.relatedTarget && fromElement ) {\n\t\t\t\tevent.relatedTarget = fromElement === event.target ?\n\t\t\t\t\toriginal.toElement :\n\t\t\t\t\tfromElement;\n\t\t\t}\n\n\t\t\t// Add which for click: 1 === left; 2 === middle; 3 === right\n\t\t\t// Note: button is not normalized, so don't use it\n\t\t\tif ( !event.which && button !== undefined ) {\n\t\t\t\tevent.which = ( button & 1 ? 1 : ( button & 2 ? 3 : ( button & 4 ? 2 : 0 ) ) );\n\t\t\t}\n\n\t\t\treturn event;\n\t\t}\n\t},\n\n\tspecial: {\n\t\tload: {\n\n\t\t\t// Prevent triggered image.load events from bubbling to window.load\n\t\t\tnoBubble: true\n\t\t},\n\t\tfocus: {\n\n\t\t\t// Fire native event if possible so blur/focus sequence is correct\n\t\t\ttrigger: function() {\n\t\t\t\tif ( this !== safeActiveElement() && this.focus ) {\n\t\t\t\t\ttry {\n\t\t\t\t\t\tthis.focus();\n\t\t\t\t\t\treturn false;\n\t\t\t\t\t} catch ( e ) {\n\n\t\t\t\t\t\t// Support: IE<9\n\t\t\t\t\t\t// If we error on focus to hidden element (#1486, #12518),\n\t\t\t\t\t\t// let .trigger() run the handlers\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t},\n\t\t\tdelegateType: \"focusin\"\n\t\t},\n\t\tblur: {\n\t\t\ttrigger: function() {\n\t\t\t\tif ( this === safeActiveElement() && this.blur ) {\n\t\t\t\t\tthis.blur();\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\t\t\t},\n\t\t\tdelegateType: \"focusout\"\n\t\t},\n\t\tclick: {\n\n\t\t\t// For checkbox, fire native event so checked state will be right\n\t\t\ttrigger: function() {\n\t\t\t\tif ( jQuery.nodeName( this, \"input\" ) && this.type === \"checkbox\" && this.click ) {\n\t\t\t\t\tthis.click();\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\t\t\t},\n\n\t\t\t// For cross-browser consistency, don't fire native .click() on links\n\t\t\t_default: function( event ) {\n\t\t\t\treturn jQuery.nodeName( event.target, \"a\" );\n\t\t\t}\n\t\t},\n\n\t\tbeforeunload: {\n\t\t\tpostDispatch: function( event ) {\n\n\t\t\t\t// Support: Firefox 20+\n\t\t\t\t// Firefox doesn't alert if the returnValue field is not set.\n\t\t\t\tif ( event.result !== undefined && event.originalEvent ) {\n\t\t\t\t\tevent.originalEvent.returnValue = event.result;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t},\n\n\t// Piggyback on a donor event to simulate a different one\n\tsimulate: function( type, elem, event ) {\n\t\tvar e = jQuery.extend(\n\t\t\tnew jQuery.Event(),\n\t\t\tevent,\n\t\t\t{\n\t\t\t\ttype: type,\n\t\t\t\tisSimulated: true\n\n\t\t\t\t// Previously, `originalEvent: {}` was set here, so stopPropagation call\n\t\t\t\t// would not be triggered on donor event, since in our own\n\t\t\t\t// jQuery.event.stopPropagation function we had a check for existence of\n\t\t\t\t// originalEvent.stopPropagation method, so, consequently it would be a noop.\n\t\t\t\t//\n\t\t\t\t// Guard for simulated events was moved to jQuery.event.stopPropagation function\n\t\t\t\t// since `originalEvent` should point to the original event for the\n\t\t\t\t// constancy with other events and for more focused logic\n\t\t\t}\n\t\t);\n\n\t\tjQuery.event.trigger( e, null, elem );\n\n\t\tif ( e.isDefaultPrevented() ) {\n\t\t\tevent.preventDefault();\n\t\t}\n\t}\n};\n\njQuery.removeEvent = document.removeEventListener ?\n\tfunction( elem, type, handle ) {\n\n\t\t// This \"if\" is needed for plain objects\n\t\tif ( elem.removeEventListener ) {\n\t\t\telem.removeEventListener( type, handle );\n\t\t}\n\t} :\n\tfunction( elem, type, handle ) {\n\t\tvar name = \"on\" + type;\n\n\t\tif ( elem.detachEvent ) {\n\n\t\t\t// #8545, #7054, preventing memory leaks for custom events in IE6-8\n\t\t\t// detachEvent needed property on element, by name of that event,\n\t\t\t// to properly expose it to GC\n\t\t\tif ( typeof elem[ name ] === \"undefined\" ) {\n\t\t\t\telem[ name ] = null;\n\t\t\t}\n\n\t\t\telem.detachEvent( name, handle );\n\t\t}\n\t};\n\njQuery.Event = function( src, props ) {\n\n\t// Allow instantiation without the 'new' keyword\n\tif ( !( this instanceof jQuery.Event ) ) {\n\t\treturn new jQuery.Event( src, props );\n\t}\n\n\t// Event object\n\tif ( src && src.type ) {\n\t\tthis.originalEvent = src;\n\t\tthis.type = src.type;\n\n\t\t// Events bubbling up the document may have been marked as prevented\n\t\t// by a handler lower down the tree; reflect the correct value.\n\t\tthis.isDefaultPrevented = src.defaultPrevented ||\n\t\t\t\tsrc.defaultPrevented === undefined &&\n\n\t\t\t\t// Support: IE < 9, Android < 4.0\n\t\t\t\tsrc.returnValue === false ?\n\t\t\treturnTrue :\n\t\t\treturnFalse;\n\n\t// Event type\n\t} else {\n\t\tthis.type = src;\n\t}\n\n\t// Put explicitly provided properties onto the event object\n\tif ( props ) {\n\t\tjQuery.extend( this, props );\n\t}\n\n\t// Create a timestamp if incoming event doesn't have one\n\tthis.timeStamp = src && src.timeStamp || jQuery.now();\n\n\t// Mark it as fixed\n\tthis[ jQuery.expando ] = true;\n};\n\n// jQuery.Event is based on DOM3 Events as specified by the ECMAScript Language Binding\n// http://www.w3.org/TR/2003/WD-DOM-Level-3-Events-20030331/ecma-script-binding.html\njQuery.Event.prototype = {\n\tconstructor: jQuery.Event,\n\tisDefaultPrevented: returnFalse,\n\tisPropagationStopped: returnFalse,\n\tisImmediatePropagationStopped: returnFalse,\n\n\tpreventDefault: function() {\n\t\tvar e = this.originalEvent;\n\n\t\tthis.isDefaultPrevented = returnTrue;\n\t\tif ( !e ) {\n\t\t\treturn;\n\t\t}\n\n\t\t// If preventDefault exists, run it on the original event\n\t\tif ( e.preventDefault ) {\n\t\t\te.preventDefault();\n\n\t\t// Support: IE\n\t\t// Otherwise set the returnValue property of the original event to false\n\t\t} else {\n\t\t\te.returnValue = false;\n\t\t}\n\t},\n\tstopPropagation: function() {\n\t\tvar e = this.originalEvent;\n\n\t\tthis.isPropagationStopped = returnTrue;\n\n\t\tif ( !e || this.isSimulated ) {\n\t\t\treturn;\n\t\t}\n\n\t\t// If stopPropagation exists, run it on the original event\n\t\tif ( e.stopPropagation ) {\n\t\t\te.stopPropagation();\n\t\t}\n\n\t\t// Support: IE\n\t\t// Set the cancelBubble property of the original event to true\n\t\te.cancelBubble = true;\n\t},\n\tstopImmediatePropagation: function() {\n\t\tvar e = this.originalEvent;\n\n\t\tthis.isImmediatePropagationStopped = returnTrue;\n\n\t\tif ( e && e.stopImmediatePropagation ) {\n\t\t\te.stopImmediatePropagation();\n\t\t}\n\n\t\tthis.stopPropagation();\n\t}\n};\n\n// Create mouseenter/leave events using mouseover/out and event-time checks\n// so that event delegation works in jQuery.\n// Do the same for pointerenter/pointerleave and pointerover/pointerout\n//\n// Support: Safari 7 only\n// Safari sends mouseenter too often; see:\n// https://code.google.com/p/chromium/issues/detail?id=470258\n// for the description of the bug (it existed in older Chrome versions as well).\njQuery.each( {\n\tmouseenter: \"mouseover\",\n\tmouseleave: \"mouseout\",\n\tpointerenter: \"pointerover\",\n\tpointerleave: \"pointerout\"\n}, function( orig, fix ) {\n\tjQuery.event.special[ orig ] = {\n\t\tdelegateType: fix,\n\t\tbindType: fix,\n\n\t\thandle: function( event ) {\n\t\t\tvar ret,\n\t\t\t\ttarget = this,\n\t\t\t\trelated = event.relatedTarget,\n\t\t\t\thandleObj = event.handleObj;\n\n\t\t\t// For mouseenter/leave call the handler if related is outside the target.\n\t\t\t// NB: No relatedTarget if the mouse left/entered the browser window\n\t\t\tif ( !related || ( related !== target && !jQuery.contains( target, related ) ) ) {\n\t\t\t\tevent.type = handleObj.origType;\n\t\t\t\tret = handleObj.handler.apply( this, arguments );\n\t\t\t\tevent.type = fix;\n\t\t\t}\n\t\t\treturn ret;\n\t\t}\n\t};\n} );\n\n// IE submit delegation\nif ( !support.submit ) {\n\n\tjQuery.event.special.submit = {\n\t\tsetup: function() {\n\n\t\t\t// Only need this for delegated form submit events\n\t\t\tif ( jQuery.nodeName( this, \"form\" ) ) {\n\t\t\t\treturn false;\n\t\t\t}\n\n\t\t\t// Lazy-add a submit handler when a descendant form may potentially be submitted\n\t\t\tjQuery.event.add( this, \"click._submit keypress._submit\", function( e ) {\n\n\t\t\t\t// Node name check avoids a VML-related crash in IE (#9807)\n\t\t\t\tvar elem = e.target,\n\t\t\t\t\tform = jQuery.nodeName( elem, \"input\" ) || jQuery.nodeName( elem, \"button\" ) ?\n\n\t\t\t\t\t\t// Support: IE <=8\n\t\t\t\t\t\t// We use jQuery.prop instead of elem.form\n\t\t\t\t\t\t// to allow fixing the IE8 delegated submit issue (gh-2332)\n\t\t\t\t\t\t// by 3rd party polyfills/workarounds.\n\t\t\t\t\t\tjQuery.prop( elem, \"form\" ) :\n\t\t\t\t\t\tundefined;\n\n\t\t\t\tif ( form && !jQuery._data( form, \"submit\" ) ) {\n\t\t\t\t\tjQuery.event.add( form, \"submit._submit\", function( event ) {\n\t\t\t\t\t\tevent._submitBubble = true;\n\t\t\t\t\t} );\n\t\t\t\t\tjQuery._data( form, \"submit\", true );\n\t\t\t\t}\n\t\t\t} );\n\n\t\t\t// return undefined since we don't need an event listener\n\t\t},\n\n\t\tpostDispatch: function( event ) {\n\n\t\t\t// If form was submitted by the user, bubble the event up the tree\n\t\t\tif ( event._submitBubble ) {\n\t\t\t\tdelete event._submitBubble;\n\t\t\t\tif ( this.parentNode && !event.isTrigger ) {\n\t\t\t\t\tjQuery.event.simulate( \"submit\", this.parentNode, event );\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\n\t\tteardown: function() {\n\n\t\t\t// Only need this for delegated form submit events\n\t\t\tif ( jQuery.nodeName( this, \"form\" ) ) {\n\t\t\t\treturn false;\n\t\t\t}\n\n\t\t\t// Remove delegated handlers; cleanData eventually reaps submit handlers attached above\n\t\t\tjQuery.event.remove( this, \"._submit\" );\n\t\t}\n\t};\n}\n\n// IE change delegation and checkbox/radio fix\nif ( !support.change ) {\n\n\tjQuery.event.special.change = {\n\n\t\tsetup: function() {\n\n\t\t\tif ( rformElems.test( this.nodeName ) ) {\n\n\t\t\t\t// IE doesn't fire change on a check/radio until blur; trigger it on click\n\t\t\t\t// after a propertychange. Eat the blur-change in special.change.handle.\n\t\t\t\t// This still fires onchange a second time for check/radio after blur.\n\t\t\t\tif ( this.type === \"checkbox\" || this.type === \"radio\" ) {\n\t\t\t\t\tjQuery.event.add( this, \"propertychange._change\", function( event ) {\n\t\t\t\t\t\tif ( event.originalEvent.propertyName === \"checked\" ) {\n\t\t\t\t\t\t\tthis._justChanged = true;\n\t\t\t\t\t\t}\n\t\t\t\t\t} );\n\t\t\t\t\tjQuery.event.add( this, \"click._change\", function( event ) {\n\t\t\t\t\t\tif ( this._justChanged && !event.isTrigger ) {\n\t\t\t\t\t\t\tthis._justChanged = false;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t// Allow triggered, simulated change events (#11500)\n\t\t\t\t\t\tjQuery.event.simulate( \"change\", this, event );\n\t\t\t\t\t} );\n\t\t\t\t}\n\t\t\t\treturn false;\n\t\t\t}\n\n\t\t\t// Delegated event; lazy-add a change handler on descendant inputs\n\t\t\tjQuery.event.add( this, \"beforeactivate._change\", function( e ) {\n\t\t\t\tvar elem = e.target;\n\n\t\t\t\tif ( rformElems.test( elem.nodeName ) && !jQuery._data( elem, \"change\" ) ) {\n\t\t\t\t\tjQuery.event.add( elem, \"change._change\", function( event ) {\n\t\t\t\t\t\tif ( this.parentNode && !event.isSimulated && !event.isTrigger ) {\n\t\t\t\t\t\t\tjQuery.event.simulate( \"change\", this.parentNode, event );\n\t\t\t\t\t\t}\n\t\t\t\t\t} );\n\t\t\t\t\tjQuery._data( elem, \"change\", true );\n\t\t\t\t}\n\t\t\t} );\n\t\t},\n\n\t\thandle: function( event ) {\n\t\t\tvar elem = event.target;\n\n\t\t\t// Swallow native change events from checkbox/radio, we already triggered them above\n\t\t\tif ( this !== elem || event.isSimulated || event.isTrigger ||\n\t\t\t\t( elem.type !== \"radio\" && elem.type !== \"checkbox\" ) ) {\n\n\t\t\t\treturn event.handleObj.handler.apply( this, arguments );\n\t\t\t}\n\t\t},\n\n\t\tteardown: function() {\n\t\t\tjQuery.event.remove( this, \"._change\" );\n\n\t\t\treturn !rformElems.test( this.nodeName );\n\t\t}\n\t};\n}\n\n// Support: Firefox\n// Firefox doesn't have focus(in | out) events\n// Related ticket - https://bugzilla.mozilla.org/show_bug.cgi?id=687787\n//\n// Support: Chrome, Safari\n// focus(in | out) events fire after focus & blur events,\n// which is spec violation - http://www.w3.org/TR/DOM-Level-3-Events/#events-focusevent-event-order\n// Related ticket - https://code.google.com/p/chromium/issues/detail?id=449857\nif ( !support.focusin ) {\n\tjQuery.each( { focus: \"focusin\", blur: \"focusout\" }, function( orig, fix ) {\n\n\t\t// Attach a single capturing handler on the document while someone wants focusin/focusout\n\t\tvar handler = function( event ) {\n\t\t\tjQuery.event.simulate( fix, event.target, jQuery.event.fix( event ) );\n\t\t};\n\n\t\tjQuery.event.special[ fix ] = {\n\t\t\tsetup: function() {\n\t\t\t\tvar doc = this.ownerDocument || this,\n\t\t\t\t\tattaches = jQuery._data( doc, fix );\n\n\t\t\t\tif ( !attaches ) {\n\t\t\t\t\tdoc.addEventListener( orig, handler, true );\n\t\t\t\t}\n\t\t\t\tjQuery._data( doc, fix, ( attaches || 0 ) + 1 );\n\t\t\t},\n\t\t\tteardown: function() {\n\t\t\t\tvar doc = this.ownerDocument || this,\n\t\t\t\t\tattaches = jQuery._data( doc, fix ) - 1;\n\n\t\t\t\tif ( !attaches ) {\n\t\t\t\t\tdoc.removeEventListener( orig, handler, true );\n\t\t\t\t\tjQuery._removeData( doc, fix );\n\t\t\t\t} else {\n\t\t\t\t\tjQuery._data( doc, fix, attaches );\n\t\t\t\t}\n\t\t\t}\n\t\t};\n\t} );\n}\n\njQuery.fn.extend( {\n\n\ton: function( types, selector, data, fn ) {\n\t\treturn on( this, types, selector, data, fn );\n\t},\n\tone: function( types, selector, data, fn ) {\n\t\treturn on( this, types, selector, data, fn, 1 );\n\t},\n\toff: function( types, selector, fn ) {\n\t\tvar handleObj, type;\n\t\tif ( types && types.preventDefault && types.handleObj ) {\n\n\t\t\t// ( event ) dispatched jQuery.Event\n\t\t\thandleObj = types.handleObj;\n\t\t\tjQuery( types.delegateTarget ).off(\n\t\t\t\thandleObj.namespace ?\n\t\t\t\t\thandleObj.origType + \".\" + handleObj.namespace :\n\t\t\t\t\thandleObj.origType,\n\t\t\t\thandleObj.selector,\n\t\t\t\thandleObj.handler\n\t\t\t);\n\t\t\treturn this;\n\t\t}\n\t\tif ( typeof types === \"object\" ) {\n\n\t\t\t// ( types-object [, selector] )\n\t\t\tfor ( type in types ) {\n\t\t\t\tthis.off( type, selector, types[ type ] );\n\t\t\t}\n\t\t\treturn this;\n\t\t}\n\t\tif ( selector === false || typeof selector === \"function\" ) {\n\n\t\t\t// ( types [, fn] )\n\t\t\tfn = selector;\n\t\t\tselector = undefined;\n\t\t}\n\t\tif ( fn === false ) {\n\t\t\tfn = returnFalse;\n\t\t}\n\t\treturn this.each( function() {\n\t\t\tjQuery.event.remove( this, types, fn, selector );\n\t\t} );\n\t},\n\n\ttrigger: function( type, data ) {\n\t\treturn this.each( function() {\n\t\t\tjQuery.event.trigger( type, data, this );\n\t\t} );\n\t},\n\ttriggerHandler: function( type, data ) {\n\t\tvar elem = this[ 0 ];\n\t\tif ( elem ) {\n\t\t\treturn jQuery.event.trigger( type, data, elem, true );\n\t\t}\n\t}\n} );\n\n\nvar rinlinejQuery = / jQuery\\d+=\"(?:null|\\d+)\"/g,\n\trnoshimcache = new RegExp( \"<(?:\" + nodeNames + \")[\\\\s/>]\", \"i\" ),\n\trxhtmlTag = /<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\\w:-]+)[^>]*)\\/>/gi,\n\n\t// Support: IE 10-11, Edge 10240+\n\t// In IE/Edge using regex groups here causes severe slowdowns.\n\t// See https://connect.microsoft.com/IE/feedback/details/1736512/\n\trnoInnerhtml = /<script|<style|<link/i,\n\n\t// checked=\"checked\" or checked\n\trchecked = /checked\\s*(?:[^=]|=\\s*.checked.)/i,\n\trscriptTypeMasked = /^true\\/(.*)/,\n\trcleanScript = /^\\s*<!(?:\\[CDATA\\[|--)|(?:\\]\\]|--)>\\s*$/g,\n\tsafeFragment = createSafeFragment( document ),\n\tfragmentDiv = safeFragment.appendChild( document.createElement( \"div\" ) );\n\n// Support: IE<8\n// Manipulating tables requires a tbody\nfunction manipulationTarget( elem, content ) {\n\treturn jQuery.nodeName( elem, \"table\" ) &&\n\t\tjQuery.nodeName( content.nodeType !== 11 ? content : content.firstChild, \"tr\" ) ?\n\n\t\telem.getElementsByTagName( \"tbody\" )[ 0 ] ||\n\t\t\telem.appendChild( elem.ownerDocument.createElement( \"tbody\" ) ) :\n\t\telem;\n}\n\n// Replace/restore the type attribute of script elements for safe DOM manipulation\nfunction disableScript( elem ) {\n\telem.type = ( jQuery.find.attr( elem, \"type\" ) !== null ) + \"/\" + elem.type;\n\treturn elem;\n}\nfunction restoreScript( elem ) {\n\tvar match = rscriptTypeMasked.exec( elem.type );\n\tif ( match ) {\n\t\telem.type = match[ 1 ];\n\t} else {\n\t\telem.removeAttribute( \"type\" );\n\t}\n\treturn elem;\n}\n\nfunction cloneCopyEvent( src, dest ) {\n\tif ( dest.nodeType !== 1 || !jQuery.hasData( src ) ) {\n\t\treturn;\n\t}\n\n\tvar type, i, l,\n\t\toldData = jQuery._data( src ),\n\t\tcurData = jQuery._data( dest, oldData ),\n\t\tevents = oldData.events;\n\n\tif ( events ) {\n\t\tdelete curData.handle;\n\t\tcurData.events = {};\n\n\t\tfor ( type in events ) {\n\t\t\tfor ( i = 0, l = events[ type ].length; i < l; i++ ) {\n\t\t\t\tjQuery.event.add( dest, type, events[ type ][ i ] );\n\t\t\t}\n\t\t}\n\t}\n\n\t// make the cloned public data object a copy from the original\n\tif ( curData.data ) {\n\t\tcurData.data = jQuery.extend( {}, curData.data );\n\t}\n}\n\nfunction fixCloneNodeIssues( src, dest ) {\n\tvar nodeName, e, data;\n\n\t// We do not need to do anything for non-Elements\n\tif ( dest.nodeType !== 1 ) {\n\t\treturn;\n\t}\n\n\tnodeName = dest.nodeName.toLowerCase();\n\n\t// IE6-8 copies events bound via attachEvent when using cloneNode.\n\tif ( !support.noCloneEvent && dest[ jQuery.expando ] ) {\n\t\tdata = jQuery._data( dest );\n\n\t\tfor ( e in data.events ) {\n\t\t\tjQuery.removeEvent( dest, e, data.handle );\n\t\t}\n\n\t\t// Event data gets referenced instead of copied if the expando gets copied too\n\t\tdest.removeAttribute( jQuery.expando );\n\t}\n\n\t// IE blanks contents when cloning scripts, and tries to evaluate newly-set text\n\tif ( nodeName === \"script\" && dest.text !== src.text ) {\n\t\tdisableScript( dest ).text = src.text;\n\t\trestoreScript( dest );\n\n\t// IE6-10 improperly clones children of object elements using classid.\n\t// IE10 throws NoModificationAllowedError if parent is null, #12132.\n\t} else if ( nodeName === \"object\" ) {\n\t\tif ( dest.parentNode ) {\n\t\t\tdest.outerHTML = src.outerHTML;\n\t\t}\n\n\t\t// This path appears unavoidable for IE9. When cloning an object\n\t\t// element in IE9, the outerHTML strategy above is not sufficient.\n\t\t// If the src has innerHTML and the destination does not,\n\t\t// copy the src.innerHTML into the dest.innerHTML. #10324\n\t\tif ( support.html5Clone && ( src.innerHTML && !jQuery.trim( dest.innerHTML ) ) ) {\n\t\t\tdest.innerHTML = src.innerHTML;\n\t\t}\n\n\t} else if ( nodeName === \"input\" && rcheckableType.test( src.type ) ) {\n\n\t\t// IE6-8 fails to persist the checked state of a cloned checkbox\n\t\t// or radio button. Worse, IE6-7 fail to give the cloned element\n\t\t// a checked appearance if the defaultChecked value isn't also set\n\n\t\tdest.defaultChecked = dest.checked = src.checked;\n\n\t\t// IE6-7 get confused and end up setting the value of a cloned\n\t\t// checkbox/radio button to an empty string instead of \"on\"\n\t\tif ( dest.value !== src.value ) {\n\t\t\tdest.value = src.value;\n\t\t}\n\n\t// IE6-8 fails to return the selected option to the default selected\n\t// state when cloning options\n\t} else if ( nodeName === \"option\" ) {\n\t\tdest.defaultSelected = dest.selected = src.defaultSelected;\n\n\t// IE6-8 fails to set the defaultValue to the correct value when\n\t// cloning other types of input fields\n\t} else if ( nodeName === \"input\" || nodeName === \"textarea\" ) {\n\t\tdest.defaultValue = src.defaultValue;\n\t}\n}\n\nfunction domManip( collection, args, callback, ignored ) {\n\n\t// Flatten any nested arrays\n\targs = concat.apply( [], args );\n\n\tvar first, node, hasScripts,\n\t\tscripts, doc, fragment,\n\t\ti = 0,\n\t\tl = collection.length,\n\t\tiNoClone = l - 1,\n\t\tvalue = args[ 0 ],\n\t\tisFunction = jQuery.isFunction( value );\n\n\t// We can't cloneNode fragments that contain checked, in WebKit\n\tif ( isFunction ||\n\t\t\t( l > 1 && typeof value === \"string\" &&\n\t\t\t\t!support.checkClone && rchecked.test( value ) ) ) {\n\t\treturn collection.each( function( index ) {\n\t\t\tvar self = collection.eq( index );\n\t\t\tif ( isFunction ) {\n\t\t\t\targs[ 0 ] = value.call( this, index, self.html() );\n\t\t\t}\n\t\t\tdomManip( self, args, callback, ignored );\n\t\t} );\n\t}\n\n\tif ( l ) {\n\t\tfragment = buildFragment( args, collection[ 0 ].ownerDocument, false, collection, ignored );\n\t\tfirst = fragment.firstChild;\n\n\t\tif ( fragment.childNodes.length === 1 ) {\n\t\t\tfragment = first;\n\t\t}\n\n\t\t// Require either new content or an interest in ignored elements to invoke the callback\n\t\tif ( first || ignored ) {\n\t\t\tscripts = jQuery.map( getAll( fragment, \"script\" ), disableScript );\n\t\t\thasScripts = scripts.length;\n\n\t\t\t// Use the original fragment for the last item\n\t\t\t// instead of the first because it can end up\n\t\t\t// being emptied incorrectly in certain situations (#8070).\n\t\t\tfor ( ; i < l; i++ ) {\n\t\t\t\tnode = fragment;\n\n\t\t\t\tif ( i !== iNoClone ) {\n\t\t\t\t\tnode = jQuery.clone( node, true, true );\n\n\t\t\t\t\t// Keep references to cloned scripts for later restoration\n\t\t\t\t\tif ( hasScripts ) {\n\n\t\t\t\t\t\t// Support: Android<4.1, PhantomJS<2\n\t\t\t\t\t\t// push.apply(_, arraylike) throws on ancient WebKit\n\t\t\t\t\t\tjQuery.merge( scripts, getAll( node, \"script\" ) );\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tcallback.call( collection[ i ], node, i );\n\t\t\t}\n\n\t\t\tif ( hasScripts ) {\n\t\t\t\tdoc = scripts[ scripts.length - 1 ].ownerDocument;\n\n\t\t\t\t// Reenable scripts\n\t\t\t\tjQuery.map( scripts, restoreScript );\n\n\t\t\t\t// Evaluate executable scripts on first document insertion\n\t\t\t\tfor ( i = 0; i < hasScripts; i++ ) {\n\t\t\t\t\tnode = scripts[ i ];\n\t\t\t\t\tif ( rscriptType.test( node.type || \"\" ) &&\n\t\t\t\t\t\t!jQuery._data( node, \"globalEval\" ) &&\n\t\t\t\t\t\tjQuery.contains( doc, node ) ) {\n\n\t\t\t\t\t\tif ( node.src ) {\n\n\t\t\t\t\t\t\t// Optional AJAX dependency, but won't run scripts if not present\n\t\t\t\t\t\t\tif ( jQuery._evalUrl ) {\n\t\t\t\t\t\t\t\tjQuery._evalUrl( node.src );\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tjQuery.globalEval(\n\t\t\t\t\t\t\t\t( node.text || node.textContent || node.innerHTML || \"\" )\n\t\t\t\t\t\t\t\t\t.replace( rcleanScript, \"\" )\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Fix #11809: Avoid leaking memory\n\t\t\tfragment = first = null;\n\t\t}\n\t}\n\n\treturn collection;\n}\n\nfunction remove( elem, selector, keepData ) {\n\tvar node,\n\t\telems = selector ? jQuery.filter( selector, elem ) : elem,\n\t\ti = 0;\n\n\tfor ( ; ( node = elems[ i ] ) != null; i++ ) {\n\n\t\tif ( !keepData && node.nodeType === 1 ) {\n\t\t\tjQuery.cleanData( getAll( node ) );\n\t\t}\n\n\t\tif ( node.parentNode ) {\n\t\t\tif ( keepData && jQuery.contains( node.ownerDocument, node ) ) {\n\t\t\t\tsetGlobalEval( getAll( node, \"script\" ) );\n\t\t\t}\n\t\t\tnode.parentNode.removeChild( node );\n\t\t}\n\t}\n\n\treturn elem;\n}\n\njQuery.extend( {\n\thtmlPrefilter: function( html ) {\n\t\treturn html.replace( rxhtmlTag, \"<$1></$2>\" );\n\t},\n\n\tclone: function( elem, dataAndEvents, deepDataAndEvents ) {\n\t\tvar destElements, node, clone, i, srcElements,\n\t\t\tinPage = jQuery.contains( elem.ownerDocument, elem );\n\n\t\tif ( support.html5Clone || jQuery.isXMLDoc( elem ) ||\n\t\t\t!rnoshimcache.test( \"<\" + elem.nodeName + \">\" ) ) {\n\n\t\t\tclone = elem.cloneNode( true );\n\n\t\t// IE<=8 does not properly clone detached, unknown element nodes\n\t\t} else {\n\t\t\tfragmentDiv.innerHTML = elem.outerHTML;\n\t\t\tfragmentDiv.removeChild( clone = fragmentDiv.firstChild );\n\t\t}\n\n\t\tif ( ( !support.noCloneEvent || !support.noCloneChecked ) &&\n\t\t\t\t( elem.nodeType === 1 || elem.nodeType === 11 ) && !jQuery.isXMLDoc( elem ) ) {\n\n\t\t\t// We eschew Sizzle here for performance reasons: http://jsperf.com/getall-vs-sizzle/2\n\t\t\tdestElements = getAll( clone );\n\t\t\tsrcElements = getAll( elem );\n\n\t\t\t// Fix all IE cloning issues\n\t\t\tfor ( i = 0; ( node = srcElements[ i ] ) != null; ++i ) {\n\n\t\t\t\t// Ensure that the destination node is not null; Fixes #9587\n\t\t\t\tif ( destElements[ i ] ) {\n\t\t\t\t\tfixCloneNodeIssues( node, destElements[ i ] );\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t// Copy the events from the original to the clone\n\t\tif ( dataAndEvents ) {\n\t\t\tif ( deepDataAndEvents ) {\n\t\t\t\tsrcElements = srcElements || getAll( elem );\n\t\t\t\tdestElements = destElements || getAll( clone );\n\n\t\t\t\tfor ( i = 0; ( node = srcElements[ i ] ) != null; i++ ) {\n\t\t\t\t\tcloneCopyEvent( node, destElements[ i ] );\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tcloneCopyEvent( elem, clone );\n\t\t\t}\n\t\t}\n\n\t\t// Preserve script evaluation history\n\t\tdestElements = getAll( clone, \"script\" );\n\t\tif ( destElements.length > 0 ) {\n\t\t\tsetGlobalEval( destElements, !inPage && getAll( elem, \"script\" ) );\n\t\t}\n\n\t\tdestElements = srcElements = node = null;\n\n\t\t// Return the cloned set\n\t\treturn clone;\n\t},\n\n\tcleanData: function( elems, /* internal */ forceAcceptData ) {\n\t\tvar elem, type, id, data,\n\t\t\ti = 0,\n\t\t\tinternalKey = jQuery.expando,\n\t\t\tcache = jQuery.cache,\n\t\t\tattributes = support.attributes,\n\t\t\tspecial = jQuery.event.special;\n\n\t\tfor ( ; ( elem = elems[ i ] ) != null; i++ ) {\n\t\t\tif ( forceAcceptData || acceptData( elem ) ) {\n\n\t\t\t\tid = elem[ internalKey ];\n\t\t\t\tdata = id && cache[ id ];\n\n\t\t\t\tif ( data ) {\n\t\t\t\t\tif ( data.events ) {\n\t\t\t\t\t\tfor ( type in data.events ) {\n\t\t\t\t\t\t\tif ( special[ type ] ) {\n\t\t\t\t\t\t\t\tjQuery.event.remove( elem, type );\n\n\t\t\t\t\t\t\t// This is a shortcut to avoid jQuery.event.remove's overhead\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\tjQuery.removeEvent( elem, type, data.handle );\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\t// Remove cache only if it was not already removed by jQuery.event.remove\n\t\t\t\t\tif ( cache[ id ] ) {\n\n\t\t\t\t\t\tdelete cache[ id ];\n\n\t\t\t\t\t\t// Support: IE<9\n\t\t\t\t\t\t// IE does not allow us to delete expando properties from nodes\n\t\t\t\t\t\t// IE creates expando attributes along with the property\n\t\t\t\t\t\t// IE does not have a removeAttribute function on Document nodes\n\t\t\t\t\t\tif ( !attributes && typeof elem.removeAttribute !== \"undefined\" ) {\n\t\t\t\t\t\t\telem.removeAttribute( internalKey );\n\n\t\t\t\t\t\t// Webkit & Blink performance suffers when deleting properties\n\t\t\t\t\t\t// from DOM nodes, so set to undefined instead\n\t\t\t\t\t\t// https://code.google.com/p/chromium/issues/detail?id=378607\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\telem[ internalKey ] = undefined;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tdeletedIds.push( id );\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n} );\n\njQuery.fn.extend( {\n\n\t// Keep domManip exposed until 3.0 (gh-2225)\n\tdomManip: domManip,\n\n\tdetach: function( selector ) {\n\t\treturn remove( this, selector, true );\n\t},\n\n\tremove: function( selector ) {\n\t\treturn remove( this, selector );\n\t},\n\n\ttext: function( value ) {\n\t\treturn access( this, function( value ) {\n\t\t\treturn value === undefined ?\n\t\t\t\tjQuery.text( this ) :\n\t\t\t\tthis.empty().append(\n\t\t\t\t\t( this[ 0 ] && this[ 0 ].ownerDocument || document ).createTextNode( value )\n\t\t\t\t);\n\t\t}, null, value, arguments.length );\n\t},\n\n\tappend: function() {\n\t\treturn domManip( this, arguments, function( elem ) {\n\t\t\tif ( this.nodeType === 1 || this.nodeType === 11 || this.nodeType === 9 ) {\n\t\t\t\tvar target = manipulationTarget( this, elem );\n\t\t\t\ttarget.appendChild( elem );\n\t\t\t}\n\t\t} );\n\t},\n\n\tprepend: function() {\n\t\treturn domManip( this, arguments, function( elem ) {\n\t\t\tif ( this.nodeType === 1 || this.nodeType === 11 || this.nodeType === 9 ) {\n\t\t\t\tvar target = manipulationTarget( this, elem );\n\t\t\t\ttarget.insertBefore( elem, target.firstChild );\n\t\t\t}\n\t\t} );\n\t},\n\n\tbefore: function() {\n\t\treturn domManip( this, arguments, function( elem ) {\n\t\t\tif ( this.parentNode ) {\n\t\t\t\tthis.parentNode.insertBefore( elem, this );\n\t\t\t}\n\t\t} );\n\t},\n\n\tafter: function() {\n\t\treturn domManip( this, arguments, function( elem ) {\n\t\t\tif ( this.parentNode ) {\n\t\t\t\tthis.parentNode.insertBefore( elem, this.nextSibling );\n\t\t\t}\n\t\t} );\n\t},\n\n\tempty: function() {\n\t\tvar elem,\n\t\t\ti = 0;\n\n\t\tfor ( ; ( elem = this[ i ] ) != null; i++ ) {\n\n\t\t\t// Remove element nodes and prevent memory leaks\n\t\t\tif ( elem.nodeType === 1 ) {\n\t\t\t\tjQuery.cleanData( getAll( elem, false ) );\n\t\t\t}\n\n\t\t\t// Remove any remaining nodes\n\t\t\twhile ( elem.firstChild ) {\n\t\t\t\telem.removeChild( elem.firstChild );\n\t\t\t}\n\n\t\t\t// If this is a select, ensure that it displays empty (#12336)\n\t\t\t// Support: IE<9\n\t\t\tif ( elem.options && jQuery.nodeName( elem, \"select\" ) ) {\n\t\t\t\telem.options.length = 0;\n\t\t\t}\n\t\t}\n\n\t\treturn this;\n\t},\n\n\tclone: function( dataAndEvents, deepDataAndEvents ) {\n\t\tdataAndEvents = dataAndEvents == null ? false : dataAndEvents;\n\t\tdeepDataAndEvents = deepDataAndEvents == null ? dataAndEvents : deepDataAndEvents;\n\n\t\treturn this.map( function() {\n\t\t\treturn jQuery.clone( this, dataAndEvents, deepDataAndEvents );\n\t\t} );\n\t},\n\n\thtml: function( value ) {\n\t\treturn access( this, function( value ) {\n\t\t\tvar elem = this[ 0 ] || {},\n\t\t\t\ti = 0,\n\t\t\t\tl = this.length;\n\n\t\t\tif ( value === undefined ) {\n\t\t\t\treturn elem.nodeType === 1 ?\n\t\t\t\t\telem.innerHTML.replace( rinlinejQuery, \"\" ) :\n\t\t\t\t\tundefined;\n\t\t\t}\n\n\t\t\t// See if we can take a shortcut and just use innerHTML\n\t\t\tif ( typeof value === \"string\" && !rnoInnerhtml.test( value ) &&\n\t\t\t\t( support.htmlSerialize || !rnoshimcache.test( value ) ) &&\n\t\t\t\t( support.leadingWhitespace || !rleadingWhitespace.test( value ) ) &&\n\t\t\t\t!wrapMap[ ( rtagName.exec( value ) || [ \"\", \"\" ] )[ 1 ].toLowerCase() ] ) {\n\n\t\t\t\tvalue = jQuery.htmlPrefilter( value );\n\n\t\t\t\ttry {\n\t\t\t\t\tfor ( ; i < l; i++ ) {\n\n\t\t\t\t\t\t// Remove element nodes and prevent memory leaks\n\t\t\t\t\t\telem = this[ i ] || {};\n\t\t\t\t\t\tif ( elem.nodeType === 1 ) {\n\t\t\t\t\t\t\tjQuery.cleanData( getAll( elem, false ) );\n\t\t\t\t\t\t\telem.innerHTML = value;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\telem = 0;\n\n\t\t\t\t// If using innerHTML throws an exception, use the fallback method\n\t\t\t\t} catch ( e ) {}\n\t\t\t}\n\n\t\t\tif ( elem ) {\n\t\t\t\tthis.empty().append( value );\n\t\t\t}\n\t\t}, null, value, arguments.length );\n\t},\n\n\treplaceWith: function() {\n\t\tvar ignored = [];\n\n\t\t// Make the changes, replacing each non-ignored context element with the new content\n\t\treturn domManip( this, arguments, function( elem ) {\n\t\t\tvar parent = this.parentNode;\n\n\t\t\tif ( jQuery.inArray( this, ignored ) < 0 ) {\n\t\t\t\tjQuery.cleanData( getAll( this ) );\n\t\t\t\tif ( parent ) {\n\t\t\t\t\tparent.replaceChild( elem, this );\n\t\t\t\t}\n\t\t\t}\n\n\t\t// Force callback invocation\n\t\t}, ignored );\n\t}\n} );\n\njQuery.each( {\n\tappendTo: \"append\",\n\tprependTo: \"prepend\",\n\tinsertBefore: \"before\",\n\tinsertAfter: \"after\",\n\treplaceAll: \"replaceWith\"\n}, function( name, original ) {\n\tjQuery.fn[ name ] = function( selector ) {\n\t\tvar elems,\n\t\t\ti = 0,\n\t\t\tret = [],\n\t\t\tinsert = jQuery( selector ),\n\t\t\tlast = insert.length - 1;\n\n\t\tfor ( ; i <= last; i++ ) {\n\t\t\telems = i === last ? this : this.clone( true );\n\t\t\tjQuery( insert[ i ] )[ original ]( elems );\n\n\t\t\t// Modern browsers can apply jQuery collections as arrays, but oldIE needs a .get()\n\t\t\tpush.apply( ret, elems.get() );\n\t\t}\n\n\t\treturn this.pushStack( ret );\n\t};\n} );\n\n\nvar iframe,\n\telemdisplay = {\n\n\t\t// Support: Firefox\n\t\t// We have to pre-define these values for FF (#10227)\n\t\tHTML: \"block\",\n\t\tBODY: \"block\"\n\t};\n\n/**\n * Retrieve the actual display of a element\n * @param {String} name nodeName of the element\n * @param {Object} doc Document object\n */\n\n// Called only from within defaultDisplay\nfunction actualDisplay( name, doc ) {\n\tvar elem = jQuery( doc.createElement( name ) ).appendTo( doc.body ),\n\n\t\tdisplay = jQuery.css( elem[ 0 ], \"display\" );\n\n\t// We don't have any data stored on the element,\n\t// so use \"detach\" method as fast way to get rid of the element\n\telem.detach();\n\n\treturn display;\n}\n\n/**\n * Try to determine the default display value of an element\n * @param {String} nodeName\n */\nfunction defaultDisplay( nodeName ) {\n\tvar doc = document,\n\t\tdisplay = elemdisplay[ nodeName ];\n\n\tif ( !display ) {\n\t\tdisplay = actualDisplay( nodeName, doc );\n\n\t\t// If the simple way fails, read from inside an iframe\n\t\tif ( display === \"none\" || !display ) {\n\n\t\t\t// Use the already-created iframe if possible\n\t\t\tiframe = ( iframe || jQuery( \"<iframe frameborder='0' width='0' height='0'/>\" ) )\n\t\t\t\t.appendTo( doc.documentElement );\n\n\t\t\t// Always write a new HTML skeleton so Webkit and Firefox don't choke on reuse\n\t\t\tdoc = ( iframe[ 0 ].contentWindow || iframe[ 0 ].contentDocument ).document;\n\n\t\t\t// Support: IE\n\t\t\tdoc.write();\n\t\t\tdoc.close();\n\n\t\t\tdisplay = actualDisplay( nodeName, doc );\n\t\t\tiframe.detach();\n\t\t}\n\n\t\t// Store the correct default display\n\t\telemdisplay[ nodeName ] = display;\n\t}\n\n\treturn display;\n}\nvar rmargin = ( /^margin/ );\n\nvar rnumnonpx = new RegExp( \"^(\" + pnum + \")(?!px)[a-z%]+$\", \"i\" );\n\nvar swap = function( elem, options, callback, args ) {\n\tvar ret, name,\n\t\told = {};\n\n\t// Remember the old values, and insert the new ones\n\tfor ( name in options ) {\n\t\told[ name ] = elem.style[ name ];\n\t\telem.style[ name ] = options[ name ];\n\t}\n\n\tret = callback.apply( elem, args || [] );\n\n\t// Revert the old values\n\tfor ( name in options ) {\n\t\telem.style[ name ] = old[ name ];\n\t}\n\n\treturn ret;\n};\n\n\nvar documentElement = document.documentElement;\n\n\n\n( function() {\n\tvar pixelPositionVal, pixelMarginRightVal, boxSizingReliableVal,\n\t\treliableHiddenOffsetsVal, reliableMarginRightVal, reliableMarginLeftVal,\n\t\tcontainer = document.createElement( \"div\" ),\n\t\tdiv = document.createElement( \"div\" );\n\n\t// Finish early in limited (non-browser) environments\n\tif ( !div.style ) {\n\t\treturn;\n\t}\n\n\tdiv.style.cssText = \"float:left;opacity:.5\";\n\n\t// Support: IE<9\n\t// Make sure that element opacity exists (as opposed to filter)\n\tsupport.opacity = div.style.opacity === \"0.5\";\n\n\t// Verify style float existence\n\t// (IE uses styleFloat instead of cssFloat)\n\tsupport.cssFloat = !!div.style.cssFloat;\n\n\tdiv.style.backgroundClip = \"content-box\";\n\tdiv.cloneNode( true ).style.backgroundClip = \"\";\n\tsupport.clearCloneStyle = div.style.backgroundClip === \"content-box\";\n\n\tcontainer = document.createElement( \"div\" );\n\tcontainer.style.cssText = \"border:0;width:8px;height:0;top:0;left:-9999px;\" +\n\t\t\"padding:0;margin-top:1px;position:absolute\";\n\tdiv.innerHTML = \"\";\n\tcontainer.appendChild( div );\n\n\t// Support: Firefox<29, Android 2.3\n\t// Vendor-prefix box-sizing\n\tsupport.boxSizing = div.style.boxSizing === \"\" || div.style.MozBoxSizing === \"\" ||\n\t\tdiv.style.WebkitBoxSizing === \"\";\n\n\tjQuery.extend( support, {\n\t\treliableHiddenOffsets: function() {\n\t\t\tif ( pixelPositionVal == null ) {\n\t\t\t\tcomputeStyleTests();\n\t\t\t}\n\t\t\treturn reliableHiddenOffsetsVal;\n\t\t},\n\n\t\tboxSizingReliable: function() {\n\n\t\t\t// We're checking for pixelPositionVal here instead of boxSizingReliableVal\n\t\t\t// since that compresses better and they're computed together anyway.\n\t\t\tif ( pixelPositionVal == null ) {\n\t\t\t\tcomputeStyleTests();\n\t\t\t}\n\t\t\treturn boxSizingReliableVal;\n\t\t},\n\n\t\tpixelMarginRight: function() {\n\n\t\t\t// Support: Android 4.0-4.3\n\t\t\tif ( pixelPositionVal == null ) {\n\t\t\t\tcomputeStyleTests();\n\t\t\t}\n\t\t\treturn pixelMarginRightVal;\n\t\t},\n\n\t\tpixelPosition: function() {\n\t\t\tif ( pixelPositionVal == null ) {\n\t\t\t\tcomputeStyleTests();\n\t\t\t}\n\t\t\treturn pixelPositionVal;\n\t\t},\n\n\t\treliableMarginRight: function() {\n\n\t\t\t// Support: Android 2.3\n\t\t\tif ( pixelPositionVal == null ) {\n\t\t\t\tcomputeStyleTests();\n\t\t\t}\n\t\t\treturn reliableMarginRightVal;\n\t\t},\n\n\t\treliableMarginLeft: function() {\n\n\t\t\t// Support: IE <=8 only, Android 4.0 - 4.3 only, Firefox <=3 - 37\n\t\t\tif ( pixelPositionVal == null ) {\n\t\t\t\tcomputeStyleTests();\n\t\t\t}\n\t\t\treturn reliableMarginLeftVal;\n\t\t}\n\t} );\n\n\tfunction computeStyleTests() {\n\t\tvar contents, divStyle,\n\t\t\tdocumentElement = document.documentElement;\n\n\t\t// Setup\n\t\tdocumentElement.appendChild( container );\n\n\t\tdiv.style.cssText =\n\n\t\t\t// Support: Android 2.3\n\t\t\t// Vendor-prefix box-sizing\n\t\t\t\"-webkit-box-sizing:border-box;box-sizing:border-box;\" +\n\t\t\t\"position:relative;display:block;\" +\n\t\t\t\"margin:auto;border:1px;padding:1px;\" +\n\t\t\t\"top:1%;width:50%\";\n\n\t\t// Support: IE<9\n\t\t// Assume reasonable values in the absence of getComputedStyle\n\t\tpixelPositionVal = boxSizingReliableVal = reliableMarginLeftVal = false;\n\t\tpixelMarginRightVal = reliableMarginRightVal = true;\n\n\t\t// Check for getComputedStyle so that this code is not run in IE<9.\n\t\tif ( window.getComputedStyle ) {\n\t\t\tdivStyle = window.getComputedStyle( div );\n\t\t\tpixelPositionVal = ( divStyle || {} ).top !== \"1%\";\n\t\t\treliableMarginLeftVal = ( divStyle || {} ).marginLeft === \"2px\";\n\t\t\tboxSizingReliableVal = ( divStyle || { width: \"4px\" } ).width === \"4px\";\n\n\t\t\t// Support: Android 4.0 - 4.3 only\n\t\t\t// Some styles come back with percentage values, even though they shouldn't\n\t\t\tdiv.style.marginRight = \"50%\";\n\t\t\tpixelMarginRightVal = ( divStyle || { marginRight: \"4px\" } ).marginRight === \"4px\";\n\n\t\t\t// Support: Android 2.3 only\n\t\t\t// Div with explicit width and no margin-right incorrectly\n\t\t\t// gets computed margin-right based on width of container (#3333)\n\t\t\t// WebKit Bug 13343 - getComputedStyle returns wrong value for margin-right\n\t\t\tcontents = div.appendChild( document.createElement( \"div\" ) );\n\n\t\t\t// Reset CSS: box-sizing; display; margin; border; padding\n\t\t\tcontents.style.cssText = div.style.cssText =\n\n\t\t\t\t// Support: Android 2.3\n\t\t\t\t// Vendor-prefix box-sizing\n\t\t\t\t\"-webkit-box-sizing:content-box;-moz-box-sizing:content-box;\" +\n\t\t\t\t\"box-sizing:content-box;display:block;margin:0;border:0;padding:0\";\n\t\t\tcontents.style.marginRight = contents.style.width = \"0\";\n\t\t\tdiv.style.width = \"1px\";\n\n\t\t\treliableMarginRightVal =\n\t\t\t\t!parseFloat( ( window.getComputedStyle( contents ) || {} ).marginRight );\n\n\t\t\tdiv.removeChild( contents );\n\t\t}\n\n\t\t// Support: IE6-8\n\t\t// First check that getClientRects works as expected\n\t\t// Check if table cells still have offsetWidth/Height when they are set\n\t\t// to display:none and there are still other visible table cells in a\n\t\t// table row; if so, offsetWidth/Height are not reliable for use when\n\t\t// determining if an element has been hidden directly using\n\t\t// display:none (it is still safe to use offsets if a parent element is\n\t\t// hidden; don safety goggles and see bug #4512 for more information).\n\t\tdiv.style.display = \"none\";\n\t\treliableHiddenOffsetsVal = div.getClientRects().length === 0;\n\t\tif ( reliableHiddenOffsetsVal ) {\n\t\t\tdiv.style.display = \"\";\n\t\t\tdiv.innerHTML = \"<table><tr><td></td><td>t</td></tr></table>\";\n\t\t\tdiv.childNodes[ 0 ].style.borderCollapse = \"separate\";\n\t\t\tcontents = div.getElementsByTagName( \"td\" );\n\t\t\tcontents[ 0 ].style.cssText = \"margin:0;border:0;padding:0;display:none\";\n\t\t\treliableHiddenOffsetsVal = contents[ 0 ].offsetHeight === 0;\n\t\t\tif ( reliableHiddenOffsetsVal ) {\n\t\t\t\tcontents[ 0 ].style.display = \"\";\n\t\t\t\tcontents[ 1 ].style.display = \"none\";\n\t\t\t\treliableHiddenOffsetsVal = contents[ 0 ].offsetHeight === 0;\n\t\t\t}\n\t\t}\n\n\t\t// Teardown\n\t\tdocumentElement.removeChild( container );\n\t}\n\n} )();\n\n\nvar getStyles, curCSS,\n\trposition = /^(top|right|bottom|left)$/;\n\nif ( window.getComputedStyle ) {\n\tgetStyles = function( elem ) {\n\n\t\t// Support: IE<=11+, Firefox<=30+ (#15098, #14150)\n\t\t// IE throws on elements created in popups\n\t\t// FF meanwhile throws on frame elements through \"defaultView.getComputedStyle\"\n\t\tvar view = elem.ownerDocument.defaultView;\n\n\t\tif ( !view || !view.opener ) {\n\t\t\tview = window;\n\t\t}\n\n\t\treturn view.getComputedStyle( elem );\n\t};\n\n\tcurCSS = function( elem, name, computed ) {\n\t\tvar width, minWidth, maxWidth, ret,\n\t\t\tstyle = elem.style;\n\n\t\tcomputed = computed || getStyles( elem );\n\n\t\t// getPropertyValue is only needed for .css('filter') in IE9, see #12537\n\t\tret = computed ? computed.getPropertyValue( name ) || computed[ name ] : undefined;\n\n\t\t// Support: Opera 12.1x only\n\t\t// Fall back to style even without computed\n\t\t// computed is undefined for elems on document fragments\n\t\tif ( ( ret === \"\" || ret === undefined ) && !jQuery.contains( elem.ownerDocument, elem ) ) {\n\t\t\tret = jQuery.style( elem, name );\n\t\t}\n\n\t\tif ( computed ) {\n\n\t\t\t// A tribute to the \"awesome hack by Dean Edwards\"\n\t\t\t// Chrome < 17 and Safari 5.0 uses \"computed value\"\n\t\t\t// instead of \"used value\" for margin-right\n\t\t\t// Safari 5.1.7 (at least) returns percentage for a larger set of values,\n\t\t\t// but width seems to be reliably pixels\n\t\t\t// this is against the CSSOM draft spec:\n\t\t\t// http://dev.w3.org/csswg/cssom/#resolved-values\n\t\t\tif ( !support.pixelMarginRight() && rnumnonpx.test( ret ) && rmargin.test( name ) ) {\n\n\t\t\t\t// Remember the original values\n\t\t\t\twidth = style.width;\n\t\t\t\tminWidth = style.minWidth;\n\t\t\t\tmaxWidth = style.maxWidth;\n\n\t\t\t\t// Put in the new values to get a computed value out\n\t\t\t\tstyle.minWidth = style.maxWidth = style.width = ret;\n\t\t\t\tret = computed.width;\n\n\t\t\t\t// Revert the changed values\n\t\t\t\tstyle.width = width;\n\t\t\t\tstyle.minWidth = minWidth;\n\t\t\t\tstyle.maxWidth = maxWidth;\n\t\t\t}\n\t\t}\n\n\t\t// Support: IE\n\t\t// IE returns zIndex value as an integer.\n\t\treturn ret === undefined ?\n\t\t\tret :\n\t\t\tret + \"\";\n\t};\n} else if ( documentElement.currentStyle ) {\n\tgetStyles = function( elem ) {\n\t\treturn elem.currentStyle;\n\t};\n\n\tcurCSS = function( elem, name, computed ) {\n\t\tvar left, rs, rsLeft, ret,\n\t\t\tstyle = elem.style;\n\n\t\tcomputed = computed || getStyles( elem );\n\t\tret = computed ? computed[ name ] : undefined;\n\n\t\t// Avoid setting ret to empty string here\n\t\t// so we don't default to auto\n\t\tif ( ret == null && style && style[ name ] ) {\n\t\t\tret = style[ name ];\n\t\t}\n\n\t\t// From the awesome hack by Dean Edwards\n\t\t// http://erik.eae.net/archives/2007/07/27/18.54.15/#comment-102291\n\n\t\t// If we're not dealing with a regular pixel number\n\t\t// but a number that has a weird ending, we need to convert it to pixels\n\t\t// but not position css attributes, as those are\n\t\t// proportional to the parent element instead\n\t\t// and we can't measure the parent instead because it\n\t\t// might trigger a \"stacking dolls\" problem\n\t\tif ( rnumnonpx.test( ret ) && !rposition.test( name ) ) {\n\n\t\t\t// Remember the original values\n\t\t\tleft = style.left;\n\t\t\trs = elem.runtimeStyle;\n\t\t\trsLeft = rs && rs.left;\n\n\t\t\t// Put in the new values to get a computed value out\n\t\t\tif ( rsLeft ) {\n\t\t\t\trs.left = elem.currentStyle.left;\n\t\t\t}\n\t\t\tstyle.left = name === \"fontSize\" ? \"1em\" : ret;\n\t\t\tret = style.pixelLeft + \"px\";\n\n\t\t\t// Revert the changed values\n\t\t\tstyle.left = left;\n\t\t\tif ( rsLeft ) {\n\t\t\t\trs.left = rsLeft;\n\t\t\t}\n\t\t}\n\n\t\t// Support: IE\n\t\t// IE returns zIndex value as an integer.\n\t\treturn ret === undefined ?\n\t\t\tret :\n\t\t\tret + \"\" || \"auto\";\n\t};\n}\n\n\n\n\nfunction addGetHookIf( conditionFn, hookFn ) {\n\n\t// Define the hook, we'll check on the first run if it's really needed.\n\treturn {\n\t\tget: function() {\n\t\t\tif ( conditionFn() ) {\n\n\t\t\t\t// Hook not needed (or it's not possible to use it due\n\t\t\t\t// to missing dependency), remove it.\n\t\t\t\tdelete this.get;\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// Hook needed; redefine it so that the support test is not executed again.\n\t\t\treturn ( this.get = hookFn ).apply( this, arguments );\n\t\t}\n\t};\n}\n\n\nvar\n\n\t\tralpha = /alpha\\([^)]*\\)/i,\n\tropacity = /opacity\\s*=\\s*([^)]*)/i,\n\n\t// swappable if display is none or starts with table except\n\t// \"table\", \"table-cell\", or \"table-caption\"\n\t// see here for display values:\n\t// https://developer.mozilla.org/en-US/docs/CSS/display\n\trdisplayswap = /^(none|table(?!-c[ea]).+)/,\n\trnumsplit = new RegExp( \"^(\" + pnum + \")(.*)$\", \"i\" ),\n\n\tcssShow = { position: \"absolute\", visibility: \"hidden\", display: \"block\" },\n\tcssNormalTransform = {\n\t\tletterSpacing: \"0\",\n\t\tfontWeight: \"400\"\n\t},\n\n\tcssPrefixes = [ \"Webkit\", \"O\", \"Moz\", \"ms\" ],\n\temptyStyle = document.createElement( \"div\" ).style;\n\n\n// return a css property mapped to a potentially vendor prefixed property\nfunction vendorPropName( name ) {\n\n\t// shortcut for names that are not vendor prefixed\n\tif ( name in emptyStyle ) {\n\t\treturn name;\n\t}\n\n\t// check for vendor prefixed names\n\tvar capName = name.charAt( 0 ).toUpperCase() + name.slice( 1 ),\n\t\ti = cssPrefixes.length;\n\n\twhile ( i-- ) {\n\t\tname = cssPrefixes[ i ] + capName;\n\t\tif ( name in emptyStyle ) {\n\t\t\treturn name;\n\t\t}\n\t}\n}\n\nfunction showHide( elements, show ) {\n\tvar display, elem, hidden,\n\t\tvalues = [],\n\t\tindex = 0,\n\t\tlength = elements.length;\n\n\tfor ( ; index < length; index++ ) {\n\t\telem = elements[ index ];\n\t\tif ( !elem.style ) {\n\t\t\tcontinue;\n\t\t}\n\n\t\tvalues[ index ] = jQuery._data( elem, \"olddisplay\" );\n\t\tdisplay = elem.style.display;\n\t\tif ( show ) {\n\n\t\t\t// Reset the inline display of this element to learn if it is\n\t\t\t// being hidden by cascaded rules or not\n\t\t\tif ( !values[ index ] && display === \"none\" ) {\n\t\t\t\telem.style.display = \"\";\n\t\t\t}\n\n\t\t\t// Set elements which have been overridden with display: none\n\t\t\t// in a stylesheet to whatever the default browser style is\n\t\t\t// for such an element\n\t\t\tif ( elem.style.display === \"\" && isHidden( elem ) ) {\n\t\t\t\tvalues[ index ] =\n\t\t\t\t\tjQuery._data( elem, \"olddisplay\", defaultDisplay( elem.nodeName ) );\n\t\t\t}\n\t\t} else {\n\t\t\thidden = isHidden( elem );\n\n\t\t\tif ( display && display !== \"none\" || !hidden ) {\n\t\t\t\tjQuery._data(\n\t\t\t\t\telem,\n\t\t\t\t\t\"olddisplay\",\n\t\t\t\t\thidden ? display : jQuery.css( elem, \"display\" )\n\t\t\t\t);\n\t\t\t}\n\t\t}\n\t}\n\n\t// Set the display of most of the elements in a second loop\n\t// to avoid the constant reflow\n\tfor ( index = 0; index < length; index++ ) {\n\t\telem = elements[ index ];\n\t\tif ( !elem.style ) {\n\t\t\tcontinue;\n\t\t}\n\t\tif ( !show || elem.style.display === \"none\" || elem.style.display === \"\" ) {\n\t\t\telem.style.display = show ? values[ index ] || \"\" : \"none\";\n\t\t}\n\t}\n\n\treturn elements;\n}\n\nfunction setPositiveNumber( elem, value, subtract ) {\n\tvar matches = rnumsplit.exec( value );\n\treturn matches ?\n\n\t\t// Guard against undefined \"subtract\", e.g., when used as in cssHooks\n\t\tMath.max( 0, matches[ 1 ] - ( subtract || 0 ) ) + ( matches[ 2 ] || \"px\" ) :\n\t\tvalue;\n}\n\nfunction augmentWidthOrHeight( elem, name, extra, isBorderBox, styles ) {\n\tvar i = extra === ( isBorderBox ? \"border\" : \"content\" ) ?\n\n\t\t// If we already have the right measurement, avoid augmentation\n\t\t4 :\n\n\t\t// Otherwise initialize for horizontal or vertical properties\n\t\tname === \"width\" ? 1 : 0,\n\n\t\tval = 0;\n\n\tfor ( ; i < 4; i += 2 ) {\n\n\t\t// both box models exclude margin, so add it if we want it\n\t\tif ( extra === \"margin\" ) {\n\t\t\tval += jQuery.css( elem, extra + cssExpand[ i ], true, styles );\n\t\t}\n\n\t\tif ( isBorderBox ) {\n\n\t\t\t// border-box includes padding, so remove it if we want content\n\t\t\tif ( extra === \"content\" ) {\n\t\t\t\tval -= jQuery.css( elem, \"padding\" + cssExpand[ i ], true, styles );\n\t\t\t}\n\n\t\t\t// at this point, extra isn't border nor margin, so remove border\n\t\t\tif ( extra !== \"margin\" ) {\n\t\t\t\tval -= jQuery.css( elem, \"border\" + cssExpand[ i ] + \"Width\", true, styles );\n\t\t\t}\n\t\t} else {\n\n\t\t\t// at this point, extra isn't content, so add padding\n\t\t\tval += jQuery.css( elem, \"padding\" + cssExpand[ i ], true, styles );\n\n\t\t\t// at this point, extra isn't content nor padding, so add border\n\t\t\tif ( extra !== \"padding\" ) {\n\t\t\t\tval += jQuery.css( elem, \"border\" + cssExpand[ i ] + \"Width\", true, styles );\n\t\t\t}\n\t\t}\n\t}\n\n\treturn val;\n}\n\nfunction getWidthOrHeight( elem, name, extra ) {\n\n\t// Start with offset property, which is equivalent to the border-box value\n\tvar valueIsBorderBox = true,\n\t\tval = name === \"width\" ? elem.offsetWidth : elem.offsetHeight,\n\t\tstyles = getStyles( elem ),\n\t\tisBorderBox = support.boxSizing &&\n\t\t\tjQuery.css( elem, \"boxSizing\", false, styles ) === \"border-box\";\n\n\t// some non-html elements return undefined for offsetWidth, so check for null/undefined\n\t// svg - https://bugzilla.mozilla.org/show_bug.cgi?id=649285\n\t// MathML - https://bugzilla.mozilla.org/show_bug.cgi?id=491668\n\tif ( val <= 0 || val == null ) {\n\n\t\t// Fall back to computed then uncomputed css if necessary\n\t\tval = curCSS( elem, name, styles );\n\t\tif ( val < 0 || val == null ) {\n\t\t\tval = elem.style[ name ];\n\t\t}\n\n\t\t// Computed unit is not pixels. Stop here and return.\n\t\tif ( rnumnonpx.test( val ) ) {\n\t\t\treturn val;\n\t\t}\n\n\t\t// we need the check for style in case a browser which returns unreliable values\n\t\t// for getComputedStyle silently falls back to the reliable elem.style\n\t\tvalueIsBorderBox = isBorderBox &&\n\t\t\t( support.boxSizingReliable() || val === elem.style[ name ] );\n\n\t\t// Normalize \"\", auto, and prepare for extra\n\t\tval = parseFloat( val ) || 0;\n\t}\n\n\t// use the active box-sizing model to add/subtract irrelevant styles\n\treturn ( val +\n\t\taugmentWidthOrHeight(\n\t\t\telem,\n\t\t\tname,\n\t\t\textra || ( isBorderBox ? \"border\" : \"content\" ),\n\t\t\tvalueIsBorderBox,\n\t\t\tstyles\n\t\t)\n\t) + \"px\";\n}\n\njQuery.extend( {\n\n\t// Add in style property hooks for overriding the default\n\t// behavior of getting and setting a style property\n\tcssHooks: {\n\t\topacity: {\n\t\t\tget: function( elem, computed ) {\n\t\t\t\tif ( computed ) {\n\n\t\t\t\t\t// We should always get a number back from opacity\n\t\t\t\t\tvar ret = curCSS( elem, \"opacity\" );\n\t\t\t\t\treturn ret === \"\" ? \"1\" : ret;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t},\n\n\t// Don't automatically add \"px\" to these possibly-unitless properties\n\tcssNumber: {\n\t\t\"animationIterationCount\": true,\n\t\t\"columnCount\": true,\n\t\t\"fillOpacity\": true,\n\t\t\"flexGrow\": true,\n\t\t\"flexShrink\": true,\n\t\t\"fontWeight\": true,\n\t\t\"lineHeight\": true,\n\t\t\"opacity\": true,\n\t\t\"order\": true,\n\t\t\"orphans\": true,\n\t\t\"widows\": true,\n\t\t\"zIndex\": true,\n\t\t\"zoom\": true\n\t},\n\n\t// Add in properties whose names you wish to fix before\n\t// setting or getting the value\n\tcssProps: {\n\n\t\t// normalize float css property\n\t\t\"float\": support.cssFloat ? \"cssFloat\" : \"styleFloat\"\n\t},\n\n\t// Get and set the style property on a DOM Node\n\tstyle: function( elem, name, value, extra ) {\n\n\t\t// Don't set styles on text and comment nodes\n\t\tif ( !elem || elem.nodeType === 3 || elem.nodeType === 8 || !elem.style ) {\n\t\t\treturn;\n\t\t}\n\n\t\t// Make sure that we're working with the right name\n\t\tvar ret, type, hooks,\n\t\t\torigName = jQuery.camelCase( name ),\n\t\t\tstyle = elem.style;\n\n\t\tname = jQuery.cssProps[ origName ] ||\n\t\t\t( jQuery.cssProps[ origName ] = vendorPropName( origName ) || origName );\n\n\t\t// gets hook for the prefixed version\n\t\t// followed by the unprefixed version\n\t\thooks = jQuery.cssHooks[ name ] || jQuery.cssHooks[ origName ];\n\n\t\t// Check if we're setting a value\n\t\tif ( value !== undefined ) {\n\t\t\ttype = typeof value;\n\n\t\t\t// Convert \"+=\" or \"-=\" to relative numbers (#7345)\n\t\t\tif ( type === \"string\" && ( ret = rcssNum.exec( value ) ) && ret[ 1 ] ) {\n\t\t\t\tvalue = adjustCSS( elem, name, ret );\n\n\t\t\t\t// Fixes bug #9237\n\t\t\t\ttype = \"number\";\n\t\t\t}\n\n\t\t\t// Make sure that null and NaN values aren't set. See: #7116\n\t\t\tif ( value == null || value !== value ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// If a number was passed in, add the unit (except for certain CSS properties)\n\t\t\tif ( type === \"number\" ) {\n\t\t\t\tvalue += ret && ret[ 3 ] || ( jQuery.cssNumber[ origName ] ? \"\" : \"px\" );\n\t\t\t}\n\n\t\t\t// Fixes #8908, it can be done more correctly by specifing setters in cssHooks,\n\t\t\t// but it would mean to define eight\n\t\t\t// (for every problematic property) identical functions\n\t\t\tif ( !support.clearCloneStyle && value === \"\" && name.indexOf( \"background\" ) === 0 ) {\n\t\t\t\tstyle[ name ] = \"inherit\";\n\t\t\t}\n\n\t\t\t// If a hook was provided, use that value, otherwise just set the specified value\n\t\t\tif ( !hooks || !( \"set\" in hooks ) ||\n\t\t\t\t( value = hooks.set( elem, value, extra ) ) !== undefined ) {\n\n\t\t\t\t// Support: IE\n\t\t\t\t// Swallow errors from 'invalid' CSS values (#5509)\n\t\t\t\ttry {\n\t\t\t\t\tstyle[ name ] = value;\n\t\t\t\t} catch ( e ) {}\n\t\t\t}\n\n\t\t} else {\n\n\t\t\t// If a hook was provided get the non-computed value from there\n\t\t\tif ( hooks && \"get\" in hooks &&\n\t\t\t\t( ret = hooks.get( elem, false, extra ) ) !== undefined ) {\n\n\t\t\t\treturn ret;\n\t\t\t}\n\n\t\t\t// Otherwise just get the value from the style object\n\t\t\treturn style[ name ];\n\t\t}\n\t},\n\n\tcss: function( elem, name, extra, styles ) {\n\t\tvar num, val, hooks,\n\t\t\torigName = jQuery.camelCase( name );\n\n\t\t// Make sure that we're working with the right name\n\t\tname = jQuery.cssProps[ origName ] ||\n\t\t\t( jQuery.cssProps[ origName ] = vendorPropName( origName ) || origName );\n\n\t\t// gets hook for the prefixed version\n\t\t// followed by the unprefixed version\n\t\thooks = jQuery.cssHooks[ name ] || jQuery.cssHooks[ origName ];\n\n\t\t// If a hook was provided get the computed value from there\n\t\tif ( hooks && \"get\" in hooks ) {\n\t\t\tval = hooks.get( elem, true, extra );\n\t\t}\n\n\t\t// Otherwise, if a way to get the computed value exists, use that\n\t\tif ( val === undefined ) {\n\t\t\tval = curCSS( elem, name, styles );\n\t\t}\n\n\t\t//convert \"normal\" to computed value\n\t\tif ( val === \"normal\" && name in cssNormalTransform ) {\n\t\t\tval = cssNormalTransform[ name ];\n\t\t}\n\n\t\t// Return, converting to number if forced or a qualifier was provided and val looks numeric\n\t\tif ( extra === \"\" || extra ) {\n\t\t\tnum = parseFloat( val );\n\t\t\treturn extra === true || isFinite( num ) ? num || 0 : val;\n\t\t}\n\t\treturn val;\n\t}\n} );\n\njQuery.each( [ \"height\", \"width\" ], function( i, name ) {\n\tjQuery.cssHooks[ name ] = {\n\t\tget: function( elem, computed, extra ) {\n\t\t\tif ( computed ) {\n\n\t\t\t\t// certain elements can have dimension info if we invisibly show them\n\t\t\t\t// however, it must have a current display style that would benefit from this\n\t\t\t\treturn rdisplayswap.test( jQuery.css( elem, \"display\" ) ) &&\n\t\t\t\t\telem.offsetWidth === 0 ?\n\t\t\t\t\t\tswap( elem, cssShow, function() {\n\t\t\t\t\t\t\treturn getWidthOrHeight( elem, name, extra );\n\t\t\t\t\t\t} ) :\n\t\t\t\t\t\tgetWidthOrHeight( elem, name, extra );\n\t\t\t}\n\t\t},\n\n\t\tset: function( elem, value, extra ) {\n\t\t\tvar styles = extra && getStyles( elem );\n\t\t\treturn setPositiveNumber( elem, value, extra ?\n\t\t\t\taugmentWidthOrHeight(\n\t\t\t\t\telem,\n\t\t\t\t\tname,\n\t\t\t\t\textra,\n\t\t\t\t\tsupport.boxSizing &&\n\t\t\t\t\t\tjQuery.css( elem, \"boxSizing\", false, styles ) === \"border-box\",\n\t\t\t\t\tstyles\n\t\t\t\t) : 0\n\t\t\t);\n\t\t}\n\t};\n} );\n\nif ( !support.opacity ) {\n\tjQuery.cssHooks.opacity = {\n\t\tget: function( elem, computed ) {\n\n\t\t\t// IE uses filters for opacity\n\t\t\treturn ropacity.test( ( computed && elem.currentStyle ?\n\t\t\t\telem.currentStyle.filter :\n\t\t\t\telem.style.filter ) || \"\" ) ?\n\t\t\t\t\t( 0.01 * parseFloat( RegExp.$1 ) ) + \"\" :\n\t\t\t\t\tcomputed ? \"1\" : \"\";\n\t\t},\n\n\t\tset: function( elem, value ) {\n\t\t\tvar style = elem.style,\n\t\t\t\tcurrentStyle = elem.currentStyle,\n\t\t\t\topacity = jQuery.isNumeric( value ) ? \"alpha(opacity=\" + value * 100 + \")\" : \"\",\n\t\t\t\tfilter = currentStyle && currentStyle.filter || style.filter || \"\";\n\n\t\t\t// IE has trouble with opacity if it does not have layout\n\t\t\t// Force it by setting the zoom level\n\t\t\tstyle.zoom = 1;\n\n\t\t\t// if setting opacity to 1, and no other filters exist -\n\t\t\t// attempt to remove filter attribute #6652\n\t\t\t// if value === \"\", then remove inline opacity #12685\n\t\t\tif ( ( value >= 1 || value === \"\" ) &&\n\t\t\t\t\tjQuery.trim( filter.replace( ralpha, \"\" ) ) === \"\" &&\n\t\t\t\t\tstyle.removeAttribute ) {\n\n\t\t\t\t// Setting style.filter to null, \"\" & \" \" still leave \"filter:\" in the cssText\n\t\t\t\t// if \"filter:\" is present at all, clearType is disabled, we want to avoid this\n\t\t\t\t// style.removeAttribute is IE Only, but so apparently is this code path...\n\t\t\t\tstyle.removeAttribute( \"filter\" );\n\n\t\t\t\t// if there is no filter style applied in a css rule\n\t\t\t\t// or unset inline opacity, we are done\n\t\t\t\tif ( value === \"\" || currentStyle && !currentStyle.filter ) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// otherwise, set new filter values\n\t\t\tstyle.filter = ralpha.test( filter ) ?\n\t\t\t\tfilter.replace( ralpha, opacity ) :\n\t\t\t\tfilter + \" \" + opacity;\n\t\t}\n\t};\n}\n\njQuery.cssHooks.marginRight = addGetHookIf( support.reliableMarginRight,\n\tfunction( elem, computed ) {\n\t\tif ( computed ) {\n\t\t\treturn swap( elem, { \"display\": \"inline-block\" },\n\t\t\t\tcurCSS, [ elem, \"marginRight\" ] );\n\t\t}\n\t}\n);\n\njQuery.cssHooks.marginLeft = addGetHookIf( support.reliableMarginLeft,\n\tfunction( elem, computed ) {\n\t\tif ( computed ) {\n\t\t\treturn (\n\t\t\t\tparseFloat( curCSS( elem, \"marginLeft\" ) ) ||\n\n\t\t\t\t// Support: IE<=11+\n\t\t\t\t// Running getBoundingClientRect on a disconnected node in IE throws an error\n\t\t\t\t// Support: IE8 only\n\t\t\t\t// getClientRects() errors on disconnected elems\n\t\t\t\t( jQuery.contains( elem.ownerDocument, elem ) ?\n\t\t\t\t\telem.getBoundingClientRect().left -\n\t\t\t\t\t\tswap( elem, { marginLeft: 0 }, function() {\n\t\t\t\t\t\t\treturn elem.getBoundingClientRect().left;\n\t\t\t\t\t\t} ) :\n\t\t\t\t\t0\n\t\t\t\t)\n\t\t\t) + \"px\";\n\t\t}\n\t}\n);\n\n// These hooks are used by animate to expand properties\njQuery.each( {\n\tmargin: \"\",\n\tpadding: \"\",\n\tborder: \"Width\"\n}, function( prefix, suffix ) {\n\tjQuery.cssHooks[ prefix + suffix ] = {\n\t\texpand: function( value ) {\n\t\t\tvar i = 0,\n\t\t\t\texpanded = {},\n\n\t\t\t\t// assumes a single number if not a string\n\t\t\t\tparts = typeof value === \"string\" ? value.split( \" \" ) : [ value ];\n\n\t\t\tfor ( ; i < 4; i++ ) {\n\t\t\t\texpanded[ prefix + cssExpand[ i ] + suffix ] =\n\t\t\t\t\tparts[ i ] || parts[ i - 2 ] || parts[ 0 ];\n\t\t\t}\n\n\t\t\treturn expanded;\n\t\t}\n\t};\n\n\tif ( !rmargin.test( prefix ) ) {\n\t\tjQuery.cssHooks[ prefix + suffix ].set = setPositiveNumber;\n\t}\n} );\n\njQuery.fn.extend( {\n\tcss: function( name, value ) {\n\t\treturn access( this, function( elem, name, value ) {\n\t\t\tvar styles, len,\n\t\t\t\tmap = {},\n\t\t\t\ti = 0;\n\n\t\t\tif ( jQuery.isArray( name ) ) {\n\t\t\t\tstyles = getStyles( elem );\n\t\t\t\tlen = name.length;\n\n\t\t\t\tfor ( ; i < len; i++ ) {\n\t\t\t\t\tmap[ name[ i ] ] = jQuery.css( elem, name[ i ], false, styles );\n\t\t\t\t}\n\n\t\t\t\treturn map;\n\t\t\t}\n\n\t\t\treturn value !== undefined ?\n\t\t\t\tjQuery.style( elem, name, value ) :\n\t\t\t\tjQuery.css( elem, name );\n\t\t}, name, value, arguments.length > 1 );\n\t},\n\tshow: function() {\n\t\treturn showHide( this, true );\n\t},\n\thide: function() {\n\t\treturn showHide( this );\n\t},\n\ttoggle: function( state ) {\n\t\tif ( typeof state === \"boolean\" ) {\n\t\t\treturn state ? this.show() : this.hide();\n\t\t}\n\n\t\treturn this.each( function() {\n\t\t\tif ( isHidden( this ) ) {\n\t\t\t\tjQuery( this ).show();\n\t\t\t} else {\n\t\t\t\tjQuery( this ).hide();\n\t\t\t}\n\t\t} );\n\t}\n} );\n\n\nfunction Tween( elem, options, prop, end, easing ) {\n\treturn new Tween.prototype.init( elem, options, prop, end, easing );\n}\njQuery.Tween = Tween;\n\nTween.prototype = {\n\tconstructor: Tween,\n\tinit: function( elem, options, prop, end, easing, unit ) {\n\t\tthis.elem = elem;\n\t\tthis.prop = prop;\n\t\tthis.easing = easing || jQuery.easing._default;\n\t\tthis.options = options;\n\t\tthis.start = this.now = this.cur();\n\t\tthis.end = end;\n\t\tthis.unit = unit || ( jQuery.cssNumber[ prop ] ? \"\" : \"px\" );\n\t},\n\tcur: function() {\n\t\tvar hooks = Tween.propHooks[ this.prop ];\n\n\t\treturn hooks && hooks.get ?\n\t\t\thooks.get( this ) :\n\t\t\tTween.propHooks._default.get( this );\n\t},\n\trun: function( percent ) {\n\t\tvar eased,\n\t\t\thooks = Tween.propHooks[ this.prop ];\n\n\t\tif ( this.options.duration ) {\n\t\t\tthis.pos = eased = jQuery.easing[ this.easing ](\n\t\t\t\tpercent, this.options.duration * percent, 0, 1, this.options.duration\n\t\t\t);\n\t\t} else {\n\t\t\tthis.pos = eased = percent;\n\t\t}\n\t\tthis.now = ( this.end - this.start ) * eased + this.start;\n\n\t\tif ( this.options.step ) {\n\t\t\tthis.options.step.call( this.elem, this.now, this );\n\t\t}\n\n\t\tif ( hooks && hooks.set ) {\n\t\t\thooks.set( this );\n\t\t} else {\n\t\t\tTween.propHooks._default.set( this );\n\t\t}\n\t\treturn this;\n\t}\n};\n\nTween.prototype.init.prototype = Tween.prototype;\n\nTween.propHooks = {\n\t_default: {\n\t\tget: function( tween ) {\n\t\t\tvar result;\n\n\t\t\t// Use a property on the element directly when it is not a DOM element,\n\t\t\t// or when there is no matching style property that exists.\n\t\t\tif ( tween.elem.nodeType !== 1 ||\n\t\t\t\ttween.elem[ tween.prop ] != null && tween.elem.style[ tween.prop ] == null ) {\n\t\t\t\treturn tween.elem[ tween.prop ];\n\t\t\t}\n\n\t\t\t// passing an empty string as a 3rd parameter to .css will automatically\n\t\t\t// attempt a parseFloat and fallback to a string if the parse fails\n\t\t\t// so, simple values such as \"10px\" are parsed to Float.\n\t\t\t// complex values such as \"rotate(1rad)\" are returned as is.\n\t\t\tresult = jQuery.css( tween.elem, tween.prop, \"\" );\n\n\t\t\t// Empty strings, null, undefined and \"auto\" are converted to 0.\n\t\t\treturn !result || result === \"auto\" ? 0 : result;\n\t\t},\n\t\tset: function( tween ) {\n\n\t\t\t// use step hook for back compat - use cssHook if its there - use .style if its\n\t\t\t// available and use plain properties where available\n\t\t\tif ( jQuery.fx.step[ tween.prop ] ) {\n\t\t\t\tjQuery.fx.step[ tween.prop ]( tween );\n\t\t\t} else if ( tween.elem.nodeType === 1 &&\n\t\t\t\t( tween.elem.style[ jQuery.cssProps[ tween.prop ] ] != null ||\n\t\t\t\t\tjQuery.cssHooks[ tween.prop ] ) ) {\n\t\t\t\tjQuery.style( tween.elem, tween.prop, tween.now + tween.unit );\n\t\t\t} else {\n\t\t\t\ttween.elem[ tween.prop ] = tween.now;\n\t\t\t}\n\t\t}\n\t}\n};\n\n// Support: IE <=9\n// Panic based approach to setting things on disconnected nodes\n\nTween.propHooks.scrollTop = Tween.propHooks.scrollLeft = {\n\tset: function( tween ) {\n\t\tif ( tween.elem.nodeType && tween.elem.parentNode ) {\n\t\t\ttween.elem[ tween.prop ] = tween.now;\n\t\t}\n\t}\n};\n\njQuery.easing = {\n\tlinear: function( p ) {\n\t\treturn p;\n\t},\n\tswing: function( p ) {\n\t\treturn 0.5 - Math.cos( p * Math.PI ) / 2;\n\t},\n\t_default: \"swing\"\n};\n\njQuery.fx = Tween.prototype.init;\n\n// Back Compat <1.8 extension point\njQuery.fx.step = {};\n\n\n\n\nvar\n\tfxNow, timerId,\n\trfxtypes = /^(?:toggle|show|hide)$/,\n\trrun = /queueHooks$/;\n\n// Animations created synchronously will run synchronously\nfunction createFxNow() {\n\twindow.setTimeout( function() {\n\t\tfxNow = undefined;\n\t} );\n\treturn ( fxNow = jQuery.now() );\n}\n\n// Generate parameters to create a standard animation\nfunction genFx( type, includeWidth ) {\n\tvar which,\n\t\tattrs = { height: type },\n\t\ti = 0;\n\n\t// if we include width, step value is 1 to do all cssExpand values,\n\t// if we don't include width, step value is 2 to skip over Left and Right\n\tincludeWidth = includeWidth ? 1 : 0;\n\tfor ( ; i < 4 ; i += 2 - includeWidth ) {\n\t\twhich = cssExpand[ i ];\n\t\tattrs[ \"margin\" + which ] = attrs[ \"padding\" + which ] = type;\n\t}\n\n\tif ( includeWidth ) {\n\t\tattrs.opacity = attrs.width = type;\n\t}\n\n\treturn attrs;\n}\n\nfunction createTween( value, prop, animation ) {\n\tvar tween,\n\t\tcollection = ( Animation.tweeners[ prop ] || [] ).concat( Animation.tweeners[ \"*\" ] ),\n\t\tindex = 0,\n\t\tlength = collection.length;\n\tfor ( ; index < length; index++ ) {\n\t\tif ( ( tween = collection[ index ].call( animation, prop, value ) ) ) {\n\n\t\t\t// we're done with this property\n\t\t\treturn tween;\n\t\t}\n\t}\n}\n\nfunction defaultPrefilter( elem, props, opts ) {\n\t/* jshint validthis: true */\n\tvar prop, value, toggle, tween, hooks, oldfire, display, checkDisplay,\n\t\tanim = this,\n\t\torig = {},\n\t\tstyle = elem.style,\n\t\thidden = elem.nodeType && isHidden( elem ),\n\t\tdataShow = jQuery._data( elem, \"fxshow\" );\n\n\t// handle queue: false promises\n\tif ( !opts.queue ) {\n\t\thooks = jQuery._queueHooks( elem, \"fx\" );\n\t\tif ( hooks.unqueued == null ) {\n\t\t\thooks.unqueued = 0;\n\t\t\toldfire = hooks.empty.fire;\n\t\t\thooks.empty.fire = function() {\n\t\t\t\tif ( !hooks.unqueued ) {\n\t\t\t\t\toldfire();\n\t\t\t\t}\n\t\t\t};\n\t\t}\n\t\thooks.unqueued++;\n\n\t\tanim.always( function() {\n\n\t\t\t// doing this makes sure that the complete handler will be called\n\t\t\t// before this completes\n\t\t\tanim.always( function() {\n\t\t\t\thooks.unqueued--;\n\t\t\t\tif ( !jQuery.queue( elem, \"fx\" ).length ) {\n\t\t\t\t\thooks.empty.fire();\n\t\t\t\t}\n\t\t\t} );\n\t\t} );\n\t}\n\n\t// height/width overflow pass\n\tif ( elem.nodeType === 1 && ( \"height\" in props || \"width\" in props ) ) {\n\n\t\t// Make sure that nothing sneaks out\n\t\t// Record all 3 overflow attributes because IE does not\n\t\t// change the overflow attribute when overflowX and\n\t\t// overflowY are set to the same value\n\t\topts.overflow = [ style.overflow, style.overflowX, style.overflowY ];\n\n\t\t// Set display property to inline-block for height/width\n\t\t// animations on inline elements that are having width/height animated\n\t\tdisplay = jQuery.css( elem, \"display\" );\n\n\t\t// Test default display if display is currently \"none\"\n\t\tcheckDisplay = display === \"none\" ?\n\t\t\tjQuery._data( elem, \"olddisplay\" ) || defaultDisplay( elem.nodeName ) : display;\n\n\t\tif ( checkDisplay === \"inline\" && jQuery.css( elem, \"float\" ) === \"none\" ) {\n\n\t\t\t// inline-level elements accept inline-block;\n\t\t\t// block-level elements need to be inline with layout\n\t\t\tif ( !support.inlineBlockNeedsLayout || defaultDisplay( elem.nodeName ) === \"inline\" ) {\n\t\t\t\tstyle.display = \"inline-block\";\n\t\t\t} else {\n\t\t\t\tstyle.zoom = 1;\n\t\t\t}\n\t\t}\n\t}\n\n\tif ( opts.overflow ) {\n\t\tstyle.overflow = \"hidden\";\n\t\tif ( !support.shrinkWrapBlocks() ) {\n\t\t\tanim.always( function() {\n\t\t\t\tstyle.overflow = opts.overflow[ 0 ];\n\t\t\t\tstyle.overflowX = opts.overflow[ 1 ];\n\t\t\t\tstyle.overflowY = opts.overflow[ 2 ];\n\t\t\t} );\n\t\t}\n\t}\n\n\t// show/hide pass\n\tfor ( prop in props ) {\n\t\tvalue = props[ prop ];\n\t\tif ( rfxtypes.exec( value ) ) {\n\t\t\tdelete props[ prop ];\n\t\t\ttoggle = toggle || value === \"toggle\";\n\t\t\tif ( value === ( hidden ? \"hide\" : \"show\" ) ) {\n\n\t\t\t\t// If there is dataShow left over from a stopped hide or show\n\t\t\t\t// and we are going to proceed with show, we should pretend to be hidden\n\t\t\t\tif ( value === \"show\" && dataShow && dataShow[ prop ] !== undefined ) {\n\t\t\t\t\thidden = true;\n\t\t\t\t} else {\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\t\t\t}\n\t\t\torig[ prop ] = dataShow && dataShow[ prop ] || jQuery.style( elem, prop );\n\n\t\t// Any non-fx value stops us from restoring the original display value\n\t\t} else {\n\t\t\tdisplay = undefined;\n\t\t}\n\t}\n\n\tif ( !jQuery.isEmptyObject( orig ) ) {\n\t\tif ( dataShow ) {\n\t\t\tif ( \"hidden\" in dataShow ) {\n\t\t\t\thidden = dataShow.hidden;\n\t\t\t}\n\t\t} else {\n\t\t\tdataShow = jQuery._data( elem, \"fxshow\", {} );\n\t\t}\n\n\t\t// store state if its toggle - enables .stop().toggle() to \"reverse\"\n\t\tif ( toggle ) {\n\t\t\tdataShow.hidden = !hidden;\n\t\t}\n\t\tif ( hidden ) {\n\t\t\tjQuery( elem ).show();\n\t\t} else {\n\t\t\tanim.done( function() {\n\t\t\t\tjQuery( elem ).hide();\n\t\t\t} );\n\t\t}\n\t\tanim.done( function() {\n\t\t\tvar prop;\n\t\t\tjQuery._removeData( elem, \"fxshow\" );\n\t\t\tfor ( prop in orig ) {\n\t\t\t\tjQuery.style( elem, prop, orig[ prop ] );\n\t\t\t}\n\t\t} );\n\t\tfor ( prop in orig ) {\n\t\t\ttween = createTween( hidden ? dataShow[ prop ] : 0, prop, anim );\n\n\t\t\tif ( !( prop in dataShow ) ) {\n\t\t\t\tdataShow[ prop ] = tween.start;\n\t\t\t\tif ( hidden ) {\n\t\t\t\t\ttween.end = tween.start;\n\t\t\t\t\ttween.start = prop === \"width\" || prop === \"height\" ? 1 : 0;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t// If this is a noop like .hide().hide(), restore an overwritten display value\n\t} else if ( ( display === \"none\" ? defaultDisplay( elem.nodeName ) : display ) === \"inline\" ) {\n\t\tstyle.display = display;\n\t}\n}\n\nfunction propFilter( props, specialEasing ) {\n\tvar index, name, easing, value, hooks;\n\n\t// camelCase, specialEasing and expand cssHook pass\n\tfor ( index in props ) {\n\t\tname = jQuery.camelCase( index );\n\t\teasing = specialEasing[ name ];\n\t\tvalue = props[ index ];\n\t\tif ( jQuery.isArray( value ) ) {\n\t\t\teasing = value[ 1 ];\n\t\t\tvalue = props[ index ] = value[ 0 ];\n\t\t}\n\n\t\tif ( index !== name ) {\n\t\t\tprops[ name ] = value;\n\t\t\tdelete props[ index ];\n\t\t}\n\n\t\thooks = jQuery.cssHooks[ name ];\n\t\tif ( hooks && \"expand\" in hooks ) {\n\t\t\tvalue = hooks.expand( value );\n\t\t\tdelete props[ name ];\n\n\t\t\t// not quite $.extend, this wont overwrite keys already present.\n\t\t\t// also - reusing 'index' from above because we have the correct \"name\"\n\t\t\tfor ( index in value ) {\n\t\t\t\tif ( !( index in props ) ) {\n\t\t\t\t\tprops[ index ] = value[ index ];\n\t\t\t\t\tspecialEasing[ index ] = easing;\n\t\t\t\t}\n\t\t\t}\n\t\t} else {\n\t\t\tspecialEasing[ name ] = easing;\n\t\t}\n\t}\n}\n\nfunction Animation( elem, properties, options ) {\n\tvar result,\n\t\tstopped,\n\t\tindex = 0,\n\t\tlength = Animation.prefilters.length,\n\t\tdeferred = jQuery.Deferred().always( function() {\n\n\t\t\t// don't match elem in the :animated selector\n\t\t\tdelete tick.elem;\n\t\t} ),\n\t\ttick = function() {\n\t\t\tif ( stopped ) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t\tvar currentTime = fxNow || createFxNow(),\n\t\t\t\tremaining = Math.max( 0, animation.startTime + animation.duration - currentTime ),\n\n\t\t\t\t// Support: Android 2.3\n\t\t\t\t// Archaic crash bug won't allow us to use `1 - ( 0.5 || 0 )` (#12497)\n\t\t\t\ttemp = remaining / animation.duration || 0,\n\t\t\t\tpercent = 1 - temp,\n\t\t\t\tindex = 0,\n\t\t\t\tlength = animation.tweens.length;\n\n\t\t\tfor ( ; index < length ; index++ ) {\n\t\t\t\tanimation.tweens[ index ].run( percent );\n\t\t\t}\n\n\t\t\tdeferred.notifyWith( elem, [ animation, percent, remaining ] );\n\n\t\t\tif ( percent < 1 && length ) {\n\t\t\t\treturn remaining;\n\t\t\t} else {\n\t\t\t\tdeferred.resolveWith( elem, [ animation ] );\n\t\t\t\treturn false;\n\t\t\t}\n\t\t},\n\t\tanimation = deferred.promise( {\n\t\t\telem: elem,\n\t\t\tprops: jQuery.extend( {}, properties ),\n\t\t\topts: jQuery.extend( true, {\n\t\t\t\tspecialEasing: {},\n\t\t\t\teasing: jQuery.easing._default\n\t\t\t}, options ),\n\t\t\toriginalProperties: properties,\n\t\t\toriginalOptions: options,\n\t\t\tstartTime: fxNow || createFxNow(),\n\t\t\tduration: options.duration,\n\t\t\ttweens: [],\n\t\t\tcreateTween: function( prop, end ) {\n\t\t\t\tvar tween = jQuery.Tween( elem, animation.opts, prop, end,\n\t\t\t\t\t\tanimation.opts.specialEasing[ prop ] || animation.opts.easing );\n\t\t\t\tanimation.tweens.push( tween );\n\t\t\t\treturn tween;\n\t\t\t},\n\t\t\tstop: function( gotoEnd ) {\n\t\t\t\tvar index = 0,\n\n\t\t\t\t\t// if we are going to the end, we want to run all the tweens\n\t\t\t\t\t// otherwise we skip this part\n\t\t\t\t\tlength = gotoEnd ? animation.tweens.length : 0;\n\t\t\t\tif ( stopped ) {\n\t\t\t\t\treturn this;\n\t\t\t\t}\n\t\t\t\tstopped = true;\n\t\t\t\tfor ( ; index < length ; index++ ) {\n\t\t\t\t\tanimation.tweens[ index ].run( 1 );\n\t\t\t\t}\n\n\t\t\t\t// resolve when we played the last frame\n\t\t\t\t// otherwise, reject\n\t\t\t\tif ( gotoEnd ) {\n\t\t\t\t\tdeferred.notifyWith( elem, [ animation, 1, 0 ] );\n\t\t\t\t\tdeferred.resolveWith( elem, [ animation, gotoEnd ] );\n\t\t\t\t} else {\n\t\t\t\t\tdeferred.rejectWith( elem, [ animation, gotoEnd ] );\n\t\t\t\t}\n\t\t\t\treturn this;\n\t\t\t}\n\t\t} ),\n\t\tprops = animation.props;\n\n\tpropFilter( props, animation.opts.specialEasing );\n\n\tfor ( ; index < length ; index++ ) {\n\t\tresult = Animation.prefilters[ index ].call( animation, elem, props, animation.opts );\n\t\tif ( result ) {\n\t\t\tif ( jQuery.isFunction( result.stop ) ) {\n\t\t\t\tjQuery._queueHooks( animation.elem, animation.opts.queue ).stop =\n\t\t\t\t\tjQuery.proxy( result.stop, result );\n\t\t\t}\n\t\t\treturn result;\n\t\t}\n\t}\n\n\tjQuery.map( props, createTween, animation );\n\n\tif ( jQuery.isFunction( animation.opts.start ) ) {\n\t\tanimation.opts.start.call( elem, animation );\n\t}\n\n\tjQuery.fx.timer(\n\t\tjQuery.extend( tick, {\n\t\t\telem: elem,\n\t\t\tanim: animation,\n\t\t\tqueue: animation.opts.queue\n\t\t} )\n\t);\n\n\t// attach callbacks from options\n\treturn animation.progress( animation.opts.progress )\n\t\t.done( animation.opts.done, animation.opts.complete )\n\t\t.fail( animation.opts.fail )\n\t\t.always( animation.opts.always );\n}\n\njQuery.Animation = jQuery.extend( Animation, {\n\n\ttweeners: {\n\t\t\"*\": [ function( prop, value ) {\n\t\t\tvar tween = this.createTween( prop, value );\n\t\t\tadjustCSS( tween.elem, prop, rcssNum.exec( value ), tween );\n\t\t\treturn tween;\n\t\t} ]\n\t},\n\n\ttweener: function( props, callback ) {\n\t\tif ( jQuery.isFunction( props ) ) {\n\t\t\tcallback = props;\n\t\t\tprops = [ \"*\" ];\n\t\t} else {\n\t\t\tprops = props.match( rnotwhite );\n\t\t}\n\n\t\tvar prop,\n\t\t\tindex = 0,\n\t\t\tlength = props.length;\n\n\t\tfor ( ; index < length ; index++ ) {\n\t\t\tprop = props[ index ];\n\t\t\tAnimation.tweeners[ prop ] = Animation.tweeners[ prop ] || [];\n\t\t\tAnimation.tweeners[ prop ].unshift( callback );\n\t\t}\n\t},\n\n\tprefilters: [ defaultPrefilter ],\n\n\tprefilter: function( callback, prepend ) {\n\t\tif ( prepend ) {\n\t\t\tAnimation.prefilters.unshift( callback );\n\t\t} else {\n\t\t\tAnimation.prefilters.push( callback );\n\t\t}\n\t}\n} );\n\njQuery.speed = function( speed, easing, fn ) {\n\tvar opt = speed && typeof speed === \"object\" ? jQuery.extend( {}, speed ) : {\n\t\tcomplete: fn || !fn && easing ||\n\t\t\tjQuery.isFunction( speed ) && speed,\n\t\tduration: speed,\n\t\teasing: fn && easing || easing && !jQuery.isFunction( easing ) && easing\n\t};\n\n\topt.duration = jQuery.fx.off ? 0 : typeof opt.duration === \"number\" ? opt.duration :\n\t\topt.duration in jQuery.fx.speeds ?\n\t\t\tjQuery.fx.speeds[ opt.duration ] : jQuery.fx.speeds._default;\n\n\t// normalize opt.queue - true/undefined/null -> \"fx\"\n\tif ( opt.queue == null || opt.queue === true ) {\n\t\topt.queue = \"fx\";\n\t}\n\n\t// Queueing\n\topt.old = opt.complete;\n\n\topt.complete = function() {\n\t\tif ( jQuery.isFunction( opt.old ) ) {\n\t\t\topt.old.call( this );\n\t\t}\n\n\t\tif ( opt.queue ) {\n\t\t\tjQuery.dequeue( this, opt.queue );\n\t\t}\n\t};\n\n\treturn opt;\n};\n\njQuery.fn.extend( {\n\tfadeTo: function( speed, to, easing, callback ) {\n\n\t\t// show any hidden elements after setting opacity to 0\n\t\treturn this.filter( isHidden ).css( \"opacity\", 0 ).show()\n\n\t\t\t// animate to the value specified\n\t\t\t.end().animate( { opacity: to }, speed, easing, callback );\n\t},\n\tanimate: function( prop, speed, easing, callback ) {\n\t\tvar empty = jQuery.isEmptyObject( prop ),\n\t\t\toptall = jQuery.speed( speed, easing, callback ),\n\t\t\tdoAnimation = function() {\n\n\t\t\t\t// Operate on a copy of prop so per-property easing won't be lost\n\t\t\t\tvar anim = Animation( this, jQuery.extend( {}, prop ), optall );\n\n\t\t\t\t// Empty animations, or finishing resolves immediately\n\t\t\t\tif ( empty || jQuery._data( this, \"finish\" ) ) {\n\t\t\t\t\tanim.stop( true );\n\t\t\t\t}\n\t\t\t};\n\t\t\tdoAnimation.finish = doAnimation;\n\n\t\treturn empty || optall.queue === false ?\n\t\t\tthis.each( doAnimation ) :\n\t\t\tthis.queue( optall.queue, doAnimation );\n\t},\n\tstop: function( type, clearQueue, gotoEnd ) {\n\t\tvar stopQueue = function( hooks ) {\n\t\t\tvar stop = hooks.stop;\n\t\t\tdelete hooks.stop;\n\t\t\tstop( gotoEnd );\n\t\t};\n\n\t\tif ( typeof type !== \"string\" ) {\n\t\t\tgotoEnd = clearQueue;\n\t\t\tclearQueue = type;\n\t\t\ttype = undefined;\n\t\t}\n\t\tif ( clearQueue && type !== false ) {\n\t\t\tthis.queue( type || \"fx\", [] );\n\t\t}\n\n\t\treturn this.each( function() {\n\t\t\tvar dequeue = true,\n\t\t\t\tindex = type != null && type + \"queueHooks\",\n\t\t\t\ttimers = jQuery.timers,\n\t\t\t\tdata = jQuery._data( this );\n\n\t\t\tif ( index ) {\n\t\t\t\tif ( data[ index ] && data[ index ].stop ) {\n\t\t\t\t\tstopQueue( data[ index ] );\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tfor ( index in data ) {\n\t\t\t\t\tif ( data[ index ] && data[ index ].stop && rrun.test( index ) ) {\n\t\t\t\t\t\tstopQueue( data[ index ] );\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tfor ( index = timers.length; index--; ) {\n\t\t\t\tif ( timers[ index ].elem === this &&\n\t\t\t\t\t( type == null || timers[ index ].queue === type ) ) {\n\n\t\t\t\t\ttimers[ index ].anim.stop( gotoEnd );\n\t\t\t\t\tdequeue = false;\n\t\t\t\t\ttimers.splice( index, 1 );\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// start the next in the queue if the last step wasn't forced\n\t\t\t// timers currently will call their complete callbacks, which will dequeue\n\t\t\t// but only if they were gotoEnd\n\t\t\tif ( dequeue || !gotoEnd ) {\n\t\t\t\tjQuery.dequeue( this, type );\n\t\t\t}\n\t\t} );\n\t},\n\tfinish: function( type ) {\n\t\tif ( type !== false ) {\n\t\t\ttype = type || \"fx\";\n\t\t}\n\t\treturn this.each( function() {\n\t\t\tvar index,\n\t\t\t\tdata = jQuery._data( this ),\n\t\t\t\tqueue = data[ type + \"queue\" ],\n\t\t\t\thooks = data[ type + \"queueHooks\" ],\n\t\t\t\ttimers = jQuery.timers,\n\t\t\t\tlength = queue ? queue.length : 0;\n\n\t\t\t// enable finishing flag on private data\n\t\t\tdata.finish = true;\n\n\t\t\t// empty the queue first\n\t\t\tjQuery.queue( this, type, [] );\n\n\t\t\tif ( hooks && hooks.stop ) {\n\t\t\t\thooks.stop.call( this, true );\n\t\t\t}\n\n\t\t\t// look for any active animations, and finish them\n\t\t\tfor ( index = timers.length; index--; ) {\n\t\t\t\tif ( timers[ index ].elem === this && timers[ index ].queue === type ) {\n\t\t\t\t\ttimers[ index ].anim.stop( true );\n\t\t\t\t\ttimers.splice( index, 1 );\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// look for any animations in the old queue and finish them\n\t\t\tfor ( index = 0; index < length; index++ ) {\n\t\t\t\tif ( queue[ index ] && queue[ index ].finish ) {\n\t\t\t\t\tqueue[ index ].finish.call( this );\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// turn off finishing flag\n\t\t\tdelete data.finish;\n\t\t} );\n\t}\n} );\n\njQuery.each( [ \"toggle\", \"show\", \"hide\" ], function( i, name ) {\n\tvar cssFn = jQuery.fn[ name ];\n\tjQuery.fn[ name ] = function( speed, easing, callback ) {\n\t\treturn speed == null || typeof speed === \"boolean\" ?\n\t\t\tcssFn.apply( this, arguments ) :\n\t\t\tthis.animate( genFx( name, true ), speed, easing, callback );\n\t};\n} );\n\n// Generate shortcuts for custom animations\njQuery.each( {\n\tslideDown: genFx( \"show\" ),\n\tslideUp: genFx( \"hide\" ),\n\tslideToggle: genFx( \"toggle\" ),\n\tfadeIn: { opacity: \"show\" },\n\tfadeOut: { opacity: \"hide\" },\n\tfadeToggle: { opacity: \"toggle\" }\n}, function( name, props ) {\n\tjQuery.fn[ name ] = function( speed, easing, callback ) {\n\t\treturn this.animate( props, speed, easing, callback );\n\t};\n} );\n\njQuery.timers = [];\njQuery.fx.tick = function() {\n\tvar timer,\n\t\ttimers = jQuery.timers,\n\t\ti = 0;\n\n\tfxNow = jQuery.now();\n\n\tfor ( ; i < timers.length; i++ ) {\n\t\ttimer = timers[ i ];\n\n\t\t// Checks the timer has not already been removed\n\t\tif ( !timer() && timers[ i ] === timer ) {\n\t\t\ttimers.splice( i--, 1 );\n\t\t}\n\t}\n\n\tif ( !timers.length ) {\n\t\tjQuery.fx.stop();\n\t}\n\tfxNow = undefined;\n};\n\njQuery.fx.timer = function( timer ) {\n\tjQuery.timers.push( timer );\n\tif ( timer() ) {\n\t\tjQuery.fx.start();\n\t} else {\n\t\tjQuery.timers.pop();\n\t}\n};\n\njQuery.fx.interval = 13;\n\njQuery.fx.start = function() {\n\tif ( !timerId ) {\n\t\ttimerId = window.setInterval( jQuery.fx.tick, jQuery.fx.interval );\n\t}\n};\n\njQuery.fx.stop = function() {\n\twindow.clearInterval( timerId );\n\ttimerId = null;\n};\n\njQuery.fx.speeds = {\n\tslow: 600,\n\tfast: 200,\n\n\t// Default speed\n\t_default: 400\n};\n\n\n// Based off of the plugin by Clint Helfers, with permission.\n// http://web.archive.org/web/20100324014747/http://blindsignals.com/index.php/2009/07/jquery-delay/\njQuery.fn.delay = function( time, type ) {\n\ttime = jQuery.fx ? jQuery.fx.speeds[ time ] || time : time;\n\ttype = type || \"fx\";\n\n\treturn this.queue( type, function( next, hooks ) {\n\t\tvar timeout = window.setTimeout( next, time );\n\t\thooks.stop = function() {\n\t\t\twindow.clearTimeout( timeout );\n\t\t};\n\t} );\n};\n\n\n( function() {\n\tvar a,\n\t\tinput = document.createElement( \"input\" ),\n\t\tdiv = document.createElement( \"div\" ),\n\t\tselect = document.createElement( \"select\" ),\n\t\topt = select.appendChild( document.createElement( \"option\" ) );\n\n\t// Setup\n\tdiv = document.createElement( \"div\" );\n\tdiv.setAttribute( \"className\", \"t\" );\n\tdiv.innerHTML = \" <link/><table></table><a href='/a'>a</a><input type='checkbox'/>\";\n\ta = div.getElementsByTagName( \"a\" )[ 0 ];\n\n\t// Support: Windows Web Apps (WWA)\n\t// `type` must use .setAttribute for WWA (#14901)\n\tinput.setAttribute( \"type\", \"checkbox\" );\n\tdiv.appendChild( input );\n\n\ta = div.getElementsByTagName( \"a\" )[ 0 ];\n\n\t// First batch of tests.\n\ta.style.cssText = \"top:1px\";\n\n\t// Test setAttribute on camelCase class.\n\t// If it works, we need attrFixes when doing get/setAttribute (ie6/7)\n\tsupport.getSetAttribute = div.className !== \"t\";\n\n\t// Get the style information from getAttribute\n\t// (IE uses .cssText instead)\n\tsupport.style = /top/.test( a.getAttribute( \"style\" ) );\n\n\t// Make sure that URLs aren't manipulated\n\t// (IE normalizes it by default)\n\tsupport.hrefNormalized = a.getAttribute( \"href\" ) === \"/a\";\n\n\t// Check the default checkbox/radio value (\"\" on WebKit; \"on\" elsewhere)\n\tsupport.checkOn = !!input.value;\n\n\t// Make sure that a selected-by-default option has a working selected property.\n\t// (WebKit defaults to false instead of true, IE too, if it's in an optgroup)\n\tsupport.optSelected = opt.selected;\n\n\t// Tests for enctype support on a form (#6743)\n\tsupport.enctype = !!document.createElement( \"form\" ).enctype;\n\n\t// Make sure that the options inside disabled selects aren't marked as disabled\n\t// (WebKit marks them as disabled)\n\tselect.disabled = true;\n\tsupport.optDisabled = !opt.disabled;\n\n\t// Support: IE8 only\n\t// Check if we can trust getAttribute(\"value\")\n\tinput = document.createElement( \"input\" );\n\tinput.setAttribute( \"value\", \"\" );\n\tsupport.input = input.getAttribute( \"value\" ) === \"\";\n\n\t// Check if an input maintains its value after becoming a radio\n\tinput.value = \"t\";\n\tinput.setAttribute( \"type\", \"radio\" );\n\tsupport.radioValue = input.value === \"t\";\n} )();\n\n\nvar rreturn = /\\r/g,\n\trspaces = /[\\x20\\t\\r\\n\\f]+/g;\n\njQuery.fn.extend( {\n\tval: function( value ) {\n\t\tvar hooks, ret, isFunction,\n\t\t\telem = this[ 0 ];\n\n\t\tif ( !arguments.length ) {\n\t\t\tif ( elem ) {\n\t\t\t\thooks = jQuery.valHooks[ elem.type ] ||\n\t\t\t\t\tjQuery.valHooks[ elem.nodeName.toLowerCase() ];\n\n\t\t\t\tif (\n\t\t\t\t\thooks &&\n\t\t\t\t\t\"get\" in hooks &&\n\t\t\t\t\t( ret = hooks.get( elem, \"value\" ) ) !== undefined\n\t\t\t\t) {\n\t\t\t\t\treturn ret;\n\t\t\t\t}\n\n\t\t\t\tret = elem.value;\n\n\t\t\t\treturn typeof ret === \"string\" ?\n\n\t\t\t\t\t// handle most common string cases\n\t\t\t\t\tret.replace( rreturn, \"\" ) :\n\n\t\t\t\t\t// handle cases where value is null/undef or number\n\t\t\t\t\tret == null ? \"\" : ret;\n\t\t\t}\n\n\t\t\treturn;\n\t\t}\n\n\t\tisFunction = jQuery.isFunction( value );\n\n\t\treturn this.each( function( i ) {\n\t\t\tvar val;\n\n\t\t\tif ( this.nodeType !== 1 ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif ( isFunction ) {\n\t\t\t\tval = value.call( this, i, jQuery( this ).val() );\n\t\t\t} else {\n\t\t\t\tval = value;\n\t\t\t}\n\n\t\t\t// Treat null/undefined as \"\"; convert numbers to string\n\t\t\tif ( val == null ) {\n\t\t\t\tval = \"\";\n\t\t\t} else if ( typeof val === \"number\" ) {\n\t\t\t\tval += \"\";\n\t\t\t} else if ( jQuery.isArray( val ) ) {\n\t\t\t\tval = jQuery.map( val, function( value ) {\n\t\t\t\t\treturn value == null ? \"\" : value + \"\";\n\t\t\t\t} );\n\t\t\t}\n\n\t\t\thooks = jQuery.valHooks[ this.type ] || jQuery.valHooks[ this.nodeName.toLowerCase() ];\n\n\t\t\t// If set returns undefined, fall back to normal setting\n\t\t\tif ( !hooks || !( \"set\" in hooks ) || hooks.set( this, val, \"value\" ) === undefined ) {\n\t\t\t\tthis.value = val;\n\t\t\t}\n\t\t} );\n\t}\n} );\n\njQuery.extend( {\n\tvalHooks: {\n\t\toption: {\n\t\t\tget: function( elem ) {\n\t\t\t\tvar val = jQuery.find.attr( elem, \"value\" );\n\t\t\t\treturn val != null ?\n\t\t\t\t\tval :\n\n\t\t\t\t\t// Support: IE10-11+\n\t\t\t\t\t// option.text throws exceptions (#14686, #14858)\n\t\t\t\t\t// Strip and collapse whitespace\n\t\t\t\t\t// https://html.spec.whatwg.org/#strip-and-collapse-whitespace\n\t\t\t\t\tjQuery.trim( jQuery.text( elem ) ).replace( rspaces, \" \" );\n\t\t\t}\n\t\t},\n\t\tselect: {\n\t\t\tget: function( elem ) {\n\t\t\t\tvar value, option,\n\t\t\t\t\toptions = elem.options,\n\t\t\t\t\tindex = elem.selectedIndex,\n\t\t\t\t\tone = elem.type === \"select-one\" || index < 0,\n\t\t\t\t\tvalues = one ? null : [],\n\t\t\t\t\tmax = one ? index + 1 : options.length,\n\t\t\t\t\ti = index < 0 ?\n\t\t\t\t\t\tmax :\n\t\t\t\t\t\tone ? index : 0;\n\n\t\t\t\t// Loop through all the selected options\n\t\t\t\tfor ( ; i < max; i++ ) {\n\t\t\t\t\toption = options[ i ];\n\n\t\t\t\t\t// oldIE doesn't update selected after form reset (#2551)\n\t\t\t\t\tif ( ( option.selected || i === index ) &&\n\n\t\t\t\t\t\t\t// Don't return options that are disabled or in a disabled optgroup\n\t\t\t\t\t\t\t( support.optDisabled ?\n\t\t\t\t\t\t\t\t!option.disabled :\n\t\t\t\t\t\t\t\toption.getAttribute( \"disabled\" ) === null ) &&\n\t\t\t\t\t\t\t( !option.parentNode.disabled ||\n\t\t\t\t\t\t\t\t!jQuery.nodeName( option.parentNode, \"optgroup\" ) ) ) {\n\n\t\t\t\t\t\t// Get the specific value for the option\n\t\t\t\t\t\tvalue = jQuery( option ).val();\n\n\t\t\t\t\t\t// We don't need an array for one selects\n\t\t\t\t\t\tif ( one ) {\n\t\t\t\t\t\t\treturn value;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t// Multi-Selects return an array\n\t\t\t\t\t\tvalues.push( value );\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\treturn values;\n\t\t\t},\n\n\t\t\tset: function( elem, value ) {\n\t\t\t\tvar optionSet, option,\n\t\t\t\t\toptions = elem.options,\n\t\t\t\t\tvalues = jQuery.makeArray( value ),\n\t\t\t\t\ti = options.length;\n\n\t\t\t\twhile ( i-- ) {\n\t\t\t\t\toption = options[ i ];\n\n\t\t\t\t\tif ( jQuery.inArray( jQuery.valHooks.option.get( option ), values ) > -1 ) {\n\n\t\t\t\t\t\t// Support: IE6\n\t\t\t\t\t\t// When new option element is added to select box we need to\n\t\t\t\t\t\t// force reflow of newly added node in order to workaround delay\n\t\t\t\t\t\t// of initialization properties\n\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\toption.selected = optionSet = true;\n\n\t\t\t\t\t\t} catch ( _ ) {\n\n\t\t\t\t\t\t\t// Will be executed only in IE6\n\t\t\t\t\t\t\toption.scrollHeight;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t} else {\n\t\t\t\t\t\toption.selected = false;\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\t// Force browsers to behave consistently when non-matching value is set\n\t\t\t\tif ( !optionSet ) {\n\t\t\t\t\telem.selectedIndex = -1;\n\t\t\t\t}\n\n\t\t\t\treturn options;\n\t\t\t}\n\t\t}\n\t}\n} );\n\n// Radios and checkboxes getter/setter\njQuery.each( [ \"radio\", \"checkbox\" ], function() {\n\tjQuery.valHooks[ this ] = {\n\t\tset: function( elem, value ) {\n\t\t\tif ( jQuery.isArray( value ) ) {\n\t\t\t\treturn ( elem.checked = jQuery.inArray( jQuery( elem ).val(), value ) > -1 );\n\t\t\t}\n\t\t}\n\t};\n\tif ( !support.checkOn ) {\n\t\tjQuery.valHooks[ this ].get = function( elem ) {\n\t\t\treturn elem.getAttribute( \"value\" ) === null ? \"on\" : elem.value;\n\t\t};\n\t}\n} );\n\n\n\n\nvar nodeHook, boolHook,\n\tattrHandle = jQuery.expr.attrHandle,\n\truseDefault = /^(?:checked|selected)$/i,\n\tgetSetAttribute = support.getSetAttribute,\n\tgetSetInput = support.input;\n\njQuery.fn.extend( {\n\tattr: function( name, value ) {\n\t\treturn access( this, jQuery.attr, name, value, arguments.length > 1 );\n\t},\n\n\tremoveAttr: function( name ) {\n\t\treturn this.each( function() {\n\t\t\tjQuery.removeAttr( this, name );\n\t\t} );\n\t}\n} );\n\njQuery.extend( {\n\tattr: function( elem, name, value ) {\n\t\tvar ret, hooks,\n\t\t\tnType = elem.nodeType;\n\n\t\t// Don't get/set attributes on text, comment and attribute nodes\n\t\tif ( nType === 3 || nType === 8 || nType === 2 ) {\n\t\t\treturn;\n\t\t}\n\n\t\t// Fallback to prop when attributes are not supported\n\t\tif ( typeof elem.getAttribute === \"undefined\" ) {\n\t\t\treturn jQuery.prop( elem, name, value );\n\t\t}\n\n\t\t// All attributes are lowercase\n\t\t// Grab necessary hook if one is defined\n\t\tif ( nType !== 1 || !jQuery.isXMLDoc( elem ) ) {\n\t\t\tname = name.toLowerCase();\n\t\t\thooks = jQuery.attrHooks[ name ] ||\n\t\t\t\t( jQuery.expr.match.bool.test( name ) ? boolHook : nodeHook );\n\t\t}\n\n\t\tif ( value !== undefined ) {\n\t\t\tif ( value === null ) {\n\t\t\t\tjQuery.removeAttr( elem, name );\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif ( hooks && \"set\" in hooks &&\n\t\t\t\t( ret = hooks.set( elem, value, name ) ) !== undefined ) {\n\t\t\t\treturn ret;\n\t\t\t}\n\n\t\t\telem.setAttribute( name, value + \"\" );\n\t\t\treturn value;\n\t\t}\n\n\t\tif ( hooks && \"get\" in hooks && ( ret = hooks.get( elem, name ) ) !== null ) {\n\t\t\treturn ret;\n\t\t}\n\n\t\tret = jQuery.find.attr( elem, name );\n\n\t\t// Non-existent attributes return null, we normalize to undefined\n\t\treturn ret == null ? undefined : ret;\n\t},\n\n\tattrHooks: {\n\t\ttype: {\n\t\t\tset: function( elem, value ) {\n\t\t\t\tif ( !support.radioValue && value === \"radio\" &&\n\t\t\t\t\tjQuery.nodeName( elem, \"input\" ) ) {\n\n\t\t\t\t\t// Setting the type on a radio button after the value resets the value in IE8-9\n\t\t\t\t\t// Reset value to default in case type is set after value during creation\n\t\t\t\t\tvar val = elem.value;\n\t\t\t\t\telem.setAttribute( \"type\", value );\n\t\t\t\t\tif ( val ) {\n\t\t\t\t\t\telem.value = val;\n\t\t\t\t\t}\n\t\t\t\t\treturn value;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t},\n\n\tremoveAttr: function( elem, value ) {\n\t\tvar name, propName,\n\t\t\ti = 0,\n\t\t\tattrNames = value && value.match( rnotwhite );\n\n\t\tif ( attrNames && elem.nodeType === 1 ) {\n\t\t\twhile ( ( name = attrNames[ i++ ] ) ) {\n\t\t\t\tpropName = jQuery.propFix[ name ] || name;\n\n\t\t\t\t// Boolean attributes get special treatment (#10870)\n\t\t\t\tif ( jQuery.expr.match.bool.test( name ) ) {\n\n\t\t\t\t\t// Set corresponding property to false\n\t\t\t\t\tif ( getSetInput && getSetAttribute || !ruseDefault.test( name ) ) {\n\t\t\t\t\t\telem[ propName ] = false;\n\n\t\t\t\t\t// Support: IE<9\n\t\t\t\t\t// Also clear defaultChecked/defaultSelected (if appropriate)\n\t\t\t\t\t} else {\n\t\t\t\t\t\telem[ jQuery.camelCase( \"default-\" + name ) ] =\n\t\t\t\t\t\t\telem[ propName ] = false;\n\t\t\t\t\t}\n\n\t\t\t\t// See #9699 for explanation of this approach (setting first, then removal)\n\t\t\t\t} else {\n\t\t\t\t\tjQuery.attr( elem, name, \"\" );\n\t\t\t\t}\n\n\t\t\t\telem.removeAttribute( getSetAttribute ? name : propName );\n\t\t\t}\n\t\t}\n\t}\n} );\n\n// Hooks for boolean attributes\nboolHook = {\n\tset: function( elem, value, name ) {\n\t\tif ( value === false ) {\n\n\t\t\t// Remove boolean attributes when set to false\n\t\t\tjQuery.removeAttr( elem, name );\n\t\t} else if ( getSetInput && getSetAttribute || !ruseDefault.test( name ) ) {\n\n\t\t\t// IE<8 needs the *property* name\n\t\t\telem.setAttribute( !getSetAttribute && jQuery.propFix[ name ] || name, name );\n\n\t\t} else {\n\n\t\t\t// Support: IE<9\n\t\t\t// Use defaultChecked and defaultSelected for oldIE\n\t\t\telem[ jQuery.camelCase( \"default-\" + name ) ] = elem[ name ] = true;\n\t\t}\n\t\treturn name;\n\t}\n};\n\njQuery.each( jQuery.expr.match.bool.source.match( /\\w+/g ), function( i, name ) {\n\tvar getter = attrHandle[ name ] || jQuery.find.attr;\n\n\tif ( getSetInput && getSetAttribute || !ruseDefault.test( name ) ) {\n\t\tattrHandle[ name ] = function( elem, name, isXML ) {\n\t\t\tvar ret, handle;\n\t\t\tif ( !isXML ) {\n\n\t\t\t\t// Avoid an infinite loop by temporarily removing this function from the getter\n\t\t\t\thandle = attrHandle[ name ];\n\t\t\t\tattrHandle[ name ] = ret;\n\t\t\t\tret = getter( elem, name, isXML ) != null ?\n\t\t\t\t\tname.toLowerCase() :\n\t\t\t\t\tnull;\n\t\t\t\tattrHandle[ name ] = handle;\n\t\t\t}\n\t\t\treturn ret;\n\t\t};\n\t} else {\n\t\tattrHandle[ name ] = function( elem, name, isXML ) {\n\t\t\tif ( !isXML ) {\n\t\t\t\treturn elem[ jQuery.camelCase( \"default-\" + name ) ] ?\n\t\t\t\t\tname.toLowerCase() :\n\t\t\t\t\tnull;\n\t\t\t}\n\t\t};\n\t}\n} );\n\n// fix oldIE attroperties\nif ( !getSetInput || !getSetAttribute ) {\n\tjQuery.attrHooks.value = {\n\t\tset: function( elem, value, name ) {\n\t\t\tif ( jQuery.nodeName( elem, \"input\" ) ) {\n\n\t\t\t\t// Does not return so that setAttribute is also used\n\t\t\t\telem.defaultValue = value;\n\t\t\t} else {\n\n\t\t\t\t// Use nodeHook if defined (#1954); otherwise setAttribute is fine\n\t\t\t\treturn nodeHook && nodeHook.set( elem, value, name );\n\t\t\t}\n\t\t}\n\t};\n}\n\n// IE6/7 do not support getting/setting some attributes with get/setAttribute\nif ( !getSetAttribute ) {\n\n\t// Use this for any attribute in IE6/7\n\t// This fixes almost every IE6/7 issue\n\tnodeHook = {\n\t\tset: function( elem, value, name ) {\n\n\t\t\t// Set the existing or create a new attribute node\n\t\t\tvar ret = elem.getAttributeNode( name );\n\t\t\tif ( !ret ) {\n\t\t\t\telem.setAttributeNode(\n\t\t\t\t\t( ret = elem.ownerDocument.createAttribute( name ) )\n\t\t\t\t);\n\t\t\t}\n\n\t\t\tret.value = value += \"\";\n\n\t\t\t// Break association with cloned elements by also using setAttribute (#9646)\n\t\t\tif ( name === \"value\" || value === elem.getAttribute( name ) ) {\n\t\t\t\treturn value;\n\t\t\t}\n\t\t}\n\t};\n\n\t// Some attributes are constructed with empty-string values when not defined\n\tattrHandle.id = attrHandle.name = attrHandle.coords =\n\t\tfunction( elem, name, isXML ) {\n\t\t\tvar ret;\n\t\t\tif ( !isXML ) {\n\t\t\t\treturn ( ret = elem.getAttributeNode( name ) ) && ret.value !== \"\" ?\n\t\t\t\t\tret.value :\n\t\t\t\t\tnull;\n\t\t\t}\n\t\t};\n\n\t// Fixing value retrieval on a button requires this module\n\tjQuery.valHooks.button = {\n\t\tget: function( elem, name ) {\n\t\t\tvar ret = elem.getAttributeNode( name );\n\t\t\tif ( ret && ret.specified ) {\n\t\t\t\treturn ret.value;\n\t\t\t}\n\t\t},\n\t\tset: nodeHook.set\n\t};\n\n\t// Set contenteditable to false on removals(#10429)\n\t// Setting to empty string throws an error as an invalid value\n\tjQuery.attrHooks.contenteditable = {\n\t\tset: function( elem, value, name ) {\n\t\t\tnodeHook.set( elem, value === \"\" ? false : value, name );\n\t\t}\n\t};\n\n\t// Set width and height to auto instead of 0 on empty string( Bug #8150 )\n\t// This is for removals\n\tjQuery.each( [ \"width\", \"height\" ], function( i, name ) {\n\t\tjQuery.attrHooks[ name ] = {\n\t\t\tset: function( elem, value ) {\n\t\t\t\tif ( value === \"\" ) {\n\t\t\t\t\telem.setAttribute( name, \"auto\" );\n\t\t\t\t\treturn value;\n\t\t\t\t}\n\t\t\t}\n\t\t};\n\t} );\n}\n\nif ( !support.style ) {\n\tjQuery.attrHooks.style = {\n\t\tget: function( elem ) {\n\n\t\t\t// Return undefined in the case of empty string\n\t\t\t// Note: IE uppercases css property names, but if we were to .toLowerCase()\n\t\t\t// .cssText, that would destroy case sensitivity in URL's, like in \"background\"\n\t\t\treturn elem.style.cssText || undefined;\n\t\t},\n\t\tset: function( elem, value ) {\n\t\t\treturn ( elem.style.cssText = value + \"\" );\n\t\t}\n\t};\n}\n\n\n\n\nvar rfocusable = /^(?:input|select|textarea|button|object)$/i,\n\trclickable = /^(?:a|area)$/i;\n\njQuery.fn.extend( {\n\tprop: function( name, value ) {\n\t\treturn access( this, jQuery.prop, name, value, arguments.length > 1 );\n\t},\n\n\tremoveProp: function( name ) {\n\t\tname = jQuery.propFix[ name ] || name;\n\t\treturn this.each( function() {\n\n\t\t\t// try/catch handles cases where IE balks (such as removing a property on window)\n\t\t\ttry {\n\t\t\t\tthis[ name ] = undefined;\n\t\t\t\tdelete this[ name ];\n\t\t\t} catch ( e ) {}\n\t\t} );\n\t}\n} );\n\njQuery.extend( {\n\tprop: function( elem, name, value ) {\n\t\tvar ret, hooks,\n\t\t\tnType = elem.nodeType;\n\n\t\t// Don't get/set properties on text, comment and attribute nodes\n\t\tif ( nType === 3 || nType === 8 || nType === 2 ) {\n\t\t\treturn;\n\t\t}\n\n\t\tif ( nType !== 1 || !jQuery.isXMLDoc( elem ) ) {\n\n\t\t\t// Fix name and attach hooks\n\t\t\tname = jQuery.propFix[ name ] || name;\n\t\t\thooks = jQuery.propHooks[ name ];\n\t\t}\n\n\t\tif ( value !== undefined ) {\n\t\t\tif ( hooks && \"set\" in hooks &&\n\t\t\t\t( ret = hooks.set( elem, value, name ) ) !== undefined ) {\n\t\t\t\treturn ret;\n\t\t\t}\n\n\t\t\treturn ( elem[ name ] = value );\n\t\t}\n\n\t\tif ( hooks && \"get\" in hooks && ( ret = hooks.get( elem, name ) ) !== null ) {\n\t\t\treturn ret;\n\t\t}\n\n\t\treturn elem[ name ];\n\t},\n\n\tpropHooks: {\n\t\ttabIndex: {\n\t\t\tget: function( elem ) {\n\n\t\t\t\t// elem.tabIndex doesn't always return the\n\t\t\t\t// correct value when it hasn't been explicitly set\n\t\t\t\t// http://fluidproject.org/blog/2008/01/09/getting-setting-and-removing-tabindex-values-with-javascript/\n\t\t\t\t// Use proper attribute retrieval(#12072)\n\t\t\t\tvar tabindex = jQuery.find.attr( elem, \"tabindex\" );\n\n\t\t\t\treturn tabindex ?\n\t\t\t\t\tparseInt( tabindex, 10 ) :\n\t\t\t\t\trfocusable.test( elem.nodeName ) ||\n\t\t\t\t\t\trclickable.test( elem.nodeName ) && elem.href ?\n\t\t\t\t\t\t\t0 :\n\t\t\t\t\t\t\t-1;\n\t\t\t}\n\t\t}\n\t},\n\n\tpropFix: {\n\t\t\"for\": \"htmlFor\",\n\t\t\"class\": \"className\"\n\t}\n} );\n\n// Some attributes require a special call on IE\n// http://msdn.microsoft.com/en-us/library/ms536429%28VS.85%29.aspx\nif ( !support.hrefNormalized ) {\n\n\t// href/src property should get the full normalized URL (#10299/#12915)\n\tjQuery.each( [ \"href\", \"src\" ], function( i, name ) {\n\t\tjQuery.propHooks[ name ] = {\n\t\t\tget: function( elem ) {\n\t\t\t\treturn elem.getAttribute( name, 4 );\n\t\t\t}\n\t\t};\n\t} );\n}\n\n// Support: Safari, IE9+\n// Accessing the selectedIndex property\n// forces the browser to respect setting selected\n// on the option\n// The getter ensures a default option is selected\n// when in an optgroup\nif ( !support.optSelected ) {\n\tjQuery.propHooks.selected = {\n\t\tget: function( elem ) {\n\t\t\tvar parent = elem.parentNode;\n\n\t\t\tif ( parent ) {\n\t\t\t\tparent.selectedIndex;\n\n\t\t\t\t// Make sure that it also works with optgroups, see #5701\n\t\t\t\tif ( parent.parentNode ) {\n\t\t\t\t\tparent.parentNode.selectedIndex;\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn null;\n\t\t},\n\t\tset: function( elem ) {\n\t\t\tvar parent = elem.parentNode;\n\t\t\tif ( parent ) {\n\t\t\t\tparent.selectedIndex;\n\n\t\t\t\tif ( parent.parentNode ) {\n\t\t\t\t\tparent.parentNode.selectedIndex;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t};\n}\n\njQuery.each( [\n\t\"tabIndex\",\n\t\"readOnly\",\n\t\"maxLength\",\n\t\"cellSpacing\",\n\t\"cellPadding\",\n\t\"rowSpan\",\n\t\"colSpan\",\n\t\"useMap\",\n\t\"frameBorder\",\n\t\"contentEditable\"\n], function() {\n\tjQuery.propFix[ this.toLowerCase() ] = this;\n} );\n\n// IE6/7 call enctype encoding\nif ( !support.enctype ) {\n\tjQuery.propFix.enctype = \"encoding\";\n}\n\n\n\n\nvar rclass = /[\\t\\r\\n\\f]/g;\n\nfunction getClass( elem ) {\n\treturn jQuery.attr( elem, \"class\" ) || \"\";\n}\n\njQuery.fn.extend( {\n\taddClass: function( value ) {\n\t\tvar classes, elem, cur, curValue, clazz, j, finalValue,\n\t\t\ti = 0;\n\n\t\tif ( jQuery.isFunction( value ) ) {\n\t\t\treturn this.each( function( j ) {\n\t\t\t\tjQuery( this ).addClass( value.call( this, j, getClass( this ) ) );\n\t\t\t} );\n\t\t}\n\n\t\tif ( typeof value === \"string\" && value ) {\n\t\t\tclasses = value.match( rnotwhite ) || [];\n\n\t\t\twhile ( ( elem = this[ i++ ] ) ) {\n\t\t\t\tcurValue = getClass( elem );\n\t\t\t\tcur = elem.nodeType === 1 &&\n\t\t\t\t\t( \" \" + curValue + \" \" ).replace( rclass, \" \" );\n\n\t\t\t\tif ( cur ) {\n\t\t\t\t\tj = 0;\n\t\t\t\t\twhile ( ( clazz = classes[ j++ ] ) ) {\n\t\t\t\t\t\tif ( cur.indexOf( \" \" + clazz + \" \" ) < 0 ) {\n\t\t\t\t\t\t\tcur += clazz + \" \";\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\t// only assign if different to avoid unneeded rendering.\n\t\t\t\t\tfinalValue = jQuery.trim( cur );\n\t\t\t\t\tif ( curValue !== finalValue ) {\n\t\t\t\t\t\tjQuery.attr( elem, \"class\", finalValue );\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn this;\n\t},\n\n\tremoveClass: function( value ) {\n\t\tvar classes, elem, cur, curValue, clazz, j, finalValue,\n\t\t\ti = 0;\n\n\t\tif ( jQuery.isFunction( value ) ) {\n\t\t\treturn this.each( function( j ) {\n\t\t\t\tjQuery( this ).removeClass( value.call( this, j, getClass( this ) ) );\n\t\t\t} );\n\t\t}\n\n\t\tif ( !arguments.length ) {\n\t\t\treturn this.attr( \"class\", \"\" );\n\t\t}\n\n\t\tif ( typeof value === \"string\" && value ) {\n\t\t\tclasses = value.match( rnotwhite ) || [];\n\n\t\t\twhile ( ( elem = this[ i++ ] ) ) {\n\t\t\t\tcurValue = getClass( elem );\n\n\t\t\t\t// This expression is here for better compressibility (see addClass)\n\t\t\t\tcur = elem.nodeType === 1 &&\n\t\t\t\t\t( \" \" + curValue + \" \" ).replace( rclass, \" \" );\n\n\t\t\t\tif ( cur ) {\n\t\t\t\t\tj = 0;\n\t\t\t\t\twhile ( ( clazz = classes[ j++ ] ) ) {\n\n\t\t\t\t\t\t// Remove *all* instances\n\t\t\t\t\t\twhile ( cur.indexOf( \" \" + clazz + \" \" ) > -1 ) {\n\t\t\t\t\t\t\tcur = cur.replace( \" \" + clazz + \" \", \" \" );\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\t// Only assign if different to avoid unneeded rendering.\n\t\t\t\t\tfinalValue = jQuery.trim( cur );\n\t\t\t\t\tif ( curValue !== finalValue ) {\n\t\t\t\t\t\tjQuery.attr( elem, \"class\", finalValue );\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn this;\n\t},\n\n\ttoggleClass: function( value, stateVal ) {\n\t\tvar type = typeof value;\n\n\t\tif ( typeof stateVal === \"boolean\" && type === \"string\" ) {\n\t\t\treturn stateVal ? this.addClass( value ) : this.removeClass( value );\n\t\t}\n\n\t\tif ( jQuery.isFunction( value ) ) {\n\t\t\treturn this.each( function( i ) {\n\t\t\t\tjQuery( this ).toggleClass(\n\t\t\t\t\tvalue.call( this, i, getClass( this ), stateVal ),\n\t\t\t\t\tstateVal\n\t\t\t\t);\n\t\t\t} );\n\t\t}\n\n\t\treturn this.each( function() {\n\t\t\tvar className, i, self, classNames;\n\n\t\t\tif ( type === \"string\" ) {\n\n\t\t\t\t// Toggle individual class names\n\t\t\t\ti = 0;\n\t\t\t\tself = jQuery( this );\n\t\t\t\tclassNames = value.match( rnotwhite ) || [];\n\n\t\t\t\twhile ( ( className = classNames[ i++ ] ) ) {\n\n\t\t\t\t\t// Check each className given, space separated list\n\t\t\t\t\tif ( self.hasClass( className ) ) {\n\t\t\t\t\t\tself.removeClass( className );\n\t\t\t\t\t} else {\n\t\t\t\t\t\tself.addClass( className );\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t// Toggle whole class name\n\t\t\t} else if ( value === undefined || type === \"boolean\" ) {\n\t\t\t\tclassName = getClass( this );\n\t\t\t\tif ( className ) {\n\n\t\t\t\t\t// store className if set\n\t\t\t\t\tjQuery._data( this, \"__className__\", className );\n\t\t\t\t}\n\n\t\t\t\t// If the element has a class name or if we're passed \"false\",\n\t\t\t\t// then remove the whole classname (if there was one, the above saved it).\n\t\t\t\t// Otherwise bring back whatever was previously saved (if anything),\n\t\t\t\t// falling back to the empty string if nothing was stored.\n\t\t\t\tjQuery.attr( this, \"class\",\n\t\t\t\t\tclassName || value === false ?\n\t\t\t\t\t\"\" :\n\t\t\t\t\tjQuery._data( this, \"__className__\" ) || \"\"\n\t\t\t\t);\n\t\t\t}\n\t\t} );\n\t},\n\n\thasClass: function( selector ) {\n\t\tvar className, elem,\n\t\t\ti = 0;\n\n\t\tclassName = \" \" + selector + \" \";\n\t\twhile ( ( elem = this[ i++ ] ) ) {\n\t\t\tif ( elem.nodeType === 1 &&\n\t\t\t\t( \" \" + getClass( elem ) + \" \" ).replace( rclass, \" \" )\n\t\t\t\t\t.indexOf( className ) > -1\n\t\t\t) {\n\t\t\t\treturn true;\n\t\t\t}\n\t\t}\n\n\t\treturn false;\n\t}\n} );\n\n\n\n\n// Return jQuery for attributes-only inclusion\n\n\njQuery.each( ( \"blur focus focusin focusout load resize scroll unload click dblclick \" +\n\t\"mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave \" +\n\t\"change select submit keydown keypress keyup error contextmenu\" ).split( \" \" ),\n\tfunction( i, name ) {\n\n\t// Handle event binding\n\tjQuery.fn[ name ] = function( data, fn ) {\n\t\treturn arguments.length > 0 ?\n\t\t\tthis.on( name, null, data, fn ) :\n\t\t\tthis.trigger( name );\n\t};\n} );\n\njQuery.fn.extend( {\n\thover: function( fnOver, fnOut ) {\n\t\treturn this.mouseenter( fnOver ).mouseleave( fnOut || fnOver );\n\t}\n} );\n\n\nvar location = window.location;\n\nvar nonce = jQuery.now();\n\nvar rquery = ( /\\?/ );\n\n\n\nvar rvalidtokens = /(,)|(\\[|{)|(}|])|\"(?:[^\"\\\\\\r\\n]|\\\\[\"\\\\\\/bfnrt]|\\\\u[\\da-fA-F]{4})*\"\\s*:?|true|false|null|-?(?!0\\d)\\d+(?:\\.\\d+|)(?:[eE][+-]?\\d+|)/g;\n\njQuery.parseJSON = function( data ) {\n\n\t// Attempt to parse using the native JSON parser first\n\tif ( window.JSON && window.JSON.parse ) {\n\n\t\t// Support: Android 2.3\n\t\t// Workaround failure to string-cast null input\n\t\treturn window.JSON.parse( data + \"\" );\n\t}\n\n\tvar requireNonComma,\n\t\tdepth = null,\n\t\tstr = jQuery.trim( data + \"\" );\n\n\t// Guard against invalid (and possibly dangerous) input by ensuring that nothing remains\n\t// after removing valid tokens\n\treturn str && !jQuery.trim( str.replace( rvalidtokens, function( token, comma, open, close ) {\n\n\t\t// Force termination if we see a misplaced comma\n\t\tif ( requireNonComma && comma ) {\n\t\t\tdepth = 0;\n\t\t}\n\n\t\t// Perform no more replacements after returning to outermost depth\n\t\tif ( depth === 0 ) {\n\t\t\treturn token;\n\t\t}\n\n\t\t// Commas must not follow \"[\", \"{\", or \",\"\n\t\trequireNonComma = open || comma;\n\n\t\t// Determine new depth\n\t\t// array/object open (\"[\" or \"{\"): depth += true - false (increment)\n\t\t// array/object close (\"]\" or \"}\"): depth += false - true (decrement)\n\t\t// other cases (\",\" or primitive): depth += true - true (numeric cast)\n\t\tdepth += !close - !open;\n\n\t\t// Remove this token\n\t\treturn \"\";\n\t} ) ) ?\n\t\t( Function( \"return \" + str ) )() :\n\t\tjQuery.error( \"Invalid JSON: \" + data );\n};\n\n\n// Cross-browser xml parsing\njQuery.parseXML = function( data ) {\n\tvar xml, tmp;\n\tif ( !data || typeof data !== \"string\" ) {\n\t\treturn null;\n\t}\n\ttry {\n\t\tif ( window.DOMParser ) { // Standard\n\t\t\ttmp = new window.DOMParser();\n\t\t\txml = tmp.parseFromString( data, \"text/xml\" );\n\t\t} else { // IE\n\t\t\txml = new window.ActiveXObject( \"Microsoft.XMLDOM\" );\n\t\t\txml.async = \"false\";\n\t\t\txml.loadXML( data );\n\t\t}\n\t} catch ( e ) {\n\t\txml = undefined;\n\t}\n\tif ( !xml || !xml.documentElement || xml.getElementsByTagName( \"parsererror\" ).length ) {\n\t\tjQuery.error( \"Invalid XML: \" + data );\n\t}\n\treturn xml;\n};\n\n\nvar\n\trhash = /#.*$/,\n\trts = /([?&])_=[^&]*/,\n\n\t// IE leaves an \\r character at EOL\n\trheaders = /^(.*?):[ \\t]*([^\\r\\n]*)\\r?$/mg,\n\n\t// #7653, #8125, #8152: local protocol detection\n\trlocalProtocol = /^(?:about|app|app-storage|.+-extension|file|res|widget):$/,\n\trnoContent = /^(?:GET|HEAD)$/,\n\trprotocol = /^\\/\\//,\n\trurl = /^([\\w.+-]+:)(?:\\/\\/(?:[^\\/?#]*@|)([^\\/?#:]*)(?::(\\d+)|)|)/,\n\n\t/* Prefilters\n\t * 1) They are useful to introduce custom dataTypes (see ajax/jsonp.js for an example)\n\t * 2) These are called:\n\t * - BEFORE asking for a transport\n\t * - AFTER param serialization (s.data is a string if s.processData is true)\n\t * 3) key is the dataType\n\t * 4) the catchall symbol \"*\" can be used\n\t * 5) execution will start with transport dataType and THEN continue down to \"*\" if needed\n\t */\n\tprefilters = {},\n\n\t/* Transports bindings\n\t * 1) key is the dataType\n\t * 2) the catchall symbol \"*\" can be used\n\t * 3) selection will start with transport dataType and THEN go to \"*\" if needed\n\t */\n\ttransports = {},\n\n\t// Avoid comment-prolog char sequence (#10098); must appease lint and evade compression\n\tallTypes = \"*/\".concat( \"*\" ),\n\n\t// Document location\n\tajaxLocation = location.href,\n\n\t// Segment location into parts\n\tajaxLocParts = rurl.exec( ajaxLocation.toLowerCase() ) || [];\n\n// Base \"constructor\" for jQuery.ajaxPrefilter and jQuery.ajaxTransport\nfunction addToPrefiltersOrTransports( structure ) {\n\n\t// dataTypeExpression is optional and defaults to \"*\"\n\treturn function( dataTypeExpression, func ) {\n\n\t\tif ( typeof dataTypeExpression !== \"string\" ) {\n\t\t\tfunc = dataTypeExpression;\n\t\t\tdataTypeExpression = \"*\";\n\t\t}\n\n\t\tvar dataType,\n\t\t\ti = 0,\n\t\t\tdataTypes = dataTypeExpression.toLowerCase().match( rnotwhite ) || [];\n\n\t\tif ( jQuery.isFunction( func ) ) {\n\n\t\t\t// For each dataType in the dataTypeExpression\n\t\t\twhile ( ( dataType = dataTypes[ i++ ] ) ) {\n\n\t\t\t\t// Prepend if requested\n\t\t\t\tif ( dataType.charAt( 0 ) === \"+\" ) {\n\t\t\t\t\tdataType = dataType.slice( 1 ) || \"*\";\n\t\t\t\t\t( structure[ dataType ] = structure[ dataType ] || [] ).unshift( func );\n\n\t\t\t\t// Otherwise append\n\t\t\t\t} else {\n\t\t\t\t\t( structure[ dataType ] = structure[ dataType ] || [] ).push( func );\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t};\n}\n\n// Base inspection function for prefilters and transports\nfunction inspectPrefiltersOrTransports( structure, options, originalOptions, jqXHR ) {\n\n\tvar inspected = {},\n\t\tseekingTransport = ( structure === transports );\n\n\tfunction inspect( dataType ) {\n\t\tvar selected;\n\t\tinspected[ dataType ] = true;\n\t\tjQuery.each( structure[ dataType ] || [], function( _, prefilterOrFactory ) {\n\t\t\tvar dataTypeOrTransport = prefilterOrFactory( options, originalOptions, jqXHR );\n\t\t\tif ( typeof dataTypeOrTransport === \"string\" &&\n\t\t\t\t!seekingTransport && !inspected[ dataTypeOrTransport ] ) {\n\n\t\t\t\toptions.dataTypes.unshift( dataTypeOrTransport );\n\t\t\t\tinspect( dataTypeOrTransport );\n\t\t\t\treturn false;\n\t\t\t} else if ( seekingTransport ) {\n\t\t\t\treturn !( selected = dataTypeOrTransport );\n\t\t\t}\n\t\t} );\n\t\treturn selected;\n\t}\n\n\treturn inspect( options.dataTypes[ 0 ] ) || !inspected[ \"*\" ] && inspect( \"*\" );\n}\n\n// A special extend for ajax options\n// that takes \"flat\" options (not to be deep extended)\n// Fixes #9887\nfunction ajaxExtend( target, src ) {\n\tvar deep, key,\n\t\tflatOptions = jQuery.ajaxSettings.flatOptions || {};\n\n\tfor ( key in src ) {\n\t\tif ( src[ key ] !== undefined ) {\n\t\t\t( flatOptions[ key ] ? target : ( deep || ( deep = {} ) ) )[ key ] = src[ key ];\n\t\t}\n\t}\n\tif ( deep ) {\n\t\tjQuery.extend( true, target, deep );\n\t}\n\n\treturn target;\n}\n\n/* Handles responses to an ajax request:\n * - finds the right dataType (mediates between content-type and expected dataType)\n * - returns the corresponding response\n */\nfunction ajaxHandleResponses( s, jqXHR, responses ) {\n\tvar firstDataType, ct, finalDataType, type,\n\t\tcontents = s.contents,\n\t\tdataTypes = s.dataTypes;\n\n\t// Remove auto dataType and get content-type in the process\n\twhile ( dataTypes[ 0 ] === \"*\" ) {\n\t\tdataTypes.shift();\n\t\tif ( ct === undefined ) {\n\t\t\tct = s.mimeType || jqXHR.getResponseHeader( \"Content-Type\" );\n\t\t}\n\t}\n\n\t// Check if we're dealing with a known content-type\n\tif ( ct ) {\n\t\tfor ( type in contents ) {\n\t\t\tif ( contents[ type ] && contents[ type ].test( ct ) ) {\n\t\t\t\tdataTypes.unshift( type );\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t}\n\n\t// Check to see if we have a response for the expected dataType\n\tif ( dataTypes[ 0 ] in responses ) {\n\t\tfinalDataType = dataTypes[ 0 ];\n\t} else {\n\n\t\t// Try convertible dataTypes\n\t\tfor ( type in responses ) {\n\t\t\tif ( !dataTypes[ 0 ] || s.converters[ type + \" \" + dataTypes[ 0 ] ] ) {\n\t\t\t\tfinalDataType = type;\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\tif ( !firstDataType ) {\n\t\t\t\tfirstDataType = type;\n\t\t\t}\n\t\t}\n\n\t\t// Or just use first one\n\t\tfinalDataType = finalDataType || firstDataType;\n\t}\n\n\t// If we found a dataType\n\t// We add the dataType to the list if needed\n\t// and return the corresponding response\n\tif ( finalDataType ) {\n\t\tif ( finalDataType !== dataTypes[ 0 ] ) {\n\t\t\tdataTypes.unshift( finalDataType );\n\t\t}\n\t\treturn responses[ finalDataType ];\n\t}\n}\n\n/* Chain conversions given the request and the original response\n * Also sets the responseXXX fields on the jqXHR instance\n */\nfunction ajaxConvert( s, response, jqXHR, isSuccess ) {\n\tvar conv2, current, conv, tmp, prev,\n\t\tconverters = {},\n\n\t\t// Work with a copy of dataTypes in case we need to modify it for conversion\n\t\tdataTypes = s.dataTypes.slice();\n\n\t// Create converters map with lowercased keys\n\tif ( dataTypes[ 1 ] ) {\n\t\tfor ( conv in s.converters ) {\n\t\t\tconverters[ conv.toLowerCase() ] = s.converters[ conv ];\n\t\t}\n\t}\n\n\tcurrent = dataTypes.shift();\n\n\t// Convert to each sequential dataType\n\twhile ( current ) {\n\n\t\tif ( s.responseFields[ current ] ) {\n\t\t\tjqXHR[ s.responseFields[ current ] ] = response;\n\t\t}\n\n\t\t// Apply the dataFilter if provided\n\t\tif ( !prev && isSuccess && s.dataFilter ) {\n\t\t\tresponse = s.dataFilter( response, s.dataType );\n\t\t}\n\n\t\tprev = current;\n\t\tcurrent = dataTypes.shift();\n\n\t\tif ( current ) {\n\n\t\t\t// There's only work to do if current dataType is non-auto\n\t\t\tif ( current === \"*\" ) {\n\n\t\t\t\tcurrent = prev;\n\n\t\t\t// Convert response if prev dataType is non-auto and differs from current\n\t\t\t} else if ( prev !== \"*\" && prev !== current ) {\n\n\t\t\t\t// Seek a direct converter\n\t\t\t\tconv = converters[ prev + \" \" + current ] || converters[ \"* \" + current ];\n\n\t\t\t\t// If none found, seek a pair\n\t\t\t\tif ( !conv ) {\n\t\t\t\t\tfor ( conv2 in converters ) {\n\n\t\t\t\t\t\t// If conv2 outputs current\n\t\t\t\t\t\ttmp = conv2.split( \" \" );\n\t\t\t\t\t\tif ( tmp[ 1 ] === current ) {\n\n\t\t\t\t\t\t\t// If prev can be converted to accepted input\n\t\t\t\t\t\t\tconv = converters[ prev + \" \" + tmp[ 0 ] ] ||\n\t\t\t\t\t\t\t\tconverters[ \"* \" + tmp[ 0 ] ];\n\t\t\t\t\t\t\tif ( conv ) {\n\n\t\t\t\t\t\t\t\t// Condense equivalence converters\n\t\t\t\t\t\t\t\tif ( conv === true ) {\n\t\t\t\t\t\t\t\t\tconv = converters[ conv2 ];\n\n\t\t\t\t\t\t\t\t// Otherwise, insert the intermediate dataType\n\t\t\t\t\t\t\t\t} else if ( converters[ conv2 ] !== true ) {\n\t\t\t\t\t\t\t\t\tcurrent = tmp[ 0 ];\n\t\t\t\t\t\t\t\t\tdataTypes.unshift( tmp[ 1 ] );\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\t// Apply converter (if not an equivalence)\n\t\t\t\tif ( conv !== true ) {\n\n\t\t\t\t\t// Unless errors are allowed to bubble, catch and return them\n\t\t\t\t\tif ( conv && s[ \"throws\" ] ) { // jscs:ignore requireDotNotation\n\t\t\t\t\t\tresponse = conv( response );\n\t\t\t\t\t} else {\n\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\tresponse = conv( response );\n\t\t\t\t\t\t} catch ( e ) {\n\t\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\t\tstate: \"parsererror\",\n\t\t\t\t\t\t\t\terror: conv ? e : \"No conversion from \" + prev + \" to \" + current\n\t\t\t\t\t\t\t};\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\treturn { state: \"success\", data: response };\n}\n\njQuery.extend( {\n\n\t// Counter for holding the number of active queries\n\tactive: 0,\n\n\t// Last-Modified header cache for next request\n\tlastModified: {},\n\tetag: {},\n\n\tajaxSettings: {\n\t\turl: ajaxLocation,\n\t\ttype: \"GET\",\n\t\tisLocal: rlocalProtocol.test( ajaxLocParts[ 1 ] ),\n\t\tglobal: true,\n\t\tprocessData: true,\n\t\tasync: true,\n\t\tcontentType: \"application/x-www-form-urlencoded; charset=UTF-8\",\n\t\t/*\n\t\ttimeout: 0,\n\t\tdata: null,\n\t\tdataType: null,\n\t\tusername: null,\n\t\tpassword: null,\n\t\tcache: null,\n\t\tthrows: false,\n\t\ttraditional: false,\n\t\theaders: {},\n\t\t*/\n\n\t\taccepts: {\n\t\t\t\"*\": allTypes,\n\t\t\ttext: \"text/plain\",\n\t\t\thtml: \"text/html\",\n\t\t\txml: \"application/xml, text/xml\",\n\t\t\tjson: \"application/json, text/javascript\"\n\t\t},\n\n\t\tcontents: {\n\t\t\txml: /\\bxml\\b/,\n\t\t\thtml: /\\bhtml/,\n\t\t\tjson: /\\bjson\\b/\n\t\t},\n\n\t\tresponseFields: {\n\t\t\txml: \"responseXML\",\n\t\t\ttext: \"responseText\",\n\t\t\tjson: \"responseJSON\"\n\t\t},\n\n\t\t// Data converters\n\t\t// Keys separate source (or catchall \"*\") and destination types with a single space\n\t\tconverters: {\n\n\t\t\t// Convert anything to text\n\t\t\t\"* text\": String,\n\n\t\t\t// Text to html (true = no transformation)\n\t\t\t\"text html\": true,\n\n\t\t\t// Evaluate text as a json expression\n\t\t\t\"text json\": jQuery.parseJSON,\n\n\t\t\t// Parse text as xml\n\t\t\t\"text xml\": jQuery.parseXML\n\t\t},\n\n\t\t// For options that shouldn't be deep extended:\n\t\t// you can add your own custom options here if\n\t\t// and when you create one that shouldn't be\n\t\t// deep extended (see ajaxExtend)\n\t\tflatOptions: {\n\t\t\turl: true,\n\t\t\tcontext: true\n\t\t}\n\t},\n\n\t// Creates a full fledged settings object into target\n\t// with both ajaxSettings and settings fields.\n\t// If target is omitted, writes into ajaxSettings.\n\tajaxSetup: function( target, settings ) {\n\t\treturn settings ?\n\n\t\t\t// Building a settings object\n\t\t\tajaxExtend( ajaxExtend( target, jQuery.ajaxSettings ), settings ) :\n\n\t\t\t// Extending ajaxSettings\n\t\t\tajaxExtend( jQuery.ajaxSettings, target );\n\t},\n\n\tajaxPrefilter: addToPrefiltersOrTransports( prefilters ),\n\tajaxTransport: addToPrefiltersOrTransports( transports ),\n\n\t// Main method\n\tajax: function( url, options ) {\n\n\t\t// If url is an object, simulate pre-1.5 signature\n\t\tif ( typeof url === \"object\" ) {\n\t\t\toptions = url;\n\t\t\turl = undefined;\n\t\t}\n\n\t\t// Force options to be an object\n\t\toptions = options || {};\n\n\t\tvar\n\n\t\t\t// Cross-domain detection vars\n\t\t\tparts,\n\n\t\t\t// Loop variable\n\t\t\ti,\n\n\t\t\t// URL without anti-cache param\n\t\t\tcacheURL,\n\n\t\t\t// Response headers as string\n\t\t\tresponseHeadersString,\n\n\t\t\t// timeout handle\n\t\t\ttimeoutTimer,\n\n\t\t\t// To know if global events are to be dispatched\n\t\t\tfireGlobals,\n\n\t\t\ttransport,\n\n\t\t\t// Response headers\n\t\t\tresponseHeaders,\n\n\t\t\t// Create the final options object\n\t\t\ts = jQuery.ajaxSetup( {}, options ),\n\n\t\t\t// Callbacks context\n\t\t\tcallbackContext = s.context || s,\n\n\t\t\t// Context for global events is callbackContext if it is a DOM node or jQuery collection\n\t\t\tglobalEventContext = s.context &&\n\t\t\t\t( callbackContext.nodeType || callbackContext.jquery ) ?\n\t\t\t\t\tjQuery( callbackContext ) :\n\t\t\t\t\tjQuery.event,\n\n\t\t\t// Deferreds\n\t\t\tdeferred = jQuery.Deferred(),\n\t\t\tcompleteDeferred = jQuery.Callbacks( \"once memory\" ),\n\n\t\t\t// Status-dependent callbacks\n\t\t\tstatusCode = s.statusCode || {},\n\n\t\t\t// Headers (they are sent all at once)\n\t\t\trequestHeaders = {},\n\t\t\trequestHeadersNames = {},\n\n\t\t\t// The jqXHR state\n\t\t\tstate = 0,\n\n\t\t\t// Default abort message\n\t\t\tstrAbort = \"canceled\",\n\n\t\t\t// Fake xhr\n\t\t\tjqXHR = {\n\t\t\t\treadyState: 0,\n\n\t\t\t\t// Builds headers hashtable if needed\n\t\t\t\tgetResponseHeader: function( key ) {\n\t\t\t\t\tvar match;\n\t\t\t\t\tif ( state === 2 ) {\n\t\t\t\t\t\tif ( !responseHeaders ) {\n\t\t\t\t\t\t\tresponseHeaders = {};\n\t\t\t\t\t\t\twhile ( ( match = rheaders.exec( responseHeadersString ) ) ) {\n\t\t\t\t\t\t\t\tresponseHeaders[ match[ 1 ].toLowerCase() ] = match[ 2 ];\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t\tmatch = responseHeaders[ key.toLowerCase() ];\n\t\t\t\t\t}\n\t\t\t\t\treturn match == null ? null : match;\n\t\t\t\t},\n\n\t\t\t\t// Raw string\n\t\t\t\tgetAllResponseHeaders: function() {\n\t\t\t\t\treturn state === 2 ? responseHeadersString : null;\n\t\t\t\t},\n\n\t\t\t\t// Caches the header\n\t\t\t\tsetRequestHeader: function( name, value ) {\n\t\t\t\t\tvar lname = name.toLowerCase();\n\t\t\t\t\tif ( !state ) {\n\t\t\t\t\t\tname = requestHeadersNames[ lname ] = requestHeadersNames[ lname ] || name;\n\t\t\t\t\t\trequestHeaders[ name ] = value;\n\t\t\t\t\t}\n\t\t\t\t\treturn this;\n\t\t\t\t},\n\n\t\t\t\t// Overrides response content-type header\n\t\t\t\toverrideMimeType: function( type ) {\n\t\t\t\t\tif ( !state ) {\n\t\t\t\t\t\ts.mimeType = type;\n\t\t\t\t\t}\n\t\t\t\t\treturn this;\n\t\t\t\t},\n\n\t\t\t\t// Status-dependent callbacks\n\t\t\t\tstatusCode: function( map ) {\n\t\t\t\t\tvar code;\n\t\t\t\t\tif ( map ) {\n\t\t\t\t\t\tif ( state < 2 ) {\n\t\t\t\t\t\t\tfor ( code in map ) {\n\n\t\t\t\t\t\t\t\t// Lazy-add the new callback in a way that preserves old ones\n\t\t\t\t\t\t\t\tstatusCode[ code ] = [ statusCode[ code ], map[ code ] ];\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t} else {\n\n\t\t\t\t\t\t\t// Execute the appropriate callbacks\n\t\t\t\t\t\t\tjqXHR.always( map[ jqXHR.status ] );\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\treturn this;\n\t\t\t\t},\n\n\t\t\t\t// Cancel the request\n\t\t\t\tabort: function( statusText ) {\n\t\t\t\t\tvar finalText = statusText || strAbort;\n\t\t\t\t\tif ( transport ) {\n\t\t\t\t\t\ttransport.abort( finalText );\n\t\t\t\t\t}\n\t\t\t\t\tdone( 0, finalText );\n\t\t\t\t\treturn this;\n\t\t\t\t}\n\t\t\t};\n\n\t\t// Attach deferreds\n\t\tdeferred.promise( jqXHR ).complete = completeDeferred.add;\n\t\tjqXHR.success = jqXHR.done;\n\t\tjqXHR.error = jqXHR.fail;\n\n\t\t// Remove hash character (#7531: and string promotion)\n\t\t// Add protocol if not provided (#5866: IE7 issue with protocol-less urls)\n\t\t// Handle falsy url in the settings object (#10093: consistency with old signature)\n\t\t// We also use the url parameter if available\n\t\ts.url = ( ( url || s.url || ajaxLocation ) + \"\" )\n\t\t\t.replace( rhash, \"\" )\n\t\t\t.replace( rprotocol, ajaxLocParts[ 1 ] + \"//\" );\n\n\t\t// Alias method option to type as per ticket #12004\n\t\ts.type = options.method || options.type || s.method || s.type;\n\n\t\t// Extract dataTypes list\n\t\ts.dataTypes = jQuery.trim( s.dataType || \"*\" ).toLowerCase().match( rnotwhite ) || [ \"\" ];\n\n\t\t// A cross-domain request is in order when we have a protocol:host:port mismatch\n\t\tif ( s.crossDomain == null ) {\n\t\t\tparts = rurl.exec( s.url.toLowerCase() );\n\t\t\ts.crossDomain = !!( parts &&\n\t\t\t\t( parts[ 1 ] !== ajaxLocParts[ 1 ] || parts[ 2 ] !== ajaxLocParts[ 2 ] ||\n\t\t\t\t\t( parts[ 3 ] || ( parts[ 1 ] === \"http:\" ? \"80\" : \"443\" ) ) !==\n\t\t\t\t\t\t( ajaxLocParts[ 3 ] || ( ajaxLocParts[ 1 ] === \"http:\" ? \"80\" : \"443\" ) ) )\n\t\t\t);\n\t\t}\n\n\t\t// Convert data if not already a string\n\t\tif ( s.data && s.processData && typeof s.data !== \"string\" ) {\n\t\t\ts.data = jQuery.param( s.data, s.traditional );\n\t\t}\n\n\t\t// Apply prefilters\n\t\tinspectPrefiltersOrTransports( prefilters, s, options, jqXHR );\n\n\t\t// If request was aborted inside a prefilter, stop there\n\t\tif ( state === 2 ) {\n\t\t\treturn jqXHR;\n\t\t}\n\n\t\t// We can fire global events as of now if asked to\n\t\t// Don't fire events if jQuery.event is undefined in an AMD-usage scenario (#15118)\n\t\tfireGlobals = jQuery.event && s.global;\n\n\t\t// Watch for a new set of requests\n\t\tif ( fireGlobals && jQuery.active++ === 0 ) {\n\t\t\tjQuery.event.trigger( \"ajaxStart\" );\n\t\t}\n\n\t\t// Uppercase the type\n\t\ts.type = s.type.toUpperCase();\n\n\t\t// Determine if request has content\n\t\ts.hasContent = !rnoContent.test( s.type );\n\n\t\t// Save the URL in case we're toying with the If-Modified-Since\n\t\t// and/or If-None-Match header later on\n\t\tcacheURL = s.url;\n\n\t\t// More options handling for requests with no content\n\t\tif ( !s.hasContent ) {\n\n\t\t\t// If data is available, append data to url\n\t\t\tif ( s.data ) {\n\t\t\t\tcacheURL = ( s.url += ( rquery.test( cacheURL ) ? \"&\" : \"?\" ) + s.data );\n\n\t\t\t\t// #9682: remove data so that it's not used in an eventual retry\n\t\t\t\tdelete s.data;\n\t\t\t}\n\n\t\t\t// Add anti-cache in url if needed\n\t\t\tif ( s.cache === false ) {\n\t\t\t\ts.url = rts.test( cacheURL ) ?\n\n\t\t\t\t\t// If there is already a '_' parameter, set its value\n\t\t\t\t\tcacheURL.replace( rts, \"$1_=\" + nonce++ ) :\n\n\t\t\t\t\t// Otherwise add one to the end\n\t\t\t\t\tcacheURL + ( rquery.test( cacheURL ) ? \"&\" : \"?\" ) + \"_=\" + nonce++;\n\t\t\t}\n\t\t}\n\n\t\t// Set the If-Modified-Since and/or If-None-Match header, if in ifModified mode.\n\t\tif ( s.ifModified ) {\n\t\t\tif ( jQuery.lastModified[ cacheURL ] ) {\n\t\t\t\tjqXHR.setRequestHeader( \"If-Modified-Since\", jQuery.lastModified[ cacheURL ] );\n\t\t\t}\n\t\t\tif ( jQuery.etag[ cacheURL ] ) {\n\t\t\t\tjqXHR.setRequestHeader( \"If-None-Match\", jQuery.etag[ cacheURL ] );\n\t\t\t}\n\t\t}\n\n\t\t// Set the correct header, if data is being sent\n\t\tif ( s.data && s.hasContent && s.contentType !== false || options.contentType ) {\n\t\t\tjqXHR.setRequestHeader( \"Content-Type\", s.contentType );\n\t\t}\n\n\t\t// Set the Accepts header for the server, depending on the dataType\n\t\tjqXHR.setRequestHeader(\n\t\t\t\"Accept\",\n\t\t\ts.dataTypes[ 0 ] && s.accepts[ s.dataTypes[ 0 ] ] ?\n\t\t\t\ts.accepts[ s.dataTypes[ 0 ] ] +\n\t\t\t\t\t( s.dataTypes[ 0 ] !== \"*\" ? \", \" + allTypes + \"; q=0.01\" : \"\" ) :\n\t\t\t\ts.accepts[ \"*\" ]\n\t\t);\n\n\t\t// Check for headers option\n\t\tfor ( i in s.headers ) {\n\t\t\tjqXHR.setRequestHeader( i, s.headers[ i ] );\n\t\t}\n\n\t\t// Allow custom headers/mimetypes and early abort\n\t\tif ( s.beforeSend &&\n\t\t\t( s.beforeSend.call( callbackContext, jqXHR, s ) === false || state === 2 ) ) {\n\n\t\t\t// Abort if not done already and return\n\t\t\treturn jqXHR.abort();\n\t\t}\n\n\t\t// aborting is no longer a cancellation\n\t\tstrAbort = \"abort\";\n\n\t\t// Install callbacks on deferreds\n\t\tfor ( i in { success: 1, error: 1, complete: 1 } ) {\n\t\t\tjqXHR[ i ]( s[ i ] );\n\t\t}\n\n\t\t// Get transport\n\t\ttransport = inspectPrefiltersOrTransports( transports, s, options, jqXHR );\n\n\t\t// If no transport, we auto-abort\n\t\tif ( !transport ) {\n\t\t\tdone( -1, \"No Transport\" );\n\t\t} else {\n\t\t\tjqXHR.readyState = 1;\n\n\t\t\t// Send global event\n\t\t\tif ( fireGlobals ) {\n\t\t\t\tglobalEventContext.trigger( \"ajaxSend\", [ jqXHR, s ] );\n\t\t\t}\n\n\t\t\t// If request was aborted inside ajaxSend, stop there\n\t\t\tif ( state === 2 ) {\n\t\t\t\treturn jqXHR;\n\t\t\t}\n\n\t\t\t// Timeout\n\t\t\tif ( s.async && s.timeout > 0 ) {\n\t\t\t\ttimeoutTimer = window.setTimeout( function() {\n\t\t\t\t\tjqXHR.abort( \"timeout\" );\n\t\t\t\t}, s.timeout );\n\t\t\t}\n\n\t\t\ttry {\n\t\t\t\tstate = 1;\n\t\t\t\ttransport.send( requestHeaders, done );\n\t\t\t} catch ( e ) {\n\n\t\t\t\t// Propagate exception as error if not done\n\t\t\t\tif ( state < 2 ) {\n\t\t\t\t\tdone( -1, e );\n\n\t\t\t\t// Simply rethrow otherwise\n\t\t\t\t} else {\n\t\t\t\t\tthrow e;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t// Callback for when everything is done\n\t\tfunction done( status, nativeStatusText, responses, headers ) {\n\t\t\tvar isSuccess, success, error, response, modified,\n\t\t\t\tstatusText = nativeStatusText;\n\n\t\t\t// Called once\n\t\t\tif ( state === 2 ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// State is \"done\" now\n\t\t\tstate = 2;\n\n\t\t\t// Clear timeout if it exists\n\t\t\tif ( timeoutTimer ) {\n\t\t\t\twindow.clearTimeout( timeoutTimer );\n\t\t\t}\n\n\t\t\t// Dereference transport for early garbage collection\n\t\t\t// (no matter how long the jqXHR object will be used)\n\t\t\ttransport = undefined;\n\n\t\t\t// Cache response headers\n\t\t\tresponseHeadersString = headers || \"\";\n\n\t\t\t// Set readyState\n\t\t\tjqXHR.readyState = status > 0 ? 4 : 0;\n\n\t\t\t// Determine if successful\n\t\t\tisSuccess = status >= 200 && status < 300 || status === 304;\n\n\t\t\t// Get response data\n\t\t\tif ( responses ) {\n\t\t\t\tresponse = ajaxHandleResponses( s, jqXHR, responses );\n\t\t\t}\n\n\t\t\t// Convert no matter what (that way responseXXX fields are always set)\n\t\t\tresponse = ajaxConvert( s, response, jqXHR, isSuccess );\n\n\t\t\t// If successful, handle type chaining\n\t\t\tif ( isSuccess ) {\n\n\t\t\t\t// Set the If-Modified-Since and/or If-None-Match header, if in ifModified mode.\n\t\t\t\tif ( s.ifModified ) {\n\t\t\t\t\tmodified = jqXHR.getResponseHeader( \"Last-Modified\" );\n\t\t\t\t\tif ( modified ) {\n\t\t\t\t\t\tjQuery.lastModified[ cacheURL ] = modified;\n\t\t\t\t\t}\n\t\t\t\t\tmodified = jqXHR.getResponseHeader( \"etag\" );\n\t\t\t\t\tif ( modified ) {\n\t\t\t\t\t\tjQuery.etag[ cacheURL ] = modified;\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\t// if no content\n\t\t\t\tif ( status === 204 || s.type === \"HEAD\" ) {\n\t\t\t\t\tstatusText = \"nocontent\";\n\n\t\t\t\t// if not modified\n\t\t\t\t} else if ( status === 304 ) {\n\t\t\t\t\tstatusText = \"notmodified\";\n\n\t\t\t\t// If we have data, let's convert it\n\t\t\t\t} else {\n\t\t\t\t\tstatusText = response.state;\n\t\t\t\t\tsuccess = response.data;\n\t\t\t\t\terror = response.error;\n\t\t\t\t\tisSuccess = !error;\n\t\t\t\t}\n\t\t\t} else {\n\n\t\t\t\t// We extract error from statusText\n\t\t\t\t// then normalize statusText and status for non-aborts\n\t\t\t\terror = statusText;\n\t\t\t\tif ( status || !statusText ) {\n\t\t\t\t\tstatusText = \"error\";\n\t\t\t\t\tif ( status < 0 ) {\n\t\t\t\t\t\tstatus = 0;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Set data for the fake xhr object\n\t\t\tjqXHR.status = status;\n\t\t\tjqXHR.statusText = ( nativeStatusText || statusText ) + \"\";\n\n\t\t\t// Success/Error\n\t\t\tif ( isSuccess ) {\n\t\t\t\tdeferred.resolveWith( callbackContext, [ success, statusText, jqXHR ] );\n\t\t\t} else {\n\t\t\t\tdeferred.rejectWith( callbackContext, [ jqXHR, statusText, error ] );\n\t\t\t}\n\n\t\t\t// Status-dependent callbacks\n\t\t\tjqXHR.statusCode( statusCode );\n\t\t\tstatusCode = undefined;\n\n\t\t\tif ( fireGlobals ) {\n\t\t\t\tglobalEventContext.trigger( isSuccess ? \"ajaxSuccess\" : \"ajaxError\",\n\t\t\t\t\t[ jqXHR, s, isSuccess ? success : error ] );\n\t\t\t}\n\n\t\t\t// Complete\n\t\t\tcompleteDeferred.fireWith( callbackContext, [ jqXHR, statusText ] );\n\n\t\t\tif ( fireGlobals ) {\n\t\t\t\tglobalEventContext.trigger( \"ajaxComplete\", [ jqXHR, s ] );\n\n\t\t\t\t// Handle the global AJAX counter\n\t\t\t\tif ( !( --jQuery.active ) ) {\n\t\t\t\t\tjQuery.event.trigger( \"ajaxStop\" );\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn jqXHR;\n\t},\n\n\tgetJSON: function( url, data, callback ) {\n\t\treturn jQuery.get( url, data, callback, \"json\" );\n\t},\n\n\tgetScript: function( url, callback ) {\n\t\treturn jQuery.get( url, undefined, callback, \"script\" );\n\t}\n} );\n\njQuery.each( [ \"get\", \"post\" ], function( i, method ) {\n\tjQuery[ method ] = function( url, data, callback, type ) {\n\n\t\t// shift arguments if data argument was omitted\n\t\tif ( jQuery.isFunction( data ) ) {\n\t\t\ttype = type || callback;\n\t\t\tcallback = data;\n\t\t\tdata = undefined;\n\t\t}\n\n\t\t// The url can be an options object (which then must have .url)\n\t\treturn jQuery.ajax( jQuery.extend( {\n\t\t\turl: url,\n\t\t\ttype: method,\n\t\t\tdataType: type,\n\t\t\tdata: data,\n\t\t\tsuccess: callback\n\t\t}, jQuery.isPlainObject( url ) && url ) );\n\t};\n} );\n\n\njQuery._evalUrl = function( url ) {\n\treturn jQuery.ajax( {\n\t\turl: url,\n\n\t\t// Make this explicit, since user can override this through ajaxSetup (#11264)\n\t\ttype: \"GET\",\n\t\tdataType: \"script\",\n\t\tcache: true,\n\t\tasync: false,\n\t\tglobal: false,\n\t\t\"throws\": true\n\t} );\n};\n\n\njQuery.fn.extend( {\n\twrapAll: function( html ) {\n\t\tif ( jQuery.isFunction( html ) ) {\n\t\t\treturn this.each( function( i ) {\n\t\t\t\tjQuery( this ).wrapAll( html.call( this, i ) );\n\t\t\t} );\n\t\t}\n\n\t\tif ( this[ 0 ] ) {\n\n\t\t\t// The elements to wrap the target around\n\t\t\tvar wrap = jQuery( html, this[ 0 ].ownerDocument ).eq( 0 ).clone( true );\n\n\t\t\tif ( this[ 0 ].parentNode ) {\n\t\t\t\twrap.insertBefore( this[ 0 ] );\n\t\t\t}\n\n\t\t\twrap.map( function() {\n\t\t\t\tvar elem = this;\n\n\t\t\t\twhile ( elem.firstChild && elem.firstChild.nodeType === 1 ) {\n\t\t\t\t\telem = elem.firstChild;\n\t\t\t\t}\n\n\t\t\t\treturn elem;\n\t\t\t} ).append( this );\n\t\t}\n\n\t\treturn this;\n\t},\n\n\twrapInner: function( html ) {\n\t\tif ( jQuery.isFunction( html ) ) {\n\t\t\treturn this.each( function( i ) {\n\t\t\t\tjQuery( this ).wrapInner( html.call( this, i ) );\n\t\t\t} );\n\t\t}\n\n\t\treturn this.each( function() {\n\t\t\tvar self = jQuery( this ),\n\t\t\t\tcontents = self.contents();\n\n\t\t\tif ( contents.length ) {\n\t\t\t\tcontents.wrapAll( html );\n\n\t\t\t} else {\n\t\t\t\tself.append( html );\n\t\t\t}\n\t\t} );\n\t},\n\n\twrap: function( html ) {\n\t\tvar isFunction = jQuery.isFunction( html );\n\n\t\treturn this.each( function( i ) {\n\t\t\tjQuery( this ).wrapAll( isFunction ? html.call( this, i ) : html );\n\t\t} );\n\t},\n\n\tunwrap: function() {\n\t\treturn this.parent().each( function() {\n\t\t\tif ( !jQuery.nodeName( this, \"body\" ) ) {\n\t\t\t\tjQuery( this ).replaceWith( this.childNodes );\n\t\t\t}\n\t\t} ).end();\n\t}\n} );\n\n\nfunction getDisplay( elem ) {\n\treturn elem.style && elem.style.display || jQuery.css( elem, \"display\" );\n}\n\nfunction filterHidden( elem ) {\n\n\t// Disconnected elements are considered hidden\n\tif ( !jQuery.contains( elem.ownerDocument || document, elem ) ) {\n\t\treturn true;\n\t}\n\twhile ( elem && elem.nodeType === 1 ) {\n\t\tif ( getDisplay( elem ) === \"none\" || elem.type === \"hidden\" ) {\n\t\t\treturn true;\n\t\t}\n\t\telem = elem.parentNode;\n\t}\n\treturn false;\n}\n\njQuery.expr.filters.hidden = function( elem ) {\n\n\t// Support: Opera <= 12.12\n\t// Opera reports offsetWidths and offsetHeights less than zero on some elements\n\treturn support.reliableHiddenOffsets() ?\n\t\t( elem.offsetWidth <= 0 && elem.offsetHeight <= 0 &&\n\t\t\t!elem.getClientRects().length ) :\n\t\t\tfilterHidden( elem );\n};\n\njQuery.expr.filters.visible = function( elem ) {\n\treturn !jQuery.expr.filters.hidden( elem );\n};\n\n\n\n\nvar r20 = /%20/g,\n\trbracket = /\\[\\]$/,\n\trCRLF = /\\r?\\n/g,\n\trsubmitterTypes = /^(?:submit|button|image|reset|file)$/i,\n\trsubmittable = /^(?:input|select|textarea|keygen)/i;\n\nfunction buildParams( prefix, obj, traditional, add ) {\n\tvar name;\n\n\tif ( jQuery.isArray( obj ) ) {\n\n\t\t// Serialize array item.\n\t\tjQuery.each( obj, function( i, v ) {\n\t\t\tif ( traditional || rbracket.test( prefix ) ) {\n\n\t\t\t\t// Treat each array item as a scalar.\n\t\t\t\tadd( prefix, v );\n\n\t\t\t} else {\n\n\t\t\t\t// Item is non-scalar (array or object), encode its numeric index.\n\t\t\t\tbuildParams(\n\t\t\t\t\tprefix + \"[\" + ( typeof v === \"object\" && v != null ? i : \"\" ) + \"]\",\n\t\t\t\t\tv,\n\t\t\t\t\ttraditional,\n\t\t\t\t\tadd\n\t\t\t\t);\n\t\t\t}\n\t\t} );\n\n\t} else if ( !traditional && jQuery.type( obj ) === \"object\" ) {\n\n\t\t// Serialize object item.\n\t\tfor ( name in obj ) {\n\t\t\tbuildParams( prefix + \"[\" + name + \"]\", obj[ name ], traditional, add );\n\t\t}\n\n\t} else {\n\n\t\t// Serialize scalar item.\n\t\tadd( prefix, obj );\n\t}\n}\n\n// Serialize an array of form elements or a set of\n// key/values into a query string\njQuery.param = function( a, traditional ) {\n\tvar prefix,\n\t\ts = [],\n\t\tadd = function( key, value ) {\n\n\t\t\t// If value is a function, invoke it and return its value\n\t\t\tvalue = jQuery.isFunction( value ) ? value() : ( value == null ? \"\" : value );\n\t\t\ts[ s.length ] = encodeURIComponent( key ) + \"=\" + encodeURIComponent( value );\n\t\t};\n\n\t// Set traditional to true for jQuery <= 1.3.2 behavior.\n\tif ( traditional === undefined ) {\n\t\ttraditional = jQuery.ajaxSettings && jQuery.ajaxSettings.traditional;\n\t}\n\n\t// If an array was passed in, assume that it is an array of form elements.\n\tif ( jQuery.isArray( a ) || ( a.jquery && !jQuery.isPlainObject( a ) ) ) {\n\n\t\t// Serialize the form elements\n\t\tjQuery.each( a, function() {\n\t\t\tadd( this.name, this.value );\n\t\t} );\n\n\t} else {\n\n\t\t// If traditional, encode the \"old\" way (the way 1.3.2 or older\n\t\t// did it), otherwise encode params recursively.\n\t\tfor ( prefix in a ) {\n\t\t\tbuildParams( prefix, a[ prefix ], traditional, add );\n\t\t}\n\t}\n\n\t// Return the resulting serialization\n\treturn s.join( \"&\" ).replace( r20, \"+\" );\n};\n\njQuery.fn.extend( {\n\tserialize: function() {\n\t\treturn jQuery.param( this.serializeArray() );\n\t},\n\tserializeArray: function() {\n\t\treturn this.map( function() {\n\n\t\t\t// Can add propHook for \"elements\" to filter or add form elements\n\t\t\tvar elements = jQuery.prop( this, \"elements\" );\n\t\t\treturn elements ? jQuery.makeArray( elements ) : this;\n\t\t} )\n\t\t.filter( function() {\n\t\t\tvar type = this.type;\n\n\t\t\t// Use .is(\":disabled\") so that fieldset[disabled] works\n\t\t\treturn this.name && !jQuery( this ).is( \":disabled\" ) &&\n\t\t\t\trsubmittable.test( this.nodeName ) && !rsubmitterTypes.test( type ) &&\n\t\t\t\t( this.checked || !rcheckableType.test( type ) );\n\t\t} )\n\t\t.map( function( i, elem ) {\n\t\t\tvar val = jQuery( this ).val();\n\n\t\t\treturn val == null ?\n\t\t\t\tnull :\n\t\t\t\tjQuery.isArray( val ) ?\n\t\t\t\t\tjQuery.map( val, function( val ) {\n\t\t\t\t\t\treturn { name: elem.name, value: val.replace( rCRLF, \"\\r\\n\" ) };\n\t\t\t\t\t} ) :\n\t\t\t\t\t{ name: elem.name, value: val.replace( rCRLF, \"\\r\\n\" ) };\n\t\t} ).get();\n\t}\n} );\n\n\n// Create the request object\n// (This is still attached to ajaxSettings for backward compatibility)\njQuery.ajaxSettings.xhr = window.ActiveXObject !== undefined ?\n\n\t// Support: IE6-IE8\n\tfunction() {\n\n\t\t// XHR cannot access local files, always use ActiveX for that case\n\t\tif ( this.isLocal ) {\n\t\t\treturn createActiveXHR();\n\t\t}\n\n\t\t// Support: IE 9-11\n\t\t// IE seems to error on cross-domain PATCH requests when ActiveX XHR\n\t\t// is used. In IE 9+ always use the native XHR.\n\t\t// Note: this condition won't catch Edge as it doesn't define\n\t\t// document.documentMode but it also doesn't support ActiveX so it won't\n\t\t// reach this code.\n\t\tif ( document.documentMode > 8 ) {\n\t\t\treturn createStandardXHR();\n\t\t}\n\n\t\t// Support: IE<9\n\t\t// oldIE XHR does not support non-RFC2616 methods (#13240)\n\t\t// See http://msdn.microsoft.com/en-us/library/ie/ms536648(v=vs.85).aspx\n\t\t// and http://www.w3.org/Protocols/rfc2616/rfc2616-sec9.html#sec9\n\t\t// Although this check for six methods instead of eight\n\t\t// since IE also does not support \"trace\" and \"connect\"\n\t\treturn /^(get|post|head|put|delete|options)$/i.test( this.type ) &&\n\t\t\tcreateStandardXHR() || createActiveXHR();\n\t} :\n\n\t// For all other browsers, use the standard XMLHttpRequest object\n\tcreateStandardXHR;\n\nvar xhrId = 0,\n\txhrCallbacks = {},\n\txhrSupported = jQuery.ajaxSettings.xhr();\n\n// Support: IE<10\n// Open requests must be manually aborted on unload (#5280)\n// See https://support.microsoft.com/kb/2856746 for more info\nif ( window.attachEvent ) {\n\twindow.attachEvent( \"onunload\", function() {\n\t\tfor ( var key in xhrCallbacks ) {\n\t\t\txhrCallbacks[ key ]( undefined, true );\n\t\t}\n\t} );\n}\n\n// Determine support properties\nsupport.cors = !!xhrSupported && ( \"withCredentials\" in xhrSupported );\nxhrSupported = support.ajax = !!xhrSupported;\n\n// Create transport if the browser can provide an xhr\nif ( xhrSupported ) {\n\n\tjQuery.ajaxTransport( function( options ) {\n\n\t\t// Cross domain only allowed if supported through XMLHttpRequest\n\t\tif ( !options.crossDomain || support.cors ) {\n\n\t\t\tvar callback;\n\n\t\t\treturn {\n\t\t\t\tsend: function( headers, complete ) {\n\t\t\t\t\tvar i,\n\t\t\t\t\t\txhr = options.xhr(),\n\t\t\t\t\t\tid = ++xhrId;\n\n\t\t\t\t\t// Open the socket\n\t\t\t\t\txhr.open(\n\t\t\t\t\t\toptions.type,\n\t\t\t\t\t\toptions.url,\n\t\t\t\t\t\toptions.async,\n\t\t\t\t\t\toptions.username,\n\t\t\t\t\t\toptions.password\n\t\t\t\t\t);\n\n\t\t\t\t\t// Apply custom fields if provided\n\t\t\t\t\tif ( options.xhrFields ) {\n\t\t\t\t\t\tfor ( i in options.xhrFields ) {\n\t\t\t\t\t\t\txhr[ i ] = options.xhrFields[ i ];\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\t// Override mime type if needed\n\t\t\t\t\tif ( options.mimeType && xhr.overrideMimeType ) {\n\t\t\t\t\t\txhr.overrideMimeType( options.mimeType );\n\t\t\t\t\t}\n\n\t\t\t\t\t// X-Requested-With header\n\t\t\t\t\t// For cross-domain requests, seeing as conditions for a preflight are\n\t\t\t\t\t// akin to a jigsaw puzzle, we simply never set it to be sure.\n\t\t\t\t\t// (it can always be set on a per-request basis or even using ajaxSetup)\n\t\t\t\t\t// For same-domain requests, won't change header if already provided.\n\t\t\t\t\tif ( !options.crossDomain && !headers[ \"X-Requested-With\" ] ) {\n\t\t\t\t\t\theaders[ \"X-Requested-With\" ] = \"XMLHttpRequest\";\n\t\t\t\t\t}\n\n\t\t\t\t\t// Set headers\n\t\t\t\t\tfor ( i in headers ) {\n\n\t\t\t\t\t\t// Support: IE<9\n\t\t\t\t\t\t// IE's ActiveXObject throws a 'Type Mismatch' exception when setting\n\t\t\t\t\t\t// request header to a null-value.\n\t\t\t\t\t\t//\n\t\t\t\t\t\t// To keep consistent with other XHR implementations, cast the value\n\t\t\t\t\t\t// to string and ignore `undefined`.\n\t\t\t\t\t\tif ( headers[ i ] !== undefined ) {\n\t\t\t\t\t\t\txhr.setRequestHeader( i, headers[ i ] + \"\" );\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\t// Do send the request\n\t\t\t\t\t// This may raise an exception which is actually\n\t\t\t\t\t// handled in jQuery.ajax (so no try/catch here)\n\t\t\t\t\txhr.send( ( options.hasContent && options.data ) || null );\n\n\t\t\t\t\t// Listener\n\t\t\t\t\tcallback = function( _, isAbort ) {\n\t\t\t\t\t\tvar status, statusText, responses;\n\n\t\t\t\t\t\t// Was never called and is aborted or complete\n\t\t\t\t\t\tif ( callback && ( isAbort || xhr.readyState === 4 ) ) {\n\n\t\t\t\t\t\t\t// Clean up\n\t\t\t\t\t\t\tdelete xhrCallbacks[ id ];\n\t\t\t\t\t\t\tcallback = undefined;\n\t\t\t\t\t\t\txhr.onreadystatechange = jQuery.noop;\n\n\t\t\t\t\t\t\t// Abort manually if needed\n\t\t\t\t\t\t\tif ( isAbort ) {\n\t\t\t\t\t\t\t\tif ( xhr.readyState !== 4 ) {\n\t\t\t\t\t\t\t\t\txhr.abort();\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\tresponses = {};\n\t\t\t\t\t\t\t\tstatus = xhr.status;\n\n\t\t\t\t\t\t\t\t// Support: IE<10\n\t\t\t\t\t\t\t\t// Accessing binary-data responseText throws an exception\n\t\t\t\t\t\t\t\t// (#11426)\n\t\t\t\t\t\t\t\tif ( typeof xhr.responseText === \"string\" ) {\n\t\t\t\t\t\t\t\t\tresponses.text = xhr.responseText;\n\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t// Firefox throws an exception when accessing\n\t\t\t\t\t\t\t\t// statusText for faulty cross-domain requests\n\t\t\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\t\t\tstatusText = xhr.statusText;\n\t\t\t\t\t\t\t\t} catch ( e ) {\n\n\t\t\t\t\t\t\t\t\t// We normalize with Webkit giving an empty statusText\n\t\t\t\t\t\t\t\t\tstatusText = \"\";\n\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t// Filter status for non standard behaviors\n\n\t\t\t\t\t\t\t\t// If the request is local and we have data: assume a success\n\t\t\t\t\t\t\t\t// (success with no data won't get notified, that's the best we\n\t\t\t\t\t\t\t\t// can do given current implementations)\n\t\t\t\t\t\t\t\tif ( !status && options.isLocal && !options.crossDomain ) {\n\t\t\t\t\t\t\t\t\tstatus = responses.text ? 200 : 404;\n\n\t\t\t\t\t\t\t\t// IE - #1450: sometimes returns 1223 when it should be 204\n\t\t\t\t\t\t\t\t} else if ( status === 1223 ) {\n\t\t\t\t\t\t\t\t\tstatus = 204;\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t// Call complete if needed\n\t\t\t\t\t\tif ( responses ) {\n\t\t\t\t\t\t\tcomplete( status, statusText, responses, xhr.getAllResponseHeaders() );\n\t\t\t\t\t\t}\n\t\t\t\t\t};\n\n\t\t\t\t\t// Do send the request\n\t\t\t\t\t// `xhr.send` may raise an exception, but it will be\n\t\t\t\t\t// handled in jQuery.ajax (so no try/catch here)\n\t\t\t\t\tif ( !options.async ) {\n\n\t\t\t\t\t\t// If we're in sync mode we fire the callback\n\t\t\t\t\t\tcallback();\n\t\t\t\t\t} else if ( xhr.readyState === 4 ) {\n\n\t\t\t\t\t\t// (IE6 & IE7) if it's in cache and has been\n\t\t\t\t\t\t// retrieved directly we need to fire the callback\n\t\t\t\t\t\twindow.setTimeout( callback );\n\t\t\t\t\t} else {\n\n\t\t\t\t\t\t// Register the callback, but delay it in case `xhr.send` throws\n\t\t\t\t\t\t// Add to the list of active xhr callbacks\n\t\t\t\t\t\txhr.onreadystatechange = xhrCallbacks[ id ] = callback;\n\t\t\t\t\t}\n\t\t\t\t},\n\n\t\t\t\tabort: function() {\n\t\t\t\t\tif ( callback ) {\n\t\t\t\t\t\tcallback( undefined, true );\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t};\n\t\t}\n\t} );\n}\n\n// Functions to create xhrs\nfunction createStandardXHR() {\n\ttry {\n\t\treturn new window.XMLHttpRequest();\n\t} catch ( e ) {}\n}\n\nfunction createActiveXHR() {\n\ttry {\n\t\treturn new window.ActiveXObject( \"Microsoft.XMLHTTP\" );\n\t} catch ( e ) {}\n}\n\n\n\n\n// Prevent auto-execution of scripts when no explicit dataType was provided (See gh-2432)\n// https://oktainc.atlassian.net/browse/OKTA-131142\njQuery.ajaxPrefilter( function( s ) {\n\tif ( s.crossDomain ) {\n\t\ts.contents.script = false;\n\t}\n} );\n\n// Install script dataType\njQuery.ajaxSetup( {\n\taccepts: {\n\t\tscript: \"text/javascript, application/javascript, \" +\n\t\t\t\"application/ecmascript, application/x-ecmascript\"\n\t},\n\tcontents: {\n\t\tscript: /\\b(?:java|ecma)script\\b/\n\t},\n\tconverters: {\n\t\t\"text script\": function( text ) {\n\t\t\tjQuery.globalEval( text );\n\t\t\treturn text;\n\t\t}\n\t}\n} );\n\n// Handle cache's special case and global\njQuery.ajaxPrefilter( \"script\", function( s ) {\n\tif ( s.cache === undefined ) {\n\t\ts.cache = false;\n\t}\n\tif ( s.crossDomain ) {\n\t\ts.type = \"GET\";\n\t\ts.global = false;\n\t}\n} );\n\n// Bind script tag hack transport\njQuery.ajaxTransport( \"script\", function( s ) {\n\n\t// This transport only deals with cross domain requests\n\tif ( s.crossDomain ) {\n\n\t\tvar script,\n\t\t\thead = document.head || jQuery( \"head\" )[ 0 ] || document.documentElement;\n\n\t\treturn {\n\n\t\t\tsend: function( _, callback ) {\n\n\t\t\t\tscript = document.createElement( \"script\" );\n\n\t\t\t\tscript.async = true;\n\n\t\t\t\tif ( s.scriptCharset ) {\n\t\t\t\t\tscript.charset = s.scriptCharset;\n\t\t\t\t}\n\n\t\t\t\tscript.src = s.url;\n\n\t\t\t\t// Attach handlers for all browsers\n\t\t\t\tscript.onload = script.onreadystatechange = function( _, isAbort ) {\n\n\t\t\t\t\tif ( isAbort || !script.readyState || /loaded|complete/.test( script.readyState ) ) {\n\n\t\t\t\t\t\t// Handle memory leak in IE\n\t\t\t\t\t\tscript.onload = script.onreadystatechange = null;\n\n\t\t\t\t\t\t// Remove the script\n\t\t\t\t\t\tif ( script.parentNode ) {\n\t\t\t\t\t\t\tscript.parentNode.removeChild( script );\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t// Dereference the script\n\t\t\t\t\t\tscript = null;\n\n\t\t\t\t\t\t// Callback if not abort\n\t\t\t\t\t\tif ( !isAbort ) {\n\t\t\t\t\t\t\tcallback( 200, \"success\" );\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t};\n\n\t\t\t\t// Circumvent IE6 bugs with base elements (#2709 and #4378) by prepending\n\t\t\t\t// Use native DOM manipulation to avoid our domManip AJAX trickery\n\t\t\t\thead.insertBefore( script, head.firstChild );\n\t\t\t},\n\n\t\t\tabort: function() {\n\t\t\t\tif ( script ) {\n\t\t\t\t\tscript.onload( undefined, true );\n\t\t\t\t}\n\t\t\t}\n\t\t};\n\t}\n} );\n\n\n\n\nvar oldCallbacks = [],\n\trjsonp = /(=)\\?(?=&|$)|\\?\\?/;\n\n// Default jsonp settings\njQuery.ajaxSetup( {\n\tjsonp: \"callback\",\n\tjsonpCallback: function() {\n\t\tvar callback = oldCallbacks.pop() || ( jQuery.expando + \"_\" + ( nonce++ ) );\n\t\tthis[ callback ] = true;\n\t\treturn callback;\n\t}\n} );\n\n// Detect, normalize options and install callbacks for jsonp requests\njQuery.ajaxPrefilter( \"json jsonp\", function( s, originalSettings, jqXHR ) {\n\n\tvar callbackName, overwritten, responseContainer,\n\t\tjsonProp = s.jsonp !== false && ( rjsonp.test( s.url ) ?\n\t\t\t\"url\" :\n\t\t\ttypeof s.data === \"string\" &&\n\t\t\t\t( s.contentType || \"\" )\n\t\t\t\t\t.indexOf( \"application/x-www-form-urlencoded\" ) === 0 &&\n\t\t\t\trjsonp.test( s.data ) && \"data\"\n\t\t);\n\n\t// Handle iff the expected data type is \"jsonp\" or we have a parameter to set\n\tif ( jsonProp || s.dataTypes[ 0 ] === \"jsonp\" ) {\n\n\t\t// Get callback name, remembering preexisting value associated with it\n\t\tcallbackName = s.jsonpCallback = jQuery.isFunction( s.jsonpCallback ) ?\n\t\t\ts.jsonpCallback() :\n\t\t\ts.jsonpCallback;\n\n\t\t// Insert callback into url or form data\n\t\tif ( jsonProp ) {\n\t\t\ts[ jsonProp ] = s[ jsonProp ].replace( rjsonp, \"$1\" + callbackName );\n\t\t} else if ( s.jsonp !== false ) {\n\t\t\ts.url += ( rquery.test( s.url ) ? \"&\" : \"?\" ) + s.jsonp + \"=\" + callbackName;\n\t\t}\n\n\t\t// Use data converter to retrieve json after script execution\n\t\ts.converters[ \"script json\" ] = function() {\n\t\t\tif ( !responseContainer ) {\n\t\t\t\tjQuery.error( callbackName + \" was not called\" );\n\t\t\t}\n\t\t\treturn responseContainer[ 0 ];\n\t\t};\n\n\t\t// force json dataType\n\t\ts.dataTypes[ 0 ] = \"json\";\n\n\t\t// Install callback\n\t\toverwritten = window[ callbackName ];\n\t\twindow[ callbackName ] = function() {\n\t\t\tresponseContainer = arguments;\n\t\t};\n\n\t\t// Clean-up function (fires after converters)\n\t\tjqXHR.always( function() {\n\n\t\t\t// If previous value didn't exist - remove it\n\t\t\tif ( overwritten === undefined ) {\n\t\t\t\tjQuery( window ).removeProp( callbackName );\n\n\t\t\t// Otherwise restore preexisting value\n\t\t\t} else {\n\t\t\t\twindow[ callbackName ] = overwritten;\n\t\t\t}\n\n\t\t\t// Save back as free\n\t\t\tif ( s[ callbackName ] ) {\n\n\t\t\t\t// make sure that re-using the options doesn't screw things around\n\t\t\t\ts.jsonpCallback = originalSettings.jsonpCallback;\n\n\t\t\t\t// save the callback name for future use\n\t\t\t\toldCallbacks.push( callbackName );\n\t\t\t}\n\n\t\t\t// Call if it was a function and we have a response\n\t\t\tif ( responseContainer && jQuery.isFunction( overwritten ) ) {\n\t\t\t\toverwritten( responseContainer[ 0 ] );\n\t\t\t}\n\n\t\t\tresponseContainer = overwritten = undefined;\n\t\t} );\n\n\t\t// Delegate to script\n\t\treturn \"script\";\n\t}\n} );\n\n\n\n\n// data: string of html\n// context (optional): If specified, the fragment will be created in this context,\n// defaults to document\n// keepScripts (optional): If true, will include scripts passed in the html string\njQuery.parseHTML = function( data, context, keepScripts ) {\n\tif ( !data || typeof data !== \"string\" ) {\n\t\treturn null;\n\t}\n\tif ( typeof context === \"boolean\" ) {\n\t\tkeepScripts = context;\n\t\tcontext = false;\n\t}\n\tcontext = context || document;\n\n\tvar parsed = rsingleTag.exec( data ),\n\t\tscripts = !keepScripts && [];\n\n\t// Single tag\n\tif ( parsed ) {\n\t\treturn [ context.createElement( parsed[ 1 ] ) ];\n\t}\n\n\tparsed = buildFragment( [ data ], context, scripts );\n\n\tif ( scripts && scripts.length ) {\n\t\tjQuery( scripts ).remove();\n\t}\n\n\treturn jQuery.merge( [], parsed.childNodes );\n};\n\n\n// Keep a copy of the old load method\nvar _load = jQuery.fn.load;\n\n/**\n * Load a url into a page\n */\njQuery.fn.load = function( url, params, callback ) {\n\tif ( typeof url !== \"string\" && _load ) {\n\t\treturn _load.apply( this, arguments );\n\t}\n\n\tvar selector, type, response,\n\t\tself = this,\n\t\toff = url.indexOf( \" \" );\n\n\tif ( off > -1 ) {\n\t\tselector = jQuery.trim( url.slice( off, url.length ) );\n\t\turl = url.slice( 0, off );\n\t}\n\n\t// If it's a function\n\tif ( jQuery.isFunction( params ) ) {\n\n\t\t// We assume that it's the callback\n\t\tcallback = params;\n\t\tparams = undefined;\n\n\t// Otherwise, build a param string\n\t} else if ( params && typeof params === \"object\" ) {\n\t\ttype = \"POST\";\n\t}\n\n\t// If we have elements to modify, make the request\n\tif ( self.length > 0 ) {\n\t\tjQuery.ajax( {\n\t\t\turl: url,\n\n\t\t\t// If \"type\" variable is undefined, then \"GET\" method will be used.\n\t\t\t// Make value of this field explicit since\n\t\t\t// user can override it through ajaxSetup method\n\t\t\ttype: type || \"GET\",\n\t\t\tdataType: \"html\",\n\t\t\tdata: params\n\t\t} ).done( function( responseText ) {\n\n\t\t\t// Save response for use in complete callback\n\t\t\tresponse = arguments;\n\n\t\t\tself.html( selector ?\n\n\t\t\t\t// If a selector was specified, locate the right elements in a dummy div\n\t\t\t\t// Exclude scripts to avoid IE 'Permission Denied' errors\n\t\t\t\tjQuery( \"<div>\" ).append( jQuery.parseHTML( responseText ) ).find( selector ) :\n\n\t\t\t\t// Otherwise use the full result\n\t\t\t\tresponseText );\n\n\t\t// If the request succeeds, this function gets \"data\", \"status\", \"jqXHR\"\n\t\t// but they are ignored because response was set above.\n\t\t// If it fails, this function gets \"jqXHR\", \"status\", \"error\"\n\t\t} ).always( callback && function( jqXHR, status ) {\n\t\t\tself.each( function() {\n\t\t\t\tcallback.apply( this, response || [ jqXHR.responseText, status, jqXHR ] );\n\t\t\t} );\n\t\t} );\n\t}\n\n\treturn this;\n};\n\n\n\n\n// Attach a bunch of functions for handling common AJAX events\njQuery.each( [\n\t\"ajaxStart\",\n\t\"ajaxStop\",\n\t\"ajaxComplete\",\n\t\"ajaxError\",\n\t\"ajaxSuccess\",\n\t\"ajaxSend\"\n], function( i, type ) {\n\tjQuery.fn[ type ] = function( fn ) {\n\t\treturn this.on( type, fn );\n\t};\n} );\n\n\n\n\njQuery.expr.filters.animated = function( elem ) {\n\treturn jQuery.grep( jQuery.timers, function( fn ) {\n\t\treturn elem === fn.elem;\n\t} ).length;\n};\n\n\n\n\n\n/**\n * Gets a window from an element\n */\nfunction getWindow( elem ) {\n\treturn jQuery.isWindow( elem ) ?\n\t\telem :\n\t\telem.nodeType === 9 ?\n\t\t\telem.defaultView || elem.parentWindow :\n\t\t\tfalse;\n}\n\njQuery.offset = {\n\tsetOffset: function( elem, options, i ) {\n\t\tvar curPosition, curLeft, curCSSTop, curTop, curOffset, curCSSLeft, calculatePosition,\n\t\t\tposition = jQuery.css( elem, \"position\" ),\n\t\t\tcurElem = jQuery( elem ),\n\t\t\tprops = {};\n\n\t\t// set position first, in-case top/left are set even on static elem\n\t\tif ( position === \"static\" ) {\n\t\t\telem.style.position = \"relative\";\n\t\t}\n\n\t\tcurOffset = curElem.offset();\n\t\tcurCSSTop = jQuery.css( elem, \"top\" );\n\t\tcurCSSLeft = jQuery.css( elem, \"left\" );\n\t\tcalculatePosition = ( position === \"absolute\" || position === \"fixed\" ) &&\n\t\t\tjQuery.inArray( \"auto\", [ curCSSTop, curCSSLeft ] ) > -1;\n\n\t\t// need to be able to calculate position if either top or left\n\t\t// is auto and position is either absolute or fixed\n\t\tif ( calculatePosition ) {\n\t\t\tcurPosition = curElem.position();\n\t\t\tcurTop = curPosition.top;\n\t\t\tcurLeft = curPosition.left;\n\t\t} else {\n\t\t\tcurTop = parseFloat( curCSSTop ) || 0;\n\t\t\tcurLeft = parseFloat( curCSSLeft ) || 0;\n\t\t}\n\n\t\tif ( jQuery.isFunction( options ) ) {\n\n\t\t\t// Use jQuery.extend here to allow modification of coordinates argument (gh-1848)\n\t\t\toptions = options.call( elem, i, jQuery.extend( {}, curOffset ) );\n\t\t}\n\n\t\tif ( options.top != null ) {\n\t\t\tprops.top = ( options.top - curOffset.top ) + curTop;\n\t\t}\n\t\tif ( options.left != null ) {\n\t\t\tprops.left = ( options.left - curOffset.left ) + curLeft;\n\t\t}\n\n\t\tif ( \"using\" in options ) {\n\t\t\toptions.using.call( elem, props );\n\t\t} else {\n\t\t\tcurElem.css( props );\n\t\t}\n\t}\n};\n\njQuery.fn.extend( {\n\toffset: function( options ) {\n\t\tif ( arguments.length ) {\n\t\t\treturn options === undefined ?\n\t\t\t\tthis :\n\t\t\t\tthis.each( function( i ) {\n\t\t\t\t\tjQuery.offset.setOffset( this, options, i );\n\t\t\t\t} );\n\t\t}\n\n\t\tvar docElem, win,\n\t\t\tbox = { top: 0, left: 0 },\n\t\t\telem = this[ 0 ],\n\t\t\tdoc = elem && elem.ownerDocument;\n\n\t\tif ( !doc ) {\n\t\t\treturn;\n\t\t}\n\n\t\tdocElem = doc.documentElement;\n\n\t\t// Make sure it's not a disconnected DOM node\n\t\tif ( !jQuery.contains( docElem, elem ) ) {\n\t\t\treturn box;\n\t\t}\n\n\t\t// If we don't have gBCR, just use 0,0 rather than error\n\t\t// BlackBerry 5, iOS 3 (original iPhone)\n\t\tif ( typeof elem.getBoundingClientRect !== \"undefined\" ) {\n\t\t\tbox = elem.getBoundingClientRect();\n\t\t}\n\t\twin = getWindow( doc );\n\t\treturn {\n\t\t\ttop: box.top + ( win.pageYOffset || docElem.scrollTop ) - ( docElem.clientTop || 0 ),\n\t\t\tleft: box.left + ( win.pageXOffset || docElem.scrollLeft ) - ( docElem.clientLeft || 0 )\n\t\t};\n\t},\n\n\tposition: function() {\n\t\tif ( !this[ 0 ] ) {\n\t\t\treturn;\n\t\t}\n\n\t\tvar offsetParent, offset,\n\t\t\tparentOffset = { top: 0, left: 0 },\n\t\t\telem = this[ 0 ];\n\n\t\t// Fixed elements are offset from window (parentOffset = {top:0, left: 0},\n\t\t// because it is its only offset parent\n\t\tif ( jQuery.css( elem, \"position\" ) === \"fixed\" ) {\n\n\t\t\t// we assume that getBoundingClientRect is available when computed position is fixed\n\t\t\toffset = elem.getBoundingClientRect();\n\t\t} else {\n\n\t\t\t// Get *real* offsetParent\n\t\t\toffsetParent = this.offsetParent();\n\n\t\t\t// Get correct offsets\n\t\t\toffset = this.offset();\n\t\t\tif ( !jQuery.nodeName( offsetParent[ 0 ], \"html\" ) ) {\n\t\t\t\tparentOffset = offsetParent.offset();\n\t\t\t}\n\n\t\t\t// Add offsetParent borders\n\t\t\tparentOffset.top += jQuery.css( offsetParent[ 0 ], \"borderTopWidth\", true );\n\t\t\tparentOffset.left += jQuery.css( offsetParent[ 0 ], \"borderLeftWidth\", true );\n\t\t}\n\n\t\t// Subtract parent offsets and element margins\n\t\t// note: when an element has margin: auto the offsetLeft and marginLeft\n\t\t// are the same in Safari causing offset.left to incorrectly be 0\n\t\treturn {\n\t\t\ttop: offset.top - parentOffset.top - jQuery.css( elem, \"marginTop\", true ),\n\t\t\tleft: offset.left - parentOffset.left - jQuery.css( elem, \"marginLeft\", true )\n\t\t};\n\t},\n\n\toffsetParent: function() {\n\t\treturn this.map( function() {\n\t\t\tvar offsetParent = this.offsetParent;\n\n\t\t\twhile ( offsetParent && ( !jQuery.nodeName( offsetParent, \"html\" ) &&\n\t\t\t\tjQuery.css( offsetParent, \"position\" ) === \"static\" ) ) {\n\t\t\t\toffsetParent = offsetParent.offsetParent;\n\t\t\t}\n\t\t\treturn offsetParent || documentElement;\n\t\t} );\n\t}\n} );\n\n// Create scrollLeft and scrollTop methods\njQuery.each( { scrollLeft: \"pageXOffset\", scrollTop: \"pageYOffset\" }, function( method, prop ) {\n\tvar top = /Y/.test( prop );\n\n\tjQuery.fn[ method ] = function( val ) {\n\t\treturn access( this, function( elem, method, val ) {\n\t\t\tvar win = getWindow( elem );\n\n\t\t\tif ( val === undefined ) {\n\t\t\t\treturn win ? ( prop in win ) ? win[ prop ] :\n\t\t\t\t\twin.document.documentElement[ method ] :\n\t\t\t\t\telem[ method ];\n\t\t\t}\n\n\t\t\tif ( win ) {\n\t\t\t\twin.scrollTo(\n\t\t\t\t\t!top ? val : jQuery( win ).scrollLeft(),\n\t\t\t\t\ttop ? val : jQuery( win ).scrollTop()\n\t\t\t\t);\n\n\t\t\t} else {\n\t\t\t\telem[ method ] = val;\n\t\t\t}\n\t\t}, method, val, arguments.length, null );\n\t};\n} );\n\n// Support: Safari<7-8+, Chrome<37-44+\n// Add the top/left cssHooks using jQuery.fn.position\n// Webkit bug: https://bugs.webkit.org/show_bug.cgi?id=29084\n// getComputedStyle returns percent when specified for top/left/bottom/right\n// rather than make the css module depend on the offset module, we just check for it here\njQuery.each( [ \"top\", \"left\" ], function( i, prop ) {\n\tjQuery.cssHooks[ prop ] = addGetHookIf( support.pixelPosition,\n\t\tfunction( elem, computed ) {\n\t\t\tif ( computed ) {\n\t\t\t\tcomputed = curCSS( elem, prop );\n\n\t\t\t\t// if curCSS returns percentage, fallback to offset\n\t\t\t\treturn rnumnonpx.test( computed ) ?\n\t\t\t\t\tjQuery( elem ).position()[ prop ] + \"px\" :\n\t\t\t\t\tcomputed;\n\t\t\t}\n\t\t}\n\t);\n} );\n\n\n// Create innerHeight, innerWidth, height, width, outerHeight and outerWidth methods\njQuery.each( { Height: \"height\", Width: \"width\" }, function( name, type ) {\n\tjQuery.each( { padding: \"inner\" + name, content: type, \"\": \"outer\" + name },\n\tfunction( defaultExtra, funcName ) {\n\n\t\t// margin is only for outerHeight, outerWidth\n\t\tjQuery.fn[ funcName ] = function( margin, value ) {\n\t\t\tvar chainable = arguments.length && ( defaultExtra || typeof margin !== \"boolean\" ),\n\t\t\t\textra = defaultExtra || ( margin === true || value === true ? \"margin\" : \"border\" );\n\n\t\t\treturn access( this, function( elem, type, value ) {\n\t\t\t\tvar doc;\n\n\t\t\t\tif ( jQuery.isWindow( elem ) ) {\n\n\t\t\t\t\t// As of 5/8/2012 this will yield incorrect results for Mobile Safari, but there\n\t\t\t\t\t// isn't a whole lot we can do. See pull request at this URL for discussion:\n\t\t\t\t\t// https://github.com/jquery/jquery/pull/764\n\t\t\t\t\treturn elem.document.documentElement[ \"client\" + name ];\n\t\t\t\t}\n\n\t\t\t\t// Get document width or height\n\t\t\t\tif ( elem.nodeType === 9 ) {\n\t\t\t\t\tdoc = elem.documentElement;\n\n\t\t\t\t\t// Either scroll[Width/Height] or offset[Width/Height] or client[Width/Height],\n\t\t\t\t\t// whichever is greatest\n\t\t\t\t\t// unfortunately, this causes bug #3838 in IE6/8 only,\n\t\t\t\t\t// but there is currently no good, small way to fix it.\n\t\t\t\t\treturn Math.max(\n\t\t\t\t\t\telem.body[ \"scroll\" + name ], doc[ \"scroll\" + name ],\n\t\t\t\t\t\telem.body[ \"offset\" + name ], doc[ \"offset\" + name ],\n\t\t\t\t\t\tdoc[ \"client\" + name ]\n\t\t\t\t\t);\n\t\t\t\t}\n\n\t\t\t\treturn value === undefined ?\n\n\t\t\t\t\t// Get width or height on the element, requesting but not forcing parseFloat\n\t\t\t\t\tjQuery.css( elem, type, extra ) :\n\n\t\t\t\t\t// Set width or height on the element\n\t\t\t\t\tjQuery.style( elem, type, value, extra );\n\t\t\t}, type, chainable ? margin : undefined, chainable, null );\n\t\t};\n\t} );\n} );\n\n\njQuery.fn.extend( {\n\n\tbind: function( types, data, fn ) {\n\t\treturn this.on( types, null, data, fn );\n\t},\n\tunbind: function( types, fn ) {\n\t\treturn this.off( types, null, fn );\n\t},\n\n\tdelegate: function( selector, types, data, fn ) {\n\t\treturn this.on( types, selector, data, fn );\n\t},\n\tundelegate: function( selector, types, fn ) {\n\n\t\t// ( namespace ) or ( selector, types [, fn] )\n\t\treturn arguments.length === 1 ?\n\t\t\tthis.off( selector, \"**\" ) :\n\t\t\tthis.off( types, selector || \"**\", fn );\n\t}\n} );\n\n// The number of elements contained in the matched element set\njQuery.fn.size = function() {\n\treturn this.length;\n};\n\njQuery.fn.andSelf = jQuery.fn.addBack;\n\n\n\n\n// Register as a named AMD module, since jQuery can be concatenated with other\n// files that may use define, but not via a proper concatenation script that\n// understands anonymous AMD modules. A named AMD is safest and most robust\n// way to register. Lowercase jquery is used because AMD module names are\n// derived from file names, and jQuery is normally delivered in a lowercase\n// file name. Do this after creating the global so that if an AMD module wants\n// to call noConflict to hide this version of jQuery, it will work.\n\n// Note that for maximum portability, libraries that are not jQuery should\n// declare themselves as anonymous modules, and avoid setting a global if an\n// AMD loader is present. jQuery is a special case. For more information, see\n// https://github.com/jrburke/requirejs/wiki/Updating-existing-libraries#wiki-anon\n\nif ( typeof define === \"function\" && define.amd ) {\n\tdefine( \"jquery\", [], function() {\n\t\treturn jQuery;\n\t} );\n}\n\n\n\nvar\n\n\t// Map over jQuery in case of overwrite\n\t_jQuery = window.jQuery,\n\n\t// Map over the $ in case of overwrite\n\t_$ = window.$;\n\njQuery.noConflict = function( deep ) {\n\tif ( window.$ === jQuery ) {\n\t\twindow.$ = _$;\n\t}\n\n\tif ( deep && window.jQuery === jQuery ) {\n\t\twindow.jQuery = _jQuery;\n\t}\n\n\treturn jQuery;\n};\n\n// Expose jQuery and $ identifiers, even in\n// AMD (#7102#comment:10, https://github.com/jquery/jquery/pull/557)\n// and CommonJS for browser emulators (#13566)\n\n//9/10/2018 - OKTA-187649 - Expose jQuery in the global window object to externalize it\n//OKTA-Core used to load separate jquery as part of the saasure.min.js file along with the one that is bundled in dll.common\nif ( !noGlobal || window.__OKTA_EXPORT_JQUERY__ ) {\n\twindow.jQuery = window.$ = jQuery;\n}\n\nreturn jQuery;\n}));\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./packages/@okta/courage-dist/jquery.js\n// module id = 120\n// module chunks = 0","/*!\n * Copyright (c) 2015-2016, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n\ndefine([\n 'jquery',\n 'underscore',\n 'handlebars',\n 'q',\n 'nls/login.json',\n 'nls/country.json',\n 'util/Logger',\n 'config/config.json',\n 'util/BrowserFeatures'\n], function ($, _, Handlebars, Q, login, country, Logger, config, BrowserFeatures) {\n\n var STORAGE_KEY = 'osw.languages';\n\n var bundlePathTpl = Handlebars.compile('/labels/jsonp/{{bundle}}_{{languageCode}}.jsonp');\n\n /**\n * Converts options to our internal format, which distinguishes between\n * login and country bundles.\n *\n * Example options.i18n passed in by the developer:\n * {\n * 'en': {\n * 'needhelp': 'need help override',\n * 'primaryauth.title': 'new sign in text',\n * 'country.JP' = 'Japan, Japan'\n * }\n * }\n *\n * Parsed:\n * {\n * 'en': {\n * 'login': {\n * 'needhelp': 'need help override',\n * 'primaryauth.title': 'new sign in text',\n * },\n * 'country': {\n * 'JP': 'Japan, Japan'\n * }\n * }\n * }\n */\n function parseOverrides (i18n) {\n if (!i18n) {\n return {};\n }\n\n var i18nWithLowerCaseKeys = {};\n\n _.each(_.keys(i18n), function (key) {\n i18nWithLowerCaseKeys[key.toLowerCase()] = i18n[key];\n });\n\n return _.mapObject(i18nWithLowerCaseKeys, function (props) {\n var mapped = { login: {}, country: {} };\n if (!_.isObject(props)) {\n throw new Error('Invalid format for \"i18n\"');\n }\n _.each(props, function (val, key) {\n var split = key.split(/^country\\./);\n if (split.length > 1) {\n mapped.country[split[1]] = val;\n }\n else {\n mapped.login[split[0]] = val;\n }\n });\n return mapped;\n });\n }\n\n // Caching: We only bundle English by default in the Sign-In Widget. Other\n // languages are loaded on demand and cached in localStorage. These languages\n // are tied to the version of the widget - when it bumps, we reset the cache.\n\n function getCachedLanguages () {\n var storage = JSON.parse(localStorage.getItem(STORAGE_KEY));\n if (!storage || storage.version !== config.version) {\n storage = {\n version: config.version\n };\n }\n return storage;\n }\n\n function addLanguageToCache (language, loginJson, countryJson) {\n var current = getCachedLanguages();\n current[language] = {\n login: loginJson,\n country: countryJson\n };\n localStorage.setItem(STORAGE_KEY, JSON.stringify(current));\n }\n\n // We use jsonp to get around any CORS issues if the developer is using\n // the hosted version of the widget - by default, the assets.bundleUrl is\n // tied to the Okta CDN.\n //\n // There are two overrides available for modifying where we load the asset\n // bundles from:\n //\n // 1. assets.baseUrl\n //\n // This is the base path the OSW pulls assets from, which in this case is\n // the Okta CDN. Override this config option if you want to host the\n // files on your own domain, or if you're using a new version of the\n // widget whose language files haven't been published to the CDN yet.\n //\n // 2. assets.rewrite\n //\n // This is a function that can be used to modify the path + fileName of\n // the bundle we're loading, relative to the baseUrl. When called, it\n // will pass the current path, and expect the new path to be returned.\n // This is useful, for example, if your build process has an extra\n // cachebusting step, i.e:\n //\n // function rewrite(file) {\n // // file: /labels/jsonp/login_ja.jsonp\n // return file.replace('.jsonp', '.' + md5file(file) + '.jsonp');\n // }\n //\n // Note: Most developers will not need to use these overrides - the default\n // is to use the Okta CDN and to use the same path + file structure the\n // widget module publishes by default.\n function fetchJsonp (bundle, language, assets) {\n var languageCode, path;\n\n // Our bundles use _ to separate country and region, i.e:\n // zh-CN -> zh_CN\n languageCode = language.replace('-', '_');\n\n path = assets.rewrite(bundlePathTpl({\n bundle: bundle,\n languageCode: languageCode\n }));\n\n return $.ajax({\n url: assets.baseUrl + path,\n dataType: 'jsonp',\n cache: true,\n // jQuery jsonp doesn't handle errors, so set a long timeout as a\n // fallback option\n timeout: 5000,\n jsonpCallback: 'jsonp_' + bundle\n });\n }\n\n function getBundles (language, assets) {\n // Two special cases:\n // 1. English is already bundled with the widget\n // 2. If the language is not in our config file, it means that they've\n // probably defined it on their own.\n if (language === 'en' || !_.contains(config.supportedLanguages, language)) {\n return Q({});\n }\n\n //local storage does not work correctly with android web views (embeded browers)\n //so skip the caching and just make the request to get the local info\n var localStorageIsSupported = !BrowserFeatures.localStorageIsNotSupported();\n if (localStorageIsSupported) {\n var cached = getCachedLanguages();\n if (cached[language]) {\n return Q(cached[language]);\n }\n }\n\n return Q.all([\n fetchJsonp('login', language, assets),\n fetchJsonp('country', language, assets)\n ])\n .spread(function (loginJson, countryJson) {\n if (localStorageIsSupported) {\n addLanguageToCache(language, loginJson, countryJson);\n }\n return { login: loginJson, country: countryJson };\n })\n .fail(function () {\n // If there is an error, this will default to the bundled language and\n // we will no longer try to load the language this session.\n Logger.warn('Unable to load language: ' + language);\n return {};\n });\n }\n\n return {\n login: login,\n country: country,\n // Courage components within the sign in widget point to courage bundle to look\n // up i18nkeys. Since we dont have courage.properties inside the sign in widget\n // we are pointing courage bundle to login.\n courage: login,\n\n currentLanguage: null,\n\n isLoaded: function (language) {\n return this.currentLanguage === language;\n },\n\n remove: function () {\n this.currentLanguage = null;\n },\n\n loadLanguage: function (language, overrides, assets) {\n var parsedOverrides = parseOverrides(overrides);\n var lowerCaseLanguage = language.toLowerCase();\n return getBundles(language, assets)\n .then(_.bind(function (bundles) {\n // Always extend from the built in defaults in the event that some\n // properties are not translated\n this.login = _.extend({}, login, bundles.login);\n this.country = _.extend({}, country, bundles.country);\n this.courage = _.extend({}, login, bundles.login);\n if (parsedOverrides[lowerCaseLanguage]) {\n _.extend(this.login, parsedOverrides[lowerCaseLanguage]['login']);\n _.extend(this.country, parsedOverrides[lowerCaseLanguage]['country']);\n _.extend(this.courage, parsedOverrides[lowerCaseLanguage]['login']);\n }\n this.currentLanguage = language;\n }, this));\n }\n\n };\n\n});\n\n\n\n// WEBPACK FOOTER //\n// ./src/util/Bundles.js","/*!\n * Copyright (c) 2015-2016, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n/* eslint complexity: [2, 13] */\ndefine([\n 'okta',\n 'q',\n 'util/FactorUtil',\n 'util/Util',\n 'util/Errors',\n './BaseLoginModel'\n],\nfunction (Okta, Q, factorUtil, Util, Errors, BaseLoginModel) {\n var _ = Okta._;\n\n // Avoid setting interval to same value as keep-alive time (5 seconds) because it\n // caused an occasional issue with network connection lost errors in Safari and IE\n var PUSH_INTERVAL = 4000;\n\n var Factor = BaseLoginModel.extend({\n extraProperties: true,\n flat: false,\n\n props: {\n id: 'string',\n factorType: {\n type: 'string',\n values: [\n 'sms',\n 'call',\n 'email',\n 'token',\n 'token:software:totp',\n 'token:hotp',\n 'token:hardware',\n 'question',\n 'push',\n 'u2f',\n 'password',\n 'assertion:saml2',\n 'assertion:oidc',\n 'claims_provider',\n 'webauthn'\n ]\n },\n provider: {\n type: 'string',\n values: [\n 'OKTA',\n 'RSA',\n 'DEL_OATH',\n 'SYMANTEC',\n 'GOOGLE',\n 'YUBICO',\n 'FIDO',\n 'CUSTOM',\n 'GENERIC_SAML',\n 'GENERIC_OIDC'\n ]\n },\n enrollment: {\n type: 'string',\n values: [\n 'OPTIONAL',\n 'REQUIRED'\n ]\n },\n status: {\n type: 'string',\n values: [\n 'NOT_SETUP',\n 'ACTIVE'\n ]\n },\n profile: ['object'],\n vendorName: 'string',\n policy: ['object'],\n profiles: ['object']\n },\n\n local: {\n 'answer': 'string',\n 'password': 'string',\n 'backupFactor': 'object',\n 'showAnswer': 'boolean',\n 'rememberDevice': 'boolean',\n 'autoPush': ['boolean', true, false]\n },\n\n derived: {\n isOktaFactor: {\n deps: ['provider'],\n fn: function (provider) {\n return provider === 'OKTA';\n }\n },\n factorName: {\n deps: ['provider', 'factorType'],\n fn: factorUtil.getFactorName\n },\n factorLabel: {\n deps: ['provider', 'factorType', 'vendorName'],\n fn: function (provider, factorType, vendorName) {\n if (_.contains(['DEL_OATH', 'GENERIC_SAML', 'GENERIC_OIDC', 'CUSTOM'], provider)) {\n return vendorName;\n }\n return factorUtil.getFactorLabel.apply(this, [provider, factorType]);\n }\n },\n factorDescription: {\n deps: ['provider', 'factorType'],\n fn: factorUtil.getFactorDescription\n },\n sortOrder: {\n deps: ['provider', 'factorType'],\n fn: factorUtil.getFactorSortOrder\n },\n iconClassName: {\n deps: ['provider', 'factorType'],\n fn: factorUtil.getFactorIconClassName\n },\n securityQuestion: {\n deps: ['profile', 'factorType'],\n fn: function (profile, factorType) {\n if (factorType !== 'question') {\n return null;\n }\n return profile && factorUtil.getSecurityQuestionLabel(profile);\n }\n },\n phoneNumber: {\n deps: ['profile', 'factorType'],\n fn: function (profile, factorType) {\n if (_.contains(['sms', 'call'], factorType)) {\n return profile && profile.phoneNumber;\n }\n return null;\n }\n },\n email: {\n deps: ['profile', 'factorType'],\n fn: function (profile, factorType) {\n if (factorType === 'email') {\n return profile && profile.email;\n }\n return null;\n }\n },\n deviceName: {\n deps: ['profile', 'factorType'],\n fn: function (profile, factorType) {\n if (factorType !== 'push') {\n return null;\n }\n return profile && profile.name;\n }\n },\n enrolled: {\n deps: ['status'],\n fn: function (status) {\n return status === 'ACTIVE';\n }\n },\n cardinality : {\n deps: ['policy', 'profiles'],\n fn: function (policy, profiles) {\n if (profiles && profiles.length > 0) {\n //assume for now we only get one profile (multiple profiles are not supported yet)\n var profile = profiles[0];\n var enrolled = profile._embedded.enrolledFactors.length;\n var adoption = _.findWhere(profile._embedded.features, {type: 'adoption'});\n if (adoption && adoption.cardinality) {\n return {\n enrolled: enrolled,\n minimum: adoption.cardinality.min,\n maximum: adoption.cardinality.max\n }; \n }\n return false;\n }\n else if (policy && policy.enrollment) {\n return policy.enrollment;\n }\n else {\n return false;\n }\n }\n },\n additionalEnrollment : {\n deps: ['cardinality'],\n fn: function (cardinality) {\n if (cardinality) {\n return cardinality.enrolled !== 0 && cardinality.enrolled < cardinality.maximum;\n }\n else {\n return false;\n }\n }\n },\n required: {\n deps: ['enrollment'],\n fn: function (enrollment) {\n return enrollment === 'REQUIRED';\n }\n },\n canUseResend: {\n deps: ['provider', 'factorType'],\n fn: function (provider, factorType) {\n // Only push, sms and call have resend links.\n return (provider === 'OKTA' && _.contains(['push', 'sms', 'call', 'email'], factorType));\n }\n },\n isAnswerRequired: {\n deps: ['factorType'],\n fn: function (factorType) {\n return _.contains(['sms', 'call', 'email', 'token', 'token:software:totp', 'question'], factorType);\n }\n },\n isFactorTypeVerification: {\n deps: ['provider', 'id'],\n fn: function (provider, id) {\n return provider === undefined && id === undefined;\n }\n }\n },\n\n parse: function (attributes) {\n this.settings = attributes.settings;\n this.appState = attributes.appState;\n // set the initial value for remember device.\n attributes.rememberDevice = factorUtil.getRememberDeviceValue(this.appState);\n\n // Add vendorname for custom totp enroll\n this.setCustomHotpVendorName(attributes);\n return _.omit(attributes, ['settings', 'appState']);\n },\n\n validate: function () {\n if (this.get('isAnswerRequired') && !this.get('answer')) {\n return {'answer': Okta.loc('model.validation.field.blank')};\n }\n else if(this.get('factorType') === 'password' && !this.get('password')) {\n return {'password': Okta.loc('error.password.required')};\n }\n },\n needsPasscode: function () {\n // we don't need passcode for email with magic link flow\n return !(this.options.appState.get('isIdxStateToken') && this.get('factorType') === 'email');\n },\n resend: function () {\n this.trigger('form:clear-errors');\n return this.manageTransaction(function (transaction) {\n var firstLink = transaction.data._links.resend[0];\n return transaction.resend(firstLink.name);\n });\n },\n\n save: function () {\n var rememberDevice = !!this.get('rememberDevice');\n // Set/Remove the remember device cookie based on the remember device input.\n var self = this;\n\n return this.manageTransaction(function (transaction, setTransaction) {\n var data = {\n rememberDevice: rememberDevice\n };\n if (this.get('factorType') === 'question') {\n data.answer = this.get('answer');\n }\n else if (this.get('factorType') === 'password') {\n data.password = this.get('password');\n }\n else if (this.needsPasscode()){\n data.passCode = this.get('answer');\n }\n\n if (this.pushFactorHasAutoPush()) {\n data.autoPush = this.get('autoPush');\n }\n\n var promise;\n // MFA_REQUIRED, FACTOR_REQUIRED or UNAUTHENTICATED with factors (passwordlessAuth)\n if (transaction.status === 'MFA_REQUIRED' ||\n transaction.status === 'FACTOR_REQUIRED' ||\n this.appState.get('promptForFactorInUnauthenticated')) {\n var factor = this._findFactor(transaction);\n promise = factor.verify(data);\n }\n\n // MFA_CHALLENGE/ FACTOR_CHALLENGE\n else if (this.get('canUseResend') && !this.get('answer') && transaction.resend) {\n var firstLink = transaction.data._links.resend[0];\n promise = transaction.resend(firstLink.name);\n } else {\n promise = transaction.verify(data);\n }\n //the 'save' event here is triggered and used in the BaseLoginController\n //to disable the primary button on the factor form\n this.trigger('save');\n\n return promise\n .then(function (trans) {\n var options = {\n 'delay': PUSH_INTERVAL,\n 'transactionCallBack': (transaction) => {\n self.options.appState.set('lastAuthResponse', transaction);\n },\n };\n setTransaction(trans);\n // In Okta verify case we initiate poll.\n if ((trans.status === 'MFA_CHALLENGE' && trans.poll) ||\n (trans.status === 'FACTOR_CHALLENGE' && trans.poll)) {\n const deferred = Q.defer();\n const initiatePollTimout = Util.callAfterTimeout(deferred.resolve, PUSH_INTERVAL);\n self.listenToOnce(self.options.appState, 'factorSwitched', () => {\n clearTimeout(initiatePollTimout);\n deferred.reject(new Errors.AuthStopPollInitiationError());\n });\n return deferred.promise.then(function () {\n // Stop listening if factor was not switched before poll.\n self.stopListening(self.options.appState, 'factorSwitched');\n if (self.pushFactorHasAutoPush()) {\n options.autoPush = function () {\n return self.get('autoPush');\n };\n options.rememberDevice = function () {\n return self.get('rememberDevice');\n };\n }\n return trans.poll(options).then(function (trans) {\n self.options.appState.set('lastAuthResponse', trans.data);\n setTransaction(trans);\n });\n });\n }\n });\n });\n },\n\n _findFactor: function (transaction) {\n var factor;\n if (transaction.factorTypes) {\n factor = _.findWhere(transaction.factorTypes, {\n factorType: this.get('factorType')\n });\n }\n if (!factor) {\n factor = _.findWhere(transaction.factors, {\n id: this.get('id')\n });\n }\n return factor;\n },\n\n pushFactorHasAutoPush: function () {\n return this.settings.get('features.autoPush') && this.get('factorType') === 'push';\n },\n\n setCustomHotpVendorName: function (attributes) {\n // If factor is token:hotp and not enrolled, we assume the first profile is the default.\n // If factor is enrolled, we only support one profile to be enrolled, so find that one\n // and display as enrolled profile. We do this by populating profile name in vendorName.\n if (attributes.factorType === 'token:hotp' && attributes.profiles) {\n if (attributes.status === 'NOT_SETUP') {\n attributes.vendorName = attributes.profiles[0].name;\n } else if (attributes.status === 'ACTIVE'){\n const enrolledProfiles = attributes.profiles.filter((profile) => {\n return profile._embedded.enrolledFactors.length > 0;\n });\n attributes.vendorName = enrolledProfiles[0].name;\n }\n }\n return attributes;\n }\n });\n\n var Factors = Okta.Collection.extend({\n\n model: Factor,\n comparator: 'sortOrder',\n\n // One override necessary here - When Okta Verify OTP and Push are in the list,\n // they are presented in the view as one factor - in the beacon menu,\n // there's only one option (Okta Verify), and we show a form with Push\n // with an inline totp option. What we need to do is to add totp\n // as a \"backupFactor\" for push\n parse: function (factors) {\n // Keep a track of the last used factor, since\n // we need it to determine the default factor.\n this.lastUsedFactor = factors[0];\n\n var oktaPushFactor = _.findWhere(factors, { provider: 'OKTA', factorType: 'push' });\n var totpFactor;\n if (_.where(factors, { factorType: 'push' }).length > 1) {\n totpFactor = _.findWhere(factors, { factorType: 'token:software:totp' });\n } else {\n totpFactor = _.findWhere(factors, { provider: 'OKTA', factorType: 'token:software:totp' });\n }\n if (!oktaPushFactor || !totpFactor) {\n return factors;\n }\n\n var isTotpFirst = (totpFactor === factors[0]);\n\n var parsedFactors = _.reduce(factors, function (memo, factor) {\n var isOkta = factor.provider === 'OKTA';\n var isOktaTotp = isOkta && factor.factorType === 'token:software:totp';\n var isOktaPush = isOkta && factor.factorType === 'push';\n var notEnrolled = factor.status !== 'ACTIVE';\n\n var hideOktaTotp = isOktaTotp && (notEnrolled || oktaPushFactor.status === 'ACTIVE');\n var hideOktaPush = isOktaPush && notEnrolled && totpFactor.status === 'ACTIVE';\n\n if (hideOktaTotp || hideOktaPush) {\n return memo;\n }\n\n if (isOktaPush) {\n factor.backupFactor = new Factor(totpFactor, { parse: true });\n }\n memo.push(factor);\n return memo;\n }, []);\n\n // Use push factor instead of TOTP, if TOTP is first in the list\n // (since it is stored as backupFactor for push).\n if (isTotpFirst) {\n this.lastUsedFactor = oktaPushFactor;\n }\n\n return parsedFactors;\n },\n\n // Will need to update this to use HAL link to get last used factor:\n // https://oktainc.atlassian.net/browse/OKTA-58380\n // However, current code returns last used factor as first factor in list.\n // Also, will need to add priority - i.e. if they do not have a last used\n // factor, should try Okta Verify, then Okta SMS, etc.\n getDefaultFactor: function () {\n var factor = _.pick(this.lastUsedFactor, 'factorType', 'provider');\n return this.findWhere(factor);\n },\n\n getFirstUnenrolledRequiredFactor: function () {\n return this.findWhere({ required: true, enrolled: false });\n },\n\n _getFactorsOfType: function (factorType) {\n return this.where({ factorType: factorType });\n },\n\n getFactorIndex: function (factorType, factorId) {\n return this._getFactorsOfType(factorType).findIndex(function (factor) {\n return factor.get('id') === factorId;\n });\n },\n\n hasMultipleFactorsOfSameType: function (factorType) {\n return this._getFactorsOfType(factorType).length > 1;\n },\n\n getFactorByTypeAndIndex: function (factorType, factorIndex) {\n return this._getFactorsOfType(factorType)[factorIndex];\n }\n\n });\n\n return {\n Model: Factor,\n Collection: Factors\n };\n\n});\n\n\n\n// WEBPACK FOOTER //\n// ./src/models/Factor.js","/*!\n * Copyright (c) 2015-2016, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n\n/* eslint max-statements: [2, 15] */\n\ndefine(['q', './Enums'], function (Q, Enums) {\n\n var SWAP_PAGE_TIME = 200;\n\n var fn = {};\n\n function zoom ($el, start, finish) {\n var deferred = Q.defer();\n $el.animate({\n 'text-indent': 1\n }, {\n duration: 200,\n easing: 'swing',\n step: function (now, fx) {\n fx.start = start;\n fx.end = finish;\n $el.css('transform', 'scale(' + now + ', ' + now + ')');\n },\n always: function () {\n deferred.resolve($el);\n }\n });\n return deferred.promise;\n }\n\n function rotate ($el, start, finish) {\n var deferred = Q.defer();\n $el.animate({\n 'text-indent': 1\n }, {\n duration: 150,\n easing: 'swing',\n step: function (now, fx) {\n fx.start = start;\n fx.end = finish;\n $el.css('transform', 'rotate(' + now + 'deg)');\n },\n always: function () {\n deferred.resolve($el);\n }\n });\n return deferred.promise;\n }\n\n // Note: It is necessary to pass in a success callback because we must\n // remove the old dom node (and controller) in the same tick of the event\n // loop. Waiting for \"then\" results in a glitchy animation.\n fn.swapPages = function (options) {\n var deferred = Q.defer();\n var $parent = options.$parent;\n var $oldRoot = options.$oldRoot;\n var $newRoot = options.$newRoot;\n var success = options.success;\n var ctx = options.ctx;\n var directionClassName = 'transition-from-right';\n\n if (options.dir && options.dir === Enums.DIRECTION_BACK) {\n directionClassName = 'transition-from-left';\n }\n\n $newRoot.addClass(directionClassName);\n $parent.append($newRoot);\n\n $parent.addClass('animation-container-overflow');\n $newRoot.animate(\n { left: '0px', top: '0px', opacity: 1 },\n SWAP_PAGE_TIME,\n function () {\n $parent.removeClass('animation-container-overflow');\n $newRoot.removeClass(directionClassName);\n $newRoot.removeAttr('style');\n success.call(ctx);\n deferred.resolve();\n }\n );\n\n $oldRoot.animate(\n { height: $newRoot.height(), opacity: 0 },\n SWAP_PAGE_TIME * 0.8\n );\n\n return deferred.promise;\n };\n\n fn.swapBeacons = function (options) {\n var $el = options.$el,\n swap = options.swap,\n ctx = options.ctx;\n\n return this.implode($el)\n .then(function () {\n swap.call(ctx);\n return $el;\n })\n .then(this.explode);\n };\n\n fn.explode = function ($el) {\n return zoom($el, 0, 1); //zoom in\n };\n\n fn.implode = function ($el) {\n return zoom($el, 1, 0); //zoom out\n };\n\n fn.radialProgressBar = function (options) {\n var radialProgressBar = options.$el,\n swap = options.swap,\n circles = radialProgressBar.children();\n\n return rotate(circles, 0, 180)\n .then(function () {\n radialProgressBar.css({'clip': 'auto'});\n })\n .then(function () {\n var leftHalf = circles.eq(0);\n swap();\n return rotate(leftHalf, 180, 360);\n })\n .then(function () {\n //reset values to initial state\n radialProgressBar.css({'clip': 'rect(0px, 96px, 96px, 48px)'});\n circles.css({\n 'transform': 'rotate(0deg)',\n 'text-indent': '1px'\n });\n });\n };\n\n return fn;\n\n});\n\n\n\n// WEBPACK FOOTER //\n// ./src/util/Animations.js","var isObject = require('./_is-object');\nvar document = require('./_global').document;\n// typeof document.createElement is 'object' in old IE\nvar is = isObject(document) && isObject(document.createElement);\nmodule.exports = function (it) {\n return is ? document.createElement(it) : {};\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/_dom-create.js\n// module id = 124\n// module chunks = 0","var global = require('./_global');\nvar core = require('./_core');\nvar LIBRARY = require('./_library');\nvar wksExt = require('./_wks-ext');\nvar defineProperty = require('./_object-dp').f;\nmodule.exports = function (name) {\n var $Symbol = core.Symbol || (core.Symbol = LIBRARY ? {} : global.Symbol || {});\n if (name.charAt(0) != '_' && !(name in $Symbol)) defineProperty($Symbol, name, { value: wksExt.f(name) });\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/_wks-define.js\n// module id = 125\n// module chunks = 0","var shared = require('./_shared')('keys');\nvar uid = require('./_uid');\nmodule.exports = function (key) {\n return shared[key] || (shared[key] = uid(key));\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/_shared-key.js\n// module id = 126\n// module chunks = 0","// IE 8- don't enum bug keys\nmodule.exports = (\n 'constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf'\n).split(',');\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/_enum-bug-keys.js\n// module id = 127\n// module chunks = 0","var document = require('./_global').document;\nmodule.exports = document && document.documentElement;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/_html.js\n// module id = 128\n// module chunks = 0","// Works with __proto__ only. Old v8 can't work with null proto objects.\n/* eslint-disable no-proto */\nvar isObject = require('./_is-object');\nvar anObject = require('./_an-object');\nvar check = function (O, proto) {\n anObject(O);\n if (!isObject(proto) && proto !== null) throw TypeError(proto + \": can't set as prototype!\");\n};\nmodule.exports = {\n set: Object.setPrototypeOf || ('__proto__' in {} ? // eslint-disable-line\n function (test, buggy, set) {\n try {\n set = require('./_ctx')(Function.call, require('./_object-gopd').f(Object.prototype, '__proto__').set, 2);\n set(test, []);\n buggy = !(test instanceof Array);\n } catch (e) { buggy = true; }\n return function setPrototypeOf(O, proto) {\n check(O, proto);\n if (buggy) O.__proto__ = proto;\n else set(O, proto);\n return O;\n };\n }({}, false) : undefined),\n check: check\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/_set-proto.js\n// module id = 129\n// module chunks = 0","module.exports = '\\x09\\x0A\\x0B\\x0C\\x0D\\x20\\xA0\\u1680\\u180E\\u2000\\u2001\\u2002\\u2003' +\n '\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200A\\u202F\\u205F\\u3000\\u2028\\u2029\\uFEFF';\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/_string-ws.js\n// module id = 130\n// module chunks = 0","var isObject = require('./_is-object');\nvar setPrototypeOf = require('./_set-proto').set;\nmodule.exports = function (that, target, C) {\n var S = target.constructor;\n var P;\n if (S !== C && typeof S == 'function' && (P = S.prototype) !== C.prototype && isObject(P) && setPrototypeOf) {\n setPrototypeOf(that, P);\n } return that;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/_inherit-if-required.js\n// module id = 131\n// module chunks = 0","'use strict';\nvar toInteger = require('./_to-integer');\nvar defined = require('./_defined');\n\nmodule.exports = function repeat(count) {\n var str = String(defined(this));\n var res = '';\n var n = toInteger(count);\n if (n < 0 || n == Infinity) throw RangeError(\"Count can't be negative\");\n for (;n > 0; (n >>>= 1) && (str += str)) if (n & 1) res += str;\n return res;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/_string-repeat.js\n// module id = 132\n// module chunks = 0","// 20.2.2.28 Math.sign(x)\nmodule.exports = Math.sign || function sign(x) {\n // eslint-disable-next-line no-self-compare\n return (x = +x) == 0 || x != x ? x : x < 0 ? -1 : 1;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/_math-sign.js\n// module id = 133\n// module chunks = 0","// 20.2.2.14 Math.expm1(x)\nvar $expm1 = Math.expm1;\nmodule.exports = (!$expm1\n // Old FF bug\n || $expm1(10) > 22025.465794806719 || $expm1(10) < 22025.4657948067165168\n // Tor Browser bug\n || $expm1(-2e-17) != -2e-17\n) ? function expm1(x) {\n return (x = +x) == 0 ? x : x > -1e-6 && x < 1e-6 ? x + x * x / 2 : Math.exp(x) - 1;\n} : $expm1;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/_math-expm1.js\n// module id = 134\n// module chunks = 0","'use strict';\nvar LIBRARY = require('./_library');\nvar $export = require('./_export');\nvar redefine = require('./_redefine');\nvar hide = require('./_hide');\nvar Iterators = require('./_iterators');\nvar $iterCreate = require('./_iter-create');\nvar setToStringTag = require('./_set-to-string-tag');\nvar getPrototypeOf = require('./_object-gpo');\nvar ITERATOR = require('./_wks')('iterator');\nvar BUGGY = !([].keys && 'next' in [].keys()); // Safari has buggy iterators w/o `next`\nvar FF_ITERATOR = '@@iterator';\nvar KEYS = 'keys';\nvar VALUES = 'values';\n\nvar returnThis = function () { return this; };\n\nmodule.exports = function (Base, NAME, Constructor, next, DEFAULT, IS_SET, FORCED) {\n $iterCreate(Constructor, NAME, next);\n var getMethod = function (kind) {\n if (!BUGGY && kind in proto) return proto[kind];\n switch (kind) {\n case KEYS: return function keys() { return new Constructor(this, kind); };\n case VALUES: return function values() { return new Constructor(this, kind); };\n } return function entries() { return new Constructor(this, kind); };\n };\n var TAG = NAME + ' Iterator';\n var DEF_VALUES = DEFAULT == VALUES;\n var VALUES_BUG = false;\n var proto = Base.prototype;\n var $native = proto[ITERATOR] || proto[FF_ITERATOR] || DEFAULT && proto[DEFAULT];\n var $default = $native || getMethod(DEFAULT);\n var $entries = DEFAULT ? !DEF_VALUES ? $default : getMethod('entries') : undefined;\n var $anyNative = NAME == 'Array' ? proto.entries || $native : $native;\n var methods, key, IteratorPrototype;\n // Fix native\n if ($anyNative) {\n IteratorPrototype = getPrototypeOf($anyNative.call(new Base()));\n if (IteratorPrototype !== Object.prototype && IteratorPrototype.next) {\n // Set @@toStringTag to native iterators\n setToStringTag(IteratorPrototype, TAG, true);\n // fix for some old engines\n if (!LIBRARY && typeof IteratorPrototype[ITERATOR] != 'function') hide(IteratorPrototype, ITERATOR, returnThis);\n }\n }\n // fix Array#{values, @@iterator}.name in V8 / FF\n if (DEF_VALUES && $native && $native.name !== VALUES) {\n VALUES_BUG = true;\n $default = function values() { return $native.call(this); };\n }\n // Define iterator\n if ((!LIBRARY || FORCED) && (BUGGY || VALUES_BUG || !proto[ITERATOR])) {\n hide(proto, ITERATOR, $default);\n }\n // Plug for library\n Iterators[NAME] = $default;\n Iterators[TAG] = returnThis;\n if (DEFAULT) {\n methods = {\n values: DEF_VALUES ? $default : getMethod(VALUES),\n keys: IS_SET ? $default : getMethod(KEYS),\n entries: $entries\n };\n if (FORCED) for (key in methods) {\n if (!(key in proto)) redefine(proto, key, methods[key]);\n } else $export($export.P + $export.F * (BUGGY || VALUES_BUG), NAME, methods);\n }\n return methods;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/_iter-define.js\n// module id = 135\n// module chunks = 0","'use strict';\nvar create = require('./_object-create');\nvar descriptor = require('./_property-desc');\nvar setToStringTag = require('./_set-to-string-tag');\nvar IteratorPrototype = {};\n\n// 25.1.2.1.1 %IteratorPrototype%[@@iterator]()\nrequire('./_hide')(IteratorPrototype, require('./_wks')('iterator'), function () { return this; });\n\nmodule.exports = function (Constructor, NAME, next) {\n Constructor.prototype = create(IteratorPrototype, { next: descriptor(1, next) });\n setToStringTag(Constructor, NAME + ' Iterator');\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/_iter-create.js\n// module id = 136\n// module chunks = 0","// helper for String#{startsWith, endsWith, includes}\nvar isRegExp = require('./_is-regexp');\nvar defined = require('./_defined');\n\nmodule.exports = function (that, searchString, NAME) {\n if (isRegExp(searchString)) throw TypeError('String#' + NAME + \" doesn't accept regex!\");\n return String(defined(that));\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/_string-context.js\n// module id = 137\n// module chunks = 0","var MATCH = require('./_wks')('match');\nmodule.exports = function (KEY) {\n var re = /./;\n try {\n '/./'[KEY](re);\n } catch (e) {\n try {\n re[MATCH] = false;\n return !'/./'[KEY](re);\n } catch (f) { /* empty */ }\n } return true;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/_fails-is-regexp.js\n// module id = 138\n// module chunks = 0","// check on default Array iterator\nvar Iterators = require('./_iterators');\nvar ITERATOR = require('./_wks')('iterator');\nvar ArrayProto = Array.prototype;\n\nmodule.exports = function (it) {\n return it !== undefined && (Iterators.Array === it || ArrayProto[ITERATOR] === it);\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/_is-array-iter.js\n// module id = 139\n// module chunks = 0","'use strict';\nvar $defineProperty = require('./_object-dp');\nvar createDesc = require('./_property-desc');\n\nmodule.exports = function (object, index, value) {\n if (index in object) $defineProperty.f(object, index, createDesc(0, value));\n else object[index] = value;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/_create-property.js\n// module id = 140\n// module chunks = 0","var classof = require('./_classof');\nvar ITERATOR = require('./_wks')('iterator');\nvar Iterators = require('./_iterators');\nmodule.exports = require('./_core').getIteratorMethod = function (it) {\n if (it != undefined) return it[ITERATOR]\n || it['@@iterator']\n || Iterators[classof(it)];\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/core.get-iterator-method.js\n// module id = 141\n// module chunks = 0","// 9.4.2.3 ArraySpeciesCreate(originalArray, length)\nvar speciesConstructor = require('./_array-species-constructor');\n\nmodule.exports = function (original, length) {\n return new (speciesConstructor(original))(length);\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/_array-species-create.js\n// module id = 142\n// module chunks = 0","// 22.1.3.6 Array.prototype.fill(value, start = 0, end = this.length)\n'use strict';\nvar toObject = require('./_to-object');\nvar toAbsoluteIndex = require('./_to-absolute-index');\nvar toLength = require('./_to-length');\nmodule.exports = function fill(value /* , start = 0, end = @length */) {\n var O = toObject(this);\n var length = toLength(O.length);\n var aLen = arguments.length;\n var index = toAbsoluteIndex(aLen > 1 ? arguments[1] : undefined, length);\n var end = aLen > 2 ? arguments[2] : undefined;\n var endPos = end === undefined ? length : toAbsoluteIndex(end, length);\n while (endPos > index) O[index++] = value;\n return O;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/_array-fill.js\n// module id = 143\n// module chunks = 0","'use strict';\nvar addToUnscopables = require('./_add-to-unscopables');\nvar step = require('./_iter-step');\nvar Iterators = require('./_iterators');\nvar toIObject = require('./_to-iobject');\n\n// 22.1.3.4 Array.prototype.entries()\n// 22.1.3.13 Array.prototype.keys()\n// 22.1.3.29 Array.prototype.values()\n// 22.1.3.30 Array.prototype[@@iterator]()\nmodule.exports = require('./_iter-define')(Array, 'Array', function (iterated, kind) {\n this._t = toIObject(iterated); // target\n this._i = 0; // next index\n this._k = kind; // kind\n// 22.1.5.2.1 %ArrayIteratorPrototype%.next()\n}, function () {\n var O = this._t;\n var kind = this._k;\n var index = this._i++;\n if (!O || index >= O.length) {\n this._t = undefined;\n return step(1);\n }\n if (kind == 'keys') return step(0, index);\n if (kind == 'values') return step(0, O[index]);\n return step(0, [index, O[index]]);\n}, 'values');\n\n// argumentsList[@@iterator] is %ArrayProto_values% (9.4.4.6, 9.4.4.7)\nIterators.Arguments = Iterators.Array;\n\naddToUnscopables('keys');\naddToUnscopables('values');\naddToUnscopables('entries');\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/es6.array.iterator.js\n// module id = 144\n// module chunks = 0","'use strict';\n\nvar regexpFlags = require('./_flags');\n\nvar nativeExec = RegExp.prototype.exec;\n// This always refers to the native implementation, because the\n// String#replace polyfill uses ./fix-regexp-well-known-symbol-logic.js,\n// which loads this file before patching the method.\nvar nativeReplace = String.prototype.replace;\n\nvar patchedExec = nativeExec;\n\nvar LAST_INDEX = 'lastIndex';\n\nvar UPDATES_LAST_INDEX_WRONG = (function () {\n var re1 = /a/,\n re2 = /b*/g;\n nativeExec.call(re1, 'a');\n nativeExec.call(re2, 'a');\n return re1[LAST_INDEX] !== 0 || re2[LAST_INDEX] !== 0;\n})();\n\n// nonparticipating capturing group, copied from es5-shim's String#split patch.\nvar NPCG_INCLUDED = /()??/.exec('')[1] !== undefined;\n\nvar PATCH = UPDATES_LAST_INDEX_WRONG || NPCG_INCLUDED;\n\nif (PATCH) {\n patchedExec = function exec(str) {\n var re = this;\n var lastIndex, reCopy, match, i;\n\n if (NPCG_INCLUDED) {\n reCopy = new RegExp('^' + re.source + '$(?!\\\\s)', regexpFlags.call(re));\n }\n if (UPDATES_LAST_INDEX_WRONG) lastIndex = re[LAST_INDEX];\n\n match = nativeExec.call(re, str);\n\n if (UPDATES_LAST_INDEX_WRONG && match) {\n re[LAST_INDEX] = re.global ? match.index + match[0].length : lastIndex;\n }\n if (NPCG_INCLUDED && match && match.length > 1) {\n // Fix browsers whose `exec` methods don't consistently return `undefined`\n // for NPCG, like IE8. NOTE: This doesn' work for /(.?)?/\n // eslint-disable-next-line no-loop-func\n nativeReplace.call(match[0], reCopy, function () {\n for (i = 1; i < arguments.length - 2; i++) {\n if (arguments[i] === undefined) match[i] = undefined;\n }\n });\n }\n\n return match;\n };\n}\n\nmodule.exports = patchedExec;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/_regexp-exec.js\n// module id = 145\n// module chunks = 0","'use strict';\nvar at = require('./_string-at')(true);\n\n // `AdvanceStringIndex` abstract operation\n// https://tc39.github.io/ecma262/#sec-advancestringindex\nmodule.exports = function (S, index, unicode) {\n return index + (unicode ? at(S, index).length : 1);\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/_advance-string-index.js\n// module id = 146\n// module chunks = 0","var ctx = require('./_ctx');\nvar invoke = require('./_invoke');\nvar html = require('./_html');\nvar cel = require('./_dom-create');\nvar global = require('./_global');\nvar process = global.process;\nvar setTask = global.setImmediate;\nvar clearTask = global.clearImmediate;\nvar MessageChannel = global.MessageChannel;\nvar Dispatch = global.Dispatch;\nvar counter = 0;\nvar queue = {};\nvar ONREADYSTATECHANGE = 'onreadystatechange';\nvar defer, channel, port;\nvar run = function () {\n var id = +this;\n // eslint-disable-next-line no-prototype-builtins\n if (queue.hasOwnProperty(id)) {\n var fn = queue[id];\n delete queue[id];\n fn();\n }\n};\nvar listener = function (event) {\n run.call(event.data);\n};\n// Node.js 0.9+ & IE10+ has setImmediate, otherwise:\nif (!setTask || !clearTask) {\n setTask = function setImmediate(fn) {\n var args = [];\n var i = 1;\n while (arguments.length > i) args.push(arguments[i++]);\n queue[++counter] = function () {\n // eslint-disable-next-line no-new-func\n invoke(typeof fn == 'function' ? fn : Function(fn), args);\n };\n defer(counter);\n return counter;\n };\n clearTask = function clearImmediate(id) {\n delete queue[id];\n };\n // Node.js 0.8-\n if (require('./_cof')(process) == 'process') {\n defer = function (id) {\n process.nextTick(ctx(run, id, 1));\n };\n // Sphere (JS game engine) Dispatch API\n } else if (Dispatch && Dispatch.now) {\n defer = function (id) {\n Dispatch.now(ctx(run, id, 1));\n };\n // Browsers with MessageChannel, includes WebWorkers\n } else if (MessageChannel) {\n channel = new MessageChannel();\n port = channel.port2;\n channel.port1.onmessage = listener;\n defer = ctx(port.postMessage, port, 1);\n // Browsers with postMessage, skip WebWorkers\n // IE8 has postMessage, but it's sync & typeof its postMessage is 'object'\n } else if (global.addEventListener && typeof postMessage == 'function' && !global.importScripts) {\n defer = function (id) {\n global.postMessage(id + '', '*');\n };\n global.addEventListener('message', listener, false);\n // IE8-\n } else if (ONREADYSTATECHANGE in cel('script')) {\n defer = function (id) {\n html.appendChild(cel('script'))[ONREADYSTATECHANGE] = function () {\n html.removeChild(this);\n run.call(id);\n };\n };\n // Rest old browsers\n } else {\n defer = function (id) {\n setTimeout(ctx(run, id, 1), 0);\n };\n }\n}\nmodule.exports = {\n set: setTask,\n clear: clearTask\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/_task.js\n// module id = 147\n// module chunks = 0","var global = require('./_global');\nvar macrotask = require('./_task').set;\nvar Observer = global.MutationObserver || global.WebKitMutationObserver;\nvar process = global.process;\nvar Promise = global.Promise;\nvar isNode = require('./_cof')(process) == 'process';\n\nmodule.exports = function () {\n var head, last, notify;\n\n var flush = function () {\n var parent, fn;\n if (isNode && (parent = process.domain)) parent.exit();\n while (head) {\n fn = head.fn;\n head = head.next;\n try {\n fn();\n } catch (e) {\n if (head) notify();\n else last = undefined;\n throw e;\n }\n } last = undefined;\n if (parent) parent.enter();\n };\n\n // Node.js\n if (isNode) {\n notify = function () {\n process.nextTick(flush);\n };\n // browsers with MutationObserver, except iOS Safari - https://github.com/zloirock/core-js/issues/339\n } else if (Observer && !(global.navigator && global.navigator.standalone)) {\n var toggle = true;\n var node = document.createTextNode('');\n new Observer(flush).observe(node, { characterData: true }); // eslint-disable-line no-new\n notify = function () {\n node.data = toggle = !toggle;\n };\n // environments with maybe non-completely correct, but existent Promise\n } else if (Promise && Promise.resolve) {\n // Promise.resolve without an argument throws an error in LG WebOS 2\n var promise = Promise.resolve(undefined);\n notify = function () {\n promise.then(flush);\n };\n // for other environments - macrotask based on:\n // - setImmediate\n // - MessageChannel\n // - window.postMessag\n // - onreadystatechange\n // - setTimeout\n } else {\n notify = function () {\n // strange IE + webpack dev server bug - use .call(global)\n macrotask.call(global, flush);\n };\n }\n\n return function (fn) {\n var task = { fn: fn, next: undefined };\n if (last) last.next = task;\n if (!head) {\n head = task;\n notify();\n } last = task;\n };\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/_microtask.js\n// module id = 148\n// module chunks = 0","'use strict';\n// 25.4.1.5 NewPromiseCapability(C)\nvar aFunction = require('./_a-function');\n\nfunction PromiseCapability(C) {\n var resolve, reject;\n this.promise = new C(function ($$resolve, $$reject) {\n if (resolve !== undefined || reject !== undefined) throw TypeError('Bad Promise constructor');\n resolve = $$resolve;\n reject = $$reject;\n });\n this.resolve = aFunction(resolve);\n this.reject = aFunction(reject);\n}\n\nmodule.exports.f = function (C) {\n return new PromiseCapability(C);\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/_new-promise-capability.js\n// module id = 149\n// module chunks = 0","'use strict';\nvar global = require('./_global');\nvar DESCRIPTORS = require('./_descriptors');\nvar LIBRARY = require('./_library');\nvar $typed = require('./_typed');\nvar hide = require('./_hide');\nvar redefineAll = require('./_redefine-all');\nvar fails = require('./_fails');\nvar anInstance = require('./_an-instance');\nvar toInteger = require('./_to-integer');\nvar toLength = require('./_to-length');\nvar toIndex = require('./_to-index');\nvar gOPN = require('./_object-gopn').f;\nvar dP = require('./_object-dp').f;\nvar arrayFill = require('./_array-fill');\nvar setToStringTag = require('./_set-to-string-tag');\nvar ARRAY_BUFFER = 'ArrayBuffer';\nvar DATA_VIEW = 'DataView';\nvar PROTOTYPE = 'prototype';\nvar WRONG_LENGTH = 'Wrong length!';\nvar WRONG_INDEX = 'Wrong index!';\nvar $ArrayBuffer = global[ARRAY_BUFFER];\nvar $DataView = global[DATA_VIEW];\nvar Math = global.Math;\nvar RangeError = global.RangeError;\n// eslint-disable-next-line no-shadow-restricted-names\nvar Infinity = global.Infinity;\nvar BaseBuffer = $ArrayBuffer;\nvar abs = Math.abs;\nvar pow = Math.pow;\nvar floor = Math.floor;\nvar log = Math.log;\nvar LN2 = Math.LN2;\nvar BUFFER = 'buffer';\nvar BYTE_LENGTH = 'byteLength';\nvar BYTE_OFFSET = 'byteOffset';\nvar $BUFFER = DESCRIPTORS ? '_b' : BUFFER;\nvar $LENGTH = DESCRIPTORS ? '_l' : BYTE_LENGTH;\nvar $OFFSET = DESCRIPTORS ? '_o' : BYTE_OFFSET;\n\n// IEEE754 conversions based on https://github.com/feross/ieee754\nfunction packIEEE754(value, mLen, nBytes) {\n var buffer = new Array(nBytes);\n var eLen = nBytes * 8 - mLen - 1;\n var eMax = (1 << eLen) - 1;\n var eBias = eMax >> 1;\n var rt = mLen === 23 ? pow(2, -24) - pow(2, -77) : 0;\n var i = 0;\n var s = value < 0 || value === 0 && 1 / value < 0 ? 1 : 0;\n var e, m, c;\n value = abs(value);\n // eslint-disable-next-line no-self-compare\n if (value != value || value === Infinity) {\n // eslint-disable-next-line no-self-compare\n m = value != value ? 1 : 0;\n e = eMax;\n } else {\n e = floor(log(value) / LN2);\n if (value * (c = pow(2, -e)) < 1) {\n e--;\n c *= 2;\n }\n if (e + eBias >= 1) {\n value += rt / c;\n } else {\n value += rt * pow(2, 1 - eBias);\n }\n if (value * c >= 2) {\n e++;\n c /= 2;\n }\n if (e + eBias >= eMax) {\n m = 0;\n e = eMax;\n } else if (e + eBias >= 1) {\n m = (value * c - 1) * pow(2, mLen);\n e = e + eBias;\n } else {\n m = value * pow(2, eBias - 1) * pow(2, mLen);\n e = 0;\n }\n }\n for (; mLen >= 8; buffer[i++] = m & 255, m /= 256, mLen -= 8);\n e = e << mLen | m;\n eLen += mLen;\n for (; eLen > 0; buffer[i++] = e & 255, e /= 256, eLen -= 8);\n buffer[--i] |= s * 128;\n return buffer;\n}\nfunction unpackIEEE754(buffer, mLen, nBytes) {\n var eLen = nBytes * 8 - mLen - 1;\n var eMax = (1 << eLen) - 1;\n var eBias = eMax >> 1;\n var nBits = eLen - 7;\n var i = nBytes - 1;\n var s = buffer[i--];\n var e = s & 127;\n var m;\n s >>= 7;\n for (; nBits > 0; e = e * 256 + buffer[i], i--, nBits -= 8);\n m = e & (1 << -nBits) - 1;\n e >>= -nBits;\n nBits += mLen;\n for (; nBits > 0; m = m * 256 + buffer[i], i--, nBits -= 8);\n if (e === 0) {\n e = 1 - eBias;\n } else if (e === eMax) {\n return m ? NaN : s ? -Infinity : Infinity;\n } else {\n m = m + pow(2, mLen);\n e = e - eBias;\n } return (s ? -1 : 1) * m * pow(2, e - mLen);\n}\n\nfunction unpackI32(bytes) {\n return bytes[3] << 24 | bytes[2] << 16 | bytes[1] << 8 | bytes[0];\n}\nfunction packI8(it) {\n return [it & 0xff];\n}\nfunction packI16(it) {\n return [it & 0xff, it >> 8 & 0xff];\n}\nfunction packI32(it) {\n return [it & 0xff, it >> 8 & 0xff, it >> 16 & 0xff, it >> 24 & 0xff];\n}\nfunction packF64(it) {\n return packIEEE754(it, 52, 8);\n}\nfunction packF32(it) {\n return packIEEE754(it, 23, 4);\n}\n\nfunction addGetter(C, key, internal) {\n dP(C[PROTOTYPE], key, { get: function () { return this[internal]; } });\n}\n\nfunction get(view, bytes, index, isLittleEndian) {\n var numIndex = +index;\n var intIndex = toIndex(numIndex);\n if (intIndex + bytes > view[$LENGTH]) throw RangeError(WRONG_INDEX);\n var store = view[$BUFFER]._b;\n var start = intIndex + view[$OFFSET];\n var pack = store.slice(start, start + bytes);\n return isLittleEndian ? pack : pack.reverse();\n}\nfunction set(view, bytes, index, conversion, value, isLittleEndian) {\n var numIndex = +index;\n var intIndex = toIndex(numIndex);\n if (intIndex + bytes > view[$LENGTH]) throw RangeError(WRONG_INDEX);\n var store = view[$BUFFER]._b;\n var start = intIndex + view[$OFFSET];\n var pack = conversion(+value);\n for (var i = 0; i < bytes; i++) store[start + i] = pack[isLittleEndian ? i : bytes - i - 1];\n}\n\nif (!$typed.ABV) {\n $ArrayBuffer = function ArrayBuffer(length) {\n anInstance(this, $ArrayBuffer, ARRAY_BUFFER);\n var byteLength = toIndex(length);\n this._b = arrayFill.call(new Array(byteLength), 0);\n this[$LENGTH] = byteLength;\n };\n\n $DataView = function DataView(buffer, byteOffset, byteLength) {\n anInstance(this, $DataView, DATA_VIEW);\n anInstance(buffer, $ArrayBuffer, DATA_VIEW);\n var bufferLength = buffer[$LENGTH];\n var offset = toInteger(byteOffset);\n if (offset < 0 || offset > bufferLength) throw RangeError('Wrong offset!');\n byteLength = byteLength === undefined ? bufferLength - offset : toLength(byteLength);\n if (offset + byteLength > bufferLength) throw RangeError(WRONG_LENGTH);\n this[$BUFFER] = buffer;\n this[$OFFSET] = offset;\n this[$LENGTH] = byteLength;\n };\n\n if (DESCRIPTORS) {\n addGetter($ArrayBuffer, BYTE_LENGTH, '_l');\n addGetter($DataView, BUFFER, '_b');\n addGetter($DataView, BYTE_LENGTH, '_l');\n addGetter($DataView, BYTE_OFFSET, '_o');\n }\n\n redefineAll($DataView[PROTOTYPE], {\n getInt8: function getInt8(byteOffset) {\n return get(this, 1, byteOffset)[0] << 24 >> 24;\n },\n getUint8: function getUint8(byteOffset) {\n return get(this, 1, byteOffset)[0];\n },\n getInt16: function getInt16(byteOffset /* , littleEndian */) {\n var bytes = get(this, 2, byteOffset, arguments[1]);\n return (bytes[1] << 8 | bytes[0]) << 16 >> 16;\n },\n getUint16: function getUint16(byteOffset /* , littleEndian */) {\n var bytes = get(this, 2, byteOffset, arguments[1]);\n return bytes[1] << 8 | bytes[0];\n },\n getInt32: function getInt32(byteOffset /* , littleEndian */) {\n return unpackI32(get(this, 4, byteOffset, arguments[1]));\n },\n getUint32: function getUint32(byteOffset /* , littleEndian */) {\n return unpackI32(get(this, 4, byteOffset, arguments[1])) >>> 0;\n },\n getFloat32: function getFloat32(byteOffset /* , littleEndian */) {\n return unpackIEEE754(get(this, 4, byteOffset, arguments[1]), 23, 4);\n },\n getFloat64: function getFloat64(byteOffset /* , littleEndian */) {\n return unpackIEEE754(get(this, 8, byteOffset, arguments[1]), 52, 8);\n },\n setInt8: function setInt8(byteOffset, value) {\n set(this, 1, byteOffset, packI8, value);\n },\n setUint8: function setUint8(byteOffset, value) {\n set(this, 1, byteOffset, packI8, value);\n },\n setInt16: function setInt16(byteOffset, value /* , littleEndian */) {\n set(this, 2, byteOffset, packI16, value, arguments[2]);\n },\n setUint16: function setUint16(byteOffset, value /* , littleEndian */) {\n set(this, 2, byteOffset, packI16, value, arguments[2]);\n },\n setInt32: function setInt32(byteOffset, value /* , littleEndian */) {\n set(this, 4, byteOffset, packI32, value, arguments[2]);\n },\n setUint32: function setUint32(byteOffset, value /* , littleEndian */) {\n set(this, 4, byteOffset, packI32, value, arguments[2]);\n },\n setFloat32: function setFloat32(byteOffset, value /* , littleEndian */) {\n set(this, 4, byteOffset, packF32, value, arguments[2]);\n },\n setFloat64: function setFloat64(byteOffset, value /* , littleEndian */) {\n set(this, 8, byteOffset, packF64, value, arguments[2]);\n }\n });\n} else {\n if (!fails(function () {\n $ArrayBuffer(1);\n }) || !fails(function () {\n new $ArrayBuffer(-1); // eslint-disable-line no-new\n }) || fails(function () {\n new $ArrayBuffer(); // eslint-disable-line no-new\n new $ArrayBuffer(1.5); // eslint-disable-line no-new\n new $ArrayBuffer(NaN); // eslint-disable-line no-new\n return $ArrayBuffer.name != ARRAY_BUFFER;\n })) {\n $ArrayBuffer = function ArrayBuffer(length) {\n anInstance(this, $ArrayBuffer);\n return new BaseBuffer(toIndex(length));\n };\n var ArrayBufferProto = $ArrayBuffer[PROTOTYPE] = BaseBuffer[PROTOTYPE];\n for (var keys = gOPN(BaseBuffer), j = 0, key; keys.length > j;) {\n if (!((key = keys[j++]) in $ArrayBuffer)) hide($ArrayBuffer, key, BaseBuffer[key]);\n }\n if (!LIBRARY) ArrayBufferProto.constructor = $ArrayBuffer;\n }\n // iOS Safari 7.x bug\n var view = new $DataView(new $ArrayBuffer(2));\n var $setInt8 = $DataView[PROTOTYPE].setInt8;\n view.setInt8(0, 2147483648);\n view.setInt8(1, 2147483649);\n if (view.getInt8(0) || !view.getInt8(1)) redefineAll($DataView[PROTOTYPE], {\n setInt8: function setInt8(byteOffset, value) {\n $setInt8.call(this, byteOffset, value << 24 >> 24);\n },\n setUint8: function setUint8(byteOffset, value) {\n $setInt8.call(this, byteOffset, value << 24 >> 24);\n }\n }, true);\n}\nsetToStringTag($ArrayBuffer, ARRAY_BUFFER);\nsetToStringTag($DataView, DATA_VIEW);\nhide($DataView[PROTOTYPE], $typed.VIEW, true);\nexports[ARRAY_BUFFER] = $ArrayBuffer;\nexports[DATA_VIEW] = $DataView;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/_typed-buffer.js\n// module id = 150\n// module chunks = 0","// Underscore.js 1.8.3\n// http://underscorejs.org\n// (c) 2009-2015 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n// Underscore may be freely distributed under the MIT license.\n\n(function() {\n\n // Baseline setup\n // --------------\n\n // Establish the root object, `window` in the browser, or `exports` on the server.\n var root = this;\n\n // Save the previous value of the `_` variable.\n var previousUnderscore = root._;\n\n // Save bytes in the minified (but not gzipped) version:\n var ArrayProto = Array.prototype, ObjProto = Object.prototype, FuncProto = Function.prototype;\n\n // Create quick reference variables for speed access to core prototypes.\n var\n push = ArrayProto.push,\n slice = ArrayProto.slice,\n toString = ObjProto.toString,\n hasOwnProperty = ObjProto.hasOwnProperty;\n\n // All **ECMAScript 5** native function implementations that we hope to use\n // are declared here.\n var\n nativeIsArray = Array.isArray,\n nativeKeys = Object.keys,\n nativeBind = FuncProto.bind,\n nativeCreate = Object.create;\n\n // Naked function reference for surrogate-prototype-swapping.\n var Ctor = function(){};\n\n // Create a safe reference to the Underscore object for use below.\n var _ = function(obj) {\n if (obj instanceof _) return obj;\n if (!(this instanceof _)) return new _(obj);\n this._wrapped = obj;\n };\n\n // Export the Underscore object for **Node.js**, with\n // backwards-compatibility for the old `require()` API. If we're in\n // the browser, add `_` as a global object.\n if (typeof exports !== 'undefined') {\n if (typeof module !== 'undefined' && module.exports) {\n exports = module.exports = _;\n }\n exports._ = _;\n } else {\n root._ = _;\n }\n\n // Current version.\n _.VERSION = '1.8.3';\n\n // Internal function that returns an efficient (for current engines) version\n // of the passed-in callback, to be repeatedly applied in other Underscore\n // functions.\n var optimizeCb = function(func, context, argCount) {\n if (context === void 0) return func;\n switch (argCount == null ? 3 : argCount) {\n case 1: return function(value) {\n return func.call(context, value);\n };\n case 2: return function(value, other) {\n return func.call(context, value, other);\n };\n case 3: return function(value, index, collection) {\n return func.call(context, value, index, collection);\n };\n case 4: return function(accumulator, value, index, collection) {\n return func.call(context, accumulator, value, index, collection);\n };\n }\n return function() {\n return func.apply(context, arguments);\n };\n };\n\n // A mostly-internal function to generate callbacks that can be applied\n // to each element in a collection, returning the desired result — either\n // identity, an arbitrary callback, a property matcher, or a property accessor.\n var cb = function(value, context, argCount) {\n if (value == null) return _.identity;\n if (_.isFunction(value)) return optimizeCb(value, context, argCount);\n if (_.isObject(value)) return _.matcher(value);\n return _.property(value);\n };\n _.iteratee = function(value, context) {\n return cb(value, context, Infinity);\n };\n\n // An internal function for creating assigner functions.\n var createAssigner = function(keysFunc, undefinedOnly) {\n return function(obj) {\n var length = arguments.length;\n if (length < 2 || obj == null) return obj;\n for (var index = 1; index < length; index++) {\n var source = arguments[index],\n keys = keysFunc(source),\n l = keys.length;\n for (var i = 0; i < l; i++) {\n var key = keys[i];\n if (!undefinedOnly || obj[key] === void 0) obj[key] = source[key];\n }\n }\n return obj;\n };\n };\n\n // An internal function for creating a new object that inherits from another.\n var baseCreate = function(prototype) {\n if (!_.isObject(prototype)) return {};\n if (nativeCreate) return nativeCreate(prototype);\n Ctor.prototype = prototype;\n var result = new Ctor;\n Ctor.prototype = null;\n return result;\n };\n\n var property = function(key) {\n return function(obj) {\n return obj == null ? void 0 : obj[key];\n };\n };\n\n // Helper for collection methods to determine whether a collection\n // should be iterated as an array or as an object\n // Related: http://people.mozilla.org/~jorendorff/es6-draft.html#sec-tolength\n // Avoids a very nasty iOS 8 JIT bug on ARM-64. #2094\n var MAX_ARRAY_INDEX = Math.pow(2, 53) - 1;\n var getLength = property('length');\n var isArrayLike = function(collection) {\n var length = getLength(collection);\n return typeof length == 'number' && length >= 0 && length <= MAX_ARRAY_INDEX;\n };\n\n // Collection Functions\n // --------------------\n\n // The cornerstone, an `each` implementation, aka `forEach`.\n // Handles raw objects in addition to array-likes. Treats all\n // sparse array-likes as if they were dense.\n _.each = _.forEach = function(obj, iteratee, context) {\n iteratee = optimizeCb(iteratee, context);\n var i, length;\n if (isArrayLike(obj)) {\n for (i = 0, length = obj.length; i < length; i++) {\n iteratee(obj[i], i, obj);\n }\n } else {\n var keys = _.keys(obj);\n for (i = 0, length = keys.length; i < length; i++) {\n iteratee(obj[keys[i]], keys[i], obj);\n }\n }\n return obj;\n };\n\n // Return the results of applying the iteratee to each element.\n _.map = _.collect = function(obj, iteratee, context) {\n iteratee = cb(iteratee, context);\n var keys = !isArrayLike(obj) && _.keys(obj),\n length = (keys || obj).length,\n results = Array(length);\n for (var index = 0; index < length; index++) {\n var currentKey = keys ? keys[index] : index;\n results[index] = iteratee(obj[currentKey], currentKey, obj);\n }\n return results;\n };\n\n // Create a reducing function iterating left or right.\n function createReduce(dir) {\n // Optimized iterator function as using arguments.length\n // in the main function will deoptimize the, see #1991.\n function iterator(obj, iteratee, memo, keys, index, length) {\n for (; index >= 0 && index < length; index += dir) {\n var currentKey = keys ? keys[index] : index;\n memo = iteratee(memo, obj[currentKey], currentKey, obj);\n }\n return memo;\n }\n\n return function(obj, iteratee, memo, context) {\n iteratee = optimizeCb(iteratee, context, 4);\n var keys = !isArrayLike(obj) && _.keys(obj),\n length = (keys || obj).length,\n index = dir > 0 ? 0 : length - 1;\n // Determine the initial value if none is provided.\n if (arguments.length < 3) {\n memo = obj[keys ? keys[index] : index];\n index += dir;\n }\n return iterator(obj, iteratee, memo, keys, index, length);\n };\n }\n\n // **Reduce** builds up a single result from a list of values, aka `inject`,\n // or `foldl`.\n _.reduce = _.foldl = _.inject = createReduce(1);\n\n // The right-associative version of reduce, also known as `foldr`.\n _.reduceRight = _.foldr = createReduce(-1);\n\n // Return the first value which passes a truth test. Aliased as `detect`.\n _.find = _.detect = function(obj, predicate, context) {\n var key;\n if (isArrayLike(obj)) {\n key = _.findIndex(obj, predicate, context);\n } else {\n key = _.findKey(obj, predicate, context);\n }\n if (key !== void 0 && key !== -1) return obj[key];\n };\n\n // Return all the elements that pass a truth test.\n // Aliased as `select`.\n _.filter = _.select = function(obj, predicate, context) {\n var results = [];\n predicate = cb(predicate, context);\n _.each(obj, function(value, index, list) {\n if (predicate(value, index, list)) results.push(value);\n });\n return results;\n };\n\n // Return all the elements for which a truth test fails.\n _.reject = function(obj, predicate, context) {\n return _.filter(obj, _.negate(cb(predicate)), context);\n };\n\n // Determine whether all of the elements match a truth test.\n // Aliased as `all`.\n _.every = _.all = function(obj, predicate, context) {\n predicate = cb(predicate, context);\n var keys = !isArrayLike(obj) && _.keys(obj),\n length = (keys || obj).length;\n for (var index = 0; index < length; index++) {\n var currentKey = keys ? keys[index] : index;\n if (!predicate(obj[currentKey], currentKey, obj)) return false;\n }\n return true;\n };\n\n // Determine if at least one element in the object matches a truth test.\n // Aliased as `any`.\n _.some = _.any = function(obj, predicate, context) {\n predicate = cb(predicate, context);\n var keys = !isArrayLike(obj) && _.keys(obj),\n length = (keys || obj).length;\n for (var index = 0; index < length; index++) {\n var currentKey = keys ? keys[index] : index;\n if (predicate(obj[currentKey], currentKey, obj)) return true;\n }\n return false;\n };\n\n // Determine if the array or object contains a given item (using `===`).\n // Aliased as `includes` and `include`.\n _.contains = _.includes = _.include = function(obj, item, fromIndex, guard) {\n if (!isArrayLike(obj)) obj = _.values(obj);\n if (typeof fromIndex != 'number' || guard) fromIndex = 0;\n return _.indexOf(obj, item, fromIndex) >= 0;\n };\n\n // Invoke a method (with arguments) on every item in a collection.\n _.invoke = function(obj, method) {\n var args = slice.call(arguments, 2);\n var isFunc = _.isFunction(method);\n return _.map(obj, function(value) {\n var func = isFunc ? method : value[method];\n return func == null ? func : func.apply(value, args);\n });\n };\n\n // Convenience version of a common use case of `map`: fetching a property.\n _.pluck = function(obj, key) {\n return _.map(obj, _.property(key));\n };\n\n // Convenience version of a common use case of `filter`: selecting only objects\n // containing specific `key:value` pairs.\n _.where = function(obj, attrs) {\n return _.filter(obj, _.matcher(attrs));\n };\n\n // Convenience version of a common use case of `find`: getting the first object\n // containing specific `key:value` pairs.\n _.findWhere = function(obj, attrs) {\n return _.find(obj, _.matcher(attrs));\n };\n\n // Return the maximum element (or element-based computation).\n _.max = function(obj, iteratee, context) {\n var result = -Infinity, lastComputed = -Infinity,\n value, computed;\n if (iteratee == null && obj != null) {\n obj = isArrayLike(obj) ? obj : _.values(obj);\n for (var i = 0, length = obj.length; i < length; i++) {\n value = obj[i];\n if (value > result) {\n result = value;\n }\n }\n } else {\n iteratee = cb(iteratee, context);\n _.each(obj, function(value, index, list) {\n computed = iteratee(value, index, list);\n if (computed > lastComputed || computed === -Infinity && result === -Infinity) {\n result = value;\n lastComputed = computed;\n }\n });\n }\n return result;\n };\n\n // Return the minimum element (or element-based computation).\n _.min = function(obj, iteratee, context) {\n var result = Infinity, lastComputed = Infinity,\n value, computed;\n if (iteratee == null && obj != null) {\n obj = isArrayLike(obj) ? obj : _.values(obj);\n for (var i = 0, length = obj.length; i < length; i++) {\n value = obj[i];\n if (value < result) {\n result = value;\n }\n }\n } else {\n iteratee = cb(iteratee, context);\n _.each(obj, function(value, index, list) {\n computed = iteratee(value, index, list);\n if (computed < lastComputed || computed === Infinity && result === Infinity) {\n result = value;\n lastComputed = computed;\n }\n });\n }\n return result;\n };\n\n // Shuffle a collection, using the modern version of the\n // [Fisher-Yates shuffle](http://en.wikipedia.org/wiki/Fisher–Yates_shuffle).\n _.shuffle = function(obj) {\n var set = isArrayLike(obj) ? obj : _.values(obj);\n var length = set.length;\n var shuffled = Array(length);\n for (var index = 0, rand; index < length; index++) {\n rand = _.random(0, index);\n if (rand !== index) shuffled[index] = shuffled[rand];\n shuffled[rand] = set[index];\n }\n return shuffled;\n };\n\n // Sample **n** random values from a collection.\n // If **n** is not specified, returns a single random element.\n // The internal `guard` argument allows it to work with `map`.\n _.sample = function(obj, n, guard) {\n if (n == null || guard) {\n if (!isArrayLike(obj)) obj = _.values(obj);\n return obj[_.random(obj.length - 1)];\n }\n return _.shuffle(obj).slice(0, Math.max(0, n));\n };\n\n // Sort the object's values by a criterion produced by an iteratee.\n _.sortBy = function(obj, iteratee, context) {\n iteratee = cb(iteratee, context);\n return _.pluck(_.map(obj, function(value, index, list) {\n return {\n value: value,\n index: index,\n criteria: iteratee(value, index, list)\n };\n }).sort(function(left, right) {\n var a = left.criteria;\n var b = right.criteria;\n if (a !== b) {\n if (a > b || a === void 0) return 1;\n if (a < b || b === void 0) return -1;\n }\n return left.index - right.index;\n }), 'value');\n };\n\n // An internal function used for aggregate \"group by\" operations.\n var group = function(behavior) {\n return function(obj, iteratee, context) {\n var result = {};\n iteratee = cb(iteratee, context);\n _.each(obj, function(value, index) {\n var key = iteratee(value, index, obj);\n behavior(result, value, key);\n });\n return result;\n };\n };\n\n // Groups the object's values by a criterion. Pass either a string attribute\n // to group by, or a function that returns the criterion.\n _.groupBy = group(function(result, value, key) {\n if (_.has(result, key)) result[key].push(value); else result[key] = [value];\n });\n\n // Indexes the object's values by a criterion, similar to `groupBy`, but for\n // when you know that your index values will be unique.\n _.indexBy = group(function(result, value, key) {\n result[key] = value;\n });\n\n // Counts instances of an object that group by a certain criterion. Pass\n // either a string attribute to count by, or a function that returns the\n // criterion.\n _.countBy = group(function(result, value, key) {\n if (_.has(result, key)) result[key]++; else result[key] = 1;\n });\n\n // Safely create a real, live array from anything iterable.\n _.toArray = function(obj) {\n if (!obj) return [];\n if (_.isArray(obj)) return slice.call(obj);\n if (isArrayLike(obj)) return _.map(obj, _.identity);\n return _.values(obj);\n };\n\n // Return the number of elements in an object.\n _.size = function(obj) {\n if (obj == null) return 0;\n return isArrayLike(obj) ? obj.length : _.keys(obj).length;\n };\n\n // Split a collection into two arrays: one whose elements all satisfy the given\n // predicate, and one whose elements all do not satisfy the predicate.\n _.partition = function(obj, predicate, context) {\n predicate = cb(predicate, context);\n var pass = [], fail = [];\n _.each(obj, function(value, key, obj) {\n (predicate(value, key, obj) ? pass : fail).push(value);\n });\n return [pass, fail];\n };\n\n // Array Functions\n // ---------------\n\n // Get the first element of an array. Passing **n** will return the first N\n // values in the array. Aliased as `head` and `take`. The **guard** check\n // allows it to work with `_.map`.\n _.first = _.head = _.take = function(array, n, guard) {\n if (array == null) return void 0;\n if (n == null || guard) return array[0];\n return _.initial(array, array.length - n);\n };\n\n // Returns everything but the last entry of the array. Especially useful on\n // the arguments object. Passing **n** will return all the values in\n // the array, excluding the last N.\n _.initial = function(array, n, guard) {\n return slice.call(array, 0, Math.max(0, array.length - (n == null || guard ? 1 : n)));\n };\n\n // Get the last element of an array. Passing **n** will return the last N\n // values in the array.\n _.last = function(array, n, guard) {\n if (array == null) return void 0;\n if (n == null || guard) return array[array.length - 1];\n return _.rest(array, Math.max(0, array.length - n));\n };\n\n // Returns everything but the first entry of the array. Aliased as `tail` and `drop`.\n // Especially useful on the arguments object. Passing an **n** will return\n // the rest N values in the array.\n _.rest = _.tail = _.drop = function(array, n, guard) {\n return slice.call(array, n == null || guard ? 1 : n);\n };\n\n // Trim out all falsy values from an array.\n _.compact = function(array) {\n return _.filter(array, _.identity);\n };\n\n // Internal implementation of a recursive `flatten` function.\n var flatten = function(input, shallow, strict, startIndex) {\n var output = [], idx = 0;\n for (var i = startIndex || 0, length = getLength(input); i < length; i++) {\n var value = input[i];\n if (isArrayLike(value) && (_.isArray(value) || _.isArguments(value))) {\n //flatten current level of array or arguments object\n if (!shallow) value = flatten(value, shallow, strict);\n var j = 0, len = value.length;\n output.length += len;\n while (j < len) {\n output[idx++] = value[j++];\n }\n } else if (!strict) {\n output[idx++] = value;\n }\n }\n return output;\n };\n\n // Flatten out an array, either recursively (by default), or just one level.\n _.flatten = function(array, shallow) {\n return flatten(array, shallow, false);\n };\n\n // Return a version of the array that does not contain the specified value(s).\n _.without = function(array) {\n return _.difference(array, slice.call(arguments, 1));\n };\n\n // Produce a duplicate-free version of the array. If the array has already\n // been sorted, you have the option of using a faster algorithm.\n // Aliased as `unique`.\n _.uniq = _.unique = function(array, isSorted, iteratee, context) {\n if (!_.isBoolean(isSorted)) {\n context = iteratee;\n iteratee = isSorted;\n isSorted = false;\n }\n if (iteratee != null) iteratee = cb(iteratee, context);\n var result = [];\n var seen = [];\n for (var i = 0, length = getLength(array); i < length; i++) {\n var value = array[i],\n computed = iteratee ? iteratee(value, i, array) : value;\n if (isSorted) {\n if (!i || seen !== computed) result.push(value);\n seen = computed;\n } else if (iteratee) {\n if (!_.contains(seen, computed)) {\n seen.push(computed);\n result.push(value);\n }\n } else if (!_.contains(result, value)) {\n result.push(value);\n }\n }\n return result;\n };\n\n // Produce an array that contains the union: each distinct element from all of\n // the passed-in arrays.\n _.union = function() {\n return _.uniq(flatten(arguments, true, true));\n };\n\n // Produce an array that contains every item shared between all the\n // passed-in arrays.\n _.intersection = function(array) {\n var result = [];\n var argsLength = arguments.length;\n for (var i = 0, length = getLength(array); i < length; i++) {\n var item = array[i];\n if (_.contains(result, item)) continue;\n for (var j = 1; j < argsLength; j++) {\n if (!_.contains(arguments[j], item)) break;\n }\n if (j === argsLength) result.push(item);\n }\n return result;\n };\n\n // Take the difference between one array and a number of other arrays.\n // Only the elements present in just the first array will remain.\n _.difference = function(array) {\n var rest = flatten(arguments, true, true, 1);\n return _.filter(array, function(value){\n return !_.contains(rest, value);\n });\n };\n\n // Zip together multiple lists into a single array -- elements that share\n // an index go together.\n _.zip = function() {\n return _.unzip(arguments);\n };\n\n // Complement of _.zip. Unzip accepts an array of arrays and groups\n // each array's elements on shared indices\n _.unzip = function(array) {\n var length = array && _.max(array, getLength).length || 0;\n var result = Array(length);\n\n for (var index = 0; index < length; index++) {\n result[index] = _.pluck(array, index);\n }\n return result;\n };\n\n // Converts lists into objects. Pass either a single array of `[key, value]`\n // pairs, or two parallel arrays of the same length -- one of keys, and one of\n // the corresponding values.\n _.object = function(list, values) {\n var result = {};\n for (var i = 0, length = getLength(list); i < length; i++) {\n if (values) {\n result[list[i]] = values[i];\n } else {\n result[list[i][0]] = list[i][1];\n }\n }\n return result;\n };\n\n // Generator function to create the findIndex and findLastIndex functions\n function createPredicateIndexFinder(dir) {\n return function(array, predicate, context) {\n predicate = cb(predicate, context);\n var length = getLength(array);\n var index = dir > 0 ? 0 : length - 1;\n for (; index >= 0 && index < length; index += dir) {\n if (predicate(array[index], index, array)) return index;\n }\n return -1;\n };\n }\n\n // Returns the first index on an array-like that passes a predicate test\n _.findIndex = createPredicateIndexFinder(1);\n _.findLastIndex = createPredicateIndexFinder(-1);\n\n // Use a comparator function to figure out the smallest index at which\n // an object should be inserted so as to maintain order. Uses binary search.\n _.sortedIndex = function(array, obj, iteratee, context) {\n iteratee = cb(iteratee, context, 1);\n var value = iteratee(obj);\n var low = 0, high = getLength(array);\n while (low < high) {\n var mid = Math.floor((low + high) / 2);\n if (iteratee(array[mid]) < value) low = mid + 1; else high = mid;\n }\n return low;\n };\n\n // Generator function to create the indexOf and lastIndexOf functions\n function createIndexFinder(dir, predicateFind, sortedIndex) {\n return function(array, item, idx) {\n var i = 0, length = getLength(array);\n if (typeof idx == 'number') {\n if (dir > 0) {\n i = idx >= 0 ? idx : Math.max(idx + length, i);\n } else {\n length = idx >= 0 ? Math.min(idx + 1, length) : idx + length + 1;\n }\n } else if (sortedIndex && idx && length) {\n idx = sortedIndex(array, item);\n return array[idx] === item ? idx : -1;\n }\n if (item !== item) {\n idx = predicateFind(slice.call(array, i, length), _.isNaN);\n return idx >= 0 ? idx + i : -1;\n }\n for (idx = dir > 0 ? i : length - 1; idx >= 0 && idx < length; idx += dir) {\n if (array[idx] === item) return idx;\n }\n return -1;\n };\n }\n\n // Return the position of the first occurrence of an item in an array,\n // or -1 if the item is not included in the array.\n // If the array is large and already in sort order, pass `true`\n // for **isSorted** to use binary search.\n _.indexOf = createIndexFinder(1, _.findIndex, _.sortedIndex);\n _.lastIndexOf = createIndexFinder(-1, _.findLastIndex);\n\n // Generate an integer Array containing an arithmetic progression. A port of\n // the native Python `range()` function. See\n // [the Python documentation](http://docs.python.org/library/functions.html#range).\n _.range = function(start, stop, step) {\n if (stop == null) {\n stop = start || 0;\n start = 0;\n }\n step = step || 1;\n\n var length = Math.max(Math.ceil((stop - start) / step), 0);\n var range = Array(length);\n\n for (var idx = 0; idx < length; idx++, start += step) {\n range[idx] = start;\n }\n\n return range;\n };\n\n // Function (ahem) Functions\n // ------------------\n\n // Determines whether to execute a function as a constructor\n // or a normal function with the provided arguments\n var executeBound = function(sourceFunc, boundFunc, context, callingContext, args) {\n if (!(callingContext instanceof boundFunc)) return sourceFunc.apply(context, args);\n var self = baseCreate(sourceFunc.prototype);\n var result = sourceFunc.apply(self, args);\n if (_.isObject(result)) return result;\n return self;\n };\n\n // Create a function bound to a given object (assigning `this`, and arguments,\n // optionally). Delegates to **ECMAScript 5**'s native `Function.bind` if\n // available.\n _.bind = function(func, context) {\n if (nativeBind && func.bind === nativeBind) return nativeBind.apply(func, slice.call(arguments, 1));\n if (!_.isFunction(func)) throw new TypeError('Bind must be called on a function');\n var args = slice.call(arguments, 2);\n var bound = function() {\n return executeBound(func, bound, context, this, args.concat(slice.call(arguments)));\n };\n return bound;\n };\n\n // Partially apply a function by creating a version that has had some of its\n // arguments pre-filled, without changing its dynamic `this` context. _ acts\n // as a placeholder, allowing any combination of arguments to be pre-filled.\n _.partial = function(func) {\n var boundArgs = slice.call(arguments, 1);\n var bound = function() {\n var position = 0, length = boundArgs.length;\n var args = Array(length);\n for (var i = 0; i < length; i++) {\n args[i] = boundArgs[i] === _ ? arguments[position++] : boundArgs[i];\n }\n while (position < arguments.length) args.push(arguments[position++]);\n return executeBound(func, bound, this, this, args);\n };\n return bound;\n };\n\n // Bind a number of an object's methods to that object. Remaining arguments\n // are the method names to be bound. Useful for ensuring that all callbacks\n // defined on an object belong to it.\n _.bindAll = function(obj) {\n var i, length = arguments.length, key;\n if (length <= 1) throw new Error('bindAll must be passed function names');\n for (i = 1; i < length; i++) {\n key = arguments[i];\n obj[key] = _.bind(obj[key], obj);\n }\n return obj;\n };\n\n // Memoize an expensive function by storing its results.\n _.memoize = function(func, hasher) {\n var memoize = function(key) {\n var cache = memoize.cache;\n var address = '' + (hasher ? hasher.apply(this, arguments) : key);\n if (!_.has(cache, address)) cache[address] = func.apply(this, arguments);\n return cache[address];\n };\n memoize.cache = {};\n return memoize;\n };\n\n // Delays a function for the given number of milliseconds, and then calls\n // it with the arguments supplied.\n _.delay = function(func, wait) {\n var args = slice.call(arguments, 2);\n return setTimeout(function(){\n return func.apply(null, args);\n }, wait);\n };\n\n // Defers a function, scheduling it to run after the current call stack has\n // cleared.\n _.defer = _.partial(_.delay, _, 1);\n\n // Returns a function, that, when invoked, will only be triggered at most once\n // during a given window of time. Normally, the throttled function will run\n // as much as it can, without ever going more than once per `wait` duration;\n // but if you'd like to disable the execution on the leading edge, pass\n // `{leading: false}`. To disable execution on the trailing edge, ditto.\n _.throttle = function(func, wait, options) {\n var context, args, result;\n var timeout = null;\n var previous = 0;\n if (!options) options = {};\n var later = function() {\n previous = options.leading === false ? 0 : _.now();\n timeout = null;\n result = func.apply(context, args);\n if (!timeout) context = args = null;\n };\n return function() {\n var now = _.now();\n if (!previous && options.leading === false) previous = now;\n var remaining = wait - (now - previous);\n context = this;\n args = arguments;\n if (remaining <= 0 || remaining > wait) {\n if (timeout) {\n clearTimeout(timeout);\n timeout = null;\n }\n previous = now;\n result = func.apply(context, args);\n if (!timeout) context = args = null;\n } else if (!timeout && options.trailing !== false) {\n timeout = setTimeout(later, remaining);\n }\n return result;\n };\n };\n\n // Returns a function, that, as long as it continues to be invoked, will not\n // be triggered. The function will be called after it stops being called for\n // N milliseconds. If `immediate` is passed, trigger the function on the\n // leading edge, instead of the trailing.\n _.debounce = function(func, wait, immediate) {\n var timeout, args, context, timestamp, result;\n\n var later = function() {\n var last = _.now() - timestamp;\n\n if (last < wait && last >= 0) {\n timeout = setTimeout(later, wait - last);\n } else {\n timeout = null;\n if (!immediate) {\n result = func.apply(context, args);\n if (!timeout) context = args = null;\n }\n }\n };\n\n return function() {\n context = this;\n args = arguments;\n timestamp = _.now();\n var callNow = immediate && !timeout;\n if (!timeout) timeout = setTimeout(later, wait);\n if (callNow) {\n result = func.apply(context, args);\n context = args = null;\n }\n\n return result;\n };\n };\n\n // Returns the first function passed as an argument to the second,\n // allowing you to adjust arguments, run code before and after, and\n // conditionally execute the original function.\n _.wrap = function(func, wrapper) {\n return _.partial(wrapper, func);\n };\n\n // Returns a negated version of the passed-in predicate.\n _.negate = function(predicate) {\n return function() {\n return !predicate.apply(this, arguments);\n };\n };\n\n // Returns a function that is the composition of a list of functions, each\n // consuming the return value of the function that follows.\n _.compose = function() {\n var args = arguments;\n var start = args.length - 1;\n return function() {\n var i = start;\n var result = args[start].apply(this, arguments);\n while (i--) result = args[i].call(this, result);\n return result;\n };\n };\n\n // Returns a function that will only be executed on and after the Nth call.\n _.after = function(times, func) {\n return function() {\n if (--times < 1) {\n return func.apply(this, arguments);\n }\n };\n };\n\n // Returns a function that will only be executed up to (but not including) the Nth call.\n _.before = function(times, func) {\n var memo;\n return function() {\n if (--times > 0) {\n memo = func.apply(this, arguments);\n }\n if (times <= 1) func = null;\n return memo;\n };\n };\n\n // Returns a function that will be executed at most one time, no matter how\n // often you call it. Useful for lazy initialization.\n _.once = _.partial(_.before, 2);\n\n // Object Functions\n // ----------------\n\n // Keys in IE < 9 that won't be iterated by `for key in ...` and thus missed.\n var hasEnumBug = !{toString: null}.propertyIsEnumerable('toString');\n var nonEnumerableProps = ['valueOf', 'isPrototypeOf', 'toString',\n 'propertyIsEnumerable', 'hasOwnProperty', 'toLocaleString'];\n\n function collectNonEnumProps(obj, keys) {\n var nonEnumIdx = nonEnumerableProps.length;\n var constructor = obj.constructor;\n var proto = (_.isFunction(constructor) && constructor.prototype) || ObjProto;\n\n // Constructor is a special case.\n var prop = 'constructor';\n if (_.has(obj, prop) && !_.contains(keys, prop)) keys.push(prop);\n\n while (nonEnumIdx--) {\n prop = nonEnumerableProps[nonEnumIdx];\n if (prop in obj && obj[prop] !== proto[prop] && !_.contains(keys, prop)) {\n keys.push(prop);\n }\n }\n }\n\n // Retrieve the names of an object's own properties.\n // Delegates to **ECMAScript 5**'s native `Object.keys`\n _.keys = function(obj) {\n if (!_.isObject(obj)) return [];\n if (nativeKeys) return nativeKeys(obj);\n var keys = [];\n for (var key in obj) if (_.has(obj, key)) keys.push(key);\n // Ahem, IE < 9.\n if (hasEnumBug) collectNonEnumProps(obj, keys);\n return keys;\n };\n\n // Retrieve all the property names of an object.\n _.allKeys = function(obj) {\n if (!_.isObject(obj)) return [];\n var keys = [];\n for (var key in obj) keys.push(key);\n // Ahem, IE < 9.\n if (hasEnumBug) collectNonEnumProps(obj, keys);\n return keys;\n };\n\n // Retrieve the values of an object's properties.\n _.values = function(obj) {\n var keys = _.keys(obj);\n var length = keys.length;\n var values = Array(length);\n for (var i = 0; i < length; i++) {\n values[i] = obj[keys[i]];\n }\n return values;\n };\n\n // Returns the results of applying the iteratee to each element of the object\n // In contrast to _.map it returns an object\n _.mapObject = function(obj, iteratee, context) {\n iteratee = cb(iteratee, context);\n var keys = _.keys(obj),\n length = keys.length,\n results = {},\n currentKey;\n for (var index = 0; index < length; index++) {\n currentKey = keys[index];\n results[currentKey] = iteratee(obj[currentKey], currentKey, obj);\n }\n return results;\n };\n\n // Convert an object into a list of `[key, value]` pairs.\n _.pairs = function(obj) {\n var keys = _.keys(obj);\n var length = keys.length;\n var pairs = Array(length);\n for (var i = 0; i < length; i++) {\n pairs[i] = [keys[i], obj[keys[i]]];\n }\n return pairs;\n };\n\n // Invert the keys and values of an object. The values must be serializable.\n _.invert = function(obj) {\n var result = {};\n var keys = _.keys(obj);\n for (var i = 0, length = keys.length; i < length; i++) {\n result[obj[keys[i]]] = keys[i];\n }\n return result;\n };\n\n // Return a sorted list of the function names available on the object.\n // Aliased as `methods`\n _.functions = _.methods = function(obj) {\n var names = [];\n for (var key in obj) {\n if (_.isFunction(obj[key])) names.push(key);\n }\n return names.sort();\n };\n\n // Extend a given object with all the properties in passed-in object(s).\n _.extend = createAssigner(_.allKeys);\n\n // Assigns a given object with all the own properties in the passed-in object(s)\n // (https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Object/assign)\n _.extendOwn = _.assign = createAssigner(_.keys);\n\n // Returns the first key on an object that passes a predicate test\n _.findKey = function(obj, predicate, context) {\n predicate = cb(predicate, context);\n var keys = _.keys(obj), key;\n for (var i = 0, length = keys.length; i < length; i++) {\n key = keys[i];\n if (predicate(obj[key], key, obj)) return key;\n }\n };\n\n // Return a copy of the object only containing the whitelisted properties.\n _.pick = function(object, oiteratee, context) {\n var result = {}, obj = object, iteratee, keys;\n if (obj == null) return result;\n if (_.isFunction(oiteratee)) {\n keys = _.allKeys(obj);\n iteratee = optimizeCb(oiteratee, context);\n } else {\n keys = flatten(arguments, false, false, 1);\n iteratee = function(value, key, obj) { return key in obj; };\n obj = Object(obj);\n }\n for (var i = 0, length = keys.length; i < length; i++) {\n var key = keys[i];\n var value = obj[key];\n if (iteratee(value, key, obj)) result[key] = value;\n }\n return result;\n };\n\n // Return a copy of the object without the blacklisted properties.\n _.omit = function(obj, iteratee, context) {\n if (_.isFunction(iteratee)) {\n iteratee = _.negate(iteratee);\n } else {\n var keys = _.map(flatten(arguments, false, false, 1), String);\n iteratee = function(value, key) {\n return !_.contains(keys, key);\n };\n }\n return _.pick(obj, iteratee, context);\n };\n\n // Fill in a given object with default properties.\n _.defaults = createAssigner(_.allKeys, true);\n\n // Creates an object that inherits from the given prototype object.\n // If additional properties are provided then they will be added to the\n // created object.\n _.create = function(prototype, props) {\n var result = baseCreate(prototype);\n if (props) _.extendOwn(result, props);\n return result;\n };\n\n // Create a (shallow-cloned) duplicate of an object.\n _.clone = function(obj) {\n if (!_.isObject(obj)) return obj;\n return _.isArray(obj) ? obj.slice() : _.extend({}, obj);\n };\n\n // Invokes interceptor with the obj, and then returns obj.\n // The primary purpose of this method is to \"tap into\" a method chain, in\n // order to perform operations on intermediate results within the chain.\n _.tap = function(obj, interceptor) {\n interceptor(obj);\n return obj;\n };\n\n // Returns whether an object has a given set of `key:value` pairs.\n _.isMatch = function(object, attrs) {\n var keys = _.keys(attrs), length = keys.length;\n if (object == null) return !length;\n var obj = Object(object);\n for (var i = 0; i < length; i++) {\n var key = keys[i];\n if (attrs[key] !== obj[key] || !(key in obj)) return false;\n }\n return true;\n };\n\n\n // Internal recursive comparison function for `isEqual`.\n var eq = function(a, b, aStack, bStack) {\n // Identical objects are equal. `0 === -0`, but they aren't identical.\n // See the [Harmony `egal` proposal](http://wiki.ecmascript.org/doku.php?id=harmony:egal).\n if (a === b) return a !== 0 || 1 / a === 1 / b;\n // A strict comparison is necessary because `null == undefined`.\n if (a == null || b == null) return a === b;\n // Unwrap any wrapped objects.\n if (a instanceof _) a = a._wrapped;\n if (b instanceof _) b = b._wrapped;\n // Compare `[[Class]]` names.\n var className = toString.call(a);\n if (className !== toString.call(b)) return false;\n switch (className) {\n // Strings, numbers, regular expressions, dates, and booleans are compared by value.\n case '[object RegExp]':\n // RegExps are coerced to strings for comparison (Note: '' + /a/i === '/a/i')\n case '[object String]':\n // Primitives and their corresponding object wrappers are equivalent; thus, `\"5\"` is\n // equivalent to `new String(\"5\")`.\n return '' + a === '' + b;\n case '[object Number]':\n // `NaN`s are equivalent, but non-reflexive.\n // Object(NaN) is equivalent to NaN\n if (+a !== +a) return +b !== +b;\n // An `egal` comparison is performed for other numeric values.\n return +a === 0 ? 1 / +a === 1 / b : +a === +b;\n case '[object Date]':\n case '[object Boolean]':\n // Coerce dates and booleans to numeric primitive values. Dates are compared by their\n // millisecond representations. Note that invalid dates with millisecond representations\n // of `NaN` are not equivalent.\n return +a === +b;\n }\n\n var areArrays = className === '[object Array]';\n if (!areArrays) {\n if (typeof a != 'object' || typeof b != 'object') return false;\n\n // Objects with different constructors are not equivalent, but `Object`s or `Array`s\n // from different frames are.\n var aCtor = a.constructor, bCtor = b.constructor;\n if (aCtor !== bCtor && !(_.isFunction(aCtor) && aCtor instanceof aCtor &&\n _.isFunction(bCtor) && bCtor instanceof bCtor)\n && ('constructor' in a && 'constructor' in b)) {\n return false;\n }\n }\n // Assume equality for cyclic structures. The algorithm for detecting cyclic\n // structures is adapted from ES 5.1 section 15.12.3, abstract operation `JO`.\n\n // Initializing stack of traversed objects.\n // It's done here since we only need them for objects and arrays comparison.\n aStack = aStack || [];\n bStack = bStack || [];\n var length = aStack.length;\n while (length--) {\n // Linear search. Performance is inversely proportional to the number of\n // unique nested structures.\n if (aStack[length] === a) return bStack[length] === b;\n }\n\n // Add the first object to the stack of traversed objects.\n aStack.push(a);\n bStack.push(b);\n\n // Recursively compare objects and arrays.\n if (areArrays) {\n // Compare array lengths to determine if a deep comparison is necessary.\n length = a.length;\n if (length !== b.length) return false;\n // Deep compare the contents, ignoring non-numeric properties.\n while (length--) {\n if (!eq(a[length], b[length], aStack, bStack)) return false;\n }\n } else {\n // Deep compare objects.\n var keys = _.keys(a), key;\n length = keys.length;\n // Ensure that both objects contain the same number of properties before comparing deep equality.\n if (_.keys(b).length !== length) return false;\n while (length--) {\n // Deep compare each member\n key = keys[length];\n if (!(_.has(b, key) && eq(a[key], b[key], aStack, bStack))) return false;\n }\n }\n // Remove the first object from the stack of traversed objects.\n aStack.pop();\n bStack.pop();\n return true;\n };\n\n // Perform a deep comparison to check if two objects are equal.\n _.isEqual = function(a, b) {\n return eq(a, b);\n };\n\n // Is a given array, string, or object empty?\n // An \"empty\" object has no enumerable own-properties.\n _.isEmpty = function(obj) {\n if (obj == null) return true;\n if (isArrayLike(obj) && (_.isArray(obj) || _.isString(obj) || _.isArguments(obj))) return obj.length === 0;\n return _.keys(obj).length === 0;\n };\n\n // Is a given value a DOM element?\n _.isElement = function(obj) {\n return !!(obj && obj.nodeType === 1);\n };\n\n // Is a given value an array?\n // Delegates to ECMA5's native Array.isArray\n _.isArray = nativeIsArray || function(obj) {\n return toString.call(obj) === '[object Array]';\n };\n\n // Is a given variable an object?\n _.isObject = function(obj) {\n var type = typeof obj;\n return type === 'function' || type === 'object' && !!obj;\n };\n\n // Add some isType methods: isArguments, isFunction, isString, isNumber, isDate, isRegExp, isError.\n _.each(['Arguments', 'Function', 'String', 'Number', 'Date', 'RegExp', 'Error'], function(name) {\n _['is' + name] = function(obj) {\n return toString.call(obj) === '[object ' + name + ']';\n };\n });\n\n // Define a fallback version of the method in browsers (ahem, IE < 9), where\n // there isn't any inspectable \"Arguments\" type.\n if (!_.isArguments(arguments)) {\n _.isArguments = function(obj) {\n return _.has(obj, 'callee');\n };\n }\n\n // Optimize `isFunction` if appropriate. Work around some typeof bugs in old v8,\n // IE 11 (#1621), and in Safari 8 (#1929).\n if (typeof /./ != 'function' && typeof Int8Array != 'object') {\n _.isFunction = function(obj) {\n return typeof obj == 'function' || false;\n };\n }\n\n // Is a given object a finite number?\n _.isFinite = function(obj) {\n return isFinite(obj) && !isNaN(parseFloat(obj));\n };\n\n // Is the given value `NaN`? (NaN is the only number which does not equal itself).\n _.isNaN = function(obj) {\n return _.isNumber(obj) && obj !== +obj;\n };\n\n // Is a given value a boolean?\n _.isBoolean = function(obj) {\n return obj === true || obj === false || toString.call(obj) === '[object Boolean]';\n };\n\n // Is a given value equal to null?\n _.isNull = function(obj) {\n return obj === null;\n };\n\n // Is a given variable undefined?\n _.isUndefined = function(obj) {\n return obj === void 0;\n };\n\n // Shortcut function for checking if an object has a given property directly\n // on itself (in other words, not on a prototype).\n _.has = function(obj, key) {\n return obj != null && hasOwnProperty.call(obj, key);\n };\n\n // Utility Functions\n // -----------------\n\n // Run Underscore.js in *noConflict* mode, returning the `_` variable to its\n // previous owner. Returns a reference to the Underscore object.\n _.noConflict = function() {\n root._ = previousUnderscore;\n return this;\n };\n\n // Keep the identity function around for default iteratees.\n _.identity = function(value) {\n return value;\n };\n\n // Predicate-generating functions. Often useful outside of Underscore.\n _.constant = function(value) {\n return function() {\n return value;\n };\n };\n\n _.noop = function(){};\n\n _.property = property;\n\n // Generates a function for a given object that returns a given property.\n _.propertyOf = function(obj) {\n return obj == null ? function(){} : function(key) {\n return obj[key];\n };\n };\n\n // Returns a predicate for checking whether an object has a given set of\n // `key:value` pairs.\n _.matcher = _.matches = function(attrs) {\n attrs = _.extendOwn({}, attrs);\n return function(obj) {\n return _.isMatch(obj, attrs);\n };\n };\n\n // Run a function **n** times.\n _.times = function(n, iteratee, context) {\n var accum = Array(Math.max(0, n));\n iteratee = optimizeCb(iteratee, context, 1);\n for (var i = 0; i < n; i++) accum[i] = iteratee(i);\n return accum;\n };\n\n // Return a random integer between min and max (inclusive).\n _.random = function(min, max) {\n if (max == null) {\n max = min;\n min = 0;\n }\n return min + Math.floor(Math.random() * (max - min + 1));\n };\n\n // A (possibly faster) way to get the current timestamp as an integer.\n _.now = Date.now || function() {\n return new Date().getTime();\n };\n\n // List of HTML entities for escaping.\n var escapeMap = {\n '&': '&',\n '<': '<',\n '>': '>',\n '\"': '"',\n \"'\": ''',\n '`': '`'\n };\n var unescapeMap = _.invert(escapeMap);\n\n // Functions for escaping and unescaping strings to/from HTML interpolation.\n var createEscaper = function(map) {\n var escaper = function(match) {\n return map[match];\n };\n // Regexes for identifying a key that needs to be escaped\n var source = '(?:' + _.keys(map).join('|') + ')';\n var testRegexp = RegExp(source);\n var replaceRegexp = RegExp(source, 'g');\n return function(string) {\n string = string == null ? '' : '' + string;\n return testRegexp.test(string) ? string.replace(replaceRegexp, escaper) : string;\n };\n };\n _.escape = createEscaper(escapeMap);\n _.unescape = createEscaper(unescapeMap);\n\n // If the value of the named `property` is a function then invoke it with the\n // `object` as context; otherwise, return it.\n _.result = function(object, property, fallback) {\n var value = object == null ? void 0 : object[property];\n if (value === void 0) {\n value = fallback;\n }\n return _.isFunction(value) ? value.call(object) : value;\n };\n\n // Generate a unique integer id (unique within the entire client session).\n // Useful for temporary DOM ids.\n var idCounter = 0;\n _.uniqueId = function(prefix) {\n var id = ++idCounter + '';\n return prefix ? prefix + id : id;\n };\n\n // By default, Underscore uses ERB-style template delimiters, change the\n // following template settings to use alternative delimiters.\n _.templateSettings = {\n evaluate : /<%([\\s\\S]+?)%>/g,\n interpolate : /<%=([\\s\\S]+?)%>/g,\n escape : /<%-([\\s\\S]+?)%>/g\n };\n\n // When customizing `templateSettings`, if you don't want to define an\n // interpolation, evaluation or escaping regex, we need one that is\n // guaranteed not to match.\n var noMatch = /(.)^/;\n\n // Certain characters need to be escaped so that they can be put into a\n // string literal.\n var escapes = {\n \"'\": \"'\",\n '\\\\': '\\\\',\n '\\r': 'r',\n '\\n': 'n',\n '\\u2028': 'u2028',\n '\\u2029': 'u2029'\n };\n\n var escaper = /\\\\|'|\\r|\\n|\\u2028|\\u2029/g;\n\n var escapeChar = function(match) {\n return '\\\\' + escapes[match];\n };\n\n // JavaScript micro-templating, similar to John Resig's implementation.\n // Underscore templating handles arbitrary delimiters, preserves whitespace,\n // and correctly escapes quotes within interpolated code.\n // NB: `oldSettings` only exists for backwards compatibility.\n _.template = function(text, settings, oldSettings) {\n if (!settings && oldSettings) settings = oldSettings;\n settings = _.defaults({}, settings, _.templateSettings);\n\n // Combine delimiters into one regular expression via alternation.\n var matcher = RegExp([\n (settings.escape || noMatch).source,\n (settings.interpolate || noMatch).source,\n (settings.evaluate || noMatch).source\n ].join('|') + '|$', 'g');\n\n // Compile the template source, escaping string literals appropriately.\n var index = 0;\n var source = \"__p+='\";\n text.replace(matcher, function(match, escape, interpolate, evaluate, offset) {\n source += text.slice(index, offset).replace(escaper, escapeChar);\n index = offset + match.length;\n\n if (escape) {\n source += \"'+\\n((__t=(\" + escape + \"))==null?'':_.escape(__t))+\\n'\";\n } else if (interpolate) {\n source += \"'+\\n((__t=(\" + interpolate + \"))==null?'':__t)+\\n'\";\n } else if (evaluate) {\n source += \"';\\n\" + evaluate + \"\\n__p+='\";\n }\n\n // Adobe VMs need the match returned to produce the correct offest.\n return match;\n });\n source += \"';\\n\";\n\n // If a variable is not specified, place data values in local scope.\n if (!settings.variable) source = 'with(obj||{}){\\n' + source + '}\\n';\n\n source = \"var __t,__p='',__j=Array.prototype.join,\" +\n \"print=function(){__p+=__j.call(arguments,'');};\\n\" +\n source + 'return __p;\\n';\n\n try {\n var render = new Function(settings.variable || 'obj', '_', source);\n } catch (e) {\n e.source = source;\n throw e;\n }\n\n var template = function(data) {\n return render.call(this, data, _);\n };\n\n // Provide the compiled source as a convenience for precompilation.\n var argument = settings.variable || 'obj';\n template.source = 'function(' + argument + '){\\n' + source + '}';\n\n return template;\n };\n\n // Add a \"chain\" function. Start chaining a wrapped Underscore object.\n _.chain = function(obj) {\n var instance = _(obj);\n instance._chain = true;\n return instance;\n };\n\n // OOP\n // ---------------\n // If Underscore is called as a function, it returns a wrapped object that\n // can be used OO-style. This wrapper holds altered versions of all the\n // underscore functions. Wrapped objects may be chained.\n\n // Helper function to continue chaining intermediate results.\n var result = function(instance, obj) {\n return instance._chain ? _(obj).chain() : obj;\n };\n\n // Add your own custom functions to the Underscore object.\n _.mixin = function(obj) {\n _.each(_.functions(obj), function(name) {\n var func = _[name] = obj[name];\n _.prototype[name] = function() {\n var args = [this._wrapped];\n push.apply(args, arguments);\n return result(this, func.apply(_, args));\n };\n });\n };\n\n // Add all of the Underscore functions to the wrapper object.\n _.mixin(_);\n\n // Add all mutator Array functions to the wrapper.\n _.each(['pop', 'push', 'reverse', 'shift', 'sort', 'splice', 'unshift'], function(name) {\n var method = ArrayProto[name];\n _.prototype[name] = function() {\n var obj = this._wrapped;\n method.apply(obj, arguments);\n if ((name === 'shift' || name === 'splice') && obj.length === 0) delete obj[0];\n return result(this, obj);\n };\n });\n\n // Add all accessor Array functions to the wrapper.\n _.each(['concat', 'join', 'slice'], function(name) {\n var method = ArrayProto[name];\n _.prototype[name] = function() {\n return result(this, method.apply(this._wrapped, arguments));\n };\n });\n\n // Extracts the result from a wrapped and chained object.\n _.prototype.value = function() {\n return this._wrapped;\n };\n\n // Provide unwrapping proxy for some methods used in engine operations\n // such as arithmetic and JSON stringification.\n _.prototype.valueOf = _.prototype.toJSON = _.prototype.value;\n\n _.prototype.toString = function() {\n return '' + this._wrapped;\n };\n\n // AMD registration happens at the end for compatibility with AMD loaders\n // that may not enforce next-turn semantics on modules. Even though general\n // practice for AMD registration is to be anonymous, underscore registers\n // as a named module because, like jQuery, it is a base library that is\n // popular enough to be bundled in a third party lib, but not be part of\n // an AMD load request. Those cases could generate an error when an\n // anonymous define() is called outside of a loader request.\n if (typeof define === 'function' && define.amd) {\n define('underscore', [], function() {\n return _;\n });\n }\n}.call(this));\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/underscore/underscore.js\n// module id = 151\n// module chunks = 0","module.exports = {\"version\":\"3.9.2\",\"supportedLanguages\":[\"en\",\"cs\",\"da\",\"de\",\"el\",\"es\",\"fi\",\"fr\",\"hu\",\"id\",\"in\",\"it\",\"ja\",\"ko\",\"ms\",\"nb\",\"nl-NL\",\"pl\",\"pt-BR\",\"ro\",\"ru\",\"sv\",\"th\",\"tr\",\"uk\",\"vi\",\"zh-CN\",\"zh-TW\"]}\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/config/config.json\n// module id = 152\n// module chunks = 0","/*!\n * Copyright (c) 2015-2016, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n\ndefine(['okta', './Enums', './Errors', './Util'], function (Okta, Enums, Errors, Util) {\n\n var util = {};\n var _ = Okta._;\n\n function hasResponseType (params, type) {\n if (_.isArray(params.responseType)) {\n return _.contains(params.responseType, type);\n }\n else {\n return type === params.responseType;\n }\n }\n\n /**\n * Get the tokens in the OIDC/OAUTH flows\n *\n * @param settings - settings model object\n * @param params - {idp: 'xxx'} for social auth\n * {sessionToken: 'xxx'} for okta idp\n */\n util.getTokens = function (settings, params, controller) {\n\n function success (result) {\n settings.callGlobalSuccess(Enums.SUCCESS, result);\n }\n\n function error (error) {\n // OKTA-104330- Handle error case where user is not assigned to OIDC client\n if (error.errorCode === 'access_denied') {\n controller.model.trigger('error', controller.model, {'responseJSON': error});\n controller.model.appState.trigger('removeLoading');\n }\n Util.triggerAfterError(controller, new Errors.OAuthError(error.message), settings);\n }\n\n var authClient = settings.getAuthClient(),\n options = settings.toJSON({ verbose: true }),\n oauthParams = {},\n extraOptions = {};\n\n _.extend(\n oauthParams,\n _.pick(options, 'clientId', 'redirectUri'),\n _.pick(options.authParams,\n 'pkce',\n 'grantType', // deprecated\n 'responseType', 'responseMode',\n 'display', 'scopes', 'state', 'nonce'),\n params\n );\n\n // Extra Options for Social Idp popup window title and id_token response timeout\n extraOptions.popupTitle = Okta.loc('socialauth.popup.title', 'login');\n extraOptions.timeout = options.oAuthTimeout;\n\n _.extend(\n extraOptions,\n _.pick(options.authParams, 'issuer', 'authorizeUrl')\n );\n\n // Redirect flow - this can be used when logging into an external IDP, or\n // converting the Okta sessionToken to an access_token, id_token, and/or\n // authorization code. Note: The authorization code flow will always redirect.\n if (oauthParams.display === 'page' || hasResponseType(oauthParams, 'code')) {\n authClient.token.getWithRedirect(oauthParams, extraOptions)\n .fail(error);\n }\n\n // Default flow if logging in with Okta as the IDP - convert sessionToken to\n // tokens in a hidden iframe. Used in Single Page Apps where the app does\n // not want to redirect away from the page to convert the token.\n else if (oauthParams.sessionToken) {\n authClient.token.getWithoutPrompt(oauthParams, extraOptions)\n .then(success)\n .fail(error)\n .done();\n }\n\n // Default flow if logging in with an external IDP - opens a popup and\n // gets the token from a postMessage response.\n else {\n authClient.token.getWithPopup(oauthParams, extraOptions)\n .then(success)\n .fail(error)\n .done();\n }\n };\n\n // Parse through the OAuth 'authParams' object to ensure the 'openid' scope is\n // included (if required)\n util.addOrRemoveOpenIdScope = function (authParams) {\n if (!authParams.responseType) {\n return;\n }\n\n // Convert scope into an Array\n var scope = Array.isArray(authParams.scopes) ? authParams.scopes : authParams.scopes.split(' ');\n\n // Remove the 'openid' scope, as it is only required if an 'id_token' is requested\n if (scope.includes('openid')) {\n scope.splice(scope.indexOf('openid'), 1);\n }\n\n // Add the 'openid' scope\n if (authParams.responseType.includes('id_token')) {\n scope.push('openid');\n }\n\n return scope;\n };\n\n // Utility handlers for mapping convenience keys to OAuth params\n util.getResponseType = function (options) {\n var responseType = [];\n if (options.getIdToken !== false) {\n responseType.push('id_token');\n }\n\n if (options.getAccessToken) {\n responseType.push('token');\n }\n\n return responseType;\n };\n\n util.transformShowSignInToGetTokensOptions = function (options, config = {}) {\n // Override specific OAuth/OIDC values\n if (!options.clientId && !config.clientId) {\n throw new Errors.ConfigError('showSignInToGetTokens() requires a \"clientId\" property.');\n }\n\n var renderOptions = {\n clientId: options.clientId,\n redirectUri: options.redirectUri,\n authParams: {\n issuer: options.authorizationServerId || 'default',\n display: 'page',\n responseMode: 'fragment',\n responseType: util.getResponseType(options),\n scopes: options.scope || (config.authParams && config.authParams.scopes) || ['openid']\n }\n };\n\n // Ensure the 'openid' scope is provided when an 'id_token' is requested.\n // If the 'openid' scope is present and isn't needed, remove it.\n renderOptions.authParams.scopes = util.addOrRemoveOpenIdScope(renderOptions.authParams);\n\n return renderOptions;\n };\n\n return util;\n\n});\n\n\n\n// WEBPACK FOOTER //\n// ./src/util/OAuth2Util.js","// 7.1.4 ToInteger\nvar ceil = Math.ceil;\nvar floor = Math.floor;\nmodule.exports = function (it) {\n return isNaN(it = +it) ? 0 : (it > 0 ? floor : ceil)(it);\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_to-integer.js\n// module id = 154\n// module chunks = 0","// 7.2.1 RequireObjectCoercible(argument)\nmodule.exports = function (it) {\n if (it == undefined) throw TypeError(\"Can't call method on \" + it);\n return it;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_defined.js\n// module id = 155\n// module chunks = 0","var isObject = require('./_is-object');\nvar document = require('./_global').document;\n// typeof document.createElement is 'object' in old IE\nvar is = isObject(document) && isObject(document.createElement);\nmodule.exports = function (it) {\n return is ? document.createElement(it) : {};\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_dom-create.js\n// module id = 156\n// module chunks = 0","// 7.1.1 ToPrimitive(input [, PreferredType])\nvar isObject = require('./_is-object');\n// instead of the ES6 spec version, we didn't implement @@toPrimitive case\n// and the second argument - flag - preferred type is a string\nmodule.exports = function (it, S) {\n if (!isObject(it)) return it;\n var fn, val;\n if (S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it))) return val;\n if (typeof (fn = it.valueOf) == 'function' && !isObject(val = fn.call(it))) return val;\n if (!S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it))) return val;\n throw TypeError(\"Can't convert object to primitive value\");\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_to-primitive.js\n// module id = 157\n// module chunks = 0","// 19.1.2.2 / 15.2.3.5 Object.create(O [, Properties])\nvar anObject = require('./_an-object');\nvar dPs = require('./_object-dps');\nvar enumBugKeys = require('./_enum-bug-keys');\nvar IE_PROTO = require('./_shared-key')('IE_PROTO');\nvar Empty = function () { /* empty */ };\nvar PROTOTYPE = 'prototype';\n\n// Create object with fake `null` prototype: use iframe Object with cleared prototype\nvar createDict = function () {\n // Thrash, waste and sodomy: IE GC bug\n var iframe = require('./_dom-create')('iframe');\n var i = enumBugKeys.length;\n var lt = '<';\n var gt = '>';\n var iframeDocument;\n iframe.style.display = 'none';\n require('./_html').appendChild(iframe);\n iframe.src = 'javascript:'; // eslint-disable-line no-script-url\n // createDict = iframe.contentWindow.Object;\n // html.removeChild(iframe);\n iframeDocument = iframe.contentWindow.document;\n iframeDocument.open();\n iframeDocument.write(lt + 'script' + gt + 'document.F=Object' + lt + '/script' + gt);\n iframeDocument.close();\n createDict = iframeDocument.F;\n while (i--) delete createDict[PROTOTYPE][enumBugKeys[i]];\n return createDict();\n};\n\nmodule.exports = Object.create || function create(O, Properties) {\n var result;\n if (O !== null) {\n Empty[PROTOTYPE] = anObject(O);\n result = new Empty();\n Empty[PROTOTYPE] = null;\n // add \"__proto__\" for Object.getPrototypeOf polyfill\n result[IE_PROTO] = O;\n } else result = createDict();\n return Properties === undefined ? result : dPs(result, Properties);\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_object-create.js\n// module id = 158\n// module chunks = 0","// 7.1.15 ToLength\nvar toInteger = require('./_to-integer');\nvar min = Math.min;\nmodule.exports = function (it) {\n return it > 0 ? min(toInteger(it), 0x1fffffffffffff) : 0; // pow(2, 53) - 1 == 9007199254740991\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_to-length.js\n// module id = 159\n// module chunks = 0","var shared = require('./_shared')('keys');\nvar uid = require('./_uid');\nmodule.exports = function (key) {\n return shared[key] || (shared[key] = uid(key));\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_shared-key.js\n// module id = 160\n// module chunks = 0","var core = require('./_core');\nvar global = require('./_global');\nvar SHARED = '__core-js_shared__';\nvar store = global[SHARED] || (global[SHARED] = {});\n\n(module.exports = function (key, value) {\n return store[key] || (store[key] = value !== undefined ? value : {});\n})('versions', []).push({\n version: core.version,\n mode: require('./_library') ? 'pure' : 'global',\n copyright: '© 2019 Denis Pushkarev (zloirock.ru)'\n});\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_shared.js\n// module id = 161\n// module chunks = 0","// IE 8- don't enum bug keys\nmodule.exports = (\n 'constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf'\n).split(',');\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_enum-bug-keys.js\n// module id = 162\n// module chunks = 0","var global = require('./_global');\nvar core = require('./_core');\nvar LIBRARY = require('./_library');\nvar wksExt = require('./_wks-ext');\nvar defineProperty = require('./_object-dp').f;\nmodule.exports = function (name) {\n var $Symbol = core.Symbol || (core.Symbol = LIBRARY ? {} : global.Symbol || {});\n if (name.charAt(0) != '_' && !(name in $Symbol)) defineProperty($Symbol, name, { value: wksExt.f(name) });\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_wks-define.js\n// module id = 163\n// module chunks = 0","exports.f = Object.getOwnPropertySymbols;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_object-gops.js\n// module id = 164\n// module chunks = 0","var pIE = require('./_object-pie');\nvar createDesc = require('./_property-desc');\nvar toIObject = require('./_to-iobject');\nvar toPrimitive = require('./_to-primitive');\nvar has = require('./_has');\nvar IE8_DOM_DEFINE = require('./_ie8-dom-define');\nvar gOPD = Object.getOwnPropertyDescriptor;\n\nexports.f = require('./_descriptors') ? gOPD : function getOwnPropertyDescriptor(O, P) {\n O = toIObject(O);\n P = toPrimitive(P, true);\n if (IE8_DOM_DEFINE) try {\n return gOPD(O, P);\n } catch (e) { /* empty */ }\n if (has(O, P)) return createDesc(!pIE.f.call(O, P), O[P]);\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_object-gopd.js\n// module id = 165\n// module chunks = 0","module.exports = { \"default\": require(\"core-js/library/fn/object/define-property\"), __esModule: true };\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/babel-runtime/core-js/object/define-property.js\n// module id = 167\n// module chunks = 0","/* @okta/qtip2 v3.0.3-5-g | Plugins: tips modal viewport svg imagemap ie6 | Styles: core basic css3 | qtip2.com | Licensed MIT | Wed May 24 2017 01:22:57 */\n\n!function(a,b,c){!function(a){\"use strict\";\"function\"==typeof define&&define.amd?define([\"jquery\"],a):jQuery&&!jQuery.fn.qtip&&a(jQuery)}(function(d){\"use strict\";function e(a,b,c,e){this.id=c,this.target=a,this.tooltip=F,this.elements={target:a},this._id=S+\"-\"+c,this.timers={img:{}},this.options=b,this.plugins={},this.cache={event:{},target:d(),disabled:E,attr:e,onTooltip:E,lastClass:\"\"},this.rendered=this.destroyed=this.disabled=this.waiting=this.hiddenDuringWait=this.positioning=this.triggering=E}function f(a){return a===F||\"object\"!==d.type(a)}function g(a){return!(d.isFunction(a)||a&&a.attr||a.length||\"object\"===d.type(a)&&(a.jquery||a.then))}function h(a){var b,c,e,h;return f(a)?E:(f(a.metadata)&&(a.metadata={type:a.metadata}),\"content\"in a&&(b=a.content,f(b)||b.jquery||b.done?(c=g(b)?E:b,b=a.content={text:c}):c=b.text,\"ajax\"in b&&(e=b.ajax,h=e&&e.once!==E,delete b.ajax,b.text=function(a,b){var f=c||d(this).attr(b.options.content.attr)||\"Loading...\",g=d.ajax(d.extend({},e,{context:b})).then(e.success,F,e.error).then(function(a){return a&&h&&b.set(\"content.text\",a),a},function(a,c,d){b.destroyed||0===a.status||b.set(\"content.text\",c+\": \"+d)});return h?f:(b.set(\"content.text\",f),g)}),\"title\"in b&&(d.isPlainObject(b.title)&&(b.button=b.title.button,b.title=b.title.text),g(b.title||E)&&(b.title=E))),\"position\"in a&&f(a.position)&&(a.position={my:a.position,at:a.position}),\"show\"in a&&f(a.show)&&(a.show=a.show.jquery?{target:a.show}:a.show===D?{ready:D}:{event:a.show}),\"hide\"in a&&f(a.hide)&&(a.hide=a.hide.jquery?{target:a.hide}:{event:a.hide}),\"style\"in a&&f(a.style)&&(a.style={classes:a.style}),d.each(R,function(){this.sanitize&&this.sanitize(a)}),a)}function i(a,b){for(var c,d=0,e=a,f=b.split(\".\");e=e[f[d++]];)d<f.length&&(c=e);return[c||a,f.pop()]}function j(a,b){var c,d,e;for(c in this.checks)if(this.checks.hasOwnProperty(c))for(d in this.checks[c])this.checks[c].hasOwnProperty(d)&&(e=new RegExp(d,\"i\").exec(a))&&(b.push(e),(\"builtin\"===c||this.plugins[c])&&this.checks[c][d].apply(this.plugins[c]||this,b))}function k(a){return V.concat(\"\").join(a?\"-\"+a+\" \":\" \")}function l(a,b){return b>0?setTimeout(d.proxy(a,this),b):void a.call(this)}function m(a){this.tooltip.hasClass(aa)||(clearTimeout(this.timers.show),clearTimeout(this.timers.hide),this.timers.show=l.call(this,function(){this.toggle(D,a)},this.options.show.delay))}function n(a){if(!this.tooltip.hasClass(aa)&&!this.destroyed){var b=d(a.relatedTarget),c=b.closest(W)[0]===this.tooltip[0],e=b[0]===this.options.show.target[0];if(clearTimeout(this.timers.show),clearTimeout(this.timers.hide),this!==b[0]&&\"mouse\"===this.options.position.target&&c||this.options.hide.fixed&&/mouse(out|leave|move)/.test(a.type)&&(c||e))try{a.preventDefault(),a.stopImmediatePropagation()}catch(f){}else this.timers.hide=l.call(this,function(){this.toggle(E,a)},this.options.hide.delay,this)}}function o(a){!this.tooltip.hasClass(aa)&&this.options.hide.inactive&&(clearTimeout(this.timers.inactive),this.timers.inactive=l.call(this,function(){this.hide(a)},this.options.hide.inactive))}function p(a){this.rendered&&this.tooltip[0].offsetWidth>0&&this.reposition(a)}function q(a,c,e){d(b.body).delegate(a,(c.split?c:c.join(\".\"+S+\" \"))+\".\"+S,function(){var a=y.api[d.attr(this,U)];a&&!a.disabled&&e.apply(a,arguments)})}function r(a,c,f){var g,i,j,k,l,m=d(b.body),n=a[0]===b?m:a,o=a.metadata?a.metadata(f.metadata):F,p=\"html5\"===f.metadata.type&&o?o[f.metadata.name]:F,q=a.data(f.metadata.name||\"qtipopts\");try{q=\"string\"==typeof q?d.parseJSON(q):q}catch(r){}if(k=d.extend(D,{},y.defaults,f,\"object\"==typeof q?h(q):F,h(p||o)),i=k.position,k.id=c,\"boolean\"==typeof k.content.text){if(j=a.attr(k.content.attr),k.content.attr===E||!j)return E;k.content.text=j}if(i.container.length||(i.container=m),i.target===E&&(i.target=n),k.show.target===E&&(k.show.target=n),k.show.solo===D&&(k.show.solo=i.container.closest(\"body\")),k.hide.target===E&&(k.hide.target=n),k.position.viewport===D&&(k.position.viewport=i.container),i.container=i.container.eq(0),i.at=new A(i.at,D),i.my=new A(i.my),a.data(S))if(k.overwrite)a.qtip(\"destroy\",!0);else if(k.overwrite===E)return E;return a.attr(T,c),k.suppress&&(l=a.attr(\"title\"))&&a.removeAttr(\"title\").attr(ca,l).attr(\"title\",\"\"),g=new e(a,k,c,(!!j)),a.data(S,g),g}function s(a){return a.charAt(0).toUpperCase()+a.slice(1)}function t(a,b){var d,e,f=b.charAt(0).toUpperCase()+b.slice(1),g=(b+\" \"+va.join(f+\" \")+f).split(\" \"),h=0;if(ua[b])return a.css(ua[b]);for(;d=g[h++];)if((e=a.css(d))!==c)return ua[b]=d,e}function u(a,b){return Math.ceil(parseFloat(t(a,b)))}function v(a,b){this._ns=\"tip\",this.options=b,this.offset=b.offset,this.size=[b.width,b.height],this.qtip=a,this.init(a)}function w(a,b){this.options=b,this._ns=\"-modal\",this.qtip=a,this.init(a)}function x(a){this._ns=\"ie6\",this.qtip=a,this.init(a)}var y,z,A,B,C,D=!0,E=!1,F=null,G=\"x\",H=\"y\",I=\"width\",J=\"height\",K=\"top\",L=\"left\",M=\"bottom\",N=\"right\",O=\"center\",P=\"flipinvert\",Q=\"shift\",R={},S=\"qtip\",T=\"data-hasqtip\",U=\"data-qtip-id\",V=[\"ui-widget\",\"ui-tooltip\"],W=\".\"+S,X=\"click dblclick mousedown mouseup mousemove mouseleave mouseenter\".split(\" \"),Y=S+\"-fixed\",Z=S+\"-default\",$=S+\"-focus\",_=S+\"-hover\",aa=S+\"-disabled\",ba=\"_replacedByqTip\",ca=\"oldtitle\",da={ie:function(){var a,c;for(a=4,c=b.createElement(\"div\");(c.innerHTML=\"<!--[if gt IE \"+a+\"]><i></i><![endif]-->\")&&c.getElementsByTagName(\"i\")[0];a+=1);return a>4?a:NaN}(),iOS:parseFloat((\"\"+(/CPU.*OS ([0-9_]{1,5})|(CPU like).*AppleWebKit.*Mobile/i.exec(navigator.userAgent)||[0,\"\"])[1]).replace(\"undefined\",\"3_2\").replace(\"_\",\".\").replace(\"_\",\"\"))||E};z=e.prototype,z._when=function(a){return d.when.apply(d,a)},z.render=function(a){if(this.rendered||this.destroyed)return this;var b=this,c=this.options,e=this.cache,f=this.elements,g=c.content.text,h=c.content.title,i=c.content.button,j=c.position,k=[];return d.attr(this.target[0],\"aria-describedby\",this._id),e.posClass=this._createPosClass((this.position={my:j.my,at:j.at}).my),this.tooltip=f.tooltip=d(\"<div/>\",{id:this._id,\"class\":[S,Z,c.style.classes,e.posClass].join(\" \"),width:c.style.width||\"\",height:c.style.height||\"\",tracking:\"mouse\"===j.target&&j.adjust.mouse,role:\"alert\",\"aria-live\":\"polite\",\"aria-atomic\":E,\"aria-describedby\":this._id+\"-content\",\"aria-hidden\":D}).toggleClass(aa,this.disabled).attr(U,this.id).data(S,this).appendTo(j.container).append(f.content=d(\"<div />\",{\"class\":S+\"-content\",id:this._id+\"-content\",\"aria-atomic\":D})),this.rendered=-1,this.positioning=D,h&&(this._createTitle(),d.isFunction(h)||k.push(this._updateTitle(h,E))),i&&this._createButton(),d.isFunction(g)||k.push(this._updateContent(g,E)),this.rendered=D,this._setWidget(),d.each(R,function(a){var c;\"render\"===this.initialize&&(c=this(b))&&(b.plugins[a]=c)}),this._unassignEvents(),this._assignEvents(),this._when(k).then(function(){b._trigger(\"render\"),b.positioning=E,b.hiddenDuringWait||!c.show.ready&&!a||b.toggle(D,e.event,E),b.hiddenDuringWait=E}),y.api[this.id]=this,this},z.destroy=function(a){function b(){if(!this.destroyed){this.destroyed=D;var a,b=this.target,c=b.attr(ca);this.rendered&&this.tooltip.stop(1,0).find(\"*\").remove().end().remove(),d.each(this.plugins,function(){this.destroy&&this.destroy()});for(a in this.timers)this.timers.hasOwnProperty(a)&&clearTimeout(this.timers[a]);b.removeData(S).removeAttr(U).removeAttr(T).removeAttr(\"aria-describedby\"),this.options.suppress&&c&&b.attr(\"title\",c).removeAttr(ca),this._unassignEvents(),this.options=this.elements=this.cache=this.timers=this.plugins=this.mouse=F,delete y.api[this.id]}}return this.destroyed?this.target:(a===D&&\"hide\"!==this.triggering||!this.rendered?b.call(this):(this.tooltip.one(\"tooltiphidden\",d.proxy(b,this)),!this.triggering&&this.hide()),this.target)},B=z.checks={builtin:{\"^id$\":function(a,b,c,e){var f=c===D?y.nextid:c,g=S+\"-\"+f;f!==E&&f.length>0&&!d(\"#\"+g).length?(this._id=g,this.rendered&&(this.tooltip[0].id=this._id,this.elements.content[0].id=this._id+\"-content\",this.elements.title[0].id=this._id+\"-title\")):a[b]=e},\"^prerender\":function(a,b,c){c&&!this.rendered&&this.render(this.options.show.ready)},\"^content.text$\":function(a,b,c){this._updateContent(c)},\"^content.attr$\":function(a,b,c,d){this.options.content.text===this.target.attr(d)&&this._updateContent(this.target.attr(c))},\"^content.title$\":function(a,b,c){return c?(c&&!this.elements.title&&this._createTitle(),void this._updateTitle(c)):this._removeTitle()},\"^content.button$\":function(a,b,c){this._updateButton(c)},\"^content.title.(text|button)$\":function(a,b,c){this.set(\"content.\"+b,c)},\"^position.(my|at)$\":function(a,b,c){\"string\"==typeof c&&(this.position[b]=a[b]=new A(c,\"at\"===b))},\"^position.container$\":function(a,b,c){this.rendered&&this.tooltip.appendTo(c)},\"^show.ready$\":function(a,b,c){c&&(!this.rendered&&this.render(D)||this.toggle(D))},\"^style.classes$\":function(a,b,c,d){this.rendered&&this.tooltip.removeClass(d).addClass(c)},\"^style.(width|height)\":function(a,b,c){this.rendered&&this.tooltip.css(b,c)},\"^style.widget|content.title\":function(){this.rendered&&this._setWidget()},\"^style.def\":function(a,b,c){this.rendered&&this.tooltip.toggleClass(Z,!!c)},\"^events.(render|show|move|hide|focus|blur)$\":function(a,b,c){this.rendered&&this.tooltip[(d.isFunction(c)?\"\":\"un\")+\"bind\"](\"tooltip\"+b,c)},\"^(show|hide|position).(event|target|fixed|inactive|leave|distance|viewport|adjust)\":function(){if(this.rendered){var a=this.options.position;this.tooltip.attr(\"tracking\",\"mouse\"===a.target&&a.adjust.mouse),this._unassignEvents(),this._assignEvents()}}}},z.get=function(a){if(this.destroyed)return this;var b=i(this.options,a.toLowerCase()),c=b[0][b[1]];return c.precedance?c.string():c};var ea=/^position\\.(my|at|adjust|target|container|viewport)|style|content|show\\.ready/i,fa=/^prerender|show\\.ready/i;z.set=function(a,b){if(this.destroyed)return this;var c,e=this.rendered,f=E,g=this.options;return\"string\"==typeof a?(c=a,a={},a[c]=b):a=d.extend({},a),d.each(a,function(b,c){if(e&&fa.test(b))return void delete a[b];var h,j=i(g,b.toLowerCase());h=j[0][j[1]],j[0][j[1]]=c&&c.nodeType?d(c):c,f=ea.test(b)||f,a[b]=[j[0],j[1],c,h]}),h(g),this.positioning=D,d.each(a,d.proxy(j,this)),this.positioning=E,this.rendered&&this.tooltip[0].offsetWidth>0&&f&&this.reposition(\"mouse\"===g.position.target?F:this.cache.event),this},z._update=function(a,b){var c=this,e=this.cache;return this.rendered&&a?(d.isFunction(a)&&(a=a.call(this.elements.target,e.event,this)||\"\"),d.isFunction(a.then)?(e.waiting=D,a.then(function(a){return e.waiting=E,c._update(a,b)},F,function(a){return c._update(a,b)})):a===E||!a&&\"\"!==a?E:(a.jquery&&a.length>0?b.empty().append(a.css({display:\"block\",visibility:\"visible\"})):b.html(a),this._waitForContent(b).then(function(a){c.rendered&&c.tooltip[0].offsetWidth>0&&c.reposition(e.event,!a.length)}))):E},z._waitForContent=function(a){var b=this.cache;return b.waiting=D,(d.fn.imagesLoaded?a.imagesLoaded():(new d.Deferred).resolve([])).done(function(){b.waiting=E}).promise()},z._updateContent=function(a,b){this._update(a,this.elements.content,b)},z._updateTitle=function(a,b){this._update(a,this.elements.title,b)===E&&this._removeTitle(E)},z._createTitle=function(){var a=this.elements,b=this._id+\"-title\";a.titlebar&&this._removeTitle(),a.titlebar=d(\"<div />\",{\"class\":S+\"-titlebar \"+(this.options.style.widget?k(\"header\"):\"\")}).append(a.title=d(\"<div />\",{id:b,\"class\":S+\"-title\",\"aria-atomic\":D})).insertBefore(a.content).delegate(\".qtip-close\",\"mousedown keydown mouseup keyup mouseout\",function(a){d(this).toggleClass(\"ui-state-active ui-state-focus\",\"down\"===a.type.substr(-4))}).delegate(\".qtip-close\",\"mouseover mouseout\",function(a){d(this).toggleClass(\"ui-state-hover\",\"mouseover\"===a.type)}),this.options.content.button&&this._createButton()},z._removeTitle=function(a){var b=this.elements;b.title&&(b.titlebar.remove(),b.titlebar=b.title=b.button=F,a!==E&&this.reposition())},z._createPosClass=function(a){return S+\"-pos-\"+(a||this.options.position.my).abbrev()},z.reposition=function(c,e){if(!this.rendered||this.positioning||this.destroyed)return this;this.positioning=D;var f,g,h,i,j=this.cache,k=this.tooltip,l=this.options.position,m=l.target,n=l.my,o=l.at,p=l.viewport,q=l.container,r=l.adjust,s=r.method.split(\" \"),t=k.outerWidth(E),u=k.outerHeight(E),v=0,w=0,x=k.css(\"position\"),y={left:0,top:0},z=k[0].offsetWidth>0,A=c&&\"scroll\"===c.type,B=d(a),C=q[0].ownerDocument,F=this.mouse;if(d.isArray(m)&&2===m.length)o={x:L,y:K},y={left:m[0],top:m[1]};else if(\"mouse\"===m)o={x:L,y:K},(!r.mouse||this.options.hide.distance)&&j.origin&&j.origin.pageX?c=j.origin:!c||c&&(\"resize\"===c.type||\"scroll\"===c.type)?c=j.event:F&&F.pageX&&(c=F),\"static\"!==x&&(y=q.offset()),C.body.offsetWidth!==(a.innerWidth||C.documentElement.clientWidth)&&(g=d(b.body).offset()),y={left:c.pageX-y.left+(g&&g.left||0),top:c.pageY-y.top+(g&&g.top||0)},r.mouse&&A&&F&&(y.left-=(F.scrollX||0)-B.scrollLeft(),y.top-=(F.scrollY||0)-B.scrollTop());else{if(\"event\"===m?c&&c.target&&\"scroll\"!==c.type&&\"resize\"!==c.type?j.target=d(c.target):c.target||(j.target=this.elements.target):\"event\"!==m&&(j.target=d(m.jquery?m:this.elements.target)),m=j.target,m=d(m).eq(0),0===m.length)return this;m[0]===b||m[0]===a?(v=da.iOS?a.innerWidth:m.width(),w=da.iOS?a.innerHeight:m.height(),m[0]===a&&(y={top:(p||m).scrollTop(),left:(p||m).scrollLeft()})):R.imagemap&&m.is(\"area\")?f=R.imagemap(this,m,o,R.viewport?s:E):R.svg&&m&&m[0].ownerSVGElement?f=R.svg(this,m,o,R.viewport?s:E):(v=m.outerWidth(E),w=m.outerHeight(E),y=m.offset()),f&&(v=f.width,w=f.height,g=f.offset,y=f.position),y=this.reposition.offset(m,y,q),(da.iOS>3.1&&da.iOS<4.1||da.iOS>=4.3&&da.iOS<4.33||!da.iOS&&\"fixed\"===x)&&(y.left-=B.scrollLeft(),y.top-=B.scrollTop()),(!f||f&&f.adjustable!==E)&&(y.left+=o.x===N?v:o.x===O?v/2:0,y.top+=o.y===M?w:o.y===O?w/2:0)}return y.left+=r.x+(n.x===N?-t:n.x===O?-t/2:0),y.top+=r.y+(n.y===M?-u:n.y===O?-u/2:0),R.viewport?(h=y.adjusted=R.viewport(this,y,l,v,w,t,u),g&&h.left&&(y.left+=g.left),g&&h.top&&(y.top+=g.top),h.my&&(this.position.my=h.my)):y.adjusted={left:0,top:0},j.posClass!==(i=this._createPosClass(this.position.my))&&(j.posClass=i,k.removeClass(j.posClass).addClass(i)),this._trigger(\"move\",[y,p.elem||p],c)?(delete y.adjusted,e===E||!z||isNaN(y.left)||isNaN(y.top)||\"mouse\"===m||!d.isFunction(l.effect)?k.css(y):d.isFunction(l.effect)&&(l.effect.call(k,this,d.extend({},y)),k.queue(function(a){d(this).css({opacity:\"\",height:\"\"}),da.ie&&this.style.removeAttribute(\"filter\"),a()})),this.positioning=E,this):this},z.reposition.offset=function(a,c,e){function f(a,b){c.left+=b*a.scrollLeft(),c.top+=b*a.scrollTop()}if(!e[0])return c;var g,h,i,j,k=d(a[0].ownerDocument),l=!!da.ie&&\"CSS1Compat\"!==b.compatMode,m=e[0];do\"static\"!==(h=d.css(m,\"position\"))&&(\"fixed\"===h?(i=m.getBoundingClientRect(),f(k,-1)):(i=d(m).position(),i.left+=parseFloat(d.css(m,\"borderLeftWidth\"))||0,i.top+=parseFloat(d.css(m,\"borderTopWidth\"))||0),c.left-=i.left+(parseFloat(d.css(m,\"marginLeft\"))||0),c.top-=i.top+(parseFloat(d.css(m,\"marginTop\"))||0),g||\"hidden\"===(j=d.css(m,\"overflow\"))||\"visible\"===j||\"BODY\"===d.prop(m,\"tagName\")||(g=d(m)));while(m=m.offsetParent);return g&&(g[0]!==k[0]||l)&&f(g,1),c};var ga=(A=z.reposition.Corner=function(a,b){a=(\"\"+a).replace(/([A-Z])/,\" $1\").replace(/middle/gi,O).toLowerCase(),this.x=(a.match(/left|right/i)||a.match(/center/)||[\"inherit\"])[0].toLowerCase(),this.y=(a.match(/top|bottom|center/i)||[\"inherit\"])[0].toLowerCase(),this.forceY=!!b;var c=a.charAt(0);this.precedance=\"t\"===c||\"b\"===c?H:G}).prototype;ga.invert=function(a,b){this[a]=this[a]===L?N:this[a]===N?L:b||this[a]},ga.string=function(a){var b=this.x,c=this.y,d=b!==c?\"center\"===b||\"center\"!==c&&(this.precedance===H||this.forceY)?[c,b]:[b,c]:[b];return a!==!1?d.join(\" \"):d},ga.abbrev=function(){var a=this.string(!1);return a[0].charAt(0)+(a[1]&&a[1].charAt(0)||\"\")},ga.clone=function(){return new A(this.string(),this.forceY)},z.toggle=function(a,c){var e=this.cache,f=this.options,g=this.tooltip;if(c){if(/over|enter/.test(c.type)&&e.event&&/out|leave/.test(e.event.type)&&f.show.target.add(c.target).length===f.show.target.length&&g.has(c.relatedTarget).length)return this;e.event=d.event.fix(c)}if(this.waiting&&!a&&(this.hiddenDuringWait=D),!this.rendered)return a?this.render(1):this;if(this.destroyed||this.disabled)return this;var h,i,j,k=a?\"show\":\"hide\",l=this.options[k],m=this.options.position,n=this.options.content,o=this.tooltip.css(\"width\"),p=this.tooltip.is(\":visible\"),q=a||1===l.target.length,r=!c||l.target.length<2||e.target[0]===c.target;return(typeof a).search(\"boolean|number\")&&(a=!p),h=!g.is(\":animated\")&&p===a&&r,i=h?F:!!this._trigger(k,[90]),this.destroyed?this:(i!==E&&a&&this.focus(c),!i||h?this:(d.attr(g[0],\"aria-hidden\",!a),a?(this.mouse&&(e.origin=d.event.fix(this.mouse)),d.isFunction(n.text)&&this._updateContent(n.text,E),d.isFunction(n.title)&&this._updateTitle(n.title,E),!C&&\"mouse\"===m.target&&m.adjust.mouse&&(d(b).bind(\"mousemove.\"+S,this._storeMouse),C=D),o||g.css(\"width\",g.outerWidth(E)),this.reposition(c,arguments[2]),o||g.css(\"width\",\"\"),l.solo&&(\"string\"==typeof l.solo?d(l.solo):d(W,l.solo)).not(g).not(l.target).qtip(\"hide\",new d.Event(\"tooltipsolo\"))):(clearTimeout(this.timers.show),delete e.origin,C&&!d(W+'[tracking=\"true\"]:visible',l.solo).not(g).length&&(d(b).unbind(\"mousemove.\"+S),C=E),this.blur(c)),j=d.proxy(function(){a?(da.ie&&g[0].style.removeAttribute(\"filter\"),g.css(\"overflow\",\"\"),\"string\"==typeof l.autofocus&&d(this.options.show.autofocus,g).focus(),this.options.show.target.trigger(\"qtip-\"+this.id+\"-inactive\")):g.css({display:\"\",visibility:\"\",opacity:\"\",left:\"\",top:\"\"}),this._trigger(a?\"visible\":\"hidden\")},this),l.effect===E||q===E?(g[k](),j()):d.isFunction(l.effect)?(g.stop(1,1),l.effect.call(g,this),g.queue(\"fx\",function(a){j(),a()})):g.fadeTo(90,a?1:0,j),a&&l.target.trigger(\"qtip-\"+this.id+\"-inactive\"),this))},z.show=function(a){return this.toggle(D,a)},z.hide=function(a){return this.toggle(E,a)},z.focus=function(a){if(!this.rendered||this.destroyed)return this;var b=d(W),c=this.tooltip,e=parseInt(c[0].style.zIndex,10),f=y.zindex+b.length;return c.hasClass($)||this._trigger(\"focus\",[f],a)&&(e!==f&&(b.each(function(){this.style.zIndex>e&&(this.style.zIndex=this.style.zIndex-1)}),b.filter(\".\"+$).qtip(\"blur\",a)),c.addClass($)[0].style.zIndex=f),this},z.blur=function(a){return!this.rendered||this.destroyed?this:(this.tooltip.removeClass($),this._trigger(\"blur\",[this.tooltip.css(\"zIndex\")],a),this)},z.disable=function(a){return this.destroyed?this:(\"toggle\"===a?a=!(this.rendered?this.tooltip.hasClass(aa):this.disabled):\"boolean\"!=typeof a&&(a=D),this.rendered&&this.tooltip.toggleClass(aa,a).attr(\"aria-disabled\",a),this.disabled=!!a,this)},z.enable=function(){return this.disable(E)},z._createButton=function(){var a=this,b=this.elements,c=b.tooltip,e=this.options.content.button,f=\"string\"==typeof e,g=f?e:\"Close tooltip\";b.button&&b.button.remove(),e.jquery?b.button=e:b.button=d(\"<a />\",{\"class\":\"qtip-close \"+(this.options.style.widget?\"\":S+\"-icon\"),title:g,\"aria-label\":g}).prepend(d(\"<span />\",{\"class\":\"ui-icon ui-icon-close\",html:\"×\"})),b.button.appendTo(b.titlebar||c).attr(\"role\",\"button\").click(function(b){return c.hasClass(aa)||a.hide(b),E})},z._updateButton=function(a){if(!this.rendered)return E;var b=this.elements.button;a?this._createButton():b.remove()},z._setWidget=function(){var a=this.options.style.widget,b=this.elements,c=b.tooltip,d=c.hasClass(aa);c.removeClass(aa),aa=a?\"ui-state-disabled\":\"qtip-disabled\",c.toggleClass(aa,d),c.toggleClass(\"ui-helper-reset \"+k(),a).toggleClass(Z,this.options.style.def&&!a),b.content&&b.content.toggleClass(k(\"content\"),a),b.titlebar&&b.titlebar.toggleClass(k(\"header\"),a),b.button&&b.button.toggleClass(S+\"-icon\",!a)},z._storeMouse=function(a){return(this.mouse=d.event.fix(a)).type=\"mousemove\",this},z._bind=function(a,b,c,e,f){if(a&&c&&b.length){var g=\".\"+this._id+(e?\"-\"+e:\"\");return d(a).bind((b.split?b:b.join(g+\" \"))+g,d.proxy(c,f||this)),this}},z._unbind=function(a,b){return a&&d(a).unbind(\".\"+this._id+(b?\"-\"+b:\"\")),this},z._trigger=function(a,b,c){var e=new d.Event(\"tooltip\"+a);return e.originalEvent=c&&d.extend({},c)||this.cache.event||F,this.triggering=a,this.tooltip.trigger(e,[this].concat(b||[])),this.triggering=E,!e.isDefaultPrevented()},z._bindEvents=function(a,b,c,e,f,g){var h=c.filter(e).add(e.filter(c)),i=[];h.length&&(d.each(b,function(b,c){var e=d.inArray(c,a);e>-1&&i.push(a.splice(e,1)[0])}),i.length&&(this._bind(h,i,function(a){var b=!!this.rendered&&this.tooltip[0].offsetWidth>0;(b?g:f).call(this,a)}),c=c.not(h),e=e.not(h))),this._bind(c,a,f),this._bind(e,b,g)},z._assignInitialEvents=function(a){function b(a){return this.disabled||this.destroyed?E:(this.cache.event=a&&d.event.fix(a),this.cache.target=a&&d(a.target),clearTimeout(this.timers.show),void(this.timers.show=l.call(this,function(){this.render(\"object\"==typeof a||c.show.ready)},c.prerender?0:c.show.delay)))}var c=this.options,e=c.show.target,f=c.hide.target,g=c.show.event?d.trim(\"\"+c.show.event).split(\" \"):[],h=c.hide.event?d.trim(\"\"+c.hide.event).split(\" \"):[];this._bind(this.elements.target,[\"remove\",\"removeqtip\"],function(){this.destroy(!0)},\"destroy\"),/mouse(over|enter)/i.test(c.show.event)&&!/mouse(out|leave)/i.test(c.hide.event)&&h.push(\"mouseleave\"),this._bind(e,\"mousemove\",function(a){this._storeMouse(a),this.cache.onTarget=D}),this._bindEvents(g,h,e,f,b,function(){return this.timers?void clearTimeout(this.timers.show):E}),(c.show.ready||c.prerender)&&b.call(this,a)},z._assignEvents=function(){var c=this,e=this.options,f=e.position,g=this.tooltip,h=e.show.target,i=e.hide.target,j=f.container,k=f.viewport,l=d(b),q=d(a),r=e.show.event?d.trim(\"\"+e.show.event).split(\" \"):[],s=e.hide.event?d.trim(\"\"+e.hide.event).split(\" \"):[];d.each(e.events,function(a,b){c._bind(g,\"toggle\"===a?[\"tooltipshow\",\"tooltiphide\"]:[\"tooltip\"+a],b,null,g)}),/mouse(out|leave)/i.test(e.hide.event)&&\"window\"===e.hide.leave&&this._bind(l,[\"mouseout\",\"blur\"],function(a){/select|option/.test(a.target.nodeName)||a.relatedTarget||this.hide(a)}),e.hide.fixed?i=i.add(g.addClass(Y)):/mouse(over|enter)/i.test(e.show.event)&&this._bind(i,\"mouseleave\",function(){clearTimeout(this.timers.show)}),(\"\"+e.hide.event).indexOf(\"unfocus\")>-1&&this._bind(j.closest(\"html\"),[\"mousedown\",\"touchstart\"],function(a){var b=d(a.target),c=this.rendered&&!this.tooltip.hasClass(aa)&&this.tooltip[0].offsetWidth>0,e=b.parents(W).filter(this.tooltip[0]).length>0;b[0]===this.target[0]||b[0]===this.tooltip[0]||e||this.target.has(b[0]).length||!c||this.hide(a)}),\"number\"==typeof e.hide.inactive&&(this._bind(h,\"qtip-\"+this.id+\"-inactive\",o,\"inactive\"),this._bind(i.add(g),y.inactiveEvents,o)),this._bindEvents(r,s,h,i,m,n),this._bind(h.add(g),\"mousemove\",function(a){if(\"number\"==typeof e.hide.distance){var b=this.cache.origin||{},c=this.options.hide.distance,d=Math.abs;(d(a.pageX-b.pageX)>=c||d(a.pageY-b.pageY)>=c)&&this.hide(a)}this._storeMouse(a)}),\"mouse\"===f.target&&f.adjust.mouse&&(e.hide.event&&this._bind(h,[\"mouseenter\",\"mouseleave\"],function(a){return this.cache?void(this.cache.onTarget=\"mouseenter\"===a.type):E}),this._bind(l,\"mousemove\",function(a){this.rendered&&this.cache.onTarget&&!this.tooltip.hasClass(aa)&&this.tooltip[0].offsetWidth>0&&this.reposition(a)})),(f.adjust.resize||k.length)&&this._bind(d.event.special.resize?k:q,\"resize\",p),f.adjust.scroll&&this._bind(q.add(f.container),\"scroll\",p)},z._unassignEvents=function(){var c=this.options,e=c.show.target,f=c.hide.target,g=d.grep([this.elements.target[0],this.rendered&&this.tooltip[0],c.position.container[0],c.position.viewport[0],c.position.container.closest(\"html\")[0],a,b],function(a){return\"object\"==typeof a});e&&e.toArray&&(g=g.concat(e.toArray())),f&&f.toArray&&(g=g.concat(f.toArray())),this._unbind(g)._unbind(g,\"destroy\")._unbind(g,\"inactive\")},d(function(){q(W,[\"mouseenter\",\"mouseleave\"],function(a){var b=\"mouseenter\"===a.type,c=d(a.currentTarget),e=d(a.relatedTarget||a.target),f=this.options;b?(this.focus(a),c.hasClass(Y)&&!c.hasClass(aa)&&clearTimeout(this.timers.hide)):\"mouse\"===f.position.target&&f.position.adjust.mouse&&f.hide.event&&f.show.target&&!e.closest(f.show.target[0]).length&&this.hide(a),c.toggleClass(_,b)}),q(\"[\"+U+\"]\",X,o)}),y=d.fn.qtip=function(a,b,e){var f=(\"\"+a).toLowerCase(),g=F,i=d.makeArray(arguments).slice(1),j=i[i.length-1],k=this[0]?d.data(this[0],S):F;return!arguments.length&&k||\"api\"===f?k:\"string\"==typeof a?(this.each(function(){var a=d.data(this,S);if(!a)return D;if(j&&j.timeStamp&&(a.cache.event=j),!b||\"option\"!==f&&\"options\"!==f)a[f]&&a[f].apply(a,i);else{if(e===c&&!d.isPlainObject(b))return g=a.get(b),E;a.set(b,e)}}),g!==F?g:this):\"object\"!=typeof a&&arguments.length?void 0:(k=h(d.extend(D,{},a)),this.each(function(a){var b,c;return c=d.isArray(k.id)?k.id[a]:k.id,c=!c||c===E||c.length<1||y.api[c]?y.nextid++:c,b=r(d(this),c,k),b===E?D:(y.api[c]=b,d.each(R,function(){\"initialize\"===this.initialize&&this(b)}),void b._assignInitialEvents(j))}))},d.qtip=e,y.api={},d.each({attr:function(a,b){if(this.length){var c=this[0],e=\"title\",f=d.data(c,\"qtip\");if(a===e&&f&&f.options&&\"object\"==typeof f&&\"object\"==typeof f.options&&f.options.suppress)return arguments.length<2?d.attr(c,ca):(f&&f.options.content.attr===e&&f.cache.attr&&f.set(\"content.text\",b),this.attr(ca,b))}return d.fn[\"attr\"+ba].apply(this,arguments)},clone:function(a){var b=d.fn[\"clone\"+ba].apply(this,arguments);return a||b.filter(\"[\"+ca+\"]\").attr(\"title\",function(){return d.attr(this,ca)}).removeAttr(ca),b}},function(a,b){if(!b||d.fn[a+ba])return D;var c=d.fn[a+ba]=d.fn[a];d.fn[a]=function(){return b.apply(this,arguments)||c.apply(this,arguments)}}),d.ui||(d[\"cleanData\"+ba]=d.cleanData,d.cleanData=function(a){for(var b,c=0;(b=d(a[c])).length;c++)if(b.attr(T))try{b.triggerHandler(\"removeqtip\")}catch(e){}d[\"cleanData\"+ba].apply(this,arguments)}),y.version=\"3.0.3-5-g\",y.nextid=0,y.inactiveEvents=X,y.zindex=15e3,y.defaults={prerender:E,id:E,overwrite:D,suppress:D,content:{text:D,attr:\"title\",title:E,button:E},position:{my:\"top left\",at:\"bottom right\",target:E,container:E,viewport:E,adjust:{x:0,y:0,mouse:D,scroll:D,resize:D,method:\"flipinvert flipinvert\"},effect:function(a,b){d(this).animate(b,{duration:200,queue:E})}},show:{target:E,event:\"mouseenter\",effect:D,delay:90,solo:E,ready:E,autofocus:E},hide:{target:E,event:\"mouseleave\",effect:D,delay:0,fixed:E,inactive:E,leave:\"window\",distance:E},style:{classes:\"\",widget:E,width:E,height:E,def:D},events:{render:F,move:F,show:F,hide:F,toggle:F,visible:F,hidden:F,focus:F,blur:F}};var ha,ia,ja,ka,la,ma=\"margin\",na=\"border\",oa=\"color\",pa=\"background-color\",qa=\"transparent\",ra=\" !important\",sa=!!b.createElement(\"canvas\").getContext,ta=/rgba?\\(0, 0, 0(, 0)?\\)|transparent|#123456/i,ua={},va=[\"Webkit\",\"O\",\"Moz\",\"ms\"];sa?(ka=a.devicePixelRatio||1,la=function(){var a=b.createElement(\"canvas\").getContext(\"2d\");return a.backingStorePixelRatio||a.webkitBackingStorePixelRatio||a.mozBackingStorePixelRatio||a.msBackingStorePixelRatio||a.oBackingStorePixelRatio||1}(),ja=ka/la):ia=function(a,b,c){return\"<qtipvml:\"+a+' xmlns=\"urn:schemas-microsoft.com:vml\" class=\"qtip-vml\" '+(b||\"\")+' style=\"behavior: url(#default#VML); '+(c||\"\")+'\" />'},d.extend(v.prototype,{init:function(a){var b,c;c=this.element=a.elements.tip=d(\"<div />\",{\"class\":S+\"-tip\"}).prependTo(a.tooltip),sa?(b=d(\"<canvas />\").appendTo(this.element)[0].getContext(\"2d\"),b.lineJoin=\"miter\",b.miterLimit=1e5,b.save()):(b=ia(\"shape\",'coordorigin=\"0,0\"',\"position:absolute;\"),this.element.html(b+b),a._bind(d(\"*\",c).add(c),[\"click\",\"mousedown\"],function(a){a.stopPropagation()},this._ns)),a._bind(a.tooltip,\"tooltipmove\",this.reposition,this._ns,this),this.create()},_swapDimensions:function(){this.size[0]=this.options.height,this.size[1]=this.options.width},_resetDimensions:function(){this.size[0]=this.options.width,this.size[1]=this.options.height},_useTitle:function(a){var b=this.qtip.elements.titlebar;return b&&(a.y===K||a.y===O&&this.element.position().top+this.size[1]/2+this.options.offset<b.outerHeight(D))},_parseCorner:function(a){var b=this.qtip.options.position.my;return a===E||b===E?a=E:a===D?a=new A(b.string()):a.string||(a=new A(a),a.fixed=D),a},_parseWidth:function(a,b,c){var d=this.qtip.elements,e=na+s(b)+\"Width\";return(c?u(c,e):u(d.content,e)||u(this._useTitle(a)&&d.titlebar||d.content,e)||u(d.tooltip,e))||0},_parseRadius:function(a){var b=this.qtip.elements,c=na+s(a.y)+s(a.x)+\"Radius\";return da.ie<9?0:u(this._useTitle(a)&&b.titlebar||b.content,c)||u(b.tooltip,c)||0},_invalidColour:function(a,b,c){var d=a.css(b);return!d||c&&d===a.css(c)||ta.test(d)?E:d},_parseColours:function(a){var b=this.qtip.elements,c=this.element.css(\"cssText\",\"\"),e=na+s(a[a.precedance])+s(oa),f=this._useTitle(a)&&b.titlebar||b.content,g=this._invalidColour,h=[];return h[0]=g(c,pa)||g(f,pa)||g(b.content,pa)||g(b.tooltip,pa)||c.css(pa),h[1]=g(c,e,oa)||g(f,e,oa)||g(b.content,e,oa)||g(b.tooltip,e,oa)||b.tooltip.css(e),d(\"*\",c).add(c).css(\"cssText\",pa+\":\"+qa+ra+\";\"+na+\":0\"+ra+\";\"),h},_calculateSize:function(a){var b,c,d,e=a.precedance===H,f=this.options.width,g=this.options.height,h=\"c\"===a.abbrev(),i=(e?f:g)*(h?.5:1),j=Math.pow,k=Math.round,l=Math.sqrt(j(i,2)+j(g,2)),m=[this.border/i*l,this.border/g*l];return m[2]=Math.sqrt(j(m[0],2)-j(this.border,2)),m[3]=Math.sqrt(j(m[1],2)-j(this.border,2)),b=l+m[2]+m[3]+(h?0:m[0]),c=b/l,d=[k(c*f),k(c*g)],e?d:d.reverse()},_calculateTip:function(a,b,c){c=c||1,b=b||this.size;var d=b[0]*c,e=b[1]*c,f=Math.ceil(d/2),g=Math.ceil(e/2),h={br:[0,0,d,e,d,0],bl:[0,0,d,0,0,e],tr:[0,e,d,0,d,e],tl:[0,0,0,e,d,e],tc:[0,e,f,0,d,e],bc:[0,0,d,0,f,e],rc:[0,0,d,g,0,e],lc:[d,0,d,e,0,g]};return h.lt=h.br,h.rt=h.bl,h.lb=h.tr,h.rb=h.tl,h[a.abbrev()]},_drawCoords:function(a,b){a.beginPath(),a.moveTo(b[0],b[1]),a.lineTo(b[2],b[3]),a.lineTo(b[4],b[5]),a.closePath()},create:function(){var a=this.corner=(sa||da.ie)&&this._parseCorner(this.options.corner);return this.enabled=!!this.corner&&\"c\"!==this.corner.abbrev(),this.enabled&&(this.qtip.cache.corner=a.clone(),this.update()),this.element.toggle(this.enabled),this.corner},update:function(b,c){if(!this.enabled)return this;var e,f,g,h,i,j,k,l,m=this.qtip.elements,n=this.element,o=n.children(),p=this.options,q=this.size,r=p.mimic,s=Math.round;b||(b=this.qtip.cache.corner||this.corner),r===E?r=b:(r=new A(r),r.precedance=b.precedance,\"inherit\"===r.x?r.x=b.x:\"inherit\"===r.y?r.y=b.y:r.x===r.y&&(r[b.precedance]=b[b.precedance])),f=r.precedance,b.precedance===G?this._swapDimensions():this._resetDimensions(),e=this.color=this._parseColours(b),e[1]!==qa?(l=this.border=this._parseWidth(b,b[b.precedance]),p.border&&l<1&&!ta.test(e[1])&&(e[0]=e[1]),this.border=l=p.border!==D?p.border:l):this.border=l=0,k=this.size=this._calculateSize(b),n.css({width:k[0],height:k[1],lineHeight:k[1]+\"px\"}),j=b.precedance===H?[s(r.x===L?l:r.x===N?k[0]-q[0]-l:(k[0]-q[0])/2),s(r.y===K?k[1]-q[1]:0)]:[s(r.x===L?k[0]-q[0]:0),s(r.y===K?l:r.y===M?k[1]-q[1]-l:(k[1]-q[1])/2)],sa?(g=o[0].getContext(\"2d\"),g.restore(),g.save(),g.clearRect(0,0,6e3,6e3),h=this._calculateTip(r,q,ja),i=this._calculateTip(r,this.size,ja),o.attr(I,k[0]*ja).attr(J,k[1]*ja),o.css(I,k[0]).css(J,k[1]),this._drawCoords(g,i),g.fillStyle=e[1],g.fill(),g.translate(j[0]*ja,j[1]*ja),this._drawCoords(g,h),g.fillStyle=e[0],g.fill()):(h=this._calculateTip(r),h=\"m\"+h[0]+\",\"+h[1]+\" l\"+h[2]+\",\"+h[3]+\" \"+h[4]+\",\"+h[5]+\" xe\",j[2]=l&&/^(r|b)/i.test(b.string())?8===da.ie?2:1:0,o.css({coordsize:k[0]+l+\" \"+k[1]+l,antialias:\"\"+(r.string().indexOf(O)>-1),left:j[0]-j[2]*Number(f===G),top:j[1]-j[2]*Number(f===H),width:k[0]+l,height:k[1]+l}).each(function(a){var b=d(this);b[b.prop?\"prop\":\"attr\"]({coordsize:k[0]+l+\" \"+k[1]+l,path:h,fillcolor:e[0],filled:!!a,stroked:!a}).toggle(!(!l&&!a)),!a&&b.html(ia(\"stroke\",'weight=\"'+2*l+'px\" color=\"'+e[1]+'\" miterlimit=\"1000\" joinstyle=\"miter\"'))})),a.opera&&setTimeout(function(){m.tip.css({display:\"inline-block\",visibility:\"visible\"})},1),c!==E&&this.calculate(b,k)},calculate:function(a,b){if(!this.enabled)return E;\nvar c,e,f=this,g=this.qtip.elements,h=this.element,i=this.options.offset,j={};return a=a||this.corner,c=a.precedance,b=b||this._calculateSize(a),e=[a.x,a.y],c===G&&e.reverse(),d.each(e,function(d,e){var h,k,l;e===O?(h=c===H?L:K,j[h]=\"50%\",j[ma+\"-\"+h]=-Math.round(b[c===H?0:1]/2)+i):(h=f._parseWidth(a,e,g.tooltip),k=f._parseWidth(a,e,g.content),l=f._parseRadius(a),j[e]=Math.max(-f.border,d?k:i+(l>h?l:-h)))}),j[a[c]]-=b[c===G?0:1],h.css({margin:\"\",top:\"\",bottom:\"\",left:\"\",right:\"\"}).css(j),j},reposition:function(a,b,d){function e(a,b,c,d,e){a===Q&&j.precedance===b&&k[d]&&j[c]!==O?j.precedance=j.precedance===G?H:G:a!==Q&&k[d]&&(j[b]=j[b]===O?k[d]>0?d:e:j[b]===d?e:d)}function f(a,b,e){j[a]===O?p[ma+\"-\"+b]=o[a]=g[ma+\"-\"+b]-k[b]:(h=g[e]!==c?[k[b],-g[b]]:[-k[b],g[b]],(o[a]=Math.max(h[0],h[1]))>h[0]&&(d[b]-=k[b],o[b]=E),p[g[e]!==c?e:b]=o[a])}if(this.enabled){var g,h,i=b.cache,j=this.corner.clone(),k=d.adjusted,l=b.options.position.adjust.method.split(\" \"),m=l[0],n=l[1]||l[0],o={left:E,top:E,x:0,y:0},p={};this.corner.fixed!==D&&(e(m,G,H,L,N),e(n,H,G,K,M),j.string()===i.corner.string()&&i.cornerTop===k.top&&i.cornerLeft===k.left||this.update(j,E)),g=this.calculate(j),g.right!==c&&(g.left=-g.right),g.bottom!==c&&(g.top=-g.bottom),g.user=this.offset,o.left=m===Q&&!!k.left,o.left&&f(G,L,N),o.top=n===Q&&!!k.top,o.top&&f(H,K,M),this.element.css(p).toggle(!(o.x&&o.y||j.x===O&&o.y||j.y===O&&o.x)),d.left-=g.left.charAt?g.user:m!==Q||o.top||!o.left&&!o.top?g.left+this.border:0,d.top-=g.top.charAt?g.user:n!==Q||o.left||!o.left&&!o.top?g.top+this.border:0,i.cornerLeft=k.left,i.cornerTop=k.top,i.corner=j.clone()}},destroy:function(){this.qtip._unbind(this.qtip.tooltip,this._ns),this.qtip.elements.tip&&this.qtip.elements.tip.find(\"*\").remove().end().remove()}}),ha=R.tip=function(a){return new v(a,a.options.style.tip)},ha.initialize=\"render\",ha.sanitize=function(a){if(a.style&&\"tip\"in a.style){var b=a.style.tip;\"object\"!=typeof b&&(b=a.style.tip={corner:b}),/string|boolean/i.test(typeof b.corner)||(b.corner=D)}},B.tip={\"^position.my|style.tip.(corner|mimic|border)$\":function(){this.create(),this.qtip.reposition()},\"^style.tip.(height|width)$\":function(a){this.size=[a.width,a.height],this.update(),this.qtip.reposition()},\"^content.title|style.(classes|widget)$\":function(){this.update()}},d.extend(D,y.defaults,{style:{tip:{corner:D,mimic:E,width:6,height:6,border:D,offset:0}}});var wa,xa,ya=\"qtip-modal\",za=\".\"+ya;xa=function(){function a(a){if(d.expr[\":\"].focusable)return d.expr[\":\"].focusable;var b,c,e,f=!isNaN(d.attr(a,\"tabindex\")),g=a.nodeName&&a.nodeName.toLowerCase();return\"area\"===g?(b=a.parentNode,c=b.name,!(!a.href||!c||\"map\"!==b.nodeName.toLowerCase())&&(e=d(\"img[usemap=#\"+c+\"]\")[0],!!e&&e.is(\":visible\"))):/input|select|textarea|button|object/.test(g)?!a.disabled:\"a\"===g?a.href||f:f}function c(a){j.length<1&&a.length?a.not(\"body\").blur():j.first().focus()}function e(a){if(h.is(\":visible\")){var b,e=d(a.target),g=f.tooltip,i=e.closest(W);b=i.length<1?E:parseInt(i[0].style.zIndex,10)>parseInt(g[0].style.zIndex,10),b||e.closest(W)[0]===g[0]||c(e)}}var f,g,h,i=this,j={};d.extend(i,{init:function(){return h=i.elem=d(\"<div />\",{id:\"qtip-overlay\",html:\"<div></div>\",mousedown:function(){return E}}).hide(),d(b.body).bind(\"focusin\"+za,e),d(b).bind(\"keydown\"+za,function(a){f&&f.options.show.modal.escape&&27===a.keyCode&&f.hide(a)}),h.bind(\"click\"+za,function(a){f&&f.options.show.modal.blur&&f.hide(a)}),i},update:function(b){f=b,j=b.options.show.modal.stealfocus!==E?b.tooltip.find(\"*\").filter(function(){return a(this)}):[]},toggle:function(a,e,j){var k=a.tooltip,l=a.options.show.modal,m=l.effect,n=e?\"show\":\"hide\",o=h.is(\":visible\"),p=d(za).filter(\":visible:not(:animated)\").not(k);return i.update(a),e&&l.stealfocus!==E&&c(d(\":focus\")),h.toggleClass(\"blurs\",l.blur),e&&h.appendTo(b.body),h.is(\":animated\")&&o===e&&g!==E||!e&&p.length?i:(h.stop(D,E),d.isFunction(m)?m.call(h,e):m===E?h[n]():h.fadeTo(parseInt(j,10)||90,e?1:0,function(){e||h.hide()}),e||h.queue(function(a){h.css({left:\"\",top:\"\"}),d(za).length||h.detach(),a()}),g=e,f.destroyed&&(f=F),i)}}),i.init()},xa=new xa,d.extend(w.prototype,{init:function(a){var b=a.tooltip;return this.options.on?(a.elements.overlay=xa.elem,b.addClass(ya).css(\"z-index\",y.modal_zindex+d(za).length),a._bind(b,[\"tooltipshow\",\"tooltiphide\"],function(a,c,e){var f=a.originalEvent;if(a.target===b[0])if(f&&\"tooltiphide\"===a.type&&/mouse(leave|enter)/.test(f.type)&&d(f.relatedTarget).closest(xa.elem[0]).length)try{a.preventDefault()}catch(g){}else(!f||f&&\"tooltipsolo\"!==f.type)&&this.toggle(a,\"tooltipshow\"===a.type,e)},this._ns,this),a._bind(b,\"tooltipfocus\",function(a,c){if(!a.isDefaultPrevented()&&a.target===b[0]){var e=d(za),f=y.modal_zindex+e.length,g=parseInt(b[0].style.zIndex,10);xa.elem[0].style.zIndex=f-1,e.each(function(){this.style.zIndex>g&&(this.style.zIndex-=1)}),e.filter(\".\"+$).qtip(\"blur\",a.originalEvent),b.addClass($)[0].style.zIndex=f,xa.update(c);try{a.preventDefault()}catch(h){}}},this._ns,this),void a._bind(b,\"tooltiphide\",function(a){a.target===b[0]&&d(za).filter(\":visible\").not(b).last().qtip(\"focus\",a)},this._ns,this)):this},toggle:function(a,b,c){return a&&a.isDefaultPrevented()?this:void xa.toggle(this.qtip,!!b,c)},destroy:function(){this.qtip.tooltip.removeClass(ya),this.qtip._unbind(this.qtip.tooltip,this._ns),xa.toggle(this.qtip,E),delete this.qtip.elements.overlay}}),wa=R.modal=function(a){return new w(a,a.options.show.modal)},wa.sanitize=function(a){a.show&&(\"object\"!=typeof a.show.modal?a.show.modal={on:!!a.show.modal}:\"undefined\"==typeof a.show.modal.on&&(a.show.modal.on=D))},y.modal_zindex=y.zindex-200,wa.initialize=\"render\",B.modal={\"^show.modal.(on|blur)$\":function(){this.destroy(),this.init(),this.qtip.elems.overlay.toggle(this.qtip.tooltip[0].offsetWidth>0)}},d.extend(D,y.defaults,{show:{modal:{on:E,effect:D,blur:D,stealfocus:D,escape:D}}}),R.viewport=function(c,d,e,f,g,h,i){function j(a,b,c,e,f,g,h,i,j){var k=d[f],s=u[a],t=v[a],w=c===Q,x=s===f?j:s===g?-j:-j/2,y=t===f?i:t===g?-i:-i/2,z=q[f]+r[f]-(n?0:m[f]),A=z-k,B=k+j-(h===I?o:p)-z,C=x-(u.precedance===a||s===u[b]?y:0)-(t===O?i/2:0);return w?(C=(s===f?1:-1)*x,d[f]+=A>0?A:B>0?-B:0,d[f]=Math.max(-m[f]+r[f],k-C,Math.min(Math.max(-m[f]+r[f]+(h===I?o:p),k+C),d[f],\"center\"===s?k-x:1e9))):(e*=c===P?2:0,A>0&&(s!==f||B>0)?(d[f]-=C+e,l.invert(a,f)):B>0&&(s!==g||A>0)&&(d[f]-=(s===O?-C:C)+e,l.invert(a,g)),d[f]<q[f]&&-d[f]>B&&(d[f]=k,l=u.clone())),d[f]-k}var k,l,m,n,o,p,q,r,s=e.target,t=c.elements.tooltip,u=e.my,v=e.at,w=e.adjust,x=w.method.split(\" \"),y=x[0],z=x[1]||x[0],A=e.viewport,B=e.container,C={left:0,top:0};return A.jquery&&s[0]!==a&&s[0]!==b.body&&\"none\"!==w.method?(m=B.offset()||C,n=\"static\"===B.css(\"position\"),k=\"fixed\"===t.css(\"position\"),o=A[0]===a?A.width():A.outerWidth(E),p=A[0]===a?A.height():A.outerHeight(E),q={left:k?0:A.scrollLeft(),top:k?0:A.scrollTop()},r=A.offset()||C,\"shift\"===y&&\"shift\"===z||(l=u.clone()),C={left:\"none\"!==y?j(G,H,y,w.x,L,N,I,f,h):0,top:\"none\"!==z?j(H,G,z,w.y,K,M,J,g,i):0,my:l}):C},R.polys={polygon:function(a,b){var c,d,e,f={width:0,height:0,position:{top:1e10,right:0,bottom:0,left:1e10},adjustable:E},g=0,h=[],i=1,j=1,k=0,l=0;for(g=a.length;g--;)c=[parseInt(a[--g],10),parseInt(a[g+1],10)],c[0]>f.position.right&&(f.position.right=c[0]),c[0]<f.position.left&&(f.position.left=c[0]),c[1]>f.position.bottom&&(f.position.bottom=c[1]),c[1]<f.position.top&&(f.position.top=c[1]),h.push(c);if(d=f.width=Math.abs(f.position.right-f.position.left),e=f.height=Math.abs(f.position.bottom-f.position.top),\"c\"===b.abbrev())f.position={left:f.position.left+f.width/2,top:f.position.top+f.height/2};else{for(;d>0&&e>0&&i>0&&j>0;)for(d=Math.floor(d/2),e=Math.floor(e/2),b.x===L?i=d:b.x===N?i=f.width-d:i+=Math.floor(d/2),b.y===K?j=e:b.y===M?j=f.height-e:j+=Math.floor(e/2),g=h.length;g--&&!(h.length<2);)k=h[g][0]-f.position.left,l=h[g][1]-f.position.top,(b.x===L&&k>=i||b.x===N&&k<=i||b.x===O&&(k<i||k>f.width-i)||b.y===K&&l>=j||b.y===M&&l<=j||b.y===O&&(l<j||l>f.height-j))&&h.splice(g,1);f.position={left:h[0][0],top:h[0][1]}}return f},rect:function(a,b,c,d){return{width:Math.abs(c-a),height:Math.abs(d-b),position:{left:Math.min(a,c),top:Math.min(b,d)}}},_angles:{tc:1.5,tr:7/4,tl:5/4,bc:.5,br:.25,bl:.75,rc:2,lc:1,c:0},ellipse:function(a,b,c,d,e){var f=R.polys._angles[e.abbrev()],g=0===f?0:c*Math.cos(f*Math.PI),h=d*Math.sin(f*Math.PI);return{width:2*c-Math.abs(g),height:2*d-Math.abs(h),position:{left:a+g,top:b+h},adjustable:E}},circle:function(a,b,c,d){return R.polys.ellipse(a,b,c,c,d)}},R.svg=function(a,c,e){for(var f,g,h,i,j,k,l,m,n,o=c[0],p=d(o.ownerSVGElement),q=o.ownerDocument,r=(parseInt(c.css(\"stroke-width\"),10)||0)/2;!o.getBBox;)o=o.parentNode;if(!o.getBBox||!o.parentNode)return E;switch(o.nodeName){case\"ellipse\":case\"circle\":m=R.polys.ellipse(o.cx.baseVal.value,o.cy.baseVal.value,(o.rx||o.r).baseVal.value+r,(o.ry||o.r).baseVal.value+r,e);break;case\"line\":case\"polygon\":case\"polyline\":for(l=o.points||[{x:o.x1.baseVal.value,y:o.y1.baseVal.value},{x:o.x2.baseVal.value,y:o.y2.baseVal.value}],m=[],k=-1,i=l.numberOfItems||l.length;++k<i;)j=l.getItem?l.getItem(k):l[k],m.push.apply(m,[j.x,j.y]);m=R.polys.polygon(m,e);break;default:m=o.getBBox(),m={width:m.width,height:m.height,position:{left:m.x,top:m.y}}}return n=m.position,p=p[0],p.createSVGPoint&&(g=o.getScreenCTM(),l=p.createSVGPoint(),l.x=n.left,l.y=n.top,h=l.matrixTransform(g),n.left=h.x,n.top=h.y),q!==b&&\"mouse\"!==a.position.target&&(f=d((q.defaultView||q.parentWindow).frameElement).offset(),f&&(n.left+=f.left,n.top+=f.top)),q=d(q),n.left+=q.scrollLeft(),n.top+=q.scrollTop(),m},R.imagemap=function(a,b,c){b.jquery||(b=d(b));var e,f,g,h,i,j=(b.attr(\"shape\")||\"rect\").toLowerCase().replace(\"poly\",\"polygon\"),k=d('img[usemap=\"#'+b.parent(\"map\").attr(\"name\")+'\"]'),l=d.trim(b.attr(\"coords\")),m=l.replace(/,$/,\"\").split(\",\");if(!k.length)return E;if(\"polygon\"===j)h=R.polys.polygon(m,c);else{if(!R.polys[j])return E;for(g=-1,i=m.length,f=[];++g<i;)f.push(parseInt(m[g],10));h=R.polys[j].apply(this,f.concat(c))}return e=k.offset(),e.left+=Math.ceil((k.outerWidth(E)-k.width())/2),e.top+=Math.ceil((k.outerHeight(E)-k.height())/2),h.position.left+=e.left,h.position.top+=e.top,h};var Aa,Ba='<iframe class=\"qtip-bgiframe\" frameborder=\"0\" tabindex=\"-1\" src=\"javascript:\\'\\';\" style=\"display:block; position:absolute; z-index:-1; filter:alpha(opacity=0); -ms-filter:\"progid:DXImageTransform.Microsoft.Alpha(Opacity=0)\";\"></iframe>';d.extend(x.prototype,{_scroll:function(){var b=this.qtip.elements.overlay;b&&(b[0].style.top=d(a).scrollTop()+\"px\")},init:function(c){var e=c.tooltip;d(\"select, object\").length<1&&(this.bgiframe=c.elements.bgiframe=d(Ba).appendTo(e),c._bind(e,\"tooltipmove\",this.adjustBGIFrame,this._ns,this)),this.redrawContainer=d(\"<div/>\",{id:S+\"-rcontainer\"}).appendTo(b.body),c.elements.overlay&&c.elements.overlay.addClass(\"qtipmodal-ie6fix\")&&(c._bind(a,[\"scroll\",\"resize\"],this._scroll,this._ns,this),c._bind(e,[\"tooltipshow\"],this._scroll,this._ns,this)),this.redraw()},adjustBGIFrame:function(){var a,b,c=this.qtip.tooltip,d={height:c.outerHeight(E),width:c.outerWidth(E)},e=this.qtip.plugins.tip,f=this.qtip.elements.tip;b=parseInt(c.css(\"borderLeftWidth\"),10)||0,b={left:-b,top:-b},e&&f&&(a=\"x\"===e.corner.precedance?[I,L]:[J,K],b[a[1]]-=f[a[0]]()),this.bgiframe.css(b).css(d)},redraw:function(){if(this.qtip.rendered<1||this.drawing)return this;var a,b,c,d,e=this.qtip.tooltip,f=this.qtip.options.style,g=this.qtip.options.position.container;return this.qtip.drawing=1,f.height&&e.css(J,f.height),f.width?e.css(I,f.width):(e.css(I,\"\").appendTo(this.redrawContainer),b=e.width(),b%2<1&&(b+=1),c=e.css(\"maxWidth\")||\"\",d=e.css(\"minWidth\")||\"\",a=(c+d).indexOf(\"%\")>-1?g.width()/100:0,c=(c.indexOf(\"%\")>-1?a:1*parseInt(c,10))||b,d=(d.indexOf(\"%\")>-1?a:1*parseInt(d,10))||0,b=c+d?Math.min(Math.max(b,d),c):b,e.css(I,Math.round(b)).appendTo(g)),this.drawing=0,this},destroy:function(){this.bgiframe&&this.bgiframe.remove(),this.qtip._unbind([a,this.qtip.tooltip],this._ns)}}),Aa=R.ie6=function(a){return 6===da.ie?new x(a):E},Aa.initialize=\"render\",B.ie6={\"^content|style$\":function(){this.redraw()}}})}(window,document);\n//# sourceMappingURL=jquery.qtip.min.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./packages/@okta/qtip2/dist/jquery.qtip.min.js\n// module id = 168\n// module chunks = 0","var classof = require('./_classof');\nvar ITERATOR = require('./_wks')('iterator');\nvar Iterators = require('./_iterators');\nmodule.exports = require('./_core').getIteratorMethod = function (it) {\n if (it != undefined) return it[ITERATOR]\n || it['@@iterator']\n || Iterators[classof(it)];\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/core.get-iterator-method.js\n// module id = 169\n// module chunks = 0","// getting tag from 19.1.3.6 Object.prototype.toString()\nvar cof = require('./_cof');\nvar TAG = require('./_wks')('toStringTag');\n// ES3 wrong here\nvar ARG = cof(function () { return arguments; }()) == 'Arguments';\n\n// fallback for IE11 Script Access Denied error\nvar tryGet = function (it, key) {\n try {\n return it[key];\n } catch (e) { /* empty */ }\n};\n\nmodule.exports = function (it) {\n var O, T, B;\n return it === undefined ? 'Undefined' : it === null ? 'Null'\n // @@toStringTag case\n : typeof (T = tryGet(O = Object(it), TAG)) == 'string' ? T\n // builtinTag case\n : ARG ? cof(O)\n // ES3 arguments fallback\n : (B = cof(O)) == 'Object' && typeof O.callee == 'function' ? 'Arguments' : B;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_classof.js\n// module id = 170\n// module chunks = 0","module.exports = { \"default\": require(\"core-js/library/fn/object/keys\"), __esModule: true };\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/babel-runtime/core-js/object/keys.js\n// module id = 171\n// module chunks = 0","module.exports = { \"default\": require(\"core-js/library/fn/promise\"), __esModule: true };\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/babel-runtime/core-js/promise.js\n// module id = 172\n// module chunks = 0","'use strict';\n// 25.4.1.5 NewPromiseCapability(C)\nvar aFunction = require('./_a-function');\n\nfunction PromiseCapability(C) {\n var resolve, reject;\n this.promise = new C(function ($$resolve, $$reject) {\n if (resolve !== undefined || reject !== undefined) throw TypeError('Bad Promise constructor');\n resolve = $$resolve;\n reject = $$reject;\n });\n this.resolve = aFunction(resolve);\n this.reject = aFunction(reject);\n}\n\nmodule.exports.f = function (C) {\n return new PromiseCapability(C);\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_new-promise-capability.js\n// module id = 173\n// module chunks = 0","/*!\n * Copyright (c) 2015-2016, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n\ndefine(['q', 'okta'], function (Q, Okta) {\n\n var $ = Okta.$;\n return {\n getUserAgent: function () {\n return navigator.userAgent;\n },\n isAndroid: function () {\n return /Android/i.test(this.getUserAgent());\n },\n isMessageFromCorrectSource: function ($iframe, event) {\n return event.source === $iframe[0].contentWindow;\n },\n generateDeviceFingerprint: function (oktaDomainUrl, element) {\n var userAgent = this.getUserAgent();\n if (!userAgent) {\n return Q.reject('user agent is not defined');\n } else if (isWindowsPhone(userAgent)) {\n return Q.reject('device fingerprint is not supported on Windows phones');\n }\n\n var deferred = Q.defer();\n var self = this;\n var $iframe;\n\n function isWindowsPhone (userAgent) {\n return userAgent.match(/windows phone|iemobile|wpdesktop/i);\n }\n\n function removeIframe () {\n $iframe.off();\n $iframe.remove();\n window.removeEventListener('message', onMessageReceivedFromOkta, false);\n }\n\n function handleError (reason) {\n removeIframe();\n deferred.reject(reason);\n }\n\n function onMessageReceivedFromOkta (event) {\n if (!self.isMessageFromCorrectSource($iframe, event)) {\n return;\n }\n if (!event || !event.data || event.origin !== oktaDomainUrl) {\n handleError('no data');\n return;\n }\n try {\n var message = JSON.parse(event.data);\n if (message && message.type === 'FingerprintServiceReady') {\n sendMessageToOkta({type: 'GetFingerprint'});\n } else if (message && message.type === 'FingerprintAvailable') {\n removeIframe();\n deferred.resolve(message.fingerprint);\n } else {\n handleError('no data');\n }\n } catch (error) {\n //Ignore any errors since we could get other messages too\n }\n }\n\n function sendMessageToOkta (message) {\n var win = $iframe[0].contentWindow;\n if (win) {\n win.postMessage(JSON.stringify(message), oktaDomainUrl);\n }\n }\n\n // Attach listener\n window.addEventListener('message', onMessageReceivedFromOkta, false);\n // Create and Load devicefingerprint page inside the iframe\n $iframe = $('<iframe>', {\n style: 'display: none;',\n src: oktaDomainUrl + '/auth/services/devicefingerprint'\n });\n element.append($iframe);\n\n return deferred.promise;\n }\n };\n});\n\n\n\n// WEBPACK FOOTER //\n// ./src/util/DeviceFingerprint.js","/*!\n * Copyright (c) 2015-2016, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n\ndefine([\n 'okta',\n './BaseLoginModel',\n 'util/CookieUtil',\n 'util/Enums'\n],\nfunction (Okta, BaseLoginModel, CookieUtil, Enums) {\n\n var _ = Okta._;\n\n return BaseLoginModel.extend({\n\n props: function () {\n var cookieUsername = CookieUtil.getCookieUsername(),\n properties = this.getUsernameAndRemember(cookieUsername);\n\n var props = {\n username: {\n type: 'string',\n validate: function (value) {\n if(_.isEmpty(value)) {\n return Okta.loc('error.username.required', 'login');\n }\n },\n value: properties.username\n },\n lastUsername: ['string', false, cookieUsername],\n context: ['object', false],\n remember: ['boolean', true, properties.remember],\n multiOptionalFactorEnroll: ['boolean', true]\n };\n if (!(this.settings && this.settings.get('features.passwordlessAuth'))) {\n props.password = {\n type: 'string',\n validate: function (value) {\n if(_.isEmpty(value)) {\n return Okta.loc('error.password.required', 'login');\n }\n }\n };\n }\n return props;\n },\n\n getUsernameAndRemember: function (cookieUsername) {\n var settingsUsername = this.settings && this.settings.get('username'),\n rememberMeEnabled = this.settings && this.settings.get('features.rememberMe'),\n remember = false,\n username;\n\n if (settingsUsername) {\n username = settingsUsername;\n remember = rememberMeEnabled && username === cookieUsername;\n }\n else if (rememberMeEnabled && cookieUsername) {\n // Only respect the cookie if the feature is enabled.\n // Allows us to force prompting when necessary, e.g. SAML ForceAuthn\n username = cookieUsername;\n remember = true;\n }\n\n return {\n username: username,\n remember:remember\n };\n },\n\n constructor: function (options) {\n this.settings = options && options.settings;\n this.appState = options && options.appState;\n Okta.Model.apply(this, arguments);\n this.listenTo(this, 'change:username', function (model, username) {\n this.set({remember: username === this.get('lastUsername')});\n });\n },\n parse: function (options) {\n return _.omit(options, ['settings', 'appState']);\n },\n\n save: function () {\n var username = this.settings.transformUsername(this.get('username'), Enums.PRIMARY_AUTH),\n remember = this.get('remember'),\n lastUsername = this.get('lastUsername');\n\n this.setUsernameCookie(username, remember, lastUsername);\n\n //the 'save' event here is triggered and used in the BaseLoginController\n //to disable the primary button on the primary auth form\n this.trigger('save');\n\n this.appState.trigger('loading', true);\n\n var signInArgs = this.getSignInArgs(username);\n\n var primaryAuthPromise;\n\n if (this.appState.get('isUnauthenticated')) {\n var authClient = this.appState.settings.authClient;\n // bootstrapped with stateToken\n if (this.appState.get('isIdxStateToken')) {\n // if its an idx stateToken, we send the parameter as identifier to login API\n primaryAuthPromise = this.doTransaction(function (transaction) {\n return this.doPrimaryAuth(authClient, signInArgs, transaction.login);\n });\n } else {\n primaryAuthPromise = this.doTransaction(function (transaction) {\n return this.doPrimaryAuth(authClient, signInArgs, transaction.authenticate);\n });\n }\n } else {\n //normal username/password flow without stateToken\n primaryAuthPromise = this.startTransaction(function (authClient) {\n return this.doPrimaryAuth(authClient, signInArgs, _.bind(authClient.signIn, authClient));\n });\n }\n\n return primaryAuthPromise\n .fail(_.bind(function () {\n // Specific event handled by the Header for the case where the security image is not\n // enabled and we want to show a spinner. (Triggered only here and handled only by Header).\n this.appState.trigger('removeLoading');\n CookieUtil.removeUsernameCookie();\n }, this))\n .fin(_.bind(function () {\n this.appState.trigger('loading', false);\n }, this));\n },\n\n getSignInArgs: function (username) {\n var multiOptionalFactorEnroll = this.get('multiOptionalFactorEnroll');\n var signInArgs = {};\n\n if (!this.settings.get('features.passwordlessAuth')) {\n signInArgs.password = this.get('password');\n }\n\n // if its an idx stateToken, we send the parameter as identifier to login API\n if (this.appState.get('isIdxStateToken')) {\n signInArgs.identifier = username;\n } else {\n //only post options param for non-idx flows\n signInArgs.username = username;\n signInArgs.options = {\n warnBeforePasswordExpired: true,\n multiOptionalFactorEnroll: multiOptionalFactorEnroll\n };\n }\n return signInArgs;\n },\n\n setUsernameCookie: function (username, remember, lastUsername) {\n // Do not modify the cookie when feature is disabled, relevant for SAML ForceAuthn prompts\n if (this.settings.get('features.rememberMe')) {\n // Only delete the cookie if its owner says so. This allows other\n // users to log in on a one-off basis.\n if (!remember && lastUsername === username) {\n CookieUtil.removeUsernameCookie();\n }\n else if (remember) {\n CookieUtil.setUsernameCookie(username);\n }\n }\n },\n\n doPrimaryAuth: function (authClient, signInArgs, func) {\n var deviceFingerprintEnabled = this.settings.get('features.deviceFingerprinting'),\n typingPatternEnabled = this.settings.get('features.trackTypingPattern');\n\n // Add the custom header for fingerprint, typing pattern if needed, and then remove it afterwards\n // Since we only need to send it for primary auth\n if (deviceFingerprintEnabled) {\n authClient.options.headers['X-Device-Fingerprint'] = this.appState.get('deviceFingerprint');\n }\n if (typingPatternEnabled) {\n authClient.options.headers['X-Typing-Pattern'] = this.appState.get('typingPattern');\n }\n var self = this;\n return func(signInArgs)\n .fin(function () {\n if (deviceFingerprintEnabled) {\n delete authClient.options.headers['X-Device-Fingerprint'];\n self.appState.unset('deviceFingerprint'); //Fingerprint can only be used once\n }\n if (typingPatternEnabled) {\n delete authClient.options.headers['X-Typing-Pattern'];\n self.appState.unset('typingPattern');\n }\n });\n }\n });\n\n});\n\n\n\n// WEBPACK FOOTER //\n// ./src/models/PrimaryAuth.js","/*!\n * Copyright (c) 2015-2016, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n\ndefine(['okta'], function (Okta) {\n var Cookie = Okta.internal.util.Cookie;\n var LAST_USERNAME_COOKIE_NAME = 'ln';\n var DAYS_SAVE_REMEMBER = 365;\n\n var fn = {};\n\n fn.getCookieUsername = function () {\n return Cookie.getCookie(LAST_USERNAME_COOKIE_NAME);\n };\n\n fn.setUsernameCookie = function (username) {\n Cookie.setCookie(LAST_USERNAME_COOKIE_NAME, username, {\n expires: DAYS_SAVE_REMEMBER,\n path: '/'\n });\n };\n\n fn.removeUsernameCookie = function () {\n Cookie.removeCookie(LAST_USERNAME_COOKIE_NAME, { path: '/' });\n };\n\n return fn;\n});\n\n\n\n// WEBPACK FOOTER //\n// ./src/util/CookieUtil.js","\"use strict\";\n\nexports.__esModule = true;\n\nvar _defineProperty = require(\"../core-js/object/define-property\");\n\nvar _defineProperty2 = _interopRequireDefault(_defineProperty);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = function (obj, key, value) {\n if (key in obj) {\n (0, _defineProperty2.default)(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\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/babel-runtime/helpers/defineProperty.js\n// module id = 177\n// module chunks = 0","/*!\n * Copyright (c) 2019, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n\ndefine(['okta', 'util/Enums'], function (Okta, Enums) {\n return Okta.View.extend({\n template: '\\\n <a href=\"#\" class=\"link help\" data-se=\"back-link\">\\\n {{i18n code=\"goback\" bundle=\"login\"}}\\\n </a>\\\n ',\n className: 'auth-footer',\n events: {\n 'click .help': function (e) {\n e.preventDefault();\n this.back();\n }\n },\n back: function () {\n this.state.set('navigateDir', Enums.DIRECTION_BACK);\n this.options.appState.trigger('navigate', '');\n }\n });\n\n});\n\n\n\n// WEBPACK FOOTER //\n// ./src/views/shared/FooterWithBackLink.js","/*!\n * Copyright (c) 2015-2016, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n\n/* eslint complexity:[2, 9] */\n\ndefine([\n 'okta'\n], function (Okta) {\n var fn = {};\n\n fn.getU2fEnrollErrorMessageKeyByCode = function (errorCode) {\n switch (errorCode) {\n default:\n case 1:\n return 'u2f.error.other';\n case 2:\n case 3:\n return 'u2f.error.badRequest';\n case 4:\n return 'u2f.error.unsupported';\n case 5:\n return 'u2f.error.timeout';\n }\n };\n\n fn.getU2fVerifyErrorMessageKeyByCode = function (errorCode, isOneFactor) {\n switch (errorCode){\n case 1: // OTHER_ERROR\n return isOneFactor ? 'u2f.error.other.oneFactor' : 'u2f.error.other';\n case 2: // BAD_REQUEST\n case 3: // CONFIGURATION_UNSUPPORTED\n return isOneFactor ? 'u2f.error.badRequest.oneFactor' : 'u2f.error.badRequest';\n case 4: // DEVICE_INELIGIBLE\n return isOneFactor ? 'u2f.error.unsupported.oneFactor' : 'u2f.error.unsupported';\n case 5: // TIMEOUT\n return 'u2f.error.timeout';\n }\n };\n\n fn.getU2fEnrollErrorMessageByCode = function (errorCode) {\n return Okta.loc(fn.getU2fEnrollErrorMessageKeyByCode(errorCode), 'login');\n };\n\n fn.getU2fVerifyErrorMessageByCode = function (errorCode, isOneFactor) {\n return Okta.loc(fn.getU2fVerifyErrorMessageKeyByCode(errorCode, isOneFactor), 'login');\n };\n\n fn.getU2fVersion = function () {\n return 'U2F_V2';\n };\n\n fn.isU2fAvailable = function () {\n return window.hasOwnProperty('u2f');\n };\n\n return fn;\n});\n\n\n\n// WEBPACK FOOTER //\n// ./src/util/FidoUtil.js","/*!\n * Copyright (c) 2015-2016, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n\n/* global Uint8Array */\n\ndefine(function () {\n var fn = {};\n\n /**\n * Light weight hashing algorithm that hashes string into an integer between 0 and 4294967295\n * Not recommended for data set of size greater than 10000\n * https://www.npmjs.com/package/string-hash\n *\n * @param str the string to be hashed\n * @returns string hash of integer type\n */\n fn.getStringHash = function (str) {\n var hash = 5381,\n i = str.length;\n while(i) {\n hash = (hash * 33) ^ str.charCodeAt(--i);\n }\n return hash >>> 0;\n };\n\n /**\n * Converts any url safe characters in a base64 string to regular base64 characters\n * @param str base64 string that might contain url safe characters\n * @returns base64 formatted string\n */\n fn.base64UrlSafeToBase64 = function (str) {\n return str.replace(new RegExp('_', 'g'), '/').replace(new RegExp('-', 'g'), '+');\n };\n\n /**\n * Converts an ArrayBuffer object that contains binary data to base64 encoded string\n * @param bin ArrayBuffer object\n * @returns base64 encoded string\n */\n fn.binToStr = function (bin) {\n return btoa(new Uint8Array(bin).reduce(\n (s, byte) => s + String.fromCharCode(byte), ''\n ));\n };\n\n /**\n * Converts base64 string to binary data view\n * @param str in base64 or base64UrlSafe format\n * @returns converted Uint8Array view of binary data\n */\n fn.strToBin = function (str) {\n return Uint8Array.from(atob(this.base64UrlSafeToBase64(str)), c => c.charCodeAt(0));\n };\n\n return fn;\n});\n\n\n// WEBPACK FOOTER //\n// ./src/util/CryptoUtil.js","/*!\n * Copyright (c) 2015-2016, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n\ndefine([\n 'okta',\n './Bundles',\n './countryCallingCodes'\n],\nfunction (Okta, bundles, countryCallingCodes) {\n var _ = Okta._;\n var fn = {};\n\n // () => [{ countryCode: countryName }], sorted by countryName\n fn.getCountries = function () {\n // HM, BV, and TF do not have phone prefixes, so don't give the\n // user the option to choose these countries. FYI it appears that these\n // countries do not have calling codes because they are ~~uninhabited~~\n var countries = _.omit(bundles.country, 'HM', 'BV', 'TF');\n\n // Sort it; figure out if there is a better way to do this (best would\n // be to sort it in the properties file!!)\n var collection = _.map(countries, function (name, code) {\n return { name: name, code: code };\n });\n collection = _.sortBy(collection, 'name');\n var sorted = {};\n _.each(collection, function (country) {\n sorted[country.code] = country.name;\n });\n\n return sorted;\n };\n\n fn.getCallingCodeForCountry = function (countryCode) {\n return countryCallingCodes[countryCode];\n };\n\n return fn;\n\n});\n\n\n\n// WEBPACK FOOTER //\n// ./src/util/CountryUtil.js","/*!\n * Copyright (c) 2015-2016, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n\ndefine([\n 'okta',\n 'util/FactorUtil',\n 'util/RouterUtil'\n], function (Okta, FactorUtil, RouterUtil) {\n\n var _ = Okta._;\n\n return Okta.View.extend({\n className: 'scan-instructions clearfix',\n template: '\\\n <div class=\"scan-instructions-details-wrapper\">\\\n <div class=\"scan-instructions-details\">\\\n <p>{{instructions}}</p>\\\n </div>\\\n </div>\\\n <div class=\"scan-instructions-qrcode-wrapper\">\\\n <div class=\"qrcode-wrap\">\\\n <img data-se=\"qrcode\" class=\"qrcode-image\" src=\"{{qrcode}}\">\\\n <div data-se=\"qrcode-success\" class=\"qrcode-success\"></div>\\\n <div data-se=\"qrcode-error\" class=\"qrcode-error\"></div>\\\n </div>\\\n <a href=\"#\" data-type=\"manual-setup\" data-se=\"manual-setup\" class=\"link manual-setup\">\\\n {{i18n code=\"enroll.totp.cannotScan\" bundle=\"login\"}}\\\n </a>\\\n <a href=\"#\" data-type=\"refresh-qrcode\" data-se=\"refresh-qrcode\" class=\"link refresh-qrcode\">\\\n {{i18n code=\"enroll.totp.refreshBarcode\" bundle=\"login\"}}\\\n </a>\\\n </div>\\\n ',\n\n events: {\n 'click [data-type=\"manual-setup\"]': function (e) {\n e.preventDefault();\n const url = RouterUtil.createActivateFactorUrl(this.model.get('__provider__'),\n this.model.get('__factorType__'), 'manual');\n if (this.model.get('__factorType__') === 'push') {\n // cancel the poll and navigate to manual setup.\n this.model.doTransaction(function (transaction) {\n return transaction.prev()\n .then(function (trans) {\n var factor = _.findWhere(trans.factors, {\n factorType: 'push',\n provider: 'OKTA'\n });\n return factor.enroll();\n });\n }).then(() => {\n this.options.appState.trigger('navigate', url);\n });\n } else {\n this.options.appState.trigger('navigate', url);\n }\n },\n 'click [data-type=\"refresh-qrcode\"]': function (e) {\n e.preventDefault();\n this.model.trigger('errors:clear');\n\n var self = this;\n this.model.doTransaction(function (transaction) {\n if (this.appState.get('isWaitingForActivation')) {\n return transaction.poll();\n } else {\n return transaction.activate();\n }\n })\n .then(function (trans) {\n var res = trans.data;\n if ((res.status === 'MFA_ENROLL_ACTIVATE' || res.status === 'FACTOR_ENROLL_ACTIVATE')\n && res.factorResult === 'WAITING') {\n // defer the render here to have a lastResponse set in AppState\n // so that we get new QRcode rendered\n _.defer(_.bind(self.render, self));\n }\n });\n }\n },\n\n initialize: function () {\n this.listenTo(this.options.appState, 'change:lastAuthResponse', function () {\n if (this.options.appState.get('isMfaEnrollActivate')) {\n this.$el.toggleClass('qrcode-expired', !this.options.appState.get('isWaitingForActivation'));\n } else if (this.options.appState.get('isSuccessResponse')) {\n this.$el.addClass('qrcode-success');\n }\n });\n this.listenTo(this.model, 'error', function () {\n if (this.options.appState.get('isMfaEnrollActivate')) {\n this.$el.toggleClass('qrcode-expired', true);\n }\n });\n },\n\n getTemplateData: function () {\n var factorName = FactorUtil.getFactorLabel(this.model.get('__provider__'), this.model.get('__factorType__'));\n var instructions;\n if (this.model.get('__provider__') === 'GOOGLE') {\n instructions = Okta.loc('enroll.totp.setupGoogleAuthApp', 'login', [factorName]);\n } else {\n instructions = Okta.loc('enroll.totp.setupApp', 'login', [factorName]);\n }\n return {\n instructions: instructions,\n qrcode: this.options.appState.get('qrcode')\n };\n }\n });\n\n});\n\n\n\n// WEBPACK FOOTER //\n// ./src/views/enroll-factors/BarcodeView.js","module.exports = !require('./_descriptors') && !require('./_fails')(function () {\n return Object.defineProperty(require('./_dom-create')('div'), 'a', { get: function () { return 7; } }).a != 7;\n});\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/_ie8-dom-define.js\n// module id = 183\n// module chunks = 0","exports.f = require('./_wks');\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/_wks-ext.js\n// module id = 184\n// module chunks = 0","var has = require('./_has');\nvar toIObject = require('./_to-iobject');\nvar arrayIndexOf = require('./_array-includes')(false);\nvar IE_PROTO = require('./_shared-key')('IE_PROTO');\n\nmodule.exports = function (object, names) {\n var O = toIObject(object);\n var i = 0;\n var result = [];\n var key;\n for (key in O) if (key != IE_PROTO) has(O, key) && result.push(key);\n // Don't enum bug & hidden keys\n while (names.length > i) if (has(O, key = names[i++])) {\n ~arrayIndexOf(result, key) || result.push(key);\n }\n return result;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/_object-keys-internal.js\n// module id = 185\n// module chunks = 0","var dP = require('./_object-dp');\nvar anObject = require('./_an-object');\nvar getKeys = require('./_object-keys');\n\nmodule.exports = require('./_descriptors') ? Object.defineProperties : function defineProperties(O, Properties) {\n anObject(O);\n var keys = getKeys(Properties);\n var length = keys.length;\n var i = 0;\n var P;\n while (length > i) dP.f(O, P = keys[i++], Properties[P]);\n return O;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/_object-dps.js\n// module id = 186\n// module chunks = 0","// fallback for IE11 buggy Object.getOwnPropertyNames with iframe and window\nvar toIObject = require('./_to-iobject');\nvar gOPN = require('./_object-gopn').f;\nvar toString = {}.toString;\n\nvar windowNames = typeof window == 'object' && window && Object.getOwnPropertyNames\n ? Object.getOwnPropertyNames(window) : [];\n\nvar getWindowNames = function (it) {\n try {\n return gOPN(it);\n } catch (e) {\n return windowNames.slice();\n }\n};\n\nmodule.exports.f = function getOwnPropertyNames(it) {\n return windowNames && toString.call(it) == '[object Window]' ? getWindowNames(it) : gOPN(toIObject(it));\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/_object-gopn-ext.js\n// module id = 187\n// module chunks = 0","'use strict';\n// 19.1.2.1 Object.assign(target, source, ...)\nvar DESCRIPTORS = require('./_descriptors');\nvar getKeys = require('./_object-keys');\nvar gOPS = require('./_object-gops');\nvar pIE = require('./_object-pie');\nvar toObject = require('./_to-object');\nvar IObject = require('./_iobject');\nvar $assign = Object.assign;\n\n// should work with symbols and should have deterministic property order (V8 bug)\nmodule.exports = !$assign || require('./_fails')(function () {\n var A = {};\n var B = {};\n // eslint-disable-next-line no-undef\n var S = Symbol();\n var K = 'abcdefghijklmnopqrst';\n A[S] = 7;\n K.split('').forEach(function (k) { B[k] = k; });\n return $assign({}, A)[S] != 7 || Object.keys($assign({}, B)).join('') != K;\n}) ? function assign(target, source) { // eslint-disable-line no-unused-vars\n var T = toObject(target);\n var aLen = arguments.length;\n var index = 1;\n var getSymbols = gOPS.f;\n var isEnum = pIE.f;\n while (aLen > index) {\n var S = IObject(arguments[index++]);\n var keys = getSymbols ? getKeys(S).concat(getSymbols(S)) : getKeys(S);\n var length = keys.length;\n var j = 0;\n var key;\n while (length > j) {\n key = keys[j++];\n if (!DESCRIPTORS || isEnum.call(S, key)) T[key] = S[key];\n }\n } return T;\n} : $assign;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/_object-assign.js\n// module id = 188\n// module chunks = 0","// 7.2.9 SameValue(x, y)\nmodule.exports = Object.is || function is(x, y) {\n // eslint-disable-next-line no-self-compare\n return x === y ? x !== 0 || 1 / x === 1 / y : x != x && y != y;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/_same-value.js\n// module id = 189\n// module chunks = 0","'use strict';\nvar aFunction = require('./_a-function');\nvar isObject = require('./_is-object');\nvar invoke = require('./_invoke');\nvar arraySlice = [].slice;\nvar factories = {};\n\nvar construct = function (F, len, args) {\n if (!(len in factories)) {\n for (var n = [], i = 0; i < len; i++) n[i] = 'a[' + i + ']';\n // eslint-disable-next-line no-new-func\n factories[len] = Function('F,a', 'return new F(' + n.join(',') + ')');\n } return factories[len](F, args);\n};\n\nmodule.exports = Function.bind || function bind(that /* , ...args */) {\n var fn = aFunction(this);\n var partArgs = arraySlice.call(arguments, 1);\n var bound = function (/* args... */) {\n var args = partArgs.concat(arraySlice.call(arguments));\n return this instanceof bound ? construct(fn, args.length, args) : invoke(fn, args, that);\n };\n if (isObject(fn.prototype)) bound.prototype = fn.prototype;\n return bound;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/_bind.js\n// module id = 190\n// module chunks = 0","// fast apply, http://jsperf.lnkit.com/fast-apply/5\nmodule.exports = function (fn, args, that) {\n var un = that === undefined;\n switch (args.length) {\n case 0: return un ? fn()\n : fn.call(that);\n case 1: return un ? fn(args[0])\n : fn.call(that, args[0]);\n case 2: return un ? fn(args[0], args[1])\n : fn.call(that, args[0], args[1]);\n case 3: return un ? fn(args[0], args[1], args[2])\n : fn.call(that, args[0], args[1], args[2]);\n case 4: return un ? fn(args[0], args[1], args[2], args[3])\n : fn.call(that, args[0], args[1], args[2], args[3]);\n } return fn.apply(that, args);\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/_invoke.js\n// module id = 191\n// module chunks = 0","var $parseInt = require('./_global').parseInt;\nvar $trim = require('./_string-trim').trim;\nvar ws = require('./_string-ws');\nvar hex = /^[-+]?0[xX]/;\n\nmodule.exports = $parseInt(ws + '08') !== 8 || $parseInt(ws + '0x16') !== 22 ? function parseInt(str, radix) {\n var string = $trim(String(str), 3);\n return $parseInt(string, (radix >>> 0) || (hex.test(string) ? 16 : 10));\n} : $parseInt;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/_parse-int.js\n// module id = 192\n// module chunks = 0","var $parseFloat = require('./_global').parseFloat;\nvar $trim = require('./_string-trim').trim;\n\nmodule.exports = 1 / $parseFloat(require('./_string-ws') + '-0') !== -Infinity ? function parseFloat(str) {\n var string = $trim(String(str), 3);\n var result = $parseFloat(string);\n return result === 0 && string.charAt(0) == '-' ? -0 : result;\n} : $parseFloat;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/_parse-float.js\n// module id = 193\n// module chunks = 0","var cof = require('./_cof');\nmodule.exports = function (it, msg) {\n if (typeof it != 'number' && cof(it) != 'Number') throw TypeError(msg);\n return +it;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/_a-number-value.js\n// module id = 194\n// module chunks = 0","// 20.1.2.3 Number.isInteger(number)\nvar isObject = require('./_is-object');\nvar floor = Math.floor;\nmodule.exports = function isInteger(it) {\n return !isObject(it) && isFinite(it) && floor(it) === it;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/_is-integer.js\n// module id = 195\n// module chunks = 0","// 20.2.2.20 Math.log1p(x)\nmodule.exports = Math.log1p || function log1p(x) {\n return (x = +x) > -1e-8 && x < 1e-8 ? x - x * x / 2 : Math.log(1 + x);\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/_math-log1p.js\n// module id = 196\n// module chunks = 0","// 20.2.2.16 Math.fround(x)\nvar sign = require('./_math-sign');\nvar pow = Math.pow;\nvar EPSILON = pow(2, -52);\nvar EPSILON32 = pow(2, -23);\nvar MAX32 = pow(2, 127) * (2 - EPSILON32);\nvar MIN32 = pow(2, -126);\n\nvar roundTiesToEven = function (n) {\n return n + 1 / EPSILON - 1 / EPSILON;\n};\n\nmodule.exports = Math.fround || function fround(x) {\n var $abs = Math.abs(x);\n var $sign = sign(x);\n var a, result;\n if ($abs < MIN32) return $sign * roundTiesToEven($abs / MIN32 / EPSILON32) * MIN32 * EPSILON32;\n a = (1 + EPSILON32 / EPSILON) * $abs;\n result = a - (a - $abs);\n // eslint-disable-next-line no-self-compare\n if (result > MAX32 || result != result) return $sign * Infinity;\n return $sign * result;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/_math-fround.js\n// module id = 197\n// module chunks = 0","// call something on iterator step with safe closing on error\nvar anObject = require('./_an-object');\nmodule.exports = function (iterator, fn, value, entries) {\n try {\n return entries ? fn(anObject(value)[0], value[1]) : fn(value);\n // 7.4.6 IteratorClose(iterator, completion)\n } catch (e) {\n var ret = iterator['return'];\n if (ret !== undefined) anObject(ret.call(iterator));\n throw e;\n }\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/_iter-call.js\n// module id = 198\n// module chunks = 0","var aFunction = require('./_a-function');\nvar toObject = require('./_to-object');\nvar IObject = require('./_iobject');\nvar toLength = require('./_to-length');\n\nmodule.exports = function (that, callbackfn, aLen, memo, isRight) {\n aFunction(callbackfn);\n var O = toObject(that);\n var self = IObject(O);\n var length = toLength(O.length);\n var index = isRight ? length - 1 : 0;\n var i = isRight ? -1 : 1;\n if (aLen < 2) for (;;) {\n if (index in self) {\n memo = self[index];\n index += i;\n break;\n }\n index += i;\n if (isRight ? index < 0 : length <= index) {\n throw TypeError('Reduce of empty array with no initial value');\n }\n }\n for (;isRight ? index >= 0 : length > index; index += i) if (index in self) {\n memo = callbackfn(memo, self[index], index, O);\n }\n return memo;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/_array-reduce.js\n// module id = 199\n// module chunks = 0","// 22.1.3.3 Array.prototype.copyWithin(target, start, end = this.length)\n'use strict';\nvar toObject = require('./_to-object');\nvar toAbsoluteIndex = require('./_to-absolute-index');\nvar toLength = require('./_to-length');\n\nmodule.exports = [].copyWithin || function copyWithin(target /* = 0 */, start /* = 0, end = @length */) {\n var O = toObject(this);\n var len = toLength(O.length);\n var to = toAbsoluteIndex(target, len);\n var from = toAbsoluteIndex(start, len);\n var end = arguments.length > 2 ? arguments[2] : undefined;\n var count = Math.min((end === undefined ? len : toAbsoluteIndex(end, len)) - from, len - to);\n var inc = 1;\n if (from < to && to < from + count) {\n inc = -1;\n from += count - 1;\n to += count - 1;\n }\n while (count-- > 0) {\n if (from in O) O[to] = O[from];\n else delete O[to];\n to += inc;\n from += inc;\n } return O;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/_array-copy-within.js\n// module id = 200\n// module chunks = 0","module.exports = function (done, value) {\n return { value: value, done: !!done };\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/_iter-step.js\n// module id = 201\n// module chunks = 0","'use strict';\nvar regexpExec = require('./_regexp-exec');\nrequire('./_export')({\n target: 'RegExp',\n proto: true,\n forced: regexpExec !== /./.exec\n}, {\n exec: regexpExec\n});\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/es6.regexp.exec.js\n// module id = 202\n// module chunks = 0","// 21.2.5.3 get RegExp.prototype.flags()\nif (require('./_descriptors') && /./g.flags != 'g') require('./_object-dp').f(RegExp.prototype, 'flags', {\n configurable: true,\n get: require('./_flags')\n});\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/es6.regexp.flags.js\n// module id = 203\n// module chunks = 0","module.exports = function (exec) {\n try {\n return { e: false, v: exec() };\n } catch (e) {\n return { e: true, v: e };\n }\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/_perform.js\n// module id = 204\n// module chunks = 0","var anObject = require('./_an-object');\nvar isObject = require('./_is-object');\nvar newPromiseCapability = require('./_new-promise-capability');\n\nmodule.exports = function (C, x) {\n anObject(C);\n if (isObject(x) && x.constructor === C) return x;\n var promiseCapability = newPromiseCapability.f(C);\n var resolve = promiseCapability.resolve;\n resolve(x);\n return promiseCapability.promise;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/_promise-resolve.js\n// module id = 205\n// module chunks = 0","'use strict';\nvar strong = require('./_collection-strong');\nvar validate = require('./_validate-collection');\nvar MAP = 'Map';\n\n// 23.1 Map Objects\nmodule.exports = require('./_collection')(MAP, function (get) {\n return function Map() { return get(this, arguments.length > 0 ? arguments[0] : undefined); };\n}, {\n // 23.1.3.6 Map.prototype.get(key)\n get: function get(key) {\n var entry = strong.getEntry(validate(this, MAP), key);\n return entry && entry.v;\n },\n // 23.1.3.9 Map.prototype.set(key, value)\n set: function set(key, value) {\n return strong.def(validate(this, MAP), key === 0 ? 0 : key, value);\n }\n}, strong, true);\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/es6.map.js\n// module id = 206\n// module chunks = 0","'use strict';\nvar dP = require('./_object-dp').f;\nvar create = require('./_object-create');\nvar redefineAll = require('./_redefine-all');\nvar ctx = require('./_ctx');\nvar anInstance = require('./_an-instance');\nvar forOf = require('./_for-of');\nvar $iterDefine = require('./_iter-define');\nvar step = require('./_iter-step');\nvar setSpecies = require('./_set-species');\nvar DESCRIPTORS = require('./_descriptors');\nvar fastKey = require('./_meta').fastKey;\nvar validate = require('./_validate-collection');\nvar SIZE = DESCRIPTORS ? '_s' : 'size';\n\nvar getEntry = function (that, key) {\n // fast case\n var index = fastKey(key);\n var entry;\n if (index !== 'F') return that._i[index];\n // frozen object case\n for (entry = that._f; entry; entry = entry.n) {\n if (entry.k == key) return entry;\n }\n};\n\nmodule.exports = {\n getConstructor: function (wrapper, NAME, IS_MAP, ADDER) {\n var C = wrapper(function (that, iterable) {\n anInstance(that, C, NAME, '_i');\n that._t = NAME; // collection type\n that._i = create(null); // index\n that._f = undefined; // first entry\n that._l = undefined; // last entry\n that[SIZE] = 0; // size\n if (iterable != undefined) forOf(iterable, IS_MAP, that[ADDER], that);\n });\n redefineAll(C.prototype, {\n // 23.1.3.1 Map.prototype.clear()\n // 23.2.3.2 Set.prototype.clear()\n clear: function clear() {\n for (var that = validate(this, NAME), data = that._i, entry = that._f; entry; entry = entry.n) {\n entry.r = true;\n if (entry.p) entry.p = entry.p.n = undefined;\n delete data[entry.i];\n }\n that._f = that._l = undefined;\n that[SIZE] = 0;\n },\n // 23.1.3.3 Map.prototype.delete(key)\n // 23.2.3.4 Set.prototype.delete(value)\n 'delete': function (key) {\n var that = validate(this, NAME);\n var entry = getEntry(that, key);\n if (entry) {\n var next = entry.n;\n var prev = entry.p;\n delete that._i[entry.i];\n entry.r = true;\n if (prev) prev.n = next;\n if (next) next.p = prev;\n if (that._f == entry) that._f = next;\n if (that._l == entry) that._l = prev;\n that[SIZE]--;\n } return !!entry;\n },\n // 23.2.3.6 Set.prototype.forEach(callbackfn, thisArg = undefined)\n // 23.1.3.5 Map.prototype.forEach(callbackfn, thisArg = undefined)\n forEach: function forEach(callbackfn /* , that = undefined */) {\n validate(this, NAME);\n var f = ctx(callbackfn, arguments.length > 1 ? arguments[1] : undefined, 3);\n var entry;\n while (entry = entry ? entry.n : this._f) {\n f(entry.v, entry.k, this);\n // revert to the last existing entry\n while (entry && entry.r) entry = entry.p;\n }\n },\n // 23.1.3.7 Map.prototype.has(key)\n // 23.2.3.7 Set.prototype.has(value)\n has: function has(key) {\n return !!getEntry(validate(this, NAME), key);\n }\n });\n if (DESCRIPTORS) dP(C.prototype, 'size', {\n get: function () {\n return validate(this, NAME)[SIZE];\n }\n });\n return C;\n },\n def: function (that, key, value) {\n var entry = getEntry(that, key);\n var prev, index;\n // change existing entry\n if (entry) {\n entry.v = value;\n // create new entry\n } else {\n that._l = entry = {\n i: index = fastKey(key, true), // <- index\n k: key, // <- key\n v: value, // <- value\n p: prev = that._l, // <- previous entry\n n: undefined, // <- next entry\n r: false // <- removed\n };\n if (!that._f) that._f = entry;\n if (prev) prev.n = entry;\n that[SIZE]++;\n // add to index\n if (index !== 'F') that._i[index] = entry;\n } return that;\n },\n getEntry: getEntry,\n setStrong: function (C, NAME, IS_MAP) {\n // add .keys, .values, .entries, [@@iterator]\n // 23.1.3.4, 23.1.3.8, 23.1.3.11, 23.1.3.12, 23.2.3.5, 23.2.3.8, 23.2.3.10, 23.2.3.11\n $iterDefine(C, NAME, function (iterated, kind) {\n this._t = validate(iterated, NAME); // target\n this._k = kind; // kind\n this._l = undefined; // previous\n }, function () {\n var that = this;\n var kind = that._k;\n var entry = that._l;\n // revert to the last existing entry\n while (entry && entry.r) entry = entry.p;\n // get next entry\n if (!that._t || !(that._l = entry = entry ? entry.n : that._t._f)) {\n // or finish the iteration\n that._t = undefined;\n return step(1);\n }\n // return step by kind\n if (kind == 'keys') return step(0, entry.k);\n if (kind == 'values') return step(0, entry.v);\n return step(0, [entry.k, entry.v]);\n }, IS_MAP ? 'entries' : 'values', !IS_MAP, true);\n\n // add [@@species], 23.1.2.2, 23.2.2.2\n setSpecies(NAME);\n }\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/_collection-strong.js\n// module id = 207\n// module chunks = 0","'use strict';\nvar strong = require('./_collection-strong');\nvar validate = require('./_validate-collection');\nvar SET = 'Set';\n\n// 23.2 Set Objects\nmodule.exports = require('./_collection')(SET, function (get) {\n return function Set() { return get(this, arguments.length > 0 ? arguments[0] : undefined); };\n}, {\n // 23.2.3.1 Set.prototype.add(value)\n add: function add(value) {\n return strong.def(validate(this, SET), value = value === 0 ? 0 : value, value);\n }\n}, strong);\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/es6.set.js\n// module id = 208\n// module chunks = 0","'use strict';\nvar global = require('./_global');\nvar each = require('./_array-methods')(0);\nvar redefine = require('./_redefine');\nvar meta = require('./_meta');\nvar assign = require('./_object-assign');\nvar weak = require('./_collection-weak');\nvar isObject = require('./_is-object');\nvar validate = require('./_validate-collection');\nvar NATIVE_WEAK_MAP = require('./_validate-collection');\nvar IS_IE11 = !global.ActiveXObject && 'ActiveXObject' in global;\nvar WEAK_MAP = 'WeakMap';\nvar getWeak = meta.getWeak;\nvar isExtensible = Object.isExtensible;\nvar uncaughtFrozenStore = weak.ufstore;\nvar InternalMap;\n\nvar wrapper = function (get) {\n return function WeakMap() {\n return get(this, arguments.length > 0 ? arguments[0] : undefined);\n };\n};\n\nvar methods = {\n // 23.3.3.3 WeakMap.prototype.get(key)\n get: function get(key) {\n if (isObject(key)) {\n var data = getWeak(key);\n if (data === true) return uncaughtFrozenStore(validate(this, WEAK_MAP)).get(key);\n return data ? data[this._i] : undefined;\n }\n },\n // 23.3.3.5 WeakMap.prototype.set(key, value)\n set: function set(key, value) {\n return weak.def(validate(this, WEAK_MAP), key, value);\n }\n};\n\n// 23.3 WeakMap Objects\nvar $WeakMap = module.exports = require('./_collection')(WEAK_MAP, wrapper, methods, weak, true, true);\n\n// IE11 WeakMap frozen keys fix\nif (NATIVE_WEAK_MAP && IS_IE11) {\n InternalMap = weak.getConstructor(wrapper, WEAK_MAP);\n assign(InternalMap.prototype, methods);\n meta.NEED = true;\n each(['delete', 'has', 'get', 'set'], function (key) {\n var proto = $WeakMap.prototype;\n var method = proto[key];\n redefine(proto, key, function (a, b) {\n // store frozen objects on internal weakmap shim\n if (isObject(a) && !isExtensible(a)) {\n if (!this._f) this._f = new InternalMap();\n var result = this._f[key](a, b);\n return key == 'set' ? this : result;\n // store all the rest on native weakmap\n } return method.call(this, a, b);\n });\n });\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/es6.weak-map.js\n// module id = 209\n// module chunks = 0","'use strict';\nvar redefineAll = require('./_redefine-all');\nvar getWeak = require('./_meta').getWeak;\nvar anObject = require('./_an-object');\nvar isObject = require('./_is-object');\nvar anInstance = require('./_an-instance');\nvar forOf = require('./_for-of');\nvar createArrayMethod = require('./_array-methods');\nvar $has = require('./_has');\nvar validate = require('./_validate-collection');\nvar arrayFind = createArrayMethod(5);\nvar arrayFindIndex = createArrayMethod(6);\nvar id = 0;\n\n// fallback for uncaught frozen keys\nvar uncaughtFrozenStore = function (that) {\n return that._l || (that._l = new UncaughtFrozenStore());\n};\nvar UncaughtFrozenStore = function () {\n this.a = [];\n};\nvar findUncaughtFrozen = function (store, key) {\n return arrayFind(store.a, function (it) {\n return it[0] === key;\n });\n};\nUncaughtFrozenStore.prototype = {\n get: function (key) {\n var entry = findUncaughtFrozen(this, key);\n if (entry) return entry[1];\n },\n has: function (key) {\n return !!findUncaughtFrozen(this, key);\n },\n set: function (key, value) {\n var entry = findUncaughtFrozen(this, key);\n if (entry) entry[1] = value;\n else this.a.push([key, value]);\n },\n 'delete': function (key) {\n var index = arrayFindIndex(this.a, function (it) {\n return it[0] === key;\n });\n if (~index) this.a.splice(index, 1);\n return !!~index;\n }\n};\n\nmodule.exports = {\n getConstructor: function (wrapper, NAME, IS_MAP, ADDER) {\n var C = wrapper(function (that, iterable) {\n anInstance(that, C, NAME, '_i');\n that._t = NAME; // collection type\n that._i = id++; // collection id\n that._l = undefined; // leak store for uncaught frozen objects\n if (iterable != undefined) forOf(iterable, IS_MAP, that[ADDER], that);\n });\n redefineAll(C.prototype, {\n // 23.3.3.2 WeakMap.prototype.delete(key)\n // 23.4.3.3 WeakSet.prototype.delete(value)\n 'delete': function (key) {\n if (!isObject(key)) return false;\n var data = getWeak(key);\n if (data === true) return uncaughtFrozenStore(validate(this, NAME))['delete'](key);\n return data && $has(data, this._i) && delete data[this._i];\n },\n // 23.3.3.4 WeakMap.prototype.has(key)\n // 23.4.3.4 WeakSet.prototype.has(value)\n has: function has(key) {\n if (!isObject(key)) return false;\n var data = getWeak(key);\n if (data === true) return uncaughtFrozenStore(validate(this, NAME)).has(key);\n return data && $has(data, this._i);\n }\n });\n return C;\n },\n def: function (that, key, value) {\n var data = getWeak(anObject(key), true);\n if (data === true) uncaughtFrozenStore(that).set(key, value);\n else data[that._i] = value;\n return that;\n },\n ufstore: uncaughtFrozenStore\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/_collection-weak.js\n// module id = 210\n// module chunks = 0","// https://tc39.github.io/ecma262/#sec-toindex\nvar toInteger = require('./_to-integer');\nvar toLength = require('./_to-length');\nmodule.exports = function (it) {\n if (it === undefined) return 0;\n var number = toInteger(it);\n var length = toLength(number);\n if (number !== length) throw RangeError('Wrong length!');\n return length;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/_to-index.js\n// module id = 211\n// module chunks = 0","// all object keys, includes non-enumerable and symbols\nvar gOPN = require('./_object-gopn');\nvar gOPS = require('./_object-gops');\nvar anObject = require('./_an-object');\nvar Reflect = require('./_global').Reflect;\nmodule.exports = Reflect && Reflect.ownKeys || function ownKeys(it) {\n var keys = gOPN.f(anObject(it));\n var getSymbols = gOPS.f;\n return getSymbols ? keys.concat(getSymbols(it)) : keys;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/_own-keys.js\n// module id = 212\n// module chunks = 0","'use strict';\n// https://tc39.github.io/proposal-flatMap/#sec-FlattenIntoArray\nvar isArray = require('./_is-array');\nvar isObject = require('./_is-object');\nvar toLength = require('./_to-length');\nvar ctx = require('./_ctx');\nvar IS_CONCAT_SPREADABLE = require('./_wks')('isConcatSpreadable');\n\nfunction flattenIntoArray(target, original, source, sourceLen, start, depth, mapper, thisArg) {\n var targetIndex = start;\n var sourceIndex = 0;\n var mapFn = mapper ? ctx(mapper, thisArg, 3) : false;\n var element, spreadable;\n\n while (sourceIndex < sourceLen) {\n if (sourceIndex in source) {\n element = mapFn ? mapFn(source[sourceIndex], sourceIndex, original) : source[sourceIndex];\n\n spreadable = false;\n if (isObject(element)) {\n spreadable = element[IS_CONCAT_SPREADABLE];\n spreadable = spreadable !== undefined ? !!spreadable : isArray(element);\n }\n\n if (spreadable && depth > 0) {\n targetIndex = flattenIntoArray(target, original, element, toLength(element.length), targetIndex, depth - 1) - 1;\n } else {\n if (targetIndex >= 0x1fffffffffffff) throw TypeError();\n target[targetIndex] = element;\n }\n\n targetIndex++;\n }\n sourceIndex++;\n }\n return targetIndex;\n}\n\nmodule.exports = flattenIntoArray;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/_flatten-into-array.js\n// module id = 213\n// module chunks = 0","// https://github.com/tc39/proposal-string-pad-start-end\nvar toLength = require('./_to-length');\nvar repeat = require('./_string-repeat');\nvar defined = require('./_defined');\n\nmodule.exports = function (that, maxLength, fillString, left) {\n var S = String(defined(that));\n var stringLength = S.length;\n var fillStr = fillString === undefined ? ' ' : String(fillString);\n var intMaxLength = toLength(maxLength);\n if (intMaxLength <= stringLength || fillStr == '') return S;\n var fillLen = intMaxLength - stringLength;\n var stringFiller = repeat.call(fillStr, Math.ceil(fillLen / fillStr.length));\n if (stringFiller.length > fillLen) stringFiller = stringFiller.slice(0, fillLen);\n return left ? stringFiller + S : S + stringFiller;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/_string-pad.js\n// module id = 214\n// module chunks = 0","var DESCRIPTORS = require('./_descriptors');\nvar getKeys = require('./_object-keys');\nvar toIObject = require('./_to-iobject');\nvar isEnum = require('./_object-pie').f;\nmodule.exports = function (isEntries) {\n return function (it) {\n var O = toIObject(it);\n var keys = getKeys(O);\n var length = keys.length;\n var i = 0;\n var result = [];\n var key;\n while (length > i) {\n key = keys[i++];\n if (!DESCRIPTORS || isEnum.call(O, key)) {\n result.push(isEntries ? [key, O[key]] : O[key]);\n }\n }\n return result;\n };\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/_object-to-array.js\n// module id = 215\n// module chunks = 0","// https://github.com/DavidBruant/Map-Set.prototype.toJSON\nvar classof = require('./_classof');\nvar from = require('./_array-from-iterable');\nmodule.exports = function (NAME) {\n return function toJSON() {\n if (classof(this) != NAME) throw TypeError(NAME + \"#toJSON isn't generic\");\n return from(this);\n };\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/_collection-to-json.js\n// module id = 216\n// module chunks = 0","var forOf = require('./_for-of');\n\nmodule.exports = function (iter, ITERATOR) {\n var result = [];\n forOf(iter, false, result.push, result, ITERATOR);\n return result;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/_array-from-iterable.js\n// module id = 217\n// module chunks = 0","// https://rwaldron.github.io/proposal-math-extensions/\nmodule.exports = Math.scale || function scale(x, inLow, inHigh, outLow, outHigh) {\n if (\n arguments.length === 0\n // eslint-disable-next-line no-self-compare\n || x != x\n // eslint-disable-next-line no-self-compare\n || inLow != inLow\n // eslint-disable-next-line no-self-compare\n || inHigh != inHigh\n // eslint-disable-next-line no-self-compare\n || outLow != outLow\n // eslint-disable-next-line no-self-compare\n || outHigh != outHigh\n ) return NaN;\n if (x === Infinity || x === -Infinity) return x;\n return (x - inLow) * (outHigh - outLow) / (inHigh - inLow) + outLow;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/_math-scale.js\n// module id = 218\n// module chunks = 0","module.exports = { \"default\": require(\"core-js/library/fn/symbol/iterator\"), __esModule: true };\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/babel-runtime/core-js/symbol/iterator.js\n// module id = 219\n// module chunks = 0","'use strict';\nvar LIBRARY = require('./_library');\nvar $export = require('./_export');\nvar redefine = require('./_redefine');\nvar hide = require('./_hide');\nvar Iterators = require('./_iterators');\nvar $iterCreate = require('./_iter-create');\nvar setToStringTag = require('./_set-to-string-tag');\nvar getPrototypeOf = require('./_object-gpo');\nvar ITERATOR = require('./_wks')('iterator');\nvar BUGGY = !([].keys && 'next' in [].keys()); // Safari has buggy iterators w/o `next`\nvar FF_ITERATOR = '@@iterator';\nvar KEYS = 'keys';\nvar VALUES = 'values';\n\nvar returnThis = function () { return this; };\n\nmodule.exports = function (Base, NAME, Constructor, next, DEFAULT, IS_SET, FORCED) {\n $iterCreate(Constructor, NAME, next);\n var getMethod = function (kind) {\n if (!BUGGY && kind in proto) return proto[kind];\n switch (kind) {\n case KEYS: return function keys() { return new Constructor(this, kind); };\n case VALUES: return function values() { return new Constructor(this, kind); };\n } return function entries() { return new Constructor(this, kind); };\n };\n var TAG = NAME + ' Iterator';\n var DEF_VALUES = DEFAULT == VALUES;\n var VALUES_BUG = false;\n var proto = Base.prototype;\n var $native = proto[ITERATOR] || proto[FF_ITERATOR] || DEFAULT && proto[DEFAULT];\n var $default = $native || getMethod(DEFAULT);\n var $entries = DEFAULT ? !DEF_VALUES ? $default : getMethod('entries') : undefined;\n var $anyNative = NAME == 'Array' ? proto.entries || $native : $native;\n var methods, key, IteratorPrototype;\n // Fix native\n if ($anyNative) {\n IteratorPrototype = getPrototypeOf($anyNative.call(new Base()));\n if (IteratorPrototype !== Object.prototype && IteratorPrototype.next) {\n // Set @@toStringTag to native iterators\n setToStringTag(IteratorPrototype, TAG, true);\n // fix for some old engines\n if (!LIBRARY && typeof IteratorPrototype[ITERATOR] != 'function') hide(IteratorPrototype, ITERATOR, returnThis);\n }\n }\n // fix Array#{values, @@iterator}.name in V8 / FF\n if (DEF_VALUES && $native && $native.name !== VALUES) {\n VALUES_BUG = true;\n $default = function values() { return $native.call(this); };\n }\n // Define iterator\n if ((!LIBRARY || FORCED) && (BUGGY || VALUES_BUG || !proto[ITERATOR])) {\n hide(proto, ITERATOR, $default);\n }\n // Plug for library\n Iterators[NAME] = $default;\n Iterators[TAG] = returnThis;\n if (DEFAULT) {\n methods = {\n values: DEF_VALUES ? $default : getMethod(VALUES),\n keys: IS_SET ? $default : getMethod(KEYS),\n entries: $entries\n };\n if (FORCED) for (key in methods) {\n if (!(key in proto)) redefine(proto, key, methods[key]);\n } else $export($export.P + $export.F * (BUGGY || VALUES_BUG), NAME, methods);\n }\n return methods;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_iter-define.js\n// module id = 220\n// module chunks = 0","module.exports = !require('./_descriptors') && !require('./_fails')(function () {\n return Object.defineProperty(require('./_dom-create')('div'), 'a', { get: function () { return 7; } }).a != 7;\n});\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_ie8-dom-define.js\n// module id = 221\n// module chunks = 0","module.exports = require('./_hide');\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_redefine.js\n// module id = 222\n// module chunks = 0","var dP = require('./_object-dp');\nvar anObject = require('./_an-object');\nvar getKeys = require('./_object-keys');\n\nmodule.exports = require('./_descriptors') ? Object.defineProperties : function defineProperties(O, Properties) {\n anObject(O);\n var keys = getKeys(Properties);\n var length = keys.length;\n var i = 0;\n var P;\n while (length > i) dP.f(O, P = keys[i++], Properties[P]);\n return O;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_object-dps.js\n// module id = 223\n// module chunks = 0","var has = require('./_has');\nvar toIObject = require('./_to-iobject');\nvar arrayIndexOf = require('./_array-includes')(false);\nvar IE_PROTO = require('./_shared-key')('IE_PROTO');\n\nmodule.exports = function (object, names) {\n var O = toIObject(object);\n var i = 0;\n var result = [];\n var key;\n for (key in O) if (key != IE_PROTO) has(O, key) && result.push(key);\n // Don't enum bug & hidden keys\n while (names.length > i) if (has(O, key = names[i++])) {\n ~arrayIndexOf(result, key) || result.push(key);\n }\n return result;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_object-keys-internal.js\n// module id = 224\n// module chunks = 0","// fallback for non-array-like ES3 and non-enumerable old V8 strings\nvar cof = require('./_cof');\n// eslint-disable-next-line no-prototype-builtins\nmodule.exports = Object('z').propertyIsEnumerable(0) ? Object : function (it) {\n return cof(it) == 'String' ? it.split('') : Object(it);\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_iobject.js\n// module id = 225\n// module chunks = 0","var document = require('./_global').document;\nmodule.exports = document && document.documentElement;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_html.js\n// module id = 226\n// module chunks = 0","// 19.1.2.9 / 15.2.3.2 Object.getPrototypeOf(O)\nvar has = require('./_has');\nvar toObject = require('./_to-object');\nvar IE_PROTO = require('./_shared-key')('IE_PROTO');\nvar ObjectProto = Object.prototype;\n\nmodule.exports = Object.getPrototypeOf || function (O) {\n O = toObject(O);\n if (has(O, IE_PROTO)) return O[IE_PROTO];\n if (typeof O.constructor == 'function' && O instanceof O.constructor) {\n return O.constructor.prototype;\n } return O instanceof Object ? ObjectProto : null;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_object-gpo.js\n// module id = 227\n// module chunks = 0","module.exports = { \"default\": require(\"core-js/library/fn/symbol\"), __esModule: true };\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/babel-runtime/core-js/symbol.js\n// module id = 228\n// module chunks = 0","'use strict';\n// ECMAScript 6 symbols shim\nvar global = require('./_global');\nvar has = require('./_has');\nvar DESCRIPTORS = require('./_descriptors');\nvar $export = require('./_export');\nvar redefine = require('./_redefine');\nvar META = require('./_meta').KEY;\nvar $fails = require('./_fails');\nvar shared = require('./_shared');\nvar setToStringTag = require('./_set-to-string-tag');\nvar uid = require('./_uid');\nvar wks = require('./_wks');\nvar wksExt = require('./_wks-ext');\nvar wksDefine = require('./_wks-define');\nvar enumKeys = require('./_enum-keys');\nvar isArray = require('./_is-array');\nvar anObject = require('./_an-object');\nvar isObject = require('./_is-object');\nvar toObject = require('./_to-object');\nvar toIObject = require('./_to-iobject');\nvar toPrimitive = require('./_to-primitive');\nvar createDesc = require('./_property-desc');\nvar _create = require('./_object-create');\nvar gOPNExt = require('./_object-gopn-ext');\nvar $GOPD = require('./_object-gopd');\nvar $GOPS = require('./_object-gops');\nvar $DP = require('./_object-dp');\nvar $keys = require('./_object-keys');\nvar gOPD = $GOPD.f;\nvar dP = $DP.f;\nvar gOPN = gOPNExt.f;\nvar $Symbol = global.Symbol;\nvar $JSON = global.JSON;\nvar _stringify = $JSON && $JSON.stringify;\nvar PROTOTYPE = 'prototype';\nvar HIDDEN = wks('_hidden');\nvar TO_PRIMITIVE = wks('toPrimitive');\nvar isEnum = {}.propertyIsEnumerable;\nvar SymbolRegistry = shared('symbol-registry');\nvar AllSymbols = shared('symbols');\nvar OPSymbols = shared('op-symbols');\nvar ObjectProto = Object[PROTOTYPE];\nvar USE_NATIVE = typeof $Symbol == 'function' && !!$GOPS.f;\nvar QObject = global.QObject;\n// Don't use setters in Qt Script, https://github.com/zloirock/core-js/issues/173\nvar setter = !QObject || !QObject[PROTOTYPE] || !QObject[PROTOTYPE].findChild;\n\n// fallback for old Android, https://code.google.com/p/v8/issues/detail?id=687\nvar setSymbolDesc = DESCRIPTORS && $fails(function () {\n return _create(dP({}, 'a', {\n get: function () { return dP(this, 'a', { value: 7 }).a; }\n })).a != 7;\n}) ? function (it, key, D) {\n var protoDesc = gOPD(ObjectProto, key);\n if (protoDesc) delete ObjectProto[key];\n dP(it, key, D);\n if (protoDesc && it !== ObjectProto) dP(ObjectProto, key, protoDesc);\n} : dP;\n\nvar wrap = function (tag) {\n var sym = AllSymbols[tag] = _create($Symbol[PROTOTYPE]);\n sym._k = tag;\n return sym;\n};\n\nvar isSymbol = USE_NATIVE && typeof $Symbol.iterator == 'symbol' ? function (it) {\n return typeof it == 'symbol';\n} : function (it) {\n return it instanceof $Symbol;\n};\n\nvar $defineProperty = function defineProperty(it, key, D) {\n if (it === ObjectProto) $defineProperty(OPSymbols, key, D);\n anObject(it);\n key = toPrimitive(key, true);\n anObject(D);\n if (has(AllSymbols, key)) {\n if (!D.enumerable) {\n if (!has(it, HIDDEN)) dP(it, HIDDEN, createDesc(1, {}));\n it[HIDDEN][key] = true;\n } else {\n if (has(it, HIDDEN) && it[HIDDEN][key]) it[HIDDEN][key] = false;\n D = _create(D, { enumerable: createDesc(0, false) });\n } return setSymbolDesc(it, key, D);\n } return dP(it, key, D);\n};\nvar $defineProperties = function defineProperties(it, P) {\n anObject(it);\n var keys = enumKeys(P = toIObject(P));\n var i = 0;\n var l = keys.length;\n var key;\n while (l > i) $defineProperty(it, key = keys[i++], P[key]);\n return it;\n};\nvar $create = function create(it, P) {\n return P === undefined ? _create(it) : $defineProperties(_create(it), P);\n};\nvar $propertyIsEnumerable = function propertyIsEnumerable(key) {\n var E = isEnum.call(this, key = toPrimitive(key, true));\n if (this === ObjectProto && has(AllSymbols, key) && !has(OPSymbols, key)) return false;\n return E || !has(this, key) || !has(AllSymbols, key) || has(this, HIDDEN) && this[HIDDEN][key] ? E : true;\n};\nvar $getOwnPropertyDescriptor = function getOwnPropertyDescriptor(it, key) {\n it = toIObject(it);\n key = toPrimitive(key, true);\n if (it === ObjectProto && has(AllSymbols, key) && !has(OPSymbols, key)) return;\n var D = gOPD(it, key);\n if (D && has(AllSymbols, key) && !(has(it, HIDDEN) && it[HIDDEN][key])) D.enumerable = true;\n return D;\n};\nvar $getOwnPropertyNames = function getOwnPropertyNames(it) {\n var names = gOPN(toIObject(it));\n var result = [];\n var i = 0;\n var key;\n while (names.length > i) {\n if (!has(AllSymbols, key = names[i++]) && key != HIDDEN && key != META) result.push(key);\n } return result;\n};\nvar $getOwnPropertySymbols = function getOwnPropertySymbols(it) {\n var IS_OP = it === ObjectProto;\n var names = gOPN(IS_OP ? OPSymbols : toIObject(it));\n var result = [];\n var i = 0;\n var key;\n while (names.length > i) {\n if (has(AllSymbols, key = names[i++]) && (IS_OP ? has(ObjectProto, key) : true)) result.push(AllSymbols[key]);\n } return result;\n};\n\n// 19.4.1.1 Symbol([description])\nif (!USE_NATIVE) {\n $Symbol = function Symbol() {\n if (this instanceof $Symbol) throw TypeError('Symbol is not a constructor!');\n var tag = uid(arguments.length > 0 ? arguments[0] : undefined);\n var $set = function (value) {\n if (this === ObjectProto) $set.call(OPSymbols, value);\n if (has(this, HIDDEN) && has(this[HIDDEN], tag)) this[HIDDEN][tag] = false;\n setSymbolDesc(this, tag, createDesc(1, value));\n };\n if (DESCRIPTORS && setter) setSymbolDesc(ObjectProto, tag, { configurable: true, set: $set });\n return wrap(tag);\n };\n redefine($Symbol[PROTOTYPE], 'toString', function toString() {\n return this._k;\n });\n\n $GOPD.f = $getOwnPropertyDescriptor;\n $DP.f = $defineProperty;\n require('./_object-gopn').f = gOPNExt.f = $getOwnPropertyNames;\n require('./_object-pie').f = $propertyIsEnumerable;\n $GOPS.f = $getOwnPropertySymbols;\n\n if (DESCRIPTORS && !require('./_library')) {\n redefine(ObjectProto, 'propertyIsEnumerable', $propertyIsEnumerable, true);\n }\n\n wksExt.f = function (name) {\n return wrap(wks(name));\n };\n}\n\n$export($export.G + $export.W + $export.F * !USE_NATIVE, { Symbol: $Symbol });\n\nfor (var es6Symbols = (\n // 19.4.2.2, 19.4.2.3, 19.4.2.4, 19.4.2.6, 19.4.2.8, 19.4.2.9, 19.4.2.10, 19.4.2.11, 19.4.2.12, 19.4.2.13, 19.4.2.14\n 'hasInstance,isConcatSpreadable,iterator,match,replace,search,species,split,toPrimitive,toStringTag,unscopables'\n).split(','), j = 0; es6Symbols.length > j;)wks(es6Symbols[j++]);\n\nfor (var wellKnownSymbols = $keys(wks.store), k = 0; wellKnownSymbols.length > k;) wksDefine(wellKnownSymbols[k++]);\n\n$export($export.S + $export.F * !USE_NATIVE, 'Symbol', {\n // 19.4.2.1 Symbol.for(key)\n 'for': function (key) {\n return has(SymbolRegistry, key += '')\n ? SymbolRegistry[key]\n : SymbolRegistry[key] = $Symbol(key);\n },\n // 19.4.2.5 Symbol.keyFor(sym)\n keyFor: function keyFor(sym) {\n if (!isSymbol(sym)) throw TypeError(sym + ' is not a symbol!');\n for (var key in SymbolRegistry) if (SymbolRegistry[key] === sym) return key;\n },\n useSetter: function () { setter = true; },\n useSimple: function () { setter = false; }\n});\n\n$export($export.S + $export.F * !USE_NATIVE, 'Object', {\n // 19.1.2.2 Object.create(O [, Properties])\n create: $create,\n // 19.1.2.4 Object.defineProperty(O, P, Attributes)\n defineProperty: $defineProperty,\n // 19.1.2.3 Object.defineProperties(O, Properties)\n defineProperties: $defineProperties,\n // 19.1.2.6 Object.getOwnPropertyDescriptor(O, P)\n getOwnPropertyDescriptor: $getOwnPropertyDescriptor,\n // 19.1.2.7 Object.getOwnPropertyNames(O)\n getOwnPropertyNames: $getOwnPropertyNames,\n // 19.1.2.8 Object.getOwnPropertySymbols(O)\n getOwnPropertySymbols: $getOwnPropertySymbols\n});\n\n// Chrome 38 and 39 `Object.getOwnPropertySymbols` fails on primitives\n// https://bugs.chromium.org/p/v8/issues/detail?id=3443\nvar FAILS_ON_PRIMITIVES = $fails(function () { $GOPS.f(1); });\n\n$export($export.S + $export.F * FAILS_ON_PRIMITIVES, 'Object', {\n getOwnPropertySymbols: function getOwnPropertySymbols(it) {\n return $GOPS.f(toObject(it));\n }\n});\n\n// 24.3.2 JSON.stringify(value [, replacer [, space]])\n$JSON && $export($export.S + $export.F * (!USE_NATIVE || $fails(function () {\n var S = $Symbol();\n // MS Edge converts symbol values to JSON as {}\n // WebKit converts symbol values to JSON as null\n // V8 throws on boxed symbols\n return _stringify([S]) != '[null]' || _stringify({ a: S }) != '{}' || _stringify(Object(S)) != '{}';\n})), 'JSON', {\n stringify: function stringify(it) {\n var args = [it];\n var i = 1;\n var replacer, $replacer;\n while (arguments.length > i) args.push(arguments[i++]);\n $replacer = replacer = args[1];\n if (!isObject(replacer) && it === undefined || isSymbol(it)) return; // IE8 returns string on undefined\n if (!isArray(replacer)) replacer = function (key, value) {\n if (typeof $replacer == 'function') value = $replacer.call(this, key, value);\n if (!isSymbol(value)) return value;\n };\n args[1] = replacer;\n return _stringify.apply($JSON, args);\n }\n});\n\n// 19.4.3.4 Symbol.prototype[@@toPrimitive](hint)\n$Symbol[PROTOTYPE][TO_PRIMITIVE] || require('./_hide')($Symbol[PROTOTYPE], TO_PRIMITIVE, $Symbol[PROTOTYPE].valueOf);\n// 19.4.3.5 Symbol.prototype[@@toStringTag]\nsetToStringTag($Symbol, 'Symbol');\n// 20.2.1.9 Math[@@toStringTag]\nsetToStringTag(Math, 'Math', true);\n// 24.3.3 JSON[@@toStringTag]\nsetToStringTag(global.JSON, 'JSON', true);\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/es6.symbol.js\n// module id = 229\n// module chunks = 0","var META = require('./_uid')('meta');\nvar isObject = require('./_is-object');\nvar has = require('./_has');\nvar setDesc = require('./_object-dp').f;\nvar id = 0;\nvar isExtensible = Object.isExtensible || function () {\n return true;\n};\nvar FREEZE = !require('./_fails')(function () {\n return isExtensible(Object.preventExtensions({}));\n});\nvar setMeta = function (it) {\n setDesc(it, META, { value: {\n i: 'O' + ++id, // object ID\n w: {} // weak collections IDs\n } });\n};\nvar fastKey = function (it, create) {\n // return primitive with prefix\n if (!isObject(it)) return typeof it == 'symbol' ? it : (typeof it == 'string' ? 'S' : 'P') + it;\n if (!has(it, META)) {\n // can't set metadata to uncaught frozen object\n if (!isExtensible(it)) return 'F';\n // not necessary to add metadata\n if (!create) return 'E';\n // add missing metadata\n setMeta(it);\n // return object ID\n } return it[META].i;\n};\nvar getWeak = function (it, create) {\n if (!has(it, META)) {\n // can't set metadata to uncaught frozen object\n if (!isExtensible(it)) return true;\n // not necessary to add metadata\n if (!create) return false;\n // add missing metadata\n setMeta(it);\n // return hash weak collections IDs\n } return it[META].w;\n};\n// add metadata on freeze-family methods calling\nvar onFreeze = function (it) {\n if (FREEZE && meta.NEED && isExtensible(it) && !has(it, META)) setMeta(it);\n return it;\n};\nvar meta = module.exports = {\n KEY: META,\n NEED: false,\n fastKey: fastKey,\n getWeak: getWeak,\n onFreeze: onFreeze\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_meta.js\n// module id = 230\n// module chunks = 0","// fallback for IE11 buggy Object.getOwnPropertyNames with iframe and window\nvar toIObject = require('./_to-iobject');\nvar gOPN = require('./_object-gopn').f;\nvar toString = {}.toString;\n\nvar windowNames = typeof window == 'object' && window && Object.getOwnPropertyNames\n ? Object.getOwnPropertyNames(window) : [];\n\nvar getWindowNames = function (it) {\n try {\n return gOPN(it);\n } catch (e) {\n return windowNames.slice();\n }\n};\n\nmodule.exports.f = function getOwnPropertyNames(it) {\n return windowNames && toString.call(it) == '[object Window]' ? getWindowNames(it) : gOPN(toIObject(it));\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_object-gopn-ext.js\n// module id = 231\n// module chunks = 0","// 19.1.2.7 / 15.2.3.4 Object.getOwnPropertyNames(O)\nvar $keys = require('./_object-keys-internal');\nvar hiddenKeys = require('./_enum-bug-keys').concat('length', 'prototype');\n\nexports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {\n return $keys(O, hiddenKeys);\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_object-gopn.js\n// module id = 232\n// module chunks = 0","/**!\n\n @license\n handlebars v4.7.6\n\nCopyright (C) 2011-2019 by Yehuda Katz\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in\nall copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\nTHE SOFTWARE.\n\n*/\n(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"Handlebars\"] = factory();\n\telse\n\t\troot[\"Handlebars\"] = factory();\n})(this, function() {\nreturn /******/ (function(modules) { // webpackBootstrap\n/******/ \t// The module cache\n/******/ \tvar installedModules = {};\n\n/******/ \t// The require function\n/******/ \tfunction __webpack_require__(moduleId) {\n\n/******/ \t\t// Check if module is in cache\n/******/ \t\tif(installedModules[moduleId])\n/******/ \t\t\treturn installedModules[moduleId].exports;\n\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = installedModules[moduleId] = {\n/******/ \t\t\texports: {},\n/******/ \t\t\tid: moduleId,\n/******/ \t\t\tloaded: false\n/******/ \t\t};\n\n/******/ \t\t// Execute the module function\n/******/ \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n/******/ \t\t// Flag the module as loaded\n/******/ \t\tmodule.loaded = true;\n\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n\n\n/******/ \t// expose the modules object (__webpack_modules__)\n/******/ \t__webpack_require__.m = modules;\n\n/******/ \t// expose the module cache\n/******/ \t__webpack_require__.c = installedModules;\n\n/******/ \t// __webpack_public_path__\n/******/ \t__webpack_require__.p = \"\";\n\n/******/ \t// Load entry module and return exports\n/******/ \treturn __webpack_require__(0);\n/******/ })\n/************************************************************************/\n/******/ ([\n/* 0 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\n\tvar _interopRequireDefault = __webpack_require__(1)['default'];\n\n\texports.__esModule = true;\n\n\tvar _handlebarsRuntime = __webpack_require__(2);\n\n\tvar _handlebarsRuntime2 = _interopRequireDefault(_handlebarsRuntime);\n\n\t// Compiler imports\n\n\tvar _handlebarsCompilerAst = __webpack_require__(45);\n\n\tvar _handlebarsCompilerAst2 = _interopRequireDefault(_handlebarsCompilerAst);\n\n\tvar _handlebarsCompilerBase = __webpack_require__(46);\n\n\tvar _handlebarsCompilerCompiler = __webpack_require__(51);\n\n\tvar _handlebarsCompilerJavascriptCompiler = __webpack_require__(52);\n\n\tvar _handlebarsCompilerJavascriptCompiler2 = _interopRequireDefault(_handlebarsCompilerJavascriptCompiler);\n\n\tvar _handlebarsCompilerVisitor = __webpack_require__(49);\n\n\tvar _handlebarsCompilerVisitor2 = _interopRequireDefault(_handlebarsCompilerVisitor);\n\n\tvar _handlebarsNoConflict = __webpack_require__(44);\n\n\tvar _handlebarsNoConflict2 = _interopRequireDefault(_handlebarsNoConflict);\n\n\tvar _create = _handlebarsRuntime2['default'].create;\n\tfunction create() {\n\t var hb = _create();\n\n\t hb.compile = function (input, options) {\n\t return _handlebarsCompilerCompiler.compile(input, options, hb);\n\t };\n\t hb.precompile = function (input, options) {\n\t return _handlebarsCompilerCompiler.precompile(input, options, hb);\n\t };\n\n\t hb.AST = _handlebarsCompilerAst2['default'];\n\t hb.Compiler = _handlebarsCompilerCompiler.Compiler;\n\t hb.JavaScriptCompiler = _handlebarsCompilerJavascriptCompiler2['default'];\n\t hb.Parser = _handlebarsCompilerBase.parser;\n\t hb.parse = _handlebarsCompilerBase.parse;\n\t hb.parseWithoutProcessing = _handlebarsCompilerBase.parseWithoutProcessing;\n\n\t return hb;\n\t}\n\n\tvar inst = create();\n\tinst.create = create;\n\n\t_handlebarsNoConflict2['default'](inst);\n\n\tinst.Visitor = _handlebarsCompilerVisitor2['default'];\n\n\tinst['default'] = inst;\n\n\texports['default'] = inst;\n\tmodule.exports = exports['default'];\n\n/***/ }),\n/* 1 */\n/***/ (function(module, exports) {\n\n\t\"use strict\";\n\n\texports[\"default\"] = function (obj) {\n\t return obj && obj.__esModule ? obj : {\n\t \"default\": obj\n\t };\n\t};\n\n\texports.__esModule = true;\n\n/***/ }),\n/* 2 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\n\tvar _interopRequireWildcard = __webpack_require__(3)['default'];\n\n\tvar _interopRequireDefault = __webpack_require__(1)['default'];\n\n\texports.__esModule = true;\n\n\tvar _handlebarsBase = __webpack_require__(4);\n\n\tvar base = _interopRequireWildcard(_handlebarsBase);\n\n\t// Each of these augment the Handlebars object. No need to setup here.\n\t// (This is done to easily share code between commonjs and browse envs)\n\n\tvar _handlebarsSafeString = __webpack_require__(37);\n\n\tvar _handlebarsSafeString2 = _interopRequireDefault(_handlebarsSafeString);\n\n\tvar _handlebarsException = __webpack_require__(6);\n\n\tvar _handlebarsException2 = _interopRequireDefault(_handlebarsException);\n\n\tvar _handlebarsUtils = __webpack_require__(5);\n\n\tvar Utils = _interopRequireWildcard(_handlebarsUtils);\n\n\tvar _handlebarsRuntime = __webpack_require__(38);\n\n\tvar runtime = _interopRequireWildcard(_handlebarsRuntime);\n\n\tvar _handlebarsNoConflict = __webpack_require__(44);\n\n\tvar _handlebarsNoConflict2 = _interopRequireDefault(_handlebarsNoConflict);\n\n\t// For compatibility and usage outside of module systems, make the Handlebars object a namespace\n\tfunction create() {\n\t var hb = new base.HandlebarsEnvironment();\n\n\t Utils.extend(hb, base);\n\t hb.SafeString = _handlebarsSafeString2['default'];\n\t hb.Exception = _handlebarsException2['default'];\n\t hb.Utils = Utils;\n\t hb.escapeExpression = Utils.escapeExpression;\n\n\t hb.VM = runtime;\n\t hb.template = function (spec) {\n\t return runtime.template(spec, hb);\n\t };\n\n\t return hb;\n\t}\n\n\tvar inst = create();\n\tinst.create = create;\n\n\t_handlebarsNoConflict2['default'](inst);\n\n\tinst['default'] = inst;\n\n\texports['default'] = inst;\n\tmodule.exports = exports['default'];\n\n/***/ }),\n/* 3 */\n/***/ (function(module, exports) {\n\n\t\"use strict\";\n\n\texports[\"default\"] = function (obj) {\n\t if (obj && obj.__esModule) {\n\t return obj;\n\t } else {\n\t var newObj = {};\n\n\t if (obj != null) {\n\t for (var key in obj) {\n\t if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key];\n\t }\n\t }\n\n\t newObj[\"default\"] = obj;\n\t return newObj;\n\t }\n\t};\n\n\texports.__esModule = true;\n\n/***/ }),\n/* 4 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\n\tvar _interopRequireDefault = __webpack_require__(1)['default'];\n\n\texports.__esModule = true;\n\texports.HandlebarsEnvironment = HandlebarsEnvironment;\n\n\tvar _utils = __webpack_require__(5);\n\n\tvar _exception = __webpack_require__(6);\n\n\tvar _exception2 = _interopRequireDefault(_exception);\n\n\tvar _helpers = __webpack_require__(10);\n\n\tvar _decorators = __webpack_require__(30);\n\n\tvar _logger = __webpack_require__(32);\n\n\tvar _logger2 = _interopRequireDefault(_logger);\n\n\tvar _internalProtoAccess = __webpack_require__(33);\n\n\tvar VERSION = '4.7.6';\n\texports.VERSION = VERSION;\n\tvar COMPILER_REVISION = 8;\n\texports.COMPILER_REVISION = COMPILER_REVISION;\n\tvar LAST_COMPATIBLE_COMPILER_REVISION = 7;\n\n\texports.LAST_COMPATIBLE_COMPILER_REVISION = LAST_COMPATIBLE_COMPILER_REVISION;\n\tvar REVISION_CHANGES = {\n\t 1: '<= 1.0.rc.2', // 1.0.rc.2 is actually rev2 but doesn't report it\n\t 2: '== 1.0.0-rc.3',\n\t 3: '== 1.0.0-rc.4',\n\t 4: '== 1.x.x',\n\t 5: '== 2.0.0-alpha.x',\n\t 6: '>= 2.0.0-beta.1',\n\t 7: '>= 4.0.0 <4.3.0',\n\t 8: '>= 4.3.0'\n\t};\n\n\texports.REVISION_CHANGES = REVISION_CHANGES;\n\tvar objectType = '[object Object]';\n\n\tfunction HandlebarsEnvironment(helpers, partials, decorators) {\n\t this.helpers = helpers || {};\n\t this.partials = partials || {};\n\t this.decorators = decorators || {};\n\n\t _helpers.registerDefaultHelpers(this);\n\t _decorators.registerDefaultDecorators(this);\n\t}\n\n\tHandlebarsEnvironment.prototype = {\n\t constructor: HandlebarsEnvironment,\n\n\t logger: _logger2['default'],\n\t log: _logger2['default'].log,\n\n\t registerHelper: function registerHelper(name, fn) {\n\t if (_utils.toString.call(name) === objectType) {\n\t if (fn) {\n\t throw new _exception2['default']('Arg not supported with multiple helpers');\n\t }\n\t _utils.extend(this.helpers, name);\n\t } else {\n\t this.helpers[name] = fn;\n\t }\n\t },\n\t unregisterHelper: function unregisterHelper(name) {\n\t delete this.helpers[name];\n\t },\n\n\t registerPartial: function registerPartial(name, partial) {\n\t if (_utils.toString.call(name) === objectType) {\n\t _utils.extend(this.partials, name);\n\t } else {\n\t if (typeof partial === 'undefined') {\n\t throw new _exception2['default']('Attempting to register a partial called \"' + name + '\" as undefined');\n\t }\n\t this.partials[name] = partial;\n\t }\n\t },\n\t unregisterPartial: function unregisterPartial(name) {\n\t delete this.partials[name];\n\t },\n\n\t registerDecorator: function registerDecorator(name, fn) {\n\t if (_utils.toString.call(name) === objectType) {\n\t if (fn) {\n\t throw new _exception2['default']('Arg not supported with multiple decorators');\n\t }\n\t _utils.extend(this.decorators, name);\n\t } else {\n\t this.decorators[name] = fn;\n\t }\n\t },\n\t unregisterDecorator: function unregisterDecorator(name) {\n\t delete this.decorators[name];\n\t },\n\t /**\n\t * Reset the memory of illegal property accesses that have already been logged.\n\t * @deprecated should only be used in handlebars test-cases\n\t */\n\t resetLoggedPropertyAccesses: function resetLoggedPropertyAccesses() {\n\t _internalProtoAccess.resetLoggedProperties();\n\t }\n\t};\n\n\tvar log = _logger2['default'].log;\n\n\texports.log = log;\n\texports.createFrame = _utils.createFrame;\n\texports.logger = _logger2['default'];\n\n/***/ }),\n/* 5 */\n/***/ (function(module, exports) {\n\n\t'use strict';\n\n\texports.__esModule = true;\n\texports.extend = extend;\n\texports.indexOf = indexOf;\n\texports.escapeExpression = escapeExpression;\n\texports.isEmpty = isEmpty;\n\texports.createFrame = createFrame;\n\texports.blockParams = blockParams;\n\texports.appendContextPath = appendContextPath;\n\tvar escape = {\n\t '&': '&',\n\t '<': '<',\n\t '>': '>',\n\t '\"': '"',\n\t \"'\": ''',\n\t '`': '`',\n\t '=': '='\n\t};\n\n\tvar badChars = /[&<>\"'`=]/g,\n\t possible = /[&<>\"'`=]/;\n\n\tfunction escapeChar(chr) {\n\t return escape[chr];\n\t}\n\n\tfunction extend(obj /* , ...source */) {\n\t for (var i = 1; i < arguments.length; i++) {\n\t for (var key in arguments[i]) {\n\t if (Object.prototype.hasOwnProperty.call(arguments[i], key)) {\n\t obj[key] = arguments[i][key];\n\t }\n\t }\n\t }\n\n\t return obj;\n\t}\n\n\tvar toString = Object.prototype.toString;\n\n\texports.toString = toString;\n\t// Sourced from lodash\n\t// https://github.com/bestiejs/lodash/blob/master/LICENSE.txt\n\t/* eslint-disable func-style */\n\tvar isFunction = function isFunction(value) {\n\t return typeof value === 'function';\n\t};\n\t// fallback for older versions of Chrome and Safari\n\t/* istanbul ignore next */\n\tif (isFunction(/x/)) {\n\t exports.isFunction = isFunction = function (value) {\n\t return typeof value === 'function' && toString.call(value) === '[object Function]';\n\t };\n\t}\n\texports.isFunction = isFunction;\n\n\t/* eslint-enable func-style */\n\n\t/* istanbul ignore next */\n\tvar isArray = Array.isArray || function (value) {\n\t return value && typeof value === 'object' ? toString.call(value) === '[object Array]' : false;\n\t};\n\n\texports.isArray = isArray;\n\t// Older IE versions do not directly support indexOf so we must implement our own, sadly.\n\n\tfunction indexOf(array, value) {\n\t for (var i = 0, len = array.length; i < len; i++) {\n\t if (array[i] === value) {\n\t return i;\n\t }\n\t }\n\t return -1;\n\t}\n\n\tfunction escapeExpression(string) {\n\t if (typeof string !== 'string') {\n\t // don't escape SafeStrings, since they're already safe\n\t if (string && string.toHTML) {\n\t return string.toHTML();\n\t } else if (string == null) {\n\t return '';\n\t } else if (!string) {\n\t return string + '';\n\t }\n\n\t // Force a string conversion as this will be done by the append regardless and\n\t // the regex test will do this transparently behind the scenes, causing issues if\n\t // an object's to string has escaped characters in it.\n\t string = '' + string;\n\t }\n\n\t if (!possible.test(string)) {\n\t return string;\n\t }\n\t return string.replace(badChars, escapeChar);\n\t}\n\n\tfunction isEmpty(value) {\n\t if (!value && value !== 0) {\n\t return true;\n\t } else if (isArray(value) && value.length === 0) {\n\t return true;\n\t } else {\n\t return false;\n\t }\n\t}\n\n\tfunction createFrame(object) {\n\t var frame = extend({}, object);\n\t frame._parent = object;\n\t return frame;\n\t}\n\n\tfunction blockParams(params, ids) {\n\t params.path = ids;\n\t return params;\n\t}\n\n\tfunction appendContextPath(contextPath, id) {\n\t return (contextPath ? contextPath + '.' : '') + id;\n\t}\n\n/***/ }),\n/* 6 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\n\tvar _Object$defineProperty = __webpack_require__(7)['default'];\n\n\texports.__esModule = true;\n\tvar errorProps = ['description', 'fileName', 'lineNumber', 'endLineNumber', 'message', 'name', 'number', 'stack'];\n\n\tfunction Exception(message, node) {\n\t var loc = node && node.loc,\n\t line = undefined,\n\t endLineNumber = undefined,\n\t column = undefined,\n\t endColumn = undefined;\n\n\t if (loc) {\n\t line = loc.start.line;\n\t endLineNumber = loc.end.line;\n\t column = loc.start.column;\n\t endColumn = loc.end.column;\n\n\t message += ' - ' + line + ':' + column;\n\t }\n\n\t var tmp = Error.prototype.constructor.call(this, message);\n\n\t // Unfortunately errors are not enumerable in Chrome (at least), so `for prop in tmp` doesn't work.\n\t for (var idx = 0; idx < errorProps.length; idx++) {\n\t this[errorProps[idx]] = tmp[errorProps[idx]];\n\t }\n\n\t /* istanbul ignore else */\n\t if (Error.captureStackTrace) {\n\t Error.captureStackTrace(this, Exception);\n\t }\n\n\t try {\n\t if (loc) {\n\t this.lineNumber = line;\n\t this.endLineNumber = endLineNumber;\n\n\t // Work around issue under safari where we can't directly set the column value\n\t /* istanbul ignore next */\n\t if (_Object$defineProperty) {\n\t Object.defineProperty(this, 'column', {\n\t value: column,\n\t enumerable: true\n\t });\n\t Object.defineProperty(this, 'endColumn', {\n\t value: endColumn,\n\t enumerable: true\n\t });\n\t } else {\n\t this.column = column;\n\t this.endColumn = endColumn;\n\t }\n\t }\n\t } catch (nop) {\n\t /* Ignore if the browser is very particular */\n\t }\n\t}\n\n\tException.prototype = new Error();\n\n\texports['default'] = Exception;\n\tmodule.exports = exports['default'];\n\n/***/ }),\n/* 7 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\tmodule.exports = { \"default\": __webpack_require__(8), __esModule: true };\n\n/***/ }),\n/* 8 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar $ = __webpack_require__(9);\n\tmodule.exports = function defineProperty(it, key, desc){\n\t return $.setDesc(it, key, desc);\n\t};\n\n/***/ }),\n/* 9 */\n/***/ (function(module, exports) {\n\n\tvar $Object = Object;\n\tmodule.exports = {\n\t create: $Object.create,\n\t getProto: $Object.getPrototypeOf,\n\t isEnum: {}.propertyIsEnumerable,\n\t getDesc: $Object.getOwnPropertyDescriptor,\n\t setDesc: $Object.defineProperty,\n\t setDescs: $Object.defineProperties,\n\t getKeys: $Object.keys,\n\t getNames: $Object.getOwnPropertyNames,\n\t getSymbols: $Object.getOwnPropertySymbols,\n\t each: [].forEach\n\t};\n\n/***/ }),\n/* 10 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\n\tvar _interopRequireDefault = __webpack_require__(1)['default'];\n\n\texports.__esModule = true;\n\texports.registerDefaultHelpers = registerDefaultHelpers;\n\texports.moveHelperToHooks = moveHelperToHooks;\n\n\tvar _helpersBlockHelperMissing = __webpack_require__(11);\n\n\tvar _helpersBlockHelperMissing2 = _interopRequireDefault(_helpersBlockHelperMissing);\n\n\tvar _helpersEach = __webpack_require__(12);\n\n\tvar _helpersEach2 = _interopRequireDefault(_helpersEach);\n\n\tvar _helpersHelperMissing = __webpack_require__(25);\n\n\tvar _helpersHelperMissing2 = _interopRequireDefault(_helpersHelperMissing);\n\n\tvar _helpersIf = __webpack_require__(26);\n\n\tvar _helpersIf2 = _interopRequireDefault(_helpersIf);\n\n\tvar _helpersLog = __webpack_require__(27);\n\n\tvar _helpersLog2 = _interopRequireDefault(_helpersLog);\n\n\tvar _helpersLookup = __webpack_require__(28);\n\n\tvar _helpersLookup2 = _interopRequireDefault(_helpersLookup);\n\n\tvar _helpersWith = __webpack_require__(29);\n\n\tvar _helpersWith2 = _interopRequireDefault(_helpersWith);\n\n\tfunction registerDefaultHelpers(instance) {\n\t _helpersBlockHelperMissing2['default'](instance);\n\t _helpersEach2['default'](instance);\n\t _helpersHelperMissing2['default'](instance);\n\t _helpersIf2['default'](instance);\n\t _helpersLog2['default'](instance);\n\t _helpersLookup2['default'](instance);\n\t _helpersWith2['default'](instance);\n\t}\n\n\tfunction moveHelperToHooks(instance, helperName, keepHelper) {\n\t if (instance.helpers[helperName]) {\n\t instance.hooks[helperName] = instance.helpers[helperName];\n\t if (!keepHelper) {\n\t delete instance.helpers[helperName];\n\t }\n\t }\n\t}\n\n/***/ }),\n/* 11 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\n\texports.__esModule = true;\n\n\tvar _utils = __webpack_require__(5);\n\n\texports['default'] = function (instance) {\n\t instance.registerHelper('blockHelperMissing', function (context, options) {\n\t var inverse = options.inverse,\n\t fn = options.fn;\n\n\t if (context === true) {\n\t return fn(this);\n\t } else if (context === false || context == null) {\n\t return inverse(this);\n\t } else if (_utils.isArray(context)) {\n\t if (context.length > 0) {\n\t if (options.ids) {\n\t options.ids = [options.name];\n\t }\n\n\t return instance.helpers.each(context, options);\n\t } else {\n\t return inverse(this);\n\t }\n\t } else {\n\t if (options.data && options.ids) {\n\t var data = _utils.createFrame(options.data);\n\t data.contextPath = _utils.appendContextPath(options.data.contextPath, options.name);\n\t options = { data: data };\n\t }\n\n\t return fn(context, options);\n\t }\n\t });\n\t};\n\n\tmodule.exports = exports['default'];\n\n/***/ }),\n/* 12 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t/* WEBPACK VAR INJECTION */(function(global) {'use strict';\n\n\tvar _Object$keys = __webpack_require__(13)['default'];\n\n\tvar _interopRequireDefault = __webpack_require__(1)['default'];\n\n\texports.__esModule = true;\n\n\tvar _utils = __webpack_require__(5);\n\n\tvar _exception = __webpack_require__(6);\n\n\tvar _exception2 = _interopRequireDefault(_exception);\n\n\texports['default'] = function (instance) {\n\t instance.registerHelper('each', function (context, options) {\n\t if (!options) {\n\t throw new _exception2['default']('Must pass iterator to #each');\n\t }\n\n\t var fn = options.fn,\n\t inverse = options.inverse,\n\t i = 0,\n\t ret = '',\n\t data = undefined,\n\t contextPath = undefined;\n\n\t if (options.data && options.ids) {\n\t contextPath = _utils.appendContextPath(options.data.contextPath, options.ids[0]) + '.';\n\t }\n\n\t if (_utils.isFunction(context)) {\n\t context = context.call(this);\n\t }\n\n\t if (options.data) {\n\t data = _utils.createFrame(options.data);\n\t }\n\n\t function execIteration(field, index, last) {\n\t if (data) {\n\t data.key = field;\n\t data.index = index;\n\t data.first = index === 0;\n\t data.last = !!last;\n\n\t if (contextPath) {\n\t data.contextPath = contextPath + field;\n\t }\n\t }\n\n\t ret = ret + fn(context[field], {\n\t data: data,\n\t blockParams: _utils.blockParams([context[field], field], [contextPath + field, null])\n\t });\n\t }\n\n\t if (context && typeof context === 'object') {\n\t if (_utils.isArray(context)) {\n\t for (var j = context.length; i < j; i++) {\n\t if (i in context) {\n\t execIteration(i, i, i === context.length - 1);\n\t }\n\t }\n\t } else if (global.Symbol && context[global.Symbol.iterator]) {\n\t var newContext = [];\n\t var iterator = context[global.Symbol.iterator]();\n\t for (var it = iterator.next(); !it.done; it = iterator.next()) {\n\t newContext.push(it.value);\n\t }\n\t context = newContext;\n\t for (var j = context.length; i < j; i++) {\n\t execIteration(i, i, i === context.length - 1);\n\t }\n\t } else {\n\t (function () {\n\t var priorKey = undefined;\n\n\t _Object$keys(context).forEach(function (key) {\n\t // We're running the iterations one step out of sync so we can detect\n\t // the last iteration without have to scan the object twice and create\n\t // an itermediate keys array.\n\t if (priorKey !== undefined) {\n\t execIteration(priorKey, i - 1);\n\t }\n\t priorKey = key;\n\t i++;\n\t });\n\t if (priorKey !== undefined) {\n\t execIteration(priorKey, i - 1, true);\n\t }\n\t })();\n\t }\n\t }\n\n\t if (i === 0) {\n\t ret = inverse(this);\n\t }\n\n\t return ret;\n\t });\n\t};\n\n\tmodule.exports = exports['default'];\n\t/* WEBPACK VAR INJECTION */}.call(exports, (function() { return this; }())))\n\n/***/ }),\n/* 13 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\tmodule.exports = { \"default\": __webpack_require__(14), __esModule: true };\n\n/***/ }),\n/* 14 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t__webpack_require__(15);\n\tmodule.exports = __webpack_require__(21).Object.keys;\n\n/***/ }),\n/* 15 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t// 19.1.2.14 Object.keys(O)\n\tvar toObject = __webpack_require__(16);\n\n\t__webpack_require__(18)('keys', function($keys){\n\t return function keys(it){\n\t return $keys(toObject(it));\n\t };\n\t});\n\n/***/ }),\n/* 16 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t// 7.1.13 ToObject(argument)\n\tvar defined = __webpack_require__(17);\n\tmodule.exports = function(it){\n\t return Object(defined(it));\n\t};\n\n/***/ }),\n/* 17 */\n/***/ (function(module, exports) {\n\n\t// 7.2.1 RequireObjectCoercible(argument)\n\tmodule.exports = function(it){\n\t if(it == undefined)throw TypeError(\"Can't call method on \" + it);\n\t return it;\n\t};\n\n/***/ }),\n/* 18 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t// most Object methods by ES6 should accept primitives\n\tvar $export = __webpack_require__(19)\n\t , core = __webpack_require__(21)\n\t , fails = __webpack_require__(24);\n\tmodule.exports = function(KEY, exec){\n\t var fn = (core.Object || {})[KEY] || Object[KEY]\n\t , exp = {};\n\t exp[KEY] = exec(fn);\n\t $export($export.S + $export.F * fails(function(){ fn(1); }), 'Object', exp);\n\t};\n\n/***/ }),\n/* 19 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar global = __webpack_require__(20)\n\t , core = __webpack_require__(21)\n\t , ctx = __webpack_require__(22)\n\t , PROTOTYPE = 'prototype';\n\n\tvar $export = function(type, name, source){\n\t var IS_FORCED = type & $export.F\n\t , IS_GLOBAL = type & $export.G\n\t , IS_STATIC = type & $export.S\n\t , IS_PROTO = type & $export.P\n\t , IS_BIND = type & $export.B\n\t , IS_WRAP = type & $export.W\n\t , exports = IS_GLOBAL ? core : core[name] || (core[name] = {})\n\t , target = IS_GLOBAL ? global : IS_STATIC ? global[name] : (global[name] || {})[PROTOTYPE]\n\t , key, own, out;\n\t if(IS_GLOBAL)source = name;\n\t for(key in source){\n\t // contains in native\n\t own = !IS_FORCED && target && key in target;\n\t if(own && key in exports)continue;\n\t // export native or passed\n\t out = own ? target[key] : source[key];\n\t // prevent global pollution for namespaces\n\t exports[key] = IS_GLOBAL && typeof target[key] != 'function' ? source[key]\n\t // bind timers to global for call from export context\n\t : IS_BIND && own ? ctx(out, global)\n\t // wrap global constructors for prevent change them in library\n\t : IS_WRAP && target[key] == out ? (function(C){\n\t var F = function(param){\n\t return this instanceof C ? new C(param) : C(param);\n\t };\n\t F[PROTOTYPE] = C[PROTOTYPE];\n\t return F;\n\t // make static versions for prototype methods\n\t })(out) : IS_PROTO && typeof out == 'function' ? ctx(Function.call, out) : out;\n\t if(IS_PROTO)(exports[PROTOTYPE] || (exports[PROTOTYPE] = {}))[key] = out;\n\t }\n\t};\n\t// type bitmap\n\t$export.F = 1; // forced\n\t$export.G = 2; // global\n\t$export.S = 4; // static\n\t$export.P = 8; // proto\n\t$export.B = 16; // bind\n\t$export.W = 32; // wrap\n\tmodule.exports = $export;\n\n/***/ }),\n/* 20 */\n/***/ (function(module, exports) {\n\n\t// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028\n\tvar global = module.exports = typeof window != 'undefined' && window.Math == Math\n\t ? window : typeof self != 'undefined' && self.Math == Math ? self : Function('return this')();\n\tif(typeof __g == 'number')__g = global; // eslint-disable-line no-undef\n\n/***/ }),\n/* 21 */\n/***/ (function(module, exports) {\n\n\tvar core = module.exports = {version: '1.2.6'};\n\tif(typeof __e == 'number')__e = core; // eslint-disable-line no-undef\n\n/***/ }),\n/* 22 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t// optional / simple context binding\n\tvar aFunction = __webpack_require__(23);\n\tmodule.exports = function(fn, that, length){\n\t aFunction(fn);\n\t if(that === undefined)return fn;\n\t switch(length){\n\t case 1: return function(a){\n\t return fn.call(that, a);\n\t };\n\t case 2: return function(a, b){\n\t return fn.call(that, a, b);\n\t };\n\t case 3: return function(a, b, c){\n\t return fn.call(that, a, b, c);\n\t };\n\t }\n\t return function(/* ...args */){\n\t return fn.apply(that, arguments);\n\t };\n\t};\n\n/***/ }),\n/* 23 */\n/***/ (function(module, exports) {\n\n\tmodule.exports = function(it){\n\t if(typeof it != 'function')throw TypeError(it + ' is not a function!');\n\t return it;\n\t};\n\n/***/ }),\n/* 24 */\n/***/ (function(module, exports) {\n\n\tmodule.exports = function(exec){\n\t try {\n\t return !!exec();\n\t } catch(e){\n\t return true;\n\t }\n\t};\n\n/***/ }),\n/* 25 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\n\tvar _interopRequireDefault = __webpack_require__(1)['default'];\n\n\texports.__esModule = true;\n\n\tvar _exception = __webpack_require__(6);\n\n\tvar _exception2 = _interopRequireDefault(_exception);\n\n\texports['default'] = function (instance) {\n\t instance.registerHelper('helperMissing', function () /* [args, ]options */{\n\t if (arguments.length === 1) {\n\t // A missing field in a {{foo}} construct.\n\t return undefined;\n\t } else {\n\t // Someone is actually trying to call something, blow up.\n\t throw new _exception2['default']('Missing helper: \"' + arguments[arguments.length - 1].name + '\"');\n\t }\n\t });\n\t};\n\n\tmodule.exports = exports['default'];\n\n/***/ }),\n/* 26 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\n\tvar _interopRequireDefault = __webpack_require__(1)['default'];\n\n\texports.__esModule = true;\n\n\tvar _utils = __webpack_require__(5);\n\n\tvar _exception = __webpack_require__(6);\n\n\tvar _exception2 = _interopRequireDefault(_exception);\n\n\texports['default'] = function (instance) {\n\t instance.registerHelper('if', function (conditional, options) {\n\t if (arguments.length != 2) {\n\t throw new _exception2['default']('#if requires exactly one argument');\n\t }\n\t if (_utils.isFunction(conditional)) {\n\t conditional = conditional.call(this);\n\t }\n\n\t // Default behavior is to render the positive path if the value is truthy and not empty.\n\t // The `includeZero` option may be set to treat the condtional as purely not empty based on the\n\t // behavior of isEmpty. Effectively this determines if 0 is handled by the positive path or negative.\n\t if (!options.hash.includeZero && !conditional || _utils.isEmpty(conditional)) {\n\t return options.inverse(this);\n\t } else {\n\t return options.fn(this);\n\t }\n\t });\n\n\t instance.registerHelper('unless', function (conditional, options) {\n\t if (arguments.length != 2) {\n\t throw new _exception2['default']('#unless requires exactly one argument');\n\t }\n\t return instance.helpers['if'].call(this, conditional, {\n\t fn: options.inverse,\n\t inverse: options.fn,\n\t hash: options.hash\n\t });\n\t });\n\t};\n\n\tmodule.exports = exports['default'];\n\n/***/ }),\n/* 27 */\n/***/ (function(module, exports) {\n\n\t'use strict';\n\n\texports.__esModule = true;\n\n\texports['default'] = function (instance) {\n\t instance.registerHelper('log', function () /* message, options */{\n\t var args = [undefined],\n\t options = arguments[arguments.length - 1];\n\t for (var i = 0; i < arguments.length - 1; i++) {\n\t args.push(arguments[i]);\n\t }\n\n\t var level = 1;\n\t if (options.hash.level != null) {\n\t level = options.hash.level;\n\t } else if (options.data && options.data.level != null) {\n\t level = options.data.level;\n\t }\n\t args[0] = level;\n\n\t instance.log.apply(instance, args);\n\t });\n\t};\n\n\tmodule.exports = exports['default'];\n\n/***/ }),\n/* 28 */\n/***/ (function(module, exports) {\n\n\t'use strict';\n\n\texports.__esModule = true;\n\n\texports['default'] = function (instance) {\n\t instance.registerHelper('lookup', function (obj, field, options) {\n\t if (!obj) {\n\t // Note for 5.0: Change to \"obj == null\" in 5.0\n\t return obj;\n\t }\n\t return options.lookupProperty(obj, field);\n\t });\n\t};\n\n\tmodule.exports = exports['default'];\n\n/***/ }),\n/* 29 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\n\tvar _interopRequireDefault = __webpack_require__(1)['default'];\n\n\texports.__esModule = true;\n\n\tvar _utils = __webpack_require__(5);\n\n\tvar _exception = __webpack_require__(6);\n\n\tvar _exception2 = _interopRequireDefault(_exception);\n\n\texports['default'] = function (instance) {\n\t instance.registerHelper('with', function (context, options) {\n\t if (arguments.length != 2) {\n\t throw new _exception2['default']('#with requires exactly one argument');\n\t }\n\t if (_utils.isFunction(context)) {\n\t context = context.call(this);\n\t }\n\n\t var fn = options.fn;\n\n\t if (!_utils.isEmpty(context)) {\n\t var data = options.data;\n\t if (options.data && options.ids) {\n\t data = _utils.createFrame(options.data);\n\t data.contextPath = _utils.appendContextPath(options.data.contextPath, options.ids[0]);\n\t }\n\n\t return fn(context, {\n\t data: data,\n\t blockParams: _utils.blockParams([context], [data && data.contextPath])\n\t });\n\t } else {\n\t return options.inverse(this);\n\t }\n\t });\n\t};\n\n\tmodule.exports = exports['default'];\n\n/***/ }),\n/* 30 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\n\tvar _interopRequireDefault = __webpack_require__(1)['default'];\n\n\texports.__esModule = true;\n\texports.registerDefaultDecorators = registerDefaultDecorators;\n\n\tvar _decoratorsInline = __webpack_require__(31);\n\n\tvar _decoratorsInline2 = _interopRequireDefault(_decoratorsInline);\n\n\tfunction registerDefaultDecorators(instance) {\n\t _decoratorsInline2['default'](instance);\n\t}\n\n/***/ }),\n/* 31 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\n\texports.__esModule = true;\n\n\tvar _utils = __webpack_require__(5);\n\n\texports['default'] = function (instance) {\n\t instance.registerDecorator('inline', function (fn, props, container, options) {\n\t var ret = fn;\n\t if (!props.partials) {\n\t props.partials = {};\n\t ret = function (context, options) {\n\t // Create a new partials stack frame prior to exec.\n\t var original = container.partials;\n\t container.partials = _utils.extend({}, original, props.partials);\n\t var ret = fn(context, options);\n\t container.partials = original;\n\t return ret;\n\t };\n\t }\n\n\t props.partials[options.args[0]] = options.fn;\n\n\t return ret;\n\t });\n\t};\n\n\tmodule.exports = exports['default'];\n\n/***/ }),\n/* 32 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\n\texports.__esModule = true;\n\n\tvar _utils = __webpack_require__(5);\n\n\tvar logger = {\n\t methodMap: ['debug', 'info', 'warn', 'error'],\n\t level: 'info',\n\n\t // Maps a given level value to the `methodMap` indexes above.\n\t lookupLevel: function lookupLevel(level) {\n\t if (typeof level === 'string') {\n\t var levelMap = _utils.indexOf(logger.methodMap, level.toLowerCase());\n\t if (levelMap >= 0) {\n\t level = levelMap;\n\t } else {\n\t level = parseInt(level, 10);\n\t }\n\t }\n\n\t return level;\n\t },\n\n\t // Can be overridden in the host environment\n\t log: function log(level) {\n\t level = logger.lookupLevel(level);\n\n\t if (typeof console !== 'undefined' && logger.lookupLevel(logger.level) <= level) {\n\t var method = logger.methodMap[level];\n\t // eslint-disable-next-line no-console\n\t if (!console[method]) {\n\t method = 'log';\n\t }\n\n\t for (var _len = arguments.length, message = Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n\t message[_key - 1] = arguments[_key];\n\t }\n\n\t console[method].apply(console, message); // eslint-disable-line no-console\n\t }\n\t }\n\t};\n\n\texports['default'] = logger;\n\tmodule.exports = exports['default'];\n\n/***/ }),\n/* 33 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\n\tvar _Object$create = __webpack_require__(34)['default'];\n\n\tvar _Object$keys = __webpack_require__(13)['default'];\n\n\tvar _interopRequireWildcard = __webpack_require__(3)['default'];\n\n\texports.__esModule = true;\n\texports.createProtoAccessControl = createProtoAccessControl;\n\texports.resultIsAllowed = resultIsAllowed;\n\texports.resetLoggedProperties = resetLoggedProperties;\n\n\tvar _createNewLookupObject = __webpack_require__(36);\n\n\tvar _logger = __webpack_require__(32);\n\n\tvar logger = _interopRequireWildcard(_logger);\n\n\tvar loggedProperties = _Object$create(null);\n\n\tfunction createProtoAccessControl(runtimeOptions) {\n\t var defaultMethodWhiteList = _Object$create(null);\n\t defaultMethodWhiteList['constructor'] = false;\n\t defaultMethodWhiteList['__defineGetter__'] = false;\n\t defaultMethodWhiteList['__defineSetter__'] = false;\n\t defaultMethodWhiteList['__lookupGetter__'] = false;\n\n\t var defaultPropertyWhiteList = _Object$create(null);\n\t // eslint-disable-next-line no-proto\n\t defaultPropertyWhiteList['__proto__'] = false;\n\n\t return {\n\t properties: {\n\t whitelist: _createNewLookupObject.createNewLookupObject(defaultPropertyWhiteList, runtimeOptions.allowedProtoProperties),\n\t defaultValue: runtimeOptions.allowProtoPropertiesByDefault\n\t },\n\t methods: {\n\t whitelist: _createNewLookupObject.createNewLookupObject(defaultMethodWhiteList, runtimeOptions.allowedProtoMethods),\n\t defaultValue: runtimeOptions.allowProtoMethodsByDefault\n\t }\n\t };\n\t}\n\n\tfunction resultIsAllowed(result, protoAccessControl, propertyName) {\n\t if (typeof result === 'function') {\n\t return checkWhiteList(protoAccessControl.methods, propertyName);\n\t } else {\n\t return checkWhiteList(protoAccessControl.properties, propertyName);\n\t }\n\t}\n\n\tfunction checkWhiteList(protoAccessControlForType, propertyName) {\n\t if (protoAccessControlForType.whitelist[propertyName] !== undefined) {\n\t return protoAccessControlForType.whitelist[propertyName] === true;\n\t }\n\t if (protoAccessControlForType.defaultValue !== undefined) {\n\t return protoAccessControlForType.defaultValue;\n\t }\n\t logUnexpecedPropertyAccessOnce(propertyName);\n\t return false;\n\t}\n\n\tfunction logUnexpecedPropertyAccessOnce(propertyName) {\n\t if (loggedProperties[propertyName] !== true) {\n\t loggedProperties[propertyName] = true;\n\t logger.log('error', 'Handlebars: Access has been denied to resolve the property \"' + propertyName + '\" because it is not an \"own property\" of its parent.\\n' + 'You can add a runtime option to disable the check or this warning:\\n' + 'See https://handlebarsjs.com/api-reference/runtime-options.html#options-to-control-prototype-access for details');\n\t }\n\t}\n\n\tfunction resetLoggedProperties() {\n\t _Object$keys(loggedProperties).forEach(function (propertyName) {\n\t delete loggedProperties[propertyName];\n\t });\n\t}\n\n/***/ }),\n/* 34 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\tmodule.exports = { \"default\": __webpack_require__(35), __esModule: true };\n\n/***/ }),\n/* 35 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar $ = __webpack_require__(9);\n\tmodule.exports = function create(P, D){\n\t return $.create(P, D);\n\t};\n\n/***/ }),\n/* 36 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\n\tvar _Object$create = __webpack_require__(34)['default'];\n\n\texports.__esModule = true;\n\texports.createNewLookupObject = createNewLookupObject;\n\n\tvar _utils = __webpack_require__(5);\n\n\t/**\n\t * Create a new object with \"null\"-prototype to avoid truthy results on prototype properties.\n\t * The resulting object can be used with \"object[property]\" to check if a property exists\n\t * @param {...object} sources a varargs parameter of source objects that will be merged\n\t * @returns {object}\n\t */\n\n\tfunction createNewLookupObject() {\n\t for (var _len = arguments.length, sources = Array(_len), _key = 0; _key < _len; _key++) {\n\t sources[_key] = arguments[_key];\n\t }\n\n\t return _utils.extend.apply(undefined, [_Object$create(null)].concat(sources));\n\t}\n\n/***/ }),\n/* 37 */\n/***/ (function(module, exports) {\n\n\t// Build out our basic SafeString type\n\t'use strict';\n\n\texports.__esModule = true;\n\tfunction SafeString(string) {\n\t this.string = string;\n\t}\n\n\tSafeString.prototype.toString = SafeString.prototype.toHTML = function () {\n\t return '' + this.string;\n\t};\n\n\texports['default'] = SafeString;\n\tmodule.exports = exports['default'];\n\n/***/ }),\n/* 38 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\n\tvar _Object$seal = __webpack_require__(39)['default'];\n\n\tvar _Object$keys = __webpack_require__(13)['default'];\n\n\tvar _interopRequireWildcard = __webpack_require__(3)['default'];\n\n\tvar _interopRequireDefault = __webpack_require__(1)['default'];\n\n\texports.__esModule = true;\n\texports.checkRevision = checkRevision;\n\texports.template = template;\n\texports.wrapProgram = wrapProgram;\n\texports.resolvePartial = resolvePartial;\n\texports.invokePartial = invokePartial;\n\texports.noop = noop;\n\n\tvar _utils = __webpack_require__(5);\n\n\tvar Utils = _interopRequireWildcard(_utils);\n\n\tvar _exception = __webpack_require__(6);\n\n\tvar _exception2 = _interopRequireDefault(_exception);\n\n\tvar _base = __webpack_require__(4);\n\n\tvar _helpers = __webpack_require__(10);\n\n\tvar _internalWrapHelper = __webpack_require__(43);\n\n\tvar _internalProtoAccess = __webpack_require__(33);\n\n\tfunction checkRevision(compilerInfo) {\n\t var compilerRevision = compilerInfo && compilerInfo[0] || 1,\n\t currentRevision = _base.COMPILER_REVISION;\n\n\t if (compilerRevision >= _base.LAST_COMPATIBLE_COMPILER_REVISION && compilerRevision <= _base.COMPILER_REVISION) {\n\t return;\n\t }\n\n\t if (compilerRevision < _base.LAST_COMPATIBLE_COMPILER_REVISION) {\n\t var runtimeVersions = _base.REVISION_CHANGES[currentRevision],\n\t compilerVersions = _base.REVISION_CHANGES[compilerRevision];\n\t throw new _exception2['default']('Template was precompiled with an older version of Handlebars than the current runtime. ' + 'Please update your precompiler to a newer version (' + runtimeVersions + ') or downgrade your runtime to an older version (' + compilerVersions + ').');\n\t } else {\n\t // Use the embedded version info since the runtime doesn't know about this revision yet\n\t throw new _exception2['default']('Template was precompiled with a newer version of Handlebars than the current runtime. ' + 'Please update your runtime to a newer version (' + compilerInfo[1] + ').');\n\t }\n\t}\n\n\tfunction template(templateSpec, env) {\n\t /* istanbul ignore next */\n\t if (!env) {\n\t throw new _exception2['default']('No environment passed to template');\n\t }\n\t if (!templateSpec || !templateSpec.main) {\n\t throw new _exception2['default']('Unknown template object: ' + typeof templateSpec);\n\t }\n\n\t templateSpec.main.decorator = templateSpec.main_d;\n\n\t // Note: Using env.VM references rather than local var references throughout this section to allow\n\t // for external users to override these as pseudo-supported APIs.\n\t env.VM.checkRevision(templateSpec.compiler);\n\n\t // backwards compatibility for precompiled templates with compiler-version 7 (<4.3.0)\n\t var templateWasPrecompiledWithCompilerV7 = templateSpec.compiler && templateSpec.compiler[0] === 7;\n\n\t function invokePartialWrapper(partial, context, options) {\n\t if (options.hash) {\n\t context = Utils.extend({}, context, options.hash);\n\t if (options.ids) {\n\t options.ids[0] = true;\n\t }\n\t }\n\t partial = env.VM.resolvePartial.call(this, partial, context, options);\n\n\t var extendedOptions = Utils.extend({}, options, {\n\t hooks: this.hooks,\n\t protoAccessControl: this.protoAccessControl\n\t });\n\n\t var result = env.VM.invokePartial.call(this, partial, context, extendedOptions);\n\n\t if (result == null && env.compile) {\n\t options.partials[options.name] = env.compile(partial, templateSpec.compilerOptions, env);\n\t result = options.partials[options.name](context, extendedOptions);\n\t }\n\t if (result != null) {\n\t if (options.indent) {\n\t var lines = result.split('\\n');\n\t for (var i = 0, l = lines.length; i < l; i++) {\n\t if (!lines[i] && i + 1 === l) {\n\t break;\n\t }\n\n\t lines[i] = options.indent + lines[i];\n\t }\n\t result = lines.join('\\n');\n\t }\n\t return result;\n\t } else {\n\t throw new _exception2['default']('The partial ' + options.name + ' could not be compiled when running in runtime-only mode');\n\t }\n\t }\n\n\t // Just add water\n\t var container = {\n\t strict: function strict(obj, name, loc) {\n\t if (!obj || !(name in obj)) {\n\t throw new _exception2['default']('\"' + name + '\" not defined in ' + obj, {\n\t loc: loc\n\t });\n\t }\n\t return obj[name];\n\t },\n\t lookupProperty: function lookupProperty(parent, propertyName) {\n\t var result = parent[propertyName];\n\t if (result == null) {\n\t return result;\n\t }\n\t if (Object.prototype.hasOwnProperty.call(parent, propertyName)) {\n\t return result;\n\t }\n\n\t if (_internalProtoAccess.resultIsAllowed(result, container.protoAccessControl, propertyName)) {\n\t return result;\n\t }\n\t return undefined;\n\t },\n\t lookup: function lookup(depths, name) {\n\t var len = depths.length;\n\t for (var i = 0; i < len; i++) {\n\t var result = depths[i] && container.lookupProperty(depths[i], name);\n\t if (result != null) {\n\t return depths[i][name];\n\t }\n\t }\n\t },\n\t lambda: function lambda(current, context) {\n\t return typeof current === 'function' ? current.call(context) : current;\n\t },\n\n\t escapeExpression: Utils.escapeExpression,\n\t invokePartial: invokePartialWrapper,\n\n\t fn: function fn(i) {\n\t var ret = templateSpec[i];\n\t ret.decorator = templateSpec[i + '_d'];\n\t return ret;\n\t },\n\n\t programs: [],\n\t program: function program(i, data, declaredBlockParams, blockParams, depths) {\n\t var programWrapper = this.programs[i],\n\t fn = this.fn(i);\n\t if (data || depths || blockParams || declaredBlockParams) {\n\t programWrapper = wrapProgram(this, i, fn, data, declaredBlockParams, blockParams, depths);\n\t } else if (!programWrapper) {\n\t programWrapper = this.programs[i] = wrapProgram(this, i, fn);\n\t }\n\t return programWrapper;\n\t },\n\n\t data: function data(value, depth) {\n\t while (value && depth--) {\n\t value = value._parent;\n\t }\n\t return value;\n\t },\n\t mergeIfNeeded: function mergeIfNeeded(param, common) {\n\t var obj = param || common;\n\n\t if (param && common && param !== common) {\n\t obj = Utils.extend({}, common, param);\n\t }\n\n\t return obj;\n\t },\n\t // An empty object to use as replacement for null-contexts\n\t nullContext: _Object$seal({}),\n\n\t noop: env.VM.noop,\n\t compilerInfo: templateSpec.compiler\n\t };\n\n\t function ret(context) {\n\t var options = arguments.length <= 1 || arguments[1] === undefined ? {} : arguments[1];\n\n\t var data = options.data;\n\n\t ret._setup(options);\n\t if (!options.partial && templateSpec.useData) {\n\t data = initData(context, data);\n\t }\n\t var depths = undefined,\n\t blockParams = templateSpec.useBlockParams ? [] : undefined;\n\t if (templateSpec.useDepths) {\n\t if (options.depths) {\n\t depths = context != options.depths[0] ? [context].concat(options.depths) : options.depths;\n\t } else {\n\t depths = [context];\n\t }\n\t }\n\n\t function main(context /*, options*/) {\n\t return '' + templateSpec.main(container, context, container.helpers, container.partials, data, blockParams, depths);\n\t }\n\n\t main = executeDecorators(templateSpec.main, main, container, options.depths || [], data, blockParams);\n\t return main(context, options);\n\t }\n\n\t ret.isTop = true;\n\n\t ret._setup = function (options) {\n\t if (!options.partial) {\n\t var mergedHelpers = Utils.extend({}, env.helpers, options.helpers);\n\t wrapHelpersToPassLookupProperty(mergedHelpers, container);\n\t container.helpers = mergedHelpers;\n\n\t if (templateSpec.usePartial) {\n\t // Use mergeIfNeeded here to prevent compiling global partials multiple times\n\t container.partials = container.mergeIfNeeded(options.partials, env.partials);\n\t }\n\t if (templateSpec.usePartial || templateSpec.useDecorators) {\n\t container.decorators = Utils.extend({}, env.decorators, options.decorators);\n\t }\n\n\t container.hooks = {};\n\t container.protoAccessControl = _internalProtoAccess.createProtoAccessControl(options);\n\n\t var keepHelperInHelpers = options.allowCallsToHelperMissing || templateWasPrecompiledWithCompilerV7;\n\t _helpers.moveHelperToHooks(container, 'helperMissing', keepHelperInHelpers);\n\t _helpers.moveHelperToHooks(container, 'blockHelperMissing', keepHelperInHelpers);\n\t } else {\n\t container.protoAccessControl = options.protoAccessControl; // internal option\n\t container.helpers = options.helpers;\n\t container.partials = options.partials;\n\t container.decorators = options.decorators;\n\t container.hooks = options.hooks;\n\t }\n\t };\n\n\t ret._child = function (i, data, blockParams, depths) {\n\t if (templateSpec.useBlockParams && !blockParams) {\n\t throw new _exception2['default']('must pass block params');\n\t }\n\t if (templateSpec.useDepths && !depths) {\n\t throw new _exception2['default']('must pass parent depths');\n\t }\n\n\t return wrapProgram(container, i, templateSpec[i], data, 0, blockParams, depths);\n\t };\n\t return ret;\n\t}\n\n\tfunction wrapProgram(container, i, fn, data, declaredBlockParams, blockParams, depths) {\n\t function prog(context) {\n\t var options = arguments.length <= 1 || arguments[1] === undefined ? {} : arguments[1];\n\n\t var currentDepths = depths;\n\t if (depths && context != depths[0] && !(context === container.nullContext && depths[0] === null)) {\n\t currentDepths = [context].concat(depths);\n\t }\n\n\t return fn(container, context, container.helpers, container.partials, options.data || data, blockParams && [options.blockParams].concat(blockParams), currentDepths);\n\t }\n\n\t prog = executeDecorators(fn, prog, container, depths, data, blockParams);\n\n\t prog.program = i;\n\t prog.depth = depths ? depths.length : 0;\n\t prog.blockParams = declaredBlockParams || 0;\n\t return prog;\n\t}\n\n\t/**\n\t * This is currently part of the official API, therefore implementation details should not be changed.\n\t */\n\n\tfunction resolvePartial(partial, context, options) {\n\t if (!partial) {\n\t if (options.name === '@partial-block') {\n\t partial = options.data['partial-block'];\n\t } else {\n\t partial = options.partials[options.name];\n\t }\n\t } else if (!partial.call && !options.name) {\n\t // This is a dynamic partial that returned a string\n\t options.name = partial;\n\t partial = options.partials[partial];\n\t }\n\t return partial;\n\t}\n\n\tfunction invokePartial(partial, context, options) {\n\t // Use the current closure context to save the partial-block if this partial\n\t var currentPartialBlock = options.data && options.data['partial-block'];\n\t options.partial = true;\n\t if (options.ids) {\n\t options.data.contextPath = options.ids[0] || options.data.contextPath;\n\t }\n\n\t var partialBlock = undefined;\n\t if (options.fn && options.fn !== noop) {\n\t (function () {\n\t options.data = _base.createFrame(options.data);\n\t // Wrapper function to get access to currentPartialBlock from the closure\n\t var fn = options.fn;\n\t partialBlock = options.data['partial-block'] = function partialBlockWrapper(context) {\n\t var options = arguments.length <= 1 || arguments[1] === undefined ? {} : arguments[1];\n\n\t // Restore the partial-block from the closure for the execution of the block\n\t // i.e. the part inside the block of the partial call.\n\t options.data = _base.createFrame(options.data);\n\t options.data['partial-block'] = currentPartialBlock;\n\t return fn(context, options);\n\t };\n\t if (fn.partials) {\n\t options.partials = Utils.extend({}, options.partials, fn.partials);\n\t }\n\t })();\n\t }\n\n\t if (partial === undefined && partialBlock) {\n\t partial = partialBlock;\n\t }\n\n\t if (partial === undefined) {\n\t throw new _exception2['default']('The partial ' + options.name + ' could not be found');\n\t } else if (partial instanceof Function) {\n\t return partial(context, options);\n\t }\n\t}\n\n\tfunction noop() {\n\t return '';\n\t}\n\n\tfunction initData(context, data) {\n\t if (!data || !('root' in data)) {\n\t data = data ? _base.createFrame(data) : {};\n\t data.root = context;\n\t }\n\t return data;\n\t}\n\n\tfunction executeDecorators(fn, prog, container, depths, data, blockParams) {\n\t if (fn.decorator) {\n\t var props = {};\n\t prog = fn.decorator(prog, props, container, depths && depths[0], data, blockParams, depths);\n\t Utils.extend(prog, props);\n\t }\n\t return prog;\n\t}\n\n\tfunction wrapHelpersToPassLookupProperty(mergedHelpers, container) {\n\t _Object$keys(mergedHelpers).forEach(function (helperName) {\n\t var helper = mergedHelpers[helperName];\n\t mergedHelpers[helperName] = passLookupPropertyOption(helper, container);\n\t });\n\t}\n\n\tfunction passLookupPropertyOption(helper, container) {\n\t var lookupProperty = container.lookupProperty;\n\t return _internalWrapHelper.wrapHelper(helper, function (options) {\n\t return Utils.extend({ lookupProperty: lookupProperty }, options);\n\t });\n\t}\n\n/***/ }),\n/* 39 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\tmodule.exports = { \"default\": __webpack_require__(40), __esModule: true };\n\n/***/ }),\n/* 40 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t__webpack_require__(41);\n\tmodule.exports = __webpack_require__(21).Object.seal;\n\n/***/ }),\n/* 41 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t// 19.1.2.17 Object.seal(O)\n\tvar isObject = __webpack_require__(42);\n\n\t__webpack_require__(18)('seal', function($seal){\n\t return function seal(it){\n\t return $seal && isObject(it) ? $seal(it) : it;\n\t };\n\t});\n\n/***/ }),\n/* 42 */\n/***/ (function(module, exports) {\n\n\tmodule.exports = function(it){\n\t return typeof it === 'object' ? it !== null : typeof it === 'function';\n\t};\n\n/***/ }),\n/* 43 */\n/***/ (function(module, exports) {\n\n\t'use strict';\n\n\texports.__esModule = true;\n\texports.wrapHelper = wrapHelper;\n\n\tfunction wrapHelper(helper, transformOptionsFn) {\n\t if (typeof helper !== 'function') {\n\t // This should not happen, but apparently it does in https://github.com/wycats/handlebars.js/issues/1639\n\t // We try to make the wrapper least-invasive by not wrapping it, if the helper is not a function.\n\t return helper;\n\t }\n\t var wrapper = function wrapper() /* dynamic arguments */{\n\t var options = arguments[arguments.length - 1];\n\t arguments[arguments.length - 1] = transformOptionsFn(options);\n\t return helper.apply(this, arguments);\n\t };\n\t return wrapper;\n\t}\n\n/***/ }),\n/* 44 */\n/***/ (function(module, exports) {\n\n\t/* WEBPACK VAR INJECTION */(function(global) {'use strict';\n\n\texports.__esModule = true;\n\n\texports['default'] = function (Handlebars) {\n\t /* istanbul ignore next */\n\t var root = typeof global !== 'undefined' ? global : window,\n\t $Handlebars = root.Handlebars;\n\t /* istanbul ignore next */\n\t Handlebars.noConflict = function () {\n\t if (root.Handlebars === Handlebars) {\n\t root.Handlebars = $Handlebars;\n\t }\n\t return Handlebars;\n\t };\n\t};\n\n\tmodule.exports = exports['default'];\n\t/* WEBPACK VAR INJECTION */}.call(exports, (function() { return this; }())))\n\n/***/ }),\n/* 45 */\n/***/ (function(module, exports) {\n\n\t'use strict';\n\n\texports.__esModule = true;\n\tvar AST = {\n\t // Public API used to evaluate derived attributes regarding AST nodes\n\t helpers: {\n\t // a mustache is definitely a helper if:\n\t // * it is an eligible helper, and\n\t // * it has at least one parameter or hash segment\n\t helperExpression: function helperExpression(node) {\n\t return node.type === 'SubExpression' || (node.type === 'MustacheStatement' || node.type === 'BlockStatement') && !!(node.params && node.params.length || node.hash);\n\t },\n\n\t scopedId: function scopedId(path) {\n\t return (/^\\.|this\\b/.test(path.original)\n\t );\n\t },\n\n\t // an ID is simple if it only has one part, and that part is not\n\t // `..` or `this`.\n\t simpleId: function simpleId(path) {\n\t return path.parts.length === 1 && !AST.helpers.scopedId(path) && !path.depth;\n\t }\n\t }\n\t};\n\n\t// Must be exported as an object rather than the root of the module as the jison lexer\n\t// must modify the object to operate properly.\n\texports['default'] = AST;\n\tmodule.exports = exports['default'];\n\n/***/ }),\n/* 46 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\n\tvar _interopRequireDefault = __webpack_require__(1)['default'];\n\n\tvar _interopRequireWildcard = __webpack_require__(3)['default'];\n\n\texports.__esModule = true;\n\texports.parseWithoutProcessing = parseWithoutProcessing;\n\texports.parse = parse;\n\n\tvar _parser = __webpack_require__(47);\n\n\tvar _parser2 = _interopRequireDefault(_parser);\n\n\tvar _whitespaceControl = __webpack_require__(48);\n\n\tvar _whitespaceControl2 = _interopRequireDefault(_whitespaceControl);\n\n\tvar _helpers = __webpack_require__(50);\n\n\tvar Helpers = _interopRequireWildcard(_helpers);\n\n\tvar _utils = __webpack_require__(5);\n\n\texports.parser = _parser2['default'];\n\n\tvar yy = {};\n\t_utils.extend(yy, Helpers);\n\n\tfunction parseWithoutProcessing(input, options) {\n\t // Just return if an already-compiled AST was passed in.\n\t if (input.type === 'Program') {\n\t return input;\n\t }\n\n\t _parser2['default'].yy = yy;\n\n\t // Altering the shared object here, but this is ok as parser is a sync operation\n\t yy.locInfo = function (locInfo) {\n\t return new yy.SourceLocation(options && options.srcName, locInfo);\n\t };\n\n\t var ast = _parser2['default'].parse(input);\n\n\t return ast;\n\t}\n\n\tfunction parse(input, options) {\n\t var ast = parseWithoutProcessing(input, options);\n\t var strip = new _whitespaceControl2['default'](options);\n\n\t return strip.accept(ast);\n\t}\n\n/***/ }),\n/* 47 */\n/***/ (function(module, exports) {\n\n\t// File ignored in coverage tests via setting in .istanbul.yml\n\t/* Jison generated parser */\n\t\"use strict\";\n\n\texports.__esModule = true;\n\tvar handlebars = (function () {\n\t var parser = { trace: function trace() {},\n\t yy: {},\n\t symbols_: { \"error\": 2, \"root\": 3, \"program\": 4, \"EOF\": 5, \"program_repetition0\": 6, \"statement\": 7, \"mustache\": 8, \"block\": 9, \"rawBlock\": 10, \"partial\": 11, \"partialBlock\": 12, \"content\": 13, \"COMMENT\": 14, \"CONTENT\": 15, \"openRawBlock\": 16, \"rawBlock_repetition0\": 17, \"END_RAW_BLOCK\": 18, \"OPEN_RAW_BLOCK\": 19, \"helperName\": 20, \"openRawBlock_repetition0\": 21, \"openRawBlock_option0\": 22, \"CLOSE_RAW_BLOCK\": 23, \"openBlock\": 24, \"block_option0\": 25, \"closeBlock\": 26, \"openInverse\": 27, \"block_option1\": 28, \"OPEN_BLOCK\": 29, \"openBlock_repetition0\": 30, \"openBlock_option0\": 31, \"openBlock_option1\": 32, \"CLOSE\": 33, \"OPEN_INVERSE\": 34, \"openInverse_repetition0\": 35, \"openInverse_option0\": 36, \"openInverse_option1\": 37, \"openInverseChain\": 38, \"OPEN_INVERSE_CHAIN\": 39, \"openInverseChain_repetition0\": 40, \"openInverseChain_option0\": 41, \"openInverseChain_option1\": 42, \"inverseAndProgram\": 43, \"INVERSE\": 44, \"inverseChain\": 45, \"inverseChain_option0\": 46, \"OPEN_ENDBLOCK\": 47, \"OPEN\": 48, \"mustache_repetition0\": 49, \"mustache_option0\": 50, \"OPEN_UNESCAPED\": 51, \"mustache_repetition1\": 52, \"mustache_option1\": 53, \"CLOSE_UNESCAPED\": 54, \"OPEN_PARTIAL\": 55, \"partialName\": 56, \"partial_repetition0\": 57, \"partial_option0\": 58, \"openPartialBlock\": 59, \"OPEN_PARTIAL_BLOCK\": 60, \"openPartialBlock_repetition0\": 61, \"openPartialBlock_option0\": 62, \"param\": 63, \"sexpr\": 64, \"OPEN_SEXPR\": 65, \"sexpr_repetition0\": 66, \"sexpr_option0\": 67, \"CLOSE_SEXPR\": 68, \"hash\": 69, \"hash_repetition_plus0\": 70, \"hashSegment\": 71, \"ID\": 72, \"EQUALS\": 73, \"blockParams\": 74, \"OPEN_BLOCK_PARAMS\": 75, \"blockParams_repetition_plus0\": 76, \"CLOSE_BLOCK_PARAMS\": 77, \"path\": 78, \"dataName\": 79, \"STRING\": 80, \"NUMBER\": 81, \"BOOLEAN\": 82, \"UNDEFINED\": 83, \"NULL\": 84, \"DATA\": 85, \"pathSegments\": 86, \"SEP\": 87, \"$accept\": 0, \"$end\": 1 },\n\t terminals_: { 2: \"error\", 5: \"EOF\", 14: \"COMMENT\", 15: \"CONTENT\", 18: \"END_RAW_BLOCK\", 19: \"OPEN_RAW_BLOCK\", 23: \"CLOSE_RAW_BLOCK\", 29: \"OPEN_BLOCK\", 33: \"CLOSE\", 34: \"OPEN_INVERSE\", 39: \"OPEN_INVERSE_CHAIN\", 44: \"INVERSE\", 47: \"OPEN_ENDBLOCK\", 48: \"OPEN\", 51: \"OPEN_UNESCAPED\", 54: \"CLOSE_UNESCAPED\", 55: \"OPEN_PARTIAL\", 60: \"OPEN_PARTIAL_BLOCK\", 65: \"OPEN_SEXPR\", 68: \"CLOSE_SEXPR\", 72: \"ID\", 73: \"EQUALS\", 75: \"OPEN_BLOCK_PARAMS\", 77: \"CLOSE_BLOCK_PARAMS\", 80: \"STRING\", 81: \"NUMBER\", 82: \"BOOLEAN\", 83: \"UNDEFINED\", 84: \"NULL\", 85: \"DATA\", 87: \"SEP\" },\n\t productions_: [0, [3, 2], [4, 1], [7, 1], [7, 1], [7, 1], [7, 1], [7, 1], [7, 1], [7, 1], [13, 1], [10, 3], [16, 5], [9, 4], [9, 4], [24, 6], [27, 6], [38, 6], [43, 2], [45, 3], [45, 1], [26, 3], [8, 5], [8, 5], [11, 5], [12, 3], [59, 5], [63, 1], [63, 1], [64, 5], [69, 1], [71, 3], [74, 3], [20, 1], [20, 1], [20, 1], [20, 1], [20, 1], [20, 1], [20, 1], [56, 1], [56, 1], [79, 2], [78, 1], [86, 3], [86, 1], [6, 0], [6, 2], [17, 0], [17, 2], [21, 0], [21, 2], [22, 0], [22, 1], [25, 0], [25, 1], [28, 0], [28, 1], [30, 0], [30, 2], [31, 0], [31, 1], [32, 0], [32, 1], [35, 0], [35, 2], [36, 0], [36, 1], [37, 0], [37, 1], [40, 0], [40, 2], [41, 0], [41, 1], [42, 0], [42, 1], [46, 0], [46, 1], [49, 0], [49, 2], [50, 0], [50, 1], [52, 0], [52, 2], [53, 0], [53, 1], [57, 0], [57, 2], [58, 0], [58, 1], [61, 0], [61, 2], [62, 0], [62, 1], [66, 0], [66, 2], [67, 0], [67, 1], [70, 1], [70, 2], [76, 1], [76, 2]],\n\t performAction: function anonymous(yytext, yyleng, yylineno, yy, yystate, $$, _$) {\n\n\t var $0 = $$.length - 1;\n\t switch (yystate) {\n\t case 1:\n\t return $$[$0 - 1];\n\t break;\n\t case 2:\n\t this.$ = yy.prepareProgram($$[$0]);\n\t break;\n\t case 3:\n\t this.$ = $$[$0];\n\t break;\n\t case 4:\n\t this.$ = $$[$0];\n\t break;\n\t case 5:\n\t this.$ = $$[$0];\n\t break;\n\t case 6:\n\t this.$ = $$[$0];\n\t break;\n\t case 7:\n\t this.$ = $$[$0];\n\t break;\n\t case 8:\n\t this.$ = $$[$0];\n\t break;\n\t case 9:\n\t this.$ = {\n\t type: 'CommentStatement',\n\t value: yy.stripComment($$[$0]),\n\t strip: yy.stripFlags($$[$0], $$[$0]),\n\t loc: yy.locInfo(this._$)\n\t };\n\n\t break;\n\t case 10:\n\t this.$ = {\n\t type: 'ContentStatement',\n\t original: $$[$0],\n\t value: $$[$0],\n\t loc: yy.locInfo(this._$)\n\t };\n\n\t break;\n\t case 11:\n\t this.$ = yy.prepareRawBlock($$[$0 - 2], $$[$0 - 1], $$[$0], this._$);\n\t break;\n\t case 12:\n\t this.$ = { path: $$[$0 - 3], params: $$[$0 - 2], hash: $$[$0 - 1] };\n\t break;\n\t case 13:\n\t this.$ = yy.prepareBlock($$[$0 - 3], $$[$0 - 2], $$[$0 - 1], $$[$0], false, this._$);\n\t break;\n\t case 14:\n\t this.$ = yy.prepareBlock($$[$0 - 3], $$[$0 - 2], $$[$0 - 1], $$[$0], true, this._$);\n\t break;\n\t case 15:\n\t this.$ = { open: $$[$0 - 5], path: $$[$0 - 4], params: $$[$0 - 3], hash: $$[$0 - 2], blockParams: $$[$0 - 1], strip: yy.stripFlags($$[$0 - 5], $$[$0]) };\n\t break;\n\t case 16:\n\t this.$ = { path: $$[$0 - 4], params: $$[$0 - 3], hash: $$[$0 - 2], blockParams: $$[$0 - 1], strip: yy.stripFlags($$[$0 - 5], $$[$0]) };\n\t break;\n\t case 17:\n\t this.$ = { path: $$[$0 - 4], params: $$[$0 - 3], hash: $$[$0 - 2], blockParams: $$[$0 - 1], strip: yy.stripFlags($$[$0 - 5], $$[$0]) };\n\t break;\n\t case 18:\n\t this.$ = { strip: yy.stripFlags($$[$0 - 1], $$[$0 - 1]), program: $$[$0] };\n\t break;\n\t case 19:\n\t var inverse = yy.prepareBlock($$[$0 - 2], $$[$0 - 1], $$[$0], $$[$0], false, this._$),\n\t program = yy.prepareProgram([inverse], $$[$0 - 1].loc);\n\t program.chained = true;\n\n\t this.$ = { strip: $$[$0 - 2].strip, program: program, chain: true };\n\n\t break;\n\t case 20:\n\t this.$ = $$[$0];\n\t break;\n\t case 21:\n\t this.$ = { path: $$[$0 - 1], strip: yy.stripFlags($$[$0 - 2], $$[$0]) };\n\t break;\n\t case 22:\n\t this.$ = yy.prepareMustache($$[$0 - 3], $$[$0 - 2], $$[$0 - 1], $$[$0 - 4], yy.stripFlags($$[$0 - 4], $$[$0]), this._$);\n\t break;\n\t case 23:\n\t this.$ = yy.prepareMustache($$[$0 - 3], $$[$0 - 2], $$[$0 - 1], $$[$0 - 4], yy.stripFlags($$[$0 - 4], $$[$0]), this._$);\n\t break;\n\t case 24:\n\t this.$ = {\n\t type: 'PartialStatement',\n\t name: $$[$0 - 3],\n\t params: $$[$0 - 2],\n\t hash: $$[$0 - 1],\n\t indent: '',\n\t strip: yy.stripFlags($$[$0 - 4], $$[$0]),\n\t loc: yy.locInfo(this._$)\n\t };\n\n\t break;\n\t case 25:\n\t this.$ = yy.preparePartialBlock($$[$0 - 2], $$[$0 - 1], $$[$0], this._$);\n\t break;\n\t case 26:\n\t this.$ = { path: $$[$0 - 3], params: $$[$0 - 2], hash: $$[$0 - 1], strip: yy.stripFlags($$[$0 - 4], $$[$0]) };\n\t break;\n\t case 27:\n\t this.$ = $$[$0];\n\t break;\n\t case 28:\n\t this.$ = $$[$0];\n\t break;\n\t case 29:\n\t this.$ = {\n\t type: 'SubExpression',\n\t path: $$[$0 - 3],\n\t params: $$[$0 - 2],\n\t hash: $$[$0 - 1],\n\t loc: yy.locInfo(this._$)\n\t };\n\n\t break;\n\t case 30:\n\t this.$ = { type: 'Hash', pairs: $$[$0], loc: yy.locInfo(this._$) };\n\t break;\n\t case 31:\n\t this.$ = { type: 'HashPair', key: yy.id($$[$0 - 2]), value: $$[$0], loc: yy.locInfo(this._$) };\n\t break;\n\t case 32:\n\t this.$ = yy.id($$[$0 - 1]);\n\t break;\n\t case 33:\n\t this.$ = $$[$0];\n\t break;\n\t case 34:\n\t this.$ = $$[$0];\n\t break;\n\t case 35:\n\t this.$ = { type: 'StringLiteral', value: $$[$0], original: $$[$0], loc: yy.locInfo(this._$) };\n\t break;\n\t case 36:\n\t this.$ = { type: 'NumberLiteral', value: Number($$[$0]), original: Number($$[$0]), loc: yy.locInfo(this._$) };\n\t break;\n\t case 37:\n\t this.$ = { type: 'BooleanLiteral', value: $$[$0] === 'true', original: $$[$0] === 'true', loc: yy.locInfo(this._$) };\n\t break;\n\t case 38:\n\t this.$ = { type: 'UndefinedLiteral', original: undefined, value: undefined, loc: yy.locInfo(this._$) };\n\t break;\n\t case 39:\n\t this.$ = { type: 'NullLiteral', original: null, value: null, loc: yy.locInfo(this._$) };\n\t break;\n\t case 40:\n\t this.$ = $$[$0];\n\t break;\n\t case 41:\n\t this.$ = $$[$0];\n\t break;\n\t case 42:\n\t this.$ = yy.preparePath(true, $$[$0], this._$);\n\t break;\n\t case 43:\n\t this.$ = yy.preparePath(false, $$[$0], this._$);\n\t break;\n\t case 44:\n\t $$[$0 - 2].push({ part: yy.id($$[$0]), original: $$[$0], separator: $$[$0 - 1] });this.$ = $$[$0 - 2];\n\t break;\n\t case 45:\n\t this.$ = [{ part: yy.id($$[$0]), original: $$[$0] }];\n\t break;\n\t case 46:\n\t this.$ = [];\n\t break;\n\t case 47:\n\t $$[$0 - 1].push($$[$0]);\n\t break;\n\t case 48:\n\t this.$ = [];\n\t break;\n\t case 49:\n\t $$[$0 - 1].push($$[$0]);\n\t break;\n\t case 50:\n\t this.$ = [];\n\t break;\n\t case 51:\n\t $$[$0 - 1].push($$[$0]);\n\t break;\n\t case 58:\n\t this.$ = [];\n\t break;\n\t case 59:\n\t $$[$0 - 1].push($$[$0]);\n\t break;\n\t case 64:\n\t this.$ = [];\n\t break;\n\t case 65:\n\t $$[$0 - 1].push($$[$0]);\n\t break;\n\t case 70:\n\t this.$ = [];\n\t break;\n\t case 71:\n\t $$[$0 - 1].push($$[$0]);\n\t break;\n\t case 78:\n\t this.$ = [];\n\t break;\n\t case 79:\n\t $$[$0 - 1].push($$[$0]);\n\t break;\n\t case 82:\n\t this.$ = [];\n\t break;\n\t case 83:\n\t $$[$0 - 1].push($$[$0]);\n\t break;\n\t case 86:\n\t this.$ = [];\n\t break;\n\t case 87:\n\t $$[$0 - 1].push($$[$0]);\n\t break;\n\t case 90:\n\t this.$ = [];\n\t break;\n\t case 91:\n\t $$[$0 - 1].push($$[$0]);\n\t break;\n\t case 94:\n\t this.$ = [];\n\t break;\n\t case 95:\n\t $$[$0 - 1].push($$[$0]);\n\t break;\n\t case 98:\n\t this.$ = [$$[$0]];\n\t break;\n\t case 99:\n\t $$[$0 - 1].push($$[$0]);\n\t break;\n\t case 100:\n\t this.$ = [$$[$0]];\n\t break;\n\t case 101:\n\t $$[$0 - 1].push($$[$0]);\n\t break;\n\t }\n\t },\n\t table: [{ 3: 1, 4: 2, 5: [2, 46], 6: 3, 14: [2, 46], 15: [2, 46], 19: [2, 46], 29: [2, 46], 34: [2, 46], 48: [2, 46], 51: [2, 46], 55: [2, 46], 60: [2, 46] }, { 1: [3] }, { 5: [1, 4] }, { 5: [2, 2], 7: 5, 8: 6, 9: 7, 10: 8, 11: 9, 12: 10, 13: 11, 14: [1, 12], 15: [1, 20], 16: 17, 19: [1, 23], 24: 15, 27: 16, 29: [1, 21], 34: [1, 22], 39: [2, 2], 44: [2, 2], 47: [2, 2], 48: [1, 13], 51: [1, 14], 55: [1, 18], 59: 19, 60: [1, 24] }, { 1: [2, 1] }, { 5: [2, 47], 14: [2, 47], 15: [2, 47], 19: [2, 47], 29: [2, 47], 34: [2, 47], 39: [2, 47], 44: [2, 47], 47: [2, 47], 48: [2, 47], 51: [2, 47], 55: [2, 47], 60: [2, 47] }, { 5: [2, 3], 14: [2, 3], 15: [2, 3], 19: [2, 3], 29: [2, 3], 34: [2, 3], 39: [2, 3], 44: [2, 3], 47: [2, 3], 48: [2, 3], 51: [2, 3], 55: [2, 3], 60: [2, 3] }, { 5: [2, 4], 14: [2, 4], 15: [2, 4], 19: [2, 4], 29: [2, 4], 34: [2, 4], 39: [2, 4], 44: [2, 4], 47: [2, 4], 48: [2, 4], 51: [2, 4], 55: [2, 4], 60: [2, 4] }, { 5: [2, 5], 14: [2, 5], 15: [2, 5], 19: [2, 5], 29: [2, 5], 34: [2, 5], 39: [2, 5], 44: [2, 5], 47: [2, 5], 48: [2, 5], 51: [2, 5], 55: [2, 5], 60: [2, 5] }, { 5: [2, 6], 14: [2, 6], 15: [2, 6], 19: [2, 6], 29: [2, 6], 34: [2, 6], 39: [2, 6], 44: [2, 6], 47: [2, 6], 48: [2, 6], 51: [2, 6], 55: [2, 6], 60: [2, 6] }, { 5: [2, 7], 14: [2, 7], 15: [2, 7], 19: [2, 7], 29: [2, 7], 34: [2, 7], 39: [2, 7], 44: [2, 7], 47: [2, 7], 48: [2, 7], 51: [2, 7], 55: [2, 7], 60: [2, 7] }, { 5: [2, 8], 14: [2, 8], 15: [2, 8], 19: [2, 8], 29: [2, 8], 34: [2, 8], 39: [2, 8], 44: [2, 8], 47: [2, 8], 48: [2, 8], 51: [2, 8], 55: [2, 8], 60: [2, 8] }, { 5: [2, 9], 14: [2, 9], 15: [2, 9], 19: [2, 9], 29: [2, 9], 34: [2, 9], 39: [2, 9], 44: [2, 9], 47: [2, 9], 48: [2, 9], 51: [2, 9], 55: [2, 9], 60: [2, 9] }, { 20: 25, 72: [1, 35], 78: 26, 79: 27, 80: [1, 28], 81: [1, 29], 82: [1, 30], 83: [1, 31], 84: [1, 32], 85: [1, 34], 86: 33 }, { 20: 36, 72: [1, 35], 78: 26, 79: 27, 80: [1, 28], 81: [1, 29], 82: [1, 30], 83: [1, 31], 84: [1, 32], 85: [1, 34], 86: 33 }, { 4: 37, 6: 3, 14: [2, 46], 15: [2, 46], 19: [2, 46], 29: [2, 46], 34: [2, 46], 39: [2, 46], 44: [2, 46], 47: [2, 46], 48: [2, 46], 51: [2, 46], 55: [2, 46], 60: [2, 46] }, { 4: 38, 6: 3, 14: [2, 46], 15: [2, 46], 19: [2, 46], 29: [2, 46], 34: [2, 46], 44: [2, 46], 47: [2, 46], 48: [2, 46], 51: [2, 46], 55: [2, 46], 60: [2, 46] }, { 15: [2, 48], 17: 39, 18: [2, 48] }, { 20: 41, 56: 40, 64: 42, 65: [1, 43], 72: [1, 35], 78: 26, 79: 27, 80: [1, 28], 81: [1, 29], 82: [1, 30], 83: [1, 31], 84: [1, 32], 85: [1, 34], 86: 33 }, { 4: 44, 6: 3, 14: [2, 46], 15: [2, 46], 19: [2, 46], 29: [2, 46], 34: [2, 46], 47: [2, 46], 48: [2, 46], 51: [2, 46], 55: [2, 46], 60: [2, 46] }, { 5: [2, 10], 14: [2, 10], 15: [2, 10], 18: [2, 10], 19: [2, 10], 29: [2, 10], 34: [2, 10], 39: [2, 10], 44: [2, 10], 47: [2, 10], 48: [2, 10], 51: [2, 10], 55: [2, 10], 60: [2, 10] }, { 20: 45, 72: [1, 35], 78: 26, 79: 27, 80: [1, 28], 81: [1, 29], 82: [1, 30], 83: [1, 31], 84: [1, 32], 85: [1, 34], 86: 33 }, { 20: 46, 72: [1, 35], 78: 26, 79: 27, 80: [1, 28], 81: [1, 29], 82: [1, 30], 83: [1, 31], 84: [1, 32], 85: [1, 34], 86: 33 }, { 20: 47, 72: [1, 35], 78: 26, 79: 27, 80: [1, 28], 81: [1, 29], 82: [1, 30], 83: [1, 31], 84: [1, 32], 85: [1, 34], 86: 33 }, { 20: 41, 56: 48, 64: 42, 65: [1, 43], 72: [1, 35], 78: 26, 79: 27, 80: [1, 28], 81: [1, 29], 82: [1, 30], 83: [1, 31], 84: [1, 32], 85: [1, 34], 86: 33 }, { 33: [2, 78], 49: 49, 65: [2, 78], 72: [2, 78], 80: [2, 78], 81: [2, 78], 82: [2, 78], 83: [2, 78], 84: [2, 78], 85: [2, 78] }, { 23: [2, 33], 33: [2, 33], 54: [2, 33], 65: [2, 33], 68: [2, 33], 72: [2, 33], 75: [2, 33], 80: [2, 33], 81: [2, 33], 82: [2, 33], 83: [2, 33], 84: [2, 33], 85: [2, 33] }, { 23: [2, 34], 33: [2, 34], 54: [2, 34], 65: [2, 34], 68: [2, 34], 72: [2, 34], 75: [2, 34], 80: [2, 34], 81: [2, 34], 82: [2, 34], 83: [2, 34], 84: [2, 34], 85: [2, 34] }, { 23: [2, 35], 33: [2, 35], 54: [2, 35], 65: [2, 35], 68: [2, 35], 72: [2, 35], 75: [2, 35], 80: [2, 35], 81: [2, 35], 82: [2, 35], 83: [2, 35], 84: [2, 35], 85: [2, 35] }, { 23: [2, 36], 33: [2, 36], 54: [2, 36], 65: [2, 36], 68: [2, 36], 72: [2, 36], 75: [2, 36], 80: [2, 36], 81: [2, 36], 82: [2, 36], 83: [2, 36], 84: [2, 36], 85: [2, 36] }, { 23: [2, 37], 33: [2, 37], 54: [2, 37], 65: [2, 37], 68: [2, 37], 72: [2, 37], 75: [2, 37], 80: [2, 37], 81: [2, 37], 82: [2, 37], 83: [2, 37], 84: [2, 37], 85: [2, 37] }, { 23: [2, 38], 33: [2, 38], 54: [2, 38], 65: [2, 38], 68: [2, 38], 72: [2, 38], 75: [2, 38], 80: [2, 38], 81: [2, 38], 82: [2, 38], 83: [2, 38], 84: [2, 38], 85: [2, 38] }, { 23: [2, 39], 33: [2, 39], 54: [2, 39], 65: [2, 39], 68: [2, 39], 72: [2, 39], 75: [2, 39], 80: [2, 39], 81: [2, 39], 82: [2, 39], 83: [2, 39], 84: [2, 39], 85: [2, 39] }, { 23: [2, 43], 33: [2, 43], 54: [2, 43], 65: [2, 43], 68: [2, 43], 72: [2, 43], 75: [2, 43], 80: [2, 43], 81: [2, 43], 82: [2, 43], 83: [2, 43], 84: [2, 43], 85: [2, 43], 87: [1, 50] }, { 72: [1, 35], 86: 51 }, { 23: [2, 45], 33: [2, 45], 54: [2, 45], 65: [2, 45], 68: [2, 45], 72: [2, 45], 75: [2, 45], 80: [2, 45], 81: [2, 45], 82: [2, 45], 83: [2, 45], 84: [2, 45], 85: [2, 45], 87: [2, 45] }, { 52: 52, 54: [2, 82], 65: [2, 82], 72: [2, 82], 80: [2, 82], 81: [2, 82], 82: [2, 82], 83: [2, 82], 84: [2, 82], 85: [2, 82] }, { 25: 53, 38: 55, 39: [1, 57], 43: 56, 44: [1, 58], 45: 54, 47: [2, 54] }, { 28: 59, 43: 60, 44: [1, 58], 47: [2, 56] }, { 13: 62, 15: [1, 20], 18: [1, 61] }, { 33: [2, 86], 57: 63, 65: [2, 86], 72: [2, 86], 80: [2, 86], 81: [2, 86], 82: [2, 86], 83: [2, 86], 84: [2, 86], 85: [2, 86] }, { 33: [2, 40], 65: [2, 40], 72: [2, 40], 80: [2, 40], 81: [2, 40], 82: [2, 40], 83: [2, 40], 84: [2, 40], 85: [2, 40] }, { 33: [2, 41], 65: [2, 41], 72: [2, 41], 80: [2, 41], 81: [2, 41], 82: [2, 41], 83: [2, 41], 84: [2, 41], 85: [2, 41] }, { 20: 64, 72: [1, 35], 78: 26, 79: 27, 80: [1, 28], 81: [1, 29], 82: [1, 30], 83: [1, 31], 84: [1, 32], 85: [1, 34], 86: 33 }, { 26: 65, 47: [1, 66] }, { 30: 67, 33: [2, 58], 65: [2, 58], 72: [2, 58], 75: [2, 58], 80: [2, 58], 81: [2, 58], 82: [2, 58], 83: [2, 58], 84: [2, 58], 85: [2, 58] }, { 33: [2, 64], 35: 68, 65: [2, 64], 72: [2, 64], 75: [2, 64], 80: [2, 64], 81: [2, 64], 82: [2, 64], 83: [2, 64], 84: [2, 64], 85: [2, 64] }, { 21: 69, 23: [2, 50], 65: [2, 50], 72: [2, 50], 80: [2, 50], 81: [2, 50], 82: [2, 50], 83: [2, 50], 84: [2, 50], 85: [2, 50] }, { 33: [2, 90], 61: 70, 65: [2, 90], 72: [2, 90], 80: [2, 90], 81: [2, 90], 82: [2, 90], 83: [2, 90], 84: [2, 90], 85: [2, 90] }, { 20: 74, 33: [2, 80], 50: 71, 63: 72, 64: 75, 65: [1, 43], 69: 73, 70: 76, 71: 77, 72: [1, 78], 78: 26, 79: 27, 80: [1, 28], 81: [1, 29], 82: [1, 30], 83: [1, 31], 84: [1, 32], 85: [1, 34], 86: 33 }, { 72: [1, 79] }, { 23: [2, 42], 33: [2, 42], 54: [2, 42], 65: [2, 42], 68: [2, 42], 72: [2, 42], 75: [2, 42], 80: [2, 42], 81: [2, 42], 82: [2, 42], 83: [2, 42], 84: [2, 42], 85: [2, 42], 87: [1, 50] }, { 20: 74, 53: 80, 54: [2, 84], 63: 81, 64: 75, 65: [1, 43], 69: 82, 70: 76, 71: 77, 72: [1, 78], 78: 26, 79: 27, 80: [1, 28], 81: [1, 29], 82: [1, 30], 83: [1, 31], 84: [1, 32], 85: [1, 34], 86: 33 }, { 26: 83, 47: [1, 66] }, { 47: [2, 55] }, { 4: 84, 6: 3, 14: [2, 46], 15: [2, 46], 19: [2, 46], 29: [2, 46], 34: [2, 46], 39: [2, 46], 44: [2, 46], 47: [2, 46], 48: [2, 46], 51: [2, 46], 55: [2, 46], 60: [2, 46] }, { 47: [2, 20] }, { 20: 85, 72: [1, 35], 78: 26, 79: 27, 80: [1, 28], 81: [1, 29], 82: [1, 30], 83: [1, 31], 84: [1, 32], 85: [1, 34], 86: 33 }, { 4: 86, 6: 3, 14: [2, 46], 15: [2, 46], 19: [2, 46], 29: [2, 46], 34: [2, 46], 47: [2, 46], 48: [2, 46], 51: [2, 46], 55: [2, 46], 60: [2, 46] }, { 26: 87, 47: [1, 66] }, { 47: [2, 57] }, { 5: [2, 11], 14: [2, 11], 15: [2, 11], 19: [2, 11], 29: [2, 11], 34: [2, 11], 39: [2, 11], 44: [2, 11], 47: [2, 11], 48: [2, 11], 51: [2, 11], 55: [2, 11], 60: [2, 11] }, { 15: [2, 49], 18: [2, 49] }, { 20: 74, 33: [2, 88], 58: 88, 63: 89, 64: 75, 65: [1, 43], 69: 90, 70: 76, 71: 77, 72: [1, 78], 78: 26, 79: 27, 80: [1, 28], 81: [1, 29], 82: [1, 30], 83: [1, 31], 84: [1, 32], 85: [1, 34], 86: 33 }, { 65: [2, 94], 66: 91, 68: [2, 94], 72: [2, 94], 80: [2, 94], 81: [2, 94], 82: [2, 94], 83: [2, 94], 84: [2, 94], 85: [2, 94] }, { 5: [2, 25], 14: [2, 25], 15: [2, 25], 19: [2, 25], 29: [2, 25], 34: [2, 25], 39: [2, 25], 44: [2, 25], 47: [2, 25], 48: [2, 25], 51: [2, 25], 55: [2, 25], 60: [2, 25] }, { 20: 92, 72: [1, 35], 78: 26, 79: 27, 80: [1, 28], 81: [1, 29], 82: [1, 30], 83: [1, 31], 84: [1, 32], 85: [1, 34], 86: 33 }, { 20: 74, 31: 93, 33: [2, 60], 63: 94, 64: 75, 65: [1, 43], 69: 95, 70: 76, 71: 77, 72: [1, 78], 75: [2, 60], 78: 26, 79: 27, 80: [1, 28], 81: [1, 29], 82: [1, 30], 83: [1, 31], 84: [1, 32], 85: [1, 34], 86: 33 }, { 20: 74, 33: [2, 66], 36: 96, 63: 97, 64: 75, 65: [1, 43], 69: 98, 70: 76, 71: 77, 72: [1, 78], 75: [2, 66], 78: 26, 79: 27, 80: [1, 28], 81: [1, 29], 82: [1, 30], 83: [1, 31], 84: [1, 32], 85: [1, 34], 86: 33 }, { 20: 74, 22: 99, 23: [2, 52], 63: 100, 64: 75, 65: [1, 43], 69: 101, 70: 76, 71: 77, 72: [1, 78], 78: 26, 79: 27, 80: [1, 28], 81: [1, 29], 82: [1, 30], 83: [1, 31], 84: [1, 32], 85: [1, 34], 86: 33 }, { 20: 74, 33: [2, 92], 62: 102, 63: 103, 64: 75, 65: [1, 43], 69: 104, 70: 76, 71: 77, 72: [1, 78], 78: 26, 79: 27, 80: [1, 28], 81: [1, 29], 82: [1, 30], 83: [1, 31], 84: [1, 32], 85: [1, 34], 86: 33 }, { 33: [1, 105] }, { 33: [2, 79], 65: [2, 79], 72: [2, 79], 80: [2, 79], 81: [2, 79], 82: [2, 79], 83: [2, 79], 84: [2, 79], 85: [2, 79] }, { 33: [2, 81] }, { 23: [2, 27], 33: [2, 27], 54: [2, 27], 65: [2, 27], 68: [2, 27], 72: [2, 27], 75: [2, 27], 80: [2, 27], 81: [2, 27], 82: [2, 27], 83: [2, 27], 84: [2, 27], 85: [2, 27] }, { 23: [2, 28], 33: [2, 28], 54: [2, 28], 65: [2, 28], 68: [2, 28], 72: [2, 28], 75: [2, 28], 80: [2, 28], 81: [2, 28], 82: [2, 28], 83: [2, 28], 84: [2, 28], 85: [2, 28] }, { 23: [2, 30], 33: [2, 30], 54: [2, 30], 68: [2, 30], 71: 106, 72: [1, 107], 75: [2, 30] }, { 23: [2, 98], 33: [2, 98], 54: [2, 98], 68: [2, 98], 72: [2, 98], 75: [2, 98] }, { 23: [2, 45], 33: [2, 45], 54: [2, 45], 65: [2, 45], 68: [2, 45], 72: [2, 45], 73: [1, 108], 75: [2, 45], 80: [2, 45], 81: [2, 45], 82: [2, 45], 83: [2, 45], 84: [2, 45], 85: [2, 45], 87: [2, 45] }, { 23: [2, 44], 33: [2, 44], 54: [2, 44], 65: [2, 44], 68: [2, 44], 72: [2, 44], 75: [2, 44], 80: [2, 44], 81: [2, 44], 82: [2, 44], 83: [2, 44], 84: [2, 44], 85: [2, 44], 87: [2, 44] }, { 54: [1, 109] }, { 54: [2, 83], 65: [2, 83], 72: [2, 83], 80: [2, 83], 81: [2, 83], 82: [2, 83], 83: [2, 83], 84: [2, 83], 85: [2, 83] }, { 54: [2, 85] }, { 5: [2, 13], 14: [2, 13], 15: [2, 13], 19: [2, 13], 29: [2, 13], 34: [2, 13], 39: [2, 13], 44: [2, 13], 47: [2, 13], 48: [2, 13], 51: [2, 13], 55: [2, 13], 60: [2, 13] }, { 38: 55, 39: [1, 57], 43: 56, 44: [1, 58], 45: 111, 46: 110, 47: [2, 76] }, { 33: [2, 70], 40: 112, 65: [2, 70], 72: [2, 70], 75: [2, 70], 80: [2, 70], 81: [2, 70], 82: [2, 70], 83: [2, 70], 84: [2, 70], 85: [2, 70] }, { 47: [2, 18] }, { 5: [2, 14], 14: [2, 14], 15: [2, 14], 19: [2, 14], 29: [2, 14], 34: [2, 14], 39: [2, 14], 44: [2, 14], 47: [2, 14], 48: [2, 14], 51: [2, 14], 55: [2, 14], 60: [2, 14] }, { 33: [1, 113] }, { 33: [2, 87], 65: [2, 87], 72: [2, 87], 80: [2, 87], 81: [2, 87], 82: [2, 87], 83: [2, 87], 84: [2, 87], 85: [2, 87] }, { 33: [2, 89] }, { 20: 74, 63: 115, 64: 75, 65: [1, 43], 67: 114, 68: [2, 96], 69: 116, 70: 76, 71: 77, 72: [1, 78], 78: 26, 79: 27, 80: [1, 28], 81: [1, 29], 82: [1, 30], 83: [1, 31], 84: [1, 32], 85: [1, 34], 86: 33 }, { 33: [1, 117] }, { 32: 118, 33: [2, 62], 74: 119, 75: [1, 120] }, { 33: [2, 59], 65: [2, 59], 72: [2, 59], 75: [2, 59], 80: [2, 59], 81: [2, 59], 82: [2, 59], 83: [2, 59], 84: [2, 59], 85: [2, 59] }, { 33: [2, 61], 75: [2, 61] }, { 33: [2, 68], 37: 121, 74: 122, 75: [1, 120] }, { 33: [2, 65], 65: [2, 65], 72: [2, 65], 75: [2, 65], 80: [2, 65], 81: [2, 65], 82: [2, 65], 83: [2, 65], 84: [2, 65], 85: [2, 65] }, { 33: [2, 67], 75: [2, 67] }, { 23: [1, 123] }, { 23: [2, 51], 65: [2, 51], 72: [2, 51], 80: [2, 51], 81: [2, 51], 82: [2, 51], 83: [2, 51], 84: [2, 51], 85: [2, 51] }, { 23: [2, 53] }, { 33: [1, 124] }, { 33: [2, 91], 65: [2, 91], 72: [2, 91], 80: [2, 91], 81: [2, 91], 82: [2, 91], 83: [2, 91], 84: [2, 91], 85: [2, 91] }, { 33: [2, 93] }, { 5: [2, 22], 14: [2, 22], 15: [2, 22], 19: [2, 22], 29: [2, 22], 34: [2, 22], 39: [2, 22], 44: [2, 22], 47: [2, 22], 48: [2, 22], 51: [2, 22], 55: [2, 22], 60: [2, 22] }, { 23: [2, 99], 33: [2, 99], 54: [2, 99], 68: [2, 99], 72: [2, 99], 75: [2, 99] }, { 73: [1, 108] }, { 20: 74, 63: 125, 64: 75, 65: [1, 43], 72: [1, 35], 78: 26, 79: 27, 80: [1, 28], 81: [1, 29], 82: [1, 30], 83: [1, 31], 84: [1, 32], 85: [1, 34], 86: 33 }, { 5: [2, 23], 14: [2, 23], 15: [2, 23], 19: [2, 23], 29: [2, 23], 34: [2, 23], 39: [2, 23], 44: [2, 23], 47: [2, 23], 48: [2, 23], 51: [2, 23], 55: [2, 23], 60: [2, 23] }, { 47: [2, 19] }, { 47: [2, 77] }, { 20: 74, 33: [2, 72], 41: 126, 63: 127, 64: 75, 65: [1, 43], 69: 128, 70: 76, 71: 77, 72: [1, 78], 75: [2, 72], 78: 26, 79: 27, 80: [1, 28], 81: [1, 29], 82: [1, 30], 83: [1, 31], 84: [1, 32], 85: [1, 34], 86: 33 }, { 5: [2, 24], 14: [2, 24], 15: [2, 24], 19: [2, 24], 29: [2, 24], 34: [2, 24], 39: [2, 24], 44: [2, 24], 47: [2, 24], 48: [2, 24], 51: [2, 24], 55: [2, 24], 60: [2, 24] }, { 68: [1, 129] }, { 65: [2, 95], 68: [2, 95], 72: [2, 95], 80: [2, 95], 81: [2, 95], 82: [2, 95], 83: [2, 95], 84: [2, 95], 85: [2, 95] }, { 68: [2, 97] }, { 5: [2, 21], 14: [2, 21], 15: [2, 21], 19: [2, 21], 29: [2, 21], 34: [2, 21], 39: [2, 21], 44: [2, 21], 47: [2, 21], 48: [2, 21], 51: [2, 21], 55: [2, 21], 60: [2, 21] }, { 33: [1, 130] }, { 33: [2, 63] }, { 72: [1, 132], 76: 131 }, { 33: [1, 133] }, { 33: [2, 69] }, { 15: [2, 12], 18: [2, 12] }, { 14: [2, 26], 15: [2, 26], 19: [2, 26], 29: [2, 26], 34: [2, 26], 47: [2, 26], 48: [2, 26], 51: [2, 26], 55: [2, 26], 60: [2, 26] }, { 23: [2, 31], 33: [2, 31], 54: [2, 31], 68: [2, 31], 72: [2, 31], 75: [2, 31] }, { 33: [2, 74], 42: 134, 74: 135, 75: [1, 120] }, { 33: [2, 71], 65: [2, 71], 72: [2, 71], 75: [2, 71], 80: [2, 71], 81: [2, 71], 82: [2, 71], 83: [2, 71], 84: [2, 71], 85: [2, 71] }, { 33: [2, 73], 75: [2, 73] }, { 23: [2, 29], 33: [2, 29], 54: [2, 29], 65: [2, 29], 68: [2, 29], 72: [2, 29], 75: [2, 29], 80: [2, 29], 81: [2, 29], 82: [2, 29], 83: [2, 29], 84: [2, 29], 85: [2, 29] }, { 14: [2, 15], 15: [2, 15], 19: [2, 15], 29: [2, 15], 34: [2, 15], 39: [2, 15], 44: [2, 15], 47: [2, 15], 48: [2, 15], 51: [2, 15], 55: [2, 15], 60: [2, 15] }, { 72: [1, 137], 77: [1, 136] }, { 72: [2, 100], 77: [2, 100] }, { 14: [2, 16], 15: [2, 16], 19: [2, 16], 29: [2, 16], 34: [2, 16], 44: [2, 16], 47: [2, 16], 48: [2, 16], 51: [2, 16], 55: [2, 16], 60: [2, 16] }, { 33: [1, 138] }, { 33: [2, 75] }, { 33: [2, 32] }, { 72: [2, 101], 77: [2, 101] }, { 14: [2, 17], 15: [2, 17], 19: [2, 17], 29: [2, 17], 34: [2, 17], 39: [2, 17], 44: [2, 17], 47: [2, 17], 48: [2, 17], 51: [2, 17], 55: [2, 17], 60: [2, 17] }],\n\t defaultActions: { 4: [2, 1], 54: [2, 55], 56: [2, 20], 60: [2, 57], 73: [2, 81], 82: [2, 85], 86: [2, 18], 90: [2, 89], 101: [2, 53], 104: [2, 93], 110: [2, 19], 111: [2, 77], 116: [2, 97], 119: [2, 63], 122: [2, 69], 135: [2, 75], 136: [2, 32] },\n\t parseError: function parseError(str, hash) {\n\t throw new Error(str);\n\t },\n\t parse: function parse(input) {\n\t var self = this,\n\t stack = [0],\n\t vstack = [null],\n\t lstack = [],\n\t table = this.table,\n\t yytext = \"\",\n\t yylineno = 0,\n\t yyleng = 0,\n\t recovering = 0,\n\t TERROR = 2,\n\t EOF = 1;\n\t this.lexer.setInput(input);\n\t this.lexer.yy = this.yy;\n\t this.yy.lexer = this.lexer;\n\t this.yy.parser = this;\n\t if (typeof this.lexer.yylloc == \"undefined\") this.lexer.yylloc = {};\n\t var yyloc = this.lexer.yylloc;\n\t lstack.push(yyloc);\n\t var ranges = this.lexer.options && this.lexer.options.ranges;\n\t if (typeof this.yy.parseError === \"function\") this.parseError = this.yy.parseError;\n\t function popStack(n) {\n\t stack.length = stack.length - 2 * n;\n\t vstack.length = vstack.length - n;\n\t lstack.length = lstack.length - n;\n\t }\n\t function lex() {\n\t var token;\n\t token = self.lexer.lex() || 1;\n\t if (typeof token !== \"number\") {\n\t token = self.symbols_[token] || token;\n\t }\n\t return token;\n\t }\n\t var symbol,\n\t preErrorSymbol,\n\t state,\n\t action,\n\t a,\n\t r,\n\t yyval = {},\n\t p,\n\t len,\n\t newState,\n\t expected;\n\t while (true) {\n\t state = stack[stack.length - 1];\n\t if (this.defaultActions[state]) {\n\t action = this.defaultActions[state];\n\t } else {\n\t if (symbol === null || typeof symbol == \"undefined\") {\n\t symbol = lex();\n\t }\n\t action = table[state] && table[state][symbol];\n\t }\n\t if (typeof action === \"undefined\" || !action.length || !action[0]) {\n\t var errStr = \"\";\n\t if (!recovering) {\n\t expected = [];\n\t for (p in table[state]) if (this.terminals_[p] && p > 2) {\n\t expected.push(\"'\" + this.terminals_[p] + \"'\");\n\t }\n\t if (this.lexer.showPosition) {\n\t errStr = \"Parse error on line \" + (yylineno + 1) + \":\\n\" + this.lexer.showPosition() + \"\\nExpecting \" + expected.join(\", \") + \", got '\" + (this.terminals_[symbol] || symbol) + \"'\";\n\t } else {\n\t errStr = \"Parse error on line \" + (yylineno + 1) + \": Unexpected \" + (symbol == 1 ? \"end of input\" : \"'\" + (this.terminals_[symbol] || symbol) + \"'\");\n\t }\n\t this.parseError(errStr, { text: this.lexer.match, token: this.terminals_[symbol] || symbol, line: this.lexer.yylineno, loc: yyloc, expected: expected });\n\t }\n\t }\n\t if (action[0] instanceof Array && action.length > 1) {\n\t throw new Error(\"Parse Error: multiple actions possible at state: \" + state + \", token: \" + symbol);\n\t }\n\t switch (action[0]) {\n\t case 1:\n\t stack.push(symbol);\n\t vstack.push(this.lexer.yytext);\n\t lstack.push(this.lexer.yylloc);\n\t stack.push(action[1]);\n\t symbol = null;\n\t if (!preErrorSymbol) {\n\t yyleng = this.lexer.yyleng;\n\t yytext = this.lexer.yytext;\n\t yylineno = this.lexer.yylineno;\n\t yyloc = this.lexer.yylloc;\n\t if (recovering > 0) recovering--;\n\t } else {\n\t symbol = preErrorSymbol;\n\t preErrorSymbol = null;\n\t }\n\t break;\n\t case 2:\n\t len = this.productions_[action[1]][1];\n\t yyval.$ = vstack[vstack.length - len];\n\t yyval._$ = { first_line: lstack[lstack.length - (len || 1)].first_line, last_line: lstack[lstack.length - 1].last_line, first_column: lstack[lstack.length - (len || 1)].first_column, last_column: lstack[lstack.length - 1].last_column };\n\t if (ranges) {\n\t yyval._$.range = [lstack[lstack.length - (len || 1)].range[0], lstack[lstack.length - 1].range[1]];\n\t }\n\t r = this.performAction.call(yyval, yytext, yyleng, yylineno, this.yy, action[1], vstack, lstack);\n\t if (typeof r !== \"undefined\") {\n\t return r;\n\t }\n\t if (len) {\n\t stack = stack.slice(0, -1 * len * 2);\n\t vstack = vstack.slice(0, -1 * len);\n\t lstack = lstack.slice(0, -1 * len);\n\t }\n\t stack.push(this.productions_[action[1]][0]);\n\t vstack.push(yyval.$);\n\t lstack.push(yyval._$);\n\t newState = table[stack[stack.length - 2]][stack[stack.length - 1]];\n\t stack.push(newState);\n\t break;\n\t case 3:\n\t return true;\n\t }\n\t }\n\t return true;\n\t }\n\t };\n\t /* Jison generated lexer */\n\t var lexer = (function () {\n\t var lexer = { EOF: 1,\n\t parseError: function parseError(str, hash) {\n\t if (this.yy.parser) {\n\t this.yy.parser.parseError(str, hash);\n\t } else {\n\t throw new Error(str);\n\t }\n\t },\n\t setInput: function setInput(input) {\n\t this._input = input;\n\t this._more = this._less = this.done = false;\n\t this.yylineno = this.yyleng = 0;\n\t this.yytext = this.matched = this.match = '';\n\t this.conditionStack = ['INITIAL'];\n\t this.yylloc = { first_line: 1, first_column: 0, last_line: 1, last_column: 0 };\n\t if (this.options.ranges) this.yylloc.range = [0, 0];\n\t this.offset = 0;\n\t return this;\n\t },\n\t input: function input() {\n\t var ch = this._input[0];\n\t this.yytext += ch;\n\t this.yyleng++;\n\t this.offset++;\n\t this.match += ch;\n\t this.matched += ch;\n\t var lines = ch.match(/(?:\\r\\n?|\\n).*/g);\n\t if (lines) {\n\t this.yylineno++;\n\t this.yylloc.last_line++;\n\t } else {\n\t this.yylloc.last_column++;\n\t }\n\t if (this.options.ranges) this.yylloc.range[1]++;\n\n\t this._input = this._input.slice(1);\n\t return ch;\n\t },\n\t unput: function unput(ch) {\n\t var len = ch.length;\n\t var lines = ch.split(/(?:\\r\\n?|\\n)/g);\n\n\t this._input = ch + this._input;\n\t this.yytext = this.yytext.substr(0, this.yytext.length - len - 1);\n\t //this.yyleng -= len;\n\t this.offset -= len;\n\t var oldLines = this.match.split(/(?:\\r\\n?|\\n)/g);\n\t this.match = this.match.substr(0, this.match.length - 1);\n\t this.matched = this.matched.substr(0, this.matched.length - 1);\n\n\t if (lines.length - 1) this.yylineno -= lines.length - 1;\n\t var r = this.yylloc.range;\n\n\t this.yylloc = { first_line: this.yylloc.first_line,\n\t last_line: this.yylineno + 1,\n\t first_column: this.yylloc.first_column,\n\t last_column: lines ? (lines.length === oldLines.length ? this.yylloc.first_column : 0) + oldLines[oldLines.length - lines.length].length - lines[0].length : this.yylloc.first_column - len\n\t };\n\n\t if (this.options.ranges) {\n\t this.yylloc.range = [r[0], r[0] + this.yyleng - len];\n\t }\n\t return this;\n\t },\n\t more: function more() {\n\t this._more = true;\n\t return this;\n\t },\n\t less: function less(n) {\n\t this.unput(this.match.slice(n));\n\t },\n\t pastInput: function pastInput() {\n\t var past = this.matched.substr(0, this.matched.length - this.match.length);\n\t return (past.length > 20 ? '...' : '') + past.substr(-20).replace(/\\n/g, \"\");\n\t },\n\t upcomingInput: function upcomingInput() {\n\t var next = this.match;\n\t if (next.length < 20) {\n\t next += this._input.substr(0, 20 - next.length);\n\t }\n\t return (next.substr(0, 20) + (next.length > 20 ? '...' : '')).replace(/\\n/g, \"\");\n\t },\n\t showPosition: function showPosition() {\n\t var pre = this.pastInput();\n\t var c = new Array(pre.length + 1).join(\"-\");\n\t return pre + this.upcomingInput() + \"\\n\" + c + \"^\";\n\t },\n\t next: function next() {\n\t if (this.done) {\n\t return this.EOF;\n\t }\n\t if (!this._input) this.done = true;\n\n\t var token, match, tempMatch, index, col, lines;\n\t if (!this._more) {\n\t this.yytext = '';\n\t this.match = '';\n\t }\n\t var rules = this._currentRules();\n\t for (var i = 0; i < rules.length; i++) {\n\t tempMatch = this._input.match(this.rules[rules[i]]);\n\t if (tempMatch && (!match || tempMatch[0].length > match[0].length)) {\n\t match = tempMatch;\n\t index = i;\n\t if (!this.options.flex) break;\n\t }\n\t }\n\t if (match) {\n\t lines = match[0].match(/(?:\\r\\n?|\\n).*/g);\n\t if (lines) this.yylineno += lines.length;\n\t this.yylloc = { first_line: this.yylloc.last_line,\n\t last_line: this.yylineno + 1,\n\t first_column: this.yylloc.last_column,\n\t last_column: lines ? lines[lines.length - 1].length - lines[lines.length - 1].match(/\\r?\\n?/)[0].length : this.yylloc.last_column + match[0].length };\n\t this.yytext += match[0];\n\t this.match += match[0];\n\t this.matches = match;\n\t this.yyleng = this.yytext.length;\n\t if (this.options.ranges) {\n\t this.yylloc.range = [this.offset, this.offset += this.yyleng];\n\t }\n\t this._more = false;\n\t this._input = this._input.slice(match[0].length);\n\t this.matched += match[0];\n\t token = this.performAction.call(this, this.yy, this, rules[index], this.conditionStack[this.conditionStack.length - 1]);\n\t if (this.done && this._input) this.done = false;\n\t if (token) return token;else return;\n\t }\n\t if (this._input === \"\") {\n\t return this.EOF;\n\t } else {\n\t return this.parseError('Lexical error on line ' + (this.yylineno + 1) + '. Unrecognized text.\\n' + this.showPosition(), { text: \"\", token: null, line: this.yylineno });\n\t }\n\t },\n\t lex: function lex() {\n\t var r = this.next();\n\t if (typeof r !== 'undefined') {\n\t return r;\n\t } else {\n\t return this.lex();\n\t }\n\t },\n\t begin: function begin(condition) {\n\t this.conditionStack.push(condition);\n\t },\n\t popState: function popState() {\n\t return this.conditionStack.pop();\n\t },\n\t _currentRules: function _currentRules() {\n\t return this.conditions[this.conditionStack[this.conditionStack.length - 1]].rules;\n\t },\n\t topState: function topState() {\n\t return this.conditionStack[this.conditionStack.length - 2];\n\t },\n\t pushState: function begin(condition) {\n\t this.begin(condition);\n\t } };\n\t lexer.options = {};\n\t lexer.performAction = function anonymous(yy, yy_, $avoiding_name_collisions, YY_START) {\n\n\t function strip(start, end) {\n\t return yy_.yytext = yy_.yytext.substring(start, yy_.yyleng - end + start);\n\t }\n\n\t var YYSTATE = YY_START;\n\t switch ($avoiding_name_collisions) {\n\t case 0:\n\t if (yy_.yytext.slice(-2) === \"\\\\\\\\\") {\n\t strip(0, 1);\n\t this.begin(\"mu\");\n\t } else if (yy_.yytext.slice(-1) === \"\\\\\") {\n\t strip(0, 1);\n\t this.begin(\"emu\");\n\t } else {\n\t this.begin(\"mu\");\n\t }\n\t if (yy_.yytext) return 15;\n\n\t break;\n\t case 1:\n\t return 15;\n\t break;\n\t case 2:\n\t this.popState();\n\t return 15;\n\n\t break;\n\t case 3:\n\t this.begin('raw');return 15;\n\t break;\n\t case 4:\n\t this.popState();\n\t // Should be using `this.topState()` below, but it currently\n\t // returns the second top instead of the first top. Opened an\n\t // issue about it at https://github.com/zaach/jison/issues/291\n\t if (this.conditionStack[this.conditionStack.length - 1] === 'raw') {\n\t return 15;\n\t } else {\n\t strip(5, 9);\n\t return 'END_RAW_BLOCK';\n\t }\n\n\t break;\n\t case 5:\n\t return 15;\n\t break;\n\t case 6:\n\t this.popState();\n\t return 14;\n\n\t break;\n\t case 7:\n\t return 65;\n\t break;\n\t case 8:\n\t return 68;\n\t break;\n\t case 9:\n\t return 19;\n\t break;\n\t case 10:\n\t this.popState();\n\t this.begin('raw');\n\t return 23;\n\n\t break;\n\t case 11:\n\t return 55;\n\t break;\n\t case 12:\n\t return 60;\n\t break;\n\t case 13:\n\t return 29;\n\t break;\n\t case 14:\n\t return 47;\n\t break;\n\t case 15:\n\t this.popState();return 44;\n\t break;\n\t case 16:\n\t this.popState();return 44;\n\t break;\n\t case 17:\n\t return 34;\n\t break;\n\t case 18:\n\t return 39;\n\t break;\n\t case 19:\n\t return 51;\n\t break;\n\t case 20:\n\t return 48;\n\t break;\n\t case 21:\n\t this.unput(yy_.yytext);\n\t this.popState();\n\t this.begin('com');\n\n\t break;\n\t case 22:\n\t this.popState();\n\t return 14;\n\n\t break;\n\t case 23:\n\t return 48;\n\t break;\n\t case 24:\n\t return 73;\n\t break;\n\t case 25:\n\t return 72;\n\t break;\n\t case 26:\n\t return 72;\n\t break;\n\t case 27:\n\t return 87;\n\t break;\n\t case 28:\n\t // ignore whitespace\n\t break;\n\t case 29:\n\t this.popState();return 54;\n\t break;\n\t case 30:\n\t this.popState();return 33;\n\t break;\n\t case 31:\n\t yy_.yytext = strip(1, 2).replace(/\\\\\"/g, '\"');return 80;\n\t break;\n\t case 32:\n\t yy_.yytext = strip(1, 2).replace(/\\\\'/g, \"'\");return 80;\n\t break;\n\t case 33:\n\t return 85;\n\t break;\n\t case 34:\n\t return 82;\n\t break;\n\t case 35:\n\t return 82;\n\t break;\n\t case 36:\n\t return 83;\n\t break;\n\t case 37:\n\t return 84;\n\t break;\n\t case 38:\n\t return 81;\n\t break;\n\t case 39:\n\t return 75;\n\t break;\n\t case 40:\n\t return 77;\n\t break;\n\t case 41:\n\t return 72;\n\t break;\n\t case 42:\n\t yy_.yytext = yy_.yytext.replace(/\\\\([\\\\\\]])/g, '$1');return 72;\n\t break;\n\t case 43:\n\t return 'INVALID';\n\t break;\n\t case 44:\n\t return 5;\n\t break;\n\t }\n\t };\n\t lexer.rules = [/^(?:[^\\x00]*?(?=(\\{\\{)))/, /^(?:[^\\x00]+)/, /^(?:[^\\x00]{2,}?(?=(\\{\\{|\\\\\\{\\{|\\\\\\\\\\{\\{|$)))/, /^(?:\\{\\{\\{\\{(?=[^\\/]))/, /^(?:\\{\\{\\{\\{\\/[^\\s!\"#%-,\\.\\/;->@\\[-\\^`\\{-~]+(?=[=}\\s\\/.])\\}\\}\\}\\})/, /^(?:[^\\x00]+?(?=(\\{\\{\\{\\{)))/, /^(?:[\\s\\S]*?--(~)?\\}\\})/, /^(?:\\()/, /^(?:\\))/, /^(?:\\{\\{\\{\\{)/, /^(?:\\}\\}\\}\\})/, /^(?:\\{\\{(~)?>)/, /^(?:\\{\\{(~)?#>)/, /^(?:\\{\\{(~)?#\\*?)/, /^(?:\\{\\{(~)?\\/)/, /^(?:\\{\\{(~)?\\^\\s*(~)?\\}\\})/, /^(?:\\{\\{(~)?\\s*else\\s*(~)?\\}\\})/, /^(?:\\{\\{(~)?\\^)/, /^(?:\\{\\{(~)?\\s*else\\b)/, /^(?:\\{\\{(~)?\\{)/, /^(?:\\{\\{(~)?&)/, /^(?:\\{\\{(~)?!--)/, /^(?:\\{\\{(~)?![\\s\\S]*?\\}\\})/, /^(?:\\{\\{(~)?\\*?)/, /^(?:=)/, /^(?:\\.\\.)/, /^(?:\\.(?=([=~}\\s\\/.)|])))/, /^(?:[\\/.])/, /^(?:\\s+)/, /^(?:\\}(~)?\\}\\})/, /^(?:(~)?\\}\\})/, /^(?:\"(\\\\[\"]|[^\"])*\")/, /^(?:'(\\\\[']|[^'])*')/, /^(?:@)/, /^(?:true(?=([~}\\s)])))/, /^(?:false(?=([~}\\s)])))/, /^(?:undefined(?=([~}\\s)])))/, /^(?:null(?=([~}\\s)])))/, /^(?:-?[0-9]+(?:\\.[0-9]+)?(?=([~}\\s)])))/, /^(?:as\\s+\\|)/, /^(?:\\|)/, /^(?:([^\\s!\"#%-,\\.\\/;->@\\[-\\^`\\{-~]+(?=([=~}\\s\\/.)|]))))/, /^(?:\\[(\\\\\\]|[^\\]])*\\])/, /^(?:.)/, /^(?:$)/];\n\t lexer.conditions = { \"mu\": { \"rules\": [7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44], \"inclusive\": false }, \"emu\": { \"rules\": [2], \"inclusive\": false }, \"com\": { \"rules\": [6], \"inclusive\": false }, \"raw\": { \"rules\": [3, 4, 5], \"inclusive\": false }, \"INITIAL\": { \"rules\": [0, 1, 44], \"inclusive\": true } };\n\t return lexer;\n\t })();\n\t parser.lexer = lexer;\n\t function Parser() {\n\t this.yy = {};\n\t }Parser.prototype = parser;parser.Parser = Parser;\n\t return new Parser();\n\t})();exports[\"default\"] = handlebars;\n\tmodule.exports = exports[\"default\"];\n\n/***/ }),\n/* 48 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\n\tvar _interopRequireDefault = __webpack_require__(1)['default'];\n\n\texports.__esModule = true;\n\n\tvar _visitor = __webpack_require__(49);\n\n\tvar _visitor2 = _interopRequireDefault(_visitor);\n\n\tfunction WhitespaceControl() {\n\t var options = arguments.length <= 0 || arguments[0] === undefined ? {} : arguments[0];\n\n\t this.options = options;\n\t}\n\tWhitespaceControl.prototype = new _visitor2['default']();\n\n\tWhitespaceControl.prototype.Program = function (program) {\n\t var doStandalone = !this.options.ignoreStandalone;\n\n\t var isRoot = !this.isRootSeen;\n\t this.isRootSeen = true;\n\n\t var body = program.body;\n\t for (var i = 0, l = body.length; i < l; i++) {\n\t var current = body[i],\n\t strip = this.accept(current);\n\n\t if (!strip) {\n\t continue;\n\t }\n\n\t var _isPrevWhitespace = isPrevWhitespace(body, i, isRoot),\n\t _isNextWhitespace = isNextWhitespace(body, i, isRoot),\n\t openStandalone = strip.openStandalone && _isPrevWhitespace,\n\t closeStandalone = strip.closeStandalone && _isNextWhitespace,\n\t inlineStandalone = strip.inlineStandalone && _isPrevWhitespace && _isNextWhitespace;\n\n\t if (strip.close) {\n\t omitRight(body, i, true);\n\t }\n\t if (strip.open) {\n\t omitLeft(body, i, true);\n\t }\n\n\t if (doStandalone && inlineStandalone) {\n\t omitRight(body, i);\n\n\t if (omitLeft(body, i)) {\n\t // If we are on a standalone node, save the indent info for partials\n\t if (current.type === 'PartialStatement') {\n\t // Pull out the whitespace from the final line\n\t current.indent = /([ \\t]+$)/.exec(body[i - 1].original)[1];\n\t }\n\t }\n\t }\n\t if (doStandalone && openStandalone) {\n\t omitRight((current.program || current.inverse).body);\n\n\t // Strip out the previous content node if it's whitespace only\n\t omitLeft(body, i);\n\t }\n\t if (doStandalone && closeStandalone) {\n\t // Always strip the next node\n\t omitRight(body, i);\n\n\t omitLeft((current.inverse || current.program).body);\n\t }\n\t }\n\n\t return program;\n\t};\n\n\tWhitespaceControl.prototype.BlockStatement = WhitespaceControl.prototype.DecoratorBlock = WhitespaceControl.prototype.PartialBlockStatement = function (block) {\n\t this.accept(block.program);\n\t this.accept(block.inverse);\n\n\t // Find the inverse program that is involed with whitespace stripping.\n\t var program = block.program || block.inverse,\n\t inverse = block.program && block.inverse,\n\t firstInverse = inverse,\n\t lastInverse = inverse;\n\n\t if (inverse && inverse.chained) {\n\t firstInverse = inverse.body[0].program;\n\n\t // Walk the inverse chain to find the last inverse that is actually in the chain.\n\t while (lastInverse.chained) {\n\t lastInverse = lastInverse.body[lastInverse.body.length - 1].program;\n\t }\n\t }\n\n\t var strip = {\n\t open: block.openStrip.open,\n\t close: block.closeStrip.close,\n\n\t // Determine the standalone candiacy. Basically flag our content as being possibly standalone\n\t // so our parent can determine if we actually are standalone\n\t openStandalone: isNextWhitespace(program.body),\n\t closeStandalone: isPrevWhitespace((firstInverse || program).body)\n\t };\n\n\t if (block.openStrip.close) {\n\t omitRight(program.body, null, true);\n\t }\n\n\t if (inverse) {\n\t var inverseStrip = block.inverseStrip;\n\n\t if (inverseStrip.open) {\n\t omitLeft(program.body, null, true);\n\t }\n\n\t if (inverseStrip.close) {\n\t omitRight(firstInverse.body, null, true);\n\t }\n\t if (block.closeStrip.open) {\n\t omitLeft(lastInverse.body, null, true);\n\t }\n\n\t // Find standalone else statments\n\t if (!this.options.ignoreStandalone && isPrevWhitespace(program.body) && isNextWhitespace(firstInverse.body)) {\n\t omitLeft(program.body);\n\t omitRight(firstInverse.body);\n\t }\n\t } else if (block.closeStrip.open) {\n\t omitLeft(program.body, null, true);\n\t }\n\n\t return strip;\n\t};\n\n\tWhitespaceControl.prototype.Decorator = WhitespaceControl.prototype.MustacheStatement = function (mustache) {\n\t return mustache.strip;\n\t};\n\n\tWhitespaceControl.prototype.PartialStatement = WhitespaceControl.prototype.CommentStatement = function (node) {\n\t /* istanbul ignore next */\n\t var strip = node.strip || {};\n\t return {\n\t inlineStandalone: true,\n\t open: strip.open,\n\t close: strip.close\n\t };\n\t};\n\n\tfunction isPrevWhitespace(body, i, isRoot) {\n\t if (i === undefined) {\n\t i = body.length;\n\t }\n\n\t // Nodes that end with newlines are considered whitespace (but are special\n\t // cased for strip operations)\n\t var prev = body[i - 1],\n\t sibling = body[i - 2];\n\t if (!prev) {\n\t return isRoot;\n\t }\n\n\t if (prev.type === 'ContentStatement') {\n\t return (sibling || !isRoot ? /\\r?\\n\\s*?$/ : /(^|\\r?\\n)\\s*?$/).test(prev.original);\n\t }\n\t}\n\tfunction isNextWhitespace(body, i, isRoot) {\n\t if (i === undefined) {\n\t i = -1;\n\t }\n\n\t var next = body[i + 1],\n\t sibling = body[i + 2];\n\t if (!next) {\n\t return isRoot;\n\t }\n\n\t if (next.type === 'ContentStatement') {\n\t return (sibling || !isRoot ? /^\\s*?\\r?\\n/ : /^\\s*?(\\r?\\n|$)/).test(next.original);\n\t }\n\t}\n\n\t// Marks the node to the right of the position as omitted.\n\t// I.e. {{foo}}' ' will mark the ' ' node as omitted.\n\t//\n\t// If i is undefined, then the first child will be marked as such.\n\t//\n\t// If mulitple is truthy then all whitespace will be stripped out until non-whitespace\n\t// content is met.\n\tfunction omitRight(body, i, multiple) {\n\t var current = body[i == null ? 0 : i + 1];\n\t if (!current || current.type !== 'ContentStatement' || !multiple && current.rightStripped) {\n\t return;\n\t }\n\n\t var original = current.value;\n\t current.value = current.value.replace(multiple ? /^\\s+/ : /^[ \\t]*\\r?\\n?/, '');\n\t current.rightStripped = current.value !== original;\n\t}\n\n\t// Marks the node to the left of the position as omitted.\n\t// I.e. ' '{{foo}} will mark the ' ' node as omitted.\n\t//\n\t// If i is undefined then the last child will be marked as such.\n\t//\n\t// If mulitple is truthy then all whitespace will be stripped out until non-whitespace\n\t// content is met.\n\tfunction omitLeft(body, i, multiple) {\n\t var current = body[i == null ? body.length - 1 : i - 1];\n\t if (!current || current.type !== 'ContentStatement' || !multiple && current.leftStripped) {\n\t return;\n\t }\n\n\t // We omit the last node if it's whitespace only and not preceded by a non-content node.\n\t var original = current.value;\n\t current.value = current.value.replace(multiple ? /\\s+$/ : /[ \\t]+$/, '');\n\t current.leftStripped = current.value !== original;\n\t return current.leftStripped;\n\t}\n\n\texports['default'] = WhitespaceControl;\n\tmodule.exports = exports['default'];\n\n/***/ }),\n/* 49 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\n\tvar _interopRequireDefault = __webpack_require__(1)['default'];\n\n\texports.__esModule = true;\n\n\tvar _exception = __webpack_require__(6);\n\n\tvar _exception2 = _interopRequireDefault(_exception);\n\n\tfunction Visitor() {\n\t this.parents = [];\n\t}\n\n\tVisitor.prototype = {\n\t constructor: Visitor,\n\t mutating: false,\n\n\t // Visits a given value. If mutating, will replace the value if necessary.\n\t acceptKey: function acceptKey(node, name) {\n\t var value = this.accept(node[name]);\n\t if (this.mutating) {\n\t // Hacky sanity check: This may have a few false positives for type for the helper\n\t // methods but will generally do the right thing without a lot of overhead.\n\t if (value && !Visitor.prototype[value.type]) {\n\t throw new _exception2['default']('Unexpected node type \"' + value.type + '\" found when accepting ' + name + ' on ' + node.type);\n\t }\n\t node[name] = value;\n\t }\n\t },\n\n\t // Performs an accept operation with added sanity check to ensure\n\t // required keys are not removed.\n\t acceptRequired: function acceptRequired(node, name) {\n\t this.acceptKey(node, name);\n\n\t if (!node[name]) {\n\t throw new _exception2['default'](node.type + ' requires ' + name);\n\t }\n\t },\n\n\t // Traverses a given array. If mutating, empty respnses will be removed\n\t // for child elements.\n\t acceptArray: function acceptArray(array) {\n\t for (var i = 0, l = array.length; i < l; i++) {\n\t this.acceptKey(array, i);\n\n\t if (!array[i]) {\n\t array.splice(i, 1);\n\t i--;\n\t l--;\n\t }\n\t }\n\t },\n\n\t accept: function accept(object) {\n\t if (!object) {\n\t return;\n\t }\n\n\t /* istanbul ignore next: Sanity code */\n\t if (!this[object.type]) {\n\t throw new _exception2['default']('Unknown type: ' + object.type, object);\n\t }\n\n\t if (this.current) {\n\t this.parents.unshift(this.current);\n\t }\n\t this.current = object;\n\n\t var ret = this[object.type](object);\n\n\t this.current = this.parents.shift();\n\n\t if (!this.mutating || ret) {\n\t return ret;\n\t } else if (ret !== false) {\n\t return object;\n\t }\n\t },\n\n\t Program: function Program(program) {\n\t this.acceptArray(program.body);\n\t },\n\n\t MustacheStatement: visitSubExpression,\n\t Decorator: visitSubExpression,\n\n\t BlockStatement: visitBlock,\n\t DecoratorBlock: visitBlock,\n\n\t PartialStatement: visitPartial,\n\t PartialBlockStatement: function PartialBlockStatement(partial) {\n\t visitPartial.call(this, partial);\n\n\t this.acceptKey(partial, 'program');\n\t },\n\n\t ContentStatement: function ContentStatement() /* content */{},\n\t CommentStatement: function CommentStatement() /* comment */{},\n\n\t SubExpression: visitSubExpression,\n\n\t PathExpression: function PathExpression() /* path */{},\n\n\t StringLiteral: function StringLiteral() /* string */{},\n\t NumberLiteral: function NumberLiteral() /* number */{},\n\t BooleanLiteral: function BooleanLiteral() /* bool */{},\n\t UndefinedLiteral: function UndefinedLiteral() /* literal */{},\n\t NullLiteral: function NullLiteral() /* literal */{},\n\n\t Hash: function Hash(hash) {\n\t this.acceptArray(hash.pairs);\n\t },\n\t HashPair: function HashPair(pair) {\n\t this.acceptRequired(pair, 'value');\n\t }\n\t};\n\n\tfunction visitSubExpression(mustache) {\n\t this.acceptRequired(mustache, 'path');\n\t this.acceptArray(mustache.params);\n\t this.acceptKey(mustache, 'hash');\n\t}\n\tfunction visitBlock(block) {\n\t visitSubExpression.call(this, block);\n\n\t this.acceptKey(block, 'program');\n\t this.acceptKey(block, 'inverse');\n\t}\n\tfunction visitPartial(partial) {\n\t this.acceptRequired(partial, 'name');\n\t this.acceptArray(partial.params);\n\t this.acceptKey(partial, 'hash');\n\t}\n\n\texports['default'] = Visitor;\n\tmodule.exports = exports['default'];\n\n/***/ }),\n/* 50 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\n\tvar _interopRequireDefault = __webpack_require__(1)['default'];\n\n\texports.__esModule = true;\n\texports.SourceLocation = SourceLocation;\n\texports.id = id;\n\texports.stripFlags = stripFlags;\n\texports.stripComment = stripComment;\n\texports.preparePath = preparePath;\n\texports.prepareMustache = prepareMustache;\n\texports.prepareRawBlock = prepareRawBlock;\n\texports.prepareBlock = prepareBlock;\n\texports.prepareProgram = prepareProgram;\n\texports.preparePartialBlock = preparePartialBlock;\n\n\tvar _exception = __webpack_require__(6);\n\n\tvar _exception2 = _interopRequireDefault(_exception);\n\n\tfunction validateClose(open, close) {\n\t close = close.path ? close.path.original : close;\n\n\t if (open.path.original !== close) {\n\t var errorNode = { loc: open.path.loc };\n\n\t throw new _exception2['default'](open.path.original + \" doesn't match \" + close, errorNode);\n\t }\n\t}\n\n\tfunction SourceLocation(source, locInfo) {\n\t this.source = source;\n\t this.start = {\n\t line: locInfo.first_line,\n\t column: locInfo.first_column\n\t };\n\t this.end = {\n\t line: locInfo.last_line,\n\t column: locInfo.last_column\n\t };\n\t}\n\n\tfunction id(token) {\n\t if (/^\\[.*\\]$/.test(token)) {\n\t return token.substring(1, token.length - 1);\n\t } else {\n\t return token;\n\t }\n\t}\n\n\tfunction stripFlags(open, close) {\n\t return {\n\t open: open.charAt(2) === '~',\n\t close: close.charAt(close.length - 3) === '~'\n\t };\n\t}\n\n\tfunction stripComment(comment) {\n\t return comment.replace(/^\\{\\{~?!-?-?/, '').replace(/-?-?~?\\}\\}$/, '');\n\t}\n\n\tfunction preparePath(data, parts, loc) {\n\t loc = this.locInfo(loc);\n\n\t var original = data ? '@' : '',\n\t dig = [],\n\t depth = 0;\n\n\t for (var i = 0, l = parts.length; i < l; i++) {\n\t var part = parts[i].part,\n\n\t // If we have [] syntax then we do not treat path references as operators,\n\t // i.e. foo.[this] resolves to approximately context.foo['this']\n\t isLiteral = parts[i].original !== part;\n\t original += (parts[i].separator || '') + part;\n\n\t if (!isLiteral && (part === '..' || part === '.' || part === 'this')) {\n\t if (dig.length > 0) {\n\t throw new _exception2['default']('Invalid path: ' + original, { loc: loc });\n\t } else if (part === '..') {\n\t depth++;\n\t }\n\t } else {\n\t dig.push(part);\n\t }\n\t }\n\n\t return {\n\t type: 'PathExpression',\n\t data: data,\n\t depth: depth,\n\t parts: dig,\n\t original: original,\n\t loc: loc\n\t };\n\t}\n\n\tfunction prepareMustache(path, params, hash, open, strip, locInfo) {\n\t // Must use charAt to support IE pre-10\n\t var escapeFlag = open.charAt(3) || open.charAt(2),\n\t escaped = escapeFlag !== '{' && escapeFlag !== '&';\n\n\t var decorator = /\\*/.test(open);\n\t return {\n\t type: decorator ? 'Decorator' : 'MustacheStatement',\n\t path: path,\n\t params: params,\n\t hash: hash,\n\t escaped: escaped,\n\t strip: strip,\n\t loc: this.locInfo(locInfo)\n\t };\n\t}\n\n\tfunction prepareRawBlock(openRawBlock, contents, close, locInfo) {\n\t validateClose(openRawBlock, close);\n\n\t locInfo = this.locInfo(locInfo);\n\t var program = {\n\t type: 'Program',\n\t body: contents,\n\t strip: {},\n\t loc: locInfo\n\t };\n\n\t return {\n\t type: 'BlockStatement',\n\t path: openRawBlock.path,\n\t params: openRawBlock.params,\n\t hash: openRawBlock.hash,\n\t program: program,\n\t openStrip: {},\n\t inverseStrip: {},\n\t closeStrip: {},\n\t loc: locInfo\n\t };\n\t}\n\n\tfunction prepareBlock(openBlock, program, inverseAndProgram, close, inverted, locInfo) {\n\t if (close && close.path) {\n\t validateClose(openBlock, close);\n\t }\n\n\t var decorator = /\\*/.test(openBlock.open);\n\n\t program.blockParams = openBlock.blockParams;\n\n\t var inverse = undefined,\n\t inverseStrip = undefined;\n\n\t if (inverseAndProgram) {\n\t if (decorator) {\n\t throw new _exception2['default']('Unexpected inverse block on decorator', inverseAndProgram);\n\t }\n\n\t if (inverseAndProgram.chain) {\n\t inverseAndProgram.program.body[0].closeStrip = close.strip;\n\t }\n\n\t inverseStrip = inverseAndProgram.strip;\n\t inverse = inverseAndProgram.program;\n\t }\n\n\t if (inverted) {\n\t inverted = inverse;\n\t inverse = program;\n\t program = inverted;\n\t }\n\n\t return {\n\t type: decorator ? 'DecoratorBlock' : 'BlockStatement',\n\t path: openBlock.path,\n\t params: openBlock.params,\n\t hash: openBlock.hash,\n\t program: program,\n\t inverse: inverse,\n\t openStrip: openBlock.strip,\n\t inverseStrip: inverseStrip,\n\t closeStrip: close && close.strip,\n\t loc: this.locInfo(locInfo)\n\t };\n\t}\n\n\tfunction prepareProgram(statements, loc) {\n\t if (!loc && statements.length) {\n\t var firstLoc = statements[0].loc,\n\t lastLoc = statements[statements.length - 1].loc;\n\n\t /* istanbul ignore else */\n\t if (firstLoc && lastLoc) {\n\t loc = {\n\t source: firstLoc.source,\n\t start: {\n\t line: firstLoc.start.line,\n\t column: firstLoc.start.column\n\t },\n\t end: {\n\t line: lastLoc.end.line,\n\t column: lastLoc.end.column\n\t }\n\t };\n\t }\n\t }\n\n\t return {\n\t type: 'Program',\n\t body: statements,\n\t strip: {},\n\t loc: loc\n\t };\n\t}\n\n\tfunction preparePartialBlock(open, program, close, locInfo) {\n\t validateClose(open, close);\n\n\t return {\n\t type: 'PartialBlockStatement',\n\t name: open.path,\n\t params: open.params,\n\t hash: open.hash,\n\t program: program,\n\t openStrip: open.strip,\n\t closeStrip: close && close.strip,\n\t loc: this.locInfo(locInfo)\n\t };\n\t}\n\n/***/ }),\n/* 51 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t/* eslint-disable new-cap */\n\n\t'use strict';\n\n\tvar _Object$create = __webpack_require__(34)['default'];\n\n\tvar _interopRequireDefault = __webpack_require__(1)['default'];\n\n\texports.__esModule = true;\n\texports.Compiler = Compiler;\n\texports.precompile = precompile;\n\texports.compile = compile;\n\n\tvar _exception = __webpack_require__(6);\n\n\tvar _exception2 = _interopRequireDefault(_exception);\n\n\tvar _utils = __webpack_require__(5);\n\n\tvar _ast = __webpack_require__(45);\n\n\tvar _ast2 = _interopRequireDefault(_ast);\n\n\tvar slice = [].slice;\n\n\tfunction Compiler() {}\n\n\t// the foundHelper register will disambiguate helper lookup from finding a\n\t// function in a context. This is necessary for mustache compatibility, which\n\t// requires that context functions in blocks are evaluated by blockHelperMissing,\n\t// and then proceed as if the resulting value was provided to blockHelperMissing.\n\n\tCompiler.prototype = {\n\t compiler: Compiler,\n\n\t equals: function equals(other) {\n\t var len = this.opcodes.length;\n\t if (other.opcodes.length !== len) {\n\t return false;\n\t }\n\n\t for (var i = 0; i < len; i++) {\n\t var opcode = this.opcodes[i],\n\t otherOpcode = other.opcodes[i];\n\t if (opcode.opcode !== otherOpcode.opcode || !argEquals(opcode.args, otherOpcode.args)) {\n\t return false;\n\t }\n\t }\n\n\t // We know that length is the same between the two arrays because they are directly tied\n\t // to the opcode behavior above.\n\t len = this.children.length;\n\t for (var i = 0; i < len; i++) {\n\t if (!this.children[i].equals(other.children[i])) {\n\t return false;\n\t }\n\t }\n\n\t return true;\n\t },\n\n\t guid: 0,\n\n\t compile: function compile(program, options) {\n\t this.sourceNode = [];\n\t this.opcodes = [];\n\t this.children = [];\n\t this.options = options;\n\t this.stringParams = options.stringParams;\n\t this.trackIds = options.trackIds;\n\n\t options.blockParams = options.blockParams || [];\n\n\t options.knownHelpers = _utils.extend(_Object$create(null), {\n\t helperMissing: true,\n\t blockHelperMissing: true,\n\t each: true,\n\t 'if': true,\n\t unless: true,\n\t 'with': true,\n\t log: true,\n\t lookup: true\n\t }, options.knownHelpers);\n\n\t return this.accept(program);\n\t },\n\n\t compileProgram: function compileProgram(program) {\n\t var childCompiler = new this.compiler(),\n\t // eslint-disable-line new-cap\n\t result = childCompiler.compile(program, this.options),\n\t guid = this.guid++;\n\n\t this.usePartial = this.usePartial || result.usePartial;\n\n\t this.children[guid] = result;\n\t this.useDepths = this.useDepths || result.useDepths;\n\n\t return guid;\n\t },\n\n\t accept: function accept(node) {\n\t /* istanbul ignore next: Sanity code */\n\t if (!this[node.type]) {\n\t throw new _exception2['default']('Unknown type: ' + node.type, node);\n\t }\n\n\t this.sourceNode.unshift(node);\n\t var ret = this[node.type](node);\n\t this.sourceNode.shift();\n\t return ret;\n\t },\n\n\t Program: function Program(program) {\n\t this.options.blockParams.unshift(program.blockParams);\n\n\t var body = program.body,\n\t bodyLength = body.length;\n\t for (var i = 0; i < bodyLength; i++) {\n\t this.accept(body[i]);\n\t }\n\n\t this.options.blockParams.shift();\n\n\t this.isSimple = bodyLength === 1;\n\t this.blockParams = program.blockParams ? program.blockParams.length : 0;\n\n\t return this;\n\t },\n\n\t BlockStatement: function BlockStatement(block) {\n\t transformLiteralToPath(block);\n\n\t var program = block.program,\n\t inverse = block.inverse;\n\n\t program = program && this.compileProgram(program);\n\t inverse = inverse && this.compileProgram(inverse);\n\n\t var type = this.classifySexpr(block);\n\n\t if (type === 'helper') {\n\t this.helperSexpr(block, program, inverse);\n\t } else if (type === 'simple') {\n\t this.simpleSexpr(block);\n\n\t // now that the simple mustache is resolved, we need to\n\t // evaluate it by executing `blockHelperMissing`\n\t this.opcode('pushProgram', program);\n\t this.opcode('pushProgram', inverse);\n\t this.opcode('emptyHash');\n\t this.opcode('blockValue', block.path.original);\n\t } else {\n\t this.ambiguousSexpr(block, program, inverse);\n\n\t // now that the simple mustache is resolved, we need to\n\t // evaluate it by executing `blockHelperMissing`\n\t this.opcode('pushProgram', program);\n\t this.opcode('pushProgram', inverse);\n\t this.opcode('emptyHash');\n\t this.opcode('ambiguousBlockValue');\n\t }\n\n\t this.opcode('append');\n\t },\n\n\t DecoratorBlock: function DecoratorBlock(decorator) {\n\t var program = decorator.program && this.compileProgram(decorator.program);\n\t var params = this.setupFullMustacheParams(decorator, program, undefined),\n\t path = decorator.path;\n\n\t this.useDecorators = true;\n\t this.opcode('registerDecorator', params.length, path.original);\n\t },\n\n\t PartialStatement: function PartialStatement(partial) {\n\t this.usePartial = true;\n\n\t var program = partial.program;\n\t if (program) {\n\t program = this.compileProgram(partial.program);\n\t }\n\n\t var params = partial.params;\n\t if (params.length > 1) {\n\t throw new _exception2['default']('Unsupported number of partial arguments: ' + params.length, partial);\n\t } else if (!params.length) {\n\t if (this.options.explicitPartialContext) {\n\t this.opcode('pushLiteral', 'undefined');\n\t } else {\n\t params.push({ type: 'PathExpression', parts: [], depth: 0 });\n\t }\n\t }\n\n\t var partialName = partial.name.original,\n\t isDynamic = partial.name.type === 'SubExpression';\n\t if (isDynamic) {\n\t this.accept(partial.name);\n\t }\n\n\t this.setupFullMustacheParams(partial, program, undefined, true);\n\n\t var indent = partial.indent || '';\n\t if (this.options.preventIndent && indent) {\n\t this.opcode('appendContent', indent);\n\t indent = '';\n\t }\n\n\t this.opcode('invokePartial', isDynamic, partialName, indent);\n\t this.opcode('append');\n\t },\n\t PartialBlockStatement: function PartialBlockStatement(partialBlock) {\n\t this.PartialStatement(partialBlock);\n\t },\n\n\t MustacheStatement: function MustacheStatement(mustache) {\n\t this.SubExpression(mustache);\n\n\t if (mustache.escaped && !this.options.noEscape) {\n\t this.opcode('appendEscaped');\n\t } else {\n\t this.opcode('append');\n\t }\n\t },\n\t Decorator: function Decorator(decorator) {\n\t this.DecoratorBlock(decorator);\n\t },\n\n\t ContentStatement: function ContentStatement(content) {\n\t if (content.value) {\n\t this.opcode('appendContent', content.value);\n\t }\n\t },\n\n\t CommentStatement: function CommentStatement() {},\n\n\t SubExpression: function SubExpression(sexpr) {\n\t transformLiteralToPath(sexpr);\n\t var type = this.classifySexpr(sexpr);\n\n\t if (type === 'simple') {\n\t this.simpleSexpr(sexpr);\n\t } else if (type === 'helper') {\n\t this.helperSexpr(sexpr);\n\t } else {\n\t this.ambiguousSexpr(sexpr);\n\t }\n\t },\n\t ambiguousSexpr: function ambiguousSexpr(sexpr, program, inverse) {\n\t var path = sexpr.path,\n\t name = path.parts[0],\n\t isBlock = program != null || inverse != null;\n\n\t this.opcode('getContext', path.depth);\n\n\t this.opcode('pushProgram', program);\n\t this.opcode('pushProgram', inverse);\n\n\t path.strict = true;\n\t this.accept(path);\n\n\t this.opcode('invokeAmbiguous', name, isBlock);\n\t },\n\n\t simpleSexpr: function simpleSexpr(sexpr) {\n\t var path = sexpr.path;\n\t path.strict = true;\n\t this.accept(path);\n\t this.opcode('resolvePossibleLambda');\n\t },\n\n\t helperSexpr: function helperSexpr(sexpr, program, inverse) {\n\t var params = this.setupFullMustacheParams(sexpr, program, inverse),\n\t path = sexpr.path,\n\t name = path.parts[0];\n\n\t if (this.options.knownHelpers[name]) {\n\t this.opcode('invokeKnownHelper', params.length, name);\n\t } else if (this.options.knownHelpersOnly) {\n\t throw new _exception2['default']('You specified knownHelpersOnly, but used the unknown helper ' + name, sexpr);\n\t } else {\n\t path.strict = true;\n\t path.falsy = true;\n\n\t this.accept(path);\n\t this.opcode('invokeHelper', params.length, path.original, _ast2['default'].helpers.simpleId(path));\n\t }\n\t },\n\n\t PathExpression: function PathExpression(path) {\n\t this.addDepth(path.depth);\n\t this.opcode('getContext', path.depth);\n\n\t var name = path.parts[0],\n\t scoped = _ast2['default'].helpers.scopedId(path),\n\t blockParamId = !path.depth && !scoped && this.blockParamIndex(name);\n\n\t if (blockParamId) {\n\t this.opcode('lookupBlockParam', blockParamId, path.parts);\n\t } else if (!name) {\n\t // Context reference, i.e. `{{foo .}}` or `{{foo ..}}`\n\t this.opcode('pushContext');\n\t } else if (path.data) {\n\t this.options.data = true;\n\t this.opcode('lookupData', path.depth, path.parts, path.strict);\n\t } else {\n\t this.opcode('lookupOnContext', path.parts, path.falsy, path.strict, scoped);\n\t }\n\t },\n\n\t StringLiteral: function StringLiteral(string) {\n\t this.opcode('pushString', string.value);\n\t },\n\n\t NumberLiteral: function NumberLiteral(number) {\n\t this.opcode('pushLiteral', number.value);\n\t },\n\n\t BooleanLiteral: function BooleanLiteral(bool) {\n\t this.opcode('pushLiteral', bool.value);\n\t },\n\n\t UndefinedLiteral: function UndefinedLiteral() {\n\t this.opcode('pushLiteral', 'undefined');\n\t },\n\n\t NullLiteral: function NullLiteral() {\n\t this.opcode('pushLiteral', 'null');\n\t },\n\n\t Hash: function Hash(hash) {\n\t var pairs = hash.pairs,\n\t i = 0,\n\t l = pairs.length;\n\n\t this.opcode('pushHash');\n\n\t for (; i < l; i++) {\n\t this.pushParam(pairs[i].value);\n\t }\n\t while (i--) {\n\t this.opcode('assignToHash', pairs[i].key);\n\t }\n\t this.opcode('popHash');\n\t },\n\n\t // HELPERS\n\t opcode: function opcode(name) {\n\t this.opcodes.push({\n\t opcode: name,\n\t args: slice.call(arguments, 1),\n\t loc: this.sourceNode[0].loc\n\t });\n\t },\n\n\t addDepth: function addDepth(depth) {\n\t if (!depth) {\n\t return;\n\t }\n\n\t this.useDepths = true;\n\t },\n\n\t classifySexpr: function classifySexpr(sexpr) {\n\t var isSimple = _ast2['default'].helpers.simpleId(sexpr.path);\n\n\t var isBlockParam = isSimple && !!this.blockParamIndex(sexpr.path.parts[0]);\n\n\t // a mustache is an eligible helper if:\n\t // * its id is simple (a single part, not `this` or `..`)\n\t var isHelper = !isBlockParam && _ast2['default'].helpers.helperExpression(sexpr);\n\n\t // if a mustache is an eligible helper but not a definite\n\t // helper, it is ambiguous, and will be resolved in a later\n\t // pass or at runtime.\n\t var isEligible = !isBlockParam && (isHelper || isSimple);\n\n\t // if ambiguous, we can possibly resolve the ambiguity now\n\t // An eligible helper is one that does not have a complex path, i.e. `this.foo`, `../foo` etc.\n\t if (isEligible && !isHelper) {\n\t var _name = sexpr.path.parts[0],\n\t options = this.options;\n\t if (options.knownHelpers[_name]) {\n\t isHelper = true;\n\t } else if (options.knownHelpersOnly) {\n\t isEligible = false;\n\t }\n\t }\n\n\t if (isHelper) {\n\t return 'helper';\n\t } else if (isEligible) {\n\t return 'ambiguous';\n\t } else {\n\t return 'simple';\n\t }\n\t },\n\n\t pushParams: function pushParams(params) {\n\t for (var i = 0, l = params.length; i < l; i++) {\n\t this.pushParam(params[i]);\n\t }\n\t },\n\n\t pushParam: function pushParam(val) {\n\t var value = val.value != null ? val.value : val.original || '';\n\n\t if (this.stringParams) {\n\t if (value.replace) {\n\t value = value.replace(/^(\\.?\\.\\/)*/g, '').replace(/\\//g, '.');\n\t }\n\n\t if (val.depth) {\n\t this.addDepth(val.depth);\n\t }\n\t this.opcode('getContext', val.depth || 0);\n\t this.opcode('pushStringParam', value, val.type);\n\n\t if (val.type === 'SubExpression') {\n\t // SubExpressions get evaluated and passed in\n\t // in string params mode.\n\t this.accept(val);\n\t }\n\t } else {\n\t if (this.trackIds) {\n\t var blockParamIndex = undefined;\n\t if (val.parts && !_ast2['default'].helpers.scopedId(val) && !val.depth) {\n\t blockParamIndex = this.blockParamIndex(val.parts[0]);\n\t }\n\t if (blockParamIndex) {\n\t var blockParamChild = val.parts.slice(1).join('.');\n\t this.opcode('pushId', 'BlockParam', blockParamIndex, blockParamChild);\n\t } else {\n\t value = val.original || value;\n\t if (value.replace) {\n\t value = value.replace(/^this(?:\\.|$)/, '').replace(/^\\.\\//, '').replace(/^\\.$/, '');\n\t }\n\n\t this.opcode('pushId', val.type, value);\n\t }\n\t }\n\t this.accept(val);\n\t }\n\t },\n\n\t setupFullMustacheParams: function setupFullMustacheParams(sexpr, program, inverse, omitEmpty) {\n\t var params = sexpr.params;\n\t this.pushParams(params);\n\n\t this.opcode('pushProgram', program);\n\t this.opcode('pushProgram', inverse);\n\n\t if (sexpr.hash) {\n\t this.accept(sexpr.hash);\n\t } else {\n\t this.opcode('emptyHash', omitEmpty);\n\t }\n\n\t return params;\n\t },\n\n\t blockParamIndex: function blockParamIndex(name) {\n\t for (var depth = 0, len = this.options.blockParams.length; depth < len; depth++) {\n\t var blockParams = this.options.blockParams[depth],\n\t param = blockParams && _utils.indexOf(blockParams, name);\n\t if (blockParams && param >= 0) {\n\t return [depth, param];\n\t }\n\t }\n\t }\n\t};\n\n\tfunction precompile(input, options, env) {\n\t if (input == null || typeof input !== 'string' && input.type !== 'Program') {\n\t throw new _exception2['default']('You must pass a string or Handlebars AST to Handlebars.precompile. You passed ' + input);\n\t }\n\n\t options = options || {};\n\t if (!('data' in options)) {\n\t options.data = true;\n\t }\n\t if (options.compat) {\n\t options.useDepths = true;\n\t }\n\n\t var ast = env.parse(input, options),\n\t environment = new env.Compiler().compile(ast, options);\n\t return new env.JavaScriptCompiler().compile(environment, options);\n\t}\n\n\tfunction compile(input, options, env) {\n\t if (options === undefined) options = {};\n\n\t if (input == null || typeof input !== 'string' && input.type !== 'Program') {\n\t throw new _exception2['default']('You must pass a string or Handlebars AST to Handlebars.compile. You passed ' + input);\n\t }\n\n\t options = _utils.extend({}, options);\n\t if (!('data' in options)) {\n\t options.data = true;\n\t }\n\t if (options.compat) {\n\t options.useDepths = true;\n\t }\n\n\t var compiled = undefined;\n\n\t function compileInput() {\n\t var ast = env.parse(input, options),\n\t environment = new env.Compiler().compile(ast, options),\n\t templateSpec = new env.JavaScriptCompiler().compile(environment, options, undefined, true);\n\t return env.template(templateSpec);\n\t }\n\n\t // Template is only compiled on first use and cached after that point.\n\t function ret(context, execOptions) {\n\t if (!compiled) {\n\t compiled = compileInput();\n\t }\n\t return compiled.call(this, context, execOptions);\n\t }\n\t ret._setup = function (setupOptions) {\n\t if (!compiled) {\n\t compiled = compileInput();\n\t }\n\t return compiled._setup(setupOptions);\n\t };\n\t ret._child = function (i, data, blockParams, depths) {\n\t if (!compiled) {\n\t compiled = compileInput();\n\t }\n\t return compiled._child(i, data, blockParams, depths);\n\t };\n\t return ret;\n\t}\n\n\tfunction argEquals(a, b) {\n\t if (a === b) {\n\t return true;\n\t }\n\n\t if (_utils.isArray(a) && _utils.isArray(b) && a.length === b.length) {\n\t for (var i = 0; i < a.length; i++) {\n\t if (!argEquals(a[i], b[i])) {\n\t return false;\n\t }\n\t }\n\t return true;\n\t }\n\t}\n\n\tfunction transformLiteralToPath(sexpr) {\n\t if (!sexpr.path.parts) {\n\t var literal = sexpr.path;\n\t // Casting to string here to make false and 0 literal values play nicely with the rest\n\t // of the system.\n\t sexpr.path = {\n\t type: 'PathExpression',\n\t data: false,\n\t depth: 0,\n\t parts: [literal.original + ''],\n\t original: literal.original + '',\n\t loc: literal.loc\n\t };\n\t }\n\t}\n\n/***/ }),\n/* 52 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t'use strict';\n\n\tvar _Object$keys = __webpack_require__(13)['default'];\n\n\tvar _interopRequireDefault = __webpack_require__(1)['default'];\n\n\texports.__esModule = true;\n\n\tvar _base = __webpack_require__(4);\n\n\tvar _exception = __webpack_require__(6);\n\n\tvar _exception2 = _interopRequireDefault(_exception);\n\n\tvar _utils = __webpack_require__(5);\n\n\tvar _codeGen = __webpack_require__(53);\n\n\tvar _codeGen2 = _interopRequireDefault(_codeGen);\n\n\tfunction Literal(value) {\n\t this.value = value;\n\t}\n\n\tfunction JavaScriptCompiler() {}\n\n\tJavaScriptCompiler.prototype = {\n\t // PUBLIC API: You can override these methods in a subclass to provide\n\t // alternative compiled forms for name lookup and buffering semantics\n\t nameLookup: function nameLookup(parent, name /*, type */) {\n\t return this.internalNameLookup(parent, name);\n\t },\n\t depthedLookup: function depthedLookup(name) {\n\t return [this.aliasable('container.lookup'), '(depths, \"', name, '\")'];\n\t },\n\n\t compilerInfo: function compilerInfo() {\n\t var revision = _base.COMPILER_REVISION,\n\t versions = _base.REVISION_CHANGES[revision];\n\t return [revision, versions];\n\t },\n\n\t appendToBuffer: function appendToBuffer(source, location, explicit) {\n\t // Force a source as this simplifies the merge logic.\n\t if (!_utils.isArray(source)) {\n\t source = [source];\n\t }\n\t source = this.source.wrap(source, location);\n\n\t if (this.environment.isSimple) {\n\t return ['return ', source, ';'];\n\t } else if (explicit) {\n\t // This is a case where the buffer operation occurs as a child of another\n\t // construct, generally braces. We have to explicitly output these buffer\n\t // operations to ensure that the emitted code goes in the correct location.\n\t return ['buffer += ', source, ';'];\n\t } else {\n\t source.appendToBuffer = true;\n\t return source;\n\t }\n\t },\n\n\t initializeBuffer: function initializeBuffer() {\n\t return this.quotedString('');\n\t },\n\t // END PUBLIC API\n\t internalNameLookup: function internalNameLookup(parent, name) {\n\t this.lookupPropertyFunctionIsUsed = true;\n\t return ['lookupProperty(', parent, ',', JSON.stringify(name), ')'];\n\t },\n\n\t lookupPropertyFunctionIsUsed: false,\n\n\t compile: function compile(environment, options, context, asObject) {\n\t this.environment = environment;\n\t this.options = options;\n\t this.stringParams = this.options.stringParams;\n\t this.trackIds = this.options.trackIds;\n\t this.precompile = !asObject;\n\n\t this.name = this.environment.name;\n\t this.isChild = !!context;\n\t this.context = context || {\n\t decorators: [],\n\t programs: [],\n\t environments: []\n\t };\n\n\t this.preamble();\n\n\t this.stackSlot = 0;\n\t this.stackVars = [];\n\t this.aliases = {};\n\t this.registers = { list: [] };\n\t this.hashes = [];\n\t this.compileStack = [];\n\t this.inlineStack = [];\n\t this.blockParams = [];\n\n\t this.compileChildren(environment, options);\n\n\t this.useDepths = this.useDepths || environment.useDepths || environment.useDecorators || this.options.compat;\n\t this.useBlockParams = this.useBlockParams || environment.useBlockParams;\n\n\t var opcodes = environment.opcodes,\n\t opcode = undefined,\n\t firstLoc = undefined,\n\t i = undefined,\n\t l = undefined;\n\n\t for (i = 0, l = opcodes.length; i < l; i++) {\n\t opcode = opcodes[i];\n\n\t this.source.currentLocation = opcode.loc;\n\t firstLoc = firstLoc || opcode.loc;\n\t this[opcode.opcode].apply(this, opcode.args);\n\t }\n\n\t // Flush any trailing content that might be pending.\n\t this.source.currentLocation = firstLoc;\n\t this.pushSource('');\n\n\t /* istanbul ignore next */\n\t if (this.stackSlot || this.inlineStack.length || this.compileStack.length) {\n\t throw new _exception2['default']('Compile completed with content left on stack');\n\t }\n\n\t if (!this.decorators.isEmpty()) {\n\t this.useDecorators = true;\n\n\t this.decorators.prepend(['var decorators = container.decorators, ', this.lookupPropertyFunctionVarDeclaration(), ';\\n']);\n\t this.decorators.push('return fn;');\n\n\t if (asObject) {\n\t this.decorators = Function.apply(this, ['fn', 'props', 'container', 'depth0', 'data', 'blockParams', 'depths', this.decorators.merge()]);\n\t } else {\n\t this.decorators.prepend('function(fn, props, container, depth0, data, blockParams, depths) {\\n');\n\t this.decorators.push('}\\n');\n\t this.decorators = this.decorators.merge();\n\t }\n\t } else {\n\t this.decorators = undefined;\n\t }\n\n\t var fn = this.createFunctionContext(asObject);\n\t if (!this.isChild) {\n\t var ret = {\n\t compiler: this.compilerInfo(),\n\t main: fn\n\t };\n\n\t if (this.decorators) {\n\t ret.main_d = this.decorators; // eslint-disable-line camelcase\n\t ret.useDecorators = true;\n\t }\n\n\t var _context = this.context;\n\t var programs = _context.programs;\n\t var decorators = _context.decorators;\n\n\t for (i = 0, l = programs.length; i < l; i++) {\n\t if (programs[i]) {\n\t ret[i] = programs[i];\n\t if (decorators[i]) {\n\t ret[i + '_d'] = decorators[i];\n\t ret.useDecorators = true;\n\t }\n\t }\n\t }\n\n\t if (this.environment.usePartial) {\n\t ret.usePartial = true;\n\t }\n\t if (this.options.data) {\n\t ret.useData = true;\n\t }\n\t if (this.useDepths) {\n\t ret.useDepths = true;\n\t }\n\t if (this.useBlockParams) {\n\t ret.useBlockParams = true;\n\t }\n\t if (this.options.compat) {\n\t ret.compat = true;\n\t }\n\n\t if (!asObject) {\n\t ret.compiler = JSON.stringify(ret.compiler);\n\n\t this.source.currentLocation = { start: { line: 1, column: 0 } };\n\t ret = this.objectLiteral(ret);\n\n\t if (options.srcName) {\n\t ret = ret.toStringWithSourceMap({ file: options.destName });\n\t ret.map = ret.map && ret.map.toString();\n\t } else {\n\t ret = ret.toString();\n\t }\n\t } else {\n\t ret.compilerOptions = this.options;\n\t }\n\n\t return ret;\n\t } else {\n\t return fn;\n\t }\n\t },\n\n\t preamble: function preamble() {\n\t // track the last context pushed into place to allow skipping the\n\t // getContext opcode when it would be a noop\n\t this.lastContext = 0;\n\t this.source = new _codeGen2['default'](this.options.srcName);\n\t this.decorators = new _codeGen2['default'](this.options.srcName);\n\t },\n\n\t createFunctionContext: function createFunctionContext(asObject) {\n\t // istanbul ignore next\n\n\t var _this = this;\n\n\t var varDeclarations = '';\n\n\t var locals = this.stackVars.concat(this.registers.list);\n\t if (locals.length > 0) {\n\t varDeclarations += ', ' + locals.join(', ');\n\t }\n\n\t // Generate minimizer alias mappings\n\t //\n\t // When using true SourceNodes, this will update all references to the given alias\n\t // as the source nodes are reused in situ. For the non-source node compilation mode,\n\t // aliases will not be used, but this case is already being run on the client and\n\t // we aren't concern about minimizing the template size.\n\t var aliasCount = 0;\n\t _Object$keys(this.aliases).forEach(function (alias) {\n\t var node = _this.aliases[alias];\n\t if (node.children && node.referenceCount > 1) {\n\t varDeclarations += ', alias' + ++aliasCount + '=' + alias;\n\t node.children[0] = 'alias' + aliasCount;\n\t }\n\t });\n\n\t if (this.lookupPropertyFunctionIsUsed) {\n\t varDeclarations += ', ' + this.lookupPropertyFunctionVarDeclaration();\n\t }\n\n\t var params = ['container', 'depth0', 'helpers', 'partials', 'data'];\n\n\t if (this.useBlockParams || this.useDepths) {\n\t params.push('blockParams');\n\t }\n\t if (this.useDepths) {\n\t params.push('depths');\n\t }\n\n\t // Perform a second pass over the output to merge content when possible\n\t var source = this.mergeSource(varDeclarations);\n\n\t if (asObject) {\n\t params.push(source);\n\n\t return Function.apply(this, params);\n\t } else {\n\t return this.source.wrap(['function(', params.join(','), ') {\\n ', source, '}']);\n\t }\n\t },\n\t mergeSource: function mergeSource(varDeclarations) {\n\t var isSimple = this.environment.isSimple,\n\t appendOnly = !this.forceBuffer,\n\t appendFirst = undefined,\n\t sourceSeen = undefined,\n\t bufferStart = undefined,\n\t bufferEnd = undefined;\n\t this.source.each(function (line) {\n\t if (line.appendToBuffer) {\n\t if (bufferStart) {\n\t line.prepend(' + ');\n\t } else {\n\t bufferStart = line;\n\t }\n\t bufferEnd = line;\n\t } else {\n\t if (bufferStart) {\n\t if (!sourceSeen) {\n\t appendFirst = true;\n\t } else {\n\t bufferStart.prepend('buffer += ');\n\t }\n\t bufferEnd.add(';');\n\t bufferStart = bufferEnd = undefined;\n\t }\n\n\t sourceSeen = true;\n\t if (!isSimple) {\n\t appendOnly = false;\n\t }\n\t }\n\t });\n\n\t if (appendOnly) {\n\t if (bufferStart) {\n\t bufferStart.prepend('return ');\n\t bufferEnd.add(';');\n\t } else if (!sourceSeen) {\n\t this.source.push('return \"\";');\n\t }\n\t } else {\n\t varDeclarations += ', buffer = ' + (appendFirst ? '' : this.initializeBuffer());\n\n\t if (bufferStart) {\n\t bufferStart.prepend('return buffer + ');\n\t bufferEnd.add(';');\n\t } else {\n\t this.source.push('return buffer;');\n\t }\n\t }\n\n\t if (varDeclarations) {\n\t this.source.prepend('var ' + varDeclarations.substring(2) + (appendFirst ? '' : ';\\n'));\n\t }\n\n\t return this.source.merge();\n\t },\n\n\t lookupPropertyFunctionVarDeclaration: function lookupPropertyFunctionVarDeclaration() {\n\t return '\\n lookupProperty = container.lookupProperty || function(parent, propertyName) {\\n if (Object.prototype.hasOwnProperty.call(parent, propertyName)) {\\n return parent[propertyName];\\n }\\n return undefined\\n }\\n '.trim();\n\t },\n\n\t // [blockValue]\n\t //\n\t // On stack, before: hash, inverse, program, value\n\t // On stack, after: return value of blockHelperMissing\n\t //\n\t // The purpose of this opcode is to take a block of the form\n\t // `{{#this.foo}}...{{/this.foo}}`, resolve the value of `foo`, and\n\t // replace it on the stack with the result of properly\n\t // invoking blockHelperMissing.\n\t blockValue: function blockValue(name) {\n\t var blockHelperMissing = this.aliasable('container.hooks.blockHelperMissing'),\n\t params = [this.contextName(0)];\n\t this.setupHelperArgs(name, 0, params);\n\n\t var blockName = this.popStack();\n\t params.splice(1, 0, blockName);\n\n\t this.push(this.source.functionCall(blockHelperMissing, 'call', params));\n\t },\n\n\t // [ambiguousBlockValue]\n\t //\n\t // On stack, before: hash, inverse, program, value\n\t // Compiler value, before: lastHelper=value of last found helper, if any\n\t // On stack, after, if no lastHelper: same as [blockValue]\n\t // On stack, after, if lastHelper: value\n\t ambiguousBlockValue: function ambiguousBlockValue() {\n\t // We're being a bit cheeky and reusing the options value from the prior exec\n\t var blockHelperMissing = this.aliasable('container.hooks.blockHelperMissing'),\n\t params = [this.contextName(0)];\n\t this.setupHelperArgs('', 0, params, true);\n\n\t this.flushInline();\n\n\t var current = this.topStack();\n\t params.splice(1, 0, current);\n\n\t this.pushSource(['if (!', this.lastHelper, ') { ', current, ' = ', this.source.functionCall(blockHelperMissing, 'call', params), '}']);\n\t },\n\n\t // [appendContent]\n\t //\n\t // On stack, before: ...\n\t // On stack, after: ...\n\t //\n\t // Appends the string value of `content` to the current buffer\n\t appendContent: function appendContent(content) {\n\t if (this.pendingContent) {\n\t content = this.pendingContent + content;\n\t } else {\n\t this.pendingLocation = this.source.currentLocation;\n\t }\n\n\t this.pendingContent = content;\n\t },\n\n\t // [append]\n\t //\n\t // On stack, before: value, ...\n\t // On stack, after: ...\n\t //\n\t // Coerces `value` to a String and appends it to the current buffer.\n\t //\n\t // If `value` is truthy, or 0, it is coerced into a string and appended\n\t // Otherwise, the empty string is appended\n\t append: function append() {\n\t if (this.isInline()) {\n\t this.replaceStack(function (current) {\n\t return [' != null ? ', current, ' : \"\"'];\n\t });\n\n\t this.pushSource(this.appendToBuffer(this.popStack()));\n\t } else {\n\t var local = this.popStack();\n\t this.pushSource(['if (', local, ' != null) { ', this.appendToBuffer(local, undefined, true), ' }']);\n\t if (this.environment.isSimple) {\n\t this.pushSource(['else { ', this.appendToBuffer(\"''\", undefined, true), ' }']);\n\t }\n\t }\n\t },\n\n\t // [appendEscaped]\n\t //\n\t // On stack, before: value, ...\n\t // On stack, after: ...\n\t //\n\t // Escape `value` and append it to the buffer\n\t appendEscaped: function appendEscaped() {\n\t this.pushSource(this.appendToBuffer([this.aliasable('container.escapeExpression'), '(', this.popStack(), ')']));\n\t },\n\n\t // [getContext]\n\t //\n\t // On stack, before: ...\n\t // On stack, after: ...\n\t // Compiler value, after: lastContext=depth\n\t //\n\t // Set the value of the `lastContext` compiler value to the depth\n\t getContext: function getContext(depth) {\n\t this.lastContext = depth;\n\t },\n\n\t // [pushContext]\n\t //\n\t // On stack, before: ...\n\t // On stack, after: currentContext, ...\n\t //\n\t // Pushes the value of the current context onto the stack.\n\t pushContext: function pushContext() {\n\t this.pushStackLiteral(this.contextName(this.lastContext));\n\t },\n\n\t // [lookupOnContext]\n\t //\n\t // On stack, before: ...\n\t // On stack, after: currentContext[name], ...\n\t //\n\t // Looks up the value of `name` on the current context and pushes\n\t // it onto the stack.\n\t lookupOnContext: function lookupOnContext(parts, falsy, strict, scoped) {\n\t var i = 0;\n\n\t if (!scoped && this.options.compat && !this.lastContext) {\n\t // The depthed query is expected to handle the undefined logic for the root level that\n\t // is implemented below, so we evaluate that directly in compat mode\n\t this.push(this.depthedLookup(parts[i++]));\n\t } else {\n\t this.pushContext();\n\t }\n\n\t this.resolvePath('context', parts, i, falsy, strict);\n\t },\n\n\t // [lookupBlockParam]\n\t //\n\t // On stack, before: ...\n\t // On stack, after: blockParam[name], ...\n\t //\n\t // Looks up the value of `parts` on the given block param and pushes\n\t // it onto the stack.\n\t lookupBlockParam: function lookupBlockParam(blockParamId, parts) {\n\t this.useBlockParams = true;\n\n\t this.push(['blockParams[', blockParamId[0], '][', blockParamId[1], ']']);\n\t this.resolvePath('context', parts, 1);\n\t },\n\n\t // [lookupData]\n\t //\n\t // On stack, before: ...\n\t // On stack, after: data, ...\n\t //\n\t // Push the data lookup operator\n\t lookupData: function lookupData(depth, parts, strict) {\n\t if (!depth) {\n\t this.pushStackLiteral('data');\n\t } else {\n\t this.pushStackLiteral('container.data(data, ' + depth + ')');\n\t }\n\n\t this.resolvePath('data', parts, 0, true, strict);\n\t },\n\n\t resolvePath: function resolvePath(type, parts, i, falsy, strict) {\n\t // istanbul ignore next\n\n\t var _this2 = this;\n\n\t if (this.options.strict || this.options.assumeObjects) {\n\t this.push(strictLookup(this.options.strict && strict, this, parts, type));\n\t return;\n\t }\n\n\t var len = parts.length;\n\t for (; i < len; i++) {\n\t /* eslint-disable no-loop-func */\n\t this.replaceStack(function (current) {\n\t var lookup = _this2.nameLookup(current, parts[i], type);\n\t // We want to ensure that zero and false are handled properly if the context (falsy flag)\n\t // needs to have the special handling for these values.\n\t if (!falsy) {\n\t return [' != null ? ', lookup, ' : ', current];\n\t } else {\n\t // Otherwise we can use generic falsy handling\n\t return [' && ', lookup];\n\t }\n\t });\n\t /* eslint-enable no-loop-func */\n\t }\n\t },\n\n\t // [resolvePossibleLambda]\n\t //\n\t // On stack, before: value, ...\n\t // On stack, after: resolved value, ...\n\t //\n\t // If the `value` is a lambda, replace it on the stack by\n\t // the return value of the lambda\n\t resolvePossibleLambda: function resolvePossibleLambda() {\n\t this.push([this.aliasable('container.lambda'), '(', this.popStack(), ', ', this.contextName(0), ')']);\n\t },\n\n\t // [pushStringParam]\n\t //\n\t // On stack, before: ...\n\t // On stack, after: string, currentContext, ...\n\t //\n\t // This opcode is designed for use in string mode, which\n\t // provides the string value of a parameter along with its\n\t // depth rather than resolving it immediately.\n\t pushStringParam: function pushStringParam(string, type) {\n\t this.pushContext();\n\t this.pushString(type);\n\n\t // If it's a subexpression, the string result\n\t // will be pushed after this opcode.\n\t if (type !== 'SubExpression') {\n\t if (typeof string === 'string') {\n\t this.pushString(string);\n\t } else {\n\t this.pushStackLiteral(string);\n\t }\n\t }\n\t },\n\n\t emptyHash: function emptyHash(omitEmpty) {\n\t if (this.trackIds) {\n\t this.push('{}'); // hashIds\n\t }\n\t if (this.stringParams) {\n\t this.push('{}'); // hashContexts\n\t this.push('{}'); // hashTypes\n\t }\n\t this.pushStackLiteral(omitEmpty ? 'undefined' : '{}');\n\t },\n\t pushHash: function pushHash() {\n\t if (this.hash) {\n\t this.hashes.push(this.hash);\n\t }\n\t this.hash = { values: {}, types: [], contexts: [], ids: [] };\n\t },\n\t popHash: function popHash() {\n\t var hash = this.hash;\n\t this.hash = this.hashes.pop();\n\n\t if (this.trackIds) {\n\t this.push(this.objectLiteral(hash.ids));\n\t }\n\t if (this.stringParams) {\n\t this.push(this.objectLiteral(hash.contexts));\n\t this.push(this.objectLiteral(hash.types));\n\t }\n\n\t this.push(this.objectLiteral(hash.values));\n\t },\n\n\t // [pushString]\n\t //\n\t // On stack, before: ...\n\t // On stack, after: quotedString(string), ...\n\t //\n\t // Push a quoted version of `string` onto the stack\n\t pushString: function pushString(string) {\n\t this.pushStackLiteral(this.quotedString(string));\n\t },\n\n\t // [pushLiteral]\n\t //\n\t // On stack, before: ...\n\t // On stack, after: value, ...\n\t //\n\t // Pushes a value onto the stack. This operation prevents\n\t // the compiler from creating a temporary variable to hold\n\t // it.\n\t pushLiteral: function pushLiteral(value) {\n\t this.pushStackLiteral(value);\n\t },\n\n\t // [pushProgram]\n\t //\n\t // On stack, before: ...\n\t // On stack, after: program(guid), ...\n\t //\n\t // Push a program expression onto the stack. This takes\n\t // a compile-time guid and converts it into a runtime-accessible\n\t // expression.\n\t pushProgram: function pushProgram(guid) {\n\t if (guid != null) {\n\t this.pushStackLiteral(this.programExpression(guid));\n\t } else {\n\t this.pushStackLiteral(null);\n\t }\n\t },\n\n\t // [registerDecorator]\n\t //\n\t // On stack, before: hash, program, params..., ...\n\t // On stack, after: ...\n\t //\n\t // Pops off the decorator's parameters, invokes the decorator,\n\t // and inserts the decorator into the decorators list.\n\t registerDecorator: function registerDecorator(paramSize, name) {\n\t var foundDecorator = this.nameLookup('decorators', name, 'decorator'),\n\t options = this.setupHelperArgs(name, paramSize);\n\n\t this.decorators.push(['fn = ', this.decorators.functionCall(foundDecorator, '', ['fn', 'props', 'container', options]), ' || fn;']);\n\t },\n\n\t // [invokeHelper]\n\t //\n\t // On stack, before: hash, inverse, program, params..., ...\n\t // On stack, after: result of helper invocation\n\t //\n\t // Pops off the helper's parameters, invokes the helper,\n\t // and pushes the helper's return value onto the stack.\n\t //\n\t // If the helper is not found, `helperMissing` is called.\n\t invokeHelper: function invokeHelper(paramSize, name, isSimple) {\n\t var nonHelper = this.popStack(),\n\t helper = this.setupHelper(paramSize, name);\n\n\t var possibleFunctionCalls = [];\n\n\t if (isSimple) {\n\t // direct call to helper\n\t possibleFunctionCalls.push(helper.name);\n\t }\n\t // call a function from the input object\n\t possibleFunctionCalls.push(nonHelper);\n\t if (!this.options.strict) {\n\t possibleFunctionCalls.push(this.aliasable('container.hooks.helperMissing'));\n\t }\n\n\t var functionLookupCode = ['(', this.itemsSeparatedBy(possibleFunctionCalls, '||'), ')'];\n\t var functionCall = this.source.functionCall(functionLookupCode, 'call', helper.callParams);\n\t this.push(functionCall);\n\t },\n\n\t itemsSeparatedBy: function itemsSeparatedBy(items, separator) {\n\t var result = [];\n\t result.push(items[0]);\n\t for (var i = 1; i < items.length; i++) {\n\t result.push(separator, items[i]);\n\t }\n\t return result;\n\t },\n\t // [invokeKnownHelper]\n\t //\n\t // On stack, before: hash, inverse, program, params..., ...\n\t // On stack, after: result of helper invocation\n\t //\n\t // This operation is used when the helper is known to exist,\n\t // so a `helperMissing` fallback is not required.\n\t invokeKnownHelper: function invokeKnownHelper(paramSize, name) {\n\t var helper = this.setupHelper(paramSize, name);\n\t this.push(this.source.functionCall(helper.name, 'call', helper.callParams));\n\t },\n\n\t // [invokeAmbiguous]\n\t //\n\t // On stack, before: hash, inverse, program, params..., ...\n\t // On stack, after: result of disambiguation\n\t //\n\t // This operation is used when an expression like `{{foo}}`\n\t // is provided, but we don't know at compile-time whether it\n\t // is a helper or a path.\n\t //\n\t // This operation emits more code than the other options,\n\t // and can be avoided by passing the `knownHelpers` and\n\t // `knownHelpersOnly` flags at compile-time.\n\t invokeAmbiguous: function invokeAmbiguous(name, helperCall) {\n\t this.useRegister('helper');\n\n\t var nonHelper = this.popStack();\n\n\t this.emptyHash();\n\t var helper = this.setupHelper(0, name, helperCall);\n\n\t var helperName = this.lastHelper = this.nameLookup('helpers', name, 'helper');\n\n\t var lookup = ['(', '(helper = ', helperName, ' || ', nonHelper, ')'];\n\t if (!this.options.strict) {\n\t lookup[0] = '(helper = ';\n\t lookup.push(' != null ? helper : ', this.aliasable('container.hooks.helperMissing'));\n\t }\n\n\t this.push(['(', lookup, helper.paramsInit ? ['),(', helper.paramsInit] : [], '),', '(typeof helper === ', this.aliasable('\"function\"'), ' ? ', this.source.functionCall('helper', 'call', helper.callParams), ' : helper))']);\n\t },\n\n\t // [invokePartial]\n\t //\n\t // On stack, before: context, ...\n\t // On stack after: result of partial invocation\n\t //\n\t // This operation pops off a context, invokes a partial with that context,\n\t // and pushes the result of the invocation back.\n\t invokePartial: function invokePartial(isDynamic, name, indent) {\n\t var params = [],\n\t options = this.setupParams(name, 1, params);\n\n\t if (isDynamic) {\n\t name = this.popStack();\n\t delete options.name;\n\t }\n\n\t if (indent) {\n\t options.indent = JSON.stringify(indent);\n\t }\n\t options.helpers = 'helpers';\n\t options.partials = 'partials';\n\t options.decorators = 'container.decorators';\n\n\t if (!isDynamic) {\n\t params.unshift(this.nameLookup('partials', name, 'partial'));\n\t } else {\n\t params.unshift(name);\n\t }\n\n\t if (this.options.compat) {\n\t options.depths = 'depths';\n\t }\n\t options = this.objectLiteral(options);\n\t params.push(options);\n\n\t this.push(this.source.functionCall('container.invokePartial', '', params));\n\t },\n\n\t // [assignToHash]\n\t //\n\t // On stack, before: value, ..., hash, ...\n\t // On stack, after: ..., hash, ...\n\t //\n\t // Pops a value off the stack and assigns it to the current hash\n\t assignToHash: function assignToHash(key) {\n\t var value = this.popStack(),\n\t context = undefined,\n\t type = undefined,\n\t id = undefined;\n\n\t if (this.trackIds) {\n\t id = this.popStack();\n\t }\n\t if (this.stringParams) {\n\t type = this.popStack();\n\t context = this.popStack();\n\t }\n\n\t var hash = this.hash;\n\t if (context) {\n\t hash.contexts[key] = context;\n\t }\n\t if (type) {\n\t hash.types[key] = type;\n\t }\n\t if (id) {\n\t hash.ids[key] = id;\n\t }\n\t hash.values[key] = value;\n\t },\n\n\t pushId: function pushId(type, name, child) {\n\t if (type === 'BlockParam') {\n\t this.pushStackLiteral('blockParams[' + name[0] + '].path[' + name[1] + ']' + (child ? ' + ' + JSON.stringify('.' + child) : ''));\n\t } else if (type === 'PathExpression') {\n\t this.pushString(name);\n\t } else if (type === 'SubExpression') {\n\t this.pushStackLiteral('true');\n\t } else {\n\t this.pushStackLiteral('null');\n\t }\n\t },\n\n\t // HELPERS\n\n\t compiler: JavaScriptCompiler,\n\n\t compileChildren: function compileChildren(environment, options) {\n\t var children = environment.children,\n\t child = undefined,\n\t compiler = undefined;\n\n\t for (var i = 0, l = children.length; i < l; i++) {\n\t child = children[i];\n\t compiler = new this.compiler(); // eslint-disable-line new-cap\n\n\t var existing = this.matchExistingProgram(child);\n\n\t if (existing == null) {\n\t this.context.programs.push(''); // Placeholder to prevent name conflicts for nested children\n\t var index = this.context.programs.length;\n\t child.index = index;\n\t child.name = 'program' + index;\n\t this.context.programs[index] = compiler.compile(child, options, this.context, !this.precompile);\n\t this.context.decorators[index] = compiler.decorators;\n\t this.context.environments[index] = child;\n\n\t this.useDepths = this.useDepths || compiler.useDepths;\n\t this.useBlockParams = this.useBlockParams || compiler.useBlockParams;\n\t child.useDepths = this.useDepths;\n\t child.useBlockParams = this.useBlockParams;\n\t } else {\n\t child.index = existing.index;\n\t child.name = 'program' + existing.index;\n\n\t this.useDepths = this.useDepths || existing.useDepths;\n\t this.useBlockParams = this.useBlockParams || existing.useBlockParams;\n\t }\n\t }\n\t },\n\t matchExistingProgram: function matchExistingProgram(child) {\n\t for (var i = 0, len = this.context.environments.length; i < len; i++) {\n\t var environment = this.context.environments[i];\n\t if (environment && environment.equals(child)) {\n\t return environment;\n\t }\n\t }\n\t },\n\n\t programExpression: function programExpression(guid) {\n\t var child = this.environment.children[guid],\n\t programParams = [child.index, 'data', child.blockParams];\n\n\t if (this.useBlockParams || this.useDepths) {\n\t programParams.push('blockParams');\n\t }\n\t if (this.useDepths) {\n\t programParams.push('depths');\n\t }\n\n\t return 'container.program(' + programParams.join(', ') + ')';\n\t },\n\n\t useRegister: function useRegister(name) {\n\t if (!this.registers[name]) {\n\t this.registers[name] = true;\n\t this.registers.list.push(name);\n\t }\n\t },\n\n\t push: function push(expr) {\n\t if (!(expr instanceof Literal)) {\n\t expr = this.source.wrap(expr);\n\t }\n\n\t this.inlineStack.push(expr);\n\t return expr;\n\t },\n\n\t pushStackLiteral: function pushStackLiteral(item) {\n\t this.push(new Literal(item));\n\t },\n\n\t pushSource: function pushSource(source) {\n\t if (this.pendingContent) {\n\t this.source.push(this.appendToBuffer(this.source.quotedString(this.pendingContent), this.pendingLocation));\n\t this.pendingContent = undefined;\n\t }\n\n\t if (source) {\n\t this.source.push(source);\n\t }\n\t },\n\n\t replaceStack: function replaceStack(callback) {\n\t var prefix = ['('],\n\t stack = undefined,\n\t createdStack = undefined,\n\t usedLiteral = undefined;\n\n\t /* istanbul ignore next */\n\t if (!this.isInline()) {\n\t throw new _exception2['default']('replaceStack on non-inline');\n\t }\n\n\t // We want to merge the inline statement into the replacement statement via ','\n\t var top = this.popStack(true);\n\n\t if (top instanceof Literal) {\n\t // Literals do not need to be inlined\n\t stack = [top.value];\n\t prefix = ['(', stack];\n\t usedLiteral = true;\n\t } else {\n\t // Get or create the current stack name for use by the inline\n\t createdStack = true;\n\t var _name = this.incrStack();\n\n\t prefix = ['((', this.push(_name), ' = ', top, ')'];\n\t stack = this.topStack();\n\t }\n\n\t var item = callback.call(this, stack);\n\n\t if (!usedLiteral) {\n\t this.popStack();\n\t }\n\t if (createdStack) {\n\t this.stackSlot--;\n\t }\n\t this.push(prefix.concat(item, ')'));\n\t },\n\n\t incrStack: function incrStack() {\n\t this.stackSlot++;\n\t if (this.stackSlot > this.stackVars.length) {\n\t this.stackVars.push('stack' + this.stackSlot);\n\t }\n\t return this.topStackName();\n\t },\n\t topStackName: function topStackName() {\n\t return 'stack' + this.stackSlot;\n\t },\n\t flushInline: function flushInline() {\n\t var inlineStack = this.inlineStack;\n\t this.inlineStack = [];\n\t for (var i = 0, len = inlineStack.length; i < len; i++) {\n\t var entry = inlineStack[i];\n\t /* istanbul ignore if */\n\t if (entry instanceof Literal) {\n\t this.compileStack.push(entry);\n\t } else {\n\t var stack = this.incrStack();\n\t this.pushSource([stack, ' = ', entry, ';']);\n\t this.compileStack.push(stack);\n\t }\n\t }\n\t },\n\t isInline: function isInline() {\n\t return this.inlineStack.length;\n\t },\n\n\t popStack: function popStack(wrapped) {\n\t var inline = this.isInline(),\n\t item = (inline ? this.inlineStack : this.compileStack).pop();\n\n\t if (!wrapped && item instanceof Literal) {\n\t return item.value;\n\t } else {\n\t if (!inline) {\n\t /* istanbul ignore next */\n\t if (!this.stackSlot) {\n\t throw new _exception2['default']('Invalid stack pop');\n\t }\n\t this.stackSlot--;\n\t }\n\t return item;\n\t }\n\t },\n\n\t topStack: function topStack() {\n\t var stack = this.isInline() ? this.inlineStack : this.compileStack,\n\t item = stack[stack.length - 1];\n\n\t /* istanbul ignore if */\n\t if (item instanceof Literal) {\n\t return item.value;\n\t } else {\n\t return item;\n\t }\n\t },\n\n\t contextName: function contextName(context) {\n\t if (this.useDepths && context) {\n\t return 'depths[' + context + ']';\n\t } else {\n\t return 'depth' + context;\n\t }\n\t },\n\n\t quotedString: function quotedString(str) {\n\t return this.source.quotedString(str);\n\t },\n\n\t objectLiteral: function objectLiteral(obj) {\n\t return this.source.objectLiteral(obj);\n\t },\n\n\t aliasable: function aliasable(name) {\n\t var ret = this.aliases[name];\n\t if (ret) {\n\t ret.referenceCount++;\n\t return ret;\n\t }\n\n\t ret = this.aliases[name] = this.source.wrap(name);\n\t ret.aliasable = true;\n\t ret.referenceCount = 1;\n\n\t return ret;\n\t },\n\n\t setupHelper: function setupHelper(paramSize, name, blockHelper) {\n\t var params = [],\n\t paramsInit = this.setupHelperArgs(name, paramSize, params, blockHelper);\n\t var foundHelper = this.nameLookup('helpers', name, 'helper'),\n\t callContext = this.aliasable(this.contextName(0) + ' != null ? ' + this.contextName(0) + ' : (container.nullContext || {})');\n\n\t return {\n\t params: params,\n\t paramsInit: paramsInit,\n\t name: foundHelper,\n\t callParams: [callContext].concat(params)\n\t };\n\t },\n\n\t setupParams: function setupParams(helper, paramSize, params) {\n\t var options = {},\n\t contexts = [],\n\t types = [],\n\t ids = [],\n\t objectArgs = !params,\n\t param = undefined;\n\n\t if (objectArgs) {\n\t params = [];\n\t }\n\n\t options.name = this.quotedString(helper);\n\t options.hash = this.popStack();\n\n\t if (this.trackIds) {\n\t options.hashIds = this.popStack();\n\t }\n\t if (this.stringParams) {\n\t options.hashTypes = this.popStack();\n\t options.hashContexts = this.popStack();\n\t }\n\n\t var inverse = this.popStack(),\n\t program = this.popStack();\n\n\t // Avoid setting fn and inverse if neither are set. This allows\n\t // helpers to do a check for `if (options.fn)`\n\t if (program || inverse) {\n\t options.fn = program || 'container.noop';\n\t options.inverse = inverse || 'container.noop';\n\t }\n\n\t // The parameters go on to the stack in order (making sure that they are evaluated in order)\n\t // so we need to pop them off the stack in reverse order\n\t var i = paramSize;\n\t while (i--) {\n\t param = this.popStack();\n\t params[i] = param;\n\n\t if (this.trackIds) {\n\t ids[i] = this.popStack();\n\t }\n\t if (this.stringParams) {\n\t types[i] = this.popStack();\n\t contexts[i] = this.popStack();\n\t }\n\t }\n\n\t if (objectArgs) {\n\t options.args = this.source.generateArray(params);\n\t }\n\n\t if (this.trackIds) {\n\t options.ids = this.source.generateArray(ids);\n\t }\n\t if (this.stringParams) {\n\t options.types = this.source.generateArray(types);\n\t options.contexts = this.source.generateArray(contexts);\n\t }\n\n\t if (this.options.data) {\n\t options.data = 'data';\n\t }\n\t if (this.useBlockParams) {\n\t options.blockParams = 'blockParams';\n\t }\n\t return options;\n\t },\n\n\t setupHelperArgs: function setupHelperArgs(helper, paramSize, params, useRegister) {\n\t var options = this.setupParams(helper, paramSize, params);\n\t options.loc = JSON.stringify(this.source.currentLocation);\n\t options = this.objectLiteral(options);\n\t if (useRegister) {\n\t this.useRegister('options');\n\t params.push('options');\n\t return ['options=', options];\n\t } else if (params) {\n\t params.push(options);\n\t return '';\n\t } else {\n\t return options;\n\t }\n\t }\n\t};\n\n\t(function () {\n\t var reservedWords = ('break else new var' + ' case finally return void' + ' catch for switch while' + ' continue function this with' + ' default if throw' + ' delete in try' + ' do instanceof typeof' + ' abstract enum int short' + ' boolean export interface static' + ' byte extends long super' + ' char final native synchronized' + ' class float package throws' + ' const goto private transient' + ' debugger implements protected volatile' + ' double import public let yield await' + ' null true false').split(' ');\n\n\t var compilerWords = JavaScriptCompiler.RESERVED_WORDS = {};\n\n\t for (var i = 0, l = reservedWords.length; i < l; i++) {\n\t compilerWords[reservedWords[i]] = true;\n\t }\n\t})();\n\n\t/**\n\t * @deprecated May be removed in the next major version\n\t */\n\tJavaScriptCompiler.isValidJavaScriptVariableName = function (name) {\n\t return !JavaScriptCompiler.RESERVED_WORDS[name] && /^[a-zA-Z_$][0-9a-zA-Z_$]*$/.test(name);\n\t};\n\n\tfunction strictLookup(requireTerminal, compiler, parts, type) {\n\t var stack = compiler.popStack(),\n\t i = 0,\n\t len = parts.length;\n\t if (requireTerminal) {\n\t len--;\n\t }\n\n\t for (; i < len; i++) {\n\t stack = compiler.nameLookup(stack, parts[i], type);\n\t }\n\n\t if (requireTerminal) {\n\t return [compiler.aliasable('container.strict'), '(', stack, ', ', compiler.quotedString(parts[i]), ', ', JSON.stringify(compiler.source.currentLocation), ' )'];\n\t } else {\n\t return stack;\n\t }\n\t}\n\n\texports['default'] = JavaScriptCompiler;\n\tmodule.exports = exports['default'];\n\n/***/ }),\n/* 53 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\t/* global define */\n\t'use strict';\n\n\tvar _Object$keys = __webpack_require__(13)['default'];\n\n\texports.__esModule = true;\n\n\tvar _utils = __webpack_require__(5);\n\n\tvar SourceNode = undefined;\n\n\ttry {\n\t /* istanbul ignore next */\n\t if (false) {\n\t // We don't support this in AMD environments. For these environments, we asusme that\n\t // they are running on the browser and thus have no need for the source-map library.\n\t var SourceMap = require('source-map');\n\t SourceNode = SourceMap.SourceNode;\n\t }\n\t} catch (err) {}\n\t/* NOP */\n\n\t/* istanbul ignore if: tested but not covered in istanbul due to dist build */\n\tif (!SourceNode) {\n\t SourceNode = function (line, column, srcFile, chunks) {\n\t this.src = '';\n\t if (chunks) {\n\t this.add(chunks);\n\t }\n\t };\n\t /* istanbul ignore next */\n\t SourceNode.prototype = {\n\t add: function add(chunks) {\n\t if (_utils.isArray(chunks)) {\n\t chunks = chunks.join('');\n\t }\n\t this.src += chunks;\n\t },\n\t prepend: function prepend(chunks) {\n\t if (_utils.isArray(chunks)) {\n\t chunks = chunks.join('');\n\t }\n\t this.src = chunks + this.src;\n\t },\n\t toStringWithSourceMap: function toStringWithSourceMap() {\n\t return { code: this.toString() };\n\t },\n\t toString: function toString() {\n\t return this.src;\n\t }\n\t };\n\t}\n\n\tfunction castChunk(chunk, codeGen, loc) {\n\t if (_utils.isArray(chunk)) {\n\t var ret = [];\n\n\t for (var i = 0, len = chunk.length; i < len; i++) {\n\t ret.push(codeGen.wrap(chunk[i], loc));\n\t }\n\t return ret;\n\t } else if (typeof chunk === 'boolean' || typeof chunk === 'number') {\n\t // Handle primitives that the SourceNode will throw up on\n\t return chunk + '';\n\t }\n\t return chunk;\n\t}\n\n\tfunction CodeGen(srcFile) {\n\t this.srcFile = srcFile;\n\t this.source = [];\n\t}\n\n\tCodeGen.prototype = {\n\t isEmpty: function isEmpty() {\n\t return !this.source.length;\n\t },\n\t prepend: function prepend(source, loc) {\n\t this.source.unshift(this.wrap(source, loc));\n\t },\n\t push: function push(source, loc) {\n\t this.source.push(this.wrap(source, loc));\n\t },\n\n\t merge: function merge() {\n\t var source = this.empty();\n\t this.each(function (line) {\n\t source.add([' ', line, '\\n']);\n\t });\n\t return source;\n\t },\n\n\t each: function each(iter) {\n\t for (var i = 0, len = this.source.length; i < len; i++) {\n\t iter(this.source[i]);\n\t }\n\t },\n\n\t empty: function empty() {\n\t var loc = this.currentLocation || { start: {} };\n\t return new SourceNode(loc.start.line, loc.start.column, this.srcFile);\n\t },\n\t wrap: function wrap(chunk) {\n\t var loc = arguments.length <= 1 || arguments[1] === undefined ? this.currentLocation || { start: {} } : arguments[1];\n\n\t if (chunk instanceof SourceNode) {\n\t return chunk;\n\t }\n\n\t chunk = castChunk(chunk, this, loc);\n\n\t return new SourceNode(loc.start.line, loc.start.column, this.srcFile, chunk);\n\t },\n\n\t functionCall: function functionCall(fn, type, params) {\n\t params = this.generateList(params);\n\t return this.wrap([fn, type ? '.' + type + '(' : '(', params, ')']);\n\t },\n\n\t quotedString: function quotedString(str) {\n\t return '\"' + (str + '').replace(/\\\\/g, '\\\\\\\\').replace(/\"/g, '\\\\\"').replace(/\\n/g, '\\\\n').replace(/\\r/g, '\\\\r').replace(/\\u2028/g, '\\\\u2028') // Per Ecma-262 7.3 + 7.8.4\n\t .replace(/\\u2029/g, '\\\\u2029') + '\"';\n\t },\n\n\t objectLiteral: function objectLiteral(obj) {\n\t // istanbul ignore next\n\n\t var _this = this;\n\n\t var pairs = [];\n\n\t _Object$keys(obj).forEach(function (key) {\n\t var value = castChunk(obj[key], _this);\n\t if (value !== 'undefined') {\n\t pairs.push([_this.quotedString(key), ':', value]);\n\t }\n\t });\n\n\t var ret = this.generateList(pairs);\n\t ret.prepend('{');\n\t ret.add('}');\n\t return ret;\n\t },\n\n\t generateList: function generateList(entries) {\n\t var ret = this.empty();\n\n\t for (var i = 0, len = entries.length; i < len; i++) {\n\t if (i) {\n\t ret.add(',');\n\t }\n\n\t ret.add(castChunk(entries[i], this));\n\t }\n\n\t return ret;\n\t },\n\n\t generateArray: function generateArray(entries) {\n\t var ret = this.generateList(entries);\n\t ret.prepend('[');\n\t ret.add(']');\n\n\t return ret;\n\t }\n\t};\n\n\texports['default'] = CodeGen;\n\tmodule.exports = exports['default'];\n\n/***/ })\n/******/ ])\n});\n;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/handlebars/dist/handlebars.js\n// module id = 233\n// module chunks = 0","module.exports = function(module) {\r\n\tif(!module.webpackPolyfill) {\r\n\t\tmodule.deprecate = function() {};\r\n\t\tmodule.paths = [];\r\n\t\t// module.parent = undefined by default\r\n\t\tif(!module.children) module.children = [];\r\n\t\tObject.defineProperty(module, \"loaded\", {\r\n\t\t\tenumerable: true,\r\n\t\t\tget: function() {\r\n\t\t\t\treturn module.l;\r\n\t\t\t}\r\n\t\t});\r\n\t\tObject.defineProperty(module, \"id\", {\r\n\t\t\tenumerable: true,\r\n\t\t\tget: function() {\r\n\t\t\t\treturn module.i;\r\n\t\t\t}\r\n\t\t});\r\n\t\tmodule.webpackPolyfill = 1;\r\n\t}\r\n\treturn module;\r\n};\r\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// (webpack)/buildin/module.js\n// module id = 234\n// module chunks = 0","// call something on iterator step with safe closing on error\nvar anObject = require('./_an-object');\nmodule.exports = function (iterator, fn, value, entries) {\n try {\n return entries ? fn(anObject(value)[0], value[1]) : fn(value);\n // 7.4.6 IteratorClose(iterator, completion)\n } catch (e) {\n var ret = iterator['return'];\n if (ret !== undefined) anObject(ret.call(iterator));\n throw e;\n }\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_iter-call.js\n// module id = 235\n// module chunks = 0","// check on default Array iterator\nvar Iterators = require('./_iterators');\nvar ITERATOR = require('./_wks')('iterator');\nvar ArrayProto = Array.prototype;\n\nmodule.exports = function (it) {\n return it !== undefined && (Iterators.Array === it || ArrayProto[ITERATOR] === it);\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_is-array-iter.js\n// module id = 236\n// module chunks = 0","var ITERATOR = require('./_wks')('iterator');\nvar SAFE_CLOSING = false;\n\ntry {\n var riter = [7][ITERATOR]();\n riter['return'] = function () { SAFE_CLOSING = true; };\n // eslint-disable-next-line no-throw-literal\n Array.from(riter, function () { throw 2; });\n} catch (e) { /* empty */ }\n\nmodule.exports = function (exec, skipClosing) {\n if (!skipClosing && !SAFE_CLOSING) return false;\n var safe = false;\n try {\n var arr = [7];\n var iter = arr[ITERATOR]();\n iter.next = function () { return { done: safe = true }; };\n arr[ITERATOR] = function () { return iter; };\n exec(arr);\n } catch (e) { /* empty */ }\n return safe;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_iter-detect.js\n// module id = 237\n// module chunks = 0","// 7.3.20 SpeciesConstructor(O, defaultConstructor)\nvar anObject = require('./_an-object');\nvar aFunction = require('./_a-function');\nvar SPECIES = require('./_wks')('species');\nmodule.exports = function (O, D) {\n var C = anObject(O).constructor;\n var S;\n return C === undefined || (S = anObject(C)[SPECIES]) == undefined ? D : aFunction(S);\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_species-constructor.js\n// module id = 238\n// module chunks = 0","var ctx = require('./_ctx');\nvar invoke = require('./_invoke');\nvar html = require('./_html');\nvar cel = require('./_dom-create');\nvar global = require('./_global');\nvar process = global.process;\nvar setTask = global.setImmediate;\nvar clearTask = global.clearImmediate;\nvar MessageChannel = global.MessageChannel;\nvar Dispatch = global.Dispatch;\nvar counter = 0;\nvar queue = {};\nvar ONREADYSTATECHANGE = 'onreadystatechange';\nvar defer, channel, port;\nvar run = function () {\n var id = +this;\n // eslint-disable-next-line no-prototype-builtins\n if (queue.hasOwnProperty(id)) {\n var fn = queue[id];\n delete queue[id];\n fn();\n }\n};\nvar listener = function (event) {\n run.call(event.data);\n};\n// Node.js 0.9+ & IE10+ has setImmediate, otherwise:\nif (!setTask || !clearTask) {\n setTask = function setImmediate(fn) {\n var args = [];\n var i = 1;\n while (arguments.length > i) args.push(arguments[i++]);\n queue[++counter] = function () {\n // eslint-disable-next-line no-new-func\n invoke(typeof fn == 'function' ? fn : Function(fn), args);\n };\n defer(counter);\n return counter;\n };\n clearTask = function clearImmediate(id) {\n delete queue[id];\n };\n // Node.js 0.8-\n if (require('./_cof')(process) == 'process') {\n defer = function (id) {\n process.nextTick(ctx(run, id, 1));\n };\n // Sphere (JS game engine) Dispatch API\n } else if (Dispatch && Dispatch.now) {\n defer = function (id) {\n Dispatch.now(ctx(run, id, 1));\n };\n // Browsers with MessageChannel, includes WebWorkers\n } else if (MessageChannel) {\n channel = new MessageChannel();\n port = channel.port2;\n channel.port1.onmessage = listener;\n defer = ctx(port.postMessage, port, 1);\n // Browsers with postMessage, skip WebWorkers\n // IE8 has postMessage, but it's sync & typeof its postMessage is 'object'\n } else if (global.addEventListener && typeof postMessage == 'function' && !global.importScripts) {\n defer = function (id) {\n global.postMessage(id + '', '*');\n };\n global.addEventListener('message', listener, false);\n // IE8-\n } else if (ONREADYSTATECHANGE in cel('script')) {\n defer = function (id) {\n html.appendChild(cel('script'))[ONREADYSTATECHANGE] = function () {\n html.removeChild(this);\n run.call(id);\n };\n };\n // Rest old browsers\n } else {\n defer = function (id) {\n setTimeout(ctx(run, id, 1), 0);\n };\n }\n}\nmodule.exports = {\n set: setTask,\n clear: clearTask\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_task.js\n// module id = 239\n// module chunks = 0","module.exports = function (exec) {\n try {\n return { e: false, v: exec() };\n } catch (e) {\n return { e: true, v: e };\n }\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_perform.js\n// module id = 240\n// module chunks = 0","var anObject = require('./_an-object');\nvar isObject = require('./_is-object');\nvar newPromiseCapability = require('./_new-promise-capability');\n\nmodule.exports = function (C, x) {\n anObject(C);\n if (isObject(x) && x.constructor === C) return x;\n var promiseCapability = newPromiseCapability.f(C);\n var resolve = promiseCapability.resolve;\n resolve(x);\n return promiseCapability.promise;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_promise-resolve.js\n// module id = 241\n// module chunks = 0","/*!\n * Copyright (c) 2015-2016, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n\ndefine([\n 'okta',\n 'views/primary-auth/PrimaryAuthForm',\n 'views/primary-auth/CustomButtons',\n 'views/shared/FooterRegistration',\n 'models/PrimaryAuth',\n 'views/shared/Footer',\n 'util/BaseLoginController',\n 'util/DeviceFingerprint',\n],\nfunction (Okta, PrimaryAuthForm, CustomButtons, FooterRegistration, PrimaryAuthModel,\n Footer, BaseLoginController, DeviceFingerprint) {\n\n var $ = Okta.$;\n\n return BaseLoginController.extend({\n className: 'primary-auth',\n\n state: { enabled: true },\n\n View: PrimaryAuthForm,\n\n constructor: function (options) {\n options.appState.unset('username');\n\n this.model = new PrimaryAuthModel({\n multiOptionalFactorEnroll: options.settings.get('features.multiOptionalFactorEnroll'),\n settings: options.settings,\n appState: options.appState\n }, { parse: true });\n\n BaseLoginController.apply(this, arguments);\n\n this.addListeners();\n\n // If social auth is configured, 'socialAuthPositionTop' will determine\n // the order in which the social auth and primary auth are shown on the screen.\n if (options.settings.get('hasConfiguredButtons')) {\n this.add(CustomButtons, {\n prepend: options.settings.get('socialAuthPositionTop'),\n options: {\n // To trigger an afterError event, we require the current controller\n currentController: this\n }\n });\n }\n\n this.addFooter(options);\n\n this.setUsername();\n },\n\n addFooter: function (options) {\n this.add(new Footer(this.toJSON({appState: options.appState})));\n\n if (options.settings.get('features.registration') || options.appState.get('isIdxStateToken')) {\n this.add(new FooterRegistration({\n settings: this.settings,\n appState: options.appState\n }));\n }\n },\n\n setUsername: function () {\n var username = this.model.get('username');\n if (username) {\n this.options.appState.set('username', username);\n }\n },\n\n events: {\n 'focusout input[name=username]': function () {\n if (this.shouldComputeDeviceFingerprint()) {\n var self = this;\n DeviceFingerprint.generateDeviceFingerprint(this.settings.get('baseUrl'), this.$el)\n .then(function (fingerprint) {\n self.options.appState.set('deviceFingerprint', fingerprint);\n self.options.appState.set('username', self.model.get('username'));\n })\n .fail(function () {\n // Keep going even if device fingerprint fails\n self.options.appState.set('username', self.model.get('username'));\n });\n } else {\n this.options.appState.set('username', this.model.get('username'));\n }\n },\n 'focusin input': function (e) {\n $(e.target.parentElement).addClass('focused-input');\n },\n 'focusout input': function (e) {\n $(e.target.parentElement).removeClass('focused-input');\n },\n 'click .button-show': function () {\n this.trigger('passwordRevealed');\n }\n },\n\n // This model and the AppState both have a username property.\n // The controller updates the AppState's username when the user is\n // done editing (on blur) or deletes the username (see below).\n initialize: function () {\n this.options.appState.unset('deviceFingerprint');\n this.listenTo(this.model, 'change:username', function (model, value) {\n if (!value) {\n // reset AppState to an undefined user.\n this.options.appState.set('username', '');\n }\n });\n this.listenTo(this.model, 'save', function () {\n this.state.set('enabled', false);\n });\n this.listenTo(this.model, 'error', function () {\n this.state.set('enabled', true);\n });\n },\n\n shouldComputeDeviceFingerprint: function () {\n return this.settings.get('features.securityImage') &&\n this.settings.get('features.deviceFingerprinting') &&\n this.settings.get('features.useDeviceFingerprintForSecurityImage');\n }\n });\n\n});\n\n\n\n// WEBPACK FOOTER //\n// ./src/PrimaryAuthController.js","/*!\n * Copyright (c) 2015-2016, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n\ndefine([\n 'okta',\n 'views/shared/TextBox',\n 'util/DeviceFingerprint',\n 'util/TypingUtil',\n 'util/Util'\n], function (Okta, TextBox, DeviceFingerprint, TypingUtil, Util) {\n\n var _ = Okta._;\n\n return Okta.Form.extend({\n className: 'primary-auth-form',\n noCancelButton: true,\n attributes: { 'novalidate': 'novalidate' },\n save: function () {\n if (this.settings.get('features.passwordlessAuth')) {\n return Okta.loc('oform.next', 'login');\n }\n return Okta.loc('primaryauth.submit', 'login');\n },\n saveId: 'okta-signin-submit',\n layout: 'o-form-theme',\n\n // If socialAuth is configured, the title moves from the form to\n // the top of the container (and is rendered in socialAuth).\n title: function () {\n var formTitle = Okta.loc('primaryauth.title', 'login');\n if (this.settings.get('socialAuthPositionTop')) {\n formTitle = '';\n }\n return formTitle;\n },\n\n initialize: function () {\n var trackTypingPattern = this.settings.get('features.trackTypingPattern');\n this.listenTo(this, 'save', function () {\n if (trackTypingPattern) {\n var typingPattern = TypingUtil.getTypingPattern();\n this.options.appState.set('typingPattern', typingPattern);\n }\n var self = this;\n var creds = {\n username: this.model.get('username')\n };\n if (!this.settings.get('features.passwordlessAuth')) {\n creds.password = this.model.get('password');\n }\n this.settings.processCreds(creds)\n .then(function () {\n if (!self.settings.get('features.deviceFingerprinting')) {\n return;\n }\n return DeviceFingerprint.generateDeviceFingerprint(self.settings.get('baseUrl'), self.$el)\n .then(function (fingerprint) {\n self.options.appState.set('deviceFingerprint', fingerprint);\n })\n .fail(function () {\n // Keep going even if device fingerprint fails\n });\n })\n .then(_.bind(this.model.save, this.model));\n });\n\n this.stateEnableChange();\n },\n\n stateEnableChange: function () {\n this.listenTo(this.state, 'change:enabled', function (model, enable) {\n if (enable) {\n this.enable();\n }\n else {\n this.disable();\n }\n });\n },\n\n inputs: function () {\n var inputs = [];\n inputs.push(this.getUsernameField());\n if (!this.settings.get('features.passwordlessAuth')) {\n inputs.push(this.getPasswordField());\n }\n if (this.settings.get('features.rememberMe')) {\n inputs.push(this.getRemeberMeCheckbox());\n }\n return inputs;\n },\n\n getUsernameField: function () {\n var userNameFieldObject = {\n className: 'margin-btm-5',\n label: Okta.loc('primaryauth.username.placeholder', 'login'),\n 'label-top': true,\n explain: () => {\n if (this.settings.get('features.hideDefaultTip') &&\n !this.isCustomized('primaryauth.username.tooltip')) {\n return false;\n }\n\n return Util.createInputExplain(\n 'primaryauth.username.tooltip',\n 'primaryauth.username.placeholder',\n 'login');\n },\n 'explain-top': true,\n name: 'username',\n input: TextBox,\n inputId: 'okta-signin-username',\n type: 'text',\n disabled: this.options.appState.get('disableUsername'),\n // TODO: support a11y attrs in Courage - OKTA-279025\n render: function () {\n this.$(`input[name=${this.options.name}]`).prop('required', true);\n }\n };\n\n return userNameFieldObject;\n },\n\n getPasswordField: function () {\n var passwordFieldObject = {\n className: 'margin-btm-30',\n label: Okta.loc('primaryauth.password.placeholder', 'login'),\n 'label-top': true,\n explain: () => {\n if (this.settings.get('features.hideDefaultTip') &&\n !this.isCustomized('primaryauth.password.tooltip')) {\n return false;\n }\n\n return Util.createInputExplain(\n 'primaryauth.password.tooltip',\n 'primaryauth.password.placeholder',\n 'login');\n },\n 'explain-top': true,\n name: 'password',\n inputId: 'okta-signin-password',\n validateOnlyIfDirty: true,\n type: 'password',\n // TODO: support a11y attrs in Courage - OKTA-279025\n render: function () {\n this.$(`input[name=${this.options.name}]`).prop('required', true);\n }\n };\n if (this.settings.get('features.showPasswordToggleOnSignInPage')) {\n passwordFieldObject.params = {};\n passwordFieldObject.params.showPasswordToggle = true;\n }\n return passwordFieldObject;\n },\n\n isCustomized: function (property) {\n var language = this.settings.get('language');\n var i18n = this.settings.get('i18n');\n var customizedProperty = i18n && i18n[language] && i18n[language][property];\n return !!customizedProperty;\n },\n\n getRemeberMeCheckbox: function () {\n return {\n label: false,\n placeholder: Okta.loc('remember', 'login'),\n name: 'remember',\n type: 'checkbox',\n 'label-top': true,\n className: 'margin-btm-0',\n initialize: function () {\n this.listenTo(this.model, 'change:remember', function (model, val) {\n // OKTA-98946: We normally re-render on changes to model values,\n // but in this case we will manually update the checkbox due to\n // iOS Safari and how it handles autofill - it will autofill the\n // form anytime the dom elements are re-rendered, which prevents\n // the user from editing their username.\n this.$(':checkbox').prop('checked', val).trigger('updateState');\n });\n }\n };\n },\n\n focus: function () {\n if (!this.model.get('username')) {\n this.getInputs().first().focus();\n } else if (!this.settings.get('features.passwordlessAuth')) {\n this.getInputs().toArray()[1].focus();\n }\n if (this.settings.get('features.trackTypingPattern')) {\n TypingUtil.track('okta-signin-username');\n }\n },\n\n });\n});\n\n\n\n// WEBPACK FOOTER //\n// ./src/views/primary-auth/PrimaryAuthForm.js","\"use strict\";\n\nexports.__esModule = true;\n\nvar _isIterable2 = require(\"../core-js/is-iterable\");\n\nvar _isIterable3 = _interopRequireDefault(_isIterable2);\n\nvar _getIterator2 = require(\"../core-js/get-iterator\");\n\nvar _getIterator3 = _interopRequireDefault(_getIterator2);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = function () {\n function sliceIterator(arr, i) {\n var _arr = [];\n var _n = true;\n var _d = false;\n var _e = undefined;\n\n try {\n for (var _i = (0, _getIterator3.default)(arr), _s; !(_n = (_s = _i.next()).done); _n = true) {\n _arr.push(_s.value);\n\n if (i && _arr.length === i) break;\n }\n } catch (err) {\n _d = true;\n _e = err;\n } finally {\n try {\n if (!_n && _i[\"return\"]) _i[\"return\"]();\n } finally {\n if (_d) throw _e;\n }\n }\n\n return _arr;\n }\n\n return function (arr, i) {\n if (Array.isArray(arr)) {\n return arr;\n } else if ((0, _isIterable3.default)(Object(arr))) {\n return sliceIterator(arr, i);\n } else {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance\");\n }\n };\n}();\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/babel-runtime/helpers/slicedToArray.js\n// module id = 244\n// module chunks = 0","/*!\n * Copyright (c) 2015-2016, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n\ndefine([\n 'okta',\n 'util/OAuth2Util'\n], function (Okta, OAuth2Util) {\n\n var _ = Okta._,\n $ = Okta.$,\n SharedUtil = Okta.internal.util.Util;\n\n var dividerTpl = Okta.tpl(\n '<div class=\"auth-divider\">\\\n <span class=\"auth-divider-text\">{{text}}</span>\\\n </div>');\n var formTitleTpl = Okta.tpl(\n '<h2 data-se=\"o-form-head\" class=\"okta-form-title o-form-head\">{{title}}</h2>'\n );\n\n return Okta.View.extend({\n\n className: 'primary-auth-container',\n\n children: function () {\n var children = [],\n socialIdpButtons = this.settings.get('configuredSocialIdps'),\n pivButton = this.settings.get('piv'),\n customButtons = this.settings.get('customButtons'),\n divider = dividerTpl({text: Okta.loc('socialauth.divider.text', 'login')});\n\n if (this.settings.get('hasPivCard')) {\n children.push(this._createPivButton(pivButton));\n }\n\n _.each(socialIdpButtons, function (button) {\n children.push(this._createSocialIdpButton(button));\n }, this);\n\n _.each(customButtons, function (button) {\n children.push(this._createCustomButton(button));\n }, this);\n\n // If the social auth buttons have to be above the Okta form, the title moves from\n // primary auth form to the social auth (above the buttons) and the divider goes below\n // the buttons (in between social auth and primary auth). If social auth needs to go below\n // Okta form, just add the divider at the top of the social auth container. The title still\n // lives in primary auth form.\n if (this.settings.get('socialAuthPositionTop')) {\n children.unshift(formTitleTpl({title: Okta.loc('primaryauth.title', 'login')}));\n // Divider between Primary Auth and the Social Auth\n children.push(divider);\n } else {\n children.unshift(divider);\n }\n\n return children;\n },\n\n _createSocialIdpButton: function (options) {\n return Okta.createButton({\n attributes: {\n 'data-se': options.dataAttr\n },\n className: options.className,\n title: function () {\n return options.text || Okta.loc(options.i18nKey);\n },\n click: function (e) {\n e.preventDefault();\n if (this.settings.get('oauth2Enabled')) {\n OAuth2Util.getTokens(this.settings, {idp: options.id}, this.options.currentController);\n } else {\n const baseUrl = this.settings.get('baseUrl');\n const params = $.param({\n fromURI: this.settings.get('relayState')\n });\n const targetUri = `${baseUrl}/sso/idps/${options.id}?${params}`;\n SharedUtil.redirect(targetUri);\n }\n }\n });\n },\n\n _createPivButton: function (options) {\n let className = options.className || '';\n return Okta.createButton({\n attributes: {\n 'data-se': 'piv-card-button'\n },\n className: className + ' piv-button',\n title: options.text || Okta.loc('piv.cac.card', 'login'),\n click: function (e) {\n e.preventDefault();\n this.options.appState.trigger('navigate', 'signin/verify/piv');\n }\n });\n },\n\n _createCustomButton: function (options) {\n return Okta.createButton({\n attributes: {\n 'data-se': options.dataAttr\n },\n className: options.className + ' default-custom-button',\n title: options.title,\n click: options.click\n });\n }\n\n });\n\n});\n\n\n\n// WEBPACK FOOTER //\n// ./src/views/primary-auth/CustomButtons.js","/*!\n * Copyright (c) 2015-2016, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n\ndefine([\n 'okta'\n],\nfunction (Okta) {\n\n var { Util } = Okta.internal.util;\n var _ = Okta._;\n\n return Okta.View.extend({\n template: '\\\n <a href=\"#\" data-se=\"needhelp\" aria-expanded=\"false\" \\\n aria-controls=\"help-links-container\" class=\"link help js-help\">\\\n {{i18n code=\"needhelp\" bundle=\"login\"}}\\\n </a>\\\n <ul class=\"help-links js-help-links\" id=\"help-links-container\">\\\n <li>\\\n <a href=\"#\" data-se=\"forgot-password\" class=\"link js-forgot-password\">\\\n {{i18n code=\"forgotpassword\" bundle=\"login\"}}\\\n </a>\\\n </li>\\\n {{#if features.selfServiceUnlock}}\\\n <li>\\\n <a href=\"#\" data-se=\"unlock\" class=\"link js-unlock\">\\\n {{i18n code=\"unlockaccount\" bundle=\"login\"}}\\\n </a>\\\n </li>\\\n {{/if}}\\\n {{#each helpLinks.custom}}\\\n <li>\\\n <a href=\"{{href}}\" class=\"link js-custom\" rel=\"noopener noreferrer\"\\\n {{#if target}}target=\"{{target}}\"{{/if}}>{{text}}</a>\\\n </li>\\\n {{/each}}\\\n <li>\\\n <a href=\"{{helpLinkUrl}}\" data-se=\"help-link\" class=\"link js-help-link\"\\\n rel=\"noopener noreferrer\" target=\"_blank\">\\\n {{i18n code=\"help\" bundle=\"login\"}}\\\n </a>\\\n </li>\\\n </ul>\\\n ',\n className: 'auth-footer',\n\n initialize: function () {\n this.listenTo(this.state, 'change:enabled', function (model, enable) {\n this.$(':link').toggleClass('o-form-disabled', !enable);\n });\n },\n\n getTemplateData: function () {\n var helpLinkUrl;\n var customHelpPage = this.settings.get('helpLinks.help');\n if (customHelpPage) {\n helpLinkUrl = customHelpPage;\n } else {\n helpLinkUrl = Okta.tpl('{{baseUrl}}/help/login')({baseUrl: this.settings.get('baseUrl')});\n }\n return _.extend(this.settings.toJSON({verbose: true}), {helpLinkUrl: helpLinkUrl});\n },\n postRender: function () {\n this.$('.js-help-links').hide();\n },\n toggleLinks: function (e) {\n e.preventDefault();\n\n this.$('.js-help-links').slideToggle(200, _.bind(function () {\n this.$('.js-help').attr('aria-expanded', this.$('.js-help-links').is(':visible'));\n }, this));\n },\n events: {\n 'click .js-help': function (e) {\n e.preventDefault();\n if(!this.state.get('enabled')) {\n return;\n }\n\n this.toggleLinks(e);\n },\n 'click .js-forgot-password' : function (e) {\n e.preventDefault();\n if(!this.state.get('enabled')) {\n return;\n }\n\n var customResetPasswordPage = this.settings.get('helpLinks.forgotPassword');\n if (customResetPasswordPage) {\n Util.redirect(customResetPasswordPage);\n }\n else {\n this.options.appState.trigger('navigate', 'signin/forgot-password');\n }\n },\n 'click .js-unlock' : function (e) {\n e.preventDefault();\n if(!this.state.get('enabled')) {\n return;\n }\n\n var customUnlockPage = this.settings.get('helpLinks.unlock');\n if (customUnlockPage) {\n Util.redirect(customUnlockPage);\n }\n else {\n this.options.appState.trigger('navigate', 'signin/unlock');\n }\n }\n }\n });\n\n});\n\n\n\n// WEBPACK FOOTER //\n// ./src/views/shared/Footer.js","/**\n * \n * This file has been modified to override doPostBack\n * Check out the doPostBack function below for more details.\n * Override the doPostBack function when upgrading.\n * Unable to make a wrapper because it is invoked using an internal name within \n * this library.\n * \n * Current Verison = https://github.com/duosecurity/duo_web_sdk/blob/7aec8dd895ea4bd4549069e76076850eccfe07f2/index.js\n * PS: they dont seem to version correctly hence using commit.\n */\n\n/**\n * Duo Web SDK v2\n * Copyright 2019, Duo Security\n */\n\n(function (root, factory) {\n /*eslint-disable */\n if (typeof define === 'function' && define.amd) {\n // AMD. Register as an anonymous module.\n define([], factory);\n /*eslint-enable */\n } else if (typeof module === 'object' && module.exports) {\n // Node. Does not work with strict CommonJS, but\n // only CommonJS-like environments that support module.exports,\n // like Node.\n module.exports = factory();\n } else {\n // Browser globals (root is window)\n var Duo = factory();\n // If the Javascript was loaded via a script tag, attempt to autoload\n // the frame.\n Duo._onReady(Duo.init);\n\n // Attach Duo to the `window` object\n root.Duo = Duo;\n }\n}(this, function() {\n var DUO_MESSAGE_FORMAT = /^(?:AUTH|ENROLL)+\\|[A-Za-z0-9\\+\\/=]+\\|[A-Za-z0-9\\+\\/=]+$/;\n var DUO_ERROR_FORMAT = /^ERR\\|[\\w\\s\\.\\(\\)]+$/;\n var DUO_OPEN_WINDOW_FORMAT = /^DUO_OPEN_WINDOW\\|/;\n var VALID_OPEN_WINDOW_DOMAINS = [\n 'duo.com',\n 'duosecurity.com',\n 'duomobile.s3-us-west-1.amazonaws.com'\n ];\n\n var postAction,\n postArgument,\n host,\n sigRequest,\n duoSig,\n appSig,\n iframe,\n submitCallback;\n\n // We use this function instead of setting initial values in the var\n // declarations to make sure the initial values and subsequent\n // re-initializations are always the same.\n initializeStatefulVariables();\n\n /**\n * Set local variables to whatever they should be before you call init().\n */\n function initializeStatefulVariables() {\n postAction = '';\n postArgument = 'sig_response';\n host = undefined;\n sigRequest = undefined;\n duoSig = undefined;\n appSig = undefined;\n iframe = undefined;\n submitCallback = undefined;\n }\n\n function throwError(message, givenUrl) {\n var url = (\n givenUrl ||\n 'https://www.duosecurity.com/docs/duoweb#3.-show-the-iframe'\n );\n throw new Error(\n 'Duo Web SDK error: ' + message +\n (url ? ('\\n' + 'See ' + url + ' for more information') : '')\n );\n }\n\n function hyphenize(str) {\n return str.replace(/([a-z])([A-Z])/, '$1-$2').toLowerCase();\n }\n\n // cross-browser data attributes\n function getDataAttribute(element, name) {\n if ('dataset' in element) {\n return element.dataset[name];\n } else {\n return element.getAttribute('data-' + hyphenize(name));\n }\n }\n\n // cross-browser event binding/unbinding\n function on(context, event, fallbackEvent, callback) {\n if ('addEventListener' in window) {\n context.addEventListener(event, callback, false);\n } else {\n context.attachEvent(fallbackEvent, callback);\n }\n }\n\n function off(context, event, fallbackEvent, callback) {\n if ('removeEventListener' in window) {\n context.removeEventListener(event, callback, false);\n } else {\n context.detachEvent(fallbackEvent, callback);\n }\n }\n\n function onReady(callback) {\n on(document, 'DOMContentLoaded', 'onreadystatechange', callback);\n }\n\n function offReady(callback) {\n off(document, 'DOMContentLoaded', 'onreadystatechange', callback);\n }\n\n function onMessage(callback) {\n on(window, 'message', 'onmessage', callback);\n }\n\n function offMessage(callback) {\n off(window, 'message', 'onmessage', callback);\n }\n\n /**\n * Parse the sig_request parameter, throwing errors if the token contains\n * a server error or if the token is invalid.\n *\n * @param {String} sig Request token\n */\n function parseSigRequest(sig) {\n if (!sig) {\n // nothing to do\n return;\n }\n\n // see if the token contains an error, throwing it if it does\n if (sig.indexOf('ERR|') === 0) {\n throwError(sig.split('|')[1]);\n }\n\n // validate the token\n if (sig.indexOf(':') === -1 || sig.split(':').length !== 2) {\n throwError(\n 'Duo was given a bad token. This might indicate a configuration ' +\n 'problem with one of Duo\\'s client libraries.'\n );\n }\n\n var sigParts = sig.split(':');\n\n // hang on to the token, and the parsed duo and app sigs\n sigRequest = sig;\n duoSig = sigParts[0];\n appSig = sigParts[1];\n\n return {\n sigRequest: sig,\n duoSig: sigParts[0],\n appSig: sigParts[1]\n };\n }\n\n /**\n * Validate that a MessageEvent came from the Duo service, and that it\n * is a properly formatted payload.\n *\n * The Google Chrome sign-in page injects some JS into pages that also\n * make use of postMessage, so we need to do additional validation above\n * and beyond the origin.\n *\n * @param {MessageEvent} event Message received via postMessage\n */\n function isDuoMessage(event) {\n return Boolean(\n event.origin === ('https://' + host) &&\n typeof event.data === 'string' &&\n (\n event.data.match(DUO_MESSAGE_FORMAT) ||\n event.data.match(DUO_ERROR_FORMAT) ||\n event.data.match(DUO_OPEN_WINDOW_FORMAT)\n )\n );\n }\n\n /**\n * Validate the request token and prepare for the iframe to become ready.\n *\n * All options below can be passed into an options hash to `Duo.init`, or\n * specified on the iframe using `data-` attributes.\n *\n * Options specified using the options hash will take precedence over\n * `data-` attributes.\n *\n * Example using options hash:\n * ```javascript\n * Duo.init({\n * iframe: \"some_other_id\",\n * host: \"api-main.duo.test\",\n * sig_request: \"...\",\n * post_action: \"/auth\",\n * post_argument: \"resp\"\n * });\n * ```\n *\n * Example using `data-` attributes:\n * ```html\n * <iframe id=\"duo_iframe\"\n * data-host=\"api-main.duo.test\"\n * data-sig-request=\"...\"\n * data-post-action=\"/auth\"\n * data-post-argument=\"resp\"\n * >\n * </iframe>\n * ```\n *\n * Some browsers (especially embedded browsers) don't like it when the Duo\n * Web SDK changes the `src` attribute on the iframe. To prevent this, there\n * is an alternative way to use the Duo Web SDK:\n *\n * Add a div (or any other container element) instead of an iframe to the\n * DOM with an id of \"duo_iframe\", or pass that element to the\n * `iframeContainer` parameter of `Duo.init`. An iframe will be created and\n * inserted into that container element, preventing `src` change related\n * bugs. WARNING: All other elements in the container will be deleted.\n *\n * The `iframeAttributes` parameter of `Duo.init` is available to set any\n * attributes on the inserted iframe if the Duo Web SDK is inserting the\n * iframe. For details, see the parameter documentation below.\n *\n * @param {Object} options\n * @param {String} options.host - Hostname for the Duo Prompt.\n * @param {String} options.sig_request - Request token.\n * @param {String|HTMLElement} [options.iframe] - The iframe, or id of an\n * iframe that will be used for the Duo Prompt. If you don't provide\n * this or the `iframeContainer` parameter the Duo Web SDK will default\n * to using whatever element has an id of \"duo_iframe\".\n * @param {String|HTMLElement} [options.iframeContainer] - The element you\n * want the Duo Prompt inserted into, or the id of that element.\n * Anything inside this element will be deleted and replaced with an\n * iframe hosting the Duo prompt. If you don't provide this or the\n * `iframe` parameter the Duo Web SDK will default to using whatever\n * element has an id of \"duo_iframe\".\n * @param {Object} [options.iframeAttributes] - Object with names and\n * values coresponding to attributes you want added to the Duo Prompt\n * iframe, like `title`, `width` and `allow`. WARNING: this parameter\n * only works if you use the `iframeContainer` parameter or add an id\n * of \"duo_iframe\" to an element that isn't an iframe. If you have\n * added an iframe to the DOM yourself, you should set those attributes\n * directly on the iframe.\n * @param {String} [options.post_action=''] - URL to POST back to after a\n * successful auth.\n * @param {String} [options.post_argument='sig_response'] - Parameter name\n * to use for response token.\n * @param {Function} [options.submit_callback] - If provided, the Duo Web\n * SDK will not submit the form. Instead it will execute this callback\n * function passing in a reference to the \"duo_form\" form object.\n * `submit_callback`` can be used to prevent the webpage from reloading.\n */\n function init(options) {\n // If init() is called more than once we have to reset all the local\n // variables to ensure init() will work the same way every time. This\n // helps people making single page applications. SPAs may periodically\n // remove the iframe and add a new one that has to be initialized.\n initializeStatefulVariables();\n\n if (options) {\n if (options.host) {\n host = options.host;\n }\n\n if (options.sig_request) {\n parseSigRequest(options.sig_request);\n }\n\n if (options.post_action) {\n postAction = options.post_action;\n }\n\n if (options.post_argument) {\n postArgument = options.post_argument;\n }\n\n if (typeof options.submit_callback === 'function') {\n submitCallback = options.submit_callback;\n }\n }\n\n var promptElement = getPromptElement(options);\n if (promptElement) {\n // If we can get the element that will host the prompt, set it.\n ready(promptElement, options.iframeAttributes || {});\n } else {\n // If the element that will host the prompt isn't available yet, set\n // it up after the DOM finishes loading.\n asyncReady(options);\n }\n\n // always clean up after yourself!\n offReady(init);\n }\n\n /**\n * Given the options from init(), get the iframe or iframe container that\n * should be used for the Duo Prompt. Returns `null` if nothing was found.\n */\n function getPromptElement(options) {\n var result;\n\n if (options.iframe && options.iframeContainer) {\n throwError(\n 'Passing both `iframe` and `iframeContainer` arguments at the' +\n ' same time is not allowed.'\n );\n } else if (options.iframe) {\n // If we are getting an iframe, try to get it and raise if the\n // element we find is NOT an iframe.\n result = getUserDefinedElement(options.iframe);\n validateIframe(result);\n } else if (options.iframeContainer) {\n result = getUserDefinedElement(options.iframeContainer);\n validateIframeContainer(result);\n } else {\n result = document.getElementById('duo_iframe');\n }\n\n return result;\n }\n\n /**\n * When given an HTMLElement, return it. When given a string, get an element\n * with that id, else return null.\n */\n function getUserDefinedElement(object) {\n if (object.tagName) {\n return object;\n } else if (typeof object == 'string') {\n return document.getElementById(object);\n }\n return null;\n }\n\n /**\n * Check if the given thing is an iframe.\n */\n function isIframe(element) {\n return (\n element &&\n element.tagName &&\n element.tagName.toLowerCase() === 'iframe'\n );\n }\n\n /**\n * Throw an error if we are given an element that is NOT an iframe.\n */\n function validateIframe(element) {\n if (element && !isIframe(element)) {\n throwError(\n '`iframe` only accepts an iframe element or the id of an' +\n ' iframe. To use a non-iframe element, use the' +\n ' `iframeContainer` argument.'\n );\n }\n }\n\n /**\n * Throw an error if we are given an element that IS an iframe instead of an\n * element that we can insert an iframe into.\n */\n function validateIframeContainer(element) {\n if (element && isIframe(element)) {\n throwError(\n '`iframeContainer` only accepts a non-iframe element or the' +\n ' id of a non-iframe. To use a non-iframe element, use the' +\n ' `iframeContainer` argument on Duo.init().'\n );\n }\n }\n\n /**\n * Generate the URL that goes to the Duo Prompt.\n */\n function generateIframeSrc() {\n return [\n 'https://', host, '/frame/web/v1/auth?tx=', duoSig,\n '&parent=', encodeURIComponent(document.location.href),\n '&v=2.8'\n ].join('');\n }\n\n /**\n * This function is called when a message was received from another domain\n * using the `postMessage` API. Check that the event came from the Duo\n * service domain, and that the message is a properly formatted payload,\n * then perform the post back to the primary service.\n *\n * @param event Event object (contains origin and data)\n */\n function onReceivedMessage(event) {\n if (isDuoMessage(event)) {\n if (event.data.match(DUO_OPEN_WINDOW_FORMAT)) {\n var url = event.data.substring(\"DUO_OPEN_WINDOW|\".length);\n if (isValidUrlToOpen(url)) {\n // Open the URL that comes after the DUO_WINDOW_OPEN token.\n window.open(url, \"_self\");\n }\n }\n else {\n // the event came from duo, do the post back\n doPostBack(event.data);\n\n // always clean up after yourself!\n offMessage(onReceivedMessage);\n }\n }\n }\n\n /**\n * Validate that this passed in URL is one that we will actually allow to\n * be opened.\n * @param url String URL that the message poster wants to open\n * @returns {boolean} true if we allow this url to be opened in the window\n */\n function isValidUrlToOpen(url) {\n if (!url) {\n return false;\n }\n\n var parser = document.createElement('a');\n parser.href = url;\n\n if (parser.protocol === \"duotrustedendpoints:\") {\n return true;\n } else if (parser.protocol !== \"https:\") {\n return false;\n }\n\n for (var i = 0; i < VALID_OPEN_WINDOW_DOMAINS.length; i++) {\n if (parser.hostname.endsWith(\".\" + VALID_OPEN_WINDOW_DOMAINS[i]) ||\n parser.hostname === VALID_OPEN_WINDOW_DOMAINS[i]) {\n return true;\n }\n }\n return false;\n }\n\n /**\n * Register a callback to call ready() after the DOM has loaded.\n */\n function asyncReady(options) {\n var callback = function() {\n var promptElement = getPromptElement(options);\n if (!promptElement) {\n throwError(\n 'This page does not contain an iframe for Duo to use.' +\n ' Add an element like' +\n ' <iframe id=\"duo_iframe\"></iframe> to this page.'\n );\n }\n\n ready(promptElement, options.iframeAttributes || {});\n\n // Always clean up after yourself.\n offReady(callback)\n };\n\n onReady(callback);\n }\n\n /**\n * Point the iframe at Duo, then wait for it to postMessage back to us.\n */\n function ready(promptElement, iframeAttributes) {\n if (!host) {\n host = getDataAttribute(promptElement, 'host');\n\n if (!host) {\n throwError(\n 'No API hostname is given for Duo to use. Be sure to pass ' +\n 'a `host` parameter to Duo.init, or through the `data-host` ' +\n 'attribute on the iframe element.'\n );\n }\n }\n\n if (!duoSig || !appSig) {\n parseSigRequest(getDataAttribute(promptElement, 'sigRequest'));\n\n if (!duoSig || !appSig) {\n throwError(\n 'No valid signed request is given. Be sure to give the ' +\n '`sig_request` parameter to Duo.init, or use the ' +\n '`data-sig-request` attribute on the iframe element.'\n );\n }\n }\n\n // if postAction/Argument are defaults, see if they are specified\n // as data attributes on the iframe\n if (postAction === '') {\n postAction = getDataAttribute(promptElement, 'postAction') || postAction;\n }\n\n if (postArgument === 'sig_response') {\n postArgument = getDataAttribute(promptElement, 'postArgument') || postArgument;\n }\n\n if (isIframe(promptElement)) {\n iframe = promptElement;\n iframe.src = generateIframeSrc();\n } else {\n // If given a container to put an iframe in, clean out any children\n // child elements in case `init()` was called more than once.\n while (promptElement.firstChild) {\n // We call `removeChild()` instead of doing `innerHTML = \"\"`\n // to make sure we unbind any events.\n promptElement.removeChild(promptElement.firstChild)\n }\n\n iframe = document.createElement('iframe');\n\n // Set the src and all other attributes on the new iframe.\n iframeAttributes['src'] = generateIframeSrc();\n for (var name in iframeAttributes) {\n iframe.setAttribute(name, iframeAttributes[name]);\n }\n\n promptElement.appendChild(iframe);\n }\n\n // listen for the 'message' event\n onMessage(onReceivedMessage);\n }\n\n /**\n * We received a postMessage from Duo. POST back to the primary service\n * with the response token, and any additional user-supplied parameters\n * given in form#duo_form.\n */\n // function doPostBack(response) {\n // // create a hidden input to contain the response token\n // var input = document.createElement('input');\n // input.type = 'hidden';\n // input.name = postArgument;\n // input.value = response + ':' + appSig;\n\n // // user may supply their own form with additional inputs\n // var form = document.getElementById('duo_form');\n\n // // if the form doesn't exist, create one\n // if (!form) {\n // form = document.createElement('form');\n\n // // insert the new form after the iframe\n // iframe.parentElement.insertBefore(form, iframe.nextSibling);\n // }\n\n // // make sure we are actually posting to the right place\n // form.method = 'POST';\n // form.action = postAction;\n\n // // add the response token input to the form\n // form.appendChild(input);\n\n // // away we go!\n // if (typeof submitCallback === \"function\") {\n // submitCallback.call(null, form);\n // } else {\n // form.submit();\n // }\n // }\n\n // OKTA: Overriding their doPostBack logic because we want to submit this\n // through ajax, not a postBack\n function doPostBack(response) {\n postAction(response + ':' + appSig);\n }\n \n\n return {\n init: init,\n _onReady: onReady,\n _parseSigRequest: parseSigRequest,\n _isDuoMessage: isDuoMessage,\n _doPostBack: doPostBack\n };\n}));\n\n\n// WEBPACK FOOTER //\n// ./packages/duo_web_sdk/index.js","module.exports = require(\"regenerator-runtime\");\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/babel-runtime/regenerator/index.js\n// module id = 248\n// module chunks = 0","\"use strict\";\n\nexports.__esModule = true;\n\nvar _promise = require(\"../core-js/promise\");\n\nvar _promise2 = _interopRequireDefault(_promise);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = function (fn) {\n return function () {\n var gen = fn.apply(this, arguments);\n return new _promise2.default(function (resolve, reject) {\n function step(key, arg) {\n try {\n var info = gen[key](arg);\n var value = info.value;\n } catch (error) {\n reject(error);\n return;\n }\n\n if (info.done) {\n resolve(value);\n } else {\n return _promise2.default.resolve(value).then(function (value) {\n step(\"next\", value);\n }, function (err) {\n step(\"throw\", err);\n });\n }\n }\n\n return step(\"next\");\n });\n };\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/babel-runtime/helpers/asyncToGenerator.js\n// module id = 249\n// module chunks = 0","/*!\n * Copyright (c) 2020-present, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n\ndefine(['okta', 'util/Enums'], function (Okta, Enums) {\n\n const _ = Okta._;\n\n return Okta.View.extend({\n className: 'hide resend-email-infobox',\n template: '<div class=\"infobox infobox-warning\">' +\n '<span class=\"icon warning-16\"></span>' +\n '<p>' +\n '<span>{{i18n code=\"email.code.not.received\" bundle=\"login\"}}</span>'+\n '<a href=\"#\" class=\"resend-email-btn\">' +\n '{{i18n code=\"email.button.resend\" bundle=\"login\"}}'+\n '</a>' +\n '</p>' +\n '</div>',\n\n events: {\n 'click .resend-email-btn': 'resendEmail',\n },\n\n postRender: function () {\n this.showResendCallout();\n },\n\n showResendCallout: function () {\n _.delay(() => {\n this.$el.removeClass('hide');\n }, Enums.API_RATE_LIMIT);\n },\n\n hideResendCallout: function () {\n this.$el.addClass('hide');\n },\n\n resendEmail: function (e) {\n e.preventDefault();\n this.hideResendCallout();\n this.model.resend()\n .finally(this.showResendCallout.bind(this));\n },\n });\n});\n\n\n\n// WEBPACK FOOTER //\n// ./src/views/ResendEmailView.js","/*!\n * Copyright (c) 2015-2016, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n\ndefine(['okta'], function (Okta) {\n\n return Okta.View.extend({\n className: 'okta-waiting-spinner',\n attributes: {\n 'data-se': 'o-form-okta-waiting-spinner'\n },\n modelEvents: {\n 'spinner:show': 'show',\n 'spinner:hide': 'hide'\n },\n\n initialize: function (options) {\n if(options && options.visible === false){\n this.hide();\n }\n },\n\n show: function () {\n this.$el.removeClass('hide');\n },\n\n hide: function () {\n this.$el.addClass('hide');\n }\n });\n\n});\n\n\n\n// WEBPACK FOOTER //\n// ./src/views/shared/Spinner.js","\n//Copyright 2014-2015 Google Inc. All rights reserved.\n\n//Use of this source code is governed by a BSD-style\n//license that can be found in the LICENSE file or at\n//https://developers.google.com/open-source/licenses/bsd\n\n/**\n * @fileoverview The U2F api.\n */\n'use strict';\n\n(function (){\n var isChrome = 'chrome' in window && window.navigator.userAgent.indexOf('Edge') < 0;\n if ('u2f' in window || !isChrome) {\n return;\n }\n\n /** Namespace for the U2F api.\n * @type {Object}\n */\n var u2f = window.u2f = {};\n\n /**\n * FIDO U2F Javascript API Version\n * @number\n */\n var js_api_version;\n\n /**\n * The U2F extension id\n * @const {string}\n */\n // The Chrome packaged app extension ID.\n // Uncomment this if you want to deploy a server instance that uses\n // the package Chrome app and does not require installing the U2F Chrome extension.\n u2f.EXTENSION_ID = 'kmendfapggjehodndflmmgagdbamhnfd';\n // The U2F Chrome extension ID.\n // Uncomment this if you want to deploy a server instance that uses\n // the U2F Chrome extension to authenticate.\n // u2f.EXTENSION_ID = 'pfboblefjcgdjicmnffhdgionmgcdmne';\n\n\n /**\n * Message types for messsages to/from the extension\n * @const\n * @enum {string}\n */\n u2f.MessageTypes = {\n 'U2F_REGISTER_REQUEST': 'u2f_register_request',\n 'U2F_REGISTER_RESPONSE': 'u2f_register_response',\n 'U2F_SIGN_REQUEST': 'u2f_sign_request',\n 'U2F_SIGN_RESPONSE': 'u2f_sign_response',\n 'U2F_GET_API_VERSION_REQUEST': 'u2f_get_api_version_request',\n 'U2F_GET_API_VERSION_RESPONSE': 'u2f_get_api_version_response'\n };\n\n\n /**\n * Response status codes\n * @const\n * @enum {number}\n */\n u2f.ErrorCodes = {\n 'OK': 0,\n 'OTHER_ERROR': 1,\n 'BAD_REQUEST': 2,\n 'CONFIGURATION_UNSUPPORTED': 3,\n 'DEVICE_INELIGIBLE': 4,\n 'TIMEOUT': 5\n };\n\n\n /**\n * A message for registration requests\n * @typedef {{\n * type: u2f.MessageTypes,\n * appId: ?string,\n * timeoutSeconds: ?number,\n * requestId: ?number\n * }}\n */\n u2f.U2fRequest;\n\n\n /**\n * A message for registration responses\n * @typedef {{\n * type: u2f.MessageTypes,\n * responseData: (u2f.Error | u2f.RegisterResponse | u2f.SignResponse),\n * requestId: ?number\n * }}\n */\n u2f.U2fResponse;\n\n\n /**\n * An error object for responses\n * @typedef {{\n * errorCode: u2f.ErrorCodes,\n * errorMessage: ?string\n * }}\n */\n u2f.Error;\n\n /**\n * Data object for a single sign request.\n * @typedef {enum {BLUETOOTH_RADIO, BLUETOOTH_LOW_ENERGY, USB, NFC}}\n */\n u2f.Transport;\n\n\n /**\n * Data object for a single sign request.\n * @typedef {Array<u2f.Transport>}\n */\n u2f.Transports;\n\n /**\n * Data object for a single sign request.\n * @typedef {{\n * version: string,\n * challenge: string,\n * keyHandle: string,\n * appId: string\n * }}\n */\n u2f.SignRequest;\n\n\n /**\n * Data object for a sign response.\n * @typedef {{\n * keyHandle: string,\n * signatureData: string,\n * clientData: string\n * }}\n */\n u2f.SignResponse;\n\n\n /**\n * Data object for a registration request.\n * @typedef {{\n * version: string,\n * challenge: string\n * }}\n */\n u2f.RegisterRequest;\n\n\n /**\n * Data object for a registration response.\n * @typedef {{\n * version: string,\n * keyHandle: string,\n * transports: Transports,\n * appId: string\n * }}\n */\n u2f.RegisterResponse;\n\n\n /**\n * Data object for a registered key.\n * @typedef {{\n * version: string,\n * keyHandle: string,\n * transports: ?Transports,\n * appId: ?string\n * }}\n */\n u2f.RegisteredKey;\n\n\n /**\n * Data object for a get API register response.\n * @typedef {{\n * js_api_version: number\n * }}\n */\n u2f.GetJsApiVersionResponse;\n\n\n //Low level MessagePort API support\n\n /**\n * Sets up a MessagePort to the U2F extension using the\n * available mechanisms.\n * @param {function((MessagePort|u2f.WrappedChromeRuntimePort_))} callback\n */\n u2f.getMessagePort = function(callback) {\n if (typeof chrome != 'undefined' && chrome.runtime) {\n // The actual message here does not matter, but we need to get a reply\n // for the callback to run. Thus, send an empty signature request\n // in order to get a failure response.\n var msg = {\n type: u2f.MessageTypes.U2F_SIGN_REQUEST,\n signRequests: []\n };\n chrome.runtime.sendMessage(u2f.EXTENSION_ID, msg, function() {\n if (!chrome.runtime.lastError) {\n // We are on a whitelisted origin and can talk directly\n // with the extension.\n u2f.getChromeRuntimePort_(callback);\n } else {\n // chrome.runtime was available, but we couldn't message\n // the extension directly, use iframe\n u2f.getIframePort_(callback);\n }\n });\n } else if (u2f.isAndroidChrome_()) {\n u2f.getAuthenticatorPort_(callback);\n } else if (u2f.isIosChrome_()) {\n u2f.getIosPort_(callback);\n } else {\n // chrome.runtime was not available at all, which is normal\n // when this origin doesn't have access to any extensions.\n u2f.getIframePort_(callback);\n }\n };\n\n /**\n * Detect chrome running on android based on the browser's useragent.\n * @private\n */\n u2f.isAndroidChrome_ = function() {\n var userAgent = navigator.userAgent;\n return userAgent.indexOf('Chrome') != -1 &&\n userAgent.indexOf('Android') != -1;\n };\n\n /**\n * Detect chrome running on iOS based on the browser's platform.\n * @private\n */\n u2f.isIosChrome_ = function() {\n return [\"iPhone\", \"iPad\", \"iPod\"].indexOf(navigator.platform) > -1;\n };\n\n /**\n * Connects directly to the extension via chrome.runtime.connect.\n * @param {function(u2f.WrappedChromeRuntimePort_)} callback\n * @private\n */\n u2f.getChromeRuntimePort_ = function(callback) {\n var port = chrome.runtime.connect(u2f.EXTENSION_ID,\n {'includeTlsChannelId': true});\n setTimeout(function() {\n callback(new u2f.WrappedChromeRuntimePort_(port));\n }, 0);\n };\n\n /**\n * Return a 'port' abstraction to the Authenticator app.\n * @param {function(u2f.WrappedAuthenticatorPort_)} callback\n * @private\n */\n u2f.getAuthenticatorPort_ = function(callback) {\n setTimeout(function() {\n callback(new u2f.WrappedAuthenticatorPort_());\n }, 0);\n };\n\n /**\n * Return a 'port' abstraction to the iOS client app.\n * @param {function(u2f.WrappedIosPort_)} callback\n * @private\n */\n u2f.getIosPort_ = function(callback) {\n setTimeout(function() {\n callback(new u2f.WrappedIosPort_());\n }, 0);\n };\n\n /**\n * A wrapper for chrome.runtime.Port that is compatible with MessagePort.\n * @param {Port} port\n * @constructor\n * @private\n */\n u2f.WrappedChromeRuntimePort_ = function(port) {\n this.port_ = port;\n };\n\n /**\n * Format and return a sign request compliant with the JS API version supported by the extension.\n * @param {Array<u2f.SignRequest>} signRequests\n * @param {number} timeoutSeconds\n * @param {number} reqId\n * @return {Object}\n */\n u2f.formatSignRequest_ =\n function(appId, challenge, registeredKeys, timeoutSeconds, reqId) {\n if (js_api_version === undefined || js_api_version < 1.1) {\n // Adapt request to the 1.0 JS API\n var signRequests = [];\n for (var i = 0; i < registeredKeys.length; i++) {\n signRequests[i] = {\n version: registeredKeys[i].version,\n challenge: challenge,\n keyHandle: registeredKeys[i].keyHandle,\n appId: appId\n };\n }\n return {\n type: u2f.MessageTypes.U2F_SIGN_REQUEST,\n signRequests: signRequests,\n timeoutSeconds: timeoutSeconds,\n requestId: reqId\n };\n }\n // JS 1.1 API\n return {\n type: u2f.MessageTypes.U2F_SIGN_REQUEST,\n appId: appId,\n challenge: challenge,\n registeredKeys: registeredKeys,\n timeoutSeconds: timeoutSeconds,\n requestId: reqId\n };\n };\n\n /**\n * Format and return a register request compliant with the JS API version supported by the extension..\n * @param {Array<u2f.SignRequest>} signRequests\n * @param {Array<u2f.RegisterRequest>} signRequests\n * @param {number} timeoutSeconds\n * @param {number} reqId\n * @return {Object}\n */\n u2f.formatRegisterRequest_ =\n function(appId, registeredKeys, registerRequests, timeoutSeconds, reqId) {\n if (js_api_version === undefined || js_api_version < 1.1) {\n // Adapt request to the 1.0 JS API\n for (var i = 0; i < registerRequests.length; i++) {\n registerRequests[i].appId = appId;\n }\n var signRequests = [];\n for (var i = 0; i < registeredKeys.length; i++) {\n signRequests[i] = {\n version: registeredKeys[i].version,\n challenge: registerRequests[0],\n keyHandle: registeredKeys[i].keyHandle,\n appId: appId\n };\n }\n return {\n type: u2f.MessageTypes.U2F_REGISTER_REQUEST,\n signRequests: signRequests,\n registerRequests: registerRequests,\n timeoutSeconds: timeoutSeconds,\n requestId: reqId\n };\n }\n // JS 1.1 API\n return {\n type: u2f.MessageTypes.U2F_REGISTER_REQUEST,\n appId: appId,\n registerRequests: registerRequests,\n registeredKeys: registeredKeys,\n timeoutSeconds: timeoutSeconds,\n requestId: reqId\n };\n };\n\n\n /**\n * Posts a message on the underlying channel.\n * @param {Object} message\n */\n u2f.WrappedChromeRuntimePort_.prototype.postMessage = function(message) {\n this.port_.postMessage(message);\n };\n\n\n /**\n * Emulates the HTML 5 addEventListener interface. Works only for the\n * onmessage event, which is hooked up to the chrome.runtime.Port.onMessage.\n * @param {string} eventName\n * @param {function({data: Object})} handler\n */\n u2f.WrappedChromeRuntimePort_.prototype.addEventListener =\n function(eventName, handler) {\n var name = eventName.toLowerCase();\n if (name == 'message' || name == 'onmessage') {\n this.port_.onMessage.addListener(function(message) {\n // Emulate a minimal MessageEvent object\n handler({'data': message});\n });\n } else {\n console.error('WrappedChromeRuntimePort only supports onMessage');\n }\n };\n\n /**\n * Wrap the Authenticator app with a MessagePort interface.\n * @constructor\n * @private\n */\n u2f.WrappedAuthenticatorPort_ = function() {\n this.requestId_ = -1;\n this.requestObject_ = null;\n }\n\n /**\n * Launch the Authenticator intent.\n * @param {Object} message\n */\n u2f.WrappedAuthenticatorPort_.prototype.postMessage = function(message) {\n var intentUrl =\n u2f.WrappedAuthenticatorPort_.INTENT_URL_BASE_ +\n ';S.request=' + encodeURIComponent(JSON.stringify(message)) +\n ';end';\n document.location = intentUrl;\n };\n\n /**\n * Tells what type of port this is.\n * @return {String} port type\n */\n u2f.WrappedAuthenticatorPort_.prototype.getPortType = function() {\n return \"WrappedAuthenticatorPort_\";\n };\n\n\n /**\n * Emulates the HTML 5 addEventListener interface.\n * @param {string} eventName\n * @param {function({data: Object})} handler\n */\n u2f.WrappedAuthenticatorPort_.prototype.addEventListener = function(eventName, handler) {\n var name = eventName.toLowerCase();\n if (name == 'message') {\n var self = this;\n /* Register a callback to that executes when\n * chrome injects the response. */\n window.addEventListener(\n 'message', self.onRequestUpdate_.bind(self, handler), false);\n } else {\n console.error('WrappedAuthenticatorPort only supports message');\n }\n };\n\n /**\n * Callback invoked when a response is received from the Authenticator.\n * @param function({data: Object}) callback\n * @param {Object} message message Object\n */\n u2f.WrappedAuthenticatorPort_.prototype.onRequestUpdate_ =\n function(callback, message) {\n var messageObject = JSON.parse(message.data);\n var intentUrl = messageObject['intentURL'];\n\n var errorCode = messageObject['errorCode'];\n var responseObject = null;\n if (messageObject.hasOwnProperty('data')) {\n responseObject = /** @type {Object} */ (\n JSON.parse(messageObject['data']));\n }\n\n callback({'data': responseObject});\n };\n\n /**\n * Base URL for intents to Authenticator.\n * @const\n * @private\n */\n u2f.WrappedAuthenticatorPort_.INTENT_URL_BASE_ =\n 'intent:#Intent;action=com.google.android.apps.authenticator.AUTHENTICATE';\n\n /**\n * Wrap the iOS client app with a MessagePort interface.\n * @constructor\n * @private\n */\n u2f.WrappedIosPort_ = function() {};\n\n /**\n * Launch the iOS client app request\n * @param {Object} message\n */\n u2f.WrappedIosPort_.prototype.postMessage = function(message) {\n var str = JSON.stringify(message);\n var url = \"u2f://auth?\" + encodeURI(str);\n location.replace(url);\n };\n\n /**\n * Tells what type of port this is.\n * @return {String} port type\n */\n u2f.WrappedIosPort_.prototype.getPortType = function() {\n return \"WrappedIosPort_\";\n };\n\n /**\n * Emulates the HTML 5 addEventListener interface.\n * @param {string} eventName\n * @param {function({data: Object})} handler\n */\n u2f.WrappedIosPort_.prototype.addEventListener = function(eventName, handler) {\n var name = eventName.toLowerCase();\n if (name !== 'message') {\n console.error('WrappedIosPort only supports message');\n }\n };\n\n /**\n * Sets up an embedded trampoline iframe, sourced from the extension.\n * @param {function(MessagePort)} callback\n * @private\n */\n u2f.getIframePort_ = function(callback) {\n // Create the iframe\n var iframeOrigin = 'chrome-extension://' + u2f.EXTENSION_ID;\n var iframe = document.createElement('iframe');\n iframe.src = iframeOrigin + '/u2f-comms.html';\n iframe.setAttribute('style', 'display:none');\n document.body.appendChild(iframe);\n\n var channel = new MessageChannel();\n var ready = function(message) {\n if (message.data == 'ready') {\n channel.port1.removeEventListener('message', ready);\n callback(channel.port1);\n } else {\n console.error('First event on iframe port was not \"ready\"');\n }\n };\n channel.port1.addEventListener('message', ready);\n channel.port1.start();\n\n iframe.addEventListener('load', function() {\n // Deliver the port to the iframe and initialize\n iframe.contentWindow.postMessage('init', iframeOrigin, [channel.port2]);\n });\n };\n\n\n //High-level JS API\n\n /**\n * Default extension response timeout in seconds.\n * @const\n */\n u2f.EXTENSION_TIMEOUT_SEC = 30;\n\n /**\n * A singleton instance for a MessagePort to the extension.\n * @type {MessagePort|u2f.WrappedChromeRuntimePort_}\n * @private\n */\n u2f.port_ = null;\n\n /**\n * Callbacks waiting for a port\n * @type {Array<function((MessagePort|u2f.WrappedChromeRuntimePort_))>}\n * @private\n */\n u2f.waitingForPort_ = [];\n\n /**\n * A counter for requestIds.\n * @type {number}\n * @private\n */\n u2f.reqCounter_ = 0;\n\n /**\n * A map from requestIds to client callbacks\n * @type {Object.<number,(function((u2f.Error|u2f.RegisterResponse))\n * |function((u2f.Error|u2f.SignResponse)))>}\n * @private\n */\n u2f.callbackMap_ = {};\n\n /**\n * Creates or retrieves the MessagePort singleton to use.\n * @param {function((MessagePort|u2f.WrappedChromeRuntimePort_))} callback\n * @private\n */\n u2f.getPortSingleton_ = function(callback) {\n if (u2f.port_) {\n callback(u2f.port_);\n } else {\n if (u2f.waitingForPort_.length == 0) {\n u2f.getMessagePort(function(port) {\n u2f.port_ = port;\n u2f.port_.addEventListener('message',\n /** @type {function(Event)} */ (u2f.responseHandler_));\n\n // Careful, here be async callbacks. Maybe.\n while (u2f.waitingForPort_.length)\n u2f.waitingForPort_.shift()(u2f.port_);\n });\n }\n u2f.waitingForPort_.push(callback);\n }\n };\n\n /**\n * Handles response messages from the extension.\n * @param {MessageEvent.<u2f.Response>} message\n * @private\n */\n u2f.responseHandler_ = function(message) {\n var response = message.data;\n var reqId = response['requestId'];\n if (!reqId || !u2f.callbackMap_[reqId]) {\n console.error('Unknown or missing requestId in response.');\n return;\n }\n var cb = u2f.callbackMap_[reqId];\n delete u2f.callbackMap_[reqId];\n cb(response['responseData']);\n };\n\n /**\n * Dispatches an array of sign requests to available U2F tokens.\n * If the JS API version supported by the extension is unknown, it first sends a\n * message to the extension to find out the supported API version and then it sends\n * the sign request.\n * @param {string=} appId\n * @param {string=} challenge\n * @param {Array<u2f.RegisteredKey>} registeredKeys\n * @param {function((u2f.Error|u2f.SignResponse))} callback\n * @param {number=} opt_timeoutSeconds\n */\n u2f.sign = function(appId, challenge, registeredKeys, callback, opt_timeoutSeconds) {\n if (js_api_version === undefined) {\n // Send a message to get the extension to JS API version, then send the actual sign request.\n u2f.getApiVersion(\n function (response) {\n js_api_version = response['js_api_version'] === undefined ? 0 : response['js_api_version'];\n console.log(\"Extension JS API Version: \", js_api_version);\n u2f.sendSignRequest(appId, challenge, registeredKeys, callback, opt_timeoutSeconds);\n });\n } else {\n // We know the JS API version. Send the actual sign request in the supported API version.\n u2f.sendSignRequest(appId, challenge, registeredKeys, callback, opt_timeoutSeconds);\n }\n };\n\n /**\n * Dispatches an array of sign requests to available U2F tokens.\n * @param {string=} appId\n * @param {string=} challenge\n * @param {Array<u2f.RegisteredKey>} registeredKeys\n * @param {function((u2f.Error|u2f.SignResponse))} callback\n * @param {number=} opt_timeoutSeconds\n */\n u2f.sendSignRequest = function(appId, challenge, registeredKeys, callback, opt_timeoutSeconds) {\n u2f.getPortSingleton_(function(port) {\n var reqId = ++u2f.reqCounter_;\n u2f.callbackMap_[reqId] = callback;\n var timeoutSeconds = (typeof opt_timeoutSeconds !== 'undefined' ?\n opt_timeoutSeconds : u2f.EXTENSION_TIMEOUT_SEC);\n var req = u2f.formatSignRequest_(appId, challenge, registeredKeys, timeoutSeconds, reqId);\n port.postMessage(req);\n });\n };\n\n /**\n * Dispatches register requests to available U2F tokens. An array of sign\n * requests identifies already registered tokens.\n * If the JS API version supported by the extension is unknown, it first sends a\n * message to the extension to find out the supported API version and then it sends\n * the register request.\n * @param {string=} appId\n * @param {Array<u2f.RegisterRequest>} registerRequests\n * @param {Array<u2f.RegisteredKey>} registeredKeys\n * @param {function((u2f.Error|u2f.RegisterResponse))} callback\n * @param {number=} opt_timeoutSeconds\n */\n u2f.register = function(appId, registerRequests, registeredKeys, callback, opt_timeoutSeconds) {\n if (js_api_version === undefined) {\n // Send a message to get the extension to JS API version, then send the actual register request.\n u2f.getApiVersion(\n function (response) {\n js_api_version = response['js_api_version'] === undefined ? 0: response['js_api_version'];\n console.log(\"Extension JS API Version: \", js_api_version);\n u2f.sendRegisterRequest(appId, registerRequests, registeredKeys,\n callback, opt_timeoutSeconds);\n });\n } else {\n // We know the JS API version. Send the actual register request in the supported API version.\n u2f.sendRegisterRequest(appId, registerRequests, registeredKeys,\n callback, opt_timeoutSeconds);\n }\n };\n\n /**\n * Dispatches register requests to available U2F tokens. An array of sign\n * requests identifies already registered tokens.\n * @param {string=} appId\n * @param {Array<u2f.RegisterRequest>} registerRequests\n * @param {Array<u2f.RegisteredKey>} registeredKeys\n * @param {function((u2f.Error|u2f.RegisterResponse))} callback\n * @param {number=} opt_timeoutSeconds\n */\n u2f.sendRegisterRequest = function(appId, registerRequests, registeredKeys, callback, opt_timeoutSeconds) {\n u2f.getPortSingleton_(function(port) {\n var reqId = ++u2f.reqCounter_;\n u2f.callbackMap_[reqId] = callback;\n var timeoutSeconds = (typeof opt_timeoutSeconds !== 'undefined' ?\n opt_timeoutSeconds : u2f.EXTENSION_TIMEOUT_SEC);\n var req = u2f.formatRegisterRequest_(\n appId, registeredKeys, registerRequests, timeoutSeconds, reqId);\n port.postMessage(req);\n });\n };\n\n\n /**\n * Dispatches a message to the extension to find out the supported\n * JS API version.\n * If the user is on a mobile phone and is thus using Google Authenticator instead\n * of the Chrome extension, don't send the request and simply return 0.\n * @param {function((u2f.Error|u2f.GetJsApiVersionResponse))} callback\n * @param {number=} opt_timeoutSeconds\n */\n u2f.getApiVersion = function(callback, opt_timeoutSeconds) {\n u2f.getPortSingleton_(function(port) {\n // If we are using Android Google Authenticator or iOS client app,\n // do not fire an intent to ask which JS API version to use.\n if (port.getPortType) {\n var apiVersion;\n switch (port.getPortType()) {\n case 'WrappedIosPort_':\n case 'WrappedAuthenticatorPort_':\n apiVersion = 1.1;\n break;\n\n default:\n apiVersion = 0;\n break;\n }\n callback({ 'js_api_version': apiVersion });\n return;\n }\n var reqId = ++u2f.reqCounter_;\n u2f.callbackMap_[reqId] = callback;\n var req = {\n type: u2f.MessageTypes.U2F_GET_API_VERSION_REQUEST,\n timeoutSeconds: (typeof opt_timeoutSeconds !== 'undefined' ?\n opt_timeoutSeconds : u2f.EXTENSION_TIMEOUT_SEC),\n requestId: reqId\n };\n port.postMessage(req);\n });\n };\n})();\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/u2f-api-polyfill/u2f-api-polyfill.js\n// module id = 252\n// module chunks = 0","/*!\n * Copyright (c) 2015-2016, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n\ndefine([\n 'okta',\n 'util/RouterUtil',\n 'util/FactorUtil'\n], function (Okta, RouterUtil, FactorUtil) {\n\n var _ = Okta._,\n cardinalityTextTpl = Okta.tpl('<span class=\"factor-cardinality\">{{cardinalityText}}</span>');\n\n var FactorRow = Okta.View.extend({\n className: 'enroll-factor-row clearfix',\n\n template: '\\\n <div class=\"enroll-factor-icon-container\">\\\n <div class=\"factor-icon enroll-factor-icon {{iconClassName}}\">\\\n </div>\\\n </div>\\\n <div class=\"enroll-factor-description\">\\\n <h3 class=\"enroll-factor-label\">{{factorLabel}}</h3>\\\n {{#if factorDescription}}\\\n <p>{{factorDescription}}</p>\\\n {{/if}}\\\n <div class=\"enroll-factor-button\"></div>\\\n </div>\\\n ',\n\n attributes: function () {\n return { 'data-se': this.model.get('factorName') };\n },\n\n children: function () {\n var children = [],\n enrolled = this.model.get('enrolled'),\n required = this.model.get('required'),\n cardinality = this.model.get('cardinality');\n\n if (this.options.showInlineSetupButton) {\n return [[Okta.createButton({\n className: 'button',\n title: this.getSetupButtonText(),\n click: function () {\n this.options.appState.trigger('navigate', RouterUtil.createEnrollFactorUrl(\n this.model.get('provider'),\n this.model.get('factorType')\n ));\n }\n }), '.enroll-factor-button']];\n }\n else if (enrolled) {\n children.push(['<span class=\"icon success-16-green\"></span>', '.enroll-factor-label']);\n }\n else if (required) {\n children.push(['<span class=\"icon success-16-gray\"></span>', '.enroll-factor-label']);\n }\n\n var cardinalityText = FactorUtil.getCardinalityText(enrolled, required, cardinality);\n if (cardinalityText) {\n children.push([cardinalityTextTpl({cardinalityText: cardinalityText}), '.enroll-factor-description']);\n }\n return children;\n },\n\n minimize: function () {\n this.$el.addClass('enroll-factor-row-min');\n },\n\n maximize: function () {\n this.$el.removeClass('enroll-factor-row-min');\n },\n\n getSetupButtonText: function () {\n return this.model.get('additionalEnrollment') ? Okta.loc('enroll.choices.setup.another', 'login')\n : Okta.loc('enroll.choices.setup', 'login');\n }\n });\n\n return Okta.ListView.extend({\n\n className: 'enroll-factor-list',\n\n item: FactorRow,\n\n itemSelector: '.list-content',\n\n template: '\\\n {{#if listTitle}}\\\n <div class=\"list-title\">{{listTitle}}</div>\\\n {{/if}}\\\n <div class=\"list-content\"></div>\\\n ',\n\n getTemplateData: function () {\n var json = Okta.ListView.prototype.getTemplateData.call(this);\n _.extend(json, this);\n return json;\n },\n\n postRender: function () {\n if (this.options.minimize) {\n this.invoke('minimize');\n }\n }\n\n });\n\n});\n\n\n\n// WEBPACK FOOTER //\n// ./src/views/enroll-choices/FactorList.js","/*!\n * Copyright (c) 2015-2016, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n\ndefine([\n 'okta'\n],\nfunction (Okta, ) {\n\n var _ = Okta._;\n var { TextBox } = Okta.internal.views.forms.inputs;\n\n return TextBox.extend({\n\n template: Okta.tpl('\\\n <span class=\"okta-form-label-inline o-form-label-inline\">{{countryCallingCode}}</span>\\\n <span class=\"okta-form-input-field input-fix o-form-control\">\\\n <input type=\"{{type}}\" placeholder=\"{{placeholder}}\" name=\"{{name}}\" \\\n id=\"{{inputId}}\" value=\"{{value}}\" autocomplete=\"off\"/>\\\n </span>\\\n '),\n\n initialize: function () {\n this.listenTo(this.model, 'change:countryCallingCode', function () {\n this.$('.o-form-label-inline').text(this.model.get('countryCallingCode'));\n });\n },\n\n preRender: function () {\n this.options.countryCallingCode = this.model.get('countryCallingCode');\n },\n\n postRender: function () {\n // This is a hack - once inputGroups are done, get rid of it!!\n this.$el.removeClass('input-fix o-form-control');\n _.defer(_.bind(function () {\n this.$el.parent().addClass('o-form-input-group');\n }, this));\n }\n\n });\n\n});\n\n\n\n// WEBPACK FOOTER //\n// ./src/views/enroll-factors/PhoneTextBox.js","/*!\n * Copyright (c) 2018-2019, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n\ndefine([\n 'okta',\n 'util/FormController',\n 'views/enroll-factors/Footer'\n],\nfunction (Okta, FormController, Footer) {\n\n var _ = Okta._;\n var { Util } = Okta.internal.util;\n\n return FormController.extend({\n className: 'enroll-custom-factor',\n Model: {\n local: {\n provider: 'string',\n factorType: 'string'\n },\n save: function () {\n return this.manageTransaction((transaction, setTransaction) => {\n var factor = _.findWhere(transaction.factors, {\n provider: this.get('provider'),\n factorType: this.get('factorType')\n });\n return factor.enroll()\n .then((trans) => {\n setTransaction(trans);\n var url = this.appState.get('enrollCustomFactorRedirectUrl');\n if(url !== null) {\n Util.redirect(url);\n }\n })\n .fail(function (err) {\n throw err;\n });\n });\n }\n },\n\n Form: function () {\n var factors = this.options.appState.get('factors');\n var factor = factors.findWhere({\n provider: this.options.provider,\n factorType: this.options.factorType\n });\n var vendorName = factor.get('vendorName');\n var subtitle = Okta.loc('enroll.customFactor.subtitle', 'login', [vendorName]);\n var saveText = Okta.loc('enroll.customFactor.save', 'login');\n return {\n autoSave: true,\n title: vendorName,\n subtitle: subtitle,\n save: saveText,\n };\n },\n\n trapAuthResponse: function () {\n if (this.options.appState.get('isMfaEnrollActivate')) {\n return true;\n }\n },\n\n initialize: function () {\n this.model.set('provider', this.options.provider);\n this.model.set('factorType', this.options.factorType);\n },\n\n Footer: Footer\n\n });\n\n});\n\n\n\n// WEBPACK FOOTER //\n// ./src/EnrollCustomFactorController.js","/* eslint max-statements: [2, 22], complexity: [2, 12] */\n\n/*!\n * Copyright (c) 2015-2016, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n\ndefine([\n 'okta',\n 'q',\n 'util/Errors',\n 'util/BrowserFeatures',\n 'util/Util',\n 'util/Logger',\n 'config/config.json'\n],\nfunction (Okta, Q, Errors, BrowserFeatures, Util, Logger, config) {\n\n var SharedUtil = Okta.internal.util.Util;\n\n var DEFAULT_LANGUAGE = 'en';\n\n var supportedIdps = ['facebook', 'google', 'linkedin', 'microsoft'],\n supportedResponseTypes = ['token', 'id_token', 'code'],\n oauthRedirectTpl = Okta.tpl('{{origin}}');\n\n var _ = Okta._,\n ConfigError = Errors.ConfigError,\n UnsupportedBrowserError = Errors.UnsupportedBrowserError;\n\n var assetBaseUrlTpl = Okta.tpl(\n 'https://ok1static.oktacdn.com/assets/js/sdk/okta-signin-widget/{{version}}'\n );\n\n return Okta.Model.extend({\n\n flat: true,\n authClient: undefined,\n\n local: {\n 'baseUrl': ['string', true],\n 'recoveryToken': ['string', false, undefined],\n 'stateToken': ['string', false, undefined],\n 'username' : ['string', false],\n 'signOutLink': ['string', false],\n 'relayState': ['string', false],\n\n // Function to transform the username before passing it to the API\n // for Primary Auth, Forgot Password and Unlock Account.\n 'transformUsername' : ['function', false],\n\n // CALLBACKS\n 'globalSuccessFn': 'function',\n 'globalErrorFn': 'function',\n 'processCreds': 'function',\n\n // IMAGES\n 'logo': 'string',\n 'logoText' : ['string', false],\n 'helpSupportNumber': 'string',\n\n // FEATURES\n 'features.router': ['boolean', true, false],\n 'features.securityImage': ['boolean', true, false],\n 'features.rememberMe': ['boolean', true, true],\n 'features.autoPush': ['boolean', true, false],\n 'features.smsRecovery': ['boolean', true, false],\n 'features.callRecovery': ['boolean', true, false],\n 'features.emailRecovery': ['boolean', false, true],\n 'features.webauthn': ['boolean', true, false],\n 'features.selfServiceUnlock': ['boolean', true, false],\n 'features.multiOptionalFactorEnroll': ['boolean', true, false],\n 'features.preventBrowserFromSavingOktaPassword': ['boolean', true, true],\n 'features.deviceFingerprinting': ['boolean', false, false],\n 'features.hideSignOutLinkInMFA' : ['boolean', false, false],\n 'features.hideBackToSignInForReset' : ['boolean', false, false],\n 'features.customExpiredPassword': ['boolean', true, false],\n 'features.registration': ['boolean', false, false],\n 'features.consent': ['boolean', false, false],\n 'features.idpDiscovery': ['boolean', false, false],\n 'features.passwordlessAuth': ['boolean', false, false],\n 'features.showPasswordToggleOnSignInPage': ['boolean', false, false],\n 'features.trackTypingPattern': ['boolean', false, false],\n 'features.redirectByFormSubmit': ['boolean', false, false],\n 'features.useDeviceFingerprintForSecurityImage': ['boolean', false, true],\n 'features.restrictRedirectToForeground': ['boolean', true, false],\n 'features.hideDefaultTip': ['boolean', false, true],\n\n // I18N\n 'language': ['any', false], // Can be a string or a function\n 'i18n': ['object', false],\n\n // ASSETS\n 'assets.baseUrl': ['string', false],\n 'assets.rewrite': {\n type: 'function',\n value: _.identity\n },\n\n // OAUTH2\n 'authScheme': ['string', false, 'OAUTH2'],\n 'authParams.display': {\n type: 'string',\n values: ['none', 'popup', 'page']\n },\n\n // Note: It shouldn't be necessary to override/pass in this property -\n // it will be set correctly depending on what the value of display is\n // and whether we are using Okta or a social IDP.\n 'authParams.responseMode': {\n type: 'string',\n values: ['query', 'fragment', 'form_post', 'okta_post_message']\n },\n\n // Can either be a string or an array, i.e.\n // - Single value: 'id_token', 'token', or 'code'\n // - Multiple values: ['id_token', 'token']\n 'authParams.responseType': ['any', false, 'id_token'],\n 'authParams.scopes': ['array', false],\n\n 'authParams.issuer': ['string', false],\n 'authParams.authorizeUrl': ['string', false],\n 'authParams.state': ['string', false],\n 'authParams.nonce': ['string', false],\n\n 'policyId': 'string',\n 'clientId': 'string',\n 'redirectUri': 'string',\n 'idps': ['array', false, []],\n 'idpDisplay': {\n type: 'string',\n values: ['PRIMARY', 'SECONDARY'],\n value: 'SECONDARY'\n },\n 'oAuthTimeout': ['number', false],\n\n // HELP LINKS\n 'helpLinks.help': 'string',\n 'helpLinks.forgotPassword': 'string',\n 'helpLinks.unlock': 'string',\n 'helpLinks.custom': 'array',\n\n //Custom Buttons\n 'customButtons': ['array', false, []],\n\n //Registration\n 'registration.click': 'function',\n 'registration.parseSchema': 'function',\n 'registration.preSubmit': 'function',\n 'registration.postSubmit': 'function',\n\n //Consent\n 'consent.cancel': 'function',\n\n //IDP Discovery\n 'idpDiscovery.requestContext': 'string',\n\n //Colors\n 'colors.brand': 'string',\n\n //Descriptions\n 'brandName': 'string',\n\n //PIV\n 'piv': ['object', false, {}]\n },\n\n derived: {\n redirectUtilFn: {\n deps: ['features.redirectByFormSubmit'],\n fn: function (redirectByFormSubmit) {\n return redirectByFormSubmit\n ? Util.redirectWithFormGet.bind(Util)\n : SharedUtil.redirect.bind(SharedUtil);\n },\n cache: true\n },\n supportedLanguages: {\n deps: ['i18n'],\n fn: function (i18n) {\n // Developers can pass in their own languages\n return _.union(config.supportedLanguages, _.keys(i18n));\n },\n cache: true\n },\n languageCode: {\n deps: ['language', 'supportedLanguages'],\n fn: function (language, supportedLanguages) {\n var userLanguages = BrowserFeatures.getUserLanguages(),\n preferred = _.clone(userLanguages),\n supportedLowerCase = Util.toLower(supportedLanguages),\n expanded;\n\n // Any developer defined \"language\" takes highest priority:\n // As a string, i.e. 'en', 'ja', 'zh-CN'\n if (_.isString(language)) {\n preferred.unshift(language);\n }\n // As a callback function, which is passed the list of supported\n // languages and detected user languages. This function must return\n // a languageCode, i.e. 'en', 'ja', 'zh-CN'\n else if (_.isFunction(language)) {\n preferred.unshift(language(supportedLanguages, userLanguages));\n }\n\n // Add english as the default, and expand to include any language\n // codes that do not include region, dialect, etc.\n preferred.push(DEFAULT_LANGUAGE);\n expanded = Util.toLower(Util.expandLanguages(preferred));\n\n // Perform a case insensitive search - this is necessary in the case\n // of browsers like Safari\n var i, supportedPos;\n for (i = 0; i < expanded.length; i++) {\n supportedPos = supportedLowerCase.indexOf(expanded[i]);\n if (supportedPos > -1) {\n return supportedLanguages[supportedPos];\n }\n }\n }\n },\n oauth2Enabled: {\n deps: ['clientId', 'authScheme', 'authParams.responseType'],\n fn: function (clientId, authScheme, responseType) {\n if (!clientId) {\n return false;\n }\n if (authScheme.toLowerCase() !== 'oauth2') {\n return false;\n }\n var responseTypes = _.isArray(responseType) ? responseType : [responseType];\n return _.intersection(responseTypes, supportedResponseTypes).length > 0;\n },\n cache: true\n },\n // Redirect Uri to provide in the oauth API\n oauthRedirectUri: {\n deps: ['redirectUri'],\n fn: function (redirectUri) {\n if (redirectUri) {\n return redirectUri;\n }\n\n var origin = window.location.origin;\n // IE8\n if (!origin) {\n var href = window.location.href;\n var path = window.location.pathname;\n if (path !== '') {\n origin = href.substring(0, href.lastIndexOf(path));\n }\n }\n\n return oauthRedirectTpl({\n origin: origin\n });\n }\n },\n // Adjusts the idps passed into the widget based on if they get explicit support\n configuredSocialIdps: {\n deps: ['idps'],\n fn: function (idps) {\n return _.map(idps, function (idp) { \n var type = idp.type && idp.type.toLowerCase();\n if ( !( type && _.contains(supportedIdps, type) ) ) {\n type = 'general-idp';\n idp.text = idp.text || '{ Please provide a text value }';\n }\n\n idp.className = [\n 'social-auth-button',\n 'social-auth-' + type + '-button ',\n idp.className ? idp.className : ''\n ].join(' ');\n idp.dataAttr = 'social-auth-' + type + '-button';\n idp.i18nKey = 'socialauth.' + type + '.label';\n return idp;\n });\n },\n cache: true\n },\n // Can support piv authentication\n hasPivCard: {\n deps: ['piv'],\n fn: function (piv) {\n return piv && piv.certAuthUrl;\n },\n cache: true\n },\n // social auth buttons order - 'above'/'below' the primary auth form (boolean)\n socialAuthPositionTop: {\n deps: ['configuredSocialIdps', 'hasPivCard', 'idpDisplay'],\n fn: function (configuredSocialIdps, hasPivCard, idpDisplay) {\n return (!_.isEmpty(configuredSocialIdps) || hasPivCard)\n && idpDisplay.toUpperCase() === 'PRIMARY';\n },\n cache: true\n },\n hasConfiguredButtons: {\n deps: ['configuredSocialIdps', 'customButtons', 'hasPivCard'],\n fn: function (configuredSocialIdps, customButtons, hasPivCard) {\n return !_.isEmpty(configuredSocialIdps) || !_.isEmpty(customButtons) || hasPivCard;\n },\n cache: true\n }\n },\n\n initialize: function (options) {\n if (!options.baseUrl) {\n this.callGlobalError(new ConfigError(Okta.loc('error.required.baseUrl')));\n }\n else if (options.colors && _.isString(options.colors.brand) && !options.colors.brand.match(/^#[0-9A-Fa-f]{6}$/)) {\n this.callGlobalError(new ConfigError(Okta.loc('error.invalid.colors.brand')));\n }\n else if (BrowserFeatures.corsIsNotSupported()) {\n this.callGlobalError(new UnsupportedBrowserError(Okta.loc('error.unsupported.cors')));\n }\n },\n\n setAcceptLanguageHeader: function (authClient) {\n if (authClient && authClient.options && authClient.options.headers) {\n authClient.options.headers['Accept-Language'] = this.get('languageCode');\n }\n },\n\n setAuthClient: function (authClient) {\n this.setAcceptLanguageHeader(authClient);\n this.authClient = authClient;\n },\n\n getAuthClient: function () {\n return this.authClient;\n },\n\n set: function () {\n try {\n return Okta.Model.prototype.set.apply(this, arguments);\n }\n catch (e) {\n var message = e.message ? e.message : e;\n this.callGlobalError(new ConfigError(message));\n }\n },\n\n // Invokes the global success function. This should only be called on a\n // terminal part of the code (i.e. authStatus SUCCESS or after sending\n // a recovery email)\n callGlobalSuccess: function (status, data) {\n // Defer this to ensure that our functions have rendered completely\n // before invoking their function\n var res = _.extend(data, { status: status });\n _.defer(_.partial(this.get('globalSuccessFn'), res));\n },\n\n // Invokes the global error function. This should only be called on non\n // recoverable errors (i.e. configuration errors, browser unsupported\n // errors, etc)\n callGlobalError: function (err) {\n // Note: Must use \"this.options.globalErrorFn\" when they've passed invalid\n // arguments - globalErrorFn will not have been set yet\n var globalErrorFn = this.get('globalErrorFn') || this.options.globalErrorFn;\n if (globalErrorFn) {\n globalErrorFn(err);\n }\n else {\n // Only throw the error if they have not registered a globalErrorFn\n throw err;\n }\n },\n\n // Get the username by applying the transform function if it exists.\n transformUsername: function (username, operation) {\n var transformFn = this.get('transformUsername');\n if (transformFn && _.isFunction(transformFn)) {\n return transformFn(username, operation);\n }\n return username;\n },\n\n processCreds: function (creds) {\n var processCreds = this.get('processCreds');\n return Q.Promise(function (resolve) {\n if (!_.isFunction(processCreds)) {\n resolve();\n }\n else if (processCreds.length === 2) {\n processCreds(creds, resolve);\n }\n else {\n processCreds(creds);\n resolve();\n }\n });\n },\n\n parseSchema: function (schema, onSuccess, onFailure) {\n var parseSchema = this.get('registration.parseSchema');\n //check for parseSchema callback\n if (_.isFunction(parseSchema)) {\n parseSchema(schema, function (schema) {\n onSuccess(schema);\n }, function (error) {\n error = error || {'errorSummary': Okta.loc('registration.default.callbackhook.error')};\n error['callback'] = 'parseSchema';\n onFailure(error);\n });\n } else {\n //no callback\n onSuccess(schema);\n }\n },\n\n preSubmit: function (postData, onSuccess, onFailure) {\n var preSubmit = this.get('registration.preSubmit');\n //check for preSubmit callback\n if (_.isFunction(preSubmit)) {\n preSubmit(postData, function (postData) {\n onSuccess(postData);\n }, function (error) {\n error = error || {'errorSummary': Okta.loc('registration.default.callbackhook.error')};\n error['callback'] = 'preSubmit';\n onFailure(error);\n });\n } else {\n //no callback\n onSuccess(postData);\n }\n },\n\n postSubmit: function (response, onSuccess, onFailure) {\n var postSubmit = this.get('registration.postSubmit');\n //check for postSubmit callback\n if (_.isFunction(postSubmit)) {\n postSubmit(response, function (response) {\n onSuccess(response);\n }, function (error) {\n error = error || {'errorSummary': Okta.loc('registration.default.callbackhook.error')};\n error['callback'] = 'postSubmit';\n onFailure(error);\n });\n } else {\n //no callback\n onSuccess(response);\n }\n },\n\n // Use the parse function to transform config options to the standard\n // settings we currently support. This is a good place to deprecate old\n // option formats.\n parse: function (options) {\n // PKCE flow: automatically set responseType to 'code'\n if (options.authParams && options.authParams.pkce) {\n options.authParams.responseType = 'code';\n }\n\n if (options.authParams && options.authParams.scope) {\n Logger.deprecate('Use \"scopes\" instead of \"scope\"');\n options.authParams.scopes = options.authParams.scope;\n delete options.authParams.scope;\n }\n\n if (options.labels || options.country) {\n Logger.deprecate('Use \"i18n\" instead of \"labels\" and \"country\"');\n var overrides = options.labels || {};\n _.each(options.country, function (val, key) {\n overrides['country.' + key] = val;\n });\n // Old behavior is to treat the override as a global override, so we\n // need to add these overrides to each language\n options.i18n = {};\n _.each(config.supportedLanguages, function (language) {\n options.i18n[language] = overrides;\n });\n delete options.labels;\n delete options.country;\n }\n\n // Default the assets.baseUrl to the cdn, or remove any trailing slashes\n if (!options.assets) {\n options.assets = {};\n }\n var abu = options.assets.baseUrl;\n if (!abu) {\n options.assets.baseUrl = assetBaseUrlTpl({ version: config.version });\n }\n else if (abu[abu.length - 1] === '/') {\n options.assets.baseUrl = abu.substring(0, abu.length - 1);\n }\n\n return options;\n }\n\n });\n\n});\n\n\n\n// WEBPACK FOOTER //\n// ./src/models/Settings.js","/*!\n * Copyright (c) 2015-2016, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n\ndefine([\n 'okta',\n 'util/Animations',\n 'views/shared/LoadingBeacon'\n],\nfunction (Okta, Animations, LoadingBeacon) {\n\n var NO_BEACON_CLS = 'no-beacon';\n var LOADING_BEACON_CLS = 'beacon-small beacon-loading';\n\n function isLoadingBeacon (beacon) {\n return beacon && beacon.equals(LoadingBeacon);\n }\n\n function removeBeacon (view) {\n // There are some timing issues with removing beacons (i.e. the case of\n // transitioning from loadingBeacon -> loadingBeacon)\n if (!view.currentBeacon) {\n return;\n }\n view.currentBeacon.remove();\n view.currentBeacon = null;\n }\n\n function addBeacon (view, NextBeacon, selector, options) {\n view.add(NextBeacon, {\n selector: selector,\n options: options\n });\n view.currentBeacon = view.first();\n }\n\n function typeOfTransition (currentBeacon, NextBeacon, options) {\n if (!currentBeacon && !NextBeacon) {\n return 'none';\n }\n // Show Loading beacon\n if (!currentBeacon && options.loading) {\n return 'load';\n }\n // Swap/Hide Loading beacon\n if (currentBeacon && isLoadingBeacon(currentBeacon)) {\n return NextBeacon ? 'swap' : 'unload';\n }\n if (currentBeacon && currentBeacon.equals(NextBeacon, options)) {\n return 'same';\n }\n if (!currentBeacon && NextBeacon) {\n return 'add';\n }\n if (currentBeacon && !NextBeacon) {\n return 'remove';\n }\n if (currentBeacon instanceof NextBeacon) {\n return 'fade';\n }\n // If none of the above\n // then we are changing the type of beacon\n // ex. from SecurityBeacon to FactorBeacon\n return 'swap';\n }\n\n return Okta.View.extend({\n\n currentBeacon: null,\n\n template: '\\\n <div class=\"okta-sign-in-header auth-header\">\\\n {{#if logo}}\\\n <img src=\"{{logo}}\" class=\"auth-org-logo\" alt=\"{{logoText}}\"/>\\\n {{/if}}\\\n <div data-type=\"beacon-container\" class=\"beacon-container\"></div>\\\n </div>\\\n <div class=\"auth-content\"><div class=\"auth-content-inner\"></div></div>\\\n ',\n\n // Attach a 'no-beacon' class if the security image feature\n // is not passed in to prevent the beacon from jumping.\n initialize: function (options) {\n if (!options.settings.get('features.securityImage')) {\n this.$el.addClass(NO_BEACON_CLS);\n // To show/hide the spinner when there is no security image,\n // listen to the appState's loading/removeLoading events.\n this.listenTo(options.appState, 'loading', this.setLoadingBeacon);\n this.listenTo(options.appState, 'removeLoading', this.removeLoadingBeacon);\n }\n },\n\n /* eslint complexity: 0 */\n setBeacon: function (NextBeacon, options) {\n var selector = '[data-type=\"beacon-container\"]',\n container = this.$(selector),\n transition = typeOfTransition(this.currentBeacon, NextBeacon, options),\n self = this;\n\n switch (transition) {\n case 'none':\n this.$el.addClass(NO_BEACON_CLS);\n return;\n case 'same':\n return;\n case 'add':\n this.$el.removeClass(NO_BEACON_CLS);\n addBeacon(this, NextBeacon, selector, options);\n return Animations.explode(container);\n case 'remove':\n this.$el.addClass(NO_BEACON_CLS);\n return Animations.implode(container)\n .then(function () {\n removeBeacon(self);\n })\n .done();\n case 'fade':\n // Other transitions are performed on the beacon container,\n // but this transition is on the content inside the beacon.\n // For a SecurityBeacon the username change will update the\n // AppState and trigger an transition to a new Becon\n // Since there is no url change this method is not called.\n // For a FactorBeacon a page refresh has occurred\n // so we execute the beacon's own transition method.\n if (!this.currentBeacon.fadeOut) {\n throw new Error('The current beacon is missing the \"fadeOut\" method');\n }\n options.animate = true;\n return this.currentBeacon.fadeOut()\n .then(function () {\n removeBeacon(self);\n addBeacon(self, NextBeacon, selector, options);\n })\n .done();\n case 'swap':\n return Animations.swapBeacons({\n $el: container,\n swap: function () {\n var isLoading = isLoadingBeacon(self.currentBeacon);\n // Order of these calls is important for -\n // loader --> security/factor beacon swap.\n removeBeacon(self);\n if (isLoading) {\n container.removeClass(LOADING_BEACON_CLS);\n self.$el.removeClass(NO_BEACON_CLS);\n }\n addBeacon(self, NextBeacon, selector, options);\n }\n })\n .done();\n case 'load':\n // Show the loading beacon. Add a couple of classes\n // before triggering the add beacon code.\n container.addClass(LOADING_BEACON_CLS);\n addBeacon(self, NextBeacon, selector, options);\n return Animations.explode(container);\n case 'unload':\n // Hide the loading beacon.\n return this.removeLoadingBeacon();\n default:\n throw new Error('the \"' + transition + '\" is not recognized');\n }\n },\n\n // Show the loading beacon when the security image feature is not enabled.\n setLoadingBeacon: function (isLoading) {\n if (!isLoading || isLoadingBeacon(this.currentBeacon)) {\n return;\n }\n this.setBeacon(LoadingBeacon, { loading: true });\n },\n\n // Hide the beacon on primary auth failure. On primary auth success, setBeacon does this job.\n removeLoadingBeacon: function () {\n var self = this,\n container = this.$('[data-type=\"beacon-container\"]');\n\n return Animations.implode(container)\n .then(function () {\n removeBeacon(self);\n container.removeClass(LOADING_BEACON_CLS);\n })\n .done();\n },\n\n getTemplateData: function () {\n return this.settings.toJSON({ verbose: true });\n },\n\n getContentEl: function () {\n return this.$('.auth-content-inner');\n }\n\n });\n\n});\n\n\n\n// WEBPACK FOOTER //\n// ./src/views/shared/Header.js","/*!\n * Copyright (c) 2015-2016, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n\ndefine(['okta', 'util/Animations'], function (Okta, Animations) {\n\n var _ = Okta._,\n $ = Okta.$;\n\n function setBackgroundImage (el, appState) {\n // NOTE: The imgSrc is returned by the server so that every\n // user has a unique image. However new and undefined user states\n // are hard coded into the css and the value returned by the server\n // is ignored.\n var imgSrc = appState.get('securityImage'),\n imgDescription = appState.get('securityImageDescription'),\n isUndefinedUser = appState.get('isUndefinedUser'),\n isNewUser = appState.get('isNewUser'),\n isSecurityImage = !isUndefinedUser && !isNewUser;\n\n el.css('background-image', '');\n el.removeClass('new-user undefined-user');\n if (isNewUser) {\n el.addClass('new-user');\n return;\n }\n if (isUndefinedUser) {\n el.addClass('undefined-user');\n return;\n }\n if (isSecurityImage) {\n // TODO: Newer versions of qtip will remove aria-describedby on their own when destroy() is called.\n el.removeAttr('aria-describedby');\n el.find('.accessibility-text').text(imgDescription);\n el.css('background-image', 'url(' + _.escape(imgSrc) + ')');\n return;\n }\n }\n\n function antiPhishingMessage (image, host) {\n $(window).on('resize.securityBeaconQtip', _.debounce(function () {\n if(image.is(':visible')){\n image.qtip('show');\n }\n }, 300));\n\n // Show the message that the user has not logged in from this device before.\n image.qtip({\n prerender: true,\n content: {\n text: Okta.loc('primaryauth.newUser.tooltip', 'login', [_.escape(host)]),\n button: Okta.loc('primaryauth.newUser.tooltip.close', 'login')\n },\n style: {\n classes: 'okta-security-image-tooltip security-image-qtip qtip-custom qtip-shadow qtip-rounded',\n tip: {height: 12, width: 16}\n },\n position: {\n my: 'top center',\n at: 'center',\n target: $('.auth-beacon-security'),\n adjust: {method: 'flip', scroll: false, resize: true},\n effect: false\n },\n hide: {event: false, fixed: true},\n show: {event: false, delay: 200},\n events: {\n move: function (event, api) {\n if (!api.elements.target.is(':visible')) {\n // Have to hide it immediately, with no effect\n api.set('hide.effect', false);\n api.hide();\n api.set('hide.effect', true);\n }\n }\n }\n });\n\n image.qtip('toggle', image.is(':visible'));\n }\n\n function destroyAntiPhishingMessage (image) {\n image.qtip('destroy');\n $(window).off('resize.securityBeaconQtip');\n }\n\n async function updateSecurityImage ($el, appState, animate) {\n var image = $el.find('.auth-beacon-security'),\n border = $el.find('.js-auth-beacon-border'),\n hasBorder = !appState.get('isUndefinedUser'),\n hasAntiPhishing = appState.get('isNewUser'),\n radialProgressBar = $el.find('.radial-progress-bar'),\n host = appState.get('baseUrl').match(/https?:\\/\\/(.[^/]+)/)[1],\n duration = 200;\n if (!animate) {\n // Do not animate the security beacon\n // This occurs when initializing the form\n setBackgroundImage(image, appState);\n border.toggleClass('auth-beacon-border', hasBorder);\n return;\n }\n\n destroyAntiPhishingMessage(image);\n\n // Animate loading the security beacon\n if (!hasBorder) {\n // This occurrs when appState username is blank\n // we do not yet know if the user is recognized\n image.fadeOut(duration, function () {\n setBackgroundImage(image, appState);\n border.removeClass('auth-beacon-border');\n image.fadeIn(duration);\n });\n } else {\n // Animate loading the security beacon with a loading bar for the border\n // This occurrs when the username has been checked against Okta.\n border.removeClass('auth-beacon-border');\n await Animations.radialProgressBar({\n $el: radialProgressBar,\n swap () {\n image.fadeOut(duration, () => {\n setBackgroundImage(image, appState);\n image.fadeIn(duration);\n });\n }\n });\n border.addClass('auth-beacon-border');\n if (hasAntiPhishing) {\n antiPhishingMessage(image, host);\n }\n }\n }\n\n return Okta.View.extend({\n\n template: '\\\n <div class=\"beacon-blank\">\\\n <div class=\"radial-progress-bar\">\\\n <div class=\"circle left\"></div>\\\n <div class=\"circle right\"></div>\\\n </div>\\\n </div>\\\n <div aria-live=\"polite\" role=\"img\" class=\"bg-helper auth-beacon auth-beacon-security\" data-se=\"security-beacon\">\\\n <span class=\"accessibility-text\"></span>\\\n <div class=\"okta-sign-in-beacon-border auth-beacon-border js-auth-beacon-border\">\\\n </div>\\\n </div>\\\n ',\n className: 'js-security-beacon',\n\n initialize: function (options) {\n this.update = _.partial(updateSecurityImage, this.$el, options.appState);\n this.listenTo(options.appState, 'change:securityImage', this.update);\n this.listenTo(options.appState, 'loading', function (isLoading) {\n this.$el.toggleClass('beacon-loading', isLoading);\n this.removeAntiPhishingMessage();\n });\n this.options.appState.set('beaconType', 'security');\n\n this.listenTo(options.appState, 'navigate', this.removeAntiPhishingMessage);\n },\n\n postRender: function () {\n this.update(false);\n },\n\n equals: function (Beacon) {\n return Beacon && this instanceof Beacon;\n },\n\n removeAntiPhishingMessage: function () {\n var image = this.$el.find('.auth-beacon-security');\n image.qtip('destroy');\n }\n\n });\n\n});\n\n\n\n// WEBPACK FOOTER //\n// ./src/views/shared/SecurityBeacon.js","/*!\n * Copyright (c) 2015-2016, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n\ndefine([\n 'okta',\n 'util/Enums'\n],\nfunction (Okta, Enums) {\n var CAN_REMOVE_BEACON_CLS = 'can-remove-beacon';\n return Okta.View.extend({\n className: 'auth-container main-container',\n id: Enums.WIDGET_CONTAINER_ID,\n attributes: { 'data-se': 'auth-container' },\n initialize: function (options) {\n this.listenTo(options.appState, 'change:beaconType', function (model, type) {\n this.$el.toggleClass(CAN_REMOVE_BEACON_CLS, type === 'security');\n });\n }\n });\n});\n\n\n\n// WEBPACK FOOTER //\n// ./src/views/shared/AuthContainer.js","/*!\n * Copyright (c) 2018-Present, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n\ndefine(['util/Enums'], function (Enums) {\n var fn = {};\n\n var template = function (colors) {\n return `\n#okta-sign-in.auth-container .button-primary,\n#okta-sign-in.auth-container .button-primary:active,\n#okta-sign-in.auth-container .button-primary:focus { background: ${colors.brand}; }\n#okta-sign-in.auth-container .button-primary:hover { background: ${fn.lighten(colors.brand, 0.05)}; }\n#okta-sign-in.auth-container .button.button-primary.link-button-disabled {\n background: ${colors.brand};\n opacity: 0.5;\n}\n `;\n };\n\n // visible for testing\n fn.lighten = function (hex, lum) {\n lum = lum || 0;\n hex = hex.substr(1);\n var newHex = '#';\n for (var i = 0; i < 3; i++) {\n var c = parseInt(hex.substr(i * 2, 2), 16);\n c = Math.round(Math.min(Math.max(0, c + (c * lum)), 255)).toString(16);\n newHex += ('00' + c).substr(c.length);\n }\n return newHex;\n };\n\n fn.addStyle = function (colors) {\n var css = template(colors);\n var main = document.getElementById(Enums.WIDGET_CONTAINER_ID);\n var style = document.createElement('style');\n\n style.id = Enums.WIDGET_CONFIG_COLORS_ID;\n style.type = 'text/css';\n style.appendChild(document.createTextNode(css));\n\n main.appendChild(style);\n };\n\n fn.isLoaded = function () {\n return !!document.getElementById(Enums.WIDGET_CONFIG_COLORS_ID);\n };\n\n return fn;\n});\n\n\n\n// WEBPACK FOOTER //\n// ./src/util/ColorsUtil.js","/*!\n * Copyright (c) 2015-2016, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n\ndefine([\n 'okta',\n 'util/FactorUtil',\n 'util/FormType',\n 'util/Util',\n 'views/shared/TextBox'\n], function (Okta, FactorUtil, FormType, Util, TextBox) {\n\n var _ = Okta._;\n\n var form = {\n title: function () {\n var factorName = FactorUtil.getFactorLabel(this.model.get('__provider__'), this.model.get('__factorType__'));\n return Okta.loc('enroll.totp.title', 'login', [factorName]);\n },\n subtitle: _.partial(Okta.loc, 'enroll.totp.enterCode', 'login'),\n autoSave: true,\n noButtonBar: true,\n attributes: { 'data-se': 'step-sendcode' },\n\n formChildren: function () {\n return [\n FormType.Input({\n label: Okta.loc('mfa.challenge.enterCode.placeholder', 'login'),\n 'label-top': true,\n explain: Util.createInputExplain(\n 'mfa.challenge.enterCode.tooltip',\n 'mfa.challenge.enterCode.placeholder',\n 'login'),\n 'explain-top': true,\n name: 'passCode',\n input: TextBox,\n type: 'tel'\n }),\n\n FormType.Toolbar({\n noCancelButton: true,\n save: Okta.loc('oform.verify', 'login')\n })\n ];\n }\n };\n\n return form;\n});\n\n\n\n// WEBPACK FOOTER //\n// ./src/views/enroll-factors/EnterPasscodeForm.js","/*!\n * Copyright (c) 2017, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n\ndefine(['okta', 'util/Enums'], function (Okta, Enums) {\n\n var { Util } = Okta.internal.util;\n\n return Okta.View.extend({\n template: '\\\n {{#if passwordWarn}}\\\n <a href=\"#\" class=\"link help js-skip\" data-se=\"skip-link\">\\\n {{i18n code=\"password.expiring.later\" bundle=\"login\"}}\\\n </a>\\\n {{/if}}\\\n <a href=\"#\" class=\"link help goto js-signout\" data-se=\"signout-link\">{{i18n code=\"signout\" bundle=\"login\"}}</a>\\\n ',\n className: 'auth-footer clearfix',\n events: {\n 'click .js-signout' : function (e) {\n e.preventDefault();\n var self = this;\n this.model.doTransaction(function (transaction) {\n return transaction.cancel();\n })\n .then(function () {\n if (self.settings.get('signOutLink')) {\n Util.redirect(self.settings.get('signOutLink'));\n } else {\n self.state.set('navigateDir', Enums.DIRECTION_BACK);\n self.options.appState.trigger('navigate', '');\n }\n });\n },\n 'click .js-skip' : function (e) {\n e.preventDefault();\n this.model.doTransaction(function (transaction) {\n return transaction.skip();\n });\n }\n },\n getTemplateData: function () {\n return {passwordWarn: this.options.appState.get('isPwdExpiringSoon')};\n }\n });\n\n});\n\n\n\n// WEBPACK FOOTER //\n// ./src/views/expired-password/Footer.js","/*!\n * Copyright (c) 2015-2016, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n\ndefine([\n 'okta'\n],\nfunction (Okta) {\n\n return Okta.View.extend({\n template: '\\\n <div class=\"infobox\">\\\n <span class=\"icon info-16\"></span>\\\n <p>{{i18n code=\"contact.support\" bundle=\"login\" arguments=\"helpSupportNumber\"}}</p>\\\n </div>',\n className: 'contact-support',\n\n getTemplateData: function () {\n return this.settings.pick('helpSupportNumber');\n }\n });\n\n});\n\n\n\n// WEBPACK FOOTER //\n// ./src/views/shared/ContactSupport.js","/* eslint max-statements: [2, 23], max-depth: [2, 3], complexity: [2, 13] */\n/*!\n * Copyright (c) 2017, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n\ndefine([\n 'okta',\n 'views/shared/TextBox'\n], function (Okta, TextBox) {\n\n var _ = Okta._;\n var { SchemaFormFactory } = Okta.internal.views.forms.helpers;\n\n var getParts = function (username) {\n var usernameArr = username.split('');\n var minPartsLength = 3;\n var userNameParts = [];\n var delimiters = [',', '.', '-', '_', '#', '@'];\n var userNamePart = '';\n\n _.each(usernameArr, function (part){\n if(delimiters.indexOf(part) === -1) {\n userNamePart += part;\n } else{\n if (userNamePart.length >= minPartsLength) {\n userNameParts.push(_.clone(userNamePart));\n }\n userNamePart = '';\n }\n });\n if (userNamePart.length >= minPartsLength) {\n userNameParts.push(_.clone(userNamePart));\n }\n return userNameParts.filter(Boolean);\n };\n\n var passwordContainsFormField = function (formField, password) {\n if(!formField) {\n return false;\n }\n formField = formField.toLowerCase();\n password = password.toLowerCase();\n var formFieldArr = getParts(formField);\n //check if each formField part contains password\n for (var i=0; i < formFieldArr.length; i++){\n var formFieldPart = formFieldArr[i];\n if (password.indexOf(formFieldPart) !== -1) {\n return true;\n }\n }\n return false;\n };\n\n var checkSubSchema = function (subSchema, value, model) {\n var minLength = subSchema.get('minLength');\n var maxLength = subSchema.get('maxLength');\n var regex = subSchema.get('format');\n\n if (_.isNumber(minLength)) {\n if (value.length < minLength) {\n return false;\n }\n }\n\n if (_.isNumber(maxLength)) {\n if (value.length > maxLength) {\n return false;\n }\n }\n var password = value;\n if (_.isString(regex)) {\n // call passwordContainsFormField if regex is userName, firstName, lastName\n if (regex === '^[#/userName]' || regex === '^[#/firstName]' || regex === '^[#/lastName]') {\n var fieldName = regex.split('^[#/')[1].split(']')[0];\n var fieldValue = model.get(fieldName);\n if (fieldName === 'userName') {\n // with email as login enabled, we only have email populated\n // Therefore we fallback and run validation with email attribute.\n fieldValue = model.has('userName') ? model.get('userName') : model.get('email');\n }\n return !passwordContainsFormField(fieldValue, password);\n } else {\n if (!new RegExp(regex).test(value)) {\n return false;\n }\n }\n }\n\n return true;\n };\n\n\n var checkSubSchemas = function (fieldName, model, subSchemas, showError) {\n var value = model.get(fieldName);\n if (!_.isString(value)) {\n return;\n }\n\n subSchemas.each(function (subSchema, index) {\n var ele = Okta.$('#subschemas-' + fieldName + ' .subschema-' + index);\n //hide password complexity if no password\n if (value) {\n ele.children('p').removeClass('default-schema');\n } else {\n ele.children('p').addClass('default-schema');\n }\n ele.removeClass('subschema-satisfied subschema-unsatisfied subschema-error');\n if (checkSubSchema(subSchema, value, model)) {\n ele.addClass('subschema-satisfied');\n ele.find('p span').removeClass('error error-16-small');\n ele.find('p span').addClass('confirm-16');\n } else {\n if (showError) {\n ele.find('p span').removeClass('confirm-16');\n ele.find('p span').addClass('error error-16-small');\n ele.addClass('subschema-error subschema-unsatisfied');\n }\n }\n });\n };\n\n var fnCreateInputOptions = function (schemaProperty) {\n var inputOptions = SchemaFormFactory.createInputOptions(schemaProperty);\n if (inputOptions.type === 'select') {\n inputOptions = _.extend(inputOptions, {\n label: schemaProperty.get('title')\n });\n } else {\n var placeholder = schemaProperty.get('title');\n if (schemaProperty.get('required')) {\n placeholder += ' *';\n }\n inputOptions = _.extend(inputOptions, {\n label: false,\n 'label-top': true,\n placeholder: placeholder\n });\n }\n\n var fieldName = schemaProperty.get('name');\n switch (fieldName) {\n case 'userName':\n inputOptions.input = TextBox;\n inputOptions.params = {\n 'icon': 'person-16-gray'\n };\n break;\n case 'password':\n inputOptions.type = 'password';\n inputOptions.input = TextBox;\n inputOptions.params = {\n 'icon': 'remote-lock-16'\n };\n }\n\n var subSchemas = schemaProperty.get('subSchemas');\n if (subSchemas) {\n inputOptions.events = {\n 'input': function () {\n checkSubSchemas(fieldName, this.model, subSchemas, true);\n },\n 'focusout': function () {\n checkSubSchemas(fieldName, this.model, subSchemas, true);\n },\n 'change:userName': function () {\n checkSubSchemas(fieldName, this.model, subSchemas, true);\n },\n 'change:firstName': function () {\n checkSubSchemas(fieldName, this.model, subSchemas, true);\n },\n 'change:lastName': function () {\n checkSubSchemas(fieldName, this.model, subSchemas, true);\n },\n 'change:email': function () {\n checkSubSchemas(fieldName, this.model, subSchemas, true);\n }\n };\n }\n\n return inputOptions;\n };\n\n return {\n createInputOptions : fnCreateInputOptions,\n getUsernameParts: getParts,\n passwordContainsFormField: passwordContainsFormField\n };\n});\n\n\n\n// WEBPACK FOOTER //\n// ./src/util/RegistrationFormFactory.js","/*!\n * Copyright (c) 2019, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\nimport { loc } from 'okta';\n\nconst factorData = {\n 'email': {\n label: loc('factor.email', 'login'),\n description: '',\n iconClassName: 'mfa-okta-email',\n },\n\n 'password': {\n label: loc('factor.password', 'login'),\n description: '',\n iconClassName: 'mfa-okta-password',\n },\n\n 'webauthn': {\n label: loc('factor.webauthn', 'login'),\n description: '',\n iconClassName: 'mfa-webauthn',\n },\n};\n\nconst getFactorData = function (factorName) {\n return factorData[factorName];\n};\n\nmodule.exports = {\n getFactorData,\n};\n\n\n\n// WEBPACK FOOTER //\n// ./src/v2/util/FactorUtil.js","import { View, $ } from 'okta';\nimport HeaderBeacon from '../components/HeaderBeacon';\nimport Animations from 'util/Animations';\n\nexport default View.extend({\n HeaderBeacon: HeaderBeacon,\n\n initialize () {\n // add beacon\n this.add(this.HeaderBeacon);\n },\n\n postRender () {\n $('#okta-sign-in').removeClass('no-beacon');\n\n // animate beacon\n var selector = '[data-type=\"beacon-container\"]', container = this.$el.find(selector);\n Animations.explode(container);\n },\n});\n\n\n\n// WEBPACK FOOTER //\n// ./src/v2/view-builder/internals/BaseHeader.js","/*!\n * Copyright (c) 2019, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\nimport { View } from 'okta';\n\nconst BeaconView = View.extend({\n\n template: '\\\n <div data-type=\"beacon-container\" class=\"beacon-container\">\\\n <div class=\"beacon-blank auth-beacon\">\\\n <div class=\"beacon-blank js-blank-beacon-border auth-beacon-border\"></div>\\\n </div>\\\n <div class=\"bg-helper auth-beacon auth-beacon-factor {{className}}\" data-se=\"factor-beacon\">\\\n <div class=\"okta-sign-in-beacon-border auth-beacon-border\"></div>\\\n </div>\\\n <div data-type=\"factor-types-dropdown\" class=\"factors-dropdown-wrap\"></div>\\\n </div >\\\n ',\n\n getTemplateData: function () {\n return { className: this.getBeaconClassName() || '' };\n },\n getBeaconClassName () {\n return 'undefined-user';\n }\n});\n\nmodule.exports = BeaconView;\n\n\n\n// WEBPACK FOOTER //\n// ./src/v2/view-builder/components/HeaderBeacon.js","import { _ } from 'okta';\n\nexport default {\n startPolling () {\n const factor = this.options.appState.get('factor');\n const factorPollingInterval = factor && factor.poll && factor.poll.refresh;\n if (_.isNumber(factorPollingInterval)) {\n this.polling = setInterval(()=>{\n this.options.appState.trigger('invokeAction', 'factor-poll');\n }, factorPollingInterval);\n }\n },\n\n // currently only device remediation gets polling info from remediation\n // TODO: OKTA-278849 combine startDevicePolling and startPolling\n startDevicePolling () {\n const pollingInterval = this.options.appState.getCurrentViewState().refresh;\n if (_.isNumber(pollingInterval)) {\n this.polling = setInterval(() => {\n this.options.appState.trigger('saveForm', this.model);\n }, pollingInterval);\n }\n },\n\n stopPolling () {\n if (this.polling) {\n clearInterval(this.polling);\n }\n }\n};\n\n\n\n// WEBPACK FOOTER //\n// ./src/v2/view-builder/views/shared/polling.js","import BaseView from '../internals/BaseView';\nimport BaseForm from '../internals/BaseForm';\nimport BaseFooter from '../internals/BaseFooter';\n\nconst Body = BaseForm.extend({\n title () {\n const msg = this.options.appState.get('terminal').message || {};\n return msg.message || 'You can close this window';\n },\n noButtonBar: true,\n postRender () {\n BaseForm.prototype.postRender.apply(this, arguments);\n this.$el.addClass('terminal-state');\n },\n});\n\nconst Footer = BaseFooter.extend({\n links () {\n return [\n {\n 'type': 'link',\n 'label': 'Back to sign in',\n 'name': 'back',\n 'href': '/'\n }\n ];\n }\n});\n\nexport default BaseView.extend({\n Body,\n Footer\n});\n\n\n\n// WEBPACK FOOTER //\n// ./src/v2/view-builder/views/TerminalView.js","export default {\n title () {\n return `Email link (${this.options.appState.get('factorProfile').email})`;\n }\n};\n\n\n\n// WEBPACK FOOTER //\n// ./src/v2/view-builder/views/shared/email.js","import BaseFactorView from './BaseFactorView';\nimport TerminalView from '../TerminalView';\n\nexport default BaseFactorView.extend({\n Body: TerminalView.prototype.Body,\n Footer: TerminalView.prototype.Footer,\n});\n\n\n\n// WEBPACK FOOTER //\n// ./src/v2/view-builder/views/shared/BaseFactorTerminalView.js","\"use strict\";\n\nrequire(\"core-js/shim\");\n\nrequire(\"regenerator-runtime/runtime\");\n\nrequire(\"core-js/fn/regexp/escape\");\n\nif (global._babelPolyfill) {\n throw new Error(\"only one instance of babel-polyfill is allowed\");\n}\nglobal._babelPolyfill = true;\n\nvar DEFINE_PROPERTY = \"defineProperty\";\nfunction define(O, key, value) {\n O[key] || Object[DEFINE_PROPERTY](O, key, {\n writable: true,\n configurable: true,\n value: value\n });\n}\n\ndefine(String.prototype, \"padLeft\", \"\".padStart);\ndefine(String.prototype, \"padRight\", \"\".padEnd);\n\n\"pop,reverse,shift,keys,values,entries,indexOf,every,some,forEach,map,filter,find,findIndex,includes,join,slice,concat,push,splice,unshift,sort,lastIndexOf,reduce,reduceRight,copyWithin,fill\".split(\",\").forEach(function (key) {\n [][key] && define(Array, key, Function.call.bind([][key]));\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/babel-polyfill/lib/index.js\n// module id = 273\n// module chunks = 0","require('./modules/es6.symbol');\nrequire('./modules/es6.object.create');\nrequire('./modules/es6.object.define-property');\nrequire('./modules/es6.object.define-properties');\nrequire('./modules/es6.object.get-own-property-descriptor');\nrequire('./modules/es6.object.get-prototype-of');\nrequire('./modules/es6.object.keys');\nrequire('./modules/es6.object.get-own-property-names');\nrequire('./modules/es6.object.freeze');\nrequire('./modules/es6.object.seal');\nrequire('./modules/es6.object.prevent-extensions');\nrequire('./modules/es6.object.is-frozen');\nrequire('./modules/es6.object.is-sealed');\nrequire('./modules/es6.object.is-extensible');\nrequire('./modules/es6.object.assign');\nrequire('./modules/es6.object.is');\nrequire('./modules/es6.object.set-prototype-of');\nrequire('./modules/es6.object.to-string');\nrequire('./modules/es6.function.bind');\nrequire('./modules/es6.function.name');\nrequire('./modules/es6.function.has-instance');\nrequire('./modules/es6.parse-int');\nrequire('./modules/es6.parse-float');\nrequire('./modules/es6.number.constructor');\nrequire('./modules/es6.number.to-fixed');\nrequire('./modules/es6.number.to-precision');\nrequire('./modules/es6.number.epsilon');\nrequire('./modules/es6.number.is-finite');\nrequire('./modules/es6.number.is-integer');\nrequire('./modules/es6.number.is-nan');\nrequire('./modules/es6.number.is-safe-integer');\nrequire('./modules/es6.number.max-safe-integer');\nrequire('./modules/es6.number.min-safe-integer');\nrequire('./modules/es6.number.parse-float');\nrequire('./modules/es6.number.parse-int');\nrequire('./modules/es6.math.acosh');\nrequire('./modules/es6.math.asinh');\nrequire('./modules/es6.math.atanh');\nrequire('./modules/es6.math.cbrt');\nrequire('./modules/es6.math.clz32');\nrequire('./modules/es6.math.cosh');\nrequire('./modules/es6.math.expm1');\nrequire('./modules/es6.math.fround');\nrequire('./modules/es6.math.hypot');\nrequire('./modules/es6.math.imul');\nrequire('./modules/es6.math.log10');\nrequire('./modules/es6.math.log1p');\nrequire('./modules/es6.math.log2');\nrequire('./modules/es6.math.sign');\nrequire('./modules/es6.math.sinh');\nrequire('./modules/es6.math.tanh');\nrequire('./modules/es6.math.trunc');\nrequire('./modules/es6.string.from-code-point');\nrequire('./modules/es6.string.raw');\nrequire('./modules/es6.string.trim');\nrequire('./modules/es6.string.iterator');\nrequire('./modules/es6.string.code-point-at');\nrequire('./modules/es6.string.ends-with');\nrequire('./modules/es6.string.includes');\nrequire('./modules/es6.string.repeat');\nrequire('./modules/es6.string.starts-with');\nrequire('./modules/es6.string.anchor');\nrequire('./modules/es6.string.big');\nrequire('./modules/es6.string.blink');\nrequire('./modules/es6.string.bold');\nrequire('./modules/es6.string.fixed');\nrequire('./modules/es6.string.fontcolor');\nrequire('./modules/es6.string.fontsize');\nrequire('./modules/es6.string.italics');\nrequire('./modules/es6.string.link');\nrequire('./modules/es6.string.small');\nrequire('./modules/es6.string.strike');\nrequire('./modules/es6.string.sub');\nrequire('./modules/es6.string.sup');\nrequire('./modules/es6.date.now');\nrequire('./modules/es6.date.to-json');\nrequire('./modules/es6.date.to-iso-string');\nrequire('./modules/es6.date.to-string');\nrequire('./modules/es6.date.to-primitive');\nrequire('./modules/es6.array.is-array');\nrequire('./modules/es6.array.from');\nrequire('./modules/es6.array.of');\nrequire('./modules/es6.array.join');\nrequire('./modules/es6.array.slice');\nrequire('./modules/es6.array.sort');\nrequire('./modules/es6.array.for-each');\nrequire('./modules/es6.array.map');\nrequire('./modules/es6.array.filter');\nrequire('./modules/es6.array.some');\nrequire('./modules/es6.array.every');\nrequire('./modules/es6.array.reduce');\nrequire('./modules/es6.array.reduce-right');\nrequire('./modules/es6.array.index-of');\nrequire('./modules/es6.array.last-index-of');\nrequire('./modules/es6.array.copy-within');\nrequire('./modules/es6.array.fill');\nrequire('./modules/es6.array.find');\nrequire('./modules/es6.array.find-index');\nrequire('./modules/es6.array.species');\nrequire('./modules/es6.array.iterator');\nrequire('./modules/es6.regexp.constructor');\nrequire('./modules/es6.regexp.exec');\nrequire('./modules/es6.regexp.to-string');\nrequire('./modules/es6.regexp.flags');\nrequire('./modules/es6.regexp.match');\nrequire('./modules/es6.regexp.replace');\nrequire('./modules/es6.regexp.search');\nrequire('./modules/es6.regexp.split');\nrequire('./modules/es6.promise');\nrequire('./modules/es6.map');\nrequire('./modules/es6.set');\nrequire('./modules/es6.weak-map');\nrequire('./modules/es6.weak-set');\nrequire('./modules/es6.typed.array-buffer');\nrequire('./modules/es6.typed.data-view');\nrequire('./modules/es6.typed.int8-array');\nrequire('./modules/es6.typed.uint8-array');\nrequire('./modules/es6.typed.uint8-clamped-array');\nrequire('./modules/es6.typed.int16-array');\nrequire('./modules/es6.typed.uint16-array');\nrequire('./modules/es6.typed.int32-array');\nrequire('./modules/es6.typed.uint32-array');\nrequire('./modules/es6.typed.float32-array');\nrequire('./modules/es6.typed.float64-array');\nrequire('./modules/es6.reflect.apply');\nrequire('./modules/es6.reflect.construct');\nrequire('./modules/es6.reflect.define-property');\nrequire('./modules/es6.reflect.delete-property');\nrequire('./modules/es6.reflect.enumerate');\nrequire('./modules/es6.reflect.get');\nrequire('./modules/es6.reflect.get-own-property-descriptor');\nrequire('./modules/es6.reflect.get-prototype-of');\nrequire('./modules/es6.reflect.has');\nrequire('./modules/es6.reflect.is-extensible');\nrequire('./modules/es6.reflect.own-keys');\nrequire('./modules/es6.reflect.prevent-extensions');\nrequire('./modules/es6.reflect.set');\nrequire('./modules/es6.reflect.set-prototype-of');\nrequire('./modules/es7.array.includes');\nrequire('./modules/es7.array.flat-map');\nrequire('./modules/es7.array.flatten');\nrequire('./modules/es7.string.at');\nrequire('./modules/es7.string.pad-start');\nrequire('./modules/es7.string.pad-end');\nrequire('./modules/es7.string.trim-left');\nrequire('./modules/es7.string.trim-right');\nrequire('./modules/es7.string.match-all');\nrequire('./modules/es7.symbol.async-iterator');\nrequire('./modules/es7.symbol.observable');\nrequire('./modules/es7.object.get-own-property-descriptors');\nrequire('./modules/es7.object.values');\nrequire('./modules/es7.object.entries');\nrequire('./modules/es7.object.define-getter');\nrequire('./modules/es7.object.define-setter');\nrequire('./modules/es7.object.lookup-getter');\nrequire('./modules/es7.object.lookup-setter');\nrequire('./modules/es7.map.to-json');\nrequire('./modules/es7.set.to-json');\nrequire('./modules/es7.map.of');\nrequire('./modules/es7.set.of');\nrequire('./modules/es7.weak-map.of');\nrequire('./modules/es7.weak-set.of');\nrequire('./modules/es7.map.from');\nrequire('./modules/es7.set.from');\nrequire('./modules/es7.weak-map.from');\nrequire('./modules/es7.weak-set.from');\nrequire('./modules/es7.global');\nrequire('./modules/es7.system.global');\nrequire('./modules/es7.error.is-error');\nrequire('./modules/es7.math.clamp');\nrequire('./modules/es7.math.deg-per-rad');\nrequire('./modules/es7.math.degrees');\nrequire('./modules/es7.math.fscale');\nrequire('./modules/es7.math.iaddh');\nrequire('./modules/es7.math.isubh');\nrequire('./modules/es7.math.imulh');\nrequire('./modules/es7.math.rad-per-deg');\nrequire('./modules/es7.math.radians');\nrequire('./modules/es7.math.scale');\nrequire('./modules/es7.math.umulh');\nrequire('./modules/es7.math.signbit');\nrequire('./modules/es7.promise.finally');\nrequire('./modules/es7.promise.try');\nrequire('./modules/es7.reflect.define-metadata');\nrequire('./modules/es7.reflect.delete-metadata');\nrequire('./modules/es7.reflect.get-metadata');\nrequire('./modules/es7.reflect.get-metadata-keys');\nrequire('./modules/es7.reflect.get-own-metadata');\nrequire('./modules/es7.reflect.get-own-metadata-keys');\nrequire('./modules/es7.reflect.has-metadata');\nrequire('./modules/es7.reflect.has-own-metadata');\nrequire('./modules/es7.reflect.metadata');\nrequire('./modules/es7.asap');\nrequire('./modules/es7.observable');\nrequire('./modules/web.timers');\nrequire('./modules/web.immediate');\nrequire('./modules/web.dom.iterable');\nmodule.exports = require('./modules/_core');\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/shim.js\n// module id = 274\n// module chunks = 0","'use strict';\n// ECMAScript 6 symbols shim\nvar global = require('./_global');\nvar has = require('./_has');\nvar DESCRIPTORS = require('./_descriptors');\nvar $export = require('./_export');\nvar redefine = require('./_redefine');\nvar META = require('./_meta').KEY;\nvar $fails = require('./_fails');\nvar shared = require('./_shared');\nvar setToStringTag = require('./_set-to-string-tag');\nvar uid = require('./_uid');\nvar wks = require('./_wks');\nvar wksExt = require('./_wks-ext');\nvar wksDefine = require('./_wks-define');\nvar enumKeys = require('./_enum-keys');\nvar isArray = require('./_is-array');\nvar anObject = require('./_an-object');\nvar isObject = require('./_is-object');\nvar toObject = require('./_to-object');\nvar toIObject = require('./_to-iobject');\nvar toPrimitive = require('./_to-primitive');\nvar createDesc = require('./_property-desc');\nvar _create = require('./_object-create');\nvar gOPNExt = require('./_object-gopn-ext');\nvar $GOPD = require('./_object-gopd');\nvar $GOPS = require('./_object-gops');\nvar $DP = require('./_object-dp');\nvar $keys = require('./_object-keys');\nvar gOPD = $GOPD.f;\nvar dP = $DP.f;\nvar gOPN = gOPNExt.f;\nvar $Symbol = global.Symbol;\nvar $JSON = global.JSON;\nvar _stringify = $JSON && $JSON.stringify;\nvar PROTOTYPE = 'prototype';\nvar HIDDEN = wks('_hidden');\nvar TO_PRIMITIVE = wks('toPrimitive');\nvar isEnum = {}.propertyIsEnumerable;\nvar SymbolRegistry = shared('symbol-registry');\nvar AllSymbols = shared('symbols');\nvar OPSymbols = shared('op-symbols');\nvar ObjectProto = Object[PROTOTYPE];\nvar USE_NATIVE = typeof $Symbol == 'function' && !!$GOPS.f;\nvar QObject = global.QObject;\n// Don't use setters in Qt Script, https://github.com/zloirock/core-js/issues/173\nvar setter = !QObject || !QObject[PROTOTYPE] || !QObject[PROTOTYPE].findChild;\n\n// fallback for old Android, https://code.google.com/p/v8/issues/detail?id=687\nvar setSymbolDesc = DESCRIPTORS && $fails(function () {\n return _create(dP({}, 'a', {\n get: function () { return dP(this, 'a', { value: 7 }).a; }\n })).a != 7;\n}) ? function (it, key, D) {\n var protoDesc = gOPD(ObjectProto, key);\n if (protoDesc) delete ObjectProto[key];\n dP(it, key, D);\n if (protoDesc && it !== ObjectProto) dP(ObjectProto, key, protoDesc);\n} : dP;\n\nvar wrap = function (tag) {\n var sym = AllSymbols[tag] = _create($Symbol[PROTOTYPE]);\n sym._k = tag;\n return sym;\n};\n\nvar isSymbol = USE_NATIVE && typeof $Symbol.iterator == 'symbol' ? function (it) {\n return typeof it == 'symbol';\n} : function (it) {\n return it instanceof $Symbol;\n};\n\nvar $defineProperty = function defineProperty(it, key, D) {\n if (it === ObjectProto) $defineProperty(OPSymbols, key, D);\n anObject(it);\n key = toPrimitive(key, true);\n anObject(D);\n if (has(AllSymbols, key)) {\n if (!D.enumerable) {\n if (!has(it, HIDDEN)) dP(it, HIDDEN, createDesc(1, {}));\n it[HIDDEN][key] = true;\n } else {\n if (has(it, HIDDEN) && it[HIDDEN][key]) it[HIDDEN][key] = false;\n D = _create(D, { enumerable: createDesc(0, false) });\n } return setSymbolDesc(it, key, D);\n } return dP(it, key, D);\n};\nvar $defineProperties = function defineProperties(it, P) {\n anObject(it);\n var keys = enumKeys(P = toIObject(P));\n var i = 0;\n var l = keys.length;\n var key;\n while (l > i) $defineProperty(it, key = keys[i++], P[key]);\n return it;\n};\nvar $create = function create(it, P) {\n return P === undefined ? _create(it) : $defineProperties(_create(it), P);\n};\nvar $propertyIsEnumerable = function propertyIsEnumerable(key) {\n var E = isEnum.call(this, key = toPrimitive(key, true));\n if (this === ObjectProto && has(AllSymbols, key) && !has(OPSymbols, key)) return false;\n return E || !has(this, key) || !has(AllSymbols, key) || has(this, HIDDEN) && this[HIDDEN][key] ? E : true;\n};\nvar $getOwnPropertyDescriptor = function getOwnPropertyDescriptor(it, key) {\n it = toIObject(it);\n key = toPrimitive(key, true);\n if (it === ObjectProto && has(AllSymbols, key) && !has(OPSymbols, key)) return;\n var D = gOPD(it, key);\n if (D && has(AllSymbols, key) && !(has(it, HIDDEN) && it[HIDDEN][key])) D.enumerable = true;\n return D;\n};\nvar $getOwnPropertyNames = function getOwnPropertyNames(it) {\n var names = gOPN(toIObject(it));\n var result = [];\n var i = 0;\n var key;\n while (names.length > i) {\n if (!has(AllSymbols, key = names[i++]) && key != HIDDEN && key != META) result.push(key);\n } return result;\n};\nvar $getOwnPropertySymbols = function getOwnPropertySymbols(it) {\n var IS_OP = it === ObjectProto;\n var names = gOPN(IS_OP ? OPSymbols : toIObject(it));\n var result = [];\n var i = 0;\n var key;\n while (names.length > i) {\n if (has(AllSymbols, key = names[i++]) && (IS_OP ? has(ObjectProto, key) : true)) result.push(AllSymbols[key]);\n } return result;\n};\n\n// 19.4.1.1 Symbol([description])\nif (!USE_NATIVE) {\n $Symbol = function Symbol() {\n if (this instanceof $Symbol) throw TypeError('Symbol is not a constructor!');\n var tag = uid(arguments.length > 0 ? arguments[0] : undefined);\n var $set = function (value) {\n if (this === ObjectProto) $set.call(OPSymbols, value);\n if (has(this, HIDDEN) && has(this[HIDDEN], tag)) this[HIDDEN][tag] = false;\n setSymbolDesc(this, tag, createDesc(1, value));\n };\n if (DESCRIPTORS && setter) setSymbolDesc(ObjectProto, tag, { configurable: true, set: $set });\n return wrap(tag);\n };\n redefine($Symbol[PROTOTYPE], 'toString', function toString() {\n return this._k;\n });\n\n $GOPD.f = $getOwnPropertyDescriptor;\n $DP.f = $defineProperty;\n require('./_object-gopn').f = gOPNExt.f = $getOwnPropertyNames;\n require('./_object-pie').f = $propertyIsEnumerable;\n $GOPS.f = $getOwnPropertySymbols;\n\n if (DESCRIPTORS && !require('./_library')) {\n redefine(ObjectProto, 'propertyIsEnumerable', $propertyIsEnumerable, true);\n }\n\n wksExt.f = function (name) {\n return wrap(wks(name));\n };\n}\n\n$export($export.G + $export.W + $export.F * !USE_NATIVE, { Symbol: $Symbol });\n\nfor (var es6Symbols = (\n // 19.4.2.2, 19.4.2.3, 19.4.2.4, 19.4.2.6, 19.4.2.8, 19.4.2.9, 19.4.2.10, 19.4.2.11, 19.4.2.12, 19.4.2.13, 19.4.2.14\n 'hasInstance,isConcatSpreadable,iterator,match,replace,search,species,split,toPrimitive,toStringTag,unscopables'\n).split(','), j = 0; es6Symbols.length > j;)wks(es6Symbols[j++]);\n\nfor (var wellKnownSymbols = $keys(wks.store), k = 0; wellKnownSymbols.length > k;) wksDefine(wellKnownSymbols[k++]);\n\n$export($export.S + $export.F * !USE_NATIVE, 'Symbol', {\n // 19.4.2.1 Symbol.for(key)\n 'for': function (key) {\n return has(SymbolRegistry, key += '')\n ? SymbolRegistry[key]\n : SymbolRegistry[key] = $Symbol(key);\n },\n // 19.4.2.5 Symbol.keyFor(sym)\n keyFor: function keyFor(sym) {\n if (!isSymbol(sym)) throw TypeError(sym + ' is not a symbol!');\n for (var key in SymbolRegistry) if (SymbolRegistry[key] === sym) return key;\n },\n useSetter: function () { setter = true; },\n useSimple: function () { setter = false; }\n});\n\n$export($export.S + $export.F * !USE_NATIVE, 'Object', {\n // 19.1.2.2 Object.create(O [, Properties])\n create: $create,\n // 19.1.2.4 Object.defineProperty(O, P, Attributes)\n defineProperty: $defineProperty,\n // 19.1.2.3 Object.defineProperties(O, Properties)\n defineProperties: $defineProperties,\n // 19.1.2.6 Object.getOwnPropertyDescriptor(O, P)\n getOwnPropertyDescriptor: $getOwnPropertyDescriptor,\n // 19.1.2.7 Object.getOwnPropertyNames(O)\n getOwnPropertyNames: $getOwnPropertyNames,\n // 19.1.2.8 Object.getOwnPropertySymbols(O)\n getOwnPropertySymbols: $getOwnPropertySymbols\n});\n\n// Chrome 38 and 39 `Object.getOwnPropertySymbols` fails on primitives\n// https://bugs.chromium.org/p/v8/issues/detail?id=3443\nvar FAILS_ON_PRIMITIVES = $fails(function () { $GOPS.f(1); });\n\n$export($export.S + $export.F * FAILS_ON_PRIMITIVES, 'Object', {\n getOwnPropertySymbols: function getOwnPropertySymbols(it) {\n return $GOPS.f(toObject(it));\n }\n});\n\n// 24.3.2 JSON.stringify(value [, replacer [, space]])\n$JSON && $export($export.S + $export.F * (!USE_NATIVE || $fails(function () {\n var S = $Symbol();\n // MS Edge converts symbol values to JSON as {}\n // WebKit converts symbol values to JSON as null\n // V8 throws on boxed symbols\n return _stringify([S]) != '[null]' || _stringify({ a: S }) != '{}' || _stringify(Object(S)) != '{}';\n})), 'JSON', {\n stringify: function stringify(it) {\n var args = [it];\n var i = 1;\n var replacer, $replacer;\n while (arguments.length > i) args.push(arguments[i++]);\n $replacer = replacer = args[1];\n if (!isObject(replacer) && it === undefined || isSymbol(it)) return; // IE8 returns string on undefined\n if (!isArray(replacer)) replacer = function (key, value) {\n if (typeof $replacer == 'function') value = $replacer.call(this, key, value);\n if (!isSymbol(value)) return value;\n };\n args[1] = replacer;\n return _stringify.apply($JSON, args);\n }\n});\n\n// 19.4.3.4 Symbol.prototype[@@toPrimitive](hint)\n$Symbol[PROTOTYPE][TO_PRIMITIVE] || require('./_hide')($Symbol[PROTOTYPE], TO_PRIMITIVE, $Symbol[PROTOTYPE].valueOf);\n// 19.4.3.5 Symbol.prototype[@@toStringTag]\nsetToStringTag($Symbol, 'Symbol');\n// 20.2.1.9 Math[@@toStringTag]\nsetToStringTag(Math, 'Math', true);\n// 24.3.3 JSON[@@toStringTag]\nsetToStringTag(global.JSON, 'JSON', true);\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/es6.symbol.js\n// module id = 275\n// module chunks = 0","module.exports = require('./_shared')('native-function-to-string', Function.toString);\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/_function-to-string.js\n// module id = 276\n// module chunks = 0","// all enumerable object keys, includes symbols\nvar getKeys = require('./_object-keys');\nvar gOPS = require('./_object-gops');\nvar pIE = require('./_object-pie');\nmodule.exports = function (it) {\n var result = getKeys(it);\n var getSymbols = gOPS.f;\n if (getSymbols) {\n var symbols = getSymbols(it);\n var isEnum = pIE.f;\n var i = 0;\n var key;\n while (symbols.length > i) if (isEnum.call(it, key = symbols[i++])) result.push(key);\n } return result;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/_enum-keys.js\n// module id = 277\n// module chunks = 0","var $export = require('./_export');\n// 19.1.2.2 / 15.2.3.5 Object.create(O [, Properties])\n$export($export.S, 'Object', { create: require('./_object-create') });\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/es6.object.create.js\n// module id = 278\n// module chunks = 0","var $export = require('./_export');\n// 19.1.2.4 / 15.2.3.6 Object.defineProperty(O, P, Attributes)\n$export($export.S + $export.F * !require('./_descriptors'), 'Object', { defineProperty: require('./_object-dp').f });\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/es6.object.define-property.js\n// module id = 279\n// module chunks = 0","var $export = require('./_export');\n// 19.1.2.3 / 15.2.3.7 Object.defineProperties(O, Properties)\n$export($export.S + $export.F * !require('./_descriptors'), 'Object', { defineProperties: require('./_object-dps') });\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/es6.object.define-properties.js\n// module id = 280\n// module chunks = 0","// 19.1.2.6 Object.getOwnPropertyDescriptor(O, P)\nvar toIObject = require('./_to-iobject');\nvar $getOwnPropertyDescriptor = require('./_object-gopd').f;\n\nrequire('./_object-sap')('getOwnPropertyDescriptor', function () {\n return function getOwnPropertyDescriptor(it, key) {\n return $getOwnPropertyDescriptor(toIObject(it), key);\n };\n});\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/es6.object.get-own-property-descriptor.js\n// module id = 281\n// module chunks = 0","// 19.1.2.9 Object.getPrototypeOf(O)\nvar toObject = require('./_to-object');\nvar $getPrototypeOf = require('./_object-gpo');\n\nrequire('./_object-sap')('getPrototypeOf', function () {\n return function getPrototypeOf(it) {\n return $getPrototypeOf(toObject(it));\n };\n});\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/es6.object.get-prototype-of.js\n// module id = 282\n// module chunks = 0","// 19.1.2.14 Object.keys(O)\nvar toObject = require('./_to-object');\nvar $keys = require('./_object-keys');\n\nrequire('./_object-sap')('keys', function () {\n return function keys(it) {\n return $keys(toObject(it));\n };\n});\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/es6.object.keys.js\n// module id = 283\n// module chunks = 0","// 19.1.2.7 Object.getOwnPropertyNames(O)\nrequire('./_object-sap')('getOwnPropertyNames', function () {\n return require('./_object-gopn-ext').f;\n});\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/es6.object.get-own-property-names.js\n// module id = 284\n// module chunks = 0","// 19.1.2.5 Object.freeze(O)\nvar isObject = require('./_is-object');\nvar meta = require('./_meta').onFreeze;\n\nrequire('./_object-sap')('freeze', function ($freeze) {\n return function freeze(it) {\n return $freeze && isObject(it) ? $freeze(meta(it)) : it;\n };\n});\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/es6.object.freeze.js\n// module id = 285\n// module chunks = 0","// 19.1.2.17 Object.seal(O)\nvar isObject = require('./_is-object');\nvar meta = require('./_meta').onFreeze;\n\nrequire('./_object-sap')('seal', function ($seal) {\n return function seal(it) {\n return $seal && isObject(it) ? $seal(meta(it)) : it;\n };\n});\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/es6.object.seal.js\n// module id = 286\n// module chunks = 0","// 19.1.2.15 Object.preventExtensions(O)\nvar isObject = require('./_is-object');\nvar meta = require('./_meta').onFreeze;\n\nrequire('./_object-sap')('preventExtensions', function ($preventExtensions) {\n return function preventExtensions(it) {\n return $preventExtensions && isObject(it) ? $preventExtensions(meta(it)) : it;\n };\n});\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/es6.object.prevent-extensions.js\n// module id = 287\n// module chunks = 0","// 19.1.2.12 Object.isFrozen(O)\nvar isObject = require('./_is-object');\n\nrequire('./_object-sap')('isFrozen', function ($isFrozen) {\n return function isFrozen(it) {\n return isObject(it) ? $isFrozen ? $isFrozen(it) : false : true;\n };\n});\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/es6.object.is-frozen.js\n// module id = 288\n// module chunks = 0","// 19.1.2.13 Object.isSealed(O)\nvar isObject = require('./_is-object');\n\nrequire('./_object-sap')('isSealed', function ($isSealed) {\n return function isSealed(it) {\n return isObject(it) ? $isSealed ? $isSealed(it) : false : true;\n };\n});\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/es6.object.is-sealed.js\n// module id = 289\n// module chunks = 0","// 19.1.2.11 Object.isExtensible(O)\nvar isObject = require('./_is-object');\n\nrequire('./_object-sap')('isExtensible', function ($isExtensible) {\n return function isExtensible(it) {\n return isObject(it) ? $isExtensible ? $isExtensible(it) : true : false;\n };\n});\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/es6.object.is-extensible.js\n// module id = 290\n// module chunks = 0","// 19.1.3.1 Object.assign(target, source)\nvar $export = require('./_export');\n\n$export($export.S + $export.F, 'Object', { assign: require('./_object-assign') });\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/es6.object.assign.js\n// module id = 291\n// module chunks = 0","// 19.1.3.10 Object.is(value1, value2)\nvar $export = require('./_export');\n$export($export.S, 'Object', { is: require('./_same-value') });\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/es6.object.is.js\n// module id = 292\n// module chunks = 0","// 19.1.3.19 Object.setPrototypeOf(O, proto)\nvar $export = require('./_export');\n$export($export.S, 'Object', { setPrototypeOf: require('./_set-proto').set });\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/es6.object.set-prototype-of.js\n// module id = 293\n// module chunks = 0","'use strict';\n// 19.1.3.6 Object.prototype.toString()\nvar classof = require('./_classof');\nvar test = {};\ntest[require('./_wks')('toStringTag')] = 'z';\nif (test + '' != '[object z]') {\n require('./_redefine')(Object.prototype, 'toString', function toString() {\n return '[object ' + classof(this) + ']';\n }, true);\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/es6.object.to-string.js\n// module id = 294\n// module chunks = 0","// 19.2.3.2 / 15.3.4.5 Function.prototype.bind(thisArg, args...)\nvar $export = require('./_export');\n\n$export($export.P, 'Function', { bind: require('./_bind') });\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/es6.function.bind.js\n// module id = 295\n// module chunks = 0","var dP = require('./_object-dp').f;\nvar FProto = Function.prototype;\nvar nameRE = /^\\s*function ([^ (]*)/;\nvar NAME = 'name';\n\n// 19.2.4.2 name\nNAME in FProto || require('./_descriptors') && dP(FProto, NAME, {\n configurable: true,\n get: function () {\n try {\n return ('' + this).match(nameRE)[1];\n } catch (e) {\n return '';\n }\n }\n});\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/es6.function.name.js\n// module id = 296\n// module chunks = 0","'use strict';\nvar isObject = require('./_is-object');\nvar getPrototypeOf = require('./_object-gpo');\nvar HAS_INSTANCE = require('./_wks')('hasInstance');\nvar FunctionProto = Function.prototype;\n// 19.2.3.6 Function.prototype[@@hasInstance](V)\nif (!(HAS_INSTANCE in FunctionProto)) require('./_object-dp').f(FunctionProto, HAS_INSTANCE, { value: function (O) {\n if (typeof this != 'function' || !isObject(O)) return false;\n if (!isObject(this.prototype)) return O instanceof this;\n // for environment w/o native `@@hasInstance` logic enough `instanceof`, but add this:\n while (O = getPrototypeOf(O)) if (this.prototype === O) return true;\n return false;\n} });\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/es6.function.has-instance.js\n// module id = 297\n// module chunks = 0","var $export = require('./_export');\nvar $parseInt = require('./_parse-int');\n// 18.2.5 parseInt(string, radix)\n$export($export.G + $export.F * (parseInt != $parseInt), { parseInt: $parseInt });\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/es6.parse-int.js\n// module id = 298\n// module chunks = 0","var $export = require('./_export');\nvar $parseFloat = require('./_parse-float');\n// 18.2.4 parseFloat(string)\n$export($export.G + $export.F * (parseFloat != $parseFloat), { parseFloat: $parseFloat });\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/es6.parse-float.js\n// module id = 299\n// module chunks = 0","'use strict';\nvar global = require('./_global');\nvar has = require('./_has');\nvar cof = require('./_cof');\nvar inheritIfRequired = require('./_inherit-if-required');\nvar toPrimitive = require('./_to-primitive');\nvar fails = require('./_fails');\nvar gOPN = require('./_object-gopn').f;\nvar gOPD = require('./_object-gopd').f;\nvar dP = require('./_object-dp').f;\nvar $trim = require('./_string-trim').trim;\nvar NUMBER = 'Number';\nvar $Number = global[NUMBER];\nvar Base = $Number;\nvar proto = $Number.prototype;\n// Opera ~12 has broken Object#toString\nvar BROKEN_COF = cof(require('./_object-create')(proto)) == NUMBER;\nvar TRIM = 'trim' in String.prototype;\n\n// 7.1.3 ToNumber(argument)\nvar toNumber = function (argument) {\n var it = toPrimitive(argument, false);\n if (typeof it == 'string' && it.length > 2) {\n it = TRIM ? it.trim() : $trim(it, 3);\n var first = it.charCodeAt(0);\n var third, radix, maxCode;\n if (first === 43 || first === 45) {\n third = it.charCodeAt(2);\n if (third === 88 || third === 120) return NaN; // Number('+0x1') should be NaN, old V8 fix\n } else if (first === 48) {\n switch (it.charCodeAt(1)) {\n case 66: case 98: radix = 2; maxCode = 49; break; // fast equal /^0b[01]+$/i\n case 79: case 111: radix = 8; maxCode = 55; break; // fast equal /^0o[0-7]+$/i\n default: return +it;\n }\n for (var digits = it.slice(2), i = 0, l = digits.length, code; i < l; i++) {\n code = digits.charCodeAt(i);\n // parseInt parses a string to a first unavailable symbol\n // but ToNumber should return NaN if a string contains unavailable symbols\n if (code < 48 || code > maxCode) return NaN;\n } return parseInt(digits, radix);\n }\n } return +it;\n};\n\nif (!$Number(' 0o1') || !$Number('0b1') || $Number('+0x1')) {\n $Number = function Number(value) {\n var it = arguments.length < 1 ? 0 : value;\n var that = this;\n return that instanceof $Number\n // check on 1..constructor(foo) case\n && (BROKEN_COF ? fails(function () { proto.valueOf.call(that); }) : cof(that) != NUMBER)\n ? inheritIfRequired(new Base(toNumber(it)), that, $Number) : toNumber(it);\n };\n for (var keys = require('./_descriptors') ? gOPN(Base) : (\n // ES3:\n 'MAX_VALUE,MIN_VALUE,NaN,NEGATIVE_INFINITY,POSITIVE_INFINITY,' +\n // ES6 (in case, if modules with ES6 Number statics required before):\n 'EPSILON,isFinite,isInteger,isNaN,isSafeInteger,MAX_SAFE_INTEGER,' +\n 'MIN_SAFE_INTEGER,parseFloat,parseInt,isInteger'\n ).split(','), j = 0, key; keys.length > j; j++) {\n if (has(Base, key = keys[j]) && !has($Number, key)) {\n dP($Number, key, gOPD(Base, key));\n }\n }\n $Number.prototype = proto;\n proto.constructor = $Number;\n require('./_redefine')(global, NUMBER, $Number);\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/es6.number.constructor.js\n// module id = 300\n// module chunks = 0","'use strict';\nvar $export = require('./_export');\nvar toInteger = require('./_to-integer');\nvar aNumberValue = require('./_a-number-value');\nvar repeat = require('./_string-repeat');\nvar $toFixed = 1.0.toFixed;\nvar floor = Math.floor;\nvar data = [0, 0, 0, 0, 0, 0];\nvar ERROR = 'Number.toFixed: incorrect invocation!';\nvar ZERO = '0';\n\nvar multiply = function (n, c) {\n var i = -1;\n var c2 = c;\n while (++i < 6) {\n c2 += n * data[i];\n data[i] = c2 % 1e7;\n c2 = floor(c2 / 1e7);\n }\n};\nvar divide = function (n) {\n var i = 6;\n var c = 0;\n while (--i >= 0) {\n c += data[i];\n data[i] = floor(c / n);\n c = (c % n) * 1e7;\n }\n};\nvar numToString = function () {\n var i = 6;\n var s = '';\n while (--i >= 0) {\n if (s !== '' || i === 0 || data[i] !== 0) {\n var t = String(data[i]);\n s = s === '' ? t : s + repeat.call(ZERO, 7 - t.length) + t;\n }\n } return s;\n};\nvar pow = function (x, n, acc) {\n return n === 0 ? acc : n % 2 === 1 ? pow(x, n - 1, acc * x) : pow(x * x, n / 2, acc);\n};\nvar log = function (x) {\n var n = 0;\n var x2 = x;\n while (x2 >= 4096) {\n n += 12;\n x2 /= 4096;\n }\n while (x2 >= 2) {\n n += 1;\n x2 /= 2;\n } return n;\n};\n\n$export($export.P + $export.F * (!!$toFixed && (\n 0.00008.toFixed(3) !== '0.000' ||\n 0.9.toFixed(0) !== '1' ||\n 1.255.toFixed(2) !== '1.25' ||\n 1000000000000000128.0.toFixed(0) !== '1000000000000000128'\n) || !require('./_fails')(function () {\n // V8 ~ Android 4.3-\n $toFixed.call({});\n})), 'Number', {\n toFixed: function toFixed(fractionDigits) {\n var x = aNumberValue(this, ERROR);\n var f = toInteger(fractionDigits);\n var s = '';\n var m = ZERO;\n var e, z, j, k;\n if (f < 0 || f > 20) throw RangeError(ERROR);\n // eslint-disable-next-line no-self-compare\n if (x != x) return 'NaN';\n if (x <= -1e21 || x >= 1e21) return String(x);\n if (x < 0) {\n s = '-';\n x = -x;\n }\n if (x > 1e-21) {\n e = log(x * pow(2, 69, 1)) - 69;\n z = e < 0 ? x * pow(2, -e, 1) : x / pow(2, e, 1);\n z *= 0x10000000000000;\n e = 52 - e;\n if (e > 0) {\n multiply(0, z);\n j = f;\n while (j >= 7) {\n multiply(1e7, 0);\n j -= 7;\n }\n multiply(pow(10, j, 1), 0);\n j = e - 1;\n while (j >= 23) {\n divide(1 << 23);\n j -= 23;\n }\n divide(1 << j);\n multiply(1, 1);\n divide(2);\n m = numToString();\n } else {\n multiply(0, z);\n multiply(1 << -e, 0);\n m = numToString() + repeat.call(ZERO, f);\n }\n }\n if (f > 0) {\n k = m.length;\n m = s + (k <= f ? '0.' + repeat.call(ZERO, f - k) + m : m.slice(0, k - f) + '.' + m.slice(k - f));\n } else {\n m = s + m;\n } return m;\n }\n});\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/es6.number.to-fixed.js\n// module id = 301\n// module chunks = 0","'use strict';\nvar $export = require('./_export');\nvar $fails = require('./_fails');\nvar aNumberValue = require('./_a-number-value');\nvar $toPrecision = 1.0.toPrecision;\n\n$export($export.P + $export.F * ($fails(function () {\n // IE7-\n return $toPrecision.call(1, undefined) !== '1';\n}) || !$fails(function () {\n // V8 ~ Android 4.3-\n $toPrecision.call({});\n})), 'Number', {\n toPrecision: function toPrecision(precision) {\n var that = aNumberValue(this, 'Number#toPrecision: incorrect invocation!');\n return precision === undefined ? $toPrecision.call(that) : $toPrecision.call(that, precision);\n }\n});\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/es6.number.to-precision.js\n// module id = 302\n// module chunks = 0","// 20.1.2.1 Number.EPSILON\nvar $export = require('./_export');\n\n$export($export.S, 'Number', { EPSILON: Math.pow(2, -52) });\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/es6.number.epsilon.js\n// module id = 303\n// module chunks = 0","// 20.1.2.2 Number.isFinite(number)\nvar $export = require('./_export');\nvar _isFinite = require('./_global').isFinite;\n\n$export($export.S, 'Number', {\n isFinite: function isFinite(it) {\n return typeof it == 'number' && _isFinite(it);\n }\n});\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/es6.number.is-finite.js\n// module id = 304\n// module chunks = 0","// 20.1.2.3 Number.isInteger(number)\nvar $export = require('./_export');\n\n$export($export.S, 'Number', { isInteger: require('./_is-integer') });\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/es6.number.is-integer.js\n// module id = 305\n// module chunks = 0","// 20.1.2.4 Number.isNaN(number)\nvar $export = require('./_export');\n\n$export($export.S, 'Number', {\n isNaN: function isNaN(number) {\n // eslint-disable-next-line no-self-compare\n return number != number;\n }\n});\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/es6.number.is-nan.js\n// module id = 306\n// module chunks = 0","// 20.1.2.5 Number.isSafeInteger(number)\nvar $export = require('./_export');\nvar isInteger = require('./_is-integer');\nvar abs = Math.abs;\n\n$export($export.S, 'Number', {\n isSafeInteger: function isSafeInteger(number) {\n return isInteger(number) && abs(number) <= 0x1fffffffffffff;\n }\n});\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/es6.number.is-safe-integer.js\n// module id = 307\n// module chunks = 0","// 20.1.2.6 Number.MAX_SAFE_INTEGER\nvar $export = require('./_export');\n\n$export($export.S, 'Number', { MAX_SAFE_INTEGER: 0x1fffffffffffff });\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/es6.number.max-safe-integer.js\n// module id = 308\n// module chunks = 0","// 20.1.2.10 Number.MIN_SAFE_INTEGER\nvar $export = require('./_export');\n\n$export($export.S, 'Number', { MIN_SAFE_INTEGER: -0x1fffffffffffff });\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/es6.number.min-safe-integer.js\n// module id = 309\n// module chunks = 0","var $export = require('./_export');\nvar $parseFloat = require('./_parse-float');\n// 20.1.2.12 Number.parseFloat(string)\n$export($export.S + $export.F * (Number.parseFloat != $parseFloat), 'Number', { parseFloat: $parseFloat });\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/es6.number.parse-float.js\n// module id = 310\n// module chunks = 0","var $export = require('./_export');\nvar $parseInt = require('./_parse-int');\n// 20.1.2.13 Number.parseInt(string, radix)\n$export($export.S + $export.F * (Number.parseInt != $parseInt), 'Number', { parseInt: $parseInt });\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/es6.number.parse-int.js\n// module id = 311\n// module chunks = 0","// 20.2.2.3 Math.acosh(x)\nvar $export = require('./_export');\nvar log1p = require('./_math-log1p');\nvar sqrt = Math.sqrt;\nvar $acosh = Math.acosh;\n\n$export($export.S + $export.F * !($acosh\n // V8 bug: https://code.google.com/p/v8/issues/detail?id=3509\n && Math.floor($acosh(Number.MAX_VALUE)) == 710\n // Tor Browser bug: Math.acosh(Infinity) -> NaN\n && $acosh(Infinity) == Infinity\n), 'Math', {\n acosh: function acosh(x) {\n return (x = +x) < 1 ? NaN : x > 94906265.62425156\n ? Math.log(x) + Math.LN2\n : log1p(x - 1 + sqrt(x - 1) * sqrt(x + 1));\n }\n});\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/es6.math.acosh.js\n// module id = 312\n// module chunks = 0","// 20.2.2.5 Math.asinh(x)\nvar $export = require('./_export');\nvar $asinh = Math.asinh;\n\nfunction asinh(x) {\n return !isFinite(x = +x) || x == 0 ? x : x < 0 ? -asinh(-x) : Math.log(x + Math.sqrt(x * x + 1));\n}\n\n// Tor Browser bug: Math.asinh(0) -> -0\n$export($export.S + $export.F * !($asinh && 1 / $asinh(0) > 0), 'Math', { asinh: asinh });\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/es6.math.asinh.js\n// module id = 313\n// module chunks = 0","// 20.2.2.7 Math.atanh(x)\nvar $export = require('./_export');\nvar $atanh = Math.atanh;\n\n// Tor Browser bug: Math.atanh(-0) -> 0\n$export($export.S + $export.F * !($atanh && 1 / $atanh(-0) < 0), 'Math', {\n atanh: function atanh(x) {\n return (x = +x) == 0 ? x : Math.log((1 + x) / (1 - x)) / 2;\n }\n});\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/es6.math.atanh.js\n// module id = 314\n// module chunks = 0","// 20.2.2.9 Math.cbrt(x)\nvar $export = require('./_export');\nvar sign = require('./_math-sign');\n\n$export($export.S, 'Math', {\n cbrt: function cbrt(x) {\n return sign(x = +x) * Math.pow(Math.abs(x), 1 / 3);\n }\n});\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/es6.math.cbrt.js\n// module id = 315\n// module chunks = 0","// 20.2.2.11 Math.clz32(x)\nvar $export = require('./_export');\n\n$export($export.S, 'Math', {\n clz32: function clz32(x) {\n return (x >>>= 0) ? 31 - Math.floor(Math.log(x + 0.5) * Math.LOG2E) : 32;\n }\n});\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/es6.math.clz32.js\n// module id = 316\n// module chunks = 0","// 20.2.2.12 Math.cosh(x)\nvar $export = require('./_export');\nvar exp = Math.exp;\n\n$export($export.S, 'Math', {\n cosh: function cosh(x) {\n return (exp(x = +x) + exp(-x)) / 2;\n }\n});\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/es6.math.cosh.js\n// module id = 317\n// module chunks = 0","// 20.2.2.14 Math.expm1(x)\nvar $export = require('./_export');\nvar $expm1 = require('./_math-expm1');\n\n$export($export.S + $export.F * ($expm1 != Math.expm1), 'Math', { expm1: $expm1 });\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/es6.math.expm1.js\n// module id = 318\n// module chunks = 0","// 20.2.2.16 Math.fround(x)\nvar $export = require('./_export');\n\n$export($export.S, 'Math', { fround: require('./_math-fround') });\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/es6.math.fround.js\n// module id = 319\n// module chunks = 0","// 20.2.2.17 Math.hypot([value1[, value2[, … ]]])\nvar $export = require('./_export');\nvar abs = Math.abs;\n\n$export($export.S, 'Math', {\n hypot: function hypot(value1, value2) { // eslint-disable-line no-unused-vars\n var sum = 0;\n var i = 0;\n var aLen = arguments.length;\n var larg = 0;\n var arg, div;\n while (i < aLen) {\n arg = abs(arguments[i++]);\n if (larg < arg) {\n div = larg / arg;\n sum = sum * div * div + 1;\n larg = arg;\n } else if (arg > 0) {\n div = arg / larg;\n sum += div * div;\n } else sum += arg;\n }\n return larg === Infinity ? Infinity : larg * Math.sqrt(sum);\n }\n});\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/es6.math.hypot.js\n// module id = 320\n// module chunks = 0","// 20.2.2.18 Math.imul(x, y)\nvar $export = require('./_export');\nvar $imul = Math.imul;\n\n// some WebKit versions fails with big numbers, some has wrong arity\n$export($export.S + $export.F * require('./_fails')(function () {\n return $imul(0xffffffff, 5) != -5 || $imul.length != 2;\n}), 'Math', {\n imul: function imul(x, y) {\n var UINT16 = 0xffff;\n var xn = +x;\n var yn = +y;\n var xl = UINT16 & xn;\n var yl = UINT16 & yn;\n return 0 | xl * yl + ((UINT16 & xn >>> 16) * yl + xl * (UINT16 & yn >>> 16) << 16 >>> 0);\n }\n});\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/es6.math.imul.js\n// module id = 321\n// module chunks = 0","// 20.2.2.21 Math.log10(x)\nvar $export = require('./_export');\n\n$export($export.S, 'Math', {\n log10: function log10(x) {\n return Math.log(x) * Math.LOG10E;\n }\n});\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/es6.math.log10.js\n// module id = 322\n// module chunks = 0","// 20.2.2.20 Math.log1p(x)\nvar $export = require('./_export');\n\n$export($export.S, 'Math', { log1p: require('./_math-log1p') });\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/es6.math.log1p.js\n// module id = 323\n// module chunks = 0","// 20.2.2.22 Math.log2(x)\nvar $export = require('./_export');\n\n$export($export.S, 'Math', {\n log2: function log2(x) {\n return Math.log(x) / Math.LN2;\n }\n});\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/es6.math.log2.js\n// module id = 324\n// module chunks = 0","// 20.2.2.28 Math.sign(x)\nvar $export = require('./_export');\n\n$export($export.S, 'Math', { sign: require('./_math-sign') });\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/es6.math.sign.js\n// module id = 325\n// module chunks = 0","// 20.2.2.30 Math.sinh(x)\nvar $export = require('./_export');\nvar expm1 = require('./_math-expm1');\nvar exp = Math.exp;\n\n// V8 near Chromium 38 has a problem with very small numbers\n$export($export.S + $export.F * require('./_fails')(function () {\n return !Math.sinh(-2e-17) != -2e-17;\n}), 'Math', {\n sinh: function sinh(x) {\n return Math.abs(x = +x) < 1\n ? (expm1(x) - expm1(-x)) / 2\n : (exp(x - 1) - exp(-x - 1)) * (Math.E / 2);\n }\n});\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/es6.math.sinh.js\n// module id = 326\n// module chunks = 0","// 20.2.2.33 Math.tanh(x)\nvar $export = require('./_export');\nvar expm1 = require('./_math-expm1');\nvar exp = Math.exp;\n\n$export($export.S, 'Math', {\n tanh: function tanh(x) {\n var a = expm1(x = +x);\n var b = expm1(-x);\n return a == Infinity ? 1 : b == Infinity ? -1 : (a - b) / (exp(x) + exp(-x));\n }\n});\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/es6.math.tanh.js\n// module id = 327\n// module chunks = 0","// 20.2.2.34 Math.trunc(x)\nvar $export = require('./_export');\n\n$export($export.S, 'Math', {\n trunc: function trunc(it) {\n return (it > 0 ? Math.floor : Math.ceil)(it);\n }\n});\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/es6.math.trunc.js\n// module id = 328\n// module chunks = 0","var $export = require('./_export');\nvar toAbsoluteIndex = require('./_to-absolute-index');\nvar fromCharCode = String.fromCharCode;\nvar $fromCodePoint = String.fromCodePoint;\n\n// length should be 1, old FF problem\n$export($export.S + $export.F * (!!$fromCodePoint && $fromCodePoint.length != 1), 'String', {\n // 21.1.2.2 String.fromCodePoint(...codePoints)\n fromCodePoint: function fromCodePoint(x) { // eslint-disable-line no-unused-vars\n var res = [];\n var aLen = arguments.length;\n var i = 0;\n var code;\n while (aLen > i) {\n code = +arguments[i++];\n if (toAbsoluteIndex(code, 0x10ffff) !== code) throw RangeError(code + ' is not a valid code point');\n res.push(code < 0x10000\n ? fromCharCode(code)\n : fromCharCode(((code -= 0x10000) >> 10) + 0xd800, code % 0x400 + 0xdc00)\n );\n } return res.join('');\n }\n});\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/es6.string.from-code-point.js\n// module id = 329\n// module chunks = 0","var $export = require('./_export');\nvar toIObject = require('./_to-iobject');\nvar toLength = require('./_to-length');\n\n$export($export.S, 'String', {\n // 21.1.2.4 String.raw(callSite, ...substitutions)\n raw: function raw(callSite) {\n var tpl = toIObject(callSite.raw);\n var len = toLength(tpl.length);\n var aLen = arguments.length;\n var res = [];\n var i = 0;\n while (len > i) {\n res.push(String(tpl[i++]));\n if (i < aLen) res.push(String(arguments[i]));\n } return res.join('');\n }\n});\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/es6.string.raw.js\n// module id = 330\n// module chunks = 0","'use strict';\n// 21.1.3.25 String.prototype.trim()\nrequire('./_string-trim')('trim', function ($trim) {\n return function trim() {\n return $trim(this, 3);\n };\n});\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/es6.string.trim.js\n// module id = 331\n// module chunks = 0","'use strict';\nvar $at = require('./_string-at')(true);\n\n// 21.1.3.27 String.prototype[@@iterator]()\nrequire('./_iter-define')(String, 'String', function (iterated) {\n this._t = String(iterated); // target\n this._i = 0; // next index\n// 21.1.5.2.1 %StringIteratorPrototype%.next()\n}, function () {\n var O = this._t;\n var index = this._i;\n var point;\n if (index >= O.length) return { value: undefined, done: true };\n point = $at(O, index);\n this._i += point.length;\n return { value: point, done: false };\n});\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/es6.string.iterator.js\n// module id = 332\n// module chunks = 0","'use strict';\nvar $export = require('./_export');\nvar $at = require('./_string-at')(false);\n$export($export.P, 'String', {\n // 21.1.3.3 String.prototype.codePointAt(pos)\n codePointAt: function codePointAt(pos) {\n return $at(this, pos);\n }\n});\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/es6.string.code-point-at.js\n// module id = 333\n// module chunks = 0","// 21.1.3.6 String.prototype.endsWith(searchString [, endPosition])\n'use strict';\nvar $export = require('./_export');\nvar toLength = require('./_to-length');\nvar context = require('./_string-context');\nvar ENDS_WITH = 'endsWith';\nvar $endsWith = ''[ENDS_WITH];\n\n$export($export.P + $export.F * require('./_fails-is-regexp')(ENDS_WITH), 'String', {\n endsWith: function endsWith(searchString /* , endPosition = @length */) {\n var that = context(this, searchString, ENDS_WITH);\n var endPosition = arguments.length > 1 ? arguments[1] : undefined;\n var len = toLength(that.length);\n var end = endPosition === undefined ? len : Math.min(toLength(endPosition), len);\n var search = String(searchString);\n return $endsWith\n ? $endsWith.call(that, search, end)\n : that.slice(end - search.length, end) === search;\n }\n});\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/es6.string.ends-with.js\n// module id = 334\n// module chunks = 0","// 21.1.3.7 String.prototype.includes(searchString, position = 0)\n'use strict';\nvar $export = require('./_export');\nvar context = require('./_string-context');\nvar INCLUDES = 'includes';\n\n$export($export.P + $export.F * require('./_fails-is-regexp')(INCLUDES), 'String', {\n includes: function includes(searchString /* , position = 0 */) {\n return !!~context(this, searchString, INCLUDES)\n .indexOf(searchString, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/es6.string.includes.js\n// module id = 335\n// module chunks = 0","var $export = require('./_export');\n\n$export($export.P, 'String', {\n // 21.1.3.13 String.prototype.repeat(count)\n repeat: require('./_string-repeat')\n});\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/es6.string.repeat.js\n// module id = 336\n// module chunks = 0","// 21.1.3.18 String.prototype.startsWith(searchString [, position ])\n'use strict';\nvar $export = require('./_export');\nvar toLength = require('./_to-length');\nvar context = require('./_string-context');\nvar STARTS_WITH = 'startsWith';\nvar $startsWith = ''[STARTS_WITH];\n\n$export($export.P + $export.F * require('./_fails-is-regexp')(STARTS_WITH), 'String', {\n startsWith: function startsWith(searchString /* , position = 0 */) {\n var that = context(this, searchString, STARTS_WITH);\n var index = toLength(Math.min(arguments.length > 1 ? arguments[1] : undefined, that.length));\n var search = String(searchString);\n return $startsWith\n ? $startsWith.call(that, search, index)\n : that.slice(index, index + search.length) === search;\n }\n});\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/es6.string.starts-with.js\n// module id = 337\n// module chunks = 0","'use strict';\n// B.2.3.2 String.prototype.anchor(name)\nrequire('./_string-html')('anchor', function (createHTML) {\n return function anchor(name) {\n return createHTML(this, 'a', 'name', name);\n };\n});\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/es6.string.anchor.js\n// module id = 338\n// module chunks = 0","'use strict';\n// B.2.3.3 String.prototype.big()\nrequire('./_string-html')('big', function (createHTML) {\n return function big() {\n return createHTML(this, 'big', '', '');\n };\n});\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/es6.string.big.js\n// module id = 339\n// module chunks = 0","'use strict';\n// B.2.3.4 String.prototype.blink()\nrequire('./_string-html')('blink', function (createHTML) {\n return function blink() {\n return createHTML(this, 'blink', '', '');\n };\n});\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/es6.string.blink.js\n// module id = 340\n// module chunks = 0","'use strict';\n// B.2.3.5 String.prototype.bold()\nrequire('./_string-html')('bold', function (createHTML) {\n return function bold() {\n return createHTML(this, 'b', '', '');\n };\n});\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/es6.string.bold.js\n// module id = 341\n// module chunks = 0","'use strict';\n// B.2.3.6 String.prototype.fixed()\nrequire('./_string-html')('fixed', function (createHTML) {\n return function fixed() {\n return createHTML(this, 'tt', '', '');\n };\n});\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/es6.string.fixed.js\n// module id = 342\n// module chunks = 0","'use strict';\n// B.2.3.7 String.prototype.fontcolor(color)\nrequire('./_string-html')('fontcolor', function (createHTML) {\n return function fontcolor(color) {\n return createHTML(this, 'font', 'color', color);\n };\n});\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/es6.string.fontcolor.js\n// module id = 343\n// module chunks = 0","'use strict';\n// B.2.3.8 String.prototype.fontsize(size)\nrequire('./_string-html')('fontsize', function (createHTML) {\n return function fontsize(size) {\n return createHTML(this, 'font', 'size', size);\n };\n});\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/es6.string.fontsize.js\n// module id = 344\n// module chunks = 0","'use strict';\n// B.2.3.9 String.prototype.italics()\nrequire('./_string-html')('italics', function (createHTML) {\n return function italics() {\n return createHTML(this, 'i', '', '');\n };\n});\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/es6.string.italics.js\n// module id = 345\n// module chunks = 0","'use strict';\n// B.2.3.10 String.prototype.link(url)\nrequire('./_string-html')('link', function (createHTML) {\n return function link(url) {\n return createHTML(this, 'a', 'href', url);\n };\n});\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/es6.string.link.js\n// module id = 346\n// module chunks = 0","'use strict';\n// B.2.3.11 String.prototype.small()\nrequire('./_string-html')('small', function (createHTML) {\n return function small() {\n return createHTML(this, 'small', '', '');\n };\n});\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/es6.string.small.js\n// module id = 347\n// module chunks = 0","'use strict';\n// B.2.3.12 String.prototype.strike()\nrequire('./_string-html')('strike', function (createHTML) {\n return function strike() {\n return createHTML(this, 'strike', '', '');\n };\n});\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/es6.string.strike.js\n// module id = 348\n// module chunks = 0","'use strict';\n// B.2.3.13 String.prototype.sub()\nrequire('./_string-html')('sub', function (createHTML) {\n return function sub() {\n return createHTML(this, 'sub', '', '');\n };\n});\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/es6.string.sub.js\n// module id = 349\n// module chunks = 0","'use strict';\n// B.2.3.14 String.prototype.sup()\nrequire('./_string-html')('sup', function (createHTML) {\n return function sup() {\n return createHTML(this, 'sup', '', '');\n };\n});\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/es6.string.sup.js\n// module id = 350\n// module chunks = 0","// 20.3.3.1 / 15.9.4.4 Date.now()\nvar $export = require('./_export');\n\n$export($export.S, 'Date', { now: function () { return new Date().getTime(); } });\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/es6.date.now.js\n// module id = 351\n// module chunks = 0","'use strict';\nvar $export = require('./_export');\nvar toObject = require('./_to-object');\nvar toPrimitive = require('./_to-primitive');\n\n$export($export.P + $export.F * require('./_fails')(function () {\n return new Date(NaN).toJSON() !== null\n || Date.prototype.toJSON.call({ toISOString: function () { return 1; } }) !== 1;\n}), 'Date', {\n // eslint-disable-next-line no-unused-vars\n toJSON: function toJSON(key) {\n var O = toObject(this);\n var pv = toPrimitive(O);\n return typeof pv == 'number' && !isFinite(pv) ? null : O.toISOString();\n }\n});\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/es6.date.to-json.js\n// module id = 352\n// module chunks = 0","// 20.3.4.36 / 15.9.5.43 Date.prototype.toISOString()\nvar $export = require('./_export');\nvar toISOString = require('./_date-to-iso-string');\n\n// PhantomJS / old WebKit has a broken implementations\n$export($export.P + $export.F * (Date.prototype.toISOString !== toISOString), 'Date', {\n toISOString: toISOString\n});\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/es6.date.to-iso-string.js\n// module id = 353\n// module chunks = 0","'use strict';\n// 20.3.4.36 / 15.9.5.43 Date.prototype.toISOString()\nvar fails = require('./_fails');\nvar getTime = Date.prototype.getTime;\nvar $toISOString = Date.prototype.toISOString;\n\nvar lz = function (num) {\n return num > 9 ? num : '0' + num;\n};\n\n// PhantomJS / old WebKit has a broken implementations\nmodule.exports = (fails(function () {\n return $toISOString.call(new Date(-5e13 - 1)) != '0385-07-25T07:06:39.999Z';\n}) || !fails(function () {\n $toISOString.call(new Date(NaN));\n})) ? function toISOString() {\n if (!isFinite(getTime.call(this))) throw RangeError('Invalid time value');\n var d = this;\n var y = d.getUTCFullYear();\n var m = d.getUTCMilliseconds();\n var s = y < 0 ? '-' : y > 9999 ? '+' : '';\n return s + ('00000' + Math.abs(y)).slice(s ? -6 : -4) +\n '-' + lz(d.getUTCMonth() + 1) + '-' + lz(d.getUTCDate()) +\n 'T' + lz(d.getUTCHours()) + ':' + lz(d.getUTCMinutes()) +\n ':' + lz(d.getUTCSeconds()) + '.' + (m > 99 ? m : '0' + lz(m)) + 'Z';\n} : $toISOString;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/_date-to-iso-string.js\n// module id = 354\n// module chunks = 0","var DateProto = Date.prototype;\nvar INVALID_DATE = 'Invalid Date';\nvar TO_STRING = 'toString';\nvar $toString = DateProto[TO_STRING];\nvar getTime = DateProto.getTime;\nif (new Date(NaN) + '' != INVALID_DATE) {\n require('./_redefine')(DateProto, TO_STRING, function toString() {\n var value = getTime.call(this);\n // eslint-disable-next-line no-self-compare\n return value === value ? $toString.call(this) : INVALID_DATE;\n });\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/es6.date.to-string.js\n// module id = 355\n// module chunks = 0","var TO_PRIMITIVE = require('./_wks')('toPrimitive');\nvar proto = Date.prototype;\n\nif (!(TO_PRIMITIVE in proto)) require('./_hide')(proto, TO_PRIMITIVE, require('./_date-to-primitive'));\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/es6.date.to-primitive.js\n// module id = 356\n// module chunks = 0","'use strict';\nvar anObject = require('./_an-object');\nvar toPrimitive = require('./_to-primitive');\nvar NUMBER = 'number';\n\nmodule.exports = function (hint) {\n if (hint !== 'string' && hint !== NUMBER && hint !== 'default') throw TypeError('Incorrect hint');\n return toPrimitive(anObject(this), hint != NUMBER);\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/_date-to-primitive.js\n// module id = 357\n// module chunks = 0","// 22.1.2.2 / 15.4.3.2 Array.isArray(arg)\nvar $export = require('./_export');\n\n$export($export.S, 'Array', { isArray: require('./_is-array') });\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/es6.array.is-array.js\n// module id = 358\n// module chunks = 0","'use strict';\nvar ctx = require('./_ctx');\nvar $export = require('./_export');\nvar toObject = require('./_to-object');\nvar call = require('./_iter-call');\nvar isArrayIter = require('./_is-array-iter');\nvar toLength = require('./_to-length');\nvar createProperty = require('./_create-property');\nvar getIterFn = require('./core.get-iterator-method');\n\n$export($export.S + $export.F * !require('./_iter-detect')(function (iter) { Array.from(iter); }), 'Array', {\n // 22.1.2.1 Array.from(arrayLike, mapfn = undefined, thisArg = undefined)\n from: function from(arrayLike /* , mapfn = undefined, thisArg = undefined */) {\n var O = toObject(arrayLike);\n var C = typeof this == 'function' ? this : Array;\n var aLen = arguments.length;\n var mapfn = aLen > 1 ? arguments[1] : undefined;\n var mapping = mapfn !== undefined;\n var index = 0;\n var iterFn = getIterFn(O);\n var length, result, step, iterator;\n if (mapping) mapfn = ctx(mapfn, aLen > 2 ? arguments[2] : undefined, 2);\n // if object isn't iterable or it's array with default iterator - use simple case\n if (iterFn != undefined && !(C == Array && isArrayIter(iterFn))) {\n for (iterator = iterFn.call(O), result = new C(); !(step = iterator.next()).done; index++) {\n createProperty(result, index, mapping ? call(iterator, mapfn, [step.value, index], true) : step.value);\n }\n } else {\n length = toLength(O.length);\n for (result = new C(length); length > index; index++) {\n createProperty(result, index, mapping ? mapfn(O[index], index) : O[index]);\n }\n }\n result.length = index;\n return result;\n }\n});\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/es6.array.from.js\n// module id = 359\n// module chunks = 0","'use strict';\nvar $export = require('./_export');\nvar createProperty = require('./_create-property');\n\n// WebKit Array.of isn't generic\n$export($export.S + $export.F * require('./_fails')(function () {\n function F() { /* empty */ }\n return !(Array.of.call(F) instanceof F);\n}), 'Array', {\n // 22.1.2.3 Array.of( ...items)\n of: function of(/* ...args */) {\n var index = 0;\n var aLen = arguments.length;\n var result = new (typeof this == 'function' ? this : Array)(aLen);\n while (aLen > index) createProperty(result, index, arguments[index++]);\n result.length = aLen;\n return result;\n }\n});\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/es6.array.of.js\n// module id = 360\n// module chunks = 0","'use strict';\n// 22.1.3.13 Array.prototype.join(separator)\nvar $export = require('./_export');\nvar toIObject = require('./_to-iobject');\nvar arrayJoin = [].join;\n\n// fallback for not array-like strings\n$export($export.P + $export.F * (require('./_iobject') != Object || !require('./_strict-method')(arrayJoin)), 'Array', {\n join: function join(separator) {\n return arrayJoin.call(toIObject(this), separator === undefined ? ',' : separator);\n }\n});\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/es6.array.join.js\n// module id = 361\n// module chunks = 0","'use strict';\nvar $export = require('./_export');\nvar html = require('./_html');\nvar cof = require('./_cof');\nvar toAbsoluteIndex = require('./_to-absolute-index');\nvar toLength = require('./_to-length');\nvar arraySlice = [].slice;\n\n// fallback for not array-like ES3 strings and DOM objects\n$export($export.P + $export.F * require('./_fails')(function () {\n if (html) arraySlice.call(html);\n}), 'Array', {\n slice: function slice(begin, end) {\n var len = toLength(this.length);\n var klass = cof(this);\n end = end === undefined ? len : end;\n if (klass == 'Array') return arraySlice.call(this, begin, end);\n var start = toAbsoluteIndex(begin, len);\n var upTo = toAbsoluteIndex(end, len);\n var size = toLength(upTo - start);\n var cloned = new Array(size);\n var i = 0;\n for (; i < size; i++) cloned[i] = klass == 'String'\n ? this.charAt(start + i)\n : this[start + i];\n return cloned;\n }\n});\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/es6.array.slice.js\n// module id = 362\n// module chunks = 0","'use strict';\nvar $export = require('./_export');\nvar aFunction = require('./_a-function');\nvar toObject = require('./_to-object');\nvar fails = require('./_fails');\nvar $sort = [].sort;\nvar test = [1, 2, 3];\n\n$export($export.P + $export.F * (fails(function () {\n // IE8-\n test.sort(undefined);\n}) || !fails(function () {\n // V8 bug\n test.sort(null);\n // Old WebKit\n}) || !require('./_strict-method')($sort)), 'Array', {\n // 22.1.3.25 Array.prototype.sort(comparefn)\n sort: function sort(comparefn) {\n return comparefn === undefined\n ? $sort.call(toObject(this))\n : $sort.call(toObject(this), aFunction(comparefn));\n }\n});\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/es6.array.sort.js\n// module id = 363\n// module chunks = 0","'use strict';\nvar $export = require('./_export');\nvar $forEach = require('./_array-methods')(0);\nvar STRICT = require('./_strict-method')([].forEach, true);\n\n$export($export.P + $export.F * !STRICT, 'Array', {\n // 22.1.3.10 / 15.4.4.18 Array.prototype.forEach(callbackfn [, thisArg])\n forEach: function forEach(callbackfn /* , thisArg */) {\n return $forEach(this, callbackfn, arguments[1]);\n }\n});\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/es6.array.for-each.js\n// module id = 364\n// module chunks = 0","var isObject = require('./_is-object');\nvar isArray = require('./_is-array');\nvar SPECIES = require('./_wks')('species');\n\nmodule.exports = function (original) {\n var C;\n if (isArray(original)) {\n C = original.constructor;\n // cross-realm fallback\n if (typeof C == 'function' && (C === Array || isArray(C.prototype))) C = undefined;\n if (isObject(C)) {\n C = C[SPECIES];\n if (C === null) C = undefined;\n }\n } return C === undefined ? Array : C;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/_array-species-constructor.js\n// module id = 365\n// module chunks = 0","'use strict';\nvar $export = require('./_export');\nvar $map = require('./_array-methods')(1);\n\n$export($export.P + $export.F * !require('./_strict-method')([].map, true), 'Array', {\n // 22.1.3.15 / 15.4.4.19 Array.prototype.map(callbackfn [, thisArg])\n map: function map(callbackfn /* , thisArg */) {\n return $map(this, callbackfn, arguments[1]);\n }\n});\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/es6.array.map.js\n// module id = 366\n// module chunks = 0","'use strict';\nvar $export = require('./_export');\nvar $filter = require('./_array-methods')(2);\n\n$export($export.P + $export.F * !require('./_strict-method')([].filter, true), 'Array', {\n // 22.1.3.7 / 15.4.4.20 Array.prototype.filter(callbackfn [, thisArg])\n filter: function filter(callbackfn /* , thisArg */) {\n return $filter(this, callbackfn, arguments[1]);\n }\n});\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/es6.array.filter.js\n// module id = 367\n// module chunks = 0","'use strict';\nvar $export = require('./_export');\nvar $some = require('./_array-methods')(3);\n\n$export($export.P + $export.F * !require('./_strict-method')([].some, true), 'Array', {\n // 22.1.3.23 / 15.4.4.17 Array.prototype.some(callbackfn [, thisArg])\n some: function some(callbackfn /* , thisArg */) {\n return $some(this, callbackfn, arguments[1]);\n }\n});\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/es6.array.some.js\n// module id = 368\n// module chunks = 0","'use strict';\nvar $export = require('./_export');\nvar $every = require('./_array-methods')(4);\n\n$export($export.P + $export.F * !require('./_strict-method')([].every, true), 'Array', {\n // 22.1.3.5 / 15.4.4.16 Array.prototype.every(callbackfn [, thisArg])\n every: function every(callbackfn /* , thisArg */) {\n return $every(this, callbackfn, arguments[1]);\n }\n});\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/es6.array.every.js\n// module id = 369\n// module chunks = 0","'use strict';\nvar $export = require('./_export');\nvar $reduce = require('./_array-reduce');\n\n$export($export.P + $export.F * !require('./_strict-method')([].reduce, true), 'Array', {\n // 22.1.3.18 / 15.4.4.21 Array.prototype.reduce(callbackfn [, initialValue])\n reduce: function reduce(callbackfn /* , initialValue */) {\n return $reduce(this, callbackfn, arguments.length, arguments[1], false);\n }\n});\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/es6.array.reduce.js\n// module id = 370\n// module chunks = 0","'use strict';\nvar $export = require('./_export');\nvar $reduce = require('./_array-reduce');\n\n$export($export.P + $export.F * !require('./_strict-method')([].reduceRight, true), 'Array', {\n // 22.1.3.19 / 15.4.4.22 Array.prototype.reduceRight(callbackfn [, initialValue])\n reduceRight: function reduceRight(callbackfn /* , initialValue */) {\n return $reduce(this, callbackfn, arguments.length, arguments[1], true);\n }\n});\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/es6.array.reduce-right.js\n// module id = 371\n// module chunks = 0","'use strict';\nvar $export = require('./_export');\nvar $indexOf = require('./_array-includes')(false);\nvar $native = [].indexOf;\nvar NEGATIVE_ZERO = !!$native && 1 / [1].indexOf(1, -0) < 0;\n\n$export($export.P + $export.F * (NEGATIVE_ZERO || !require('./_strict-method')($native)), 'Array', {\n // 22.1.3.11 / 15.4.4.14 Array.prototype.indexOf(searchElement [, fromIndex])\n indexOf: function indexOf(searchElement /* , fromIndex = 0 */) {\n return NEGATIVE_ZERO\n // convert -0 to +0\n ? $native.apply(this, arguments) || 0\n : $indexOf(this, searchElement, arguments[1]);\n }\n});\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/es6.array.index-of.js\n// module id = 372\n// module chunks = 0","'use strict';\nvar $export = require('./_export');\nvar toIObject = require('./_to-iobject');\nvar toInteger = require('./_to-integer');\nvar toLength = require('./_to-length');\nvar $native = [].lastIndexOf;\nvar NEGATIVE_ZERO = !!$native && 1 / [1].lastIndexOf(1, -0) < 0;\n\n$export($export.P + $export.F * (NEGATIVE_ZERO || !require('./_strict-method')($native)), 'Array', {\n // 22.1.3.14 / 15.4.4.15 Array.prototype.lastIndexOf(searchElement [, fromIndex])\n lastIndexOf: function lastIndexOf(searchElement /* , fromIndex = @[*-1] */) {\n // convert -0 to +0\n if (NEGATIVE_ZERO) return $native.apply(this, arguments) || 0;\n var O = toIObject(this);\n var length = toLength(O.length);\n var index = length - 1;\n if (arguments.length > 1) index = Math.min(index, toInteger(arguments[1]));\n if (index < 0) index = length + index;\n for (;index >= 0; index--) if (index in O) if (O[index] === searchElement) return index || 0;\n return -1;\n }\n});\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/es6.array.last-index-of.js\n// module id = 373\n// module chunks = 0","// 22.1.3.3 Array.prototype.copyWithin(target, start, end = this.length)\nvar $export = require('./_export');\n\n$export($export.P, 'Array', { copyWithin: require('./_array-copy-within') });\n\nrequire('./_add-to-unscopables')('copyWithin');\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/es6.array.copy-within.js\n// module id = 374\n// module chunks = 0","// 22.1.3.6 Array.prototype.fill(value, start = 0, end = this.length)\nvar $export = require('./_export');\n\n$export($export.P, 'Array', { fill: require('./_array-fill') });\n\nrequire('./_add-to-unscopables')('fill');\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/es6.array.fill.js\n// module id = 375\n// module chunks = 0","'use strict';\n// 22.1.3.8 Array.prototype.find(predicate, thisArg = undefined)\nvar $export = require('./_export');\nvar $find = require('./_array-methods')(5);\nvar KEY = 'find';\nvar forced = true;\n// Shouldn't skip holes\nif (KEY in []) Array(1)[KEY](function () { forced = false; });\n$export($export.P + $export.F * forced, 'Array', {\n find: function find(callbackfn /* , that = undefined */) {\n return $find(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\nrequire('./_add-to-unscopables')(KEY);\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/es6.array.find.js\n// module id = 376\n// module chunks = 0","'use strict';\n// 22.1.3.9 Array.prototype.findIndex(predicate, thisArg = undefined)\nvar $export = require('./_export');\nvar $find = require('./_array-methods')(6);\nvar KEY = 'findIndex';\nvar forced = true;\n// Shouldn't skip holes\nif (KEY in []) Array(1)[KEY](function () { forced = false; });\n$export($export.P + $export.F * forced, 'Array', {\n findIndex: function findIndex(callbackfn /* , that = undefined */) {\n return $find(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\nrequire('./_add-to-unscopables')(KEY);\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/es6.array.find-index.js\n// module id = 377\n// module chunks = 0","require('./_set-species')('Array');\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/es6.array.species.js\n// module id = 378\n// module chunks = 0","var global = require('./_global');\nvar inheritIfRequired = require('./_inherit-if-required');\nvar dP = require('./_object-dp').f;\nvar gOPN = require('./_object-gopn').f;\nvar isRegExp = require('./_is-regexp');\nvar $flags = require('./_flags');\nvar $RegExp = global.RegExp;\nvar Base = $RegExp;\nvar proto = $RegExp.prototype;\nvar re1 = /a/g;\nvar re2 = /a/g;\n// \"new\" creates a new object, old webkit buggy here\nvar CORRECT_NEW = new $RegExp(re1) !== re1;\n\nif (require('./_descriptors') && (!CORRECT_NEW || require('./_fails')(function () {\n re2[require('./_wks')('match')] = false;\n // RegExp constructor can alter flags and IsRegExp works correct with @@match\n return $RegExp(re1) != re1 || $RegExp(re2) == re2 || $RegExp(re1, 'i') != '/a/i';\n}))) {\n $RegExp = function RegExp(p, f) {\n var tiRE = this instanceof $RegExp;\n var piRE = isRegExp(p);\n var fiU = f === undefined;\n return !tiRE && piRE && p.constructor === $RegExp && fiU ? p\n : inheritIfRequired(CORRECT_NEW\n ? new Base(piRE && !fiU ? p.source : p, f)\n : Base((piRE = p instanceof $RegExp) ? p.source : p, piRE && fiU ? $flags.call(p) : f)\n , tiRE ? this : proto, $RegExp);\n };\n var proxy = function (key) {\n key in $RegExp || dP($RegExp, key, {\n configurable: true,\n get: function () { return Base[key]; },\n set: function (it) { Base[key] = it; }\n });\n };\n for (var keys = gOPN(Base), i = 0; keys.length > i;) proxy(keys[i++]);\n proto.constructor = $RegExp;\n $RegExp.prototype = proto;\n require('./_redefine')(global, 'RegExp', $RegExp);\n}\n\nrequire('./_set-species')('RegExp');\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/es6.regexp.constructor.js\n// module id = 379\n// module chunks = 0","'use strict';\nrequire('./es6.regexp.flags');\nvar anObject = require('./_an-object');\nvar $flags = require('./_flags');\nvar DESCRIPTORS = require('./_descriptors');\nvar TO_STRING = 'toString';\nvar $toString = /./[TO_STRING];\n\nvar define = function (fn) {\n require('./_redefine')(RegExp.prototype, TO_STRING, fn, true);\n};\n\n// 21.2.5.14 RegExp.prototype.toString()\nif (require('./_fails')(function () { return $toString.call({ source: 'a', flags: 'b' }) != '/a/b'; })) {\n define(function toString() {\n var R = anObject(this);\n return '/'.concat(R.source, '/',\n 'flags' in R ? R.flags : !DESCRIPTORS && R instanceof RegExp ? $flags.call(R) : undefined);\n });\n// FF44- RegExp#toString has a wrong name\n} else if ($toString.name != TO_STRING) {\n define(function toString() {\n return $toString.call(this);\n });\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/es6.regexp.to-string.js\n// module id = 380\n// module chunks = 0","'use strict';\n\nvar anObject = require('./_an-object');\nvar toLength = require('./_to-length');\nvar advanceStringIndex = require('./_advance-string-index');\nvar regExpExec = require('./_regexp-exec-abstract');\n\n// @@match logic\nrequire('./_fix-re-wks')('match', 1, function (defined, MATCH, $match, maybeCallNative) {\n return [\n // `String.prototype.match` method\n // https://tc39.github.io/ecma262/#sec-string.prototype.match\n function match(regexp) {\n var O = defined(this);\n var fn = regexp == undefined ? undefined : regexp[MATCH];\n return fn !== undefined ? fn.call(regexp, O) : new RegExp(regexp)[MATCH](String(O));\n },\n // `RegExp.prototype[@@match]` method\n // https://tc39.github.io/ecma262/#sec-regexp.prototype-@@match\n function (regexp) {\n var res = maybeCallNative($match, regexp, this);\n if (res.done) return res.value;\n var rx = anObject(regexp);\n var S = String(this);\n if (!rx.global) return regExpExec(rx, S);\n var fullUnicode = rx.unicode;\n rx.lastIndex = 0;\n var A = [];\n var n = 0;\n var result;\n while ((result = regExpExec(rx, S)) !== null) {\n var matchStr = String(result[0]);\n A[n] = matchStr;\n if (matchStr === '') rx.lastIndex = advanceStringIndex(S, toLength(rx.lastIndex), fullUnicode);\n n++;\n }\n return n === 0 ? null : A;\n }\n ];\n});\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/es6.regexp.match.js\n// module id = 381\n// module chunks = 0","'use strict';\n\nvar anObject = require('./_an-object');\nvar toObject = require('./_to-object');\nvar toLength = require('./_to-length');\nvar toInteger = require('./_to-integer');\nvar advanceStringIndex = require('./_advance-string-index');\nvar regExpExec = require('./_regexp-exec-abstract');\nvar max = Math.max;\nvar min = Math.min;\nvar floor = Math.floor;\nvar SUBSTITUTION_SYMBOLS = /\\$([$&`']|\\d\\d?|<[^>]*>)/g;\nvar SUBSTITUTION_SYMBOLS_NO_NAMED = /\\$([$&`']|\\d\\d?)/g;\n\nvar maybeToString = function (it) {\n return it === undefined ? it : String(it);\n};\n\n// @@replace logic\nrequire('./_fix-re-wks')('replace', 2, function (defined, REPLACE, $replace, maybeCallNative) {\n return [\n // `String.prototype.replace` method\n // https://tc39.github.io/ecma262/#sec-string.prototype.replace\n function replace(searchValue, replaceValue) {\n var O = defined(this);\n var fn = searchValue == undefined ? undefined : searchValue[REPLACE];\n return fn !== undefined\n ? fn.call(searchValue, O, replaceValue)\n : $replace.call(String(O), searchValue, replaceValue);\n },\n // `RegExp.prototype[@@replace]` method\n // https://tc39.github.io/ecma262/#sec-regexp.prototype-@@replace\n function (regexp, replaceValue) {\n var res = maybeCallNative($replace, regexp, this, replaceValue);\n if (res.done) return res.value;\n\n var rx = anObject(regexp);\n var S = String(this);\n var functionalReplace = typeof replaceValue === 'function';\n if (!functionalReplace) replaceValue = String(replaceValue);\n var global = rx.global;\n if (global) {\n var fullUnicode = rx.unicode;\n rx.lastIndex = 0;\n }\n var results = [];\n while (true) {\n var result = regExpExec(rx, S);\n if (result === null) break;\n results.push(result);\n if (!global) break;\n var matchStr = String(result[0]);\n if (matchStr === '') rx.lastIndex = advanceStringIndex(S, toLength(rx.lastIndex), fullUnicode);\n }\n var accumulatedResult = '';\n var nextSourcePosition = 0;\n for (var i = 0; i < results.length; i++) {\n result = results[i];\n var matched = String(result[0]);\n var position = max(min(toInteger(result.index), S.length), 0);\n var captures = [];\n // NOTE: This is equivalent to\n // captures = result.slice(1).map(maybeToString)\n // but for some reason `nativeSlice.call(result, 1, result.length)` (called in\n // the slice polyfill when slicing native arrays) \"doesn't work\" in safari 9 and\n // causes a crash (https://pastebin.com/N21QzeQA) when trying to debug it.\n for (var j = 1; j < result.length; j++) captures.push(maybeToString(result[j]));\n var namedCaptures = result.groups;\n if (functionalReplace) {\n var replacerArgs = [matched].concat(captures, position, S);\n if (namedCaptures !== undefined) replacerArgs.push(namedCaptures);\n var replacement = String(replaceValue.apply(undefined, replacerArgs));\n } else {\n replacement = getSubstitution(matched, S, position, captures, namedCaptures, replaceValue);\n }\n if (position >= nextSourcePosition) {\n accumulatedResult += S.slice(nextSourcePosition, position) + replacement;\n nextSourcePosition = position + matched.length;\n }\n }\n return accumulatedResult + S.slice(nextSourcePosition);\n }\n ];\n\n // https://tc39.github.io/ecma262/#sec-getsubstitution\n function getSubstitution(matched, str, position, captures, namedCaptures, replacement) {\n var tailPos = position + matched.length;\n var m = captures.length;\n var symbols = SUBSTITUTION_SYMBOLS_NO_NAMED;\n if (namedCaptures !== undefined) {\n namedCaptures = toObject(namedCaptures);\n symbols = SUBSTITUTION_SYMBOLS;\n }\n return $replace.call(replacement, symbols, function (match, ch) {\n var capture;\n switch (ch.charAt(0)) {\n case '$': return '$';\n case '&': return matched;\n case '`': return str.slice(0, position);\n case \"'\": return str.slice(tailPos);\n case '<':\n capture = namedCaptures[ch.slice(1, -1)];\n break;\n default: // \\d\\d?\n var n = +ch;\n if (n === 0) return match;\n if (n > m) {\n var f = floor(n / 10);\n if (f === 0) return match;\n if (f <= m) return captures[f - 1] === undefined ? ch.charAt(1) : captures[f - 1] + ch.charAt(1);\n return match;\n }\n capture = captures[n - 1];\n }\n return capture === undefined ? '' : capture;\n });\n }\n});\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/es6.regexp.replace.js\n// module id = 382\n// module chunks = 0","'use strict';\n\nvar anObject = require('./_an-object');\nvar sameValue = require('./_same-value');\nvar regExpExec = require('./_regexp-exec-abstract');\n\n// @@search logic\nrequire('./_fix-re-wks')('search', 1, function (defined, SEARCH, $search, maybeCallNative) {\n return [\n // `String.prototype.search` method\n // https://tc39.github.io/ecma262/#sec-string.prototype.search\n function search(regexp) {\n var O = defined(this);\n var fn = regexp == undefined ? undefined : regexp[SEARCH];\n return fn !== undefined ? fn.call(regexp, O) : new RegExp(regexp)[SEARCH](String(O));\n },\n // `RegExp.prototype[@@search]` method\n // https://tc39.github.io/ecma262/#sec-regexp.prototype-@@search\n function (regexp) {\n var res = maybeCallNative($search, regexp, this);\n if (res.done) return res.value;\n var rx = anObject(regexp);\n var S = String(this);\n var previousLastIndex = rx.lastIndex;\n if (!sameValue(previousLastIndex, 0)) rx.lastIndex = 0;\n var result = regExpExec(rx, S);\n if (!sameValue(rx.lastIndex, previousLastIndex)) rx.lastIndex = previousLastIndex;\n return result === null ? -1 : result.index;\n }\n ];\n});\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/es6.regexp.search.js\n// module id = 383\n// module chunks = 0","'use strict';\n\nvar isRegExp = require('./_is-regexp');\nvar anObject = require('./_an-object');\nvar speciesConstructor = require('./_species-constructor');\nvar advanceStringIndex = require('./_advance-string-index');\nvar toLength = require('./_to-length');\nvar callRegExpExec = require('./_regexp-exec-abstract');\nvar regexpExec = require('./_regexp-exec');\nvar fails = require('./_fails');\nvar $min = Math.min;\nvar $push = [].push;\nvar $SPLIT = 'split';\nvar LENGTH = 'length';\nvar LAST_INDEX = 'lastIndex';\nvar MAX_UINT32 = 0xffffffff;\n\n// babel-minify transpiles RegExp('x', 'y') -> /x/y and it causes SyntaxError\nvar SUPPORTS_Y = !fails(function () { RegExp(MAX_UINT32, 'y'); });\n\n// @@split logic\nrequire('./_fix-re-wks')('split', 2, function (defined, SPLIT, $split, maybeCallNative) {\n var internalSplit;\n if (\n 'abbc'[$SPLIT](/(b)*/)[1] == 'c' ||\n 'test'[$SPLIT](/(?:)/, -1)[LENGTH] != 4 ||\n 'ab'[$SPLIT](/(?:ab)*/)[LENGTH] != 2 ||\n '.'[$SPLIT](/(.?)(.?)/)[LENGTH] != 4 ||\n '.'[$SPLIT](/()()/)[LENGTH] > 1 ||\n ''[$SPLIT](/.?/)[LENGTH]\n ) {\n // based on es5-shim implementation, need to rework it\n internalSplit = function (separator, limit) {\n var string = String(this);\n if (separator === undefined && limit === 0) return [];\n // If `separator` is not a regex, use native split\n if (!isRegExp(separator)) return $split.call(string, separator, limit);\n var output = [];\n var flags = (separator.ignoreCase ? 'i' : '') +\n (separator.multiline ? 'm' : '') +\n (separator.unicode ? 'u' : '') +\n (separator.sticky ? 'y' : '');\n var lastLastIndex = 0;\n var splitLimit = limit === undefined ? MAX_UINT32 : limit >>> 0;\n // Make `global` and avoid `lastIndex` issues by working with a copy\n var separatorCopy = new RegExp(separator.source, flags + 'g');\n var match, lastIndex, lastLength;\n while (match = regexpExec.call(separatorCopy, string)) {\n lastIndex = separatorCopy[LAST_INDEX];\n if (lastIndex > lastLastIndex) {\n output.push(string.slice(lastLastIndex, match.index));\n if (match[LENGTH] > 1 && match.index < string[LENGTH]) $push.apply(output, match.slice(1));\n lastLength = match[0][LENGTH];\n lastLastIndex = lastIndex;\n if (output[LENGTH] >= splitLimit) break;\n }\n if (separatorCopy[LAST_INDEX] === match.index) separatorCopy[LAST_INDEX]++; // Avoid an infinite loop\n }\n if (lastLastIndex === string[LENGTH]) {\n if (lastLength || !separatorCopy.test('')) output.push('');\n } else output.push(string.slice(lastLastIndex));\n return output[LENGTH] > splitLimit ? output.slice(0, splitLimit) : output;\n };\n // Chakra, V8\n } else if ('0'[$SPLIT](undefined, 0)[LENGTH]) {\n internalSplit = function (separator, limit) {\n return separator === undefined && limit === 0 ? [] : $split.call(this, separator, limit);\n };\n } else {\n internalSplit = $split;\n }\n\n return [\n // `String.prototype.split` method\n // https://tc39.github.io/ecma262/#sec-string.prototype.split\n function split(separator, limit) {\n var O = defined(this);\n var splitter = separator == undefined ? undefined : separator[SPLIT];\n return splitter !== undefined\n ? splitter.call(separator, O, limit)\n : internalSplit.call(String(O), separator, limit);\n },\n // `RegExp.prototype[@@split]` method\n // https://tc39.github.io/ecma262/#sec-regexp.prototype-@@split\n //\n // NOTE: This cannot be properly polyfilled in engines that don't support\n // the 'y' flag.\n function (regexp, limit) {\n var res = maybeCallNative(internalSplit, regexp, this, limit, internalSplit !== $split);\n if (res.done) return res.value;\n\n var rx = anObject(regexp);\n var S = String(this);\n var C = speciesConstructor(rx, RegExp);\n\n var unicodeMatching = rx.unicode;\n var flags = (rx.ignoreCase ? 'i' : '') +\n (rx.multiline ? 'm' : '') +\n (rx.unicode ? 'u' : '') +\n (SUPPORTS_Y ? 'y' : 'g');\n\n // ^(? + rx + ) is needed, in combination with some S slicing, to\n // simulate the 'y' flag.\n var splitter = new C(SUPPORTS_Y ? rx : '^(?:' + rx.source + ')', flags);\n var lim = limit === undefined ? MAX_UINT32 : limit >>> 0;\n if (lim === 0) return [];\n if (S.length === 0) return callRegExpExec(splitter, S) === null ? [S] : [];\n var p = 0;\n var q = 0;\n var A = [];\n while (q < S.length) {\n splitter.lastIndex = SUPPORTS_Y ? q : 0;\n var z = callRegExpExec(splitter, SUPPORTS_Y ? S : S.slice(q));\n var e;\n if (\n z === null ||\n (e = $min(toLength(splitter.lastIndex + (SUPPORTS_Y ? 0 : q)), S.length)) === p\n ) {\n q = advanceStringIndex(S, q, unicodeMatching);\n } else {\n A.push(S.slice(p, q));\n if (A.length === lim) return A;\n for (var i = 1; i <= z.length - 1; i++) {\n A.push(z[i]);\n if (A.length === lim) return A;\n }\n q = p = e;\n }\n }\n A.push(S.slice(p));\n return A;\n }\n ];\n});\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/es6.regexp.split.js\n// module id = 384\n// module chunks = 0","'use strict';\nvar LIBRARY = require('./_library');\nvar global = require('./_global');\nvar ctx = require('./_ctx');\nvar classof = require('./_classof');\nvar $export = require('./_export');\nvar isObject = require('./_is-object');\nvar aFunction = require('./_a-function');\nvar anInstance = require('./_an-instance');\nvar forOf = require('./_for-of');\nvar speciesConstructor = require('./_species-constructor');\nvar task = require('./_task').set;\nvar microtask = require('./_microtask')();\nvar newPromiseCapabilityModule = require('./_new-promise-capability');\nvar perform = require('./_perform');\nvar userAgent = require('./_user-agent');\nvar promiseResolve = require('./_promise-resolve');\nvar PROMISE = 'Promise';\nvar TypeError = global.TypeError;\nvar process = global.process;\nvar versions = process && process.versions;\nvar v8 = versions && versions.v8 || '';\nvar $Promise = global[PROMISE];\nvar isNode = classof(process) == 'process';\nvar empty = function () { /* empty */ };\nvar Internal, newGenericPromiseCapability, OwnPromiseCapability, Wrapper;\nvar newPromiseCapability = newGenericPromiseCapability = newPromiseCapabilityModule.f;\n\nvar USE_NATIVE = !!function () {\n try {\n // correct subclassing with @@species support\n var promise = $Promise.resolve(1);\n var FakePromise = (promise.constructor = {})[require('./_wks')('species')] = function (exec) {\n exec(empty, empty);\n };\n // unhandled rejections tracking support, NodeJS Promise without it fails @@species test\n return (isNode || typeof PromiseRejectionEvent == 'function')\n && promise.then(empty) instanceof FakePromise\n // v8 6.6 (Node 10 and Chrome 66) have a bug with resolving custom thenables\n // https://bugs.chromium.org/p/chromium/issues/detail?id=830565\n // we can't detect it synchronously, so just check versions\n && v8.indexOf('6.6') !== 0\n && userAgent.indexOf('Chrome/66') === -1;\n } catch (e) { /* empty */ }\n}();\n\n// helpers\nvar isThenable = function (it) {\n var then;\n return isObject(it) && typeof (then = it.then) == 'function' ? then : false;\n};\nvar notify = function (promise, isReject) {\n if (promise._n) return;\n promise._n = true;\n var chain = promise._c;\n microtask(function () {\n var value = promise._v;\n var ok = promise._s == 1;\n var i = 0;\n var run = function (reaction) {\n var handler = ok ? reaction.ok : reaction.fail;\n var resolve = reaction.resolve;\n var reject = reaction.reject;\n var domain = reaction.domain;\n var result, then, exited;\n try {\n if (handler) {\n if (!ok) {\n if (promise._h == 2) onHandleUnhandled(promise);\n promise._h = 1;\n }\n if (handler === true) result = value;\n else {\n if (domain) domain.enter();\n result = handler(value); // may throw\n if (domain) {\n domain.exit();\n exited = true;\n }\n }\n if (result === reaction.promise) {\n reject(TypeError('Promise-chain cycle'));\n } else if (then = isThenable(result)) {\n then.call(result, resolve, reject);\n } else resolve(result);\n } else reject(value);\n } catch (e) {\n if (domain && !exited) domain.exit();\n reject(e);\n }\n };\n while (chain.length > i) run(chain[i++]); // variable length - can't use forEach\n promise._c = [];\n promise._n = false;\n if (isReject && !promise._h) onUnhandled(promise);\n });\n};\nvar onUnhandled = function (promise) {\n task.call(global, function () {\n var value = promise._v;\n var unhandled = isUnhandled(promise);\n var result, handler, console;\n if (unhandled) {\n result = perform(function () {\n if (isNode) {\n process.emit('unhandledRejection', value, promise);\n } else if (handler = global.onunhandledrejection) {\n handler({ promise: promise, reason: value });\n } else if ((console = global.console) && console.error) {\n console.error('Unhandled promise rejection', value);\n }\n });\n // Browsers should not trigger `rejectionHandled` event if it was handled here, NodeJS - should\n promise._h = isNode || isUnhandled(promise) ? 2 : 1;\n } promise._a = undefined;\n if (unhandled && result.e) throw result.v;\n });\n};\nvar isUnhandled = function (promise) {\n return promise._h !== 1 && (promise._a || promise._c).length === 0;\n};\nvar onHandleUnhandled = function (promise) {\n task.call(global, function () {\n var handler;\n if (isNode) {\n process.emit('rejectionHandled', promise);\n } else if (handler = global.onrejectionhandled) {\n handler({ promise: promise, reason: promise._v });\n }\n });\n};\nvar $reject = function (value) {\n var promise = this;\n if (promise._d) return;\n promise._d = true;\n promise = promise._w || promise; // unwrap\n promise._v = value;\n promise._s = 2;\n if (!promise._a) promise._a = promise._c.slice();\n notify(promise, true);\n};\nvar $resolve = function (value) {\n var promise = this;\n var then;\n if (promise._d) return;\n promise._d = true;\n promise = promise._w || promise; // unwrap\n try {\n if (promise === value) throw TypeError(\"Promise can't be resolved itself\");\n if (then = isThenable(value)) {\n microtask(function () {\n var wrapper = { _w: promise, _d: false }; // wrap\n try {\n then.call(value, ctx($resolve, wrapper, 1), ctx($reject, wrapper, 1));\n } catch (e) {\n $reject.call(wrapper, e);\n }\n });\n } else {\n promise._v = value;\n promise._s = 1;\n notify(promise, false);\n }\n } catch (e) {\n $reject.call({ _w: promise, _d: false }, e); // wrap\n }\n};\n\n// constructor polyfill\nif (!USE_NATIVE) {\n // 25.4.3.1 Promise(executor)\n $Promise = function Promise(executor) {\n anInstance(this, $Promise, PROMISE, '_h');\n aFunction(executor);\n Internal.call(this);\n try {\n executor(ctx($resolve, this, 1), ctx($reject, this, 1));\n } catch (err) {\n $reject.call(this, err);\n }\n };\n // eslint-disable-next-line no-unused-vars\n Internal = function Promise(executor) {\n this._c = []; // <- awaiting reactions\n this._a = undefined; // <- checked in isUnhandled reactions\n this._s = 0; // <- state\n this._d = false; // <- done\n this._v = undefined; // <- value\n this._h = 0; // <- rejection state, 0 - default, 1 - handled, 2 - unhandled\n this._n = false; // <- notify\n };\n Internal.prototype = require('./_redefine-all')($Promise.prototype, {\n // 25.4.5.3 Promise.prototype.then(onFulfilled, onRejected)\n then: function then(onFulfilled, onRejected) {\n var reaction = newPromiseCapability(speciesConstructor(this, $Promise));\n reaction.ok = typeof onFulfilled == 'function' ? onFulfilled : true;\n reaction.fail = typeof onRejected == 'function' && onRejected;\n reaction.domain = isNode ? process.domain : undefined;\n this._c.push(reaction);\n if (this._a) this._a.push(reaction);\n if (this._s) notify(this, false);\n return reaction.promise;\n },\n // 25.4.5.1 Promise.prototype.catch(onRejected)\n 'catch': function (onRejected) {\n return this.then(undefined, onRejected);\n }\n });\n OwnPromiseCapability = function () {\n var promise = new Internal();\n this.promise = promise;\n this.resolve = ctx($resolve, promise, 1);\n this.reject = ctx($reject, promise, 1);\n };\n newPromiseCapabilityModule.f = newPromiseCapability = function (C) {\n return C === $Promise || C === Wrapper\n ? new OwnPromiseCapability(C)\n : newGenericPromiseCapability(C);\n };\n}\n\n$export($export.G + $export.W + $export.F * !USE_NATIVE, { Promise: $Promise });\nrequire('./_set-to-string-tag')($Promise, PROMISE);\nrequire('./_set-species')(PROMISE);\nWrapper = require('./_core')[PROMISE];\n\n// statics\n$export($export.S + $export.F * !USE_NATIVE, PROMISE, {\n // 25.4.4.5 Promise.reject(r)\n reject: function reject(r) {\n var capability = newPromiseCapability(this);\n var $$reject = capability.reject;\n $$reject(r);\n return capability.promise;\n }\n});\n$export($export.S + $export.F * (LIBRARY || !USE_NATIVE), PROMISE, {\n // 25.4.4.6 Promise.resolve(x)\n resolve: function resolve(x) {\n return promiseResolve(LIBRARY && this === Wrapper ? $Promise : this, x);\n }\n});\n$export($export.S + $export.F * !(USE_NATIVE && require('./_iter-detect')(function (iter) {\n $Promise.all(iter)['catch'](empty);\n})), PROMISE, {\n // 25.4.4.1 Promise.all(iterable)\n all: function all(iterable) {\n var C = this;\n var capability = newPromiseCapability(C);\n var resolve = capability.resolve;\n var reject = capability.reject;\n var result = perform(function () {\n var values = [];\n var index = 0;\n var remaining = 1;\n forOf(iterable, false, function (promise) {\n var $index = index++;\n var alreadyCalled = false;\n values.push(undefined);\n remaining++;\n C.resolve(promise).then(function (value) {\n if (alreadyCalled) return;\n alreadyCalled = true;\n values[$index] = value;\n --remaining || resolve(values);\n }, reject);\n });\n --remaining || resolve(values);\n });\n if (result.e) reject(result.v);\n return capability.promise;\n },\n // 25.4.4.4 Promise.race(iterable)\n race: function race(iterable) {\n var C = this;\n var capability = newPromiseCapability(C);\n var reject = capability.reject;\n var result = perform(function () {\n forOf(iterable, false, function (promise) {\n C.resolve(promise).then(capability.resolve, reject);\n });\n });\n if (result.e) reject(result.v);\n return capability.promise;\n }\n});\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/es6.promise.js\n// module id = 385\n// module chunks = 0","'use strict';\nvar weak = require('./_collection-weak');\nvar validate = require('./_validate-collection');\nvar WEAK_SET = 'WeakSet';\n\n// 23.4 WeakSet Objects\nrequire('./_collection')(WEAK_SET, function (get) {\n return function WeakSet() { return get(this, arguments.length > 0 ? arguments[0] : undefined); };\n}, {\n // 23.4.3.1 WeakSet.prototype.add(value)\n add: function add(value) {\n return weak.def(validate(this, WEAK_SET), value, true);\n }\n}, weak, false, true);\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/es6.weak-set.js\n// module id = 386\n// module chunks = 0","'use strict';\nvar $export = require('./_export');\nvar $typed = require('./_typed');\nvar buffer = require('./_typed-buffer');\nvar anObject = require('./_an-object');\nvar toAbsoluteIndex = require('./_to-absolute-index');\nvar toLength = require('./_to-length');\nvar isObject = require('./_is-object');\nvar ArrayBuffer = require('./_global').ArrayBuffer;\nvar speciesConstructor = require('./_species-constructor');\nvar $ArrayBuffer = buffer.ArrayBuffer;\nvar $DataView = buffer.DataView;\nvar $isView = $typed.ABV && ArrayBuffer.isView;\nvar $slice = $ArrayBuffer.prototype.slice;\nvar VIEW = $typed.VIEW;\nvar ARRAY_BUFFER = 'ArrayBuffer';\n\n$export($export.G + $export.W + $export.F * (ArrayBuffer !== $ArrayBuffer), { ArrayBuffer: $ArrayBuffer });\n\n$export($export.S + $export.F * !$typed.CONSTR, ARRAY_BUFFER, {\n // 24.1.3.1 ArrayBuffer.isView(arg)\n isView: function isView(it) {\n return $isView && $isView(it) || isObject(it) && VIEW in it;\n }\n});\n\n$export($export.P + $export.U + $export.F * require('./_fails')(function () {\n return !new $ArrayBuffer(2).slice(1, undefined).byteLength;\n}), ARRAY_BUFFER, {\n // 24.1.4.3 ArrayBuffer.prototype.slice(start, end)\n slice: function slice(start, end) {\n if ($slice !== undefined && end === undefined) return $slice.call(anObject(this), start); // FF fix\n var len = anObject(this).byteLength;\n var first = toAbsoluteIndex(start, len);\n var fin = toAbsoluteIndex(end === undefined ? len : end, len);\n var result = new (speciesConstructor(this, $ArrayBuffer))(toLength(fin - first));\n var viewS = new $DataView(this);\n var viewT = new $DataView(result);\n var index = 0;\n while (first < fin) {\n viewT.setUint8(index++, viewS.getUint8(first++));\n } return result;\n }\n});\n\nrequire('./_set-species')(ARRAY_BUFFER);\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/es6.typed.array-buffer.js\n// module id = 387\n// module chunks = 0","var $export = require('./_export');\n$export($export.G + $export.W + $export.F * !require('./_typed').ABV, {\n DataView: require('./_typed-buffer').DataView\n});\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/es6.typed.data-view.js\n// module id = 388\n// module chunks = 0","require('./_typed-array')('Int8', 1, function (init) {\n return function Int8Array(data, byteOffset, length) {\n return init(this, data, byteOffset, length);\n };\n});\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/es6.typed.int8-array.js\n// module id = 389\n// module chunks = 0","require('./_typed-array')('Uint8', 1, function (init) {\n return function Uint8Array(data, byteOffset, length) {\n return init(this, data, byteOffset, length);\n };\n});\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/es6.typed.uint8-array.js\n// module id = 390\n// module chunks = 0","require('./_typed-array')('Uint8', 1, function (init) {\n return function Uint8ClampedArray(data, byteOffset, length) {\n return init(this, data, byteOffset, length);\n };\n}, true);\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/es6.typed.uint8-clamped-array.js\n// module id = 391\n// module chunks = 0","require('./_typed-array')('Int16', 2, function (init) {\n return function Int16Array(data, byteOffset, length) {\n return init(this, data, byteOffset, length);\n };\n});\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/es6.typed.int16-array.js\n// module id = 392\n// module chunks = 0","require('./_typed-array')('Uint16', 2, function (init) {\n return function Uint16Array(data, byteOffset, length) {\n return init(this, data, byteOffset, length);\n };\n});\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/es6.typed.uint16-array.js\n// module id = 393\n// module chunks = 0","require('./_typed-array')('Int32', 4, function (init) {\n return function Int32Array(data, byteOffset, length) {\n return init(this, data, byteOffset, length);\n };\n});\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/es6.typed.int32-array.js\n// module id = 394\n// module chunks = 0","require('./_typed-array')('Uint32', 4, function (init) {\n return function Uint32Array(data, byteOffset, length) {\n return init(this, data, byteOffset, length);\n };\n});\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/es6.typed.uint32-array.js\n// module id = 395\n// module chunks = 0","require('./_typed-array')('Float32', 4, function (init) {\n return function Float32Array(data, byteOffset, length) {\n return init(this, data, byteOffset, length);\n };\n});\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/es6.typed.float32-array.js\n// module id = 396\n// module chunks = 0","require('./_typed-array')('Float64', 8, function (init) {\n return function Float64Array(data, byteOffset, length) {\n return init(this, data, byteOffset, length);\n };\n});\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/es6.typed.float64-array.js\n// module id = 397\n// module chunks = 0","// 26.1.1 Reflect.apply(target, thisArgument, argumentsList)\nvar $export = require('./_export');\nvar aFunction = require('./_a-function');\nvar anObject = require('./_an-object');\nvar rApply = (require('./_global').Reflect || {}).apply;\nvar fApply = Function.apply;\n// MS Edge argumentsList argument is optional\n$export($export.S + $export.F * !require('./_fails')(function () {\n rApply(function () { /* empty */ });\n}), 'Reflect', {\n apply: function apply(target, thisArgument, argumentsList) {\n var T = aFunction(target);\n var L = anObject(argumentsList);\n return rApply ? rApply(T, thisArgument, L) : fApply.call(T, thisArgument, L);\n }\n});\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/es6.reflect.apply.js\n// module id = 398\n// module chunks = 0","// 26.1.2 Reflect.construct(target, argumentsList [, newTarget])\nvar $export = require('./_export');\nvar create = require('./_object-create');\nvar aFunction = require('./_a-function');\nvar anObject = require('./_an-object');\nvar isObject = require('./_is-object');\nvar fails = require('./_fails');\nvar bind = require('./_bind');\nvar rConstruct = (require('./_global').Reflect || {}).construct;\n\n// MS Edge supports only 2 arguments and argumentsList argument is optional\n// FF Nightly sets third argument as `new.target`, but does not create `this` from it\nvar NEW_TARGET_BUG = fails(function () {\n function F() { /* empty */ }\n return !(rConstruct(function () { /* empty */ }, [], F) instanceof F);\n});\nvar ARGS_BUG = !fails(function () {\n rConstruct(function () { /* empty */ });\n});\n\n$export($export.S + $export.F * (NEW_TARGET_BUG || ARGS_BUG), 'Reflect', {\n construct: function construct(Target, args /* , newTarget */) {\n aFunction(Target);\n anObject(args);\n var newTarget = arguments.length < 3 ? Target : aFunction(arguments[2]);\n if (ARGS_BUG && !NEW_TARGET_BUG) return rConstruct(Target, args, newTarget);\n if (Target == newTarget) {\n // w/o altered newTarget, optimization for 0-4 arguments\n switch (args.length) {\n case 0: return new Target();\n case 1: return new Target(args[0]);\n case 2: return new Target(args[0], args[1]);\n case 3: return new Target(args[0], args[1], args[2]);\n case 4: return new Target(args[0], args[1], args[2], args[3]);\n }\n // w/o altered newTarget, lot of arguments case\n var $args = [null];\n $args.push.apply($args, args);\n return new (bind.apply(Target, $args))();\n }\n // with altered newTarget, not support built-in constructors\n var proto = newTarget.prototype;\n var instance = create(isObject(proto) ? proto : Object.prototype);\n var result = Function.apply.call(Target, instance, args);\n return isObject(result) ? result : instance;\n }\n});\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/es6.reflect.construct.js\n// module id = 399\n// module chunks = 0","// 26.1.3 Reflect.defineProperty(target, propertyKey, attributes)\nvar dP = require('./_object-dp');\nvar $export = require('./_export');\nvar anObject = require('./_an-object');\nvar toPrimitive = require('./_to-primitive');\n\n// MS Edge has broken Reflect.defineProperty - throwing instead of returning false\n$export($export.S + $export.F * require('./_fails')(function () {\n // eslint-disable-next-line no-undef\n Reflect.defineProperty(dP.f({}, 1, { value: 1 }), 1, { value: 2 });\n}), 'Reflect', {\n defineProperty: function defineProperty(target, propertyKey, attributes) {\n anObject(target);\n propertyKey = toPrimitive(propertyKey, true);\n anObject(attributes);\n try {\n dP.f(target, propertyKey, attributes);\n return true;\n } catch (e) {\n return false;\n }\n }\n});\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/es6.reflect.define-property.js\n// module id = 400\n// module chunks = 0","// 26.1.4 Reflect.deleteProperty(target, propertyKey)\nvar $export = require('./_export');\nvar gOPD = require('./_object-gopd').f;\nvar anObject = require('./_an-object');\n\n$export($export.S, 'Reflect', {\n deleteProperty: function deleteProperty(target, propertyKey) {\n var desc = gOPD(anObject(target), propertyKey);\n return desc && !desc.configurable ? false : delete target[propertyKey];\n }\n});\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/es6.reflect.delete-property.js\n// module id = 401\n// module chunks = 0","'use strict';\n// 26.1.5 Reflect.enumerate(target)\nvar $export = require('./_export');\nvar anObject = require('./_an-object');\nvar Enumerate = function (iterated) {\n this._t = anObject(iterated); // target\n this._i = 0; // next index\n var keys = this._k = []; // keys\n var key;\n for (key in iterated) keys.push(key);\n};\nrequire('./_iter-create')(Enumerate, 'Object', function () {\n var that = this;\n var keys = that._k;\n var key;\n do {\n if (that._i >= keys.length) return { value: undefined, done: true };\n } while (!((key = keys[that._i++]) in that._t));\n return { value: key, done: false };\n});\n\n$export($export.S, 'Reflect', {\n enumerate: function enumerate(target) {\n return new Enumerate(target);\n }\n});\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/es6.reflect.enumerate.js\n// module id = 402\n// module chunks = 0","// 26.1.6 Reflect.get(target, propertyKey [, receiver])\nvar gOPD = require('./_object-gopd');\nvar getPrototypeOf = require('./_object-gpo');\nvar has = require('./_has');\nvar $export = require('./_export');\nvar isObject = require('./_is-object');\nvar anObject = require('./_an-object');\n\nfunction get(target, propertyKey /* , receiver */) {\n var receiver = arguments.length < 3 ? target : arguments[2];\n var desc, proto;\n if (anObject(target) === receiver) return target[propertyKey];\n if (desc = gOPD.f(target, propertyKey)) return has(desc, 'value')\n ? desc.value\n : desc.get !== undefined\n ? desc.get.call(receiver)\n : undefined;\n if (isObject(proto = getPrototypeOf(target))) return get(proto, propertyKey, receiver);\n}\n\n$export($export.S, 'Reflect', { get: get });\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/es6.reflect.get.js\n// module id = 403\n// module chunks = 0","// 26.1.7 Reflect.getOwnPropertyDescriptor(target, propertyKey)\nvar gOPD = require('./_object-gopd');\nvar $export = require('./_export');\nvar anObject = require('./_an-object');\n\n$export($export.S, 'Reflect', {\n getOwnPropertyDescriptor: function getOwnPropertyDescriptor(target, propertyKey) {\n return gOPD.f(anObject(target), propertyKey);\n }\n});\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/es6.reflect.get-own-property-descriptor.js\n// module id = 404\n// module chunks = 0","// 26.1.8 Reflect.getPrototypeOf(target)\nvar $export = require('./_export');\nvar getProto = require('./_object-gpo');\nvar anObject = require('./_an-object');\n\n$export($export.S, 'Reflect', {\n getPrototypeOf: function getPrototypeOf(target) {\n return getProto(anObject(target));\n }\n});\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/es6.reflect.get-prototype-of.js\n// module id = 405\n// module chunks = 0","// 26.1.9 Reflect.has(target, propertyKey)\nvar $export = require('./_export');\n\n$export($export.S, 'Reflect', {\n has: function has(target, propertyKey) {\n return propertyKey in target;\n }\n});\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/es6.reflect.has.js\n// module id = 406\n// module chunks = 0","// 26.1.10 Reflect.isExtensible(target)\nvar $export = require('./_export');\nvar anObject = require('./_an-object');\nvar $isExtensible = Object.isExtensible;\n\n$export($export.S, 'Reflect', {\n isExtensible: function isExtensible(target) {\n anObject(target);\n return $isExtensible ? $isExtensible(target) : true;\n }\n});\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/es6.reflect.is-extensible.js\n// module id = 407\n// module chunks = 0","// 26.1.11 Reflect.ownKeys(target)\nvar $export = require('./_export');\n\n$export($export.S, 'Reflect', { ownKeys: require('./_own-keys') });\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/es6.reflect.own-keys.js\n// module id = 408\n// module chunks = 0","// 26.1.12 Reflect.preventExtensions(target)\nvar $export = require('./_export');\nvar anObject = require('./_an-object');\nvar $preventExtensions = Object.preventExtensions;\n\n$export($export.S, 'Reflect', {\n preventExtensions: function preventExtensions(target) {\n anObject(target);\n try {\n if ($preventExtensions) $preventExtensions(target);\n return true;\n } catch (e) {\n return false;\n }\n }\n});\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/es6.reflect.prevent-extensions.js\n// module id = 409\n// module chunks = 0","// 26.1.13 Reflect.set(target, propertyKey, V [, receiver])\nvar dP = require('./_object-dp');\nvar gOPD = require('./_object-gopd');\nvar getPrototypeOf = require('./_object-gpo');\nvar has = require('./_has');\nvar $export = require('./_export');\nvar createDesc = require('./_property-desc');\nvar anObject = require('./_an-object');\nvar isObject = require('./_is-object');\n\nfunction set(target, propertyKey, V /* , receiver */) {\n var receiver = arguments.length < 4 ? target : arguments[3];\n var ownDesc = gOPD.f(anObject(target), propertyKey);\n var existingDescriptor, proto;\n if (!ownDesc) {\n if (isObject(proto = getPrototypeOf(target))) {\n return set(proto, propertyKey, V, receiver);\n }\n ownDesc = createDesc(0);\n }\n if (has(ownDesc, 'value')) {\n if (ownDesc.writable === false || !isObject(receiver)) return false;\n if (existingDescriptor = gOPD.f(receiver, propertyKey)) {\n if (existingDescriptor.get || existingDescriptor.set || existingDescriptor.writable === false) return false;\n existingDescriptor.value = V;\n dP.f(receiver, propertyKey, existingDescriptor);\n } else dP.f(receiver, propertyKey, createDesc(0, V));\n return true;\n }\n return ownDesc.set === undefined ? false : (ownDesc.set.call(receiver, V), true);\n}\n\n$export($export.S, 'Reflect', { set: set });\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/es6.reflect.set.js\n// module id = 410\n// module chunks = 0","// 26.1.14 Reflect.setPrototypeOf(target, proto)\nvar $export = require('./_export');\nvar setProto = require('./_set-proto');\n\nif (setProto) $export($export.S, 'Reflect', {\n setPrototypeOf: function setPrototypeOf(target, proto) {\n setProto.check(target, proto);\n try {\n setProto.set(target, proto);\n return true;\n } catch (e) {\n return false;\n }\n }\n});\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/es6.reflect.set-prototype-of.js\n// module id = 411\n// module chunks = 0","'use strict';\n// https://github.com/tc39/Array.prototype.includes\nvar $export = require('./_export');\nvar $includes = require('./_array-includes')(true);\n\n$export($export.P, 'Array', {\n includes: function includes(el /* , fromIndex = 0 */) {\n return $includes(this, el, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\n\nrequire('./_add-to-unscopables')('includes');\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/es7.array.includes.js\n// module id = 412\n// module chunks = 0","'use strict';\n// https://tc39.github.io/proposal-flatMap/#sec-Array.prototype.flatMap\nvar $export = require('./_export');\nvar flattenIntoArray = require('./_flatten-into-array');\nvar toObject = require('./_to-object');\nvar toLength = require('./_to-length');\nvar aFunction = require('./_a-function');\nvar arraySpeciesCreate = require('./_array-species-create');\n\n$export($export.P, 'Array', {\n flatMap: function flatMap(callbackfn /* , thisArg */) {\n var O = toObject(this);\n var sourceLen, A;\n aFunction(callbackfn);\n sourceLen = toLength(O.length);\n A = arraySpeciesCreate(O, 0);\n flattenIntoArray(A, O, O, sourceLen, 0, 1, callbackfn, arguments[1]);\n return A;\n }\n});\n\nrequire('./_add-to-unscopables')('flatMap');\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/es7.array.flat-map.js\n// module id = 413\n// module chunks = 0","'use strict';\n// https://tc39.github.io/proposal-flatMap/#sec-Array.prototype.flatten\nvar $export = require('./_export');\nvar flattenIntoArray = require('./_flatten-into-array');\nvar toObject = require('./_to-object');\nvar toLength = require('./_to-length');\nvar toInteger = require('./_to-integer');\nvar arraySpeciesCreate = require('./_array-species-create');\n\n$export($export.P, 'Array', {\n flatten: function flatten(/* depthArg = 1 */) {\n var depthArg = arguments[0];\n var O = toObject(this);\n var sourceLen = toLength(O.length);\n var A = arraySpeciesCreate(O, 0);\n flattenIntoArray(A, O, O, sourceLen, 0, depthArg === undefined ? 1 : toInteger(depthArg));\n return A;\n }\n});\n\nrequire('./_add-to-unscopables')('flatten');\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/es7.array.flatten.js\n// module id = 414\n// module chunks = 0","'use strict';\n// https://github.com/mathiasbynens/String.prototype.at\nvar $export = require('./_export');\nvar $at = require('./_string-at')(true);\n\n$export($export.P, 'String', {\n at: function at(pos) {\n return $at(this, pos);\n }\n});\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/es7.string.at.js\n// module id = 415\n// module chunks = 0","'use strict';\n// https://github.com/tc39/proposal-string-pad-start-end\nvar $export = require('./_export');\nvar $pad = require('./_string-pad');\nvar userAgent = require('./_user-agent');\n\n// https://github.com/zloirock/core-js/issues/280\nvar WEBKIT_BUG = /Version\\/10\\.\\d+(\\.\\d+)?( Mobile\\/\\w+)? Safari\\//.test(userAgent);\n\n$export($export.P + $export.F * WEBKIT_BUG, 'String', {\n padStart: function padStart(maxLength /* , fillString = ' ' */) {\n return $pad(this, maxLength, arguments.length > 1 ? arguments[1] : undefined, true);\n }\n});\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/es7.string.pad-start.js\n// module id = 416\n// module chunks = 0","'use strict';\n// https://github.com/tc39/proposal-string-pad-start-end\nvar $export = require('./_export');\nvar $pad = require('./_string-pad');\nvar userAgent = require('./_user-agent');\n\n// https://github.com/zloirock/core-js/issues/280\nvar WEBKIT_BUG = /Version\\/10\\.\\d+(\\.\\d+)?( Mobile\\/\\w+)? Safari\\//.test(userAgent);\n\n$export($export.P + $export.F * WEBKIT_BUG, 'String', {\n padEnd: function padEnd(maxLength /* , fillString = ' ' */) {\n return $pad(this, maxLength, arguments.length > 1 ? arguments[1] : undefined, false);\n }\n});\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/es7.string.pad-end.js\n// module id = 417\n// module chunks = 0","'use strict';\n// https://github.com/sebmarkbage/ecmascript-string-left-right-trim\nrequire('./_string-trim')('trimLeft', function ($trim) {\n return function trimLeft() {\n return $trim(this, 1);\n };\n}, 'trimStart');\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/es7.string.trim-left.js\n// module id = 418\n// module chunks = 0","'use strict';\n// https://github.com/sebmarkbage/ecmascript-string-left-right-trim\nrequire('./_string-trim')('trimRight', function ($trim) {\n return function trimRight() {\n return $trim(this, 2);\n };\n}, 'trimEnd');\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/es7.string.trim-right.js\n// module id = 419\n// module chunks = 0","'use strict';\n// https://tc39.github.io/String.prototype.matchAll/\nvar $export = require('./_export');\nvar defined = require('./_defined');\nvar toLength = require('./_to-length');\nvar isRegExp = require('./_is-regexp');\nvar getFlags = require('./_flags');\nvar RegExpProto = RegExp.prototype;\n\nvar $RegExpStringIterator = function (regexp, string) {\n this._r = regexp;\n this._s = string;\n};\n\nrequire('./_iter-create')($RegExpStringIterator, 'RegExp String', function next() {\n var match = this._r.exec(this._s);\n return { value: match, done: match === null };\n});\n\n$export($export.P, 'String', {\n matchAll: function matchAll(regexp) {\n defined(this);\n if (!isRegExp(regexp)) throw TypeError(regexp + ' is not a regexp!');\n var S = String(this);\n var flags = 'flags' in RegExpProto ? String(regexp.flags) : getFlags.call(regexp);\n var rx = new RegExp(regexp.source, ~flags.indexOf('g') ? flags : 'g' + flags);\n rx.lastIndex = toLength(regexp.lastIndex);\n return new $RegExpStringIterator(rx, S);\n }\n});\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/es7.string.match-all.js\n// module id = 420\n// module chunks = 0","require('./_wks-define')('asyncIterator');\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/es7.symbol.async-iterator.js\n// module id = 421\n// module chunks = 0","require('./_wks-define')('observable');\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/es7.symbol.observable.js\n// module id = 422\n// module chunks = 0","// https://github.com/tc39/proposal-object-getownpropertydescriptors\nvar $export = require('./_export');\nvar ownKeys = require('./_own-keys');\nvar toIObject = require('./_to-iobject');\nvar gOPD = require('./_object-gopd');\nvar createProperty = require('./_create-property');\n\n$export($export.S, 'Object', {\n getOwnPropertyDescriptors: function getOwnPropertyDescriptors(object) {\n var O = toIObject(object);\n var getDesc = gOPD.f;\n var keys = ownKeys(O);\n var result = {};\n var i = 0;\n var key, desc;\n while (keys.length > i) {\n desc = getDesc(O, key = keys[i++]);\n if (desc !== undefined) createProperty(result, key, desc);\n }\n return result;\n }\n});\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/es7.object.get-own-property-descriptors.js\n// module id = 423\n// module chunks = 0","// https://github.com/tc39/proposal-object-values-entries\nvar $export = require('./_export');\nvar $values = require('./_object-to-array')(false);\n\n$export($export.S, 'Object', {\n values: function values(it) {\n return $values(it);\n }\n});\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/es7.object.values.js\n// module id = 424\n// module chunks = 0","// https://github.com/tc39/proposal-object-values-entries\nvar $export = require('./_export');\nvar $entries = require('./_object-to-array')(true);\n\n$export($export.S, 'Object', {\n entries: function entries(it) {\n return $entries(it);\n }\n});\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/es7.object.entries.js\n// module id = 425\n// module chunks = 0","'use strict';\nvar $export = require('./_export');\nvar toObject = require('./_to-object');\nvar aFunction = require('./_a-function');\nvar $defineProperty = require('./_object-dp');\n\n// B.2.2.2 Object.prototype.__defineGetter__(P, getter)\nrequire('./_descriptors') && $export($export.P + require('./_object-forced-pam'), 'Object', {\n __defineGetter__: function __defineGetter__(P, getter) {\n $defineProperty.f(toObject(this), P, { get: aFunction(getter), enumerable: true, configurable: true });\n }\n});\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/es7.object.define-getter.js\n// module id = 426\n// module chunks = 0","'use strict';\nvar $export = require('./_export');\nvar toObject = require('./_to-object');\nvar aFunction = require('./_a-function');\nvar $defineProperty = require('./_object-dp');\n\n// B.2.2.3 Object.prototype.__defineSetter__(P, setter)\nrequire('./_descriptors') && $export($export.P + require('./_object-forced-pam'), 'Object', {\n __defineSetter__: function __defineSetter__(P, setter) {\n $defineProperty.f(toObject(this), P, { set: aFunction(setter), enumerable: true, configurable: true });\n }\n});\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/es7.object.define-setter.js\n// module id = 427\n// module chunks = 0","'use strict';\nvar $export = require('./_export');\nvar toObject = require('./_to-object');\nvar toPrimitive = require('./_to-primitive');\nvar getPrototypeOf = require('./_object-gpo');\nvar getOwnPropertyDescriptor = require('./_object-gopd').f;\n\n// B.2.2.4 Object.prototype.__lookupGetter__(P)\nrequire('./_descriptors') && $export($export.P + require('./_object-forced-pam'), 'Object', {\n __lookupGetter__: function __lookupGetter__(P) {\n var O = toObject(this);\n var K = toPrimitive(P, true);\n var D;\n do {\n if (D = getOwnPropertyDescriptor(O, K)) return D.get;\n } while (O = getPrototypeOf(O));\n }\n});\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/es7.object.lookup-getter.js\n// module id = 428\n// module chunks = 0","'use strict';\nvar $export = require('./_export');\nvar toObject = require('./_to-object');\nvar toPrimitive = require('./_to-primitive');\nvar getPrototypeOf = require('./_object-gpo');\nvar getOwnPropertyDescriptor = require('./_object-gopd').f;\n\n// B.2.2.5 Object.prototype.__lookupSetter__(P)\nrequire('./_descriptors') && $export($export.P + require('./_object-forced-pam'), 'Object', {\n __lookupSetter__: function __lookupSetter__(P) {\n var O = toObject(this);\n var K = toPrimitive(P, true);\n var D;\n do {\n if (D = getOwnPropertyDescriptor(O, K)) return D.set;\n } while (O = getPrototypeOf(O));\n }\n});\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/es7.object.lookup-setter.js\n// module id = 429\n// module chunks = 0","// https://github.com/DavidBruant/Map-Set.prototype.toJSON\nvar $export = require('./_export');\n\n$export($export.P + $export.R, 'Map', { toJSON: require('./_collection-to-json')('Map') });\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/es7.map.to-json.js\n// module id = 430\n// module chunks = 0","// https://github.com/DavidBruant/Map-Set.prototype.toJSON\nvar $export = require('./_export');\n\n$export($export.P + $export.R, 'Set', { toJSON: require('./_collection-to-json')('Set') });\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/es7.set.to-json.js\n// module id = 431\n// module chunks = 0","// https://tc39.github.io/proposal-setmap-offrom/#sec-map.of\nrequire('./_set-collection-of')('Map');\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/es7.map.of.js\n// module id = 432\n// module chunks = 0","// https://tc39.github.io/proposal-setmap-offrom/#sec-set.of\nrequire('./_set-collection-of')('Set');\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/es7.set.of.js\n// module id = 433\n// module chunks = 0","// https://tc39.github.io/proposal-setmap-offrom/#sec-weakmap.of\nrequire('./_set-collection-of')('WeakMap');\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/es7.weak-map.of.js\n// module id = 434\n// module chunks = 0","// https://tc39.github.io/proposal-setmap-offrom/#sec-weakset.of\nrequire('./_set-collection-of')('WeakSet');\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/es7.weak-set.of.js\n// module id = 435\n// module chunks = 0","// https://tc39.github.io/proposal-setmap-offrom/#sec-map.from\nrequire('./_set-collection-from')('Map');\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/es7.map.from.js\n// module id = 436\n// module chunks = 0","// https://tc39.github.io/proposal-setmap-offrom/#sec-set.from\nrequire('./_set-collection-from')('Set');\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/es7.set.from.js\n// module id = 437\n// module chunks = 0","// https://tc39.github.io/proposal-setmap-offrom/#sec-weakmap.from\nrequire('./_set-collection-from')('WeakMap');\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/es7.weak-map.from.js\n// module id = 438\n// module chunks = 0","// https://tc39.github.io/proposal-setmap-offrom/#sec-weakset.from\nrequire('./_set-collection-from')('WeakSet');\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/es7.weak-set.from.js\n// module id = 439\n// module chunks = 0","// https://github.com/tc39/proposal-global\nvar $export = require('./_export');\n\n$export($export.G, { global: require('./_global') });\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/es7.global.js\n// module id = 440\n// module chunks = 0","// https://github.com/tc39/proposal-global\nvar $export = require('./_export');\n\n$export($export.S, 'System', { global: require('./_global') });\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/es7.system.global.js\n// module id = 441\n// module chunks = 0","// https://github.com/ljharb/proposal-is-error\nvar $export = require('./_export');\nvar cof = require('./_cof');\n\n$export($export.S, 'Error', {\n isError: function isError(it) {\n return cof(it) === 'Error';\n }\n});\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/es7.error.is-error.js\n// module id = 442\n// module chunks = 0","// https://rwaldron.github.io/proposal-math-extensions/\nvar $export = require('./_export');\n\n$export($export.S, 'Math', {\n clamp: function clamp(x, lower, upper) {\n return Math.min(upper, Math.max(lower, x));\n }\n});\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/es7.math.clamp.js\n// module id = 443\n// module chunks = 0","// https://rwaldron.github.io/proposal-math-extensions/\nvar $export = require('./_export');\n\n$export($export.S, 'Math', { DEG_PER_RAD: Math.PI / 180 });\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/es7.math.deg-per-rad.js\n// module id = 444\n// module chunks = 0","// https://rwaldron.github.io/proposal-math-extensions/\nvar $export = require('./_export');\nvar RAD_PER_DEG = 180 / Math.PI;\n\n$export($export.S, 'Math', {\n degrees: function degrees(radians) {\n return radians * RAD_PER_DEG;\n }\n});\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/es7.math.degrees.js\n// module id = 445\n// module chunks = 0","// https://rwaldron.github.io/proposal-math-extensions/\nvar $export = require('./_export');\nvar scale = require('./_math-scale');\nvar fround = require('./_math-fround');\n\n$export($export.S, 'Math', {\n fscale: function fscale(x, inLow, inHigh, outLow, outHigh) {\n return fround(scale(x, inLow, inHigh, outLow, outHigh));\n }\n});\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/es7.math.fscale.js\n// module id = 446\n// module chunks = 0","// https://gist.github.com/BrendanEich/4294d5c212a6d2254703\nvar $export = require('./_export');\n\n$export($export.S, 'Math', {\n iaddh: function iaddh(x0, x1, y0, y1) {\n var $x0 = x0 >>> 0;\n var $x1 = x1 >>> 0;\n var $y0 = y0 >>> 0;\n return $x1 + (y1 >>> 0) + (($x0 & $y0 | ($x0 | $y0) & ~($x0 + $y0 >>> 0)) >>> 31) | 0;\n }\n});\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/es7.math.iaddh.js\n// module id = 447\n// module chunks = 0","// https://gist.github.com/BrendanEich/4294d5c212a6d2254703\nvar $export = require('./_export');\n\n$export($export.S, 'Math', {\n isubh: function isubh(x0, x1, y0, y1) {\n var $x0 = x0 >>> 0;\n var $x1 = x1 >>> 0;\n var $y0 = y0 >>> 0;\n return $x1 - (y1 >>> 0) - ((~$x0 & $y0 | ~($x0 ^ $y0) & $x0 - $y0 >>> 0) >>> 31) | 0;\n }\n});\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/es7.math.isubh.js\n// module id = 448\n// module chunks = 0","// https://gist.github.com/BrendanEich/4294d5c212a6d2254703\nvar $export = require('./_export');\n\n$export($export.S, 'Math', {\n imulh: function imulh(u, v) {\n var UINT16 = 0xffff;\n var $u = +u;\n var $v = +v;\n var u0 = $u & UINT16;\n var v0 = $v & UINT16;\n var u1 = $u >> 16;\n var v1 = $v >> 16;\n var t = (u1 * v0 >>> 0) + (u0 * v0 >>> 16);\n return u1 * v1 + (t >> 16) + ((u0 * v1 >>> 0) + (t & UINT16) >> 16);\n }\n});\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/es7.math.imulh.js\n// module id = 449\n// module chunks = 0","// https://rwaldron.github.io/proposal-math-extensions/\nvar $export = require('./_export');\n\n$export($export.S, 'Math', { RAD_PER_DEG: 180 / Math.PI });\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/es7.math.rad-per-deg.js\n// module id = 450\n// module chunks = 0","// https://rwaldron.github.io/proposal-math-extensions/\nvar $export = require('./_export');\nvar DEG_PER_RAD = Math.PI / 180;\n\n$export($export.S, 'Math', {\n radians: function radians(degrees) {\n return degrees * DEG_PER_RAD;\n }\n});\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/es7.math.radians.js\n// module id = 451\n// module chunks = 0","// https://rwaldron.github.io/proposal-math-extensions/\nvar $export = require('./_export');\n\n$export($export.S, 'Math', { scale: require('./_math-scale') });\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/es7.math.scale.js\n// module id = 452\n// module chunks = 0","// https://gist.github.com/BrendanEich/4294d5c212a6d2254703\nvar $export = require('./_export');\n\n$export($export.S, 'Math', {\n umulh: function umulh(u, v) {\n var UINT16 = 0xffff;\n var $u = +u;\n var $v = +v;\n var u0 = $u & UINT16;\n var v0 = $v & UINT16;\n var u1 = $u >>> 16;\n var v1 = $v >>> 16;\n var t = (u1 * v0 >>> 0) + (u0 * v0 >>> 16);\n return u1 * v1 + (t >>> 16) + ((u0 * v1 >>> 0) + (t & UINT16) >>> 16);\n }\n});\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/es7.math.umulh.js\n// module id = 453\n// module chunks = 0","// http://jfbastien.github.io/papers/Math.signbit.html\nvar $export = require('./_export');\n\n$export($export.S, 'Math', { signbit: function signbit(x) {\n // eslint-disable-next-line no-self-compare\n return (x = +x) != x ? x : x == 0 ? 1 / x == Infinity : x > 0;\n} });\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/es7.math.signbit.js\n// module id = 454\n// module chunks = 0","// https://github.com/tc39/proposal-promise-finally\n'use strict';\nvar $export = require('./_export');\nvar core = require('./_core');\nvar global = require('./_global');\nvar speciesConstructor = require('./_species-constructor');\nvar promiseResolve = require('./_promise-resolve');\n\n$export($export.P + $export.R, 'Promise', { 'finally': function (onFinally) {\n var C = speciesConstructor(this, core.Promise || global.Promise);\n var isFunction = typeof onFinally == 'function';\n return this.then(\n isFunction ? function (x) {\n return promiseResolve(C, onFinally()).then(function () { return x; });\n } : onFinally,\n isFunction ? function (e) {\n return promiseResolve(C, onFinally()).then(function () { throw e; });\n } : onFinally\n );\n} });\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/es7.promise.finally.js\n// module id = 455\n// module chunks = 0","'use strict';\n// https://github.com/tc39/proposal-promise-try\nvar $export = require('./_export');\nvar newPromiseCapability = require('./_new-promise-capability');\nvar perform = require('./_perform');\n\n$export($export.S, 'Promise', { 'try': function (callbackfn) {\n var promiseCapability = newPromiseCapability.f(this);\n var result = perform(callbackfn);\n (result.e ? promiseCapability.reject : promiseCapability.resolve)(result.v);\n return promiseCapability.promise;\n} });\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/es7.promise.try.js\n// module id = 456\n// module chunks = 0","var metadata = require('./_metadata');\nvar anObject = require('./_an-object');\nvar toMetaKey = metadata.key;\nvar ordinaryDefineOwnMetadata = metadata.set;\n\nmetadata.exp({ defineMetadata: function defineMetadata(metadataKey, metadataValue, target, targetKey) {\n ordinaryDefineOwnMetadata(metadataKey, metadataValue, anObject(target), toMetaKey(targetKey));\n} });\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/es7.reflect.define-metadata.js\n// module id = 457\n// module chunks = 0","var metadata = require('./_metadata');\nvar anObject = require('./_an-object');\nvar toMetaKey = metadata.key;\nvar getOrCreateMetadataMap = metadata.map;\nvar store = metadata.store;\n\nmetadata.exp({ deleteMetadata: function deleteMetadata(metadataKey, target /* , targetKey */) {\n var targetKey = arguments.length < 3 ? undefined : toMetaKey(arguments[2]);\n var metadataMap = getOrCreateMetadataMap(anObject(target), targetKey, false);\n if (metadataMap === undefined || !metadataMap['delete'](metadataKey)) return false;\n if (metadataMap.size) return true;\n var targetMetadata = store.get(target);\n targetMetadata['delete'](targetKey);\n return !!targetMetadata.size || store['delete'](target);\n} });\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/es7.reflect.delete-metadata.js\n// module id = 458\n// module chunks = 0","var metadata = require('./_metadata');\nvar anObject = require('./_an-object');\nvar getPrototypeOf = require('./_object-gpo');\nvar ordinaryHasOwnMetadata = metadata.has;\nvar ordinaryGetOwnMetadata = metadata.get;\nvar toMetaKey = metadata.key;\n\nvar ordinaryGetMetadata = function (MetadataKey, O, P) {\n var hasOwn = ordinaryHasOwnMetadata(MetadataKey, O, P);\n if (hasOwn) return ordinaryGetOwnMetadata(MetadataKey, O, P);\n var parent = getPrototypeOf(O);\n return parent !== null ? ordinaryGetMetadata(MetadataKey, parent, P) : undefined;\n};\n\nmetadata.exp({ getMetadata: function getMetadata(metadataKey, target /* , targetKey */) {\n return ordinaryGetMetadata(metadataKey, anObject(target), arguments.length < 3 ? undefined : toMetaKey(arguments[2]));\n} });\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/es7.reflect.get-metadata.js\n// module id = 459\n// module chunks = 0","var Set = require('./es6.set');\nvar from = require('./_array-from-iterable');\nvar metadata = require('./_metadata');\nvar anObject = require('./_an-object');\nvar getPrototypeOf = require('./_object-gpo');\nvar ordinaryOwnMetadataKeys = metadata.keys;\nvar toMetaKey = metadata.key;\n\nvar ordinaryMetadataKeys = function (O, P) {\n var oKeys = ordinaryOwnMetadataKeys(O, P);\n var parent = getPrototypeOf(O);\n if (parent === null) return oKeys;\n var pKeys = ordinaryMetadataKeys(parent, P);\n return pKeys.length ? oKeys.length ? from(new Set(oKeys.concat(pKeys))) : pKeys : oKeys;\n};\n\nmetadata.exp({ getMetadataKeys: function getMetadataKeys(target /* , targetKey */) {\n return ordinaryMetadataKeys(anObject(target), arguments.length < 2 ? undefined : toMetaKey(arguments[1]));\n} });\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/es7.reflect.get-metadata-keys.js\n// module id = 460\n// module chunks = 0","var metadata = require('./_metadata');\nvar anObject = require('./_an-object');\nvar ordinaryGetOwnMetadata = metadata.get;\nvar toMetaKey = metadata.key;\n\nmetadata.exp({ getOwnMetadata: function getOwnMetadata(metadataKey, target /* , targetKey */) {\n return ordinaryGetOwnMetadata(metadataKey, anObject(target)\n , arguments.length < 3 ? undefined : toMetaKey(arguments[2]));\n} });\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/es7.reflect.get-own-metadata.js\n// module id = 461\n// module chunks = 0","var metadata = require('./_metadata');\nvar anObject = require('./_an-object');\nvar ordinaryOwnMetadataKeys = metadata.keys;\nvar toMetaKey = metadata.key;\n\nmetadata.exp({ getOwnMetadataKeys: function getOwnMetadataKeys(target /* , targetKey */) {\n return ordinaryOwnMetadataKeys(anObject(target), arguments.length < 2 ? undefined : toMetaKey(arguments[1]));\n} });\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/es7.reflect.get-own-metadata-keys.js\n// module id = 462\n// module chunks = 0","var metadata = require('./_metadata');\nvar anObject = require('./_an-object');\nvar getPrototypeOf = require('./_object-gpo');\nvar ordinaryHasOwnMetadata = metadata.has;\nvar toMetaKey = metadata.key;\n\nvar ordinaryHasMetadata = function (MetadataKey, O, P) {\n var hasOwn = ordinaryHasOwnMetadata(MetadataKey, O, P);\n if (hasOwn) return true;\n var parent = getPrototypeOf(O);\n return parent !== null ? ordinaryHasMetadata(MetadataKey, parent, P) : false;\n};\n\nmetadata.exp({ hasMetadata: function hasMetadata(metadataKey, target /* , targetKey */) {\n return ordinaryHasMetadata(metadataKey, anObject(target), arguments.length < 3 ? undefined : toMetaKey(arguments[2]));\n} });\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/es7.reflect.has-metadata.js\n// module id = 463\n// module chunks = 0","var metadata = require('./_metadata');\nvar anObject = require('./_an-object');\nvar ordinaryHasOwnMetadata = metadata.has;\nvar toMetaKey = metadata.key;\n\nmetadata.exp({ hasOwnMetadata: function hasOwnMetadata(metadataKey, target /* , targetKey */) {\n return ordinaryHasOwnMetadata(metadataKey, anObject(target)\n , arguments.length < 3 ? undefined : toMetaKey(arguments[2]));\n} });\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/es7.reflect.has-own-metadata.js\n// module id = 464\n// module chunks = 0","var $metadata = require('./_metadata');\nvar anObject = require('./_an-object');\nvar aFunction = require('./_a-function');\nvar toMetaKey = $metadata.key;\nvar ordinaryDefineOwnMetadata = $metadata.set;\n\n$metadata.exp({ metadata: function metadata(metadataKey, metadataValue) {\n return function decorator(target, targetKey) {\n ordinaryDefineOwnMetadata(\n metadataKey, metadataValue,\n (targetKey !== undefined ? anObject : aFunction)(target),\n toMetaKey(targetKey)\n );\n };\n} });\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/es7.reflect.metadata.js\n// module id = 465\n// module chunks = 0","// https://github.com/rwaldron/tc39-notes/blob/master/es6/2014-09/sept-25.md#510-globalasap-for-enqueuing-a-microtask\nvar $export = require('./_export');\nvar microtask = require('./_microtask')();\nvar process = require('./_global').process;\nvar isNode = require('./_cof')(process) == 'process';\n\n$export($export.G, {\n asap: function asap(fn) {\n var domain = isNode && process.domain;\n microtask(domain ? domain.bind(fn) : fn);\n }\n});\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/es7.asap.js\n// module id = 466\n// module chunks = 0","'use strict';\n// https://github.com/zenparsing/es-observable\nvar $export = require('./_export');\nvar global = require('./_global');\nvar core = require('./_core');\nvar microtask = require('./_microtask')();\nvar OBSERVABLE = require('./_wks')('observable');\nvar aFunction = require('./_a-function');\nvar anObject = require('./_an-object');\nvar anInstance = require('./_an-instance');\nvar redefineAll = require('./_redefine-all');\nvar hide = require('./_hide');\nvar forOf = require('./_for-of');\nvar RETURN = forOf.RETURN;\n\nvar getMethod = function (fn) {\n return fn == null ? undefined : aFunction(fn);\n};\n\nvar cleanupSubscription = function (subscription) {\n var cleanup = subscription._c;\n if (cleanup) {\n subscription._c = undefined;\n cleanup();\n }\n};\n\nvar subscriptionClosed = function (subscription) {\n return subscription._o === undefined;\n};\n\nvar closeSubscription = function (subscription) {\n if (!subscriptionClosed(subscription)) {\n subscription._o = undefined;\n cleanupSubscription(subscription);\n }\n};\n\nvar Subscription = function (observer, subscriber) {\n anObject(observer);\n this._c = undefined;\n this._o = observer;\n observer = new SubscriptionObserver(this);\n try {\n var cleanup = subscriber(observer);\n var subscription = cleanup;\n if (cleanup != null) {\n if (typeof cleanup.unsubscribe === 'function') cleanup = function () { subscription.unsubscribe(); };\n else aFunction(cleanup);\n this._c = cleanup;\n }\n } catch (e) {\n observer.error(e);\n return;\n } if (subscriptionClosed(this)) cleanupSubscription(this);\n};\n\nSubscription.prototype = redefineAll({}, {\n unsubscribe: function unsubscribe() { closeSubscription(this); }\n});\n\nvar SubscriptionObserver = function (subscription) {\n this._s = subscription;\n};\n\nSubscriptionObserver.prototype = redefineAll({}, {\n next: function next(value) {\n var subscription = this._s;\n if (!subscriptionClosed(subscription)) {\n var observer = subscription._o;\n try {\n var m = getMethod(observer.next);\n if (m) return m.call(observer, value);\n } catch (e) {\n try {\n closeSubscription(subscription);\n } finally {\n throw e;\n }\n }\n }\n },\n error: function error(value) {\n var subscription = this._s;\n if (subscriptionClosed(subscription)) throw value;\n var observer = subscription._o;\n subscription._o = undefined;\n try {\n var m = getMethod(observer.error);\n if (!m) throw value;\n value = m.call(observer, value);\n } catch (e) {\n try {\n cleanupSubscription(subscription);\n } finally {\n throw e;\n }\n } cleanupSubscription(subscription);\n return value;\n },\n complete: function complete(value) {\n var subscription = this._s;\n if (!subscriptionClosed(subscription)) {\n var observer = subscription._o;\n subscription._o = undefined;\n try {\n var m = getMethod(observer.complete);\n value = m ? m.call(observer, value) : undefined;\n } catch (e) {\n try {\n cleanupSubscription(subscription);\n } finally {\n throw e;\n }\n } cleanupSubscription(subscription);\n return value;\n }\n }\n});\n\nvar $Observable = function Observable(subscriber) {\n anInstance(this, $Observable, 'Observable', '_f')._f = aFunction(subscriber);\n};\n\nredefineAll($Observable.prototype, {\n subscribe: function subscribe(observer) {\n return new Subscription(observer, this._f);\n },\n forEach: function forEach(fn) {\n var that = this;\n return new (core.Promise || global.Promise)(function (resolve, reject) {\n aFunction(fn);\n var subscription = that.subscribe({\n next: function (value) {\n try {\n return fn(value);\n } catch (e) {\n reject(e);\n subscription.unsubscribe();\n }\n },\n error: reject,\n complete: resolve\n });\n });\n }\n});\n\nredefineAll($Observable, {\n from: function from(x) {\n var C = typeof this === 'function' ? this : $Observable;\n var method = getMethod(anObject(x)[OBSERVABLE]);\n if (method) {\n var observable = anObject(method.call(x));\n return observable.constructor === C ? observable : new C(function (observer) {\n return observable.subscribe(observer);\n });\n }\n return new C(function (observer) {\n var done = false;\n microtask(function () {\n if (!done) {\n try {\n if (forOf(x, false, function (it) {\n observer.next(it);\n if (done) return RETURN;\n }) === RETURN) return;\n } catch (e) {\n if (done) throw e;\n observer.error(e);\n return;\n } observer.complete();\n }\n });\n return function () { done = true; };\n });\n },\n of: function of() {\n for (var i = 0, l = arguments.length, items = new Array(l); i < l;) items[i] = arguments[i++];\n return new (typeof this === 'function' ? this : $Observable)(function (observer) {\n var done = false;\n microtask(function () {\n if (!done) {\n for (var j = 0; j < items.length; ++j) {\n observer.next(items[j]);\n if (done) return;\n } observer.complete();\n }\n });\n return function () { done = true; };\n });\n }\n});\n\nhide($Observable.prototype, OBSERVABLE, function () { return this; });\n\n$export($export.G, { Observable: $Observable });\n\nrequire('./_set-species')('Observable');\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/es7.observable.js\n// module id = 467\n// module chunks = 0","// ie9- setTimeout & setInterval additional parameters fix\nvar global = require('./_global');\nvar $export = require('./_export');\nvar userAgent = require('./_user-agent');\nvar slice = [].slice;\nvar MSIE = /MSIE .\\./.test(userAgent); // <- dirty ie9- check\nvar wrap = function (set) {\n return function (fn, time /* , ...args */) {\n var boundArgs = arguments.length > 2;\n var args = boundArgs ? slice.call(arguments, 2) : false;\n return set(boundArgs ? function () {\n // eslint-disable-next-line no-new-func\n (typeof fn == 'function' ? fn : Function(fn)).apply(this, args);\n } : fn, time);\n };\n};\n$export($export.G + $export.B + $export.F * MSIE, {\n setTimeout: wrap(global.setTimeout),\n setInterval: wrap(global.setInterval)\n});\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/web.timers.js\n// module id = 468\n// module chunks = 0","var $export = require('./_export');\nvar $task = require('./_task');\n$export($export.G + $export.B, {\n setImmediate: $task.set,\n clearImmediate: $task.clear\n});\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/web.immediate.js\n// module id = 469\n// module chunks = 0","var $iterators = require('./es6.array.iterator');\nvar getKeys = require('./_object-keys');\nvar redefine = require('./_redefine');\nvar global = require('./_global');\nvar hide = require('./_hide');\nvar Iterators = require('./_iterators');\nvar wks = require('./_wks');\nvar ITERATOR = wks('iterator');\nvar TO_STRING_TAG = wks('toStringTag');\nvar ArrayValues = Iterators.Array;\n\nvar DOMIterables = {\n CSSRuleList: true, // TODO: Not spec compliant, should be false.\n CSSStyleDeclaration: false,\n CSSValueList: false,\n ClientRectList: false,\n DOMRectList: false,\n DOMStringList: false,\n DOMTokenList: true,\n DataTransferItemList: false,\n FileList: false,\n HTMLAllCollection: false,\n HTMLCollection: false,\n HTMLFormElement: false,\n HTMLSelectElement: false,\n MediaList: true, // TODO: Not spec compliant, should be false.\n MimeTypeArray: false,\n NamedNodeMap: false,\n NodeList: true,\n PaintRequestList: false,\n Plugin: false,\n PluginArray: false,\n SVGLengthList: false,\n SVGNumberList: false,\n SVGPathSegList: false,\n SVGPointList: false,\n SVGStringList: false,\n SVGTransformList: false,\n SourceBufferList: false,\n StyleSheetList: true, // TODO: Not spec compliant, should be false.\n TextTrackCueList: false,\n TextTrackList: false,\n TouchList: false\n};\n\nfor (var collections = getKeys(DOMIterables), i = 0; i < collections.length; i++) {\n var NAME = collections[i];\n var explicit = DOMIterables[NAME];\n var Collection = global[NAME];\n var proto = Collection && Collection.prototype;\n var key;\n if (proto) {\n if (!proto[ITERATOR]) hide(proto, ITERATOR, ArrayValues);\n if (!proto[TO_STRING_TAG]) hide(proto, TO_STRING_TAG, NAME);\n Iterators[NAME] = ArrayValues;\n if (explicit) for (key in $iterators) if (!proto[key]) redefine(proto, key, $iterators[key], true);\n }\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/web.dom.iterable.js\n// module id = 470\n// module chunks = 0","/**\n * Copyright (c) 2014, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * https://raw.github.com/facebook/regenerator/master/LICENSE file. An\n * additional grant of patent rights can be found in the PATENTS file in\n * the same directory.\n */\n\n!(function(global) {\n \"use strict\";\n\n var Op = Object.prototype;\n var hasOwn = Op.hasOwnProperty;\n var undefined; // More compressible than void 0.\n var $Symbol = typeof Symbol === \"function\" ? Symbol : {};\n var iteratorSymbol = $Symbol.iterator || \"@@iterator\";\n var asyncIteratorSymbol = $Symbol.asyncIterator || \"@@asyncIterator\";\n var toStringTagSymbol = $Symbol.toStringTag || \"@@toStringTag\";\n\n var inModule = typeof module === \"object\";\n var runtime = global.regeneratorRuntime;\n if (runtime) {\n if (inModule) {\n // If regeneratorRuntime is defined globally and we're in a module,\n // make the exports object identical to regeneratorRuntime.\n module.exports = runtime;\n }\n // Don't bother evaluating the rest of this file if the runtime was\n // already defined globally.\n return;\n }\n\n // Define the runtime globally (as expected by generated code) as either\n // module.exports (if we're in a module) or a new, empty object.\n runtime = global.regeneratorRuntime = inModule ? module.exports : {};\n\n function wrap(innerFn, outerFn, self, tryLocsList) {\n // If outerFn provided and outerFn.prototype is a Generator, then outerFn.prototype instanceof Generator.\n var protoGenerator = outerFn && outerFn.prototype instanceof Generator ? outerFn : Generator;\n var generator = Object.create(protoGenerator.prototype);\n var context = new Context(tryLocsList || []);\n\n // The ._invoke method unifies the implementations of the .next,\n // .throw, and .return methods.\n generator._invoke = makeInvokeMethod(innerFn, self, context);\n\n return generator;\n }\n runtime.wrap = wrap;\n\n // Try/catch helper to minimize deoptimizations. Returns a completion\n // record like context.tryEntries[i].completion. This interface could\n // have been (and was previously) designed to take a closure to be\n // invoked without arguments, but in all the cases we care about we\n // already have an existing method we want to call, so there's no need\n // to create a new function object. We can even get away with assuming\n // the method takes exactly one argument, since that happens to be true\n // in every case, so we don't have to touch the arguments object. The\n // only additional allocation required is the completion record, which\n // has a stable shape and so hopefully should be cheap to allocate.\n function tryCatch(fn, obj, arg) {\n try {\n return { type: \"normal\", arg: fn.call(obj, arg) };\n } catch (err) {\n return { type: \"throw\", arg: err };\n }\n }\n\n var GenStateSuspendedStart = \"suspendedStart\";\n var GenStateSuspendedYield = \"suspendedYield\";\n var GenStateExecuting = \"executing\";\n var GenStateCompleted = \"completed\";\n\n // Returning this object from the innerFn has the same effect as\n // breaking out of the dispatch switch statement.\n var ContinueSentinel = {};\n\n // Dummy constructor functions that we use as the .constructor and\n // .constructor.prototype properties for functions that return Generator\n // objects. For full spec compliance, you may wish to configure your\n // minifier not to mangle the names of these two functions.\n function Generator() {}\n function GeneratorFunction() {}\n function GeneratorFunctionPrototype() {}\n\n // This is a polyfill for %IteratorPrototype% for environments that\n // don't natively support it.\n var IteratorPrototype = {};\n IteratorPrototype[iteratorSymbol] = function () {\n return this;\n };\n\n var getProto = Object.getPrototypeOf;\n var NativeIteratorPrototype = getProto && getProto(getProto(values([])));\n if (NativeIteratorPrototype &&\n NativeIteratorPrototype !== Op &&\n hasOwn.call(NativeIteratorPrototype, iteratorSymbol)) {\n // This environment has a native %IteratorPrototype%; use it instead\n // of the polyfill.\n IteratorPrototype = NativeIteratorPrototype;\n }\n\n var Gp = GeneratorFunctionPrototype.prototype =\n Generator.prototype = Object.create(IteratorPrototype);\n GeneratorFunction.prototype = Gp.constructor = GeneratorFunctionPrototype;\n GeneratorFunctionPrototype.constructor = GeneratorFunction;\n GeneratorFunctionPrototype[toStringTagSymbol] =\n GeneratorFunction.displayName = \"GeneratorFunction\";\n\n // Helper for defining the .next, .throw, and .return methods of the\n // Iterator interface in terms of a single ._invoke method.\n function defineIteratorMethods(prototype) {\n [\"next\", \"throw\", \"return\"].forEach(function(method) {\n prototype[method] = function(arg) {\n return this._invoke(method, arg);\n };\n });\n }\n\n runtime.isGeneratorFunction = function(genFun) {\n var ctor = typeof genFun === \"function\" && genFun.constructor;\n return ctor\n ? ctor === GeneratorFunction ||\n // For the native GeneratorFunction constructor, the best we can\n // do is to check its .name property.\n (ctor.displayName || ctor.name) === \"GeneratorFunction\"\n : false;\n };\n\n runtime.mark = function(genFun) {\n if (Object.setPrototypeOf) {\n Object.setPrototypeOf(genFun, GeneratorFunctionPrototype);\n } else {\n genFun.__proto__ = GeneratorFunctionPrototype;\n if (!(toStringTagSymbol in genFun)) {\n genFun[toStringTagSymbol] = \"GeneratorFunction\";\n }\n }\n genFun.prototype = Object.create(Gp);\n return genFun;\n };\n\n // Within the body of any async function, `await x` is transformed to\n // `yield regeneratorRuntime.awrap(x)`, so that the runtime can test\n // `hasOwn.call(value, \"__await\")` to determine if the yielded value is\n // meant to be awaited.\n runtime.awrap = function(arg) {\n return { __await: arg };\n };\n\n function AsyncIterator(generator) {\n function invoke(method, arg, resolve, reject) {\n var record = tryCatch(generator[method], generator, arg);\n if (record.type === \"throw\") {\n reject(record.arg);\n } else {\n var result = record.arg;\n var value = result.value;\n if (value &&\n typeof value === \"object\" &&\n hasOwn.call(value, \"__await\")) {\n return Promise.resolve(value.__await).then(function(value) {\n invoke(\"next\", value, resolve, reject);\n }, function(err) {\n invoke(\"throw\", err, resolve, reject);\n });\n }\n\n return Promise.resolve(value).then(function(unwrapped) {\n // When a yielded Promise is resolved, its final value becomes\n // the .value of the Promise<{value,done}> result for the\n // current iteration. If the Promise is rejected, however, the\n // result for this iteration will be rejected with the same\n // reason. Note that rejections of yielded Promises are not\n // thrown back into the generator function, as is the case\n // when an awaited Promise is rejected. This difference in\n // behavior between yield and await is important, because it\n // allows the consumer to decide what to do with the yielded\n // rejection (swallow it and continue, manually .throw it back\n // into the generator, abandon iteration, whatever). With\n // await, by contrast, there is no opportunity to examine the\n // rejection reason outside the generator function, so the\n // only option is to throw it from the await expression, and\n // let the generator function handle the exception.\n result.value = unwrapped;\n resolve(result);\n }, reject);\n }\n }\n\n if (typeof global.process === \"object\" && global.process.domain) {\n invoke = global.process.domain.bind(invoke);\n }\n\n var previousPromise;\n\n function enqueue(method, arg) {\n function callInvokeWithMethodAndArg() {\n return new Promise(function(resolve, reject) {\n invoke(method, arg, resolve, reject);\n });\n }\n\n return previousPromise =\n // If enqueue has been called before, then we want to wait until\n // all previous Promises have been resolved before calling invoke,\n // so that results are always delivered in the correct order. If\n // enqueue has not been called before, then it is important to\n // call invoke immediately, without waiting on a callback to fire,\n // so that the async generator function has the opportunity to do\n // any necessary setup in a predictable way. This predictability\n // is why the Promise constructor synchronously invokes its\n // executor callback, and why async functions synchronously\n // execute code before the first await. Since we implement simple\n // async functions in terms of async generators, it is especially\n // important to get this right, even though it requires care.\n previousPromise ? previousPromise.then(\n callInvokeWithMethodAndArg,\n // Avoid propagating failures to Promises returned by later\n // invocations of the iterator.\n callInvokeWithMethodAndArg\n ) : callInvokeWithMethodAndArg();\n }\n\n // Define the unified helper method that is used to implement .next,\n // .throw, and .return (see defineIteratorMethods).\n this._invoke = enqueue;\n }\n\n defineIteratorMethods(AsyncIterator.prototype);\n AsyncIterator.prototype[asyncIteratorSymbol] = function () {\n return this;\n };\n runtime.AsyncIterator = AsyncIterator;\n\n // Note that simple async functions are implemented on top of\n // AsyncIterator objects; they just return a Promise for the value of\n // the final result produced by the iterator.\n runtime.async = function(innerFn, outerFn, self, tryLocsList) {\n var iter = new AsyncIterator(\n wrap(innerFn, outerFn, self, tryLocsList)\n );\n\n return runtime.isGeneratorFunction(outerFn)\n ? iter // If outerFn is a generator, return the full iterator.\n : iter.next().then(function(result) {\n return result.done ? result.value : iter.next();\n });\n };\n\n function makeInvokeMethod(innerFn, self, context) {\n var state = GenStateSuspendedStart;\n\n return function invoke(method, arg) {\n if (state === GenStateExecuting) {\n throw new Error(\"Generator is already running\");\n }\n\n if (state === GenStateCompleted) {\n if (method === \"throw\") {\n throw arg;\n }\n\n // Be forgiving, per 25.3.3.3.3 of the spec:\n // https://people.mozilla.org/~jorendorff/es6-draft.html#sec-generatorresume\n return doneResult();\n }\n\n context.method = method;\n context.arg = arg;\n\n while (true) {\n var delegate = context.delegate;\n if (delegate) {\n var delegateResult = maybeInvokeDelegate(delegate, context);\n if (delegateResult) {\n if (delegateResult === ContinueSentinel) continue;\n return delegateResult;\n }\n }\n\n if (context.method === \"next\") {\n // Setting context._sent for legacy support of Babel's\n // function.sent implementation.\n context.sent = context._sent = context.arg;\n\n } else if (context.method === \"throw\") {\n if (state === GenStateSuspendedStart) {\n state = GenStateCompleted;\n throw context.arg;\n }\n\n context.dispatchException(context.arg);\n\n } else if (context.method === \"return\") {\n context.abrupt(\"return\", context.arg);\n }\n\n state = GenStateExecuting;\n\n var record = tryCatch(innerFn, self, context);\n if (record.type === \"normal\") {\n // If an exception is thrown from innerFn, we leave state ===\n // GenStateExecuting and loop back for another invocation.\n state = context.done\n ? GenStateCompleted\n : GenStateSuspendedYield;\n\n if (record.arg === ContinueSentinel) {\n continue;\n }\n\n return {\n value: record.arg,\n done: context.done\n };\n\n } else if (record.type === \"throw\") {\n state = GenStateCompleted;\n // Dispatch the exception by looping back around to the\n // context.dispatchException(context.arg) call above.\n context.method = \"throw\";\n context.arg = record.arg;\n }\n }\n };\n }\n\n // Call delegate.iterator[context.method](context.arg) and handle the\n // result, either by returning a { value, done } result from the\n // delegate iterator, or by modifying context.method and context.arg,\n // setting context.delegate to null, and returning the ContinueSentinel.\n function maybeInvokeDelegate(delegate, context) {\n var method = delegate.iterator[context.method];\n if (method === undefined) {\n // A .throw or .return when the delegate iterator has no .throw\n // method always terminates the yield* loop.\n context.delegate = null;\n\n if (context.method === \"throw\") {\n if (delegate.iterator.return) {\n // If the delegate iterator has a return method, give it a\n // chance to clean up.\n context.method = \"return\";\n context.arg = undefined;\n maybeInvokeDelegate(delegate, context);\n\n if (context.method === \"throw\") {\n // If maybeInvokeDelegate(context) changed context.method from\n // \"return\" to \"throw\", let that override the TypeError below.\n return ContinueSentinel;\n }\n }\n\n context.method = \"throw\";\n context.arg = new TypeError(\n \"The iterator does not provide a 'throw' method\");\n }\n\n return ContinueSentinel;\n }\n\n var record = tryCatch(method, delegate.iterator, context.arg);\n\n if (record.type === \"throw\") {\n context.method = \"throw\";\n context.arg = record.arg;\n context.delegate = null;\n return ContinueSentinel;\n }\n\n var info = record.arg;\n\n if (! info) {\n context.method = \"throw\";\n context.arg = new TypeError(\"iterator result is not an object\");\n context.delegate = null;\n return ContinueSentinel;\n }\n\n if (info.done) {\n // Assign the result of the finished delegate to the temporary\n // variable specified by delegate.resultName (see delegateYield).\n context[delegate.resultName] = info.value;\n\n // Resume execution at the desired location (see delegateYield).\n context.next = delegate.nextLoc;\n\n // If context.method was \"throw\" but the delegate handled the\n // exception, let the outer generator proceed normally. If\n // context.method was \"next\", forget context.arg since it has been\n // \"consumed\" by the delegate iterator. If context.method was\n // \"return\", allow the original .return call to continue in the\n // outer generator.\n if (context.method !== \"return\") {\n context.method = \"next\";\n context.arg = undefined;\n }\n\n } else {\n // Re-yield the result returned by the delegate method.\n return info;\n }\n\n // The delegate iterator is finished, so forget it and continue with\n // the outer generator.\n context.delegate = null;\n return ContinueSentinel;\n }\n\n // Define Generator.prototype.{next,throw,return} in terms of the\n // unified ._invoke helper method.\n defineIteratorMethods(Gp);\n\n Gp[toStringTagSymbol] = \"Generator\";\n\n // A Generator should always return itself as the iterator object when the\n // @@iterator function is called on it. Some browsers' implementations of the\n // iterator prototype chain incorrectly implement this, causing the Generator\n // object to not be returned from this call. This ensures that doesn't happen.\n // See https://github.com/facebook/regenerator/issues/274 for more details.\n Gp[iteratorSymbol] = function() {\n return this;\n };\n\n Gp.toString = function() {\n return \"[object Generator]\";\n };\n\n function pushTryEntry(locs) {\n var entry = { tryLoc: locs[0] };\n\n if (1 in locs) {\n entry.catchLoc = locs[1];\n }\n\n if (2 in locs) {\n entry.finallyLoc = locs[2];\n entry.afterLoc = locs[3];\n }\n\n this.tryEntries.push(entry);\n }\n\n function resetTryEntry(entry) {\n var record = entry.completion || {};\n record.type = \"normal\";\n delete record.arg;\n entry.completion = record;\n }\n\n function Context(tryLocsList) {\n // The root entry object (effectively a try statement without a catch\n // or a finally block) gives us a place to store values thrown from\n // locations where there is no enclosing try statement.\n this.tryEntries = [{ tryLoc: \"root\" }];\n tryLocsList.forEach(pushTryEntry, this);\n this.reset(true);\n }\n\n runtime.keys = function(object) {\n var keys = [];\n for (var key in object) {\n keys.push(key);\n }\n keys.reverse();\n\n // Rather than returning an object with a next method, we keep\n // things simple and return the next function itself.\n return function next() {\n while (keys.length) {\n var key = keys.pop();\n if (key in object) {\n next.value = key;\n next.done = false;\n return next;\n }\n }\n\n // To avoid creating an additional object, we just hang the .value\n // and .done properties off the next function object itself. This\n // also ensures that the minifier will not anonymize the function.\n next.done = true;\n return next;\n };\n };\n\n function values(iterable) {\n if (iterable) {\n var iteratorMethod = iterable[iteratorSymbol];\n if (iteratorMethod) {\n return iteratorMethod.call(iterable);\n }\n\n if (typeof iterable.next === \"function\") {\n return iterable;\n }\n\n if (!isNaN(iterable.length)) {\n var i = -1, next = function next() {\n while (++i < iterable.length) {\n if (hasOwn.call(iterable, i)) {\n next.value = iterable[i];\n next.done = false;\n return next;\n }\n }\n\n next.value = undefined;\n next.done = true;\n\n return next;\n };\n\n return next.next = next;\n }\n }\n\n // Return an iterator with no values.\n return { next: doneResult };\n }\n runtime.values = values;\n\n function doneResult() {\n return { value: undefined, done: true };\n }\n\n Context.prototype = {\n constructor: Context,\n\n reset: function(skipTempReset) {\n this.prev = 0;\n this.next = 0;\n // Resetting context._sent for legacy support of Babel's\n // function.sent implementation.\n this.sent = this._sent = undefined;\n this.done = false;\n this.delegate = null;\n\n this.method = \"next\";\n this.arg = undefined;\n\n this.tryEntries.forEach(resetTryEntry);\n\n if (!skipTempReset) {\n for (var name in this) {\n // Not sure about the optimal order of these conditions:\n if (name.charAt(0) === \"t\" &&\n hasOwn.call(this, name) &&\n !isNaN(+name.slice(1))) {\n this[name] = undefined;\n }\n }\n }\n },\n\n stop: function() {\n this.done = true;\n\n var rootEntry = this.tryEntries[0];\n var rootRecord = rootEntry.completion;\n if (rootRecord.type === \"throw\") {\n throw rootRecord.arg;\n }\n\n return this.rval;\n },\n\n dispatchException: function(exception) {\n if (this.done) {\n throw exception;\n }\n\n var context = this;\n function handle(loc, caught) {\n record.type = \"throw\";\n record.arg = exception;\n context.next = loc;\n\n if (caught) {\n // If the dispatched exception was caught by a catch block,\n // then let that catch block handle the exception normally.\n context.method = \"next\";\n context.arg = undefined;\n }\n\n return !! caught;\n }\n\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n var record = entry.completion;\n\n if (entry.tryLoc === \"root\") {\n // Exception thrown outside of any try block that could handle\n // it, so set the completion value of the entire function to\n // throw the exception.\n return handle(\"end\");\n }\n\n if (entry.tryLoc <= this.prev) {\n var hasCatch = hasOwn.call(entry, \"catchLoc\");\n var hasFinally = hasOwn.call(entry, \"finallyLoc\");\n\n if (hasCatch && hasFinally) {\n if (this.prev < entry.catchLoc) {\n return handle(entry.catchLoc, true);\n } else if (this.prev < entry.finallyLoc) {\n return handle(entry.finallyLoc);\n }\n\n } else if (hasCatch) {\n if (this.prev < entry.catchLoc) {\n return handle(entry.catchLoc, true);\n }\n\n } else if (hasFinally) {\n if (this.prev < entry.finallyLoc) {\n return handle(entry.finallyLoc);\n }\n\n } else {\n throw new Error(\"try statement without catch or finally\");\n }\n }\n }\n },\n\n abrupt: function(type, arg) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.tryLoc <= this.prev &&\n hasOwn.call(entry, \"finallyLoc\") &&\n this.prev < entry.finallyLoc) {\n var finallyEntry = entry;\n break;\n }\n }\n\n if (finallyEntry &&\n (type === \"break\" ||\n type === \"continue\") &&\n finallyEntry.tryLoc <= arg &&\n arg <= finallyEntry.finallyLoc) {\n // Ignore the finally entry if control is not jumping to a\n // location outside the try/catch block.\n finallyEntry = null;\n }\n\n var record = finallyEntry ? finallyEntry.completion : {};\n record.type = type;\n record.arg = arg;\n\n if (finallyEntry) {\n this.method = \"next\";\n this.next = finallyEntry.finallyLoc;\n return ContinueSentinel;\n }\n\n return this.complete(record);\n },\n\n complete: function(record, afterLoc) {\n if (record.type === \"throw\") {\n throw record.arg;\n }\n\n if (record.type === \"break\" ||\n record.type === \"continue\") {\n this.next = record.arg;\n } else if (record.type === \"return\") {\n this.rval = this.arg = record.arg;\n this.method = \"return\";\n this.next = \"end\";\n } else if (record.type === \"normal\" && afterLoc) {\n this.next = afterLoc;\n }\n\n return ContinueSentinel;\n },\n\n finish: function(finallyLoc) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.finallyLoc === finallyLoc) {\n this.complete(entry.completion, entry.afterLoc);\n resetTryEntry(entry);\n return ContinueSentinel;\n }\n }\n },\n\n \"catch\": function(tryLoc) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.tryLoc === tryLoc) {\n var record = entry.completion;\n if (record.type === \"throw\") {\n var thrown = record.arg;\n resetTryEntry(entry);\n }\n return thrown;\n }\n }\n\n // The context.catch method must only be called with a location\n // argument that corresponds to a known catch block.\n throw new Error(\"illegal catch attempt\");\n },\n\n delegateYield: function(iterable, resultName, nextLoc) {\n this.delegate = {\n iterator: values(iterable),\n resultName: resultName,\n nextLoc: nextLoc\n };\n\n if (this.method === \"next\") {\n // Deliberately forget the last sent value so that we don't\n // accidentally pass it on to the delegate.\n this.arg = undefined;\n }\n\n return ContinueSentinel;\n }\n };\n})(\n // Among the various tricks for obtaining a reference to the global\n // object, this seems to be the most reliable technique that does not\n // use indirect eval (which violates Content Security Policy).\n typeof global === \"object\" ? global :\n typeof window === \"object\" ? window :\n typeof self === \"object\" ? self : this\n);\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/regenerator-runtime/runtime.js\n// module id = 471\n// module chunks = 0","require('../../modules/core.regexp.escape');\nmodule.exports = require('../../modules/_core').RegExp.escape;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/fn/regexp/escape.js\n// module id = 472\n// module chunks = 0","// https://github.com/benjamingr/RexExp.escape\nvar $export = require('./_export');\nvar $re = require('./_replacer')(/[\\\\^$*+?.()|[\\]{}]/g, '\\\\$&');\n\n$export($export.S, 'RegExp', { escape: function escape(it) { return $re(it); } });\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/core.regexp.escape.js\n// module id = 473\n// module chunks = 0","module.exports = function (regExp, replace) {\n var replacer = replace === Object(replace) ? function (part) {\n return replace[part];\n } : replace;\n return function (it) {\n return String(it).replace(regExp, replacer);\n };\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/modules/_replacer.js\n// module id = 474\n// module chunks = 0","/*globals module */\n\nvar OktaSignIn = (function () {\n\n var _ = require('underscore'),\n config = require('config/config.json'),\n OAuth2Util = require('util/OAuth2Util'),\n router;\n var V1LoginRouter = require('LoginRouter');\n\n function getProperties (authClient, Util, widgetOptions = {}) {\n\n function render (renderOptions, successFn, errorFn) {\n if (router) {\n throw new Error('An instance of the widget has already been rendered. Call remove() first.');\n }\n\n /**\n * -- Development Mode --\n * When the page loads, provide a helpful message to remind the developer that\n * tokens have not been removed from the hash fragment.\n */\n if (hasTokensInUrl()) {\n Util.debugMessage(\n `\n Looks like there are still tokens in the URL! Don't forget to parse and store them.\n See: https://github.com/okta/okta-signin-widget/#oidc-tokenparsetokensfromurlsuccess-error.\n `\n );\n }\n var isNewPipeline = !Util.isV1StateToken(widgetOptions.stateToken);\n var Router = V1LoginRouter;\n if (widgetOptions.stateToken && isNewPipeline) {\n /* add check for stateToken here because we dont want to end up on\n new pipeline if there is no stateToken */\n Router = require('v2/WidgetRouter');\n }\n if (widgetOptions.stateToken) {\n Util.introspectToken(authClient, widgetOptions)\n .then(_.bind(function (data) {\n var response = data;\n router = bootstrapRouter.call(this, Router, authClient, widgetOptions, renderOptions, successFn, errorFn);\n if (isNewPipeline) {\n response = data.rawIdxState;\n router.appState.set('idx', data);\n }\n router.appState.set('introspectSuccess', response);\n router.start();\n }, this)).fail(_.bind(function (err) {\n // Introspect API error.\n // Incase of an error we want to just load the LoginRouter\n router = bootstrapRouter.call(this, Router, authClient, widgetOptions, renderOptions, successFn, errorFn);\n var introspectError = isNewPipeline ? err.details: err;\n /* idx-js sends an error object with the error response inside details\n https://github.com/okta/okta-idx-js/blob/master/src/index.js#L14*/\n router.appState.set('introspectError', introspectError);\n router.start();\n }, this));\n } else {\n // If no stateToken bootstrap with LoginRouter\n router = bootstrapRouter.call(this, Router, authClient, widgetOptions, renderOptions, successFn, errorFn);\n router.start();\n }\n }\n\n function hide () {\n if (router) {\n router.hide();\n }\n }\n\n function show () {\n if (router) {\n router.show();\n }\n }\n\n function remove () {\n if (router) {\n router.remove();\n router = undefined;\n }\n }\n\n /**\n * Check if tokens have been passed back into the url, which happens in\n * the social auth IDP redirect flow.\n */\n function hasTokensInUrl () {\n return Util.hasTokensInHash(window.location.hash);\n }\n\n /**\n * Renders the Widget with opinionated defaults for the full-page\n * redirect flow.\n * @param options - options for the signin widget\n */\n function showSignInToGetTokens (options) {\n var renderOptions = OAuth2Util.transformShowSignInToGetTokensOptions(options, config);\n return render.call(this, renderOptions);\n }\n\n // Properties exposed on OktaSignIn object.\n return {\n renderEl: render,\n authClient: authClient,\n showSignInToGetTokens: showSignInToGetTokens,\n hasTokensInUrl: hasTokensInUrl,\n hide: hide,\n show: show,\n remove: remove\n };\n }\n\n function bootstrapRouter (Router, authClient, widgetOptions, renderOptions, successFn, errorFn) {\n var widgetRouter = new Router(_.extend({}, widgetOptions, renderOptions, {\n authClient: authClient,\n globalSuccessFn: successFn,\n globalErrorFn: errorFn\n }));\n\n _.extend(this, Router.prototype.Events);\n\n // Triggers the event up the chain so it is available to the consumers of the widget.\n this.listenTo(Router.prototype, 'all', this.trigger);\n\n // On the first afterRender event (usually when the Widget is ready) - emit a 'ready' event\n this.once('afterRender', function (context) {\n this.trigger('ready', context);\n });\n return widgetRouter;\n }\n\n function OktaSignIn (options) {\n require('okta');\n var Util = require('util/Util');\n /**\n * Render the sign in widget to an element.\n * @param options - options for the signin widget.\n * Must have an el or $el property to render the widget to.\n * @param success - success callback function\n * @param error - error callback function\n */\n var OktaAuth = require('@okta/okta-auth-js');\n\n var authParams = _.extend({\n url: options.baseUrl,\n transformErrorXHR: Util.transformErrorXHR,\n headers: {\n 'X-Okta-User-Agent-Extended': 'okta-signin-widget-' + config.version\n },\n clientId: options.clientId,\n redirectUri: options.redirectUri\n }, options.authParams);\n\n var authClient = new OktaAuth(authParams);\n\n Util.debugMessage(\n `\n The Okta Sign-In Widget is running in development mode.\n When you are ready to publish your app, embed the minified version to turn on production mode.\n See: https://developer.okta.com/code/javascript/okta_sign-in_widget#cdn\n `\n );\n\n _.extend(this, V1LoginRouter.prototype.Events, getProperties(authClient, Util, options));\n }\n\n return OktaSignIn;\n\n})();\nmodule.exports = OktaSignIn;\n\n\n\n// WEBPACK FOOTER //\n// ./src/widget/OktaSignIn.js","var core = require('../../modules/_core');\nvar $JSON = core.JSON || (core.JSON = { stringify: JSON.stringify });\nmodule.exports = function stringify(it) { // eslint-disable-line no-unused-vars\n return $JSON.stringify.apply($JSON, arguments);\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/fn/json/stringify.js\n// module id = 476\n// module chunks = 0","require('../../modules/es6.string.iterator');\nrequire('../../modules/web.dom.iterable');\nmodule.exports = require('../../modules/_wks-ext').f('iterator');\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/fn/symbol/iterator.js\n// module id = 477\n// module chunks = 0","var toInteger = require('./_to-integer');\nvar defined = require('./_defined');\n// true -> String#at\n// false -> String#codePointAt\nmodule.exports = function (TO_STRING) {\n return function (that, pos) {\n var s = String(defined(that));\n var i = toInteger(pos);\n var l = s.length;\n var a, b;\n if (i < 0 || i >= l) return TO_STRING ? '' : undefined;\n a = s.charCodeAt(i);\n return a < 0xd800 || a > 0xdbff || i + 1 === l || (b = s.charCodeAt(i + 1)) < 0xdc00 || b > 0xdfff\n ? TO_STRING ? s.charAt(i) : a\n : TO_STRING ? s.slice(i, i + 2) : (a - 0xd800 << 10) + (b - 0xdc00) + 0x10000;\n };\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_string-at.js\n// module id = 478\n// module chunks = 0","'use strict';\nvar create = require('./_object-create');\nvar descriptor = require('./_property-desc');\nvar setToStringTag = require('./_set-to-string-tag');\nvar IteratorPrototype = {};\n\n// 25.1.2.1.1 %IteratorPrototype%[@@iterator]()\nrequire('./_hide')(IteratorPrototype, require('./_wks')('iterator'), function () { return this; });\n\nmodule.exports = function (Constructor, NAME, next) {\n Constructor.prototype = create(IteratorPrototype, { next: descriptor(1, next) });\n setToStringTag(Constructor, NAME + ' Iterator');\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_iter-create.js\n// module id = 479\n// module chunks = 0","// false -> Array#indexOf\n// true -> Array#includes\nvar toIObject = require('./_to-iobject');\nvar toLength = require('./_to-length');\nvar toAbsoluteIndex = require('./_to-absolute-index');\nmodule.exports = function (IS_INCLUDES) {\n return function ($this, el, fromIndex) {\n var O = toIObject($this);\n var length = toLength(O.length);\n var index = toAbsoluteIndex(fromIndex, length);\n var value;\n // Array#includes uses SameValueZero equality algorithm\n // eslint-disable-next-line no-self-compare\n if (IS_INCLUDES && el != el) while (length > index) {\n value = O[index++];\n // eslint-disable-next-line no-self-compare\n if (value != value) return true;\n // Array#indexOf ignores holes, Array#includes - not\n } else for (;length > index; index++) if (IS_INCLUDES || index in O) {\n if (O[index] === el) return IS_INCLUDES || index || 0;\n } return !IS_INCLUDES && -1;\n };\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_array-includes.js\n// module id = 480\n// module chunks = 0","var toInteger = require('./_to-integer');\nvar max = Math.max;\nvar min = Math.min;\nmodule.exports = function (index, length) {\n index = toInteger(index);\n return index < 0 ? max(index + length, 0) : min(index, length);\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_to-absolute-index.js\n// module id = 481\n// module chunks = 0","'use strict';\nvar addToUnscopables = require('./_add-to-unscopables');\nvar step = require('./_iter-step');\nvar Iterators = require('./_iterators');\nvar toIObject = require('./_to-iobject');\n\n// 22.1.3.4 Array.prototype.entries()\n// 22.1.3.13 Array.prototype.keys()\n// 22.1.3.29 Array.prototype.values()\n// 22.1.3.30 Array.prototype[@@iterator]()\nmodule.exports = require('./_iter-define')(Array, 'Array', function (iterated, kind) {\n this._t = toIObject(iterated); // target\n this._i = 0; // next index\n this._k = kind; // kind\n// 22.1.5.2.1 %ArrayIteratorPrototype%.next()\n}, function () {\n var O = this._t;\n var kind = this._k;\n var index = this._i++;\n if (!O || index >= O.length) {\n this._t = undefined;\n return step(1);\n }\n if (kind == 'keys') return step(0, index);\n if (kind == 'values') return step(0, O[index]);\n return step(0, [index, O[index]]);\n}, 'values');\n\n// argumentsList[@@iterator] is %ArrayProto_values% (9.4.4.6, 9.4.4.7)\nIterators.Arguments = Iterators.Array;\n\naddToUnscopables('keys');\naddToUnscopables('values');\naddToUnscopables('entries');\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/es6.array.iterator.js\n// module id = 482\n// module chunks = 0","module.exports = function () { /* empty */ };\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_add-to-unscopables.js\n// module id = 483\n// module chunks = 0","module.exports = function (done, value) {\n return { value: value, done: !!done };\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_iter-step.js\n// module id = 484\n// module chunks = 0","require('../../modules/es6.symbol');\nrequire('../../modules/es6.object.to-string');\nrequire('../../modules/es7.symbol.async-iterator');\nrequire('../../modules/es7.symbol.observable');\nmodule.exports = require('../../modules/_core').Symbol;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/fn/symbol/index.js\n// module id = 485\n// module chunks = 0","// all enumerable object keys, includes symbols\nvar getKeys = require('./_object-keys');\nvar gOPS = require('./_object-gops');\nvar pIE = require('./_object-pie');\nmodule.exports = function (it) {\n var result = getKeys(it);\n var getSymbols = gOPS.f;\n if (getSymbols) {\n var symbols = getSymbols(it);\n var isEnum = pIE.f;\n var i = 0;\n var key;\n while (symbols.length > i) if (isEnum.call(it, key = symbols[i++])) result.push(key);\n } return result;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_enum-keys.js\n// module id = 486\n// module chunks = 0","// 7.2.2 IsArray(argument)\nvar cof = require('./_cof');\nmodule.exports = Array.isArray || function isArray(arg) {\n return cof(arg) == 'Array';\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_is-array.js\n// module id = 487\n// module chunks = 0","require('./_wks-define')('asyncIterator');\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/es7.symbol.async-iterator.js\n// module id = 488\n// module chunks = 0","require('./_wks-define')('observable');\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/es7.symbol.observable.js\n// module id = 489\n// module chunks = 0","require('../../modules/es6.object.define-property');\nvar $Object = require('../../modules/_core').Object;\nmodule.exports = function defineProperty(it, key, desc) {\n return $Object.defineProperty(it, key, desc);\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/fn/object/define-property.js\n// module id = 490\n// module chunks = 0","var $export = require('./_export');\n// 19.1.2.4 / 15.2.3.6 Object.defineProperty(O, P, Attributes)\n$export($export.S + $export.F * !require('./_descriptors'), 'Object', { defineProperty: require('./_object-dp').f });\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/es6.object.define-property.js\n// module id = 491\n// module chunks = 0","// Backbone.js 1.2.1\n\n// (c) 2010-2015 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n// Backbone may be freely distributed under the MIT license.\n// For all details and documentation:\n// http://backbonejs.org\n\n(function(factory) {\n\n // Establish the root object, `window` (`self`) in the browser, or `global` on the server.\n // We use `self` instead of `window` for `WebWorker` support.\n var root = (typeof self == 'object' && self.self == self && self) ||\n (typeof global == 'object' && global.global == global && global);\n\n // Set up Backbone appropriately for the environment. Start with AMD.\n if (typeof define === 'function' && define.amd) {\n define(['underscore', 'jquery', 'exports'], function(_, $, exports) {\n // Export global even in AMD case in case this script is loaded with\n // others that may still expect a global Backbone.\n root.Backbone = factory(root, exports, _, $);\n });\n\n // Next for Node.js or CommonJS. jQuery may not be needed as a module.\n } else if (typeof exports !== 'undefined') {\n var _ = require('underscore'), $;\n try { $ = require('jquery'); } catch(e) {}\n factory(root, exports, _, $);\n\n // Finally, as a browser global.\n } else {\n root.Backbone = factory(root, {}, root._, (root.jQuery || root.Zepto || root.ender || root.$));\n }\n\n}(function(root, Backbone, _, $) {\n\n // Initial Setup\n // -------------\n\n // Save the previous value of the `Backbone` variable, so that it can be\n // restored later on, if `noConflict` is used.\n var previousBackbone = root.Backbone;\n\n // Create a local reference to a common array method we'll want to use later.\n var slice = [].slice;\n\n // Current version of the library. Keep in sync with `package.json`.\n Backbone.VERSION = '1.2.1';\n\n // For Backbone's purposes, jQuery, Zepto, Ender, or My Library (kidding) owns\n // the `$` variable.\n Backbone.$ = $;\n\n // Runs Backbone.js in *noConflict* mode, returning the `Backbone` variable\n // to its previous owner. Returns a reference to this Backbone object.\n Backbone.noConflict = function() {\n root.Backbone = previousBackbone;\n return this;\n };\n\n // Turn on `emulateHTTP` to support legacy HTTP servers. Setting this option\n // will fake `\"PATCH\"`, `\"PUT\"` and `\"DELETE\"` requests via the `_method` parameter and\n // set a `X-Http-Method-Override` header.\n Backbone.emulateHTTP = false;\n\n // Turn on `emulateJSON` to support legacy servers that can't deal with direct\n // `application/json` requests ... this will encode the body as\n // `application/x-www-form-urlencoded` instead and will send the model in a\n // form param named `model`.\n Backbone.emulateJSON = false;\n\n // Proxy Underscore methods to a Backbone class' prototype using a\n // particular attribute as the data argument\n var addMethod = function(length, method, attribute) {\n switch (length) {\n case 1: return function() {\n return _[method](this[attribute]);\n };\n case 2: return function(value) {\n return _[method](this[attribute], value);\n };\n case 3: return function(iteratee, context) {\n return _[method](this[attribute], iteratee, context);\n };\n case 4: return function(iteratee, defaultVal, context) {\n return _[method](this[attribute], iteratee, defaultVal, context);\n };\n default: return function() {\n var args = slice.call(arguments);\n args.unshift(this[attribute]);\n return _[method].apply(_, args);\n };\n }\n };\n var addUnderscoreMethods = function(Class, methods, attribute) {\n _.each(methods, function(length, method) {\n if (_[method]) Class.prototype[method] = addMethod(length, method, attribute);\n });\n };\n\n // Backbone.Events\n // ---------------\n\n // A module that can be mixed in to *any object* in order to provide it with\n // custom events. You may bind with `on` or remove with `off` callback\n // functions to an event; `trigger`-ing an event fires all callbacks in\n // succession.\n //\n // var object = {};\n // _.extend(object, Backbone.Events);\n // object.on('expand', function(){ alert('expanded'); });\n // object.trigger('expand');\n //\n var Events = Backbone.Events = {};\n\n // Regular expression used to split event strings.\n var eventSplitter = /\\s+/;\n\n // Iterates over the standard `event, callback` (as well as the fancy multiple\n // space-separated events `\"change blur\", callback` and jQuery-style event\n // maps `{event: callback}`), reducing them by manipulating `memo`.\n // Passes a normalized single event name and callback, as well as any\n // optional `opts`.\n var eventsApi = function(iteratee, memo, name, callback, opts) {\n var i = 0, names;\n if (name && typeof name === 'object') {\n // Handle event maps.\n if (callback !== void 0 && 'context' in opts && opts.context === void 0) opts.context = callback;\n for (names = _.keys(name); i < names.length ; i++) {\n memo = iteratee(memo, names[i], name[names[i]], opts);\n }\n } else if (name && eventSplitter.test(name)) {\n // Handle space separated event names.\n for (names = name.split(eventSplitter); i < names.length; i++) {\n memo = iteratee(memo, names[i], callback, opts);\n }\n } else {\n memo = iteratee(memo, name, callback, opts);\n }\n return memo;\n };\n\n // Bind an event to a `callback` function. Passing `\"all\"` will bind\n // the callback to all events fired.\n Events.on = function(name, callback, context) {\n return internalOn(this, name, callback, context);\n };\n\n // An internal use `on` function, used to guard the `listening` argument from\n // the public API.\n var internalOn = function(obj, name, callback, context, listening) {\n obj._events = eventsApi(onApi, obj._events || {}, name, callback, {\n context: context,\n ctx: obj,\n listening: listening\n });\n\n if (listening) {\n var listeners = obj._listeners || (obj._listeners = {});\n listeners[listening.id] = listening;\n }\n\n return obj;\n };\n\n // Inversion-of-control versions of `on`. Tell *this* object to listen to\n // an event in another object... keeping track of what it's listening to.\n Events.listenTo = function(obj, name, callback) {\n if (!obj) return this;\n var id = obj._listenId || (obj._listenId = _.uniqueId('l'));\n var listeningTo = this._listeningTo || (this._listeningTo = {});\n var listening = listeningTo[id];\n\n // This object is not listening to any other events on `obj` yet.\n // Setup the necessary references to track the listening callbacks.\n if (!listening) {\n var thisId = this._listenId || (this._listenId = _.uniqueId('l'));\n listening = listeningTo[id] = {obj: obj, objId: id, id: thisId, listeningTo: listeningTo, count: 0};\n }\n\n // Bind callbacks on obj, and keep track of them on listening.\n internalOn(obj, name, callback, this, listening);\n return this;\n };\n\n // The reducing API that adds a callback to the `events` object.\n var onApi = function(events, name, callback, options) {\n if (callback) {\n var handlers = events[name] || (events[name] = []);\n var context = options.context, ctx = options.ctx, listening = options.listening;\n if (listening) listening.count++;\n\n handlers.push({ callback: callback, context: context, ctx: context || ctx, listening: listening });\n }\n return events;\n };\n\n // Remove one or many callbacks. If `context` is null, removes all\n // callbacks with that function. If `callback` is null, removes all\n // callbacks for the event. If `name` is null, removes all bound\n // callbacks for all events.\n Events.off = function(name, callback, context) {\n if (!this._events) return this;\n this._events = eventsApi(offApi, this._events, name, callback, {\n context: context,\n listeners: this._listeners\n });\n return this;\n };\n\n // Tell this object to stop listening to either specific events ... or\n // to every object it's currently listening to.\n Events.stopListening = function(obj, name, callback) {\n var listeningTo = this._listeningTo;\n if (!listeningTo) return this;\n\n var ids = obj ? [obj._listenId] : _.keys(listeningTo);\n\n for (var i = 0; i < ids.length; i++) {\n var listening = listeningTo[ids[i]];\n\n // If listening doesn't exist, this object is not currently\n // listening to obj. Break out early.\n if (!listening) break;\n\n listening.obj.off(name, callback, this);\n }\n if (_.isEmpty(listeningTo)) this._listeningTo = void 0;\n\n return this;\n };\n\n // The reducing API that removes a callback from the `events` object.\n var offApi = function(events, name, callback, options) {\n // No events to consider.\n if (!events) return;\n\n var i = 0, listening;\n var context = options.context, listeners = options.listeners;\n\n // Delete all events listeners and \"drop\" events.\n if (!name && !callback && !context) {\n var ids = _.keys(listeners);\n for (; i < ids.length; i++) {\n listening = listeners[ids[i]];\n delete listeners[listening.id];\n delete listening.listeningTo[listening.objId];\n }\n return;\n }\n\n var names = name ? [name] : _.keys(events);\n for (; i < names.length; i++) {\n name = names[i];\n var handlers = events[name];\n\n // Bail out if there are no events stored.\n if (!handlers) break;\n\n // Replace events if there are any remaining. Otherwise, clean up.\n var remaining = [];\n for (var j = 0; j < handlers.length; j++) {\n var handler = handlers[j];\n if (\n callback && callback !== handler.callback &&\n callback !== handler.callback._callback ||\n context && context !== handler.context\n ) {\n remaining.push(handler);\n } else {\n listening = handler.listening;\n if (listening && --listening.count === 0) {\n delete listeners[listening.id];\n delete listening.listeningTo[listening.objId];\n }\n }\n }\n\n // Update tail event if the list has any events. Otherwise, clean up.\n if (remaining.length) {\n events[name] = remaining;\n } else {\n delete events[name];\n }\n }\n if (_.size(events)) return events;\n };\n\n // Bind an event to only be triggered a single time. After the first time\n // the callback is invoked, it will be removed. When multiple events are\n // passed in using the space-separated syntax, the event will fire once for every\n // event you passed in, not once for a combination of all events\n Events.once = function(name, callback, context) {\n // Map the event into a `{event: once}` object.\n var events = eventsApi(onceMap, {}, name, callback, _.bind(this.off, this));\n return this.on(events, void 0, context);\n };\n\n // Inversion-of-control versions of `once`.\n Events.listenToOnce = function(obj, name, callback) {\n // Map the event into a `{event: once}` object.\n var events = eventsApi(onceMap, {}, name, callback, _.bind(this.stopListening, this, obj));\n return this.listenTo(obj, events);\n };\n\n // Reduces the event callbacks into a map of `{event: onceWrapper}`.\n // `offer` unbinds the `onceWrapper` after it has been called.\n var onceMap = function(map, name, callback, offer) {\n if (callback) {\n var once = map[name] = _.once(function() {\n offer(name, once);\n callback.apply(this, arguments);\n });\n once._callback = callback;\n }\n return map;\n };\n\n // Trigger one or many events, firing all bound callbacks. Callbacks are\n // passed the same arguments as `trigger` is, apart from the event name\n // (unless you're listening on `\"all\"`, which will cause your callback to\n // receive the true name of the event as the first argument).\n Events.trigger = function(name) {\n if (!this._events) return this;\n\n var length = Math.max(0, arguments.length - 1);\n var args = Array(length);\n for (var i = 0; i < length; i++) args[i] = arguments[i + 1];\n\n eventsApi(triggerApi, this._events, name, void 0, args);\n return this;\n };\n\n // Handles triggering the appropriate event callbacks.\n var triggerApi = function(objEvents, name, cb, args) {\n if (objEvents) {\n var events = objEvents[name];\n var allEvents = objEvents.all;\n if (events && allEvents) allEvents = allEvents.slice();\n if (events) triggerEvents(events, args);\n if (allEvents) triggerEvents(allEvents, [name].concat(args));\n }\n return objEvents;\n };\n\n // A difficult-to-believe, but optimized internal dispatch function for\n // triggering events. Tries to keep the usual cases speedy (most internal\n // Backbone events have 3 arguments).\n var triggerEvents = function(events, args) {\n var ev, i = -1, l = events.length, a1 = args[0], a2 = args[1], a3 = args[2];\n switch (args.length) {\n case 0: while (++i < l) (ev = events[i]).callback.call(ev.ctx); return;\n case 1: while (++i < l) (ev = events[i]).callback.call(ev.ctx, a1); return;\n case 2: while (++i < l) (ev = events[i]).callback.call(ev.ctx, a1, a2); return;\n case 3: while (++i < l) (ev = events[i]).callback.call(ev.ctx, a1, a2, a3); return;\n default: while (++i < l) (ev = events[i]).callback.apply(ev.ctx, args); return;\n }\n };\n\n // Aliases for backwards compatibility.\n Events.bind = Events.on;\n Events.unbind = Events.off;\n\n // Allow the `Backbone` object to serve as a global event bus, for folks who\n // want global \"pubsub\" in a convenient place.\n _.extend(Backbone, Events);\n\n // Backbone.Model\n // --------------\n\n // Backbone **Models** are the basic data object in the framework --\n // frequently representing a row in a table in a database on your server.\n // A discrete chunk of data and a bunch of useful, related methods for\n // performing computations and transformations on that data.\n\n // Create a new model with the specified attributes. A client id (`cid`)\n // is automatically generated and assigned for you.\n var Model = Backbone.Model = function(attributes, options) {\n var attrs = attributes || {};\n options || (options = {});\n this.cid = _.uniqueId(this.cidPrefix);\n this.attributes = {};\n if (options.collection) this.collection = options.collection;\n if (options.parse) attrs = this.parse(attrs, options) || {};\n attrs = _.defaults({}, attrs, _.result(this, 'defaults'));\n this.set(attrs, options);\n this.changed = {};\n this.initialize.apply(this, arguments);\n };\n\n // Attach all inheritable methods to the Model prototype.\n _.extend(Model.prototype, Events, {\n\n // A hash of attributes whose current and previous value differ.\n changed: null,\n\n // The value returned during the last failed validation.\n validationError: null,\n\n // The default name for the JSON `id` attribute is `\"id\"`. MongoDB and\n // CouchDB users may want to set this to `\"_id\"`.\n idAttribute: 'id',\n\n // The prefix is used to create the client id which is used to identify models locally.\n // You may want to override this if you're experiencing name clashes with model ids.\n cidPrefix: 'c',\n\n // Initialize is an empty function by default. Override it with your own\n // initialization logic.\n initialize: function(){},\n\n // Return a copy of the model's `attributes` object.\n toJSON: function(options) {\n return _.clone(this.attributes);\n },\n\n // Proxy `Backbone.sync` by default -- but override this if you need\n // custom syncing semantics for *this* particular model.\n sync: function() {\n return Backbone.sync.apply(this, arguments);\n },\n\n // Get the value of an attribute.\n get: function(attr) {\n return this.attributes[attr];\n },\n\n // Get the HTML-escaped value of an attribute.\n escape: function(attr) {\n return _.escape(this.get(attr));\n },\n\n // Returns `true` if the attribute contains a value that is not null\n // or undefined.\n has: function(attr) {\n return this.get(attr) != null;\n },\n\n // Special-cased proxy to underscore's `_.matches` method.\n matches: function(attrs) {\n return !!_.iteratee(attrs, this)(this.attributes);\n },\n\n // Set a hash of model attributes on the object, firing `\"change\"`. This is\n // the core primitive operation of a model, updating the data and notifying\n // anyone who needs to know about the change in state. The heart of the beast.\n set: function(key, val, options) {\n if (key == null) return this;\n\n // Handle both `\"key\", value` and `{key: value}` -style arguments.\n var attrs;\n if (typeof key === 'object') {\n attrs = key;\n options = val;\n } else {\n (attrs = {})[key] = val;\n }\n\n options || (options = {});\n\n // Run validation.\n if (!this._validate(attrs, options)) return false;\n\n // Extract attributes and options.\n var unset = options.unset;\n var silent = options.silent;\n var changes = [];\n var changing = this._changing;\n this._changing = true;\n\n if (!changing) {\n this._previousAttributes = _.clone(this.attributes);\n this.changed = {};\n }\n\n var current = this.attributes;\n var changed = this.changed;\n var prev = this._previousAttributes;\n\n // Check for changes of `id`.\n if (this.idAttribute in attrs) this.id = attrs[this.idAttribute];\n\n // For each `set` attribute, update or delete the current value.\n for (var attr in attrs) {\n val = attrs[attr];\n if (!_.isEqual(current[attr], val)) changes.push(attr);\n if (!_.isEqual(prev[attr], val)) {\n changed[attr] = val;\n } else {\n delete changed[attr];\n }\n unset ? delete current[attr] : current[attr] = val;\n }\n\n // Trigger all relevant attribute changes.\n if (!silent) {\n if (changes.length) this._pending = options;\n for (var i = 0; i < changes.length; i++) {\n this.trigger('change:' + changes[i], this, current[changes[i]], options);\n }\n }\n\n // You might be wondering why there's a `while` loop here. Changes can\n // be recursively nested within `\"change\"` events.\n if (changing) return this;\n if (!silent) {\n while (this._pending) {\n options = this._pending;\n this._pending = false;\n this.trigger('change', this, options);\n }\n }\n this._pending = false;\n this._changing = false;\n return this;\n },\n\n // Remove an attribute from the model, firing `\"change\"`. `unset` is a noop\n // if the attribute doesn't exist.\n unset: function(attr, options) {\n return this.set(attr, void 0, _.extend({}, options, {unset: true}));\n },\n\n // Clear all attributes on the model, firing `\"change\"`.\n clear: function(options) {\n var attrs = {};\n for (var key in this.attributes) attrs[key] = void 0;\n return this.set(attrs, _.extend({}, options, {unset: true}));\n },\n\n // Determine if the model has changed since the last `\"change\"` event.\n // If you specify an attribute name, determine if that attribute has changed.\n hasChanged: function(attr) {\n if (attr == null) return !_.isEmpty(this.changed);\n return _.has(this.changed, attr);\n },\n\n // Return an object containing all the attributes that have changed, or\n // false if there are no changed attributes. Useful for determining what\n // parts of a view need to be updated and/or what attributes need to be\n // persisted to the server. Unset attributes will be set to undefined.\n // You can also pass an attributes object to diff against the model,\n // determining if there *would be* a change.\n changedAttributes: function(diff) {\n if (!diff) return this.hasChanged() ? _.clone(this.changed) : false;\n var old = this._changing ? this._previousAttributes : this.attributes;\n var changed = {};\n for (var attr in diff) {\n var val = diff[attr];\n if (_.isEqual(old[attr], val)) continue;\n changed[attr] = val;\n }\n return _.size(changed) ? changed : false;\n },\n\n // Get the previous value of an attribute, recorded at the time the last\n // `\"change\"` event was fired.\n previous: function(attr) {\n if (attr == null || !this._previousAttributes) return null;\n return this._previousAttributes[attr];\n },\n\n // Get all of the attributes of the model at the time of the previous\n // `\"change\"` event.\n previousAttributes: function() {\n return _.clone(this._previousAttributes);\n },\n\n // Fetch the model from the server, merging the response with the model's\n // local attributes. Any changed attributes will trigger a \"change\" event.\n fetch: function(options) {\n options = _.extend({parse: true}, options);\n var model = this;\n var success = options.success;\n options.success = function(resp) {\n var serverAttrs = options.parse ? model.parse(resp, options) : resp;\n if (!model.set(serverAttrs, options)) return false;\n if (success) success.call(options.context, model, resp, options);\n model.trigger('sync', model, resp, options);\n };\n wrapError(this, options);\n return this.sync('read', this, options);\n },\n\n // Set a hash of model attributes, and sync the model to the server.\n // If the server returns an attributes hash that differs, the model's\n // state will be `set` again.\n save: function(key, val, options) {\n // Handle both `\"key\", value` and `{key: value}` -style arguments.\n var attrs;\n if (key == null || typeof key === 'object') {\n attrs = key;\n options = val;\n } else {\n (attrs = {})[key] = val;\n }\n\n options = _.extend({validate: true, parse: true}, options);\n var wait = options.wait;\n\n // If we're not waiting and attributes exist, save acts as\n // `set(attr).save(null, opts)` with validation. Otherwise, check if\n // the model will be valid when the attributes, if any, are set.\n if (attrs && !wait) {\n if (!this.set(attrs, options)) return false;\n } else {\n if (!this._validate(attrs, options)) return false;\n }\n\n // After a successful server-side save, the client is (optionally)\n // updated with the server-side state.\n var model = this;\n var success = options.success;\n var attributes = this.attributes;\n options.success = function(resp) {\n // Ensure attributes are restored during synchronous saves.\n model.attributes = attributes;\n var serverAttrs = options.parse ? model.parse(resp, options) : resp;\n if (wait) serverAttrs = _.extend({}, attrs, serverAttrs);\n if (serverAttrs && !model.set(serverAttrs, options)) return false;\n if (success) success.call(options.context, model, resp, options);\n model.trigger('sync', model, resp, options);\n };\n wrapError(this, options);\n\n // Set temporary attributes if `{wait: true}` to properly find new ids.\n if (attrs && wait) this.attributes = _.extend({}, attributes, attrs);\n\n var method = this.isNew() ? 'create' : (options.patch ? 'patch' : 'update');\n if (method === 'patch' && !options.attrs) options.attrs = attrs;\n var xhr = this.sync(method, this, options);\n\n // Restore attributes.\n this.attributes = attributes;\n\n return xhr;\n },\n\n // Destroy this model on the server if it was already persisted.\n // Optimistically removes the model from its collection, if it has one.\n // If `wait: true` is passed, waits for the server to respond before removal.\n destroy: function(options) {\n options = options ? _.clone(options) : {};\n var model = this;\n var success = options.success;\n var wait = options.wait;\n\n var destroy = function() {\n model.stopListening();\n model.trigger('destroy', model, model.collection, options);\n };\n\n options.success = function(resp) {\n if (wait) destroy();\n if (success) success.call(options.context, model, resp, options);\n if (!model.isNew()) model.trigger('sync', model, resp, options);\n };\n\n var xhr = false;\n if (this.isNew()) {\n _.defer(options.success);\n } else {\n wrapError(this, options);\n xhr = this.sync('delete', this, options);\n }\n if (!wait) destroy();\n return xhr;\n },\n\n // Default URL for the model's representation on the server -- if you're\n // using Backbone's restful methods, override this to change the endpoint\n // that will be called.\n url: function() {\n var base =\n _.result(this, 'urlRoot') ||\n _.result(this.collection, 'url') ||\n urlError();\n if (this.isNew()) return base;\n var id = this.get(this.idAttribute);\n return base.replace(/[^\\/]$/, '$&/') + encodeURIComponent(id);\n },\n\n // **parse** converts a response into the hash of attributes to be `set` on\n // the model. The default implementation is just to pass the response along.\n parse: function(resp, options) {\n return resp;\n },\n\n // Create a new model with identical attributes to this one.\n clone: function() {\n return new this.constructor(this.attributes);\n },\n\n // A model is new if it has never been saved to the server, and lacks an id.\n isNew: function() {\n return !this.has(this.idAttribute);\n },\n\n // Check if the model is currently in a valid state.\n isValid: function(options) {\n return this._validate({}, _.defaults({validate: true}, options));\n },\n\n // Run validation against the next complete set of model attributes,\n // returning `true` if all is well. Otherwise, fire an `\"invalid\"` event.\n _validate: function(attrs, options) {\n if (!options.validate || !this.validate) return true;\n attrs = _.extend({}, this.attributes, attrs);\n var error = this.validationError = this.validate(attrs, options) || null;\n if (!error) return true;\n this.trigger('invalid', this, error, _.extend(options, {validationError: error}));\n return false;\n }\n\n });\n\n // Underscore methods that we want to implement on the Model.\n var modelMethods = { keys: 1, values: 1, pairs: 1, invert: 1, pick: 0,\n omit: 0, chain: 1, isEmpty: 1 };\n\n // Mix in each Underscore method as a proxy to `Model#attributes`.\n addUnderscoreMethods(Model, modelMethods, 'attributes');\n\n // Backbone.Collection\n // -------------------\n\n // If models tend to represent a single row of data, a Backbone Collection is\n // more analogous to a table full of data ... or a small slice or page of that\n // table, or a collection of rows that belong together for a particular reason\n // -- all of the messages in this particular folder, all of the documents\n // belonging to this particular author, and so on. Collections maintain\n // indexes of their models, both in order, and for lookup by `id`.\n\n // Create a new **Collection**, perhaps to contain a specific type of `model`.\n // If a `comparator` is specified, the Collection will maintain\n // its models in sort order, as they're added and removed.\n var Collection = Backbone.Collection = function(models, options) {\n options || (options = {});\n if (options.model) this.model = options.model;\n if (options.comparator !== void 0) this.comparator = options.comparator;\n this._reset();\n this.initialize.apply(this, arguments);\n if (models) this.reset(models, _.extend({silent: true}, options));\n };\n\n // Default options for `Collection#set`.\n var setOptions = {add: true, remove: true, merge: true};\n var addOptions = {add: true, remove: false};\n\n // Define the Collection's inheritable methods.\n _.extend(Collection.prototype, Events, {\n\n // The default model for a collection is just a **Backbone.Model**.\n // This should be overridden in most cases.\n model: Model,\n\n // Initialize is an empty function by default. Override it with your own\n // initialization logic.\n initialize: function(){},\n\n // The JSON representation of a Collection is an array of the\n // models' attributes.\n toJSON: function(options) {\n return this.map(function(model) { return model.toJSON(options); });\n },\n\n // Proxy `Backbone.sync` by default.\n sync: function() {\n return Backbone.sync.apply(this, arguments);\n },\n\n // Add a model, or list of models to the set.\n add: function(models, options) {\n return this.set(models, _.extend({merge: false}, options, addOptions));\n },\n\n // Remove a model, or a list of models from the set.\n remove: function(models, options) {\n options = _.extend({}, options);\n var singular = !_.isArray(models);\n models = singular ? [models] : _.clone(models);\n var removed = this._removeModels(models, options);\n if (!options.silent && removed) this.trigger('update', this, options);\n return singular ? removed[0] : removed;\n },\n\n // Update a collection by `set`-ing a new list of models, adding new ones,\n // removing models that are no longer present, and merging models that\n // already exist in the collection, as necessary. Similar to **Model#set**,\n // the core operation for updating the data contained by the collection.\n set: function(models, options) {\n options = _.defaults({}, options, setOptions);\n if (options.parse && !this._isModel(models)) models = this.parse(models, options);\n var singular = !_.isArray(models);\n models = singular ? (models ? [models] : []) : models.slice();\n var id, model, attrs, existing, sort;\n var at = options.at;\n if (at != null) at = +at;\n if (at < 0) at += this.length + 1;\n var sortable = this.comparator && (at == null) && options.sort !== false;\n var sortAttr = _.isString(this.comparator) ? this.comparator : null;\n var toAdd = [], toRemove = [], modelMap = {};\n var add = options.add, merge = options.merge, remove = options.remove;\n var order = !sortable && add && remove ? [] : false;\n var orderChanged = false;\n\n // Turn bare objects into model references, and prevent invalid models\n // from being added.\n for (var i = 0; i < models.length; i++) {\n attrs = models[i];\n\n // If a duplicate is found, prevent it from being added and\n // optionally merge it into the existing model.\n if (existing = this.get(attrs)) {\n if (remove) modelMap[existing.cid] = true;\n if (merge && attrs !== existing) {\n attrs = this._isModel(attrs) ? attrs.attributes : attrs;\n if (options.parse) attrs = existing.parse(attrs, options);\n existing.set(attrs, options);\n if (sortable && !sort && existing.hasChanged(sortAttr)) sort = true;\n }\n models[i] = existing;\n\n // If this is a new, valid model, push it to the `toAdd` list.\n } else if (add) {\n model = models[i] = this._prepareModel(attrs, options);\n if (!model) continue;\n toAdd.push(model);\n this._addReference(model, options);\n }\n\n // Do not add multiple models with the same `id`.\n model = existing || model;\n if (!model) continue;\n id = this.modelId(model.attributes);\n if (order && (model.isNew() || !modelMap[id])) {\n order.push(model);\n\n // Check to see if this is actually a new model at this index.\n orderChanged = orderChanged || !this.models[i] || model.cid !== this.models[i].cid;\n }\n\n modelMap[id] = true;\n }\n\n // Remove nonexistent models if appropriate.\n if (remove) {\n for (var i = 0; i < this.length; i++) {\n if (!modelMap[(model = this.models[i]).cid]) toRemove.push(model);\n }\n if (toRemove.length) this._removeModels(toRemove, options);\n }\n\n // See if sorting is needed, update `length` and splice in new models.\n if (toAdd.length || orderChanged) {\n if (sortable) sort = true;\n this.length += toAdd.length;\n if (at != null) {\n for (var i = 0; i < toAdd.length; i++) {\n this.models.splice(at + i, 0, toAdd[i]);\n }\n } else {\n if (order) this.models.length = 0;\n var orderedModels = order || toAdd;\n for (var i = 0; i < orderedModels.length; i++) {\n this.models.push(orderedModels[i]);\n }\n }\n }\n\n // Silently sort the collection if appropriate.\n if (sort) this.sort({silent: true});\n\n // Unless silenced, it's time to fire all appropriate add/sort events.\n if (!options.silent) {\n var addOpts = at != null ? _.clone(options) : options;\n for (var i = 0; i < toAdd.length; i++) {\n if (at != null) addOpts.index = at + i;\n (model = toAdd[i]).trigger('add', model, this, addOpts);\n }\n if (sort || orderChanged) this.trigger('sort', this, options);\n if (toAdd.length || toRemove.length) this.trigger('update', this, options);\n }\n\n // Return the added (or merged) model (or models).\n return singular ? models[0] : models;\n },\n\n // When you have more items than you want to add or remove individually,\n // you can reset the entire set with a new list of models, without firing\n // any granular `add` or `remove` events. Fires `reset` when finished.\n // Useful for bulk operations and optimizations.\n reset: function(models, options) {\n options = options ? _.clone(options) : {};\n for (var i = 0; i < this.models.length; i++) {\n this._removeReference(this.models[i], options);\n }\n options.previousModels = this.models;\n this._reset();\n models = this.add(models, _.extend({silent: true}, options));\n if (!options.silent) this.trigger('reset', this, options);\n return models;\n },\n\n // Add a model to the end of the collection.\n push: function(model, options) {\n return this.add(model, _.extend({at: this.length}, options));\n },\n\n // Remove a model from the end of the collection.\n pop: function(options) {\n var model = this.at(this.length - 1);\n return this.remove(model, options);\n },\n\n // Add a model to the beginning of the collection.\n unshift: function(model, options) {\n return this.add(model, _.extend({at: 0}, options));\n },\n\n // Remove a model from the beginning of the collection.\n shift: function(options) {\n var model = this.at(0);\n return this.remove(model, options);\n },\n\n // Slice out a sub-array of models from the collection.\n slice: function() {\n return slice.apply(this.models, arguments);\n },\n\n // Get a model from the set by id.\n get: function(obj) {\n if (obj == null) return void 0;\n var id = this.modelId(this._isModel(obj) ? obj.attributes : obj);\n return this._byId[obj] || this._byId[id] || this._byId[obj.cid];\n },\n\n // Get the model at the given index.\n at: function(index) {\n if (index < 0) index += this.length;\n return this.models[index];\n },\n\n // Return models with matching attributes. Useful for simple cases of\n // `filter`.\n where: function(attrs, first) {\n var matches = _.matches(attrs);\n return this[first ? 'find' : 'filter'](function(model) {\n return matches(model.attributes);\n });\n },\n\n // Return the first model with matching attributes. Useful for simple cases\n // of `find`.\n findWhere: function(attrs) {\n return this.where(attrs, true);\n },\n\n // Force the collection to re-sort itself. You don't need to call this under\n // normal circumstances, as the set will maintain sort order as each item\n // is added.\n sort: function(options) {\n if (!this.comparator) throw new Error('Cannot sort a set without a comparator');\n options || (options = {});\n\n // Run sort based on type of `comparator`.\n if (_.isString(this.comparator) || this.comparator.length === 1) {\n this.models = this.sortBy(this.comparator, this);\n } else {\n this.models.sort(_.bind(this.comparator, this));\n }\n\n if (!options.silent) this.trigger('sort', this, options);\n return this;\n },\n\n // Pluck an attribute from each model in the collection.\n pluck: function(attr) {\n return _.invoke(this.models, 'get', attr);\n },\n\n // Fetch the default set of models for this collection, resetting the\n // collection when they arrive. If `reset: true` is passed, the response\n // data will be passed through the `reset` method instead of `set`.\n fetch: function(options) {\n options = _.extend({parse: true}, options);\n var success = options.success;\n var collection = this;\n options.success = function(resp) {\n var method = options.reset ? 'reset' : 'set';\n collection[method](resp, options);\n if (success) success.call(options.context, collection, resp, options);\n collection.trigger('sync', collection, resp, options);\n };\n wrapError(this, options);\n return this.sync('read', this, options);\n },\n\n // Create a new instance of a model in this collection. Add the model to the\n // collection immediately, unless `wait: true` is passed, in which case we\n // wait for the server to agree.\n create: function(model, options) {\n options = options ? _.clone(options) : {};\n var wait = options.wait;\n model = this._prepareModel(model, options);\n if (!model) return false;\n if (!wait) this.add(model, options);\n var collection = this;\n var success = options.success;\n options.success = function(model, resp, callbackOpts) {\n if (wait) collection.add(model, callbackOpts);\n if (success) success.call(callbackOpts.context, model, resp, callbackOpts);\n };\n model.save(null, options);\n return model;\n },\n\n // **parse** converts a response into a list of models to be added to the\n // collection. The default implementation is just to pass it through.\n parse: function(resp, options) {\n return resp;\n },\n\n // Create a new collection with an identical list of models as this one.\n clone: function() {\n return new this.constructor(this.models, {\n model: this.model,\n comparator: this.comparator\n });\n },\n\n // Define how to uniquely identify models in the collection.\n modelId: function (attrs) {\n return attrs[this.model.prototype.idAttribute || 'id'];\n },\n\n // Private method to reset all internal state. Called when the collection\n // is first initialized or reset.\n _reset: function() {\n this.length = 0;\n this.models = [];\n this._byId = {};\n },\n\n // Prepare a hash of attributes (or other model) to be added to this\n // collection.\n _prepareModel: function(attrs, options) {\n if (this._isModel(attrs)) {\n if (!attrs.collection) attrs.collection = this;\n return attrs;\n }\n options = options ? _.clone(options) : {};\n options.collection = this;\n var model = new this.model(attrs, options);\n if (!model.validationError) return model;\n this.trigger('invalid', this, model.validationError, options);\n return false;\n },\n\n // Internal method called by both remove and set.\n // Returns removed models, or false if nothing is removed.\n _removeModels: function(models, options) {\n var removed = [];\n for (var i = 0; i < models.length; i++) {\n var model = this.get(models[i]);\n if (!model) continue;\n\n var index = this.indexOf(model);\n this.models.splice(index, 1);\n this.length--;\n\n if (!options.silent) {\n options.index = index;\n model.trigger('remove', model, this, options);\n }\n\n removed.push(model);\n this._removeReference(model, options);\n }\n return removed.length ? removed : false;\n },\n\n // Method for checking whether an object should be considered a model for\n // the purposes of adding to the collection.\n _isModel: function (model) {\n return model instanceof Model;\n },\n\n // Internal method to create a model's ties to a collection.\n _addReference: function(model, options) {\n this._byId[model.cid] = model;\n var id = this.modelId(model.attributes);\n if (id != null) this._byId[id] = model;\n model.on('all', this._onModelEvent, this);\n },\n\n // Internal method to sever a model's ties to a collection.\n _removeReference: function(model, options) {\n delete this._byId[model.cid];\n var id = this.modelId(model.attributes);\n if (id != null) delete this._byId[id];\n if (this === model.collection) delete model.collection;\n model.off('all', this._onModelEvent, this);\n },\n\n // Internal method called every time a model in the set fires an event.\n // Sets need to update their indexes when models change ids. All other\n // events simply proxy through. \"add\" and \"remove\" events that originate\n // in other collections are ignored.\n _onModelEvent: function(event, model, collection, options) {\n if ((event === 'add' || event === 'remove') && collection !== this) return;\n if (event === 'destroy') this.remove(model, options);\n if (event === 'change') {\n var prevId = this.modelId(model.previousAttributes());\n var id = this.modelId(model.attributes);\n if (prevId !== id) {\n if (prevId != null) delete this._byId[prevId];\n if (id != null) this._byId[id] = model;\n }\n }\n this.trigger.apply(this, arguments);\n }\n\n });\n\n // Underscore methods that we want to implement on the Collection.\n // 90% of the core usefulness of Backbone Collections is actually implemented\n // right here:\n var collectionMethods = { forEach: 3, each: 3, map: 3, collect: 3, reduce: 4,\n foldl: 4, inject: 4, reduceRight: 4, foldr: 4, find: 3, detect: 3, filter: 3,\n select: 3, reject: 3, every: 3, all: 3, some: 3, any: 3, include: 2,\n contains: 2, invoke: 0, max: 3, min: 3, toArray: 1, size: 1, first: 3,\n head: 3, take: 3, initial: 3, rest: 3, tail: 3, drop: 3, last: 3,\n without: 0, difference: 0, indexOf: 3, shuffle: 1, lastIndexOf: 3,\n isEmpty: 1, chain: 1, sample: 3, partition: 3 };\n\n // Mix in each Underscore method as a proxy to `Collection#models`.\n addUnderscoreMethods(Collection, collectionMethods, 'models');\n\n // Underscore methods that take a property name as an argument.\n var attributeMethods = ['groupBy', 'countBy', 'sortBy', 'indexBy'];\n\n // Use attributes instead of properties.\n _.each(attributeMethods, function(method) {\n if (!_[method]) return;\n Collection.prototype[method] = function(value, context) {\n var iterator = _.isFunction(value) ? value : function(model) {\n return model.get(value);\n };\n return _[method](this.models, iterator, context);\n };\n });\n\n // Backbone.View\n // -------------\n\n // Backbone Views are almost more convention than they are actual code. A View\n // is simply a JavaScript object that represents a logical chunk of UI in the\n // DOM. This might be a single item, an entire list, a sidebar or panel, or\n // even the surrounding frame which wraps your whole app. Defining a chunk of\n // UI as a **View** allows you to define your DOM events declaratively, without\n // having to worry about render order ... and makes it easy for the view to\n // react to specific changes in the state of your models.\n\n // Creating a Backbone.View creates its initial element outside of the DOM,\n // if an existing element is not provided...\n var View = Backbone.View = function(options) {\n this.cid = _.uniqueId('view');\n _.extend(this, _.pick(options, viewOptions));\n this._ensureElement();\n this.initialize.apply(this, arguments);\n };\n\n // Cached regex to split keys for `delegate`.\n var delegateEventSplitter = /^(\\S+)\\s*(.*)$/;\n\n // List of view options to be merged as properties.\n var viewOptions = ['model', 'collection', 'el', 'id', 'attributes', 'className', 'tagName', 'events'];\n\n // Set up all inheritable **Backbone.View** properties and methods.\n _.extend(View.prototype, Events, {\n\n // The default `tagName` of a View's element is `\"div\"`.\n tagName: 'div',\n\n // jQuery delegate for element lookup, scoped to DOM elements within the\n // current view. This should be preferred to global lookups where possible.\n $: function(selector) {\n return this.$el.find(selector);\n },\n\n // Initialize is an empty function by default. Override it with your own\n // initialization logic.\n initialize: function(){},\n\n // **render** is the core function that your view should override, in order\n // to populate its element (`this.el`), with the appropriate HTML. The\n // convention is for **render** to always return `this`.\n render: function() {\n return this;\n },\n\n // Remove this view by taking the element out of the DOM, and removing any\n // applicable Backbone.Events listeners.\n remove: function() {\n this._removeElement();\n this.stopListening();\n return this;\n },\n\n // Remove this view's element from the document and all event listeners\n // attached to it. Exposed for subclasses using an alternative DOM\n // manipulation API.\n _removeElement: function() {\n this.$el.remove();\n },\n\n // Change the view's element (`this.el` property) and re-delegate the\n // view's events on the new element.\n setElement: function(element) {\n this.undelegateEvents();\n this._setElement(element);\n this.delegateEvents();\n return this;\n },\n\n // Creates the `this.el` and `this.$el` references for this view using the\n // given `el`. `el` can be a CSS selector or an HTML string, a jQuery\n // context or an element. Subclasses can override this to utilize an\n // alternative DOM manipulation API and are only required to set the\n // `this.el` property.\n _setElement: function(el) {\n this.$el = el instanceof Backbone.$ ? el : Backbone.$(el);\n this.el = this.$el[0];\n },\n\n // Set callbacks, where `this.events` is a hash of\n //\n // *{\"event selector\": \"callback\"}*\n //\n // {\n // 'mousedown .title': 'edit',\n // 'click .button': 'save',\n // 'click .open': function(e) { ... }\n // }\n //\n // pairs. Callbacks will be bound to the view, with `this` set properly.\n // Uses event delegation for efficiency.\n // Omitting the selector binds the event to `this.el`.\n delegateEvents: function(events) {\n events || (events = _.result(this, 'events'));\n if (!events) return this;\n this.undelegateEvents();\n for (var key in events) {\n var method = events[key];\n if (!_.isFunction(method)) method = this[method];\n if (!method) continue;\n var match = key.match(delegateEventSplitter);\n this.delegate(match[1], match[2], _.bind(method, this));\n }\n return this;\n },\n\n // Add a single event listener to the view's element (or a child element\n // using `selector`). This only works for delegate-able events: not `focus`,\n // `blur`, and not `change`, `submit`, and `reset` in Internet Explorer.\n delegate: function(eventName, selector, listener) {\n this.$el.on(eventName + '.delegateEvents' + this.cid, selector, listener);\n return this;\n },\n\n // Clears all callbacks previously bound to the view by `delegateEvents`.\n // You usually don't need to use this, but may wish to if you have multiple\n // Backbone views attached to the same DOM element.\n undelegateEvents: function() {\n if (this.$el) this.$el.off('.delegateEvents' + this.cid);\n return this;\n },\n\n // A finer-grained `undelegateEvents` for removing a single delegated event.\n // `selector` and `listener` are both optional.\n undelegate: function(eventName, selector, listener) {\n this.$el.off(eventName + '.delegateEvents' + this.cid, selector, listener);\n return this;\n },\n\n // Produces a DOM element to be assigned to your view. Exposed for\n // subclasses using an alternative DOM manipulation API.\n _createElement: function(tagName) {\n return document.createElement(tagName);\n },\n\n // Ensure that the View has a DOM element to render into.\n // If `this.el` is a string, pass it through `$()`, take the first\n // matching element, and re-assign it to `el`. Otherwise, create\n // an element from the `id`, `className` and `tagName` properties.\n _ensureElement: function() {\n if (!this.el) {\n var attrs = _.extend({}, _.result(this, 'attributes'));\n if (this.id) attrs.id = _.result(this, 'id');\n if (this.className) attrs['class'] = _.result(this, 'className');\n this.setElement(this._createElement(_.result(this, 'tagName')));\n this._setAttributes(attrs);\n } else {\n this.setElement(_.result(this, 'el'));\n }\n },\n\n // Set attributes from a hash on this view's element. Exposed for\n // subclasses using an alternative DOM manipulation API.\n _setAttributes: function(attributes) {\n this.$el.attr(attributes);\n }\n\n });\n\n // Backbone.sync\n // -------------\n\n // Override this function to change the manner in which Backbone persists\n // models to the server. You will be passed the type of request, and the\n // model in question. By default, makes a RESTful Ajax request\n // to the model's `url()`. Some possible customizations could be:\n //\n // * Use `setTimeout` to batch rapid-fire updates into a single request.\n // * Send up the models as XML instead of JSON.\n // * Persist models via WebSockets instead of Ajax.\n //\n // Turn on `Backbone.emulateHTTP` in order to send `PUT` and `DELETE` requests\n // as `POST`, with a `_method` parameter containing the true HTTP method,\n // as well as all requests with the body as `application/x-www-form-urlencoded`\n // instead of `application/json` with the model in a param named `model`.\n // Useful when interfacing with server-side languages like **PHP** that make\n // it difficult to read the body of `PUT` requests.\n Backbone.sync = function(method, model, options) {\n var type = methodMap[method];\n\n // Default options, unless specified.\n _.defaults(options || (options = {}), {\n emulateHTTP: Backbone.emulateHTTP,\n emulateJSON: Backbone.emulateJSON\n });\n\n // Default JSON-request options.\n var params = {type: type, dataType: 'json'};\n\n // Ensure that we have a URL.\n if (!options.url) {\n params.url = _.result(model, 'url') || urlError();\n }\n\n // Ensure that we have the appropriate request data.\n if (options.data == null && model && (method === 'create' || method === 'update' || method === 'patch')) {\n params.contentType = 'application/json';\n params.data = JSON.stringify(options.attrs || model.toJSON(options));\n }\n\n // For older servers, emulate JSON by encoding the request into an HTML-form.\n if (options.emulateJSON) {\n params.contentType = 'application/x-www-form-urlencoded';\n params.data = params.data ? {model: params.data} : {};\n }\n\n // For older servers, emulate HTTP by mimicking the HTTP method with `_method`\n // And an `X-HTTP-Method-Override` header.\n if (options.emulateHTTP && (type === 'PUT' || type === 'DELETE' || type === 'PATCH')) {\n params.type = 'POST';\n if (options.emulateJSON) params.data._method = type;\n var beforeSend = options.beforeSend;\n options.beforeSend = function(xhr) {\n xhr.setRequestHeader('X-HTTP-Method-Override', type);\n if (beforeSend) return beforeSend.apply(this, arguments);\n };\n }\n\n // Don't process data on a non-GET request.\n if (params.type !== 'GET' && !options.emulateJSON) {\n params.processData = false;\n }\n\n // Pass along `textStatus` and `errorThrown` from jQuery.\n var error = options.error;\n options.error = function(xhr, textStatus, errorThrown) {\n options.textStatus = textStatus;\n options.errorThrown = errorThrown;\n if (error) error.call(options.context, xhr, textStatus, errorThrown);\n };\n\n // Make the request, allowing the user to override any Ajax options.\n var xhr = options.xhr = Backbone.ajax(_.extend(params, options));\n model.trigger('request', model, xhr, options);\n return xhr;\n };\n\n // Map from CRUD to HTTP for our default `Backbone.sync` implementation.\n var methodMap = {\n 'create': 'POST',\n 'update': 'PUT',\n 'patch': 'PATCH',\n 'delete': 'DELETE',\n 'read': 'GET'\n };\n\n // Set the default implementation of `Backbone.ajax` to proxy through to `$`.\n // Override this if you'd like to use a different library.\n Backbone.ajax = function() {\n return Backbone.$.ajax.apply(Backbone.$, arguments);\n };\n\n // Backbone.Router\n // ---------------\n\n // Routers map faux-URLs to actions, and fire events when routes are\n // matched. Creating a new one sets its `routes` hash, if not set statically.\n var Router = Backbone.Router = function(options) {\n options || (options = {});\n if (options.routes) this.routes = options.routes;\n this._bindRoutes();\n this.initialize.apply(this, arguments);\n };\n\n // Cached regular expressions for matching named param parts and splatted\n // parts of route strings.\n var optionalParam = /\\((.*?)\\)/g;\n var namedParam = /(\\(\\?)?:\\w+/g;\n var splatParam = /\\*\\w+/g;\n var escapeRegExp = /[\\-{}\\[\\]+?.,\\\\\\^$|#\\s]/g;\n\n // Set up all inheritable **Backbone.Router** properties and methods.\n _.extend(Router.prototype, Events, {\n\n // Initialize is an empty function by default. Override it with your own\n // initialization logic.\n initialize: function(){},\n\n // Manually bind a single named route to a callback. For example:\n //\n // this.route('search/:query/p:num', 'search', function(query, num) {\n // ...\n // });\n //\n route: function(route, name, callback) {\n if (!_.isRegExp(route)) route = this._routeToRegExp(route);\n if (_.isFunction(name)) {\n callback = name;\n name = '';\n }\n if (!callback) callback = this[name];\n var router = this;\n Backbone.history.route(route, function(fragment) {\n var args = router._extractParameters(route, fragment);\n if (router.execute(callback, args, name) !== false) {\n router.trigger.apply(router, ['route:' + name].concat(args));\n router.trigger('route', name, args);\n Backbone.history.trigger('route', router, name, args);\n }\n });\n return this;\n },\n\n // Execute a route handler with the provided parameters. This is an\n // excellent place to do pre-route setup or post-route cleanup.\n execute: function(callback, args, name) {\n if (callback) callback.apply(this, args);\n },\n\n // Simple proxy to `Backbone.history` to save a fragment into the history.\n navigate: function(fragment, options) {\n Backbone.history.navigate(fragment, options);\n return this;\n },\n\n // Bind all defined routes to `Backbone.history`. We have to reverse the\n // order of the routes here to support behavior where the most general\n // routes can be defined at the bottom of the route map.\n _bindRoutes: function() {\n if (!this.routes) return;\n this.routes = _.result(this, 'routes');\n var route, routes = _.keys(this.routes);\n while ((route = routes.pop()) != null) {\n this.route(route, this.routes[route]);\n }\n },\n\n // Convert a route string into a regular expression, suitable for matching\n // against the current location hash.\n _routeToRegExp: function(route) {\n route = route.replace(escapeRegExp, '\\\\$&')\n .replace(optionalParam, '(?:$1)?')\n .replace(namedParam, function(match, optional) {\n return optional ? match : '([^/?]+)';\n })\n .replace(splatParam, '([^?]*?)');\n return new RegExp('^' + route + '(?:\\\\?([\\\\s\\\\S]*))?$');\n },\n\n // Given a route, and a URL fragment that it matches, return the array of\n // extracted decoded parameters. Empty or unmatched parameters will be\n // treated as `null` to normalize cross-browser behavior.\n _extractParameters: function(route, fragment) {\n var params = route.exec(fragment).slice(1);\n return _.map(params, function(param, i) {\n // Don't decode the search params.\n if (i === params.length - 1) return param || null;\n return param ? decodeURIComponent(param) : null;\n });\n }\n\n });\n\n // Backbone.History\n // ----------------\n\n // Handles cross-browser history management, based on either\n // [pushState](http://diveintohtml5.info/history.html) and real URLs, or\n // [onhashchange](https://developer.mozilla.org/en-US/docs/DOM/window.onhashchange)\n // and URL fragments. If the browser supports neither (old IE, natch),\n // falls back to polling.\n var History = Backbone.History = function() {\n this.handlers = [];\n _.bindAll(this, 'checkUrl');\n\n // Ensure that `History` can be used outside of the browser.\n if (typeof window !== 'undefined') {\n this.location = window.location;\n this.history = window.history;\n }\n };\n\n // Cached regex for stripping a leading hash/slash and trailing space.\n var routeStripper = /^[#\\/]|\\s+$/g;\n\n // Cached regex for stripping leading and trailing slashes.\n var rootStripper = /^\\/+|\\/+$/g;\n\n // Cached regex for stripping urls of hash.\n var pathStripper = /#.*$/;\n\n // Has the history handling already been started?\n History.started = false;\n\n // Set up all inheritable **Backbone.History** properties and methods.\n _.extend(History.prototype, Events, {\n\n // The default interval to poll for hash changes, if necessary, is\n // twenty times a second.\n interval: 50,\n\n // Are we at the app root?\n atRoot: function() {\n var path = this.location.pathname.replace(/[^\\/]$/, '$&/');\n return path === this.root && !this.getSearch();\n },\n\n // Does the pathname match the root?\n matchRoot: function() {\n var path = this.decodeFragment(this.location.pathname);\n var root = path.slice(0, this.root.length - 1) + '/';\n return root === this.root;\n },\n\n // Unicode characters in `location.pathname` are percent encoded so they're\n // decoded for comparison. `%25` should not be decoded since it may be part\n // of an encoded parameter.\n decodeFragment: function(fragment) {\n return decodeURI(fragment.replace(/%25/g, '%2525'));\n },\n\n // In IE6, the hash fragment and search params are incorrect if the\n // fragment contains `?`.\n getSearch: function() {\n var match = this.location.href.replace(/#.*/, '').match(/\\?.+/);\n return match ? match[0] : '';\n },\n\n // Gets the true hash value. Cannot use location.hash directly due to bug\n // in Firefox where location.hash will always be decoded.\n getHash: function(window) {\n var match = (window || this).location.href.match(/#(.*)$/);\n return match ? match[1] : '';\n },\n\n // Get the pathname and search params, without the root.\n getPath: function() {\n var path = this.decodeFragment(\n this.location.pathname + this.getSearch()\n ).slice(this.root.length - 1);\n return path.charAt(0) === '/' ? path.slice(1) : path;\n },\n\n // Get the cross-browser normalized URL fragment from the path or hash.\n getFragment: function(fragment) {\n if (fragment == null) {\n if (this._usePushState || !this._wantsHashChange) {\n fragment = this.getPath();\n } else {\n fragment = this.getHash();\n }\n }\n return fragment.replace(routeStripper, '');\n },\n\n // Start the hash change handling, returning `true` if the current URL matches\n // an existing route, and `false` otherwise.\n start: function(options) {\n if (History.started) throw new Error('Backbone.history has already been started');\n History.started = true;\n\n // Figure out the initial configuration. Do we need an iframe?\n // Is pushState desired ... is it available?\n this.options = _.extend({root: '/'}, this.options, options);\n this.root = this.options.root;\n this._wantsHashChange = this.options.hashChange !== false;\n this._hasHashChange = 'onhashchange' in window;\n this._useHashChange = this._wantsHashChange && this._hasHashChange;\n this._wantsPushState = !!this.options.pushState;\n this._hasPushState = !!(this.history && this.history.pushState);\n this._usePushState = this._wantsPushState && this._hasPushState;\n this.fragment = this.getFragment();\n\n // Normalize root to always include a leading and trailing slash.\n this.root = ('/' + this.root + '/').replace(rootStripper, '/');\n\n // Transition from hashChange to pushState or vice versa if both are\n // requested.\n if (this._wantsHashChange && this._wantsPushState) {\n\n // If we've started off with a route from a `pushState`-enabled\n // browser, but we're currently in a browser that doesn't support it...\n if (!this._hasPushState && !this.atRoot()) {\n var root = this.root.slice(0, -1) || '/';\n this.location.replace(root + '#' + this.getPath());\n // Return immediately as browser will do redirect to new url\n return true;\n\n // Or if we've started out with a hash-based route, but we're currently\n // in a browser where it could be `pushState`-based instead...\n } else if (this._hasPushState && this.atRoot()) {\n this.navigate(this.getHash(), {replace: true});\n }\n\n }\n\n // Proxy an iframe to handle location events if the browser doesn't\n // support the `hashchange` event, HTML5 history, or the user wants\n // `hashChange` but not `pushState`.\n if (!this._hasHashChange && this._wantsHashChange && !this._usePushState) {\n this.iframe = document.createElement('iframe');\n this.iframe.src = 'javascript:0';\n this.iframe.style.display = 'none';\n this.iframe.tabIndex = -1;\n var body = document.body;\n // Using `appendChild` will throw on IE < 9 if the document is not ready.\n var iWindow = body.insertBefore(this.iframe, body.firstChild).contentWindow;\n iWindow.document.open();\n iWindow.document.close();\n iWindow.location.hash = '#' + this.fragment;\n }\n\n // Add a cross-platform `addEventListener` shim for older browsers.\n var addEventListener = window.addEventListener || function (eventName, listener) {\n return attachEvent('on' + eventName, listener);\n };\n\n // Depending on whether we're using pushState or hashes, and whether\n // 'onhashchange' is supported, determine how we check the URL state.\n if (this._usePushState) {\n addEventListener('popstate', this.checkUrl, false);\n } else if (this._useHashChange && !this.iframe) {\n addEventListener('hashchange', this.checkUrl, false);\n } else if (this._wantsHashChange) {\n this._checkUrlInterval = setInterval(this.checkUrl, this.interval);\n }\n\n if (!this.options.silent) return this.loadUrl();\n },\n\n // Disable Backbone.history, perhaps temporarily. Not useful in a real app,\n // but possibly useful for unit testing Routers.\n stop: function() {\n // Add a cross-platform `removeEventListener` shim for older browsers.\n var removeEventListener = window.removeEventListener || function (eventName, listener) {\n return detachEvent('on' + eventName, listener);\n };\n\n // Remove window listeners.\n if (this._usePushState) {\n removeEventListener('popstate', this.checkUrl, false);\n } else if (this._useHashChange && !this.iframe) {\n removeEventListener('hashchange', this.checkUrl, false);\n }\n\n // Clean up the iframe if necessary.\n if (this.iframe) {\n document.body.removeChild(this.iframe);\n this.iframe = null;\n }\n\n // Some environments will throw when clearing an undefined interval.\n if (this._checkUrlInterval) clearInterval(this._checkUrlInterval);\n History.started = false;\n },\n\n // Add a route to be tested when the fragment changes. Routes added later\n // may override previous routes.\n route: function(route, callback) {\n this.handlers.unshift({route: route, callback: callback});\n },\n\n // Checks the current URL to see if it has changed, and if it has,\n // calls `loadUrl`, normalizing across the hidden iframe.\n checkUrl: function(e) {\n var current = this.getFragment();\n\n // If the user pressed the back button, the iframe's hash will have\n // changed and we should use that for comparison.\n if (current === this.fragment && this.iframe) {\n current = this.getHash(this.iframe.contentWindow);\n }\n\n if (current === this.fragment) return false;\n if (this.iframe) this.navigate(current);\n this.loadUrl();\n },\n\n // Attempt to load the current URL fragment. If a route succeeds with a\n // match, returns `true`. If no defined routes matches the fragment,\n // returns `false`.\n loadUrl: function(fragment) {\n // If the root doesn't match, no routes can match either.\n if (!this.matchRoot()) return false;\n fragment = this.fragment = this.getFragment(fragment);\n return _.any(this.handlers, function(handler) {\n if (handler.route.test(fragment)) {\n handler.callback(fragment);\n return true;\n }\n });\n },\n\n // Save a fragment into the hash history, or replace the URL state if the\n // 'replace' option is passed. You are responsible for properly URL-encoding\n // the fragment in advance.\n //\n // The options object can contain `trigger: true` if you wish to have the\n // route callback be fired (not usually desirable), or `replace: true`, if\n // you wish to modify the current URL without adding an entry to the history.\n navigate: function(fragment, options) {\n if (!History.started) return false;\n if (!options || options === true) options = {trigger: !!options};\n\n // Normalize the fragment.\n fragment = this.getFragment(fragment || '');\n\n // Don't include a trailing slash on the root.\n var root = this.root;\n if (fragment === '' || fragment.charAt(0) === '?') {\n root = root.slice(0, -1) || '/';\n }\n var url = root + fragment;\n\n // Strip the hash and decode for matching.\n fragment = this.decodeFragment(fragment.replace(pathStripper, ''));\n\n if (this.fragment === fragment) return;\n this.fragment = fragment;\n\n // If pushState is available, we use it to set the fragment as a real URL.\n if (this._usePushState) {\n this.history[options.replace ? 'replaceState' : 'pushState']({}, document.title, url);\n\n // If hash changes haven't been explicitly disabled, update the hash\n // fragment to store history.\n } else if (this._wantsHashChange) {\n this._updateHash(this.location, fragment, options.replace);\n if (this.iframe && (fragment !== this.getHash(this.iframe.contentWindow))) {\n var iWindow = this.iframe.contentWindow;\n\n // Opening and closing the iframe tricks IE7 and earlier to push a\n // history entry on hash-tag change. When replace is true, we don't\n // want this.\n if (!options.replace) {\n iWindow.document.open();\n iWindow.document.close();\n }\n\n this._updateHash(iWindow.location, fragment, options.replace);\n }\n\n // If you've told us that you explicitly don't want fallback hashchange-\n // based history, then `navigate` becomes a page refresh.\n } else {\n return this.location.assign(url);\n }\n if (options.trigger) return this.loadUrl(fragment);\n },\n\n // Update the hash location, either replacing the current entry, or adding\n // a new one to the browser history.\n _updateHash: function(location, fragment, replace) {\n if (replace) {\n var href = location.href.replace(/(javascript:|#).*$/, '');\n location.replace(href + '#' + fragment);\n } else {\n // Some browsers require that `hash` contains a leading #.\n location.hash = '#' + fragment;\n }\n }\n\n });\n\n // Create the default Backbone.history.\n Backbone.history = new History;\n\n // Helpers\n // -------\n\n // Helper function to correctly set up the prototype chain for subclasses.\n // Similar to `goog.inherits`, but uses a hash of prototype properties and\n // class properties to be extended.\n var extend = function(protoProps, staticProps) {\n var parent = this;\n var child;\n\n // The constructor function for the new subclass is either defined by you\n // (the \"constructor\" property in your `extend` definition), or defaulted\n // by us to simply call the parent constructor.\n if (protoProps && _.has(protoProps, 'constructor')) {\n child = protoProps.constructor;\n } else {\n child = function(){ return parent.apply(this, arguments); };\n }\n\n // Add static properties to the constructor function, if supplied.\n _.extend(child, parent, staticProps);\n\n // Set the prototype chain to inherit from `parent`, without calling\n // `parent` constructor function.\n var Surrogate = function(){ this.constructor = child; };\n Surrogate.prototype = parent.prototype;\n child.prototype = new Surrogate;\n\n // Add prototype properties (instance properties) to the subclass,\n // if supplied.\n if (protoProps) _.extend(child.prototype, protoProps);\n\n // Set a convenience property in case the parent's prototype is needed\n // later.\n child.__super__ = parent.prototype;\n\n return child;\n };\n\n // Set up inheritance for the model, collection, router, view and history.\n Model.extend = Collection.extend = Router.extend = View.extend = History.extend = extend;\n\n // Throw an error when a URL is needed, and none is supplied.\n var urlError = function() {\n throw new Error('A \"url\" property or function must be specified');\n };\n\n // Wrap an optional error callback with a fallback error event.\n var wrapError = function(model, options) {\n var error = options.error;\n options.error = function(resp) {\n if (error) error.call(options.context, model, resp, options);\n model.trigger('error', model, resp, options);\n };\n };\n\n return Backbone;\n\n}));\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/backbone/backbone.js\n// module id = 492\n// module chunks = 0","// Underscore.js 1.9.1\n// http://underscorejs.org\n// (c) 2009-2018 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n// Underscore may be freely distributed under the MIT license.\n\n(function() {\n\n // Baseline setup\n // --------------\n\n // Establish the root object, `window` (`self`) in the browser, `global`\n // on the server, or `this` in some virtual machines. We use `self`\n // instead of `window` for `WebWorker` support.\n var root = typeof self == 'object' && self.self === self && self ||\n typeof global == 'object' && global.global === global && global ||\n this ||\n {};\n\n // Save the previous value of the `_` variable.\n var previousUnderscore = root._;\n\n // Save bytes in the minified (but not gzipped) version:\n var ArrayProto = Array.prototype, ObjProto = Object.prototype;\n var SymbolProto = typeof Symbol !== 'undefined' ? Symbol.prototype : null;\n\n // Create quick reference variables for speed access to core prototypes.\n var push = ArrayProto.push,\n slice = ArrayProto.slice,\n toString = ObjProto.toString,\n hasOwnProperty = ObjProto.hasOwnProperty;\n\n // All **ECMAScript 5** native function implementations that we hope to use\n // are declared here.\n var nativeIsArray = Array.isArray,\n nativeKeys = Object.keys,\n nativeCreate = Object.create;\n\n // Naked function reference for surrogate-prototype-swapping.\n var Ctor = function(){};\n\n // Create a safe reference to the Underscore object for use below.\n var _ = function(obj) {\n if (obj instanceof _) return obj;\n if (!(this instanceof _)) return new _(obj);\n this._wrapped = obj;\n };\n\n // Export the Underscore object for **Node.js**, with\n // backwards-compatibility for their old module API. If we're in\n // the browser, add `_` as a global object.\n // (`nodeType` is checked to ensure that `module`\n // and `exports` are not HTML elements.)\n if (typeof exports != 'undefined' && !exports.nodeType) {\n if (typeof module != 'undefined' && !module.nodeType && module.exports) {\n exports = module.exports = _;\n }\n exports._ = _;\n } else {\n root._ = _;\n }\n\n // Current version.\n _.VERSION = '1.9.1';\n\n // Internal function that returns an efficient (for current engines) version\n // of the passed-in callback, to be repeatedly applied in other Underscore\n // functions.\n var optimizeCb = function(func, context, argCount) {\n if (context === void 0) return func;\n switch (argCount == null ? 3 : argCount) {\n case 1: return function(value) {\n return func.call(context, value);\n };\n // The 2-argument case is omitted because we’re not using it.\n case 3: return function(value, index, collection) {\n return func.call(context, value, index, collection);\n };\n case 4: return function(accumulator, value, index, collection) {\n return func.call(context, accumulator, value, index, collection);\n };\n }\n return function() {\n return func.apply(context, arguments);\n };\n };\n\n var builtinIteratee;\n\n // An internal function to generate callbacks that can be applied to each\n // element in a collection, returning the desired result — either `identity`,\n // an arbitrary callback, a property matcher, or a property accessor.\n var cb = function(value, context, argCount) {\n if (_.iteratee !== builtinIteratee) return _.iteratee(value, context);\n if (value == null) return _.identity;\n if (_.isFunction(value)) return optimizeCb(value, context, argCount);\n if (_.isObject(value) && !_.isArray(value)) return _.matcher(value);\n return _.property(value);\n };\n\n // External wrapper for our callback generator. Users may customize\n // `_.iteratee` if they want additional predicate/iteratee shorthand styles.\n // This abstraction hides the internal-only argCount argument.\n _.iteratee = builtinIteratee = function(value, context) {\n return cb(value, context, Infinity);\n };\n\n // Some functions take a variable number of arguments, or a few expected\n // arguments at the beginning and then a variable number of values to operate\n // on. This helper accumulates all remaining arguments past the function’s\n // argument length (or an explicit `startIndex`), into an array that becomes\n // the last argument. Similar to ES6’s \"rest parameter\".\n var restArguments = function(func, startIndex) {\n startIndex = startIndex == null ? func.length - 1 : +startIndex;\n return function() {\n var length = Math.max(arguments.length - startIndex, 0),\n rest = Array(length),\n index = 0;\n for (; index < length; index++) {\n rest[index] = arguments[index + startIndex];\n }\n switch (startIndex) {\n case 0: return func.call(this, rest);\n case 1: return func.call(this, arguments[0], rest);\n case 2: return func.call(this, arguments[0], arguments[1], rest);\n }\n var args = Array(startIndex + 1);\n for (index = 0; index < startIndex; index++) {\n args[index] = arguments[index];\n }\n args[startIndex] = rest;\n return func.apply(this, args);\n };\n };\n\n // An internal function for creating a new object that inherits from another.\n var baseCreate = function(prototype) {\n if (!_.isObject(prototype)) return {};\n if (nativeCreate) return nativeCreate(prototype);\n Ctor.prototype = prototype;\n var result = new Ctor;\n Ctor.prototype = null;\n return result;\n };\n\n var shallowProperty = function(key) {\n return function(obj) {\n return obj == null ? void 0 : obj[key];\n };\n };\n\n var has = function(obj, path) {\n return obj != null && hasOwnProperty.call(obj, path);\n }\n\n var deepGet = function(obj, path) {\n var length = path.length;\n for (var i = 0; i < length; i++) {\n if (obj == null) return void 0;\n obj = obj[path[i]];\n }\n return length ? obj : void 0;\n };\n\n // Helper for collection methods to determine whether a collection\n // should be iterated as an array or as an object.\n // Related: http://people.mozilla.org/~jorendorff/es6-draft.html#sec-tolength\n // Avoids a very nasty iOS 8 JIT bug on ARM-64. #2094\n var MAX_ARRAY_INDEX = Math.pow(2, 53) - 1;\n var getLength = shallowProperty('length');\n var isArrayLike = function(collection) {\n var length = getLength(collection);\n return typeof length == 'number' && length >= 0 && length <= MAX_ARRAY_INDEX;\n };\n\n // Collection Functions\n // --------------------\n\n // The cornerstone, an `each` implementation, aka `forEach`.\n // Handles raw objects in addition to array-likes. Treats all\n // sparse array-likes as if they were dense.\n _.each = _.forEach = function(obj, iteratee, context) {\n iteratee = optimizeCb(iteratee, context);\n var i, length;\n if (isArrayLike(obj)) {\n for (i = 0, length = obj.length; i < length; i++) {\n iteratee(obj[i], i, obj);\n }\n } else {\n var keys = _.keys(obj);\n for (i = 0, length = keys.length; i < length; i++) {\n iteratee(obj[keys[i]], keys[i], obj);\n }\n }\n return obj;\n };\n\n // Return the results of applying the iteratee to each element.\n _.map = _.collect = function(obj, iteratee, context) {\n iteratee = cb(iteratee, context);\n var keys = !isArrayLike(obj) && _.keys(obj),\n length = (keys || obj).length,\n results = Array(length);\n for (var index = 0; index < length; index++) {\n var currentKey = keys ? keys[index] : index;\n results[index] = iteratee(obj[currentKey], currentKey, obj);\n }\n return results;\n };\n\n // Create a reducing function iterating left or right.\n var createReduce = function(dir) {\n // Wrap code that reassigns argument variables in a separate function than\n // the one that accesses `arguments.length` to avoid a perf hit. (#1991)\n var reducer = function(obj, iteratee, memo, initial) {\n var keys = !isArrayLike(obj) && _.keys(obj),\n length = (keys || obj).length,\n index = dir > 0 ? 0 : length - 1;\n if (!initial) {\n memo = obj[keys ? keys[index] : index];\n index += dir;\n }\n for (; index >= 0 && index < length; index += dir) {\n var currentKey = keys ? keys[index] : index;\n memo = iteratee(memo, obj[currentKey], currentKey, obj);\n }\n return memo;\n };\n\n return function(obj, iteratee, memo, context) {\n var initial = arguments.length >= 3;\n return reducer(obj, optimizeCb(iteratee, context, 4), memo, initial);\n };\n };\n\n // **Reduce** builds up a single result from a list of values, aka `inject`,\n // or `foldl`.\n _.reduce = _.foldl = _.inject = createReduce(1);\n\n // The right-associative version of reduce, also known as `foldr`.\n _.reduceRight = _.foldr = createReduce(-1);\n\n // Return the first value which passes a truth test. Aliased as `detect`.\n _.find = _.detect = function(obj, predicate, context) {\n var keyFinder = isArrayLike(obj) ? _.findIndex : _.findKey;\n var key = keyFinder(obj, predicate, context);\n if (key !== void 0 && key !== -1) return obj[key];\n };\n\n // Return all the elements that pass a truth test.\n // Aliased as `select`.\n _.filter = _.select = function(obj, predicate, context) {\n var results = [];\n predicate = cb(predicate, context);\n _.each(obj, function(value, index, list) {\n if (predicate(value, index, list)) results.push(value);\n });\n return results;\n };\n\n // Return all the elements for which a truth test fails.\n _.reject = function(obj, predicate, context) {\n return _.filter(obj, _.negate(cb(predicate)), context);\n };\n\n // Determine whether all of the elements match a truth test.\n // Aliased as `all`.\n _.every = _.all = function(obj, predicate, context) {\n predicate = cb(predicate, context);\n var keys = !isArrayLike(obj) && _.keys(obj),\n length = (keys || obj).length;\n for (var index = 0; index < length; index++) {\n var currentKey = keys ? keys[index] : index;\n if (!predicate(obj[currentKey], currentKey, obj)) return false;\n }\n return true;\n };\n\n // Determine if at least one element in the object matches a truth test.\n // Aliased as `any`.\n _.some = _.any = function(obj, predicate, context) {\n predicate = cb(predicate, context);\n var keys = !isArrayLike(obj) && _.keys(obj),\n length = (keys || obj).length;\n for (var index = 0; index < length; index++) {\n var currentKey = keys ? keys[index] : index;\n if (predicate(obj[currentKey], currentKey, obj)) return true;\n }\n return false;\n };\n\n // Determine if the array or object contains a given item (using `===`).\n // Aliased as `includes` and `include`.\n _.contains = _.includes = _.include = function(obj, item, fromIndex, guard) {\n if (!isArrayLike(obj)) obj = _.values(obj);\n if (typeof fromIndex != 'number' || guard) fromIndex = 0;\n return _.indexOf(obj, item, fromIndex) >= 0;\n };\n\n // Invoke a method (with arguments) on every item in a collection.\n _.invoke = restArguments(function(obj, path, args) {\n var contextPath, func;\n if (_.isFunction(path)) {\n func = path;\n } else if (_.isArray(path)) {\n contextPath = path.slice(0, -1);\n path = path[path.length - 1];\n }\n return _.map(obj, function(context) {\n var method = func;\n if (!method) {\n if (contextPath && contextPath.length) {\n context = deepGet(context, contextPath);\n }\n if (context == null) return void 0;\n method = context[path];\n }\n return method == null ? method : method.apply(context, args);\n });\n });\n\n // Convenience version of a common use case of `map`: fetching a property.\n _.pluck = function(obj, key) {\n return _.map(obj, _.property(key));\n };\n\n // Convenience version of a common use case of `filter`: selecting only objects\n // containing specific `key:value` pairs.\n _.where = function(obj, attrs) {\n return _.filter(obj, _.matcher(attrs));\n };\n\n // Convenience version of a common use case of `find`: getting the first object\n // containing specific `key:value` pairs.\n _.findWhere = function(obj, attrs) {\n return _.find(obj, _.matcher(attrs));\n };\n\n // Return the maximum element (or element-based computation).\n _.max = function(obj, iteratee, context) {\n var result = -Infinity, lastComputed = -Infinity,\n value, computed;\n if (iteratee == null || typeof iteratee == 'number' && typeof obj[0] != 'object' && obj != null) {\n obj = isArrayLike(obj) ? obj : _.values(obj);\n for (var i = 0, length = obj.length; i < length; i++) {\n value = obj[i];\n if (value != null && value > result) {\n result = value;\n }\n }\n } else {\n iteratee = cb(iteratee, context);\n _.each(obj, function(v, index, list) {\n computed = iteratee(v, index, list);\n if (computed > lastComputed || computed === -Infinity && result === -Infinity) {\n result = v;\n lastComputed = computed;\n }\n });\n }\n return result;\n };\n\n // Return the minimum element (or element-based computation).\n _.min = function(obj, iteratee, context) {\n var result = Infinity, lastComputed = Infinity,\n value, computed;\n if (iteratee == null || typeof iteratee == 'number' && typeof obj[0] != 'object' && obj != null) {\n obj = isArrayLike(obj) ? obj : _.values(obj);\n for (var i = 0, length = obj.length; i < length; i++) {\n value = obj[i];\n if (value != null && value < result) {\n result = value;\n }\n }\n } else {\n iteratee = cb(iteratee, context);\n _.each(obj, function(v, index, list) {\n computed = iteratee(v, index, list);\n if (computed < lastComputed || computed === Infinity && result === Infinity) {\n result = v;\n lastComputed = computed;\n }\n });\n }\n return result;\n };\n\n // Shuffle a collection.\n _.shuffle = function(obj) {\n return _.sample(obj, Infinity);\n };\n\n // Sample **n** random values from a collection using the modern version of the\n // [Fisher-Yates shuffle](http://en.wikipedia.org/wiki/Fisher–Yates_shuffle).\n // If **n** is not specified, returns a single random element.\n // The internal `guard` argument allows it to work with `map`.\n _.sample = function(obj, n, guard) {\n if (n == null || guard) {\n if (!isArrayLike(obj)) obj = _.values(obj);\n return obj[_.random(obj.length - 1)];\n }\n var sample = isArrayLike(obj) ? _.clone(obj) : _.values(obj);\n var length = getLength(sample);\n n = Math.max(Math.min(n, length), 0);\n var last = length - 1;\n for (var index = 0; index < n; index++) {\n var rand = _.random(index, last);\n var temp = sample[index];\n sample[index] = sample[rand];\n sample[rand] = temp;\n }\n return sample.slice(0, n);\n };\n\n // Sort the object's values by a criterion produced by an iteratee.\n _.sortBy = function(obj, iteratee, context) {\n var index = 0;\n iteratee = cb(iteratee, context);\n return _.pluck(_.map(obj, function(value, key, list) {\n return {\n value: value,\n index: index++,\n criteria: iteratee(value, key, list)\n };\n }).sort(function(left, right) {\n var a = left.criteria;\n var b = right.criteria;\n if (a !== b) {\n if (a > b || a === void 0) return 1;\n if (a < b || b === void 0) return -1;\n }\n return left.index - right.index;\n }), 'value');\n };\n\n // An internal function used for aggregate \"group by\" operations.\n var group = function(behavior, partition) {\n return function(obj, iteratee, context) {\n var result = partition ? [[], []] : {};\n iteratee = cb(iteratee, context);\n _.each(obj, function(value, index) {\n var key = iteratee(value, index, obj);\n behavior(result, value, key);\n });\n return result;\n };\n };\n\n // Groups the object's values by a criterion. Pass either a string attribute\n // to group by, or a function that returns the criterion.\n _.groupBy = group(function(result, value, key) {\n if (has(result, key)) result[key].push(value); else result[key] = [value];\n });\n\n // Indexes the object's values by a criterion, similar to `groupBy`, but for\n // when you know that your index values will be unique.\n _.indexBy = group(function(result, value, key) {\n result[key] = value;\n });\n\n // Counts instances of an object that group by a certain criterion. Pass\n // either a string attribute to count by, or a function that returns the\n // criterion.\n _.countBy = group(function(result, value, key) {\n if (has(result, key)) result[key]++; else result[key] = 1;\n });\n\n var reStrSymbol = /[^\\ud800-\\udfff]|[\\ud800-\\udbff][\\udc00-\\udfff]|[\\ud800-\\udfff]/g;\n // Safely create a real, live array from anything iterable.\n _.toArray = function(obj) {\n if (!obj) return [];\n if (_.isArray(obj)) return slice.call(obj);\n if (_.isString(obj)) {\n // Keep surrogate pair characters together\n return obj.match(reStrSymbol);\n }\n if (isArrayLike(obj)) return _.map(obj, _.identity);\n return _.values(obj);\n };\n\n // Return the number of elements in an object.\n _.size = function(obj) {\n if (obj == null) return 0;\n return isArrayLike(obj) ? obj.length : _.keys(obj).length;\n };\n\n // Split a collection into two arrays: one whose elements all satisfy the given\n // predicate, and one whose elements all do not satisfy the predicate.\n _.partition = group(function(result, value, pass) {\n result[pass ? 0 : 1].push(value);\n }, true);\n\n // Array Functions\n // ---------------\n\n // Get the first element of an array. Passing **n** will return the first N\n // values in the array. Aliased as `head` and `take`. The **guard** check\n // allows it to work with `_.map`.\n _.first = _.head = _.take = function(array, n, guard) {\n if (array == null || array.length < 1) return n == null ? void 0 : [];\n if (n == null || guard) return array[0];\n return _.initial(array, array.length - n);\n };\n\n // Returns everything but the last entry of the array. Especially useful on\n // the arguments object. Passing **n** will return all the values in\n // the array, excluding the last N.\n _.initial = function(array, n, guard) {\n return slice.call(array, 0, Math.max(0, array.length - (n == null || guard ? 1 : n)));\n };\n\n // Get the last element of an array. Passing **n** will return the last N\n // values in the array.\n _.last = function(array, n, guard) {\n if (array == null || array.length < 1) return n == null ? void 0 : [];\n if (n == null || guard) return array[array.length - 1];\n return _.rest(array, Math.max(0, array.length - n));\n };\n\n // Returns everything but the first entry of the array. Aliased as `tail` and `drop`.\n // Especially useful on the arguments object. Passing an **n** will return\n // the rest N values in the array.\n _.rest = _.tail = _.drop = function(array, n, guard) {\n return slice.call(array, n == null || guard ? 1 : n);\n };\n\n // Trim out all falsy values from an array.\n _.compact = function(array) {\n return _.filter(array, Boolean);\n };\n\n // Internal implementation of a recursive `flatten` function.\n var flatten = function(input, shallow, strict, output) {\n output = output || [];\n var idx = output.length;\n for (var i = 0, length = getLength(input); i < length; i++) {\n var value = input[i];\n if (isArrayLike(value) && (_.isArray(value) || _.isArguments(value))) {\n // Flatten current level of array or arguments object.\n if (shallow) {\n var j = 0, len = value.length;\n while (j < len) output[idx++] = value[j++];\n } else {\n flatten(value, shallow, strict, output);\n idx = output.length;\n }\n } else if (!strict) {\n output[idx++] = value;\n }\n }\n return output;\n };\n\n // Flatten out an array, either recursively (by default), or just one level.\n _.flatten = function(array, shallow) {\n return flatten(array, shallow, false);\n };\n\n // Return a version of the array that does not contain the specified value(s).\n _.without = restArguments(function(array, otherArrays) {\n return _.difference(array, otherArrays);\n });\n\n // Produce a duplicate-free version of the array. If the array has already\n // been sorted, you have the option of using a faster algorithm.\n // The faster algorithm will not work with an iteratee if the iteratee\n // is not a one-to-one function, so providing an iteratee will disable\n // the faster algorithm.\n // Aliased as `unique`.\n _.uniq = _.unique = function(array, isSorted, iteratee, context) {\n if (!_.isBoolean(isSorted)) {\n context = iteratee;\n iteratee = isSorted;\n isSorted = false;\n }\n if (iteratee != null) iteratee = cb(iteratee, context);\n var result = [];\n var seen = [];\n for (var i = 0, length = getLength(array); i < length; i++) {\n var value = array[i],\n computed = iteratee ? iteratee(value, i, array) : value;\n if (isSorted && !iteratee) {\n if (!i || seen !== computed) result.push(value);\n seen = computed;\n } else if (iteratee) {\n if (!_.contains(seen, computed)) {\n seen.push(computed);\n result.push(value);\n }\n } else if (!_.contains(result, value)) {\n result.push(value);\n }\n }\n return result;\n };\n\n // Produce an array that contains the union: each distinct element from all of\n // the passed-in arrays.\n _.union = restArguments(function(arrays) {\n return _.uniq(flatten(arrays, true, true));\n });\n\n // Produce an array that contains every item shared between all the\n // passed-in arrays.\n _.intersection = function(array) {\n var result = [];\n var argsLength = arguments.length;\n for (var i = 0, length = getLength(array); i < length; i++) {\n var item = array[i];\n if (_.contains(result, item)) continue;\n var j;\n for (j = 1; j < argsLength; j++) {\n if (!_.contains(arguments[j], item)) break;\n }\n if (j === argsLength) result.push(item);\n }\n return result;\n };\n\n // Take the difference between one array and a number of other arrays.\n // Only the elements present in just the first array will remain.\n _.difference = restArguments(function(array, rest) {\n rest = flatten(rest, true, true);\n return _.filter(array, function(value){\n return !_.contains(rest, value);\n });\n });\n\n // Complement of _.zip. Unzip accepts an array of arrays and groups\n // each array's elements on shared indices.\n _.unzip = function(array) {\n var length = array && _.max(array, getLength).length || 0;\n var result = Array(length);\n\n for (var index = 0; index < length; index++) {\n result[index] = _.pluck(array, index);\n }\n return result;\n };\n\n // Zip together multiple lists into a single array -- elements that share\n // an index go together.\n _.zip = restArguments(_.unzip);\n\n // Converts lists into objects. Pass either a single array of `[key, value]`\n // pairs, or two parallel arrays of the same length -- one of keys, and one of\n // the corresponding values. Passing by pairs is the reverse of _.pairs.\n _.object = function(list, values) {\n var result = {};\n for (var i = 0, length = getLength(list); i < length; i++) {\n if (values) {\n result[list[i]] = values[i];\n } else {\n result[list[i][0]] = list[i][1];\n }\n }\n return result;\n };\n\n // Generator function to create the findIndex and findLastIndex functions.\n var createPredicateIndexFinder = function(dir) {\n return function(array, predicate, context) {\n predicate = cb(predicate, context);\n var length = getLength(array);\n var index = dir > 0 ? 0 : length - 1;\n for (; index >= 0 && index < length; index += dir) {\n if (predicate(array[index], index, array)) return index;\n }\n return -1;\n };\n };\n\n // Returns the first index on an array-like that passes a predicate test.\n _.findIndex = createPredicateIndexFinder(1);\n _.findLastIndex = createPredicateIndexFinder(-1);\n\n // Use a comparator function to figure out the smallest index at which\n // an object should be inserted so as to maintain order. Uses binary search.\n _.sortedIndex = function(array, obj, iteratee, context) {\n iteratee = cb(iteratee, context, 1);\n var value = iteratee(obj);\n var low = 0, high = getLength(array);\n while (low < high) {\n var mid = Math.floor((low + high) / 2);\n if (iteratee(array[mid]) < value) low = mid + 1; else high = mid;\n }\n return low;\n };\n\n // Generator function to create the indexOf and lastIndexOf functions.\n var createIndexFinder = function(dir, predicateFind, sortedIndex) {\n return function(array, item, idx) {\n var i = 0, length = getLength(array);\n if (typeof idx == 'number') {\n if (dir > 0) {\n i = idx >= 0 ? idx : Math.max(idx + length, i);\n } else {\n length = idx >= 0 ? Math.min(idx + 1, length) : idx + length + 1;\n }\n } else if (sortedIndex && idx && length) {\n idx = sortedIndex(array, item);\n return array[idx] === item ? idx : -1;\n }\n if (item !== item) {\n idx = predicateFind(slice.call(array, i, length), _.isNaN);\n return idx >= 0 ? idx + i : -1;\n }\n for (idx = dir > 0 ? i : length - 1; idx >= 0 && idx < length; idx += dir) {\n if (array[idx] === item) return idx;\n }\n return -1;\n };\n };\n\n // Return the position of the first occurrence of an item in an array,\n // or -1 if the item is not included in the array.\n // If the array is large and already in sort order, pass `true`\n // for **isSorted** to use binary search.\n _.indexOf = createIndexFinder(1, _.findIndex, _.sortedIndex);\n _.lastIndexOf = createIndexFinder(-1, _.findLastIndex);\n\n // Generate an integer Array containing an arithmetic progression. A port of\n // the native Python `range()` function. See\n // [the Python documentation](http://docs.python.org/library/functions.html#range).\n _.range = function(start, stop, step) {\n if (stop == null) {\n stop = start || 0;\n start = 0;\n }\n if (!step) {\n step = stop < start ? -1 : 1;\n }\n\n var length = Math.max(Math.ceil((stop - start) / step), 0);\n var range = Array(length);\n\n for (var idx = 0; idx < length; idx++, start += step) {\n range[idx] = start;\n }\n\n return range;\n };\n\n // Chunk a single array into multiple arrays, each containing `count` or fewer\n // items.\n _.chunk = function(array, count) {\n if (count == null || count < 1) return [];\n var result = [];\n var i = 0, length = array.length;\n while (i < length) {\n result.push(slice.call(array, i, i += count));\n }\n return result;\n };\n\n // Function (ahem) Functions\n // ------------------\n\n // Determines whether to execute a function as a constructor\n // or a normal function with the provided arguments.\n var executeBound = function(sourceFunc, boundFunc, context, callingContext, args) {\n if (!(callingContext instanceof boundFunc)) return sourceFunc.apply(context, args);\n var self = baseCreate(sourceFunc.prototype);\n var result = sourceFunc.apply(self, args);\n if (_.isObject(result)) return result;\n return self;\n };\n\n // Create a function bound to a given object (assigning `this`, and arguments,\n // optionally). Delegates to **ECMAScript 5**'s native `Function.bind` if\n // available.\n _.bind = restArguments(function(func, context, args) {\n if (!_.isFunction(func)) throw new TypeError('Bind must be called on a function');\n var bound = restArguments(function(callArgs) {\n return executeBound(func, bound, context, this, args.concat(callArgs));\n });\n return bound;\n });\n\n // Partially apply a function by creating a version that has had some of its\n // arguments pre-filled, without changing its dynamic `this` context. _ acts\n // as a placeholder by default, allowing any combination of arguments to be\n // pre-filled. Set `_.partial.placeholder` for a custom placeholder argument.\n _.partial = restArguments(function(func, boundArgs) {\n var placeholder = _.partial.placeholder;\n var bound = function() {\n var position = 0, length = boundArgs.length;\n var args = Array(length);\n for (var i = 0; i < length; i++) {\n args[i] = boundArgs[i] === placeholder ? arguments[position++] : boundArgs[i];\n }\n while (position < arguments.length) args.push(arguments[position++]);\n return executeBound(func, bound, this, this, args);\n };\n return bound;\n });\n\n _.partial.placeholder = _;\n\n // Bind a number of an object's methods to that object. Remaining arguments\n // are the method names to be bound. Useful for ensuring that all callbacks\n // defined on an object belong to it.\n _.bindAll = restArguments(function(obj, keys) {\n keys = flatten(keys, false, false);\n var index = keys.length;\n if (index < 1) throw new Error('bindAll must be passed function names');\n while (index--) {\n var key = keys[index];\n obj[key] = _.bind(obj[key], obj);\n }\n });\n\n // Memoize an expensive function by storing its results.\n _.memoize = function(func, hasher) {\n var memoize = function(key) {\n var cache = memoize.cache;\n var address = '' + (hasher ? hasher.apply(this, arguments) : key);\n if (!has(cache, address)) cache[address] = func.apply(this, arguments);\n return cache[address];\n };\n memoize.cache = {};\n return memoize;\n };\n\n // Delays a function for the given number of milliseconds, and then calls\n // it with the arguments supplied.\n _.delay = restArguments(function(func, wait, args) {\n return setTimeout(function() {\n return func.apply(null, args);\n }, wait);\n });\n\n // Defers a function, scheduling it to run after the current call stack has\n // cleared.\n _.defer = _.partial(_.delay, _, 1);\n\n // Returns a function, that, when invoked, will only be triggered at most once\n // during a given window of time. Normally, the throttled function will run\n // as much as it can, without ever going more than once per `wait` duration;\n // but if you'd like to disable the execution on the leading edge, pass\n // `{leading: false}`. To disable execution on the trailing edge, ditto.\n _.throttle = function(func, wait, options) {\n var timeout, context, args, result;\n var previous = 0;\n if (!options) options = {};\n\n var later = function() {\n previous = options.leading === false ? 0 : _.now();\n timeout = null;\n result = func.apply(context, args);\n if (!timeout) context = args = null;\n };\n\n var throttled = function() {\n var now = _.now();\n if (!previous && options.leading === false) previous = now;\n var remaining = wait - (now - previous);\n context = this;\n args = arguments;\n if (remaining <= 0 || remaining > wait) {\n if (timeout) {\n clearTimeout(timeout);\n timeout = null;\n }\n previous = now;\n result = func.apply(context, args);\n if (!timeout) context = args = null;\n } else if (!timeout && options.trailing !== false) {\n timeout = setTimeout(later, remaining);\n }\n return result;\n };\n\n throttled.cancel = function() {\n clearTimeout(timeout);\n previous = 0;\n timeout = context = args = null;\n };\n\n return throttled;\n };\n\n // Returns a function, that, as long as it continues to be invoked, will not\n // be triggered. The function will be called after it stops being called for\n // N milliseconds. If `immediate` is passed, trigger the function on the\n // leading edge, instead of the trailing.\n _.debounce = function(func, wait, immediate) {\n var timeout, result;\n\n var later = function(context, args) {\n timeout = null;\n if (args) result = func.apply(context, args);\n };\n\n var debounced = restArguments(function(args) {\n if (timeout) clearTimeout(timeout);\n if (immediate) {\n var callNow = !timeout;\n timeout = setTimeout(later, wait);\n if (callNow) result = func.apply(this, args);\n } else {\n timeout = _.delay(later, wait, this, args);\n }\n\n return result;\n });\n\n debounced.cancel = function() {\n clearTimeout(timeout);\n timeout = null;\n };\n\n return debounced;\n };\n\n // Returns the first function passed as an argument to the second,\n // allowing you to adjust arguments, run code before and after, and\n // conditionally execute the original function.\n _.wrap = function(func, wrapper) {\n return _.partial(wrapper, func);\n };\n\n // Returns a negated version of the passed-in predicate.\n _.negate = function(predicate) {\n return function() {\n return !predicate.apply(this, arguments);\n };\n };\n\n // Returns a function that is the composition of a list of functions, each\n // consuming the return value of the function that follows.\n _.compose = function() {\n var args = arguments;\n var start = args.length - 1;\n return function() {\n var i = start;\n var result = args[start].apply(this, arguments);\n while (i--) result = args[i].call(this, result);\n return result;\n };\n };\n\n // Returns a function that will only be executed on and after the Nth call.\n _.after = function(times, func) {\n return function() {\n if (--times < 1) {\n return func.apply(this, arguments);\n }\n };\n };\n\n // Returns a function that will only be executed up to (but not including) the Nth call.\n _.before = function(times, func) {\n var memo;\n return function() {\n if (--times > 0) {\n memo = func.apply(this, arguments);\n }\n if (times <= 1) func = null;\n return memo;\n };\n };\n\n // Returns a function that will be executed at most one time, no matter how\n // often you call it. Useful for lazy initialization.\n _.once = _.partial(_.before, 2);\n\n _.restArguments = restArguments;\n\n // Object Functions\n // ----------------\n\n // Keys in IE < 9 that won't be iterated by `for key in ...` and thus missed.\n var hasEnumBug = !{toString: null}.propertyIsEnumerable('toString');\n var nonEnumerableProps = ['valueOf', 'isPrototypeOf', 'toString',\n 'propertyIsEnumerable', 'hasOwnProperty', 'toLocaleString'];\n\n var collectNonEnumProps = function(obj, keys) {\n var nonEnumIdx = nonEnumerableProps.length;\n var constructor = obj.constructor;\n var proto = _.isFunction(constructor) && constructor.prototype || ObjProto;\n\n // Constructor is a special case.\n var prop = 'constructor';\n if (has(obj, prop) && !_.contains(keys, prop)) keys.push(prop);\n\n while (nonEnumIdx--) {\n prop = nonEnumerableProps[nonEnumIdx];\n if (prop in obj && obj[prop] !== proto[prop] && !_.contains(keys, prop)) {\n keys.push(prop);\n }\n }\n };\n\n // Retrieve the names of an object's own properties.\n // Delegates to **ECMAScript 5**'s native `Object.keys`.\n _.keys = function(obj) {\n if (!_.isObject(obj)) return [];\n if (nativeKeys) return nativeKeys(obj);\n var keys = [];\n for (var key in obj) if (has(obj, key)) keys.push(key);\n // Ahem, IE < 9.\n if (hasEnumBug) collectNonEnumProps(obj, keys);\n return keys;\n };\n\n // Retrieve all the property names of an object.\n _.allKeys = function(obj) {\n if (!_.isObject(obj)) return [];\n var keys = [];\n for (var key in obj) keys.push(key);\n // Ahem, IE < 9.\n if (hasEnumBug) collectNonEnumProps(obj, keys);\n return keys;\n };\n\n // Retrieve the values of an object's properties.\n _.values = function(obj) {\n var keys = _.keys(obj);\n var length = keys.length;\n var values = Array(length);\n for (var i = 0; i < length; i++) {\n values[i] = obj[keys[i]];\n }\n return values;\n };\n\n // Returns the results of applying the iteratee to each element of the object.\n // In contrast to _.map it returns an object.\n _.mapObject = function(obj, iteratee, context) {\n iteratee = cb(iteratee, context);\n var keys = _.keys(obj),\n length = keys.length,\n results = {};\n for (var index = 0; index < length; index++) {\n var currentKey = keys[index];\n results[currentKey] = iteratee(obj[currentKey], currentKey, obj);\n }\n return results;\n };\n\n // Convert an object into a list of `[key, value]` pairs.\n // The opposite of _.object.\n _.pairs = function(obj) {\n var keys = _.keys(obj);\n var length = keys.length;\n var pairs = Array(length);\n for (var i = 0; i < length; i++) {\n pairs[i] = [keys[i], obj[keys[i]]];\n }\n return pairs;\n };\n\n // Invert the keys and values of an object. The values must be serializable.\n _.invert = function(obj) {\n var result = {};\n var keys = _.keys(obj);\n for (var i = 0, length = keys.length; i < length; i++) {\n result[obj[keys[i]]] = keys[i];\n }\n return result;\n };\n\n // Return a sorted list of the function names available on the object.\n // Aliased as `methods`.\n _.functions = _.methods = function(obj) {\n var names = [];\n for (var key in obj) {\n if (_.isFunction(obj[key])) names.push(key);\n }\n return names.sort();\n };\n\n // An internal function for creating assigner functions.\n var createAssigner = function(keysFunc, defaults) {\n return function(obj) {\n var length = arguments.length;\n if (defaults) obj = Object(obj);\n if (length < 2 || obj == null) return obj;\n for (var index = 1; index < length; index++) {\n var source = arguments[index],\n keys = keysFunc(source),\n l = keys.length;\n for (var i = 0; i < l; i++) {\n var key = keys[i];\n if (!defaults || obj[key] === void 0) obj[key] = source[key];\n }\n }\n return obj;\n };\n };\n\n // Extend a given object with all the properties in passed-in object(s).\n _.extend = createAssigner(_.allKeys);\n\n // Assigns a given object with all the own properties in the passed-in object(s).\n // (https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Object/assign)\n _.extendOwn = _.assign = createAssigner(_.keys);\n\n // Returns the first key on an object that passes a predicate test.\n _.findKey = function(obj, predicate, context) {\n predicate = cb(predicate, context);\n var keys = _.keys(obj), key;\n for (var i = 0, length = keys.length; i < length; i++) {\n key = keys[i];\n if (predicate(obj[key], key, obj)) return key;\n }\n };\n\n // Internal pick helper function to determine if `obj` has key `key`.\n var keyInObj = function(value, key, obj) {\n return key in obj;\n };\n\n // Return a copy of the object only containing the whitelisted properties.\n _.pick = restArguments(function(obj, keys) {\n var result = {}, iteratee = keys[0];\n if (obj == null) return result;\n if (_.isFunction(iteratee)) {\n if (keys.length > 1) iteratee = optimizeCb(iteratee, keys[1]);\n keys = _.allKeys(obj);\n } else {\n iteratee = keyInObj;\n keys = flatten(keys, false, false);\n obj = Object(obj);\n }\n for (var i = 0, length = keys.length; i < length; i++) {\n var key = keys[i];\n var value = obj[key];\n if (iteratee(value, key, obj)) result[key] = value;\n }\n return result;\n });\n\n // Return a copy of the object without the blacklisted properties.\n _.omit = restArguments(function(obj, keys) {\n var iteratee = keys[0], context;\n if (_.isFunction(iteratee)) {\n iteratee = _.negate(iteratee);\n if (keys.length > 1) context = keys[1];\n } else {\n keys = _.map(flatten(keys, false, false), String);\n iteratee = function(value, key) {\n return !_.contains(keys, key);\n };\n }\n return _.pick(obj, iteratee, context);\n });\n\n // Fill in a given object with default properties.\n _.defaults = createAssigner(_.allKeys, true);\n\n // Creates an object that inherits from the given prototype object.\n // If additional properties are provided then they will be added to the\n // created object.\n _.create = function(prototype, props) {\n var result = baseCreate(prototype);\n if (props) _.extendOwn(result, props);\n return result;\n };\n\n // Create a (shallow-cloned) duplicate of an object.\n _.clone = function(obj) {\n if (!_.isObject(obj)) return obj;\n return _.isArray(obj) ? obj.slice() : _.extend({}, obj);\n };\n\n // Invokes interceptor with the obj, and then returns obj.\n // The primary purpose of this method is to \"tap into\" a method chain, in\n // order to perform operations on intermediate results within the chain.\n _.tap = function(obj, interceptor) {\n interceptor(obj);\n return obj;\n };\n\n // Returns whether an object has a given set of `key:value` pairs.\n _.isMatch = function(object, attrs) {\n var keys = _.keys(attrs), length = keys.length;\n if (object == null) return !length;\n var obj = Object(object);\n for (var i = 0; i < length; i++) {\n var key = keys[i];\n if (attrs[key] !== obj[key] || !(key in obj)) return false;\n }\n return true;\n };\n\n\n // Internal recursive comparison function for `isEqual`.\n var eq, deepEq;\n eq = function(a, b, aStack, bStack) {\n // Identical objects are equal. `0 === -0`, but they aren't identical.\n // See the [Harmony `egal` proposal](http://wiki.ecmascript.org/doku.php?id=harmony:egal).\n if (a === b) return a !== 0 || 1 / a === 1 / b;\n // `null` or `undefined` only equal to itself (strict comparison).\n if (a == null || b == null) return false;\n // `NaN`s are equivalent, but non-reflexive.\n if (a !== a) return b !== b;\n // Exhaust primitive checks\n var type = typeof a;\n if (type !== 'function' && type !== 'object' && typeof b != 'object') return false;\n return deepEq(a, b, aStack, bStack);\n };\n\n // Internal recursive comparison function for `isEqual`.\n deepEq = function(a, b, aStack, bStack) {\n // Unwrap any wrapped objects.\n if (a instanceof _) a = a._wrapped;\n if (b instanceof _) b = b._wrapped;\n // Compare `[[Class]]` names.\n var className = toString.call(a);\n if (className !== toString.call(b)) return false;\n switch (className) {\n // Strings, numbers, regular expressions, dates, and booleans are compared by value.\n case '[object RegExp]':\n // RegExps are coerced to strings for comparison (Note: '' + /a/i === '/a/i')\n case '[object String]':\n // Primitives and their corresponding object wrappers are equivalent; thus, `\"5\"` is\n // equivalent to `new String(\"5\")`.\n return '' + a === '' + b;\n case '[object Number]':\n // `NaN`s are equivalent, but non-reflexive.\n // Object(NaN) is equivalent to NaN.\n if (+a !== +a) return +b !== +b;\n // An `egal` comparison is performed for other numeric values.\n return +a === 0 ? 1 / +a === 1 / b : +a === +b;\n case '[object Date]':\n case '[object Boolean]':\n // Coerce dates and booleans to numeric primitive values. Dates are compared by their\n // millisecond representations. Note that invalid dates with millisecond representations\n // of `NaN` are not equivalent.\n return +a === +b;\n case '[object Symbol]':\n return SymbolProto.valueOf.call(a) === SymbolProto.valueOf.call(b);\n }\n\n var areArrays = className === '[object Array]';\n if (!areArrays) {\n if (typeof a != 'object' || typeof b != 'object') return false;\n\n // Objects with different constructors are not equivalent, but `Object`s or `Array`s\n // from different frames are.\n var aCtor = a.constructor, bCtor = b.constructor;\n if (aCtor !== bCtor && !(_.isFunction(aCtor) && aCtor instanceof aCtor &&\n _.isFunction(bCtor) && bCtor instanceof bCtor)\n && ('constructor' in a && 'constructor' in b)) {\n return false;\n }\n }\n // Assume equality for cyclic structures. The algorithm for detecting cyclic\n // structures is adapted from ES 5.1 section 15.12.3, abstract operation `JO`.\n\n // Initializing stack of traversed objects.\n // It's done here since we only need them for objects and arrays comparison.\n aStack = aStack || [];\n bStack = bStack || [];\n var length = aStack.length;\n while (length--) {\n // Linear search. Performance is inversely proportional to the number of\n // unique nested structures.\n if (aStack[length] === a) return bStack[length] === b;\n }\n\n // Add the first object to the stack of traversed objects.\n aStack.push(a);\n bStack.push(b);\n\n // Recursively compare objects and arrays.\n if (areArrays) {\n // Compare array lengths to determine if a deep comparison is necessary.\n length = a.length;\n if (length !== b.length) return false;\n // Deep compare the contents, ignoring non-numeric properties.\n while (length--) {\n if (!eq(a[length], b[length], aStack, bStack)) return false;\n }\n } else {\n // Deep compare objects.\n var keys = _.keys(a), key;\n length = keys.length;\n // Ensure that both objects contain the same number of properties before comparing deep equality.\n if (_.keys(b).length !== length) return false;\n while (length--) {\n // Deep compare each member\n key = keys[length];\n if (!(has(b, key) && eq(a[key], b[key], aStack, bStack))) return false;\n }\n }\n // Remove the first object from the stack of traversed objects.\n aStack.pop();\n bStack.pop();\n return true;\n };\n\n // Perform a deep comparison to check if two objects are equal.\n _.isEqual = function(a, b) {\n return eq(a, b);\n };\n\n // Is a given array, string, or object empty?\n // An \"empty\" object has no enumerable own-properties.\n _.isEmpty = function(obj) {\n if (obj == null) return true;\n if (isArrayLike(obj) && (_.isArray(obj) || _.isString(obj) || _.isArguments(obj))) return obj.length === 0;\n return _.keys(obj).length === 0;\n };\n\n // Is a given value a DOM element?\n _.isElement = function(obj) {\n return !!(obj && obj.nodeType === 1);\n };\n\n // Is a given value an array?\n // Delegates to ECMA5's native Array.isArray\n _.isArray = nativeIsArray || function(obj) {\n return toString.call(obj) === '[object Array]';\n };\n\n // Is a given variable an object?\n _.isObject = function(obj) {\n var type = typeof obj;\n return type === 'function' || type === 'object' && !!obj;\n };\n\n // Add some isType methods: isArguments, isFunction, isString, isNumber, isDate, isRegExp, isError, isMap, isWeakMap, isSet, isWeakSet.\n _.each(['Arguments', 'Function', 'String', 'Number', 'Date', 'RegExp', 'Error', 'Symbol', 'Map', 'WeakMap', 'Set', 'WeakSet'], function(name) {\n _['is' + name] = function(obj) {\n return toString.call(obj) === '[object ' + name + ']';\n };\n });\n\n // Define a fallback version of the method in browsers (ahem, IE < 9), where\n // there isn't any inspectable \"Arguments\" type.\n if (!_.isArguments(arguments)) {\n _.isArguments = function(obj) {\n return has(obj, 'callee');\n };\n }\n\n // Optimize `isFunction` if appropriate. Work around some typeof bugs in old v8,\n // IE 11 (#1621), Safari 8 (#1929), and PhantomJS (#2236).\n var nodelist = root.document && root.document.childNodes;\n if (typeof /./ != 'function' && typeof Int8Array != 'object' && typeof nodelist != 'function') {\n _.isFunction = function(obj) {\n return typeof obj == 'function' || false;\n };\n }\n\n // Is a given object a finite number?\n _.isFinite = function(obj) {\n return !_.isSymbol(obj) && isFinite(obj) && !isNaN(parseFloat(obj));\n };\n\n // Is the given value `NaN`?\n _.isNaN = function(obj) {\n return _.isNumber(obj) && isNaN(obj);\n };\n\n // Is a given value a boolean?\n _.isBoolean = function(obj) {\n return obj === true || obj === false || toString.call(obj) === '[object Boolean]';\n };\n\n // Is a given value equal to null?\n _.isNull = function(obj) {\n return obj === null;\n };\n\n // Is a given variable undefined?\n _.isUndefined = function(obj) {\n return obj === void 0;\n };\n\n // Shortcut function for checking if an object has a given property directly\n // on itself (in other words, not on a prototype).\n _.has = function(obj, path) {\n if (!_.isArray(path)) {\n return has(obj, path);\n }\n var length = path.length;\n for (var i = 0; i < length; i++) {\n var key = path[i];\n if (obj == null || !hasOwnProperty.call(obj, key)) {\n return false;\n }\n obj = obj[key];\n }\n return !!length;\n };\n\n // Utility Functions\n // -----------------\n\n // Run Underscore.js in *noConflict* mode, returning the `_` variable to its\n // previous owner. Returns a reference to the Underscore object.\n _.noConflict = function() {\n root._ = previousUnderscore;\n return this;\n };\n\n // Keep the identity function around for default iteratees.\n _.identity = function(value) {\n return value;\n };\n\n // Predicate-generating functions. Often useful outside of Underscore.\n _.constant = function(value) {\n return function() {\n return value;\n };\n };\n\n _.noop = function(){};\n\n // Creates a function that, when passed an object, will traverse that object’s\n // properties down the given `path`, specified as an array of keys or indexes.\n _.property = function(path) {\n if (!_.isArray(path)) {\n return shallowProperty(path);\n }\n return function(obj) {\n return deepGet(obj, path);\n };\n };\n\n // Generates a function for a given object that returns a given property.\n _.propertyOf = function(obj) {\n if (obj == null) {\n return function(){};\n }\n return function(path) {\n return !_.isArray(path) ? obj[path] : deepGet(obj, path);\n };\n };\n\n // Returns a predicate for checking whether an object has a given set of\n // `key:value` pairs.\n _.matcher = _.matches = function(attrs) {\n attrs = _.extendOwn({}, attrs);\n return function(obj) {\n return _.isMatch(obj, attrs);\n };\n };\n\n // Run a function **n** times.\n _.times = function(n, iteratee, context) {\n var accum = Array(Math.max(0, n));\n iteratee = optimizeCb(iteratee, context, 1);\n for (var i = 0; i < n; i++) accum[i] = iteratee(i);\n return accum;\n };\n\n // Return a random integer between min and max (inclusive).\n _.random = function(min, max) {\n if (max == null) {\n max = min;\n min = 0;\n }\n return min + Math.floor(Math.random() * (max - min + 1));\n };\n\n // A (possibly faster) way to get the current timestamp as an integer.\n _.now = Date.now || function() {\n return new Date().getTime();\n };\n\n // List of HTML entities for escaping.\n var escapeMap = {\n '&': '&',\n '<': '<',\n '>': '>',\n '\"': '"',\n \"'\": ''',\n '`': '`'\n };\n var unescapeMap = _.invert(escapeMap);\n\n // Functions for escaping and unescaping strings to/from HTML interpolation.\n var createEscaper = function(map) {\n var escaper = function(match) {\n return map[match];\n };\n // Regexes for identifying a key that needs to be escaped.\n var source = '(?:' + _.keys(map).join('|') + ')';\n var testRegexp = RegExp(source);\n var replaceRegexp = RegExp(source, 'g');\n return function(string) {\n string = string == null ? '' : '' + string;\n return testRegexp.test(string) ? string.replace(replaceRegexp, escaper) : string;\n };\n };\n _.escape = createEscaper(escapeMap);\n _.unescape = createEscaper(unescapeMap);\n\n // Traverses the children of `obj` along `path`. If a child is a function, it\n // is invoked with its parent as context. Returns the value of the final\n // child, or `fallback` if any child is undefined.\n _.result = function(obj, path, fallback) {\n if (!_.isArray(path)) path = [path];\n var length = path.length;\n if (!length) {\n return _.isFunction(fallback) ? fallback.call(obj) : fallback;\n }\n for (var i = 0; i < length; i++) {\n var prop = obj == null ? void 0 : obj[path[i]];\n if (prop === void 0) {\n prop = fallback;\n i = length; // Ensure we don't continue iterating.\n }\n obj = _.isFunction(prop) ? prop.call(obj) : prop;\n }\n return obj;\n };\n\n // Generate a unique integer id (unique within the entire client session).\n // Useful for temporary DOM ids.\n var idCounter = 0;\n _.uniqueId = function(prefix) {\n var id = ++idCounter + '';\n return prefix ? prefix + id : id;\n };\n\n // By default, Underscore uses ERB-style template delimiters, change the\n // following template settings to use alternative delimiters.\n _.templateSettings = {\n evaluate: /<%([\\s\\S]+?)%>/g,\n interpolate: /<%=([\\s\\S]+?)%>/g,\n escape: /<%-([\\s\\S]+?)%>/g\n };\n\n // When customizing `templateSettings`, if you don't want to define an\n // interpolation, evaluation or escaping regex, we need one that is\n // guaranteed not to match.\n var noMatch = /(.)^/;\n\n // Certain characters need to be escaped so that they can be put into a\n // string literal.\n var escapes = {\n \"'\": \"'\",\n '\\\\': '\\\\',\n '\\r': 'r',\n '\\n': 'n',\n '\\u2028': 'u2028',\n '\\u2029': 'u2029'\n };\n\n var escapeRegExp = /\\\\|'|\\r|\\n|\\u2028|\\u2029/g;\n\n var escapeChar = function(match) {\n return '\\\\' + escapes[match];\n };\n\n // JavaScript micro-templating, similar to John Resig's implementation.\n // Underscore templating handles arbitrary delimiters, preserves whitespace,\n // and correctly escapes quotes within interpolated code.\n // NB: `oldSettings` only exists for backwards compatibility.\n _.template = function(text, settings, oldSettings) {\n if (!settings && oldSettings) settings = oldSettings;\n settings = _.defaults({}, settings, _.templateSettings);\n\n // Combine delimiters into one regular expression via alternation.\n var matcher = RegExp([\n (settings.escape || noMatch).source,\n (settings.interpolate || noMatch).source,\n (settings.evaluate || noMatch).source\n ].join('|') + '|$', 'g');\n\n // Compile the template source, escaping string literals appropriately.\n var index = 0;\n var source = \"__p+='\";\n text.replace(matcher, function(match, escape, interpolate, evaluate, offset) {\n source += text.slice(index, offset).replace(escapeRegExp, escapeChar);\n index = offset + match.length;\n\n if (escape) {\n source += \"'+\\n((__t=(\" + escape + \"))==null?'':_.escape(__t))+\\n'\";\n } else if (interpolate) {\n source += \"'+\\n((__t=(\" + interpolate + \"))==null?'':__t)+\\n'\";\n } else if (evaluate) {\n source += \"';\\n\" + evaluate + \"\\n__p+='\";\n }\n\n // Adobe VMs need the match returned to produce the correct offset.\n return match;\n });\n source += \"';\\n\";\n\n // If a variable is not specified, place data values in local scope.\n if (!settings.variable) source = 'with(obj||{}){\\n' + source + '}\\n';\n\n source = \"var __t,__p='',__j=Array.prototype.join,\" +\n \"print=function(){__p+=__j.call(arguments,'');};\\n\" +\n source + 'return __p;\\n';\n\n var render;\n try {\n render = new Function(settings.variable || 'obj', '_', source);\n } catch (e) {\n e.source = source;\n throw e;\n }\n\n var template = function(data) {\n return render.call(this, data, _);\n };\n\n // Provide the compiled source as a convenience for precompilation.\n var argument = settings.variable || 'obj';\n template.source = 'function(' + argument + '){\\n' + source + '}';\n\n return template;\n };\n\n // Add a \"chain\" function. Start chaining a wrapped Underscore object.\n _.chain = function(obj) {\n var instance = _(obj);\n instance._chain = true;\n return instance;\n };\n\n // OOP\n // ---------------\n // If Underscore is called as a function, it returns a wrapped object that\n // can be used OO-style. This wrapper holds altered versions of all the\n // underscore functions. Wrapped objects may be chained.\n\n // Helper function to continue chaining intermediate results.\n var chainResult = function(instance, obj) {\n return instance._chain ? _(obj).chain() : obj;\n };\n\n // Add your own custom functions to the Underscore object.\n _.mixin = function(obj) {\n _.each(_.functions(obj), function(name) {\n var func = _[name] = obj[name];\n _.prototype[name] = function() {\n var args = [this._wrapped];\n push.apply(args, arguments);\n return chainResult(this, func.apply(_, args));\n };\n });\n return _;\n };\n\n // Add all of the Underscore functions to the wrapper object.\n _.mixin(_);\n\n // Add all mutator Array functions to the wrapper.\n _.each(['pop', 'push', 'reverse', 'shift', 'sort', 'splice', 'unshift'], function(name) {\n var method = ArrayProto[name];\n _.prototype[name] = function() {\n var obj = this._wrapped;\n method.apply(obj, arguments);\n if ((name === 'shift' || name === 'splice') && obj.length === 0) delete obj[0];\n return chainResult(this, obj);\n };\n });\n\n // Add all accessor Array functions to the wrapper.\n _.each(['concat', 'join', 'slice'], function(name) {\n var method = ArrayProto[name];\n _.prototype[name] = function() {\n return chainResult(this, method.apply(this._wrapped, arguments));\n };\n });\n\n // Extracts the result from a wrapped and chained object.\n _.prototype.value = function() {\n return this._wrapped;\n };\n\n // Provide unwrapping proxy for some methods used in engine operations\n // such as arithmetic and JSON stringification.\n _.prototype.valueOf = _.prototype.toJSON = _.prototype.value;\n\n _.prototype.toString = function() {\n return String(this._wrapped);\n };\n\n // AMD registration happens at the end for compatibility with AMD loaders\n // that may not enforce next-turn semantics on modules. Even though general\n // practice for AMD registration is to be anonymous, underscore registers\n // as a named module because, like jQuery, it is a base library that is\n // popular enough to be bundled in a third party lib, but not be part of\n // an AMD load request. Those cases could generate an error when an\n // anonymous define() is called outside of a loader request.\n if (typeof define == 'function' && define.amd) {\n define('underscore', [], function() {\n return _;\n });\n }\n}());\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/backbone/node_modules/underscore/underscore.js\n// module id = 493\n// module chunks = 0","module.exports = {\"signout\":\"Sign Out\",\"signin\":\"Sign In\",\"remember\":\"Remember me\",\"rememberDevice\":\"Trust this device\",\"rememberDevice.timebased\":\"Do not challenge me on this device for the next {0}\",\"rememberDevice.devicebased\":\"Do not challenge me on this device again\",\"autoPush\":\"Send push automatically\",\"unlockaccount\":\"Unlock account?\",\"needhelp\":\"Need help signing in?\",\"goback\":\"Back to Sign In\",\"forgotpassword\":\"Forgot password?\",\"help\":\"Help\",\"retry\":\"Retry\",\"iphone\":\"iPhone\",\"android\":\"Android\",\"minutes.oneMinute\":\"minute\",\"minutes\":\"{0} minutes\",\"hours\":\"{0} hours\",\"days\":\"{0} days\",\"error.config\":\"There was a configuration error\",\"error.required.authParams\":\"Missing parameters for the configured authentication scheme - \\\"OAUTH2\\\"\",\"error.required.baseUrl\":\"\\\"baseUrl\\\" is a required widget parameter\",\"error.required.success\":\"A success handler is required\",\"error.required.el\":\"\\\"el\\\" is a required widget parameter\",\"error.invalid.colors.brand\":\"\\\"colors.brand\\\" must be in six-digit hex format\",\"error.unsupported.browser\":\"Unsupported browser\",\"error.unsupported.cors\":\"Unsupported browser - missing CORS support\",\"error.unsupported.localStorage\":\"Unsupported browser - missing localStorage support\",\"error.enabled.cors\":\"There was an error sending the request - have you enabled CORS?\",\"error.expired.session\":\"Your session has expired. Please try to log in again.\",\"error.auth.lockedOut\":\"Your account is locked. Please contact your administrator.\",\"error.oauth.idToken\":\"There was a problem generating the id_token for the user. Please try again.\",\"error.network.connection\":\"Unable to connect to the server. Please check your network connection.\",\"error.username.required\":\"Please enter a username\",\"error.password.required\":\"Please enter a password\",\"errors.E0000004\":\"Unable to sign in\",\"errors.E0000069\":\"Your account is locked because of too many authentication attempts.\",\"errors.E0000047\":\"You exceeded the maximum number of requests. Try again in a while.\",\"errors.E0000079\":\"The operation is not allowed. Please refresh the page to proceed.\",\"errors.E0000001\":\"Api validation failed: {0}\",\"errors.E0000002\":\"The request was not valid: {0}\",\"errors.E0000003\":\"The request body was not well-formed.\",\"errors.E0000005\":\"Invalid session\",\"errors.E0000006\":\"You do not have permission to perform the requested action\",\"errors.E0000007\":\"Not found: {0}\",\"errors.E0000008\":\"The requested path was not found\",\"errors.E0000009\":\"Internal Server Error\",\"errors.E0000010\":\"Service is in read only mode\",\"errors.E0000011\":\"Invalid token provided\",\"errors.E0000012\":\"Unsupported media type\",\"errors.E0000013\":\"Invalid client app id\",\"errors.E0000015\":\"You do not have permission to access the feature you are requesting\",\"errors.E0000016\":\"Activation failed because the user is already active\",\"errors.E0000017\":\"Password reset failed\",\"errors.E0000018\":\"Bad request. Accept and/or Content-Type headers are likely not set.\",\"errors.E0000019\":\"Bad request. Accept and/or Content-Type headers likely do not match supported values.\",\"errors.E0000020\":\"Bad request.\",\"errors.E0000021\":\"Bad request. Accept and/or Content-Type headers likely do not match supported values.\",\"errors.E0000022\":\"The endpoint does not support the provided HTTP method\",\"errors.E0000023\":\"Operation failed because user profile is mastered under another system\",\"errors.E0000024\":\"Bad request. This operation on app metadata is not yet supported.\",\"errors.E0000025\":\"App version assignment failed.\",\"errors.E0000026\":\"This endpoint has been deprecated.\",\"errors.E0000027\":\"Group push bad request : {0}\",\"errors.E0000028\":\"The request is missing a required parameter.\",\"errors.E0000029\":\"Invalid paging request.\",\"errors.E0000030\":\"Bad request. Invalid date. Dates must be of the form yyyy-MM-dd''T''HH:mm:ss.SSSZZ, e.g. 2013-01-01T12:00:00.000-07:00.\",\"errors.E0000031\":\"Invalid search criteria.\",\"errors.E0000032\":\"Unlock is not allowed for this user.\",\"errors.E0000033\":\"Bad request. Can't specify a search query and filter in the same request.\",\"errors.E0000034\":\"Forgot password not allowed on specified user.\",\"errors.E0000035\":\"Change password not allowed on specified user.\",\"errors.E0000036\":\"Change recovery question not allowed on specified user.\",\"errors.E0000037\":\"Type mismatch exception.\",\"errors.E0000038\":\"This operation is not allowed in the user''s current status.\",\"errors.E0000039\":\"Operation on application settings failed.\",\"errors.E0000040\":\"Application label must not be the same as an existing application label.\",\"errors.E0000041\":\"Credentials should not be set on this resource based on the scheme.\",\"errors.E0000042\":\"Setting the error page redirect URL failed.\",\"errors.E0000043\":\"Self service application assignment is not enabled.\",\"errors.E0000044\":\"Self service application assignment is not supported.\",\"errors.E0000045\":\"Field mapping bad request.\",\"errors.E0000046\":\"Deactivate application for user forbidden.\",\"errors.E0000048\":\"Entity not found exception.\",\"errors.E0000049\":\"Invalid SCIM data from SCIM implementation.\",\"errors.E0000050\":\"Invalid SCIM data from client.\",\"errors.E0000051\":\"No response from SCIM implementation.\",\"errors.E0000052\":\"Endpoint not implemented.\",\"errors.E0000053\":\"Invalid SCIM filter.\",\"errors.E0000054\":\"Invalid pagination properties.\",\"errors.E0000055\":\"Duplicate group.\",\"errors.E0000056\":\"Delete application forbidden.\",\"errors.E0000057\":\"Access to this application is denied due to a policy.\",\"errors.E0000058\":\"Access to this application requires MFA: {0}\",\"errors.E0000059\":\"The connector configuration could not be tested. Make sure that the URL, Authentication Parameters are correct and that there is an implementation available at the URL provided.\",\"errors.E0000060\":\"Unsupported operation.\",\"errors.E0000061\":\"Tab error: {0}\",\"errors.E0000062\":\"The specified user is already assigned to the application.\",\"errors.E0000063\":\"Invalid combination of parameters specified.\",\"errors.E0000064\":\"Password is expired and must be changed.\",\"errors.E0000065\":\"Internal error processing app metadata.\",\"errors.E0000066\":\"APNS is not configured, contact your admin\",\"errors.E0000067\":\"Factors Service Error.\",\"errors.E0000070\":\"Waiting for ACK\",\"errors.E0000071\":\"Unsupported OS Version: {0}\",\"errors.E0000072\":\"MIM policy settings have disallowed enrollment for this user\",\"errors.E0000073\":\"User rejected authentication\",\"errors.E0000074\":\"Factor Service Error\",\"errors.E0000075\":\"Cannot modify the {0} attribute because it has a field mapping and profile push is enabled.\",\"errors.E0000076\":\"Cannot modify the app user because it is mastered by an external app.\",\"errors.E0000077\":\"Cannot modify the {0} attribute because it is read-only.\",\"errors.E0000078\":\"Cannot modify the {0} attribute because it is immutable.\",\"errors.E0000081\":\"Cannot modify the {0} attribute because it is a reserved attribute for this application.\",\"errors.E0000082\":\"Each code can only be used once. Please wait for a new code and try again.\",\"errors.E0000083\":\"PassCode is valid but exceeded time window.\",\"errors.E0000084\":\"App evaluation error.\",\"errors.E0000085\":\"You do not have permission to access your account at this time.\",\"errors.E0000086\":\"This policy cannot be activated at this time.\",\"errors.E0000087\":\"The recovery question answer did not match our records.\",\"errors.E0000090\":\"The role specified is already assigned to the user.\",\"errors.E0000091\":\"The provided role type was not the same as required role type.\",\"errors.E0000092\":\"Access to this application requires re-authentication: {0}\",\"errors.E0000093\":\"Target count limit exceeded\",\"errors.E0000094\":\"The provided filter is unsupported.\",\"errors.E0000095\":\"Recovery not allowed for unknown user.\",\"errors.E0000096\":\"This certificate has already been uploaded with kid={0}.\",\"errors.E0000097\":\"There is no verified phone number on file.\",\"errors.E0000098\":\"This phone number is invalid.\",\"errors.E0000099\":\"Only numbers located in US and Canada are allowed. Contact your administrator if this is a problem.\",\"errors.E0000100\":\"Unable to perform search query.\",\"errors.E0000101\":\"Upload failed because of a problem with your ipa file, {0}\",\"errors.E0000102\":\"YubiKey cannot be deleted while assigned to an user. Please deactivate YubiKey using reset MFA and try again\",\"errors.E0000103\":\"Action on device already in queue or in progress\",\"errors.E0000104\":\"Device is already locked and cannot be locked again\",\"errors.E0000105\":\"You have accessed an account recovery link that has expired or been previously used.\",\"errors.E0000106\":\"Wait for token to change, then enter the new tokencode.\",\"errors.E0000107\":\"The entity is not in the expected state for the requested transition.\",\"errors.E0000109\":\"An SMS message was recently sent. Please wait 30 seconds before trying again.\",\"errors.E0000110\":\"You have accessed a link that has expired or has been previously used.\",\"errors.E0000111\":\"Cannot modify the {0} object because it is read-only.\",\"errors.E0000112\":\"Cannot update this user because they are still being activated. Please try again in a few minutes.\",\"errors.E0000113\":\"{0}.\",\"errors.E0000114\":\"A user with this login already exists in the current organization.\",\"errors.E0000115\":\"Upload failed, {0}\",\"errors.E0000116\":\"{0}\",\"errors.E0000119\":\"Your account is locked. Please contact your administrator.\",\"errors.E0000124\":\"Could not create user. To create a user and expire their password immediately, a password must be specified\",\"errors.E0000125\":\"Could not create user. To create a user and expire their password immediately, \\\"activate\\\" must be true\",\"errors.E0000133\":\"A phone call was recently made. Please wait 30 seconds before trying again.\",\"oform.next\":\"Next\",\"oform.verify\":\"Verify\",\"oform.send\":\"Send\",\"oform.back\":\"Back\",\"oform.save\":\"Save\",\"oform.cancel\":\"Cancel\",\"oform.edit\":\"Edit\",\"oform.previous\":\"Previous\",\"oform.error.icon.ariaLabel\":\"Error\",\"oform.errorbanner.title\":\"We found some errors. Please review the form and make corrections.\",\"oform.errormsg.title\":\"Please review the form to correct the following errors:\",\"oform.error.unexpected\":\"There was an unexpected internal error. Please try again.\",\"model.validation.field.blank\":\"This field cannot be left blank\",\"model.validation.field.wrong.type\":\"This field is of the wrong type\",\"model.validation.field.invalid\":\"This field has an invalid value\",\"model.validation.field.value.not.allowed\":\"This field value is not allowed\",\"model.validation.field.array.minItems\":\"This array does not have enough items\",\"model.validation.field.array.maxItems\":\"This array contains too many items\",\"model.validation.field.array.unique\":\"This array can only have unique values\",\"model.validation.field.string.minLength\":\"This field cannot be less than the minimum required characters\",\"model.validation.field.string.maxLength\":\"This field cannot exceed the maximum allowed characters\",\"model.validation.field.invalid.format.email\":\"This value is not a valid email address\",\"model.validation.field.invalid.format.uri\":\"This value is not a valid URI\",\"model.validation.field.invalid.format.ipv4\":\"This value is not a valid IPv4 address\",\"model.validation.field.invalid.format.hostname\":\"This value is not a valid hostname\",\"model.validation.field.username\":\"Please check your username\",\"factor.totpSoft.oktaVerify\":\"Okta Verify\",\"factor.totpSoft.googleAuthenticator\":\"Google Authenticator\",\"factor.totpSoft.description\":\"Enter single-use code from the mobile app.\",\"factor.totpHard.rsaSecurId\":\"RSA SecurID\",\"factor.totpHard.symantecVip\":\"Symantec VIP\",\"factor.totpHard.description\":\"Enter a single-use code from a hardware token.\",\"factor.totpHard.yubikey\":\"YubiKey\",\"factor.totpHard.yubikey.description\":\"Insert your YubiKey and tap it to get a verification code.\",\"factor.totpHard.yubikey.placeholder\":\"Click here, then tap your YubiKey\",\"factor.oktaVerifyPush\":\"Okta Verify\",\"factor.push.description\":\"Use a push notification sent to the mobile app.\",\"factor.duo\":\"Duo Security\",\"factor.duo.description\":\"Use Push Notification, SMS, or Voice call to authenticate.\",\"factor.sms\":\"SMS Authentication\",\"factor.sms.description\":\"Enter a single-use code sent to your mobile phone.\",\"factor.sms.time.warning\":\"Haven't received an SMS? To try again, click <span style=\\\"font-weight:bold\\\">Re-send code</span>.\",\"factor.call\":\"Voice Call Authentication\",\"factor.call.description\":\"Use a phone to authenticate by following voice instructions.\",\"factor.call.time.warning\":\"Haven't received a voice call? To try again, click <span style=\\\"font-weight:bold\\\">Redial</span>.\",\"factor.securityQuestion\":\"Security Question\",\"factor.securityQuestion.description\":\"Use the answer to a security question to authenticate.\",\"factor.windowsHello\":\"Windows Hello\",\"factor.windowsHello.signin.description\":\"Sign in to Okta using Windows Hello.\",\"factor.windowsHello.signin.description.generic\":\"Sign in using Windows Hello.\",\"factor.windowsHello.signin.description.specific\":\"Sign in to {0} using Windows Hello.\",\"factor.u2f\":\"Security Key (U2F)\",\"factor.u2f.description\":\"Use a Universal 2nd Factor (U2F) security key to sign on to Okta.\",\"factor.u2f.description.generic\":\"Use a Universal 2nd Factor (U2F) security key to sign in.\",\"factor.u2f.description.specific\":\"Use a Universal 2nd Factor (U2F) security key to sign in to {0}.\",\"factor.email\":\"Email Authentication\",\"factor.email.description\":\"Enter a verification code sent to your email.\",\"factor.password\":\"Password\",\"factor.customFactor.description\":\"Redirect to a third party MFA provider to sign in to Okta.\",\"factor.customFactor.description.generic\":\"Redirect to a third party MFA provider to sign in.\",\"factor.customFactor.description.specific\":\"Redirect to a third party MFA provider to sign in to {0}.\",\"factor.webauthn.biometric\":\"Security Key or Biometric Authenticator\",\"factor.webauthn.biometric.description\":\"Use a security key (USB or bluetooth) or a biometric authenticator (Windows Hello, Touch ID, etc.)\",\"factor.hotp.description\":\"Enter a single-use code from an authenticator.\",\"mfa.challenge.verify\":\"Verify\",\"mfa.challenge.answer.placeholder\":\"Answer\",\"mfa.challenge.answer.tooltip\":\"Answer\",\"mfa.challenge.answer.showAnswer\":\"Show\",\"mfa.challenge.answer.hideAnswer\":\"Hide\",\"mfa.challenge.enterCode.placeholder\":\"Enter Code\",\"mfa.challenge.enterCode.tooltip\":\"Enter Code\",\"mfa.challenge.password.placeholder\":\"Password\",\"mfa.backToFactors\":\"Back to factor list\",\"mfa.phoneNumber.placeholder\":\"Phone number\",\"mfa.phoneNumber.ext.placeholder\":\"Extension\",\"mfa.sendCode\":\"Send code\",\"mfa.sent\":\"Sent\",\"mfa.resendCode\":\"Re-send code\",\"mfa.call\":\"Call\",\"mfa.calling\":\"Calling\",\"mfa.redial\":\"Redial\",\"mfa.sendEmail\":\"Send email\",\"mfa.resendEmail\":\"Re-send email\",\"mfa.scanBarcode\":\"Scan barcode\",\"mfa.noAccessToEmail\":\"Can't access email\",\"password.reset\":\"Reset Password\",\"password.oldPassword.placeholder\":\"Old password\",\"password.oldPassword.tooltip\":\"Old password\",\"password.newPassword.placeholder\":\"New password\",\"password.newPassword.tooltip\":\"New password\",\"password.confirmPassword.placeholder\":\"Repeat password\",\"password.confirmPassword.tooltip\":\"Repeat password\",\"password.error.match\":\"New passwords must match\",\"password.enroll.error.match\":\"Passwords must match\",\"recovery.sms.hint\":\"SMS can only be used if a mobile phone number has been configured.\",\"recovery.mobile.hint\":\"{0} can only be used if a mobile phone number has been configured.\",\"recovery.sms\":\"SMS\",\"recovery.call\":\"Voice Call\",\"recovery.smsOrCall\":\"SMS or Voice Call\",\"verify.choices.description\":\"Verify with one of the following factors.\",\"email.button.send\":\"Send me the code\",\"email.button.resend\":\"Send again\",\"email.code.label\":\"Verification code\",\"email.code.not.received\":\"Haven't received an email?\",\"email.enroll.title\":\"Set up Email Authentication\",\"email.enroll.description\":\"Send a verification code to your registered email.\",\"email.mfa.title\":\"Verify with Email Authentication\",\"email.mfa.description\":\"Send a verification code to {0}.\",\"email.mfa.email.sent.description\":\"A verification code was sent to {0}. Check your email and enter the code below.\",\"enroll.choices.title\":\"Set up multifactor authentication\",\"enroll.choices.description\":\"Your company requires multifactor authentication to add an additional layer of security when signing in to your Okta account\",\"enroll.choices.description.generic\":\"Your company requires multifactor authentication to add an additional layer of security when signing in to your account\",\"enroll.choices.description.specific\":\"Your company requires multifactor authentication to add an additional layer of security when signing in to your {0} account\",\"enroll.choices.description.gracePeriod.bold\":\"Your company recommends setting up additional factors for authentication. Set up will be required in: <b>{0} day(s)</b>.\",\"enroll.choices.description.gracePeriod.oneDay.bold\":\"Your company recommends setting up additional factors for authentication. Set up will be required in: <b>less than 1 day</b>.\",\"enroll.choices.optional\":\"You can configure any additional optional factor or click finish\",\"enroll.choices.list.setup\":\"Setup required\",\"enroll.choices.list.enrolled\":\"Enrolled factors\",\"enroll.choices.list.optional\":\"Additional optional factors\",\"enroll.choices.setup\":\"Setup\",\"enroll.choices.setup.another\":\"Set up another\",\"enroll.choices.submit.finish\":\"Finish\",\"enroll.choices.submit.configure\":\"Configure factor\",\"enroll.choices.submit.next\":\"Configure next factor\",\"enroll.choices.cardinality.setup\":\"({0} set up)\",\"enroll.choices.cardinality.setup.remaining\":\"({0} of {1} set up)\",\"enroll.choices.setup.skip\":\"Skip set up\",\"enroll.securityQuestion.setup\":\"Setup secret question authentication\",\"security.disliked_food\":\"What is the food you least liked as a child?\",\"security.name_of_first_plush_toy\":\"What is the name of your first stuffed animal?\",\"security.first_award\":\"What did you earn your first medal or award for?\",\"security.favorite_security_question\":\"What is your favorite security question?\",\"security.favorite_toy\":\"What is the toy/stuffed animal you liked the most as a kid?\",\"security.first_computer_game\":\"What was the first computer game you played?\",\"security.favorite_movie_quote\":\"What is your favorite movie quote?\",\"security.first_sports_team_mascot\":\"What was the mascot of the first sports team you played on?\",\"security.first_music_purchase\":\"What music album or song did you first purchase?\",\"security.favorite_art_piece\":\"What is your favorite piece of art?\",\"security.grandmother_favorite_desert\":\"What was your grandmother's favorite dessert?\",\"security.first_thing_cooked\":\"What was the first thing you learned to cook?\",\"security.childhood_dream_job\":\"What was your dream job as a child?\",\"security.first_kiss_location\":\"Where did you have your first kiss?\",\"security.place_where_significant_other_was_met\":\"Where did you meet your spouse/significant other?\",\"security.favorite_vacation_location\":\"Where did you go for your favorite vacation?\",\"security.new_years_two_thousand\":\"Where were you on New Year's Eve in the year 2000?\",\"security.favorite_speaker_actor\":\"Who is your favorite speaker/orator?\",\"security.favorite_book_movie_character\":\"Who is your favorite book/movie character?\",\"security.favorite_sports_player\":\"Who is your favorite sports player?\",\"enroll.password.setup\":\"Select a password\",\"save.password\":\"Save password\",\"enroll.sms.setup\":\"Receive a code via SMS to authenticate\",\"enroll.sms.try_again\":\"The number you entered seems invalid. If the number is correct, please try again.\",\"enroll.call.setup\":\"Follow phone call instructions to authenticate\",\"enroll.onprem.username.placeholder\":\"Enter {0} username\",\"enroll.onprem.username.tooltip\":\"Enter {0} username\",\"enroll.onprem.passcode.placeholder\":\"Enter {0} passcode\",\"enroll.onprem.passcode.tooltip\":\"Enter {0} passcode\",\"enroll.symantecVip.subtitle\":\"Enter Credential ID and two consecutive generated codes\",\"enroll.symantecVip.credentialId.placeholder\":\"Enter credential ID\",\"enroll.symantecVip.credentialId.tooltip\":\"Enter credential ID\",\"enroll.symantecVip.passcode1.placeholder\":\"Security code 1\",\"enroll.symantecVip.passcode1.tooltip\":\"Security code 1\",\"enroll.symantecVip.passcode2.placeholder\":\"Security code 2\",\"enroll.symantecVip.passcode2.tooltip\":\"Security code 2\",\"enroll.yubikey.title\":\"Setup YubiKey\",\"enroll.yubikey.subtitle\":\"Insert your YubiKey into a USB port and tap it to generate a verification code\",\"enroll.totp.title\":\"Setup {0}\",\"enroll.totp.selectDevice\":\"Select your device type\",\"enroll.totp.downloadApp\":\"Download <a href=\\\"{0}\\\" class=\\\"inline-link\\\">{1} from the {2}</a> onto your mobile device.\",\"enroll.hotp.restricted\":\"Contact your administrator to continue enrollment.\",\"enroll.duo.title\":\"Setup Duo Security\",\"enroll.windowsHello.title\":\"Enroll Windows Hello\",\"enroll.windowsHello.subtitle\":\"Click below to enroll Windows Hello as a second form of authentication\",\"enroll.windowsHello.subtitle.loading\":\"Please wait while Windows Hello is loading...\",\"enroll.windowsHello.save\":\"Enroll Windows Hello\",\"enroll.windowsHello.error.notWindows\":\"Windows Hello can only be used on Windows Edge with Windows 10. Contact your admin for assistance.\",\"enroll.windowsHello.error.notConfiguredHtml\":\"Windows Hello is not configured. Select the <b>Start</b> button, then select <b>Settings</b> - <b>Accounts</b> - <b>Sign-in</b> to configure Windows Hello.\",\"verify.windowsHello.subtitle\":\"Verify your identity with Windows Hello\",\"verify.windowsHello.subtitle.loading\":\"Please wait while Windows Hello is loading...\",\"verify.windowsHello.subtitle.signingIn\":\"Signing in to Okta...\",\"verify.windowsHello.subtitle.signingIn.generic\":\"Signing in...\",\"verify.windowsHello.subtitle.signingIn.specific\":\"Signing in to {0}...\",\"verify.windowsHello.save\":\"Verify with Windows Hello\",\"verify.windowsHello.error.notFound\":\"Your Windows Hello enrollment does not match our records. Contact your administrator for assistance.\",\"verify.windowsHello.error.notFound.selectAnother\":\"Your Windows Hello enrollment does not match our records. Select another factor or contact your administrator for assistance.\",\"enroll.u2f.title\":\"Setup Security Key (U2F)\",\"enroll.u2f.save\":\"Register Security Key\",\"enroll.u2f.general2\":\"Make sure you have a Security Key. If already inserted, remove it now.<br>If you have a Bluetooth Security Key, turn on your computer's Bluetooth.\",\"enroll.u2f.general3\":\"Click the button below to register\",\"enroll.u2f.instructions\":\"Insert your Security Key into a USB port on this computer. If it has a button or gold disk, tap it.\",\"enroll.u2f.instructionsBluetooth\":\"If you are using a Bluetooth Security Key, press the button.\",\"u2f.error.factorNotSupported\":\"Security Key (U2F) is not supported on this browser. Select another factor or contact your admin for assistance.\",\"u2f.error.factorNotSupported.oneFactor\":\"Security Key (U2F) is not supported on this browser. Contact your admin for assistance.\",\"u2f.error.other\":\"An unknown error has occured. Try again or select another factor.\",\"u2f.error.other.oneFactor\":\"An unknown error has occured. Try again or contact your admin for assistance.\",\"u2f.error.badRequest\":\"There was an error with the U2F request. Try again or select another factor.\",\"u2f.error.badRequest.oneFactor\":\"There was an error with the U2F request. Try again or contact your admin for assistance.\",\"u2f.error.unsupported\":\"The security key is unsupported. Select another factor.\",\"u2f.error.unsupported.oneFactor\":\"The security key is unsupported. Contact your admin for assistance.\",\"u2f.error.timeout\":\"You have timed out of the authentication period. Please try again.\",\"verify.u2f.instructions\":\"Insert your Security Key. If it has a button or gold disk, tap it.\",\"verify.u2f.instructionsBluetooth\":\"If you are using a Bluetooth Security Key, turn on your computer's Bluetooth and press the button.\",\"verify.u2f.retry\":\"Retry\",\"enroll.customFactor.subtitle\":\"Clicking below will redirect to MFA enrollment with {0}\",\"enroll.customFactor.save\":\"Enroll\",\"verify.customFactor.subtitle\":\"Clicking below will redirect to verification with {0}\",\"enroll.webauthn.biometric.title\":\"Set up security key or biometric authenticator\",\"enroll.webauthn.save\":\"Enroll\",\"enroll.webauthn.biometric.instructions\":\"Your browser will prompt to register a security key or biometric authenticator (Windows Hello, Touch ID, etc.). Follow the instructions to complete enrollment.\",\"enroll.webauthn.biometric.instructions.edge\":\"Note: If you are enrolling a security key and Windows Hello or PIN is enabled, you will need to select '<b>Cancel</b>' in the prompt before continuing.\",\"verify.webauthn.biometric.instructions\":\"Your browser or device will prompt you to verify with a security key or biometric authenticator. Follow the instructions to complete authentication.\",\"webauthn.biometric.error.factorNotSupported\":\"Security key or biometric authenticator is not supported on this browser. Select another factor or contact your admin for assistance.\",\"webauthn.biometric.error.factorNotSupported.oneFactor\":\"Security key or biometric authenticator is not supported on this browser. Contact your admin for assistance.\",\"enroll.webauthn.instructions.noSupportForBiometric\":\"Note: Some browsers may not support biometric authenticators.\",\"enroll.totp.enterCode\":\"Enter code displayed from the application\",\"enroll.totp.setupApp\":\"Launch {0} application on your mobile device and select Add an account.\",\"enroll.totp.setupGoogleAuthApp\":\"Launch {0}, tap the \\\"+\\\" icon, then select \\\"Scan barcode\\\".\",\"enroll.totp.cannotScan\":\"Can't scan?\",\"enroll.totp.refreshBarcode\":\"Refresh code\",\"enroll.totp.cannotScanBarcode\":\"Can't scan barcode?\",\"enroll.totp.manualSetupInstructions\":\"To set up manually enter your Okta Account username and then input the following in the Secret Key Field\",\"enroll.totp.manualSetupInstructions.generic\":\"To set up manually enter your Account username and then input the following in the Secret Key Field\",\"enroll.totp.manualSetupInstructions.specific\":\"To set up manually enter your {0} Account username and then input the following in the Secret Key Field\",\"enroll.totp.sharedSecretInstructions\":\"Enter your Okta Account username and enter the following in the Secret Key Field\",\"enroll.totp.sharedSecretInstructions.generic\":\"Enter your Account username and enter the following in the Secret Key Field\",\"enroll.totp.sharedSecretInstructions.specific\":\"Enter your {0} Account username and enter the following in the Secret Key Field\",\"enroll.totp.sendSms\":\"Send activation link via SMS\",\"enroll.totp.sendEmail\":\"Send activation link via email\",\"enroll.totp.setupManually\":\"Setup manually without push notification\",\"enroll.totp.enrollViaEmail.title\":\"Activation email sent!\",\"enroll.totp.enrollViaEmail.msg\":\"Open the email from your mobile device.\",\"enroll.totp.enrollViaSms.title\":\"SMS sent!\",\"enroll.totp.enrollViaSms.msg\":\"View the SMS on your mobile device.\",\"recoveryChallenge.sms.title\":\"Enter verification code sent via SMS\",\"recoveryChallenge.call.title\":\"Enter verification code received via Voice Call\",\"mfa.factors.dropdown.title\":\"Select an authentication factor\",\"mfa.factors.dropdown.sr.text\":\"Select Authentication Factor - {0} Factor Selected\",\"mfa.duoSecurity.push\":\"Push — {0}\",\"mfa.duoSecurity.sms\":\"SMS — {0}\",\"mfa.duoSecurity.call\":\"Call — {0}\",\"mfa.challenge.title\":\"Enter your {0} passcode\",\"mfa.challenge.orEnterCode\":\"Or enter code\",\"mfa.challenge.totp.subtitle.multiple\":\"Enter code from any registered {0} device.\",\"mfa.emailVerification.checkEmail\":\"To finish signing in, click the link in your email.\",\"mfa.emailVerification.title\":\"Sign in using a link sent to your email.\",\"mfa.emailVerification.subtitle\":\"Emails will be sent to {0}\",\"mfa.emailVerification.otc.finish\":\"To finish signing in, enter the code which was emailed to you.\",\"oktaverify.send\":\"Send Push\",\"oktaverify.resend\":\"Re-send Push\",\"oktaverify.sent\":\"Push sent!\",\"oktaverify.rejected\":\"You have chosen to reject this login.\",\"oktaverify.timeout\":\"Your push notification has expired.\",\"oktaverify.warning\":\"Haven't received a push notification yet? Try opening the Okta Verify App on your phone.\",\"oktaverify.numberchallenge.instruction\":\"On your phone, tap <span class=\\\"challenge-number\\\">{0}</span> on Okta Verify prompt to continue.\",\"oktaverify.numberchallenge.explain\":\"This extra step helps us make sure it's really you signing in.\",\"primaryauth.title\":\"Sign In\",\"primaryauth.username.placeholder\":\"Username\",\"primaryauth.username.tooltip\":\"Username\",\"primaryauth.password.placeholder\":\"Password\",\"primaryauth.password.tooltip\":\"Password\",\"primaryauth.submit\":\"Sign In\",\"primaryauth.newUser.tooltip\":\"This is the first time you are connecting to {0} from this browser\",\"primaryauth.newUser.tooltip.close\":\"Close\",\"idpDiscovery.email.placeholder\":\"Email\",\"password.forgot.email.or.username.placeholder\":\"Email or Username\",\"password.forgot.email.or.username.tooltip\":\"Email or Username\",\"password.forgot.sendText\":\"Reset via SMS\",\"password.forgot.sendEmail\":\"Reset via Email\",\"password.forgot.call\":\"Reset via Voice Call\",\"password.forgot.emailSent.title\":\"Email sent!\",\"password.forgot.emailSent.desc\":\"Email has been sent to {0} with instructions on resetting your password.\",\"password.forgot.question.title\":\"Answer Forgotten Password Challenge\",\"password.forgot.question.submit\":\"Reset Password\",\"password.forgot.code.notReceived\":\"Didn't receive a code? Reset via email\",\"password.forgot.noFactorsEnabled\":\"No password reset options available. Please contact your administrator.\",\"password.reset.title\":\"Reset your Okta password\",\"password.reset.title.generic\":\"Reset your password\",\"password.reset.title.specific\":\"Reset your {0} password\",\"password.complexity.requirements\":\"Password requirements: {0}.\",\"password.complexity.history\":\"Your password cannot be any of your last {0} passwords.\",\"password.complexity.minAgeMinutes\":\"At least {0} minute(s) must have elapsed since you last changed your password.\",\"password.complexity.minAgeHours\":\"At least {0} hour(s) must have elapsed since you last changed your password.\",\"password.complexity.minAgeDays\":\"At least {0} day(s) must have elapsed since you last changed your password.\",\"password.reset.verification\":\"Verify with one of the following factors to reset your password.\",\"password.complexity.length\":\"at least {0} characters\",\"password.complexity.list.element\":\", {0}\",\"password.complexity.lowercase\":\"a lowercase letter\",\"password.complexity.uppercase\":\"an uppercase letter\",\"password.complexity.number\":\"a number\",\"password.complexity.symbol\":\"a symbol\",\"password.complexity.no_username\":\"no parts of your username\",\"password.complexity.no_first_name\":\"does not include your first name\",\"password.complexity.no_last_name\":\"does not include your last name\",\"password.expired.submit\":\"Change Password\",\"password.expired.title\":\"Your Okta password has expired\",\"password.expired.title.generic\":\"Your password has expired\",\"password.expired.title.specific\":\"Your {0} password has expired\",\"password.expiring.later\":\"Remind me later\",\"password.expiring.title\":\"Your password will expire in {0} days\",\"password.expiring.today\":\"Your password will expire later today\",\"password.expiring.soon\":\"Your password is expiring soon\",\"password.expiring.subtitle\":\"When password expires you may be locked out of Okta Mobile, mobile email, and other services.\",\"password.expiring.subtitle.generic\":\"When password expires you will be locked out of your account.\",\"password.expiring.subtitle.specific\":\"When password expires you will be locked out of your {0} account.\",\"password.expired.custom.submit\":\"Go to {0}\",\"password.expired.custom.subtitle\":\"This password is set on another website. Click the button below to go there and set a new password.\",\"account.unlock.title\":\"Unlock account\",\"account.unlock.email.or.username.placeholder\":\"Email or username\",\"account.unlock.email.or.username.tooltip\":\"Email or username\",\"account.unlock.sendText\":\"Send SMS\",\"account.unlock.voiceCall\":\"Voice Call\",\"account.unlock.sendEmail\":\"Send Email\",\"account.unlock.emailSent.title\":\"Email sent!\",\"account.unlock.emailSent.desc\":\"Email has been sent to {0} with instructions on unlocking your account.\",\"account.unlock.question.title\":\"Answer Unlock Account Challenge\",\"account.unlock.question.submit\":\"Unlock Account\",\"account.unlock.unlocked.title\":\"Account successfully unlocked!\",\"account.unlock.unlocked.desc\":\"You can log in using your existing username and password.\",\"account.unlock.code.notReceived\":\"Didn't receive a code? Unlock via email\",\"account.unlock.noFactorsEnabled\":\"No unlock options available. Please contact your administrator.\",\"contact.support\":\"If you didn't provide a secondary email address or don't have access to email, please contact your administrator at {0}\",\"socialauth.divider.text\":\"OR\",\"socialauth.facebook.label\":\"Sign in with Facebook\",\"socialauth.google.label\":\"Sign in with Google\",\"socialauth.linkedin.label\":\"Sign in with LinkedIn\",\"socialauth.microsoft.label\":\"Sign in with Microsoft\",\"socialauth.popup.title\":\"External Identity Provider User Authentication\",\"authbutton.divider.text\":\"or\",\"registration.signup.label\":\"Don't have an account?\",\"registration.signup.text\":\"Sign up\",\"registration.complete.title\":\"Verification email sent\",\"registration.complete.confirm.text\":\"To finish signing in, check your email.\",\"registration.form.title\":\"Create Account\",\"registration.form.submit\":\"Register\",\"registration.passwordComplexity.minLength\":\"At least {0} character(s)\",\"registration.passwordComplexity.minLower\":\"At least {0} lowercase letter(s)\",\"registration.passwordComplexity.minUpper\":\"At least {0} uppercase letter(s)\",\"registration.passwordComplexity.minNumber\":\"At least {0} number(s)\",\"registration.passwordComplexity.minSymbol\":\"At least {0} symbol(s)\",\"registration.passwordComplexity.excludeUsername\":\"Does not contain part of username\",\"registration.passwordComplexity.excludeAttribute\":\"Does not contain '{0}'\",\"registration.required.fields.label\":\"* indicates required field\",\"registration.default.callbackhook.error\":\"We could not process your registration at this time. Please try again later.\",\"registration.error.userName.invalidEmail\":\"Invalid email address\",\"registration.error.password.passwordRequirementsNotMet\":\"Password requirements were not met\",\"registration.error.userName.notUniqueWithinOrg\":\"An account with that email already exists\",\"piv.card\":\"PIV Card\",\"piv.card.insert\":\"Please insert your PIV card and select the user certificate.\",\"piv.card.error\":\"Certificate authentication failed. Contact your admin.\",\"piv.card.error.empty\":\"No certificate selected. Choose a certificate and try again.\",\"piv.card.error.invalid\":\"Certificate validation failed. Choose another certificate and try again.\",\"piv.cac.card\":\"Sign in with PIV / CAC card\",\"piv.cac.title\":\"PIV / CAC card\",\"piv.cac.card.insert\":\"Please insert your PIV / CAC card and select the user certificate.\",\"piv.cac.error\":\"There was an error signing in. Click the button below to try again.\",\"unsupported.oneDrive.title\":\"Your OneDrive version is not supported\",\"unsupported.oneDrive.desc\":\"Upgrade now by installing the OneDrive for Business Next Generation Sync Client to login to Okta\",\"unsupported.oneDrive.action\":\"Learn how to upgrade\",\"unsupported.cookies.title\":\"Cookies are required\",\"unsupported.cookies.desc\":\"Cookies are disabled on your browser. Please enable Cookies and refresh this page.\",\"unsupported.cookies.action\":\"Refresh\",\"deviceTrust.sso.text\":\"Sign in to access company resources\",\"deviceTrust.sso.subtitle.2\":\"Your company uses Okta Mobile to get you approved to access this app.\",\"deviceTrust.sso.button\":\"Sign in with Okta Mobile\",\"deviceTrust.sso.expire.title\":\"Oops let's get you back on track\",\"deviceTrust.sso.expire.subtitle\":\"Unfortunately the steps required to sign in took longer than expected and your attempt timed out.\",\"deviceTrust.sso.expire.button\":\"Sign in using Okta Mobile\",\"deviceTrust.universalLink.fallback.getOktaMobile.title\":\"Get Okta Mobile\",\"deviceTrust.universalLink.fallback.getOktaMobile.subtitle\":\"Go to the {0}AppStore{1}, {0}search{1} for {0}Okta Mobile{1} and tap on {0}GET{1} Okta Mobile. Once installed, sign in to Okta Mobile and follow the instructions to secure your device.\",\"signin.with.fastpass\":\"Signing in using Okta FastPass\",\"customUri.title\":\"Verify account access\",\"customUri.subtitle\":\"Launching Okta Verify...\",\"customUri.content\":\"<div class=\\\"skinny-content\\\"> If nothing prompts from the browser, <a href=\\\"#\\\" id=\\\"launch-ov\\\" class=\\\"link\\\">click here</a> to launch Okta Verify, or make sure Okta Verify is installed.</div>\",\"universalLink.title\":\"Verify your sign in\",\"universalLink.content\":\"To continue, you'll need to use the <span class=\\\"highlight-text\\\">Okta Verify</span> app to confirm your sign in.\",\"universalLink.button\":\"Sign in with Okta Verify\",\"consent.required.text\":\"<b>{0}</b> would like to:\",\"consent.required.description\":\"By clicking Allow Access, you allow the actions listed above.\",\"consent.required.termsOfService\":\"Terms of Service\",\"consent.required.privacyPolicy\":\"Privacy Policy\",\"consent.required.consentButton\":\"Allow Access\",\"consent.required.cancelButton\":\"Don't Allow\",\"polling.title\":\"There are too many users trying to sign in right now. We will automatically retry in {0} seconds.\",\"cert.authentication.title\":\"Certificate authentication\"}\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./packages/@okta/i18n/src/json/login.json\n// module id = 494\n// module chunks = 0","module.exports = {\"AF\":\"Afghanistan\",\"AX\":\"Ã…land Islands\",\"AL\":\"Albania\",\"DZ\":\"Algeria\",\"AS\":\"American Samoa\",\"AD\":\"Andorra\",\"AO\":\"Angola\",\"AI\":\"Anguilla\",\"AQ\":\"Antarctica\",\"AG\":\"Antigua and Barbuda\",\"AR\":\"Argentina\",\"AM\":\"Armenia\",\"AW\":\"Aruba\",\"AU\":\"Australia\",\"AT\":\"Austria\",\"AZ\":\"Azerbaijan\",\"BS\":\"Bahamas\",\"BH\":\"Bahrain\",\"BD\":\"Bangladesh\",\"BB\":\"Barbados\",\"BY\":\"Belarus\",\"BE\":\"Belgium\",\"BZ\":\"Belize\",\"BJ\":\"Benin\",\"BM\":\"Bermuda\",\"BT\":\"Bhutan\",\"BO\":\"Bolivia, Plurinational State of\",\"BA\":\"Bosnia and Herzegovina\",\"BW\":\"Botswana\",\"BV\":\"Bouvet Island\",\"BR\":\"Brazil\",\"IO\":\"British Indian Ocean Territory\",\"VG\":\"Virgin Islands, British\",\"BN\":\"Brunei Darussalam\",\"BG\":\"Bulgaria\",\"BF\":\"Burkina Faso\",\"BI\":\"Burundi\",\"KH\":\"Cambodia\",\"CM\":\"Cameroon\",\"CA\":\"Canada\",\"CV\":\"Cape Verde\",\"KY\":\"Cayman Islands\",\"CF\":\"Central African Republic\",\"TD\":\"Chad\",\"CL\":\"Chile\",\"CN\":\"China\",\"CX\":\"Christmas Island\",\"CO\":\"Colombia\",\"KM\":\"Comoros\",\"CG\":\"Congo\",\"CK\":\"Cook Islands\",\"CR\":\"Costa Rica\",\"CI\":\"Côte d'Ivoire\",\"HR\":\"Croatia\",\"CU\":\"Cuba\",\"CY\":\"Cyprus\",\"CZ\":\"Czech Republic\",\"CD\":\"Congo, the Democratic Republic of the\",\"DK\":\"Denmark\",\"DJ\":\"Djibouti\",\"DM\":\"Dominica\",\"DO\":\"Dominican Republic\",\"TL\":\"Timor-Leste\",\"EC\":\"Ecuador\",\"EG\":\"Egypt\",\"SV\":\"El Salvador\",\"GQ\":\"Equatorial Guinea\",\"ER\":\"Eritrea\",\"EE\":\"Estonia\",\"ET\":\"Ethiopia\",\"FK\":\"Falkland Islands (Malvinas)\",\"FO\":\"Faroe Islands\",\"FJ\":\"Fiji\",\"FI\":\"Finland\",\"FR\":\"France\",\"GF\":\"French Guiana\",\"PF\":\"French Polynesia\",\"TF\":\"French Southern Territories\",\"GA\":\"Gabon\",\"GM\":\"Gambia\",\"GE\":\"Georgia\",\"DE\":\"Germany\",\"GH\":\"Ghana\",\"GI\":\"Gibraltar\",\"GR\":\"Greece\",\"GL\":\"Greenland\",\"GD\":\"Grenada\",\"GP\":\"Guadeloupe\",\"GU\":\"Guam\",\"GT\":\"Guatemala\",\"GG\":\"Guernsey\",\"GN\":\"Guinea\",\"GW\":\"Guinea-Bissau\",\"GY\":\"Guyana\",\"HT\":\"Haiti\",\"HM\":\"Heard Island and McDonald Islands\",\"HN\":\"Honduras\",\"HK\":\"Hong Kong\",\"HU\":\"Hungary\",\"IS\":\"Iceland\",\"IN\":\"India\",\"ID\":\"Indonesia\",\"IR\":\"Iran, Islamic Republic of\",\"IQ\":\"Iraq\",\"IE\":\"Ireland\",\"IL\":\"Israel\",\"IT\":\"Italy\",\"JM\":\"Jamaica\",\"JP\":\"Japan\",\"JE\":\"Jersey\",\"JO\":\"Jordan\",\"KZ\":\"Kazakhstan\",\"KE\":\"Kenya\",\"KI\":\"Kiribati\",\"KR\":\"Korea, Republic of\",\"XK\":\"Kosovo, Republic of\",\"KW\":\"Kuwait\",\"KG\":\"Kyrgyzstan\",\"LA\":\"Lao People's Democratic Republic\",\"LV\":\"Latvia\",\"LB\":\"Lebanon\",\"LS\":\"Lesotho\",\"LR\":\"Liberia\",\"LY\":\"Libya\",\"LI\":\"Liechtenstein\",\"LT\":\"Lithuania\",\"LU\":\"Luxembourg\",\"MO\":\"Macao\",\"MK\":\"Macedonia, the former Yugoslav Republic of\",\"MG\":\"Madagascar\",\"MW\":\"Malawi\",\"MY\":\"Malaysia\",\"MV\":\"Maldives\",\"ML\":\"Mali\",\"MT\":\"Malta\",\"MH\":\"Marshall Islands\",\"MQ\":\"Martinique\",\"MR\":\"Mauritania\",\"MU\":\"Mauritius\",\"YT\":\"Mayotte\",\"MX\":\"Mexico\",\"FM\":\"Micronesia, Federated States of\",\"MD\":\"Moldova, Republic of\",\"MC\":\"Monaco\",\"MN\":\"Mongolia\",\"ME\":\"Montenegro\",\"MS\":\"Montserrat\",\"MA\":\"Morocco\",\"MZ\":\"Mozambique\",\"MM\":\"Myanmar\",\"NA\":\"Namibia\",\"NR\":\"Nauru\",\"NP\":\"Nepal\",\"NL\":\"Netherlands\",\"AN\":\"Netherlands Antilles\",\"NC\":\"New Caledonia\",\"NZ\":\"New Zealand\",\"NI\":\"Nicaragua\",\"NE\":\"Niger\",\"NG\":\"Nigeria\",\"NU\":\"Niue\",\"NF\":\"Norfolk Island\",\"KP\":\"Korea, Democratic People's Republic of\",\"MP\":\"Northern Mariana Islands\",\"NO\":\"Norway\",\"OM\":\"Oman\",\"PK\":\"Pakistan\",\"PW\":\"Palau\",\"PS\":\"Palestine, State of\",\"PA\":\"Panama\",\"PG\":\"Papua New Guinea\",\"PY\":\"Paraguay\",\"PE\":\"Peru\",\"PH\":\"Philippines\",\"PN\":\"Pitcairn\",\"PL\":\"Poland\",\"PT\":\"Portugal\",\"PR\":\"Puerto Rico\",\"QA\":\"Qatar\",\"RE\":\"Réunion\",\"RO\":\"Romania\",\"RU\":\"Russian Federation\",\"RW\":\"Rwanda\",\"SH\":\"Saint Helena, Ascension and Tristan da Cunha\",\"KN\":\"Saint Kitts and Nevis\",\"LC\":\"Saint Lucia\",\"PM\":\"Saint Pierre and Miquelon\",\"VC\":\"Saint Vincent and the Grenadines\",\"WS\":\"Samoa\",\"SM\":\"San Marino\",\"ST\":\"São Tomé and PrÃncipe\",\"SA\":\"Saudi Arabia\",\"SN\":\"Senegal\",\"RS\":\"Serbia\",\"SC\":\"Seychelles\",\"SL\":\"Sierra Leone\",\"SG\":\"Singapore\",\"SK\":\"Slovakia\",\"SI\":\"Slovenia\",\"SB\":\"Solomon Islands\",\"SO\":\"Somalia\",\"ZA\":\"South Africa\",\"GS\":\"South Georgia and the South Sandwich Islands\",\"SS\":\"South Sudan\",\"ES\":\"Spain\",\"LK\":\"Sri Lanka\",\"SD\":\"Sudan\",\"SR\":\"Suriname\",\"SJ\":\"Svalbard and Jan Mayen\",\"SZ\":\"Swaziland\",\"SE\":\"Sweden\",\"CH\":\"Switzerland\",\"SY\":\"Syrian Arab Republic\",\"TW\":\"Taiwan\",\"TJ\":\"Tajikistan\",\"TZ\":\"Tanzania, United Republic of\",\"TH\":\"Thailand\",\"TG\":\"Togo\",\"TK\":\"Tokelau\",\"TO\":\"Tonga\",\"TT\":\"Trinidad and Tobago\",\"TN\":\"Tunisia\",\"TR\":\"Turkey\",\"TM\":\"Turkmenistan\",\"TC\":\"Turks and Caicos Islands\",\"TV\":\"Tuvalu\",\"VI\":\"Virgin Islands, U.S.\",\"UG\":\"Uganda\",\"UA\":\"Ukraine\",\"AE\":\"United Arab Emirates\",\"GB\":\"United Kingdom\",\"US\":\"United States\",\"UM\":\"United States Minor Outlying Islands\",\"UY\":\"Uruguay\",\"UZ\":\"Uzbekistan\",\"VU\":\"Vanuatu\",\"VA\":\"Holy See (Vatican City State)\",\"VE\":\"Venezuela, Bolivarian Republic of\",\"VN\":\"Viet Nam\",\"WF\":\"Wallis and Futuna\",\"EH\":\"Western Sahara\",\"YE\":\"Yemen\",\"ZM\":\"Zambia\",\"ZW\":\"Zimbabwe\"}\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./packages/@okta/i18n/src/json/country.json\n// module id = 495\n// module chunks = 0","!function(t,r){\"object\"==typeof exports&&\"object\"==typeof module?module.exports=r():\"function\"==typeof define&&define.amd?define([],r):\"object\"==typeof exports?exports.idx=r():t.idx=r()}(window,(function(){return function(t){var r={};function n(e){if(r[e])return r[e].exports;var o=r[e]={i:e,l:!1,exports:{}};return t[e].call(o.exports,o,o.exports,n),o.l=!0,o.exports}return n.m=t,n.c=r,n.d=function(t,r,e){n.o(t,r)||Object.defineProperty(t,r,{enumerable:!0,get:e})},n.r=function(t){\"undefined\"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:\"Module\"}),Object.defineProperty(t,\"__esModule\",{value:!0})},n.t=function(t,r){if(1&r&&(t=n(t)),8&r)return t;if(4&r&&\"object\"==typeof t&&t&&t.__esModule)return t;var e=Object.create(null);if(n.r(e),Object.defineProperty(e,\"default\",{enumerable:!0,value:t}),2&r&&\"string\"!=typeof t)for(var o in t)n.d(e,o,function(r){return t[r]}.bind(null,o));return e},n.n=function(t){var r=t&&t.__esModule?function(){return t.default}:function(){return t};return n.d(r,\"a\",r),r},n.o=function(t,r){return Object.prototype.hasOwnProperty.call(t,r)},n.p=\"\",n(n.s=234)}([function(t,r,n){\"use strict\";var e=n(3),o=n(28).f,i=n(82),a=n(5),u=n(44),c=n(11),s=n(10),f=function(t){var r=function(r,n,e){if(this instanceof t){switch(arguments.length){case 0:return new t;case 1:return new t(r);case 2:return new t(r,n)}return new t(r,n,e)}return t.apply(this,arguments)};return r.prototype=t.prototype,r};t.exports=function(t,r){var n,p,l,h,v,y,d,m,g=t.target,x=t.global,b=t.stat,w=t.proto,O=x?e:b?e[g]:(e[g]||{}).prototype,j=x?a:a[g]||(a[g]={}),S=j.prototype;for(l in r)n=!i(x?l:g+(b?\".\":\"#\")+l,t.forced)&&O&&s(O,l),v=j[l],n&&(y=t.noTargetGet?(m=o(O,l))&&m.value:O[l]),h=n&&y?y:r[l],n&&typeof v==typeof h||(d=t.bind&&n?u(h,e):t.wrap&&n?f(h):w&&\"function\"==typeof h?u(Function.call,h):h,(t.sham||h&&h.sham||v&&v.sham)&&c(d,\"sham\",!0),j[l]=d,w&&(s(a,p=g+\"Prototype\")||c(a,p,{}),a[p][l]=h,t.real&&S&&!S[l]&&c(S,l,h)))}},function(t,r,n){var e=n(5),o=n(10),i=n(73),a=n(14).f;t.exports=function(t){var r=e.Symbol||(e.Symbol={});o(r,t)||a(r,t,{value:i.f(t)})}},function(t,r,n){var e=n(3),o=n(62),i=n(10),a=n(63),u=n(66),c=n(84),s=o(\"wks\"),f=e.Symbol,p=c?f:f&&f.withoutSetter||a;t.exports=function(t){return i(s,t)||(u&&i(f,t)?s[t]=f[t]:s[t]=p(\"Symbol.\"+t)),s[t]}},function(t,r,n){(function(r){var n=function(t){return t&&t.Math==Math&&t};t.exports=n(\"object\"==typeof globalThis&&globalThis)||n(\"object\"==typeof window&&window)||n(\"object\"==typeof self&&self)||n(\"object\"==typeof r&&r)||Function(\"return this\")()}).call(this,n(118))},function(t,r){t.exports=function(t){try{return!!t()}catch(t){return!0}}},function(t,r){t.exports={}},function(t,r,n){var e=n(4);t.exports=!e((function(){return 7!=Object.defineProperty({},1,{get:function(){return 7}})[1]}))},function(t,r,n){t.exports=n(114)},function(t,r,n){t.exports=n(115)},function(t,r,n){var e=n(12);t.exports=function(t){if(!e(t))throw TypeError(String(t)+\" is not an object\");return t}},function(t,r){var n={}.hasOwnProperty;t.exports=function(t,r){return n.call(t,r)}},function(t,r,n){var e=n(6),o=n(14),i=n(19);t.exports=e?function(t,r,n){return o.f(t,r,i(1,n))}:function(t,r,n){return t[r]=n,t}},function(t,r){t.exports=function(t){return\"object\"==typeof t?null!==t:\"function\"==typeof t}},function(t,r,n){t.exports=n(161)},function(t,r,n){var e=n(6),o=n(79),i=n(9),a=n(41),u=Object.defineProperty;r.f=e?u:function(t,r,n){if(i(t),r=a(r,!0),i(n),o)try{return u(t,r,n)}catch(t){}if(\"get\"in n||\"set\"in n)throw TypeError(\"Accessors not supported\");return\"value\"in n&&(t[r]=n.value),t}},function(t,r,n){var e=n(81),o=n(60);t.exports=function(t){return e(o(t))}},function(t,r,n){var e=n(5),o=n(3),i=function(t){return\"function\"==typeof t?t:void 0};t.exports=function(t,r){return arguments.length<2?i(e[t])||i(o[t]):e[t]&&e[t][r]||o[t]&&o[t][r]}},function(t,r,n){var e=n(137);function o(t,r,n,o,i,a,u){try{var c=t[a](u),s=c.value}catch(t){return void n(t)}c.done?r(s):e.resolve(s).then(o,i)}t.exports=function(t){return function(){var r=this,n=arguments;return new e((function(e,i){var a=t.apply(r,n);function u(t){o(a,e,i,u,c,\"next\",t)}function c(t){o(a,e,i,u,c,\"throw\",t)}u(void 0)}))}}},function(t,r){t.exports={}},function(t,r){t.exports=function(t,r){return{enumerable:!(1&t),configurable:!(2&t),writable:!(4&t),value:r}}},function(t,r){t.exports=!0},function(t,r){var n={}.toString;t.exports=function(t){return n.call(t).slice(8,-1)}},function(t,r){t.exports=function(t){if(\"function\"!=typeof t)throw TypeError(String(t)+\" is not a function\");return t}},function(t,r,n){var e=n(69),o=n(14).f,i=n(11),a=n(10),u=n(123),c=n(2)(\"toStringTag\");t.exports=function(t,r,n,s){if(t){var f=n?t:t.prototype;a(f,c)||o(f,c,{configurable:!0,value:r}),s&&!e&&i(f,\"toString\",u)}}},function(t,r,n){t.exports=n(171)},function(t,r,n){t.exports=n(175)},function(t,r,n){t.exports=n(178)},function(t,r,n){var e,o,i,a=n(117),u=n(3),c=n(12),s=n(11),f=n(10),p=n(42),l=n(43),h=u.WeakMap;if(a){var v=new h,y=v.get,d=v.has,m=v.set;e=function(t,r){return m.call(v,t,r),r},o=function(t){return y.call(v,t)||{}},i=function(t){return d.call(v,t)}}else{var g=p(\"state\");l[g]=!0,e=function(t,r){return s(t,g,r),r},o=function(t){return f(t,g)?t[g]:{}},i=function(t){return f(t,g)}}t.exports={set:e,get:o,has:i,enforce:function(t){return i(t)?o(t):e(t,{})},getterFor:function(t){return function(r){var n;if(!c(r)||(n=o(r)).type!==t)throw TypeError(\"Incompatible receiver, \"+t+\" required\");return n}}}},function(t,r,n){var e=n(6),o=n(64),i=n(19),a=n(15),u=n(41),c=n(10),s=n(79),f=Object.getOwnPropertyDescriptor;r.f=e?f:function(t,r){if(t=a(t),r=u(r,!0),s)try{return f(t,r)}catch(t){}if(c(t,r))return i(!o.f.call(t,r),t[r])}},function(t,r,n){var e=n(60);t.exports=function(t){return Object(e(t))}},function(t,r,n){var e=n(69),o=n(21),i=n(2)(\"toStringTag\"),a=\"Arguments\"==o(function(){return arguments}());t.exports=e?o:function(t){var r,n,e;return void 0===t?\"Undefined\":null===t?\"Null\":\"string\"==typeof(n=function(t,r){try{return t[r]}catch(t){}}(r=Object(t),i))?n:a?o(r):\"Object\"==(e=o(r))&&\"function\"==typeof r.callee?\"Arguments\":e}},function(t,r,n){var e=n(11);t.exports=function(t,r,n,o){o&&o.enumerable?t[r]=n:e(t,r,n)}},function(t,r,n){n(90);var e=n(126),o=n(3),i=n(30),a=n(11),u=n(18),c=n(2)(\"toStringTag\");for(var s in e){var f=o[s],p=f&&f.prototype;p&&i(p)!==c&&a(p,c,s),u[s]=u.Array}},function(t,r,n){var e=n(9),o=n(131),i=n(46),a=n(44),u=n(92),c=n(132),s=function(t,r){this.stopped=t,this.result=r};(t.exports=function(t,r,n,f,p){var l,h,v,y,d,m,g,x=a(r,n,f?2:1);if(p)l=t;else{if(\"function\"!=typeof(h=u(t)))throw TypeError(\"Target is not iterable\");if(o(h)){for(v=0,y=i(t.length);y>v;v++)if((d=f?x(e(g=t[v])[0],g[1]):x(t[v]))&&d instanceof s)return d;return new s(!1)}l=h.call(t)}for(m=l.next;!(g=m.call(l)).done;)if(\"object\"==typeof(d=c(l,x,g.value,f))&&d&&d instanceof s)return d;return new s(!1)}).stop=function(t){return new s(!0,t)}},function(t,r,n){\"use strict\";var e=n(22),o=function(t){var r,n;this.promise=new t((function(t,e){if(void 0!==r||void 0!==n)throw TypeError(\"Bad Promise constructor\");r=t,n=e})),this.resolve=e(r),this.reject=e(n)};t.exports.f=function(t){return new o(t)}},function(t,r,n){var e=n(5);t.exports=function(t){return e[t+\"Prototype\"]}},function(t,r,n){t.exports=n(143)},function(t,r){var n=function(t){function r(){this.fetch=!1,this.DOMException=t.DOMException}return r.prototype=t,new r}(\"undefined\"!=typeof self?self:this);!function(t){!function(r){var n=\"URLSearchParams\"in t,e=\"Symbol\"in t&&\"iterator\"in Symbol,o=\"FileReader\"in t&&\"Blob\"in t&&function(){try{return new Blob,!0}catch(t){return!1}}(),i=\"FormData\"in t,a=\"ArrayBuffer\"in t;if(a)var u=[\"[object Int8Array]\",\"[object Uint8Array]\",\"[object Uint8ClampedArray]\",\"[object Int16Array]\",\"[object Uint16Array]\",\"[object Int32Array]\",\"[object Uint32Array]\",\"[object Float32Array]\",\"[object Float64Array]\"],c=ArrayBuffer.isView||function(t){return t&&u.indexOf(Object.prototype.toString.call(t))>-1};function s(t){if(\"string\"!=typeof t&&(t=String(t)),/[^a-z0-9\\-#$%&'*+.^_`|~]/i.test(t))throw new TypeError(\"Invalid character in header field name\");return t.toLowerCase()}function f(t){return\"string\"!=typeof t&&(t=String(t)),t}function p(t){var r={next:function(){var r=t.shift();return{done:void 0===r,value:r}}};return e&&(r[Symbol.iterator]=function(){return r}),r}function l(t){this.map={},t instanceof l?t.forEach((function(t,r){this.append(r,t)}),this):Array.isArray(t)?t.forEach((function(t){this.append(t[0],t[1])}),this):t&&Object.getOwnPropertyNames(t).forEach((function(r){this.append(r,t[r])}),this)}function h(t){if(t.bodyUsed)return Promise.reject(new TypeError(\"Already read\"));t.bodyUsed=!0}function v(t){return new Promise((function(r,n){t.onload=function(){r(t.result)},t.onerror=function(){n(t.error)}}))}function y(t){var r=new FileReader,n=v(r);return r.readAsArrayBuffer(t),n}function d(t){if(t.slice)return t.slice(0);var r=new Uint8Array(t.byteLength);return r.set(new Uint8Array(t)),r.buffer}function m(){return this.bodyUsed=!1,this._initBody=function(t){var r;this._bodyInit=t,t?\"string\"==typeof t?this._bodyText=t:o&&Blob.prototype.isPrototypeOf(t)?this._bodyBlob=t:i&&FormData.prototype.isPrototypeOf(t)?this._bodyFormData=t:n&&URLSearchParams.prototype.isPrototypeOf(t)?this._bodyText=t.toString():a&&o&&((r=t)&&DataView.prototype.isPrototypeOf(r))?(this._bodyArrayBuffer=d(t.buffer),this._bodyInit=new Blob([this._bodyArrayBuffer])):a&&(ArrayBuffer.prototype.isPrototypeOf(t)||c(t))?this._bodyArrayBuffer=d(t):this._bodyText=t=Object.prototype.toString.call(t):this._bodyText=\"\",this.headers.get(\"content-type\")||(\"string\"==typeof t?this.headers.set(\"content-type\",\"text/plain;charset=UTF-8\"):this._bodyBlob&&this._bodyBlob.type?this.headers.set(\"content-type\",this._bodyBlob.type):n&&URLSearchParams.prototype.isPrototypeOf(t)&&this.headers.set(\"content-type\",\"application/x-www-form-urlencoded;charset=UTF-8\"))},o&&(this.blob=function(){var t=h(this);if(t)return t;if(this._bodyBlob)return Promise.resolve(this._bodyBlob);if(this._bodyArrayBuffer)return Promise.resolve(new Blob([this._bodyArrayBuffer]));if(this._bodyFormData)throw new Error(\"could not read FormData body as blob\");return Promise.resolve(new Blob([this._bodyText]))},this.arrayBuffer=function(){return this._bodyArrayBuffer?h(this)||Promise.resolve(this._bodyArrayBuffer):this.blob().then(y)}),this.text=function(){var t,r,n,e=h(this);if(e)return e;if(this._bodyBlob)return t=this._bodyBlob,r=new FileReader,n=v(r),r.readAsText(t),n;if(this._bodyArrayBuffer)return Promise.resolve(function(t){for(var r=new Uint8Array(t),n=new Array(r.length),e=0;e<r.length;e++)n[e]=String.fromCharCode(r[e]);return n.join(\"\")}(this._bodyArrayBuffer));if(this._bodyFormData)throw new Error(\"could not read FormData body as text\");return Promise.resolve(this._bodyText)},i&&(this.formData=function(){return this.text().then(b)}),this.json=function(){return this.text().then(JSON.parse)},this}l.prototype.append=function(t,r){t=s(t),r=f(r);var n=this.map[t];this.map[t]=n?n+\", \"+r:r},l.prototype.delete=function(t){delete this.map[s(t)]},l.prototype.get=function(t){return t=s(t),this.has(t)?this.map[t]:null},l.prototype.has=function(t){return this.map.hasOwnProperty(s(t))},l.prototype.set=function(t,r){this.map[s(t)]=f(r)},l.prototype.forEach=function(t,r){for(var n in this.map)this.map.hasOwnProperty(n)&&t.call(r,this.map[n],n,this)},l.prototype.keys=function(){var t=[];return this.forEach((function(r,n){t.push(n)})),p(t)},l.prototype.values=function(){var t=[];return this.forEach((function(r){t.push(r)})),p(t)},l.prototype.entries=function(){var t=[];return this.forEach((function(r,n){t.push([n,r])})),p(t)},e&&(l.prototype[Symbol.iterator]=l.prototype.entries);var g=[\"DELETE\",\"GET\",\"HEAD\",\"OPTIONS\",\"POST\",\"PUT\"];function x(t,r){var n,e,o=(r=r||{}).body;if(t instanceof x){if(t.bodyUsed)throw new TypeError(\"Already read\");this.url=t.url,this.credentials=t.credentials,r.headers||(this.headers=new l(t.headers)),this.method=t.method,this.mode=t.mode,this.signal=t.signal,o||null==t._bodyInit||(o=t._bodyInit,t.bodyUsed=!0)}else this.url=String(t);if(this.credentials=r.credentials||this.credentials||\"same-origin\",!r.headers&&this.headers||(this.headers=new l(r.headers)),this.method=(n=r.method||this.method||\"GET\",e=n.toUpperCase(),g.indexOf(e)>-1?e:n),this.mode=r.mode||this.mode||null,this.signal=r.signal||this.signal,this.referrer=null,(\"GET\"===this.method||\"HEAD\"===this.method)&&o)throw new TypeError(\"Body not allowed for GET or HEAD requests\");this._initBody(o)}function b(t){var r=new FormData;return t.trim().split(\"&\").forEach((function(t){if(t){var n=t.split(\"=\"),e=n.shift().replace(/\\+/g,\" \"),o=n.join(\"=\").replace(/\\+/g,\" \");r.append(decodeURIComponent(e),decodeURIComponent(o))}})),r}function w(t,r){r||(r={}),this.type=\"default\",this.status=void 0===r.status?200:r.status,this.ok=this.status>=200&&this.status<300,this.statusText=\"statusText\"in r?r.statusText:\"OK\",this.headers=new l(r.headers),this.url=r.url||\"\",this._initBody(t)}x.prototype.clone=function(){return new x(this,{body:this._bodyInit})},m.call(x.prototype),m.call(w.prototype),w.prototype.clone=function(){return new w(this._bodyInit,{status:this.status,statusText:this.statusText,headers:new l(this.headers),url:this.url})},w.error=function(){var t=new w(null,{status:0,statusText:\"\"});return t.type=\"error\",t};var O=[301,302,303,307,308];w.redirect=function(t,r){if(-1===O.indexOf(r))throw new RangeError(\"Invalid status code\");return new w(null,{status:r,headers:{location:t}})},r.DOMException=t.DOMException;try{new r.DOMException}catch(t){r.DOMException=function(t,r){this.message=t,this.name=r;var n=Error(t);this.stack=n.stack},r.DOMException.prototype=Object.create(Error.prototype),r.DOMException.prototype.constructor=r.DOMException}function j(t,n){return new Promise((function(e,i){var a=new x(t,n);if(a.signal&&a.signal.aborted)return i(new r.DOMException(\"Aborted\",\"AbortError\"));var u=new XMLHttpRequest;function c(){u.abort()}u.onload=function(){var t,r,n={status:u.status,statusText:u.statusText,headers:(t=u.getAllResponseHeaders()||\"\",r=new l,t.replace(/\\r?\\n[\\t ]+/g,\" \").split(/\\r?\\n/).forEach((function(t){var n=t.split(\":\"),e=n.shift().trim();if(e){var o=n.join(\":\").trim();r.append(e,o)}})),r)};n.url=\"responseURL\"in u?u.responseURL:n.headers.get(\"X-Request-URL\");var o=\"response\"in u?u.response:u.responseText;e(new w(o,n))},u.onerror=function(){i(new TypeError(\"Network request failed\"))},u.ontimeout=function(){i(new TypeError(\"Network request failed\"))},u.onabort=function(){i(new r.DOMException(\"Aborted\",\"AbortError\"))},u.open(a.method,a.url,!0),\"include\"===a.credentials?u.withCredentials=!0:\"omit\"===a.credentials&&(u.withCredentials=!1),\"responseType\"in u&&o&&(u.responseType=\"blob\"),a.headers.forEach((function(t,r){u.setRequestHeader(r,t)})),a.signal&&(a.signal.addEventListener(\"abort\",c),u.onreadystatechange=function(){4===u.readyState&&a.signal.removeEventListener(\"abort\",c)}),u.send(void 0===a._bodyInit?null:a._bodyInit)}))}j.polyfill=!0,t.fetch||(t.fetch=j,t.Headers=l,t.Request=x,t.Response=w),r.Headers=l,r.Request=x,r.Response=w,r.fetch=j}({})}(n),delete n.fetch.polyfill,(r=n.fetch).default=n.fetch,r.fetch=n.fetch,r.Headers=n.Headers,r.Request=n.Request,r.Response=n.Response,t.exports=r},function(t,r,n){t.exports=n(221)},function(t,r,n){t.exports=n(222)},function(t,r,n){\"use strict\";var e=n(116).charAt,o=n(27),i=n(80),a=o.set,u=o.getterFor(\"String Iterator\");i(String,\"String\",(function(t){a(this,{type:\"String Iterator\",string:String(t),index:0})}),(function(){var t,r=u(this),n=r.string,o=r.index;return o>=n.length?{value:void 0,done:!0}:(t=e(n,o),r.index+=t.length,{value:t,done:!1})}))},function(t,r,n){var e=n(12);t.exports=function(t,r){if(!e(t))return t;var n,o;if(r&&\"function\"==typeof(n=t.toString)&&!e(o=n.call(t)))return o;if(\"function\"==typeof(n=t.valueOf)&&!e(o=n.call(t)))return o;if(!r&&\"function\"==typeof(n=t.toString)&&!e(o=n.call(t)))return o;throw TypeError(\"Can't convert object to primitive value\")}},function(t,r,n){var e=n(62),o=n(63),i=e(\"keys\");t.exports=function(t){return i[t]||(i[t]=o(t))}},function(t,r){t.exports={}},function(t,r,n){var e=n(22);t.exports=function(t,r,n){if(e(t),void 0===r)return t;switch(n){case 0:return function(){return t.call(r)};case 1:return function(n){return t.call(r,n)};case 2:return function(n,e){return t.call(r,n,e)};case 3:return function(n,e,o){return t.call(r,n,e,o)}}return function(){return t.apply(r,arguments)}}},function(t,r,n){var e=n(86),o=n(68);t.exports=Object.keys||function(t){return e(t,o)}},function(t,r,n){var e=n(59),o=Math.min;t.exports=function(t){return t>0?o(e(t),9007199254740991):0}},function(t,r){t.exports=function(t){try{return{error:!1,value:t()}}catch(t){return{error:!0,value:t}}}},function(t,r,n){var e=n(21);t.exports=Array.isArray||function(t){return\"Array\"==e(t)}},function(t,r,n){var e=n(44),o=n(81),i=n(29),a=n(46),u=n(100),c=[].push,s=function(t){var r=1==t,n=2==t,s=3==t,f=4==t,p=6==t,l=5==t||p;return function(h,v,y,d){for(var m,g,x=i(h),b=o(x),w=e(v,y,3),O=a(b.length),j=0,S=d||u,E=r?S(h,O):n?S(h,0):void 0;O>j;j++)if((l||j in b)&&(g=w(m=b[j],j,x),t))if(r)E[j]=g;else if(g)switch(t){case 3:return!0;case 5:return m;case 6:return j;case 2:c.call(E,m)}else if(f)return!1;return p?-1:s||f?f:E}};t.exports={forEach:s(0),map:s(1),filter:s(2),some:s(3),every:s(4),find:s(5),findIndex:s(6)}},function(t,r,n){var e=n(6),o=n(4),i=n(10),a=Object.defineProperty,u={},c=function(t){throw t};t.exports=function(t,r){if(i(u,t))return u[t];r||(r={});var n=[][t],s=!!i(r,\"ACCESSORS\")&&r.ACCESSORS,f=i(r,0)?r[0]:c,p=i(r,1)?r[1]:void 0;return u[t]=!!n&&!o((function(){if(s&&!e)return!0;var t={length:-1};s?a(t,1,{enumerable:!0,get:c}):t[1]=1,n.call(t,f,p)}))}},function(t,r,n){var e=n(146),o=n(150),i=n(156);t.exports=function(t,r){return e(t)||o(t,r)||i()}},function(t,r,n){t.exports=n(151)},function(t,r,n){t.exports=n(157)},function(t,r,n){t.exports=n(166)},function(t,r,n){t.exports=n(168)},function(t,r,n){var e=n(183);t.exports=function(t,r,n){return r in t?e(t,r,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[r]=n,t}},function(t,r,n){t.exports=n(226)},function(t,r,n){t.exports=n(230)},function(t,r){var n=Math.ceil,e=Math.floor;t.exports=function(t){return isNaN(t=+t)?0:(t>0?e:n)(t)}},function(t,r){t.exports=function(t){if(null==t)throw TypeError(\"Can't call method on \"+t);return t}},function(t,r,n){var e=n(3),o=n(12),i=e.document,a=o(i)&&o(i.createElement);t.exports=function(t){return a?i.createElement(t):{}}},function(t,r,n){var e=n(20),o=n(78);(t.exports=function(t,r){return o[t]||(o[t]=void 0!==r?r:{})})(\"versions\",[]).push({version:\"3.6.4\",mode:e?\"pure\":\"global\",copyright:\"© 2020 Denis Pushkarev (zloirock.ru)\"})},function(t,r){var n=0,e=Math.random();t.exports=function(t){return\"Symbol(\"+String(void 0===t?\"\":t)+\")_\"+(++n+e).toString(36)}},function(t,r,n){\"use strict\";var e={}.propertyIsEnumerable,o=Object.getOwnPropertyDescriptor,i=o&&!e.call({1:2},1);r.f=i?function(t){var r=o(this,t);return!!r&&r.enumerable}:e},function(t,r,n){var e=n(10),o=n(29),i=n(42),a=n(121),u=i(\"IE_PROTO\"),c=Object.prototype;t.exports=a?Object.getPrototypeOf:function(t){return t=o(t),e(t,u)?t[u]:\"function\"==typeof t.constructor&&t instanceof t.constructor?t.constructor.prototype:t instanceof Object?c:null}},function(t,r,n){var e=n(4);t.exports=!!Object.getOwnPropertySymbols&&!e((function(){return!String(Symbol())}))},function(t,r,n){var e,o=n(9),i=n(85),a=n(68),u=n(43),c=n(88),s=n(61),f=n(42),p=f(\"IE_PROTO\"),l=function(){},h=function(t){return\"<script>\"+t+\"<\\/script>\"},v=function(){try{e=document.domain&&new ActiveXObject(\"htmlfile\")}catch(t){}var t,r;v=e?function(t){t.write(h(\"\")),t.close();var r=t.parentWindow.Object;return t=null,r}(e):((r=s(\"iframe\")).style.display=\"none\",c.appendChild(r),r.src=String(\"javascript:\"),(t=r.contentWindow.document).open(),t.write(h(\"document.F=Object\")),t.close(),t.F);for(var n=a.length;n--;)delete v.prototype[a[n]];return v()};u[p]=!0,t.exports=Object.create||function(t,r){var n;return null!==t?(l.prototype=o(t),n=new l,l.prototype=null,n[p]=t):n=v(),void 0===r?n:i(n,r)}},function(t,r){t.exports=[\"constructor\",\"hasOwnProperty\",\"isPrototypeOf\",\"propertyIsEnumerable\",\"toLocaleString\",\"toString\",\"valueOf\"]},function(t,r,n){var e={};e[n(2)(\"toStringTag\")]=\"z\",t.exports=\"[object z]\"===String(e)},function(t,r,n){var e,o,i=n(3),a=n(96),u=i.process,c=u&&u.versions,s=c&&c.v8;s?o=(e=s.split(\".\"))[0]+e[1]:a&&(!(e=a.match(/Edge\\/(\\d+)/))||e[1]>=74)&&(e=a.match(/Chrome\\/(\\d+)/))&&(o=e[1]),t.exports=o&&+o},function(t,r,n){var e=n(86),o=n(68).concat(\"length\",\"prototype\");r.f=Object.getOwnPropertyNames||function(t){return e(t,o)}},function(t,r,n){\"use strict\";var e=n(41),o=n(14),i=n(19);t.exports=function(t,r,n){var a=e(r);a in t?o.f(t,a,i(0,n)):t[a]=n}},function(t,r,n){var e=n(2);r.f=e},function(t,r,n){var e=n(4),o=n(2),i=n(70),a=o(\"species\");t.exports=function(t){return i>=51||!e((function(){var r=[];return(r.constructor={})[a]=function(){return{foo:1}},1!==r[t](Boolean).foo}))}},function(t,r,n){n(76),n(40),n(32),n(127),n(98),n(136);var e=n(5);t.exports=e.Promise},function(t,r){},function(t,r,n){var e=n(78),o=Function.toString;\"function\"!=typeof e.inspectSource&&(e.inspectSource=function(t){return o.call(t)}),t.exports=e.inspectSource},function(t,r,n){var e=n(3),o=n(119),i=e[\"__core-js_shared__\"]||o(\"__core-js_shared__\",{});t.exports=i},function(t,r,n){var e=n(6),o=n(4),i=n(61);t.exports=!e&&!o((function(){return 7!=Object.defineProperty(i(\"div\"),\"a\",{get:function(){return 7}}).a}))},function(t,r,n){\"use strict\";var e=n(0),o=n(120),i=n(65),a=n(89),u=n(23),c=n(11),s=n(31),f=n(2),p=n(20),l=n(18),h=n(83),v=h.IteratorPrototype,y=h.BUGGY_SAFARI_ITERATORS,d=f(\"iterator\"),m=function(){return this};t.exports=function(t,r,n,f,h,g,x){o(n,r,f);var b,w,O,j=function(t){if(t===h&&T)return T;if(!y&&t in A)return A[t];switch(t){case\"keys\":case\"values\":case\"entries\":return function(){return new n(this,t)}}return function(){return new n(this)}},S=r+\" Iterator\",E=!1,A=t.prototype,P=A[d]||A[\"@@iterator\"]||h&&A[h],T=!y&&P||j(h),_=\"Array\"==r&&A.entries||P;if(_&&(b=i(_.call(new t)),v!==Object.prototype&&b.next&&(p||i(b)===v||(a?a(b,v):\"function\"!=typeof b[d]&&c(b,d,m)),u(b,S,!0,!0),p&&(l[S]=m))),\"values\"==h&&P&&\"values\"!==P.name&&(E=!0,T=function(){return P.call(this)}),p&&!x||A[d]===T||c(A,d,T),l[r]=T,h)if(w={values:j(\"values\"),keys:g?T:j(\"keys\"),entries:j(\"entries\")},x)for(O in w)!y&&!E&&O in A||s(A,O,w[O]);else e({target:r,proto:!0,forced:y||E},w);return w}},function(t,r,n){var e=n(4),o=n(21),i=\"\".split;t.exports=e((function(){return!Object(\"z\").propertyIsEnumerable(0)}))?function(t){return\"String\"==o(t)?i.call(t,\"\"):Object(t)}:Object},function(t,r,n){var e=n(4),o=/#|\\.prototype\\./,i=function(t,r){var n=u[a(t)];return n==s||n!=c&&(\"function\"==typeof r?e(r):!!r)},a=i.normalize=function(t){return String(t).replace(o,\".\").toLowerCase()},u=i.data={},c=i.NATIVE=\"N\",s=i.POLYFILL=\"P\";t.exports=i},function(t,r,n){\"use strict\";var e,o,i,a=n(65),u=n(11),c=n(10),s=n(2),f=n(20),p=s(\"iterator\"),l=!1;[].keys&&(\"next\"in(i=[].keys())?(o=a(a(i)))!==Object.prototype&&(e=o):l=!0),null==e&&(e={}),f||c(e,p)||u(e,p,(function(){return this})),t.exports={IteratorPrototype:e,BUGGY_SAFARI_ITERATORS:l}},function(t,r,n){var e=n(66);t.exports=e&&!Symbol.sham&&\"symbol\"==typeof Symbol.iterator},function(t,r,n){var e=n(6),o=n(14),i=n(9),a=n(45);t.exports=e?Object.defineProperties:function(t,r){i(t);for(var n,e=a(r),u=e.length,c=0;u>c;)o.f(t,n=e[c++],r[n]);return t}},function(t,r,n){var e=n(10),o=n(15),i=n(87).indexOf,a=n(43);t.exports=function(t,r){var n,u=o(t),c=0,s=[];for(n in u)!e(a,n)&&e(u,n)&&s.push(n);for(;r.length>c;)e(u,n=r[c++])&&(~i(s,n)||s.push(n));return s}},function(t,r,n){var e=n(15),o=n(46),i=n(122),a=function(t){return function(r,n,a){var u,c=e(r),s=o(c.length),f=i(a,s);if(t&&n!=n){for(;s>f;)if((u=c[f++])!=u)return!0}else for(;s>f;f++)if((t||f in c)&&c[f]===n)return t||f||0;return!t&&-1}};t.exports={includes:a(!0),indexOf:a(!1)}},function(t,r,n){var e=n(16);t.exports=e(\"document\",\"documentElement\")},function(t,r,n){var e=n(9),o=n(124);t.exports=Object.setPrototypeOf||(\"__proto__\"in{}?function(){var t,r=!1,n={};try{(t=Object.getOwnPropertyDescriptor(Object.prototype,\"__proto__\").set).call(n,[]),r=n instanceof Array}catch(t){}return function(n,i){return e(n),o(i),r?t.call(n,i):n.__proto__=i,n}}():void 0)},function(t,r,n){\"use strict\";var e=n(15),o=n(125),i=n(18),a=n(27),u=n(80),c=a.set,s=a.getterFor(\"Array Iterator\");t.exports=u(Array,\"Array\",(function(t,r){c(this,{type:\"Array Iterator\",target:e(t),index:0,kind:r})}),(function(){var t=s(this),r=t.target,n=t.kind,e=t.index++;return!r||e>=r.length?(t.target=void 0,{value:void 0,done:!0}):\"keys\"==n?{value:e,done:!1}:\"values\"==n?{value:r[e],done:!1}:{value:[e,r[e]],done:!1}}),\"values\"),i.Arguments=i.Array,o(\"keys\"),o(\"values\"),o(\"entries\")},function(t,r,n){var e=n(3);t.exports=e.Promise},function(t,r,n){var e=n(30),o=n(18),i=n(2)(\"iterator\");t.exports=function(t){if(null!=t)return t[i]||t[\"@@iterator\"]||o[e(t)]}},function(t,r,n){var e=n(9),o=n(22),i=n(2)(\"species\");t.exports=function(t,r){var n,a=e(t).constructor;return void 0===a||null==(n=e(a)[i])?r:o(n)}},function(t,r,n){var e,o,i,a=n(3),u=n(4),c=n(21),s=n(44),f=n(88),p=n(61),l=n(95),h=a.location,v=a.setImmediate,y=a.clearImmediate,d=a.process,m=a.MessageChannel,g=a.Dispatch,x=0,b={},w=function(t){if(b.hasOwnProperty(t)){var r=b[t];delete b[t],r()}},O=function(t){return function(){w(t)}},j=function(t){w(t.data)},S=function(t){a.postMessage(t+\"\",h.protocol+\"//\"+h.host)};v&&y||(v=function(t){for(var r=[],n=1;arguments.length>n;)r.push(arguments[n++]);return b[++x]=function(){(\"function\"==typeof t?t:Function(t)).apply(void 0,r)},e(x),x},y=function(t){delete b[t]},\"process\"==c(d)?e=function(t){d.nextTick(O(t))}:g&&g.now?e=function(t){g.now(O(t))}:m&&!l?(i=(o=new m).port2,o.port1.onmessage=j,e=s(i.postMessage,i,1)):!a.addEventListener||\"function\"!=typeof postMessage||a.importScripts||u(S)?e=\"onreadystatechange\"in p(\"script\")?function(t){f.appendChild(p(\"script\")).onreadystatechange=function(){f.removeChild(this),w(t)}}:function(t){setTimeout(O(t),0)}:(e=S,a.addEventListener(\"message\",j,!1))),t.exports={set:v,clear:y}},function(t,r,n){var e=n(96);t.exports=/(iphone|ipod|ipad).*applewebkit/i.test(e)},function(t,r,n){var e=n(16);t.exports=e(\"navigator\",\"userAgent\")||\"\"},function(t,r,n){var e=n(9),o=n(12),i=n(34);t.exports=function(t,r){if(e(t),o(r)&&r.constructor===t)return r;var n=i.f(t);return(0,n.resolve)(r),n.promise}},function(t,r,n){\"use strict\";var e=n(0),o=n(22),i=n(34),a=n(47),u=n(33);e({target:\"Promise\",stat:!0},{allSettled:function(t){var r=this,n=i.f(r),e=n.resolve,c=n.reject,s=a((function(){var n=o(r.resolve),i=[],a=0,c=1;u(t,(function(t){var o=a++,u=!1;i.push(void 0),c++,n.call(r,t).then((function(t){u||(u=!0,i[o]={status:\"fulfilled\",value:t},--c||e(i))}),(function(t){u||(u=!0,i[o]={status:\"rejected\",reason:t},--c||e(i))}))})),--c||e(i)}));return s.error&&c(s.value),n.promise}})},function(t,r,n){n(149);var e=n(5);t.exports=e.Array.isArray},function(t,r,n){var e=n(12),o=n(48),i=n(2)(\"species\");t.exports=function(t,r){var n;return o(t)&&(\"function\"!=typeof(n=t.constructor)||n!==Array&&!o(n.prototype)?e(n)&&null===(n=n[i])&&(n=void 0):n=void 0),new(void 0===n?Array:n)(0===r?0:r)}},function(t,r,n){\"use strict\";var e=n(4);t.exports=function(t,r){var n=[][t];return!!n&&e((function(){n.call(null,r||function(){throw 1},1)}))}},function(t,r,n){n(167);var e=n(5).Object,o=t.exports=function(t,r,n){return e.defineProperty(t,r,n)};e.defineProperty.sham&&(o.sham=!0)},function(t,r){r.f=Object.getOwnPropertySymbols},function(t,r,n){n(105);var e=n(5);t.exports=e.Object.getOwnPropertySymbols},function(t,r,n){\"use strict\";var e=n(0),o=n(3),i=n(16),a=n(20),u=n(6),c=n(66),s=n(84),f=n(4),p=n(10),l=n(48),h=n(12),v=n(9),y=n(29),d=n(15),m=n(41),g=n(19),x=n(67),b=n(45),w=n(71),O=n(179),j=n(103),S=n(28),E=n(14),A=n(64),P=n(11),T=n(31),_=n(62),L=n(42),k=n(43),F=n(63),D=n(2),I=n(73),M=n(1),R=n(23),N=n(27),B=n(49).forEach,C=L(\"hidden\"),U=D(\"toPrimitive\"),G=N.set,H=N.getterFor(\"Symbol\"),q=Object.prototype,J=o.Symbol,V=i(\"JSON\",\"stringify\"),W=S.f,z=E.f,Y=O.f,K=A.f,X=_(\"symbols\"),$=_(\"op-symbols\"),Q=_(\"string-to-symbol-registry\"),Z=_(\"symbol-to-string-registry\"),tt=_(\"wks\"),rt=o.QObject,nt=!rt||!rt.prototype||!rt.prototype.findChild,et=u&&f((function(){return 7!=x(z({},\"a\",{get:function(){return z(this,\"a\",{value:7}).a}})).a}))?function(t,r,n){var e=W(q,r);e&&delete q[r],z(t,r,n),e&&t!==q&&z(q,r,e)}:z,ot=function(t,r){var n=X[t]=x(J.prototype);return G(n,{type:\"Symbol\",tag:t,description:r}),u||(n.description=r),n},it=s?function(t){return\"symbol\"==typeof t}:function(t){return Object(t)instanceof J},at=function(t,r,n){t===q&&at($,r,n),v(t);var e=m(r,!0);return v(n),p(X,e)?(n.enumerable?(p(t,C)&&t[C][e]&&(t[C][e]=!1),n=x(n,{enumerable:g(0,!1)})):(p(t,C)||z(t,C,g(1,{})),t[C][e]=!0),et(t,e,n)):z(t,e,n)},ut=function(t,r){v(t);var n=d(r),e=b(n).concat(pt(n));return B(e,(function(r){u&&!ct.call(n,r)||at(t,r,n[r])})),t},ct=function(t){var r=m(t,!0),n=K.call(this,r);return!(this===q&&p(X,r)&&!p($,r))&&(!(n||!p(this,r)||!p(X,r)||p(this,C)&&this[C][r])||n)},st=function(t,r){var n=d(t),e=m(r,!0);if(n!==q||!p(X,e)||p($,e)){var o=W(n,e);return!o||!p(X,e)||p(n,C)&&n[C][e]||(o.enumerable=!0),o}},ft=function(t){var r=Y(d(t)),n=[];return B(r,(function(t){p(X,t)||p(k,t)||n.push(t)})),n},pt=function(t){var r=t===q,n=Y(r?$:d(t)),e=[];return B(n,(function(t){!p(X,t)||r&&!p(q,t)||e.push(X[t])})),e};(c||(T((J=function(){if(this instanceof J)throw TypeError(\"Symbol is not a constructor\");var t=arguments.length&&void 0!==arguments[0]?String(arguments[0]):void 0,r=F(t),n=function(t){this===q&&n.call($,t),p(this,C)&&p(this[C],r)&&(this[C][r]=!1),et(this,r,g(1,t))};return u&&nt&&et(q,r,{configurable:!0,set:n}),ot(r,t)}).prototype,\"toString\",(function(){return H(this).tag})),T(J,\"withoutSetter\",(function(t){return ot(F(t),t)})),A.f=ct,E.f=at,S.f=st,w.f=O.f=ft,j.f=pt,I.f=function(t){return ot(D(t),t)},u&&(z(J.prototype,\"description\",{configurable:!0,get:function(){return H(this).description}}),a||T(q,\"propertyIsEnumerable\",ct,{unsafe:!0}))),e({global:!0,wrap:!0,forced:!c,sham:!c},{Symbol:J}),B(b(tt),(function(t){M(t)})),e({target:\"Symbol\",stat:!0,forced:!c},{for:function(t){var r=String(t);if(p(Q,r))return Q[r];var n=J(r);return Q[r]=n,Z[n]=r,n},keyFor:function(t){if(!it(t))throw TypeError(t+\" is not a symbol\");if(p(Z,t))return Z[t]},useSetter:function(){nt=!0},useSimple:function(){nt=!1}}),e({target:\"Object\",stat:!0,forced:!c,sham:!u},{create:function(t,r){return void 0===r?x(t):ut(x(t),r)},defineProperty:at,defineProperties:ut,getOwnPropertyDescriptor:st}),e({target:\"Object\",stat:!0,forced:!c},{getOwnPropertyNames:ft,getOwnPropertySymbols:pt}),e({target:\"Object\",stat:!0,forced:f((function(){j.f(1)}))},{getOwnPropertySymbols:function(t){return j.f(y(t))}}),V)&&e({target:\"JSON\",stat:!0,forced:!c||f((function(){var t=J();return\"[null]\"!=V([t])||\"{}\"!=V({a:t})||\"{}\"!=V(Object(t))}))},{stringify:function(t,r,n){for(var e,o=[t],i=1;arguments.length>i;)o.push(arguments[i++]);if(e=r,(h(r)||void 0!==t)&&!it(t))return l(r)||(r=function(t,r){if(\"function\"==typeof e&&(r=e.call(this,t,r)),!it(r))return r}),o[1]=r,V.apply(null,o)}});J.prototype[U]||P(J.prototype,U,J.prototype.valueOf),R(J,\"Symbol\"),k[C]=!0},function(t,r,n){\"use strict\";var e=n(0),o=n(4),i=n(48),a=n(12),u=n(29),c=n(46),s=n(72),f=n(100),p=n(74),l=n(2),h=n(70),v=l(\"isConcatSpreadable\"),y=h>=51||!o((function(){var t=[];return t[v]=!1,t.concat()[0]!==t})),d=p(\"concat\"),m=function(t){if(!a(t))return!1;var r=t[v];return void 0!==r?!!r:i(t)};e({target:\"Array\",proto:!0,forced:!y||!d},{concat:function(t){var r,n,e,o,i,a=u(this),p=f(a,0),l=0;for(r=-1,e=arguments.length;r<e;r++)if(i=-1===r?a:arguments[r],m(i)){if(l+(o=c(i.length))>9007199254740991)throw TypeError(\"Maximum allowed index exceeded\");for(n=0;n<o;n++,l++)n in i&&s(p,l,i[n])}else{if(l>=9007199254740991)throw TypeError(\"Maximum allowed index exceeded\");s(p,l++,i)}return p.length=l,p}})},function(t,r,n){t.exports=n(185)},function(t,r,n){n(194);var e=n(5);t.exports=e.Object.keys},function(t,r,n){n(1)(\"iterator\")},function(t,r,n){t.exports=n(180)},function(t,r,n){var e=n(107),o=n(189),i=n(191);t.exports=function(t,r){if(null==t)return{};var n,a,u=i(t,r);if(o){var c=o(t);for(a=0;a<c.length;a++)n=c[a],e(r).call(r,n)>=0||Object.prototype.propertyIsEnumerable.call(t,n)&&(u[n]=t[n])}return u}},function(t,r,n){var e=n(195),o=n(198);function i(r){return t.exports=i=\"function\"==typeof o&&\"symbol\"==typeof e?function(t){return typeof t}:function(t){return t&&\"function\"==typeof o&&t.constructor===o&&t!==o.prototype?\"symbol\":typeof t},i(r)}t.exports=i},function(t,r,n){t.exports=n(233)},function(t,r,n){var e=function(t){\"use strict\";var r=Object.prototype,n=r.hasOwnProperty,e=\"function\"==typeof Symbol?Symbol:{},o=e.iterator||\"@@iterator\",i=e.asyncIterator||\"@@asyncIterator\",a=e.toStringTag||\"@@toStringTag\";function u(t,r,n,e){var o=r&&r.prototype instanceof f?r:f,i=Object.create(o.prototype),a=new O(e||[]);return i._invoke=function(t,r,n){var e=\"suspendedStart\";return function(o,i){if(\"executing\"===e)throw new Error(\"Generator is already running\");if(\"completed\"===e){if(\"throw\"===o)throw i;return S()}for(n.method=o,n.arg=i;;){var a=n.delegate;if(a){var u=x(a,n);if(u){if(u===s)continue;return u}}if(\"next\"===n.method)n.sent=n._sent=n.arg;else if(\"throw\"===n.method){if(\"suspendedStart\"===e)throw e=\"completed\",n.arg;n.dispatchException(n.arg)}else\"return\"===n.method&&n.abrupt(\"return\",n.arg);e=\"executing\";var f=c(t,r,n);if(\"normal\"===f.type){if(e=n.done?\"completed\":\"suspendedYield\",f.arg===s)continue;return{value:f.arg,done:n.done}}\"throw\"===f.type&&(e=\"completed\",n.method=\"throw\",n.arg=f.arg)}}}(t,n,a),i}function c(t,r,n){try{return{type:\"normal\",arg:t.call(r,n)}}catch(t){return{type:\"throw\",arg:t}}}t.wrap=u;var s={};function f(){}function p(){}function l(){}var h={};h[o]=function(){return this};var v=Object.getPrototypeOf,y=v&&v(v(j([])));y&&y!==r&&n.call(y,o)&&(h=y);var d=l.prototype=f.prototype=Object.create(h);function m(t){[\"next\",\"throw\",\"return\"].forEach((function(r){t[r]=function(t){return this._invoke(r,t)}}))}function g(t){var r;this._invoke=function(e,o){function i(){return new Promise((function(r,i){!function r(e,o,i,a){var u=c(t[e],t,o);if(\"throw\"!==u.type){var s=u.arg,f=s.value;return f&&\"object\"==typeof f&&n.call(f,\"__await\")?Promise.resolve(f.__await).then((function(t){r(\"next\",t,i,a)}),(function(t){r(\"throw\",t,i,a)})):Promise.resolve(f).then((function(t){s.value=t,i(s)}),(function(t){return r(\"throw\",t,i,a)}))}a(u.arg)}(e,o,r,i)}))}return r=r?r.then(i,i):i()}}function x(t,r){var n=t.iterator[r.method];if(void 0===n){if(r.delegate=null,\"throw\"===r.method){if(t.iterator.return&&(r.method=\"return\",r.arg=void 0,x(t,r),\"throw\"===r.method))return s;r.method=\"throw\",r.arg=new TypeError(\"The iterator does not provide a 'throw' method\")}return s}var e=c(n,t.iterator,r.arg);if(\"throw\"===e.type)return r.method=\"throw\",r.arg=e.arg,r.delegate=null,s;var o=e.arg;return o?o.done?(r[t.resultName]=o.value,r.next=t.nextLoc,\"return\"!==r.method&&(r.method=\"next\",r.arg=void 0),r.delegate=null,s):o:(r.method=\"throw\",r.arg=new TypeError(\"iterator result is not an object\"),r.delegate=null,s)}function b(t){var r={tryLoc:t[0]};1 in t&&(r.catchLoc=t[1]),2 in t&&(r.finallyLoc=t[2],r.afterLoc=t[3]),this.tryEntries.push(r)}function w(t){var r=t.completion||{};r.type=\"normal\",delete r.arg,t.completion=r}function O(t){this.tryEntries=[{tryLoc:\"root\"}],t.forEach(b,this),this.reset(!0)}function j(t){if(t){var r=t[o];if(r)return r.call(t);if(\"function\"==typeof t.next)return t;if(!isNaN(t.length)){var e=-1,i=function r(){for(;++e<t.length;)if(n.call(t,e))return r.value=t[e],r.done=!1,r;return r.value=void 0,r.done=!0,r};return i.next=i}}return{next:S}}function S(){return{value:void 0,done:!0}}return p.prototype=d.constructor=l,l.constructor=p,l[a]=p.displayName=\"GeneratorFunction\",t.isGeneratorFunction=function(t){var r=\"function\"==typeof t&&t.constructor;return!!r&&(r===p||\"GeneratorFunction\"===(r.displayName||r.name))},t.mark=function(t){return Object.setPrototypeOf?Object.setPrototypeOf(t,l):(t.__proto__=l,a in t||(t[a]=\"GeneratorFunction\")),t.prototype=Object.create(d),t},t.awrap=function(t){return{__await:t}},m(g.prototype),g.prototype[i]=function(){return this},t.AsyncIterator=g,t.async=function(r,n,e,o){var i=new g(u(r,n,e,o));return t.isGeneratorFunction(n)?i:i.next().then((function(t){return t.done?t.value:i.next()}))},m(d),d[a]=\"Generator\",d[o]=function(){return this},d.toString=function(){return\"[object Generator]\"},t.keys=function(t){var r=[];for(var n in t)r.push(n);return r.reverse(),function n(){for(;r.length;){var e=r.pop();if(e in t)return n.value=e,n.done=!1,n}return n.done=!0,n}},t.values=j,O.prototype={constructor:O,reset:function(t){if(this.prev=0,this.next=0,this.sent=this._sent=void 0,this.done=!1,this.delegate=null,this.method=\"next\",this.arg=void 0,this.tryEntries.forEach(w),!t)for(var r in this)\"t\"===r.charAt(0)&&n.call(this,r)&&!isNaN(+r.slice(1))&&(this[r]=void 0)},stop:function(){this.done=!0;var t=this.tryEntries[0].completion;if(\"throw\"===t.type)throw t.arg;return this.rval},dispatchException:function(t){if(this.done)throw t;var r=this;function e(n,e){return a.type=\"throw\",a.arg=t,r.next=n,e&&(r.method=\"next\",r.arg=void 0),!!e}for(var o=this.tryEntries.length-1;o>=0;--o){var i=this.tryEntries[o],a=i.completion;if(\"root\"===i.tryLoc)return e(\"end\");if(i.tryLoc<=this.prev){var u=n.call(i,\"catchLoc\"),c=n.call(i,\"finallyLoc\");if(u&&c){if(this.prev<i.catchLoc)return e(i.catchLoc,!0);if(this.prev<i.finallyLoc)return e(i.finallyLoc)}else if(u){if(this.prev<i.catchLoc)return e(i.catchLoc,!0)}else{if(!c)throw new Error(\"try statement without catch or finally\");if(this.prev<i.finallyLoc)return e(i.finallyLoc)}}}},abrupt:function(t,r){for(var e=this.tryEntries.length-1;e>=0;--e){var o=this.tryEntries[e];if(o.tryLoc<=this.prev&&n.call(o,\"finallyLoc\")&&this.prev<o.finallyLoc){var i=o;break}}i&&(\"break\"===t||\"continue\"===t)&&i.tryLoc<=r&&r<=i.finallyLoc&&(i=null);var a=i?i.completion:{};return a.type=t,a.arg=r,i?(this.method=\"next\",this.next=i.finallyLoc,s):this.complete(a)},complete:function(t,r){if(\"throw\"===t.type)throw t.arg;return\"break\"===t.type||\"continue\"===t.type?this.next=t.arg:\"return\"===t.type?(this.rval=this.arg=t.arg,this.method=\"return\",this.next=\"end\"):\"normal\"===t.type&&r&&(this.next=r),s},finish:function(t){for(var r=this.tryEntries.length-1;r>=0;--r){var n=this.tryEntries[r];if(n.finallyLoc===t)return this.complete(n.completion,n.afterLoc),w(n),s}},catch:function(t){for(var r=this.tryEntries.length-1;r>=0;--r){var n=this.tryEntries[r];if(n.tryLoc===t){var e=n.completion;if(\"throw\"===e.type){var o=e.arg;w(n)}return o}}throw new Error(\"illegal catch attempt\")},delegateYield:function(t,r,n){return this.delegate={iterator:j(t),resultName:r,nextLoc:n},\"next\"===this.method&&(this.arg=void 0),s}},t}(t.exports);try{regeneratorRuntime=e}catch(t){Function(\"r\",\"regeneratorRuntime = r\")(e)}},function(t,r,n){var e=n(75);t.exports=e},function(t,r,n){var e=n(59),o=n(60),i=function(t){return function(r,n){var i,a,u=String(o(r)),c=e(n),s=u.length;return c<0||c>=s?t?\"\":void 0:(i=u.charCodeAt(c))<55296||i>56319||c+1===s||(a=u.charCodeAt(c+1))<56320||a>57343?t?u.charAt(c):i:t?u.slice(c,c+2):a-56320+(i-55296<<10)+65536}};t.exports={codeAt:i(!1),charAt:i(!0)}},function(t,r,n){var e=n(3),o=n(77),i=e.WeakMap;t.exports=\"function\"==typeof i&&/native code/.test(o(i))},function(t,r){var n;n=function(){return this}();try{n=n||new Function(\"return this\")()}catch(t){\"object\"==typeof window&&(n=window)}t.exports=n},function(t,r,n){var e=n(3),o=n(11);t.exports=function(t,r){try{o(e,t,r)}catch(n){e[t]=r}return r}},function(t,r,n){\"use strict\";var e=n(83).IteratorPrototype,o=n(67),i=n(19),a=n(23),u=n(18),c=function(){return this};t.exports=function(t,r,n){var s=r+\" Iterator\";return t.prototype=o(e,{next:i(1,n)}),a(t,s,!1,!0),u[s]=c,t}},function(t,r,n){var e=n(4);t.exports=!e((function(){function t(){}return t.prototype.constructor=null,Object.getPrototypeOf(new t)!==t.prototype}))},function(t,r,n){var e=n(59),o=Math.max,i=Math.min;t.exports=function(t,r){var n=e(t);return n<0?o(n+r,0):i(n,r)}},function(t,r,n){\"use strict\";var e=n(69),o=n(30);t.exports=e?{}.toString:function(){return\"[object \"+o(this)+\"]\"}},function(t,r,n){var e=n(12);t.exports=function(t){if(!e(t)&&null!==t)throw TypeError(\"Can't set \"+String(t)+\" as a prototype\");return t}},function(t,r){t.exports=function(){}},function(t,r){t.exports={CSSRuleList:0,CSSStyleDeclaration:0,CSSValueList:0,ClientRectList:0,DOMRectList:0,DOMStringList:0,DOMTokenList:1,DataTransferItemList:0,FileList:0,HTMLAllCollection:0,HTMLCollection:0,HTMLFormElement:0,HTMLSelectElement:0,MediaList:0,MimeTypeArray:0,NamedNodeMap:0,NodeList:1,PaintRequestList:0,Plugin:0,PluginArray:0,SVGLengthList:0,SVGNumberList:0,SVGPathSegList:0,SVGPointList:0,SVGStringList:0,SVGTransformList:0,SourceBufferList:0,StyleSheetList:0,TextTrackCueList:0,TextTrackList:0,TouchList:0}},function(t,r,n){\"use strict\";var e,o,i,a,u=n(0),c=n(20),s=n(3),f=n(16),p=n(91),l=n(31),h=n(128),v=n(23),y=n(129),d=n(12),m=n(22),g=n(130),x=n(21),b=n(77),w=n(33),O=n(133),j=n(93),S=n(94).set,E=n(134),A=n(97),P=n(135),T=n(34),_=n(47),L=n(27),k=n(82),F=n(2),D=n(70),I=F(\"species\"),M=\"Promise\",R=L.get,N=L.set,B=L.getterFor(M),C=p,U=s.TypeError,G=s.document,H=s.process,q=f(\"fetch\"),J=T.f,V=J,W=\"process\"==x(H),z=!!(G&&G.createEvent&&s.dispatchEvent),Y=k(M,(function(){if(!(b(C)!==String(C))){if(66===D)return!0;if(!W&&\"function\"!=typeof PromiseRejectionEvent)return!0}if(c&&!C.prototype.finally)return!0;if(D>=51&&/native code/.test(C))return!1;var t=C.resolve(1),r=function(t){t((function(){}),(function(){}))};return(t.constructor={})[I]=r,!(t.then((function(){}))instanceof r)})),K=Y||!O((function(t){C.all(t).catch((function(){}))})),X=function(t){var r;return!(!d(t)||\"function\"!=typeof(r=t.then))&&r},$=function(t,r,n){if(!r.notified){r.notified=!0;var e=r.reactions;E((function(){for(var o=r.value,i=1==r.state,a=0;e.length>a;){var u,c,s,f=e[a++],p=i?f.ok:f.fail,l=f.resolve,h=f.reject,v=f.domain;try{p?(i||(2===r.rejection&&rt(t,r),r.rejection=1),!0===p?u=o:(v&&v.enter(),u=p(o),v&&(v.exit(),s=!0)),u===f.promise?h(U(\"Promise-chain cycle\")):(c=X(u))?c.call(u,l,h):l(u)):h(o)}catch(t){v&&!s&&v.exit(),h(t)}}r.reactions=[],r.notified=!1,n&&!r.rejection&&Z(t,r)}))}},Q=function(t,r,n){var e,o;z?((e=G.createEvent(\"Event\")).promise=r,e.reason=n,e.initEvent(t,!1,!0),s.dispatchEvent(e)):e={promise:r,reason:n},(o=s[\"on\"+t])?o(e):\"unhandledrejection\"===t&&P(\"Unhandled promise rejection\",n)},Z=function(t,r){S.call(s,(function(){var n,e=r.value;if(tt(r)&&(n=_((function(){W?H.emit(\"unhandledRejection\",e,t):Q(\"unhandledrejection\",t,e)})),r.rejection=W||tt(r)?2:1,n.error))throw n.value}))},tt=function(t){return 1!==t.rejection&&!t.parent},rt=function(t,r){S.call(s,(function(){W?H.emit(\"rejectionHandled\",t):Q(\"rejectionhandled\",t,r.value)}))},nt=function(t,r,n,e){return function(o){t(r,n,o,e)}},et=function(t,r,n,e){r.done||(r.done=!0,e&&(r=e),r.value=n,r.state=2,$(t,r,!0))},ot=function(t,r,n,e){if(!r.done){r.done=!0,e&&(r=e);try{if(t===n)throw U(\"Promise can't be resolved itself\");var o=X(n);o?E((function(){var e={done:!1};try{o.call(n,nt(ot,t,e,r),nt(et,t,e,r))}catch(n){et(t,e,n,r)}})):(r.value=n,r.state=1,$(t,r,!1))}catch(n){et(t,{done:!1},n,r)}}};Y&&(C=function(t){g(this,C,M),m(t),e.call(this);var r=R(this);try{t(nt(ot,this,r),nt(et,this,r))}catch(t){et(this,r,t)}},(e=function(t){N(this,{type:M,done:!1,notified:!1,parent:!1,reactions:[],rejection:!1,state:0,value:void 0})}).prototype=h(C.prototype,{then:function(t,r){var n=B(this),e=J(j(this,C));return e.ok=\"function\"!=typeof t||t,e.fail=\"function\"==typeof r&&r,e.domain=W?H.domain:void 0,n.parent=!0,n.reactions.push(e),0!=n.state&&$(this,n,!1),e.promise},catch:function(t){return this.then(void 0,t)}}),o=function(){var t=new e,r=R(t);this.promise=t,this.resolve=nt(ot,t,r),this.reject=nt(et,t,r)},T.f=J=function(t){return t===C||t===i?new o(t):V(t)},c||\"function\"!=typeof p||(a=p.prototype.then,l(p.prototype,\"then\",(function(t,r){var n=this;return new C((function(t,r){a.call(n,t,r)})).then(t,r)}),{unsafe:!0}),\"function\"==typeof q&&u({global:!0,enumerable:!0,forced:!0},{fetch:function(t){return A(C,q.apply(s,arguments))}}))),u({global:!0,wrap:!0,forced:Y},{Promise:C}),v(C,M,!1,!0),y(M),i=f(M),u({target:M,stat:!0,forced:Y},{reject:function(t){var r=J(this);return r.reject.call(void 0,t),r.promise}}),u({target:M,stat:!0,forced:c||Y},{resolve:function(t){return A(c&&this===i?C:this,t)}}),u({target:M,stat:!0,forced:K},{all:function(t){var r=this,n=J(r),e=n.resolve,o=n.reject,i=_((function(){var n=m(r.resolve),i=[],a=0,u=1;w(t,(function(t){var c=a++,s=!1;i.push(void 0),u++,n.call(r,t).then((function(t){s||(s=!0,i[c]=t,--u||e(i))}),o)})),--u||e(i)}));return i.error&&o(i.value),n.promise},race:function(t){var r=this,n=J(r),e=n.reject,o=_((function(){var o=m(r.resolve);w(t,(function(t){o.call(r,t).then(n.resolve,e)}))}));return o.error&&e(o.value),n.promise}})},function(t,r,n){var e=n(31);t.exports=function(t,r,n){for(var o in r)n&&n.unsafe&&t[o]?t[o]=r[o]:e(t,o,r[o],n);return t}},function(t,r,n){\"use strict\";var e=n(16),o=n(14),i=n(2),a=n(6),u=i(\"species\");t.exports=function(t){var r=e(t),n=o.f;a&&r&&!r[u]&&n(r,u,{configurable:!0,get:function(){return this}})}},function(t,r){t.exports=function(t,r,n){if(!(t instanceof r))throw TypeError(\"Incorrect \"+(n?n+\" \":\"\")+\"invocation\");return t}},function(t,r,n){var e=n(2),o=n(18),i=e(\"iterator\"),a=Array.prototype;t.exports=function(t){return void 0!==t&&(o.Array===t||a[i]===t)}},function(t,r,n){var e=n(9);t.exports=function(t,r,n,o){try{return o?r(e(n)[0],n[1]):r(n)}catch(r){var i=t.return;throw void 0!==i&&e(i.call(t)),r}}},function(t,r,n){var e=n(2)(\"iterator\"),o=!1;try{var i=0,a={next:function(){return{done:!!i++}},return:function(){o=!0}};a[e]=function(){return this},Array.from(a,(function(){throw 2}))}catch(t){}t.exports=function(t,r){if(!r&&!o)return!1;var n=!1;try{var i={};i[e]=function(){return{next:function(){return{done:n=!0}}}},t(i)}catch(t){}return n}},function(t,r,n){var e,o,i,a,u,c,s,f,p=n(3),l=n(28).f,h=n(21),v=n(94).set,y=n(95),d=p.MutationObserver||p.WebKitMutationObserver,m=p.process,g=p.Promise,x=\"process\"==h(m),b=l(p,\"queueMicrotask\"),w=b&&b.value;w||(e=function(){var t,r;for(x&&(t=m.domain)&&t.exit();o;){r=o.fn,o=o.next;try{r()}catch(t){throw o?a():i=void 0,t}}i=void 0,t&&t.enter()},x?a=function(){m.nextTick(e)}:d&&!y?(u=!0,c=document.createTextNode(\"\"),new d(e).observe(c,{characterData:!0}),a=function(){c.data=u=!u}):g&&g.resolve?(s=g.resolve(void 0),f=s.then,a=function(){f.call(s,e)}):a=function(){v.call(p,e)}),t.exports=w||function(t){var r={fn:t,next:void 0};i&&(i.next=r),o||(o=r,a()),i=r}},function(t,r,n){var e=n(3);t.exports=function(t,r){var n=e.console;n&&n.error&&(1===arguments.length?n.error(t):n.error(t,r))}},function(t,r,n){\"use strict\";var e=n(0),o=n(20),i=n(91),a=n(4),u=n(16),c=n(93),s=n(97),f=n(31);e({target:\"Promise\",proto:!0,real:!0,forced:!!i&&a((function(){i.prototype.finally.call({then:function(){}},(function(){}))}))},{finally:function(t){var r=c(this,u(\"Promise\")),n=\"function\"==typeof t;return this.then(n?function(n){return s(r,t()).then((function(){return n}))}:t,n?function(n){return s(r,t()).then((function(){throw n}))}:t)}}),o||\"function\"!=typeof i||i.prototype.finally||f(i.prototype,\"finally\",u(\"Promise\").prototype.finally)},function(t,r,n){t.exports=n(138)},function(t,r,n){var e=n(75);n(139),n(140),n(141),n(142),t.exports=e},function(t,r,n){\"use strict\";var e=n(0),o=n(6),i=n(65),a=n(89),u=n(67),c=n(14),s=n(19),f=n(33),p=n(11),l=n(27),h=l.set,v=l.getterFor(\"AggregateError\"),y=function(t,r){var n=this;if(!(n instanceof y))return new y(t,r);a&&(n=a(new Error(r),i(n)));var e=[];return f(t,e.push,e),o?h(n,{errors:e,type:\"AggregateError\"}):n.errors=e,void 0!==r&&p(n,\"message\",String(r)),n};y.prototype=u(Error.prototype,{constructor:s(5,y),message:s(5,\"\"),name:s(5,\"AggregateError\")}),o&&c.f(y.prototype,\"errors\",{get:function(){return v(this).errors},configurable:!0}),e({global:!0},{AggregateError:y})},function(t,r,n){n(98)},function(t,r,n){\"use strict\";var e=n(0),o=n(34),i=n(47);e({target:\"Promise\",stat:!0},{try:function(t){var r=o.f(this),n=i(t);return(n.error?r.reject:r.resolve)(n.value),r.promise}})},function(t,r,n){\"use strict\";var e=n(0),o=n(22),i=n(16),a=n(34),u=n(47),c=n(33);e({target:\"Promise\",stat:!0},{any:function(t){var r=this,n=a.f(r),e=n.resolve,s=n.reject,f=u((function(){var n=o(r.resolve),a=[],u=0,f=1,p=!1;c(t,(function(t){var o=u++,c=!1;a.push(void 0),f++,n.call(r,t).then((function(t){c||p||(p=!0,e(t))}),(function(t){c||p||(c=!0,a[o]=t,--f||s(new(i(\"AggregateError\"))(a,\"No one promise resolved\")))}))})),--f||s(new(i(\"AggregateError\"))(a,\"No one promise resolved\"))}));return f.error&&s(f.value),n.promise}})},function(t,r,n){var e=n(144);t.exports=e},function(t,r,n){n(145);var e=n(5);e.JSON||(e.JSON={stringify:JSON.stringify}),t.exports=function(t,r,n){return e.JSON.stringify.apply(null,arguments)}},function(t,r,n){var e=n(0),o=n(16),i=n(4),a=o(\"JSON\",\"stringify\"),u=/[\\uD800-\\uDFFF]/g,c=/^[\\uD800-\\uDBFF]$/,s=/^[\\uDC00-\\uDFFF]$/,f=function(t,r,n){var e=n.charAt(r-1),o=n.charAt(r+1);return c.test(t)&&!s.test(o)||s.test(t)&&!c.test(e)?\"\\\\u\"+t.charCodeAt(0).toString(16):t},p=i((function(){return'\"\\\\udf06\\\\ud834\"'!==a(\"\\udf06\\ud834\")||'\"\\\\udead\"'!==a(\"\\udead\")}));a&&e({target:\"JSON\",stat:!0,forced:p},{stringify:function(t,r,n){var e=a.apply(null,arguments);return\"string\"==typeof e?e.replace(u,f):e}})},function(t,r,n){var e=n(147);t.exports=function(t){if(e(t))return t}},function(t,r,n){t.exports=n(148)},function(t,r,n){var e=n(99);t.exports=e},function(t,r,n){n(0)({target:\"Array\",stat:!0},{isArray:n(48)})},function(t,r,n){var e=n(52),o=n(153);t.exports=function(t,r){if(o(Object(t))||\"[object Arguments]\"===Object.prototype.toString.call(t)){var n=[],i=!0,a=!1,u=void 0;try{for(var c,s=e(t);!(i=(c=s.next()).done)&&(n.push(c.value),!r||n.length!==r);i=!0);}catch(t){a=!0,u=t}finally{try{i||null==s.return||s.return()}finally{if(a)throw u}}return n}}},function(t,r,n){n(32),n(40);var e=n(152);t.exports=e},function(t,r,n){var e=n(9),o=n(92);t.exports=function(t){var r=o(t);if(\"function\"!=typeof r)throw TypeError(String(t)+\" is not iterable\");return e(r.call(t))}},function(t,r,n){t.exports=n(154)},function(t,r,n){n(32),n(40);var e=n(155);t.exports=e},function(t,r,n){var e=n(30),o=n(2),i=n(18),a=o(\"iterator\");t.exports=function(t){var r=Object(t);return void 0!==r[a]||\"@@iterator\"in r||i.hasOwnProperty(e(r))}},function(t,r){t.exports=function(){throw new TypeError(\"Invalid attempt to destructure non-iterable instance\")}},function(t,r,n){var e=n(158);t.exports=e},function(t,r,n){n(159);var e=n(5);t.exports=e.Object.entries},function(t,r,n){var e=n(0),o=n(160).entries;e({target:\"Object\",stat:!0},{entries:function(t){return o(t)}})},function(t,r,n){var e=n(6),o=n(45),i=n(15),a=n(64).f,u=function(t){return function(r){for(var n,u=i(r),c=o(u),s=c.length,f=0,p=[];s>f;)n=c[f++],e&&!a.call(u,n)||p.push(t?[n,u[n]]:u[n]);return p}};t.exports={entries:u(!0),values:u(!1)}},function(t,r,n){n(32);var e=n(162),o=n(30),i=Array.prototype,a={DOMTokenList:!0,NodeList:!0};t.exports=function(t){var r=t.forEach;return t===i||t instanceof Array&&r===i.forEach||a.hasOwnProperty(o(t))?e:r}},function(t,r,n){var e=n(163);t.exports=e},function(t,r,n){n(164);var e=n(35);t.exports=e(\"Array\").forEach},function(t,r,n){\"use strict\";var e=n(0),o=n(165);e({target:\"Array\",proto:!0,forced:[].forEach!=o},{forEach:o})},function(t,r,n){\"use strict\";var e=n(49).forEach,o=n(101),i=n(50),a=o(\"forEach\"),u=i(\"forEach\");t.exports=a&&u?[].forEach:function(t){return e(this,t,arguments.length>1?arguments[1]:void 0)}},function(t,r,n){var e=n(102);t.exports=e},function(t,r,n){var e=n(0),o=n(6);e({target:\"Object\",stat:!0,forced:!o,sham:!o},{defineProperty:n(14).f})},function(t,r,n){var e=n(169);t.exports=e},function(t,r,n){n(170);var e=n(5).Object,o=t.exports=function(t,r){return e.defineProperties(t,r)};e.defineProperties.sham&&(o.sham=!0)},function(t,r,n){var e=n(0),o=n(6);e({target:\"Object\",stat:!0,forced:!o,sham:!o},{defineProperties:n(85)})},function(t,r,n){var e=n(172);t.exports=e},function(t,r,n){n(173);var e=n(5);t.exports=e.Object.getOwnPropertyDescriptors},function(t,r,n){var e=n(0),o=n(6),i=n(174),a=n(15),u=n(28),c=n(72);e({target:\"Object\",stat:!0,sham:!o},{getOwnPropertyDescriptors:function(t){for(var r,n,e=a(t),o=u.f,s=i(e),f={},p=0;s.length>p;)void 0!==(n=o(e,r=s[p++]))&&c(f,r,n);return f}})},function(t,r,n){var e=n(16),o=n(71),i=n(103),a=n(9);t.exports=e(\"Reflect\",\"ownKeys\")||function(t){var r=o.f(a(t)),n=i.f;return n?r.concat(n(t)):r}},function(t,r,n){var e=n(176);t.exports=e},function(t,r,n){n(177);var e=n(5).Object,o=t.exports=function(t,r){return e.getOwnPropertyDescriptor(t,r)};e.getOwnPropertyDescriptor.sham&&(o.sham=!0)},function(t,r,n){var e=n(0),o=n(4),i=n(15),a=n(28).f,u=n(6),c=o((function(){a(1)}));e({target:\"Object\",stat:!0,forced:!u||c,sham:!u},{getOwnPropertyDescriptor:function(t,r){return a(i(t),r)}})},function(t,r,n){var e=n(104);t.exports=e},function(t,r,n){var e=n(15),o=n(71).f,i={}.toString,a=\"object\"==typeof window&&window&&Object.getOwnPropertyNames?Object.getOwnPropertyNames(window):[];t.exports.f=function(t){return a&&\"[object Window]\"==i.call(t)?function(t){try{return o(t)}catch(t){return a.slice()}}(t):o(e(t))}},function(t,r,n){var e=n(181);t.exports=e},function(t,r,n){var e=n(182),o=Array.prototype;t.exports=function(t){var r=t.concat;return t===o||t instanceof Array&&r===o.concat?e:r}},function(t,r,n){n(106);var e=n(35);t.exports=e(\"Array\").concat},function(t,r,n){t.exports=n(184)},function(t,r,n){var e=n(102);t.exports=e},function(t,r,n){var e=n(186);t.exports=e},function(t,r,n){var e=n(187),o=Array.prototype;t.exports=function(t){var r=t.indexOf;return t===o||t instanceof Array&&r===o.indexOf?e:r}},function(t,r,n){n(188);var e=n(35);t.exports=e(\"Array\").indexOf},function(t,r,n){\"use strict\";var e=n(0),o=n(87).indexOf,i=n(101),a=n(50),u=[].indexOf,c=!!u&&1/[1].indexOf(1,-0)<0,s=i(\"indexOf\"),f=a(\"indexOf\",{ACCESSORS:!0,1:0});e({target:\"Array\",proto:!0,forced:c||!s||!f},{indexOf:function(t){return c?u.apply(this,arguments)||0:o(this,t,arguments.length>1?arguments[1]:void 0)}})},function(t,r,n){t.exports=n(190)},function(t,r,n){var e=n(104);t.exports=e},function(t,r,n){var e=n(107),o=n(192);t.exports=function(t,r){if(null==t)return{};var n,i,a={},u=o(t);for(i=0;i<u.length;i++)n=u[i],e(r).call(r,n)>=0||(a[n]=t[n]);return a}},function(t,r,n){t.exports=n(193)},function(t,r,n){var e=n(108);t.exports=e},function(t,r,n){var e=n(0),o=n(29),i=n(45);e({target:\"Object\",stat:!0,forced:n(4)((function(){i(1)}))},{keys:function(t){return i(o(t))}})},function(t,r,n){t.exports=n(196)},function(t,r,n){var e=n(197);t.exports=e},function(t,r,n){n(109),n(40),n(32);var e=n(73);t.exports=e.f(\"iterator\")},function(t,r,n){t.exports=n(199)},function(t,r,n){var e=n(200);n(216),n(217),n(218),n(219),n(220),t.exports=e},function(t,r,n){n(106),n(76),n(105),n(201),n(202),n(203),n(204),n(109),n(205),n(206),n(207),n(208),n(209),n(210),n(211),n(212),n(213),n(214),n(215);var e=n(5);t.exports=e.Symbol},function(t,r,n){n(1)(\"asyncIterator\")},function(t,r){},function(t,r,n){n(1)(\"hasInstance\")},function(t,r,n){n(1)(\"isConcatSpreadable\")},function(t,r,n){n(1)(\"match\")},function(t,r,n){n(1)(\"matchAll\")},function(t,r,n){n(1)(\"replace\")},function(t,r,n){n(1)(\"search\")},function(t,r,n){n(1)(\"species\")},function(t,r,n){n(1)(\"split\")},function(t,r,n){n(1)(\"toPrimitive\")},function(t,r,n){n(1)(\"toStringTag\")},function(t,r,n){n(1)(\"unscopables\")},function(t,r,n){n(23)(Math,\"Math\",!0)},function(t,r,n){var e=n(3);n(23)(e.JSON,\"JSON\",!0)},function(t,r,n){n(1)(\"asyncDispose\")},function(t,r,n){n(1)(\"dispose\")},function(t,r,n){n(1)(\"observable\")},function(t,r,n){n(1)(\"patternMatch\")},function(t,r,n){n(1)(\"replaceAll\")},function(t,r,n){var e=n(108);t.exports=e},function(t,r,n){var e=n(223);t.exports=e},function(t,r,n){var e=n(224),o=Array.prototype;t.exports=function(t){var r=t.filter;return t===o||t instanceof Array&&r===o.filter?e:r}},function(t,r,n){n(225);var e=n(35);t.exports=e(\"Array\").filter},function(t,r,n){\"use strict\";var e=n(0),o=n(49).filter,i=n(74),a=n(50),u=i(\"filter\"),c=a(\"filter\");e({target:\"Array\",proto:!0,forced:!u||!c},{filter:function(t){return o(this,t,arguments.length>1?arguments[1]:void 0)}})},function(t,r,n){var e=n(227);t.exports=e},function(t,r,n){var e=n(228),o=Array.prototype;t.exports=function(t){var r=t.map;return t===o||t instanceof Array&&r===o.map?e:r}},function(t,r,n){n(229);var e=n(35);t.exports=e(\"Array\").map},function(t,r,n){\"use strict\";var e=n(0),o=n(49).map,i=n(74),a=n(50),u=i(\"map\"),c=a(\"map\");e({target:\"Array\",proto:!0,forced:!u||!c},{map:function(t){return o(this,t,arguments.length>1?arguments[1]:void 0)}})},function(t,r,n){var e=n(231);t.exports=e},function(t,r,n){n(90),n(232);var e=n(5);t.exports=e.Object.fromEntries},function(t,r,n){var e=n(0),o=n(33),i=n(72);e({target:\"Object\",stat:!0},{fromEntries:function(t){var r={};return o(t,(function(t,n){i(r,t,n)}),void 0,!0),r}})},function(t,r,n){var e=n(99);t.exports=e},function(t,r,n){\"use strict\";n.r(r);var e=n(7),o=n.n(e),i=n(8),a=n.n(i),u=n(17),c=n.n(u),s=n(36),f=n.n(s),p=n(37),l=n.n(p),h=function(){var t=c()(o.a.mark((function t(r){var n,e,i;return o.a.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return n=r.domain,e=r.stateHandle,i=\"\".concat(n,\"/idp/idx/introspect\"),t.abrupt(\"return\",l()(i,{method:\"POST\",headers:{\"content-type\":\"application/json\"},body:f()({stateToken:e})}).then((function(t){return t.ok?t.json():t.json().then((function(t){return a.a.reject(t)}))})));case 3:case\"end\":return t.stop()}}),t)})));return function(r){return t.apply(this,arguments)}}(),v=n(51),y=n.n(v),d=n(53),m=n.n(d),g=n(13),x=n.n(g),b=n(54),w=n.n(b),O=n(55),j=n.n(O),S=n(24),E=n.n(S),A=n(25),P=n.n(A),T=n(26),_=n.n(T),L=n(110),k=n.n(L),F=n(56),D=n.n(F),I=n(111),M=n.n(I),R=n(112),N=n.n(R),B=n(38),C=n.n(B),U=n(39),G=n.n(U),H=n(57),q=n.n(H),J=n(58),V=n.n(J),W=n(113),z=n.n(W),Y=n(52),K=n.n(Y),X=function(t){return!(t.visible||!t.value)},$=function(t){var r=[],n={},e=!0,o=!1,i=void 0;try{for(var a,u=K()(t.value);!(e=(a=u.next()).done);e=!0){var c,s=a.value;if(X(s))n[s.name]=null!==(c=s.value)&&void 0!==c?c:\"\";else r.push(s)}}catch(t){o=!0,i=t}finally{try{e||null==u.return||u.return()}finally{if(o)throw i}}return{neededParamsForAction:r,existingParamsForAction:n}};function Q(t,r){var n=C()(t);if(_.a){var e=_()(t);r&&(e=G()(e).call(e,(function(r){return P()(t,r).enumerable}))),n.push.apply(n,e)}return n}function Z(t){for(var r=1;r<arguments.length;r++){var n,e=null!=arguments[r]?arguments[r]:{};if(r%2)x()(n=Q(Object(e),!0)).call(n,(function(r){D()(t,r,e[r])}));else if(E.a)j()(t,E()(e));else{var o;x()(o=Q(Object(e))).call(o,(function(r){w()(t,r,P()(e,r))}))}}return t}var tt,rt=function(t){var r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=t.href;return function(){var e=c()(o.a.mark((function e(i){return o.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt(\"return\",l()(n,{method:t.method,headers:{\"content-type\":t.accepts},body:f()(Z({},i,{},r))}).then((function(t){var r=t.json();return t.ok?r:401===t.status&&'Oktadevicejwt realm=\"Okta Device\"'===t.headers.get(\"WWW-Authenticate\")?r.then((function(t){return a.a.reject(ct(t))})):r.then((function(t){return a.a.reject(t)}))})).then((function(t){return ct(t)})));case 1:case\"end\":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}()},nt=function(t){var r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=t.href;return function(){var e=c()(o.a.mark((function e(i){return o.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt(\"return\",l()(n,{method:t.method,headers:{\"content-type\":t.accepts},body:f()(Z({},i,{},r))}).then((function(t){return t.ok?t.json():t.json().then((function(t){return a.a.reject(t)}))})).then((function(t){return ct(t)})));case 1:case\"end\":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}()},et=function(t){var r=t.refresh?nt:rt,n=function(t){t=z()(t)?t:[t];var r={},n={},e=!0,o=!1,i=void 0;try{for(var a,u=K()(t);!(e=(a=u.next()).done);e=!0){var c=a.value,s=$(c),f=s.neededParamsForAction,p=s.existingParamsForAction;r[c.name]=f,n[c.name]=p}}catch(t){o=!0,i=t}finally{try{e||null==u.return||u.return()}finally{if(o)throw i}}return{neededParams:r,existingParams:n}}(t),e=n.neededParams,o=r(t,n.existingParams[t.name]);return o.neededParams=e[t.name],o};function ot(t,r){var n=C()(t);if(_.a){var e=_()(t);r&&(e=G()(e).call(e,(function(r){return P()(t,r).enumerable}))),n.push.apply(n,e)}return n}var it=V()(q()(tt=[\"remediation\",\"context\"]).call(tt,(function(t){return[t,!0]}))),at=function(t){var r,n,e={},o={};return x()(r=G()(n=C()(t)).call(n,(function(t){return!it[t]}))).call(r,(function(r){var n;if(\"object\"===N()(t[r])&&!!t[r])if(t[r].rel)e[t[r].name]=et(t[r]);else{var i=t[r],a=i.value,u=i.type,c=M()(i,[\"value\",\"type\"]);o[r]=function(t){for(var r=1;r<arguments.length;r++){var n,e=null!=arguments[r]?arguments[r]:{};if(r%2)x()(n=ot(Object(e),!0)).call(n,(function(r){D()(t,r,e[r])}));else if(E.a)j()(t,E()(e));else{var o;x()(o=ot(Object(e))).call(o,(function(r){w()(t,r,P()(e,r))}))}}return t}({type:u},c),\"object\"===u?(o[r].value={},x()(n=m()(a)).call(n,(function(t){var n,i=y()(t,2),a=i[0],u=i[1];u.rel?e[k()(n=\"\".concat(r,\"-\")).call(n,a.name||a)]=et(u):o[r].value[a]=u}))):o[r].value=a}else o[r]=t[r]})),{context:o,actions:e}},ut=function(t){var r,n,e=(n=(null===(r=t.remediation)||void 0===r?void 0:r.value)||[],V()(q()(n).call(n,(function(t){return[t.name,et(t)]})))),o=at(t);return{remediations:e,context:o.context,actions:o.actions}},ct=function(t){var r,n=ut(t),e=n.remediations,i=n.context,u=n.actions,s={};return x()(r=m()(e)).call(r,(function(t){var r=y()(t,2),n=r[0],e=r[1];s[n]=e.neededParams})),{proceed:function(){var t=c()(o.a.mark((function t(r){var n,i=arguments;return o.a.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(n=i.length>1&&void 0!==i[1]?i[1]:{},e[r]){t.next=3;break}return t.abrupt(\"return\",a.a.reject(\"Unknown remediation choice: [\".concat(r,\"]\")));case 3:return t.abrupt(\"return\",e[r](n));case 4:case\"end\":return t.stop()}}),t)})));return function(r){return t.apply(this,arguments)}}(),neededToProceed:s,actions:u,context:i,rawIdxState:t}},st=function(){var t=c()(o.a.mark((function t(r){var n,e,i,u;return o.a.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(n=r.domain,e=r.stateHandle){t.next=3;break}return t.abrupt(\"return\",a.a.reject({error:\"stateHandle is required\"}));case 3:if(n){t.next=5;break}return t.abrupt(\"return\",a.a.reject({error:\"domain is required\"}));case 5:return t.next=7,h({domain:n,stateHandle:e}).catch((function(t){return a.a.reject({error:\"introspect call failed\",details:t})}));case 7:return i=t.sent,u=ct(i),t.abrupt(\"return\",u);case 10:case\"end\":return t.stop()}}),t)})));return function(r){return t.apply(this,arguments)}}();r.default={start:st}}])}));\n//# sourceMappingURL=idx.js.map\n\n\n// WEBPACK FOOTER //\n// ./packages/@okta/idx-js/idx.js","module.exports = { \"default\": require(\"core-js/library/fn/array/from\"), __esModule: true };\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/babel-runtime/core-js/array/from.js\n// module id = 497\n// module chunks = 0","require('../../modules/es6.string.iterator');\nrequire('../../modules/es6.array.from');\nmodule.exports = require('../../modules/_core').Array.from;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/fn/array/from.js\n// module id = 498\n// module chunks = 0","'use strict';\nvar ctx = require('./_ctx');\nvar $export = require('./_export');\nvar toObject = require('./_to-object');\nvar call = require('./_iter-call');\nvar isArrayIter = require('./_is-array-iter');\nvar toLength = require('./_to-length');\nvar createProperty = require('./_create-property');\nvar getIterFn = require('./core.get-iterator-method');\n\n$export($export.S + $export.F * !require('./_iter-detect')(function (iter) { Array.from(iter); }), 'Array', {\n // 22.1.2.1 Array.from(arrayLike, mapfn = undefined, thisArg = undefined)\n from: function from(arrayLike /* , mapfn = undefined, thisArg = undefined */) {\n var O = toObject(arrayLike);\n var C = typeof this == 'function' ? this : Array;\n var aLen = arguments.length;\n var mapfn = aLen > 1 ? arguments[1] : undefined;\n var mapping = mapfn !== undefined;\n var index = 0;\n var iterFn = getIterFn(O);\n var length, result, step, iterator;\n if (mapping) mapfn = ctx(mapfn, aLen > 2 ? arguments[2] : undefined, 2);\n // if object isn't iterable or it's array with default iterator - use simple case\n if (iterFn != undefined && !(C == Array && isArrayIter(iterFn))) {\n for (iterator = iterFn.call(O), result = new C(); !(step = iterator.next()).done; index++) {\n createProperty(result, index, mapping ? call(iterator, mapfn, [step.value, index], true) : step.value);\n }\n } else {\n length = toLength(O.length);\n for (result = new C(length); length > index; index++) {\n createProperty(result, index, mapping ? mapfn(O[index], index) : O[index]);\n }\n }\n result.length = index;\n return result;\n }\n});\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/es6.array.from.js\n// module id = 499\n// module chunks = 0","'use strict';\nvar $defineProperty = require('./_object-dp');\nvar createDesc = require('./_property-desc');\n\nmodule.exports = function (object, index, value) {\n if (index in object) $defineProperty.f(object, index, createDesc(0, value));\n else object[index] = value;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_create-property.js\n// module id = 500\n// module chunks = 0","module.exports = { \"default\": require(\"core-js/library/fn/object/set-prototype-of\"), __esModule: true };\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/babel-runtime/core-js/object/set-prototype-of.js\n// module id = 501\n// module chunks = 0","require('../../modules/es6.object.set-prototype-of');\nmodule.exports = require('../../modules/_core').Object.setPrototypeOf;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/fn/object/set-prototype-of.js\n// module id = 502\n// module chunks = 0","// 19.1.3.19 Object.setPrototypeOf(O, proto)\nvar $export = require('./_export');\n$export($export.S, 'Object', { setPrototypeOf: require('./_set-proto').set });\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/es6.object.set-prototype-of.js\n// module id = 503\n// module chunks = 0","// Works with __proto__ only. Old v8 can't work with null proto objects.\n/* eslint-disable no-proto */\nvar isObject = require('./_is-object');\nvar anObject = require('./_an-object');\nvar check = function (O, proto) {\n anObject(O);\n if (!isObject(proto) && proto !== null) throw TypeError(proto + \": can't set as prototype!\");\n};\nmodule.exports = {\n set: Object.setPrototypeOf || ('__proto__' in {} ? // eslint-disable-line\n function (test, buggy, set) {\n try {\n set = require('./_ctx')(Function.call, require('./_object-gopd').f(Object.prototype, '__proto__').set, 2);\n set(test, []);\n buggy = !(test instanceof Array);\n } catch (e) { buggy = true; }\n return function setPrototypeOf(O, proto) {\n check(O, proto);\n if (buggy) O.__proto__ = proto;\n else set(O, proto);\n return O;\n };\n }({}, false) : undefined),\n check: check\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_set-proto.js\n// module id = 504\n// module chunks = 0","module.exports = { \"default\": require(\"core-js/library/fn/object/define-properties\"), __esModule: true };\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/babel-runtime/core-js/object/define-properties.js\n// module id = 505\n// module chunks = 0","require('../../modules/es6.object.define-properties');\nvar $Object = require('../../modules/_core').Object;\nmodule.exports = function defineProperties(T, D) {\n return $Object.defineProperties(T, D);\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/fn/object/define-properties.js\n// module id = 506\n// module chunks = 0","var $export = require('./_export');\n// 19.1.2.3 / 15.2.3.7 Object.defineProperties(O, Properties)\n$export($export.S + $export.F * !require('./_descriptors'), 'Object', { defineProperties: require('./_object-dps') });\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/es6.object.define-properties.js\n// module id = 507\n// module chunks = 0","module.exports = { \"default\": require(\"core-js/library/fn/object/get-own-property-symbols\"), __esModule: true };\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/babel-runtime/core-js/object/get-own-property-symbols.js\n// module id = 508\n// module chunks = 0","require('../../modules/es6.symbol');\nmodule.exports = require('../../modules/_core').Object.getOwnPropertySymbols;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/fn/object/get-own-property-symbols.js\n// module id = 509\n// module chunks = 0","module.exports = { \"default\": require(\"core-js/library/fn/object/get-prototype-of\"), __esModule: true };\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/babel-runtime/core-js/object/get-prototype-of.js\n// module id = 510\n// module chunks = 0","require('../../modules/es6.object.get-prototype-of');\nmodule.exports = require('../../modules/_core').Object.getPrototypeOf;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/fn/object/get-prototype-of.js\n// module id = 511\n// module chunks = 0","// 19.1.2.9 Object.getPrototypeOf(O)\nvar toObject = require('./_to-object');\nvar $getPrototypeOf = require('./_object-gpo');\n\nrequire('./_object-sap')('getPrototypeOf', function () {\n return function getPrototypeOf(it) {\n return $getPrototypeOf(toObject(it));\n };\n});\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/es6.object.get-prototype-of.js\n// module id = 512\n// module chunks = 0","require('../../modules/es6.object.keys');\nmodule.exports = require('../../modules/_core').Object.keys;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/fn/object/keys.js\n// module id = 513\n// module chunks = 0","// 19.1.2.14 Object.keys(O)\nvar toObject = require('./_to-object');\nvar $keys = require('./_object-keys');\n\nrequire('./_object-sap')('keys', function () {\n return function keys(it) {\n return $keys(toObject(it));\n };\n});\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/es6.object.keys.js\n// module id = 514\n// module chunks = 0","require('../modules/es6.object.to-string');\nrequire('../modules/es6.string.iterator');\nrequire('../modules/web.dom.iterable');\nrequire('../modules/es6.promise');\nrequire('../modules/es7.promise.finally');\nrequire('../modules/es7.promise.try');\nmodule.exports = require('../modules/_core').Promise;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/fn/promise.js\n// module id = 515\n// module chunks = 0","'use strict';\nvar LIBRARY = require('./_library');\nvar global = require('./_global');\nvar ctx = require('./_ctx');\nvar classof = require('./_classof');\nvar $export = require('./_export');\nvar isObject = require('./_is-object');\nvar aFunction = require('./_a-function');\nvar anInstance = require('./_an-instance');\nvar forOf = require('./_for-of');\nvar speciesConstructor = require('./_species-constructor');\nvar task = require('./_task').set;\nvar microtask = require('./_microtask')();\nvar newPromiseCapabilityModule = require('./_new-promise-capability');\nvar perform = require('./_perform');\nvar userAgent = require('./_user-agent');\nvar promiseResolve = require('./_promise-resolve');\nvar PROMISE = 'Promise';\nvar TypeError = global.TypeError;\nvar process = global.process;\nvar versions = process && process.versions;\nvar v8 = versions && versions.v8 || '';\nvar $Promise = global[PROMISE];\nvar isNode = classof(process) == 'process';\nvar empty = function () { /* empty */ };\nvar Internal, newGenericPromiseCapability, OwnPromiseCapability, Wrapper;\nvar newPromiseCapability = newGenericPromiseCapability = newPromiseCapabilityModule.f;\n\nvar USE_NATIVE = !!function () {\n try {\n // correct subclassing with @@species support\n var promise = $Promise.resolve(1);\n var FakePromise = (promise.constructor = {})[require('./_wks')('species')] = function (exec) {\n exec(empty, empty);\n };\n // unhandled rejections tracking support, NodeJS Promise without it fails @@species test\n return (isNode || typeof PromiseRejectionEvent == 'function')\n && promise.then(empty) instanceof FakePromise\n // v8 6.6 (Node 10 and Chrome 66) have a bug with resolving custom thenables\n // https://bugs.chromium.org/p/chromium/issues/detail?id=830565\n // we can't detect it synchronously, so just check versions\n && v8.indexOf('6.6') !== 0\n && userAgent.indexOf('Chrome/66') === -1;\n } catch (e) { /* empty */ }\n}();\n\n// helpers\nvar isThenable = function (it) {\n var then;\n return isObject(it) && typeof (then = it.then) == 'function' ? then : false;\n};\nvar notify = function (promise, isReject) {\n if (promise._n) return;\n promise._n = true;\n var chain = promise._c;\n microtask(function () {\n var value = promise._v;\n var ok = promise._s == 1;\n var i = 0;\n var run = function (reaction) {\n var handler = ok ? reaction.ok : reaction.fail;\n var resolve = reaction.resolve;\n var reject = reaction.reject;\n var domain = reaction.domain;\n var result, then, exited;\n try {\n if (handler) {\n if (!ok) {\n if (promise._h == 2) onHandleUnhandled(promise);\n promise._h = 1;\n }\n if (handler === true) result = value;\n else {\n if (domain) domain.enter();\n result = handler(value); // may throw\n if (domain) {\n domain.exit();\n exited = true;\n }\n }\n if (result === reaction.promise) {\n reject(TypeError('Promise-chain cycle'));\n } else if (then = isThenable(result)) {\n then.call(result, resolve, reject);\n } else resolve(result);\n } else reject(value);\n } catch (e) {\n if (domain && !exited) domain.exit();\n reject(e);\n }\n };\n while (chain.length > i) run(chain[i++]); // variable length - can't use forEach\n promise._c = [];\n promise._n = false;\n if (isReject && !promise._h) onUnhandled(promise);\n });\n};\nvar onUnhandled = function (promise) {\n task.call(global, function () {\n var value = promise._v;\n var unhandled = isUnhandled(promise);\n var result, handler, console;\n if (unhandled) {\n result = perform(function () {\n if (isNode) {\n process.emit('unhandledRejection', value, promise);\n } else if (handler = global.onunhandledrejection) {\n handler({ promise: promise, reason: value });\n } else if ((console = global.console) && console.error) {\n console.error('Unhandled promise rejection', value);\n }\n });\n // Browsers should not trigger `rejectionHandled` event if it was handled here, NodeJS - should\n promise._h = isNode || isUnhandled(promise) ? 2 : 1;\n } promise._a = undefined;\n if (unhandled && result.e) throw result.v;\n });\n};\nvar isUnhandled = function (promise) {\n return promise._h !== 1 && (promise._a || promise._c).length === 0;\n};\nvar onHandleUnhandled = function (promise) {\n task.call(global, function () {\n var handler;\n if (isNode) {\n process.emit('rejectionHandled', promise);\n } else if (handler = global.onrejectionhandled) {\n handler({ promise: promise, reason: promise._v });\n }\n });\n};\nvar $reject = function (value) {\n var promise = this;\n if (promise._d) return;\n promise._d = true;\n promise = promise._w || promise; // unwrap\n promise._v = value;\n promise._s = 2;\n if (!promise._a) promise._a = promise._c.slice();\n notify(promise, true);\n};\nvar $resolve = function (value) {\n var promise = this;\n var then;\n if (promise._d) return;\n promise._d = true;\n promise = promise._w || promise; // unwrap\n try {\n if (promise === value) throw TypeError(\"Promise can't be resolved itself\");\n if (then = isThenable(value)) {\n microtask(function () {\n var wrapper = { _w: promise, _d: false }; // wrap\n try {\n then.call(value, ctx($resolve, wrapper, 1), ctx($reject, wrapper, 1));\n } catch (e) {\n $reject.call(wrapper, e);\n }\n });\n } else {\n promise._v = value;\n promise._s = 1;\n notify(promise, false);\n }\n } catch (e) {\n $reject.call({ _w: promise, _d: false }, e); // wrap\n }\n};\n\n// constructor polyfill\nif (!USE_NATIVE) {\n // 25.4.3.1 Promise(executor)\n $Promise = function Promise(executor) {\n anInstance(this, $Promise, PROMISE, '_h');\n aFunction(executor);\n Internal.call(this);\n try {\n executor(ctx($resolve, this, 1), ctx($reject, this, 1));\n } catch (err) {\n $reject.call(this, err);\n }\n };\n // eslint-disable-next-line no-unused-vars\n Internal = function Promise(executor) {\n this._c = []; // <- awaiting reactions\n this._a = undefined; // <- checked in isUnhandled reactions\n this._s = 0; // <- state\n this._d = false; // <- done\n this._v = undefined; // <- value\n this._h = 0; // <- rejection state, 0 - default, 1 - handled, 2 - unhandled\n this._n = false; // <- notify\n };\n Internal.prototype = require('./_redefine-all')($Promise.prototype, {\n // 25.4.5.3 Promise.prototype.then(onFulfilled, onRejected)\n then: function then(onFulfilled, onRejected) {\n var reaction = newPromiseCapability(speciesConstructor(this, $Promise));\n reaction.ok = typeof onFulfilled == 'function' ? onFulfilled : true;\n reaction.fail = typeof onRejected == 'function' && onRejected;\n reaction.domain = isNode ? process.domain : undefined;\n this._c.push(reaction);\n if (this._a) this._a.push(reaction);\n if (this._s) notify(this, false);\n return reaction.promise;\n },\n // 25.4.5.1 Promise.prototype.catch(onRejected)\n 'catch': function (onRejected) {\n return this.then(undefined, onRejected);\n }\n });\n OwnPromiseCapability = function () {\n var promise = new Internal();\n this.promise = promise;\n this.resolve = ctx($resolve, promise, 1);\n this.reject = ctx($reject, promise, 1);\n };\n newPromiseCapabilityModule.f = newPromiseCapability = function (C) {\n return C === $Promise || C === Wrapper\n ? new OwnPromiseCapability(C)\n : newGenericPromiseCapability(C);\n };\n}\n\n$export($export.G + $export.W + $export.F * !USE_NATIVE, { Promise: $Promise });\nrequire('./_set-to-string-tag')($Promise, PROMISE);\nrequire('./_set-species')(PROMISE);\nWrapper = require('./_core')[PROMISE];\n\n// statics\n$export($export.S + $export.F * !USE_NATIVE, PROMISE, {\n // 25.4.4.5 Promise.reject(r)\n reject: function reject(r) {\n var capability = newPromiseCapability(this);\n var $$reject = capability.reject;\n $$reject(r);\n return capability.promise;\n }\n});\n$export($export.S + $export.F * (LIBRARY || !USE_NATIVE), PROMISE, {\n // 25.4.4.6 Promise.resolve(x)\n resolve: function resolve(x) {\n return promiseResolve(LIBRARY && this === Wrapper ? $Promise : this, x);\n }\n});\n$export($export.S + $export.F * !(USE_NATIVE && require('./_iter-detect')(function (iter) {\n $Promise.all(iter)['catch'](empty);\n})), PROMISE, {\n // 25.4.4.1 Promise.all(iterable)\n all: function all(iterable) {\n var C = this;\n var capability = newPromiseCapability(C);\n var resolve = capability.resolve;\n var reject = capability.reject;\n var result = perform(function () {\n var values = [];\n var index = 0;\n var remaining = 1;\n forOf(iterable, false, function (promise) {\n var $index = index++;\n var alreadyCalled = false;\n values.push(undefined);\n remaining++;\n C.resolve(promise).then(function (value) {\n if (alreadyCalled) return;\n alreadyCalled = true;\n values[$index] = value;\n --remaining || resolve(values);\n }, reject);\n });\n --remaining || resolve(values);\n });\n if (result.e) reject(result.v);\n return capability.promise;\n },\n // 25.4.4.4 Promise.race(iterable)\n race: function race(iterable) {\n var C = this;\n var capability = newPromiseCapability(C);\n var reject = capability.reject;\n var result = perform(function () {\n forOf(iterable, false, function (promise) {\n C.resolve(promise).then(capability.resolve, reject);\n });\n });\n if (result.e) reject(result.v);\n return capability.promise;\n }\n});\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/es6.promise.js\n// module id = 516\n// module chunks = 0","module.exports = function (it, Constructor, name, forbiddenField) {\n if (!(it instanceof Constructor) || (forbiddenField !== undefined && forbiddenField in it)) {\n throw TypeError(name + ': incorrect invocation!');\n } return it;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_an-instance.js\n// module id = 517\n// module chunks = 0","var ctx = require('./_ctx');\nvar call = require('./_iter-call');\nvar isArrayIter = require('./_is-array-iter');\nvar anObject = require('./_an-object');\nvar toLength = require('./_to-length');\nvar getIterFn = require('./core.get-iterator-method');\nvar BREAK = {};\nvar RETURN = {};\nvar exports = module.exports = function (iterable, entries, fn, that, ITERATOR) {\n var iterFn = ITERATOR ? function () { return iterable; } : getIterFn(iterable);\n var f = ctx(fn, that, entries ? 2 : 1);\n var index = 0;\n var length, step, iterator, result;\n if (typeof iterFn != 'function') throw TypeError(iterable + ' is not iterable!');\n // fast case for arrays with default iterator\n if (isArrayIter(iterFn)) for (length = toLength(iterable.length); length > index; index++) {\n result = entries ? f(anObject(step = iterable[index])[0], step[1]) : f(iterable[index]);\n if (result === BREAK || result === RETURN) return result;\n } else for (iterator = iterFn.call(iterable); !(step = iterator.next()).done;) {\n result = call(iterator, f, step.value, entries);\n if (result === BREAK || result === RETURN) return result;\n }\n};\nexports.BREAK = BREAK;\nexports.RETURN = RETURN;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_for-of.js\n// module id = 518\n// module chunks = 0","// fast apply, http://jsperf.lnkit.com/fast-apply/5\nmodule.exports = function (fn, args, that) {\n var un = that === undefined;\n switch (args.length) {\n case 0: return un ? fn()\n : fn.call(that);\n case 1: return un ? fn(args[0])\n : fn.call(that, args[0]);\n case 2: return un ? fn(args[0], args[1])\n : fn.call(that, args[0], args[1]);\n case 3: return un ? fn(args[0], args[1], args[2])\n : fn.call(that, args[0], args[1], args[2]);\n case 4: return un ? fn(args[0], args[1], args[2], args[3])\n : fn.call(that, args[0], args[1], args[2], args[3]);\n } return fn.apply(that, args);\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_invoke.js\n// module id = 519\n// module chunks = 0","var global = require('./_global');\nvar macrotask = require('./_task').set;\nvar Observer = global.MutationObserver || global.WebKitMutationObserver;\nvar process = global.process;\nvar Promise = global.Promise;\nvar isNode = require('./_cof')(process) == 'process';\n\nmodule.exports = function () {\n var head, last, notify;\n\n var flush = function () {\n var parent, fn;\n if (isNode && (parent = process.domain)) parent.exit();\n while (head) {\n fn = head.fn;\n head = head.next;\n try {\n fn();\n } catch (e) {\n if (head) notify();\n else last = undefined;\n throw e;\n }\n } last = undefined;\n if (parent) parent.enter();\n };\n\n // Node.js\n if (isNode) {\n notify = function () {\n process.nextTick(flush);\n };\n // browsers with MutationObserver, except iOS Safari - https://github.com/zloirock/core-js/issues/339\n } else if (Observer && !(global.navigator && global.navigator.standalone)) {\n var toggle = true;\n var node = document.createTextNode('');\n new Observer(flush).observe(node, { characterData: true }); // eslint-disable-line no-new\n notify = function () {\n node.data = toggle = !toggle;\n };\n // environments with maybe non-completely correct, but existent Promise\n } else if (Promise && Promise.resolve) {\n // Promise.resolve without an argument throws an error in LG WebOS 2\n var promise = Promise.resolve(undefined);\n notify = function () {\n promise.then(flush);\n };\n // for other environments - macrotask based on:\n // - setImmediate\n // - MessageChannel\n // - window.postMessag\n // - onreadystatechange\n // - setTimeout\n } else {\n notify = function () {\n // strange IE + webpack dev server bug - use .call(global)\n macrotask.call(global, flush);\n };\n }\n\n return function (fn) {\n var task = { fn: fn, next: undefined };\n if (last) last.next = task;\n if (!head) {\n head = task;\n notify();\n } last = task;\n };\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_microtask.js\n// module id = 520\n// module chunks = 0","var global = require('./_global');\nvar navigator = global.navigator;\n\nmodule.exports = navigator && navigator.userAgent || '';\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_user-agent.js\n// module id = 521\n// module chunks = 0","var hide = require('./_hide');\nmodule.exports = function (target, src, safe) {\n for (var key in src) {\n if (safe && target[key]) target[key] = src[key];\n else hide(target, key, src[key]);\n } return target;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_redefine-all.js\n// module id = 522\n// module chunks = 0","'use strict';\nvar global = require('./_global');\nvar core = require('./_core');\nvar dP = require('./_object-dp');\nvar DESCRIPTORS = require('./_descriptors');\nvar SPECIES = require('./_wks')('species');\n\nmodule.exports = function (KEY) {\n var C = typeof core[KEY] == 'function' ? core[KEY] : global[KEY];\n if (DESCRIPTORS && C && !C[SPECIES]) dP.f(C, SPECIES, {\n configurable: true,\n get: function () { return this; }\n });\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_set-species.js\n// module id = 523\n// module chunks = 0","// https://github.com/tc39/proposal-promise-finally\n'use strict';\nvar $export = require('./_export');\nvar core = require('./_core');\nvar global = require('./_global');\nvar speciesConstructor = require('./_species-constructor');\nvar promiseResolve = require('./_promise-resolve');\n\n$export($export.P + $export.R, 'Promise', { 'finally': function (onFinally) {\n var C = speciesConstructor(this, core.Promise || global.Promise);\n var isFunction = typeof onFinally == 'function';\n return this.then(\n isFunction ? function (x) {\n return promiseResolve(C, onFinally()).then(function () { return x; });\n } : onFinally,\n isFunction ? function (e) {\n return promiseResolve(C, onFinally()).then(function () { throw e; });\n } : onFinally\n );\n} });\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/es7.promise.finally.js\n// module id = 524\n// module chunks = 0","'use strict';\n// https://github.com/tc39/proposal-promise-try\nvar $export = require('./_export');\nvar newPromiseCapability = require('./_new-promise-capability');\nvar perform = require('./_perform');\n\n$export($export.S, 'Promise', { 'try': function (callbackfn) {\n var promiseCapability = newPromiseCapability.f(this);\n var result = perform(callbackfn);\n (result.e ? promiseCapability.reject : promiseCapability.resolve)(result.v);\n return promiseCapability.promise;\n} });\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/es7.promise.try.js\n// module id = 525\n// module chunks = 0","module.exports = { \"default\": require(\"core-js/library/fn/object/get-own-property-names\"), __esModule: true };\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/babel-runtime/core-js/object/get-own-property-names.js\n// module id = 526\n// module chunks = 0","require('../../modules/es6.object.get-own-property-names');\nvar $Object = require('../../modules/_core').Object;\nmodule.exports = function getOwnPropertyNames(it) {\n return $Object.getOwnPropertyNames(it);\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/fn/object/get-own-property-names.js\n// module id = 527\n// module chunks = 0","// 19.1.2.7 Object.getOwnPropertyNames(O)\nrequire('./_object-sap')('getOwnPropertyNames', function () {\n return require('./_object-gopn-ext').f;\n});\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/es6.object.get-own-property-names.js\n// module id = 528\n// module chunks = 0","module.exports = { \"default\": require(\"core-js/library/fn/object/get-own-property-descriptor\"), __esModule: true };\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/babel-runtime/core-js/object/get-own-property-descriptor.js\n// module id = 529\n// module chunks = 0","require('../../modules/es6.object.get-own-property-descriptor');\nvar $Object = require('../../modules/_core').Object;\nmodule.exports = function getOwnPropertyDescriptor(it, key) {\n return $Object.getOwnPropertyDescriptor(it, key);\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/fn/object/get-own-property-descriptor.js\n// module id = 530\n// module chunks = 0","// 19.1.2.6 Object.getOwnPropertyDescriptor(O, P)\nvar toIObject = require('./_to-iobject');\nvar $getOwnPropertyDescriptor = require('./_object-gopd').f;\n\nrequire('./_object-sap')('getOwnPropertyDescriptor', function () {\n return function getOwnPropertyDescriptor(it, key) {\n return $getOwnPropertyDescriptor(toIObject(it), key);\n };\n});\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/es6.object.get-own-property-descriptor.js\n// module id = 531\n// module chunks = 0","module.exports = { \"default\": require(\"core-js/library/fn/object/create\"), __esModule: true };\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/babel-runtime/core-js/object/create.js\n// module id = 532\n// module chunks = 0","require('../../modules/es6.object.create');\nvar $Object = require('../../modules/_core').Object;\nmodule.exports = function create(P, D) {\n return $Object.create(P, D);\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/fn/object/create.js\n// module id = 533\n// module chunks = 0","var $export = require('./_export');\n// 19.1.2.2 / 15.2.3.5 Object.create(O [, Properties])\n$export($export.S, 'Object', { create: require('./_object-create') });\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/es6.object.create.js\n// module id = 534\n// module chunks = 0","module.exports = { \"default\": require(\"core-js/library/fn/symbol/to-string-tag\"), __esModule: true };\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/babel-runtime/core-js/symbol/to-string-tag.js\n// module id = 535\n// module chunks = 0","require('../../modules/es6.object.to-string');\nmodule.exports = require('../../modules/_wks-ext').f('toStringTag');\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/fn/symbol/to-string-tag.js\n// module id = 536\n// module chunks = 0","/*!\n * Copyright (c) 2015-2016, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n\n/* eslint max-params: 0 */\ndefine([\n 'util/BaseLoginRouter',\n 'IDPDiscoveryController',\n 'PrimaryAuthController',\n 'VerifyDuoController',\n 'VerifyPIVController',\n 'MfaVerifyController',\n 'VerifyWindowsHelloController',\n 'VerifyU2FController',\n 'VerifyWebauthnController',\n 'VerifyCustomFactorController',\n 'EnrollChoicesController',\n 'EnrollDuoController',\n 'EnrollQuestionController',\n 'EnrollPasswordController',\n 'EnrollWindowsHelloController',\n 'EnrollCallAndSmsController',\n 'EnrollEmailController',\n 'EnrollActivateEmailController',\n 'EnrollOnPremController',\n 'EnrollSymantecVipController',\n 'EnrollYubikeyController',\n 'EnrollTotpController',\n 'EnrollU2FController',\n 'EnrollWebauthnController',\n 'EnrollCustomFactorController',\n 'EnrollActivateCustomFactorController',\n 'EnrollHotpController',\n 'BarcodeTotpController',\n 'BarcodePushController',\n 'ActivateTotpController',\n 'ManualSetupTotpController',\n 'ManualSetupPushController',\n 'EnrollmentLinkSentController',\n 'EnterPasscodePushFlowController',\n 'PasswordExpiredController',\n 'CustomPasswordExpiredController',\n 'ForgotPasswordController',\n 'RecoveryChallengeController',\n 'PwdResetEmailSentController',\n 'RecoveryQuestionController',\n 'PasswordResetController',\n 'RecoveryLoadingController',\n 'UnlockAccountController',\n 'AccountUnlockedController',\n 'UnlockEmailSentController',\n 'RefreshAuthStateController',\n 'RegistrationController',\n 'RegistrationCompleteController',\n 'ConsentRequiredController',\n 'EnrollUserController',\n 'views/shared/SecurityBeacon',\n 'views/shared/FactorBeacon',\n 'views/shared/PIVBeacon',\n 'PollController',\n],\nfunction (BaseLoginRouter,\n IDPDiscoveryController,\n PrimaryAuthController,\n VerifyDuoController,\n VerifyPIVController,\n MfaVerifyController,\n VerifyWindowsHelloController,\n VerifyU2FController,\n VerifyWebauthnController,\n VerifyCustomFactorController,\n EnrollChoicesController,\n EnrollDuoController,\n EnrollQuestionController,\n EnrollPasswordController,\n EnrollWindowsHelloController,\n EnrollCallAndSmsController,\n EnrollEmailController,\n EnrollActivateEmailController,\n EnrollOnPremController,\n EnrollSymantecVipController,\n EnrollYubikeyController,\n EnrollTotpController,\n EnrollU2FController,\n EnrollWebauthnController,\n EnrollCustomFactorController,\n EnrollActivateCustomFactorController,\n EnrollHotpController,\n BarcodeTotpController,\n BarcodePushController,\n ActivateTotpController,\n ManualSetupTotpController,\n ManualSetupPushController,\n EnrollmentLinkSentController,\n EnterPasscodePushFlowController,\n PasswordExpiredController,\n CustomPasswordExpiredController,\n ForgotPasswordController,\n RecoveryChallengeController,\n PwdResetEmailSentController,\n RecoveryQuestionController,\n PasswordResetController,\n RecoveryLoadingController,\n UnlockAccountController,\n AccountUnlockedController,\n UnlockEmailSentController,\n RefreshAuthStateController,\n RegistrationController,\n RegistrationCompleteController,\n ConsentRequiredController,\n EnrollUserController,\n SecurityBeacon,\n FactorBeacon,\n PIVBeacon,\n PollController) {\n return BaseLoginRouter.extend({\n\n routes: {\n '': 'defaultAuth',\n 'signin': 'primaryAuth',\n 'signin/verify/duo/web': 'verifyDuo',\n 'signin/verify/piv': 'verifyPIV',\n 'signin/poll': 'poll',\n 'signin/verify/fido/webauthn': 'verifyWebauthn',\n 'signin/verify/webauthn': 'verifyWebauthn',\n 'signin/verify/fido/u2f': 'verifyU2F',\n 'signin/verify/u2f': 'verifyU2F',\n 'signin/verify/generic_saml/assertion:saml2': 'verifySAMLFactor',\n 'signin/verify/generic_oidc/assertion:oidc': 'verifyOIDCFactor',\n 'signin/verify/custom/claims_provider': 'verifyClaimsFactor',\n 'signin/verify/:factorType': 'verifyNoProvider',\n 'signin/verify/:provider/:factorType(/:factorIndex)': 'verify',\n 'signin/enroll': 'enrollChoices',\n 'signin/enroll/duo/web': 'enrollDuo',\n 'signin/enroll/okta/question': 'enrollQuestion',\n 'signin/enroll/okta/password': 'enrollPassword',\n 'signin/enroll/okta/sms': 'enrollSms',\n 'signin/enroll/okta/call': 'enrollCall',\n 'signin/enroll/okta/email': 'enrollEmail',\n 'signin/enroll-activate/okta/sms': 'enrollSms',\n 'signin/enroll/rsa/token': 'enrollRsa',\n 'signin/enroll/del_oath/token': 'enrollOnPrem',\n 'signin/enroll/symantec/token': 'enrollSymantecVip',\n 'signin/enroll/yubico/token:hardware': 'enrollYubikey',\n 'signin/enroll/fido/webauthn': 'enrollWebauthn',\n 'signin/enroll/fido/u2f': 'enrollU2F',\n 'signin/enroll/generic_saml/assertion:saml2': 'enrollSAMLFactor',\n 'signin/enroll/generic_oidc/assertion:oidc': 'enrollOIDCFactor',\n 'signin/enroll/custom/claims_provider': 'enrollClaimsFactor',\n 'signin/enroll/custom/token:hotp': 'enrollHotpFactor',\n 'signin/enroll/:provider/:factorType': 'enrollTotpFactor',\n 'signin/enroll-activate/okta/email': 'enrollActivateEmail',\n 'signin/enroll-activate/okta/push': 'scanBarcodePushFactor',\n 'signin/enroll-activate/okta/push/manual': 'manualSetupPushFactor',\n 'signin/enroll-activate/okta/push/sent': 'activationLinkSent',\n 'signin/enroll-activate/okta/token:software:totp/passcode': 'enterPasscodeInPushEnrollmentFlow',\n 'signin/enroll-activate/custom/claims_provider': 'enrollActivateClaimsFactor',\n 'signin/enroll-activate/:provider/:factorType': 'scanBarcodeTotpFactor',\n 'signin/enroll-activate/:provider/:factorType/activate': 'activateTotpFactor',\n 'signin/enroll-activate/:provider/:factorType/manual': 'manualSetupTotpFactor',\n 'signin/password-expired': 'passwordExpired',\n 'signin/custom-password-expired': 'customPasswordExpired',\n 'signin/forgot-password': 'forgotPassword',\n 'signin/recovery-challenge': 'recoveryChallenge',\n 'signin/recovery-emailed': 'recoveryEmailSent',\n 'signin/recovery-question': 'recoveryQuestion',\n 'signin/password-reset': 'passwordReset',\n 'signin/reset-password/:token': 'recoveryLoading',\n 'signin/user-unlock/:token': 'recoveryLoading',\n 'signin/recovery/:token': 'recoveryLoading',\n 'signin/unlock-emailed': 'unlockEmailSent',\n 'signin/unlock': 'unlockAccount',\n 'signin/account-unlocked': 'accountUnlocked',\n 'signin/refresh-auth-state(/:token)': 'refreshAuthState',\n 'signin/register': 'register',\n 'signin/register-complete': 'registerComplete',\n 'signin/consent': 'consentRequired',\n 'signin/enroll-user': 'enrollUser',\n '*wildcard': 'defaultAuth'\n },\n\n // Route handlers that do not require a stateToken. If the page is refreshed,\n // these functions will not require a status call to refresh the stateToken.\n stateLessRouteHandlers: [\n 'defaultAuth', 'idpDiscovery', 'primaryAuth', 'forgotPassword', 'recoveryLoading',\n 'unlockAccount', 'refreshAuthState', 'register', 'registerComplete', 'verifyPIV'\n ],\n\n defaultAuth: function () {\n if(this.settings.get('features.idpDiscovery')) {\n this.idpDiscovery();\n }\n else {\n this.primaryAuth();\n }\n },\n\n idpDiscovery: function () {\n this.render(IDPDiscoveryController, {Beacon: SecurityBeacon});\n },\n\n primaryAuth: function () {\n this.render(PrimaryAuthController, { Beacon: SecurityBeacon });\n },\n\n verifyDuo: function () {\n this.render(VerifyDuoController, {\n provider: 'DUO',\n factorType: 'web',\n Beacon: FactorBeacon\n });\n },\n\n verifyPIV: function () {\n this.render(VerifyPIVController, { Beacon: PIVBeacon });\n },\n\n poll: function () {\n this.render(PollController);\n },\n\n verifyWebauthn: function () {\n if (this.settings.get('features.webauthn')) {\n this.render(VerifyWebauthnController, {\n provider: 'FIDO',\n factorType: 'webauthn',\n Beacon: FactorBeacon\n });\n } else {\n this.render(VerifyWindowsHelloController, {\n provider: 'FIDO',\n factorType: 'webauthn',\n Beacon: FactorBeacon\n });\n }\n },\n\n verifyU2F: function () {\n this.render(VerifyU2FController, {\n provider: 'FIDO',\n factorType: 'u2f',\n Beacon: FactorBeacon\n });\n },\n\n verifySAMLFactor: function () {\n this.render(VerifyCustomFactorController, {\n provider: 'GENERIC_SAML',\n factorType: 'assertion:saml2',\n Beacon: FactorBeacon\n });\n },\n\n verifyOIDCFactor: function () {\n this.render(VerifyCustomFactorController, {\n provider: 'GENERIC_OIDC',\n factorType: 'assertion:oidc',\n Beacon: FactorBeacon\n });\n },\n\n verifyClaimsFactor: function () {\n this.render(VerifyCustomFactorController, {\n provider: 'CUSTOM',\n factorType: 'claims_provider',\n Beacon: FactorBeacon\n });\n },\n\n verify: function (provider, factorType, factorIndex) {\n this.render(MfaVerifyController, {\n provider: provider.toUpperCase(),\n factorType: factorType,\n factorIndex: factorIndex,\n Beacon: FactorBeacon\n });\n },\n\n verifyNoProvider: function (factorType) {\n this.render(MfaVerifyController, {\n factorType: factorType,\n Beacon: FactorBeacon\n });\n },\n\n enrollChoices: function () {\n this.render(EnrollChoicesController, { Beacon: SecurityBeacon });\n },\n\n enrollDuo: function () {\n this.render(EnrollDuoController, {\n provider: 'DUO',\n factorType: 'web',\n Beacon: FactorBeacon\n });\n },\n\n enrollQuestion: function () {\n this.render(EnrollQuestionController, {\n provider: 'OKTA',\n factorType: 'question',\n Beacon: FactorBeacon\n });\n },\n\n enrollPassword: function () {\n this.render(EnrollPasswordController, {\n provider: 'OKTA',\n factorType: 'password',\n Beacon: FactorBeacon\n });\n },\n\n enrollSms: function () {\n this.render(EnrollCallAndSmsController, {\n provider: 'OKTA',\n factorType: 'sms',\n Beacon: FactorBeacon\n });\n },\n\n enrollCall: function () {\n this.render(EnrollCallAndSmsController, {\n provider: 'OKTA',\n factorType: 'call',\n Beacon: FactorBeacon\n });\n },\n\n enrollEmail: function () {\n this.render(EnrollEmailController, {\n provider: 'OKTA',\n factorType: 'email',\n Beacon: FactorBeacon\n });\n },\n\n enrollActivateEmail: function () {\n this.render(EnrollActivateEmailController, {\n provider: 'OKTA',\n factorType: 'email',\n Beacon: FactorBeacon\n });\n },\n\n enrollRsa: function () {\n this.render(EnrollOnPremController, {\n provider: 'RSA',\n factorType: 'token',\n Beacon: FactorBeacon\n });\n },\n\n enrollOnPrem: function () {\n this.render(EnrollOnPremController, {\n provider: 'DEL_OATH',\n factorType: 'token',\n Beacon: FactorBeacon\n });\n },\n\n enrollSymantecVip: function () {\n this.render(EnrollSymantecVipController, {\n provider: 'SYMANTEC',\n factorType: 'token',\n Beacon: FactorBeacon\n });\n },\n\n enrollYubikey: function () {\n this.render(EnrollYubikeyController, {\n provider: 'YUBICO',\n factorType: 'token:hardware',\n Beacon: FactorBeacon\n });\n },\n\n enrollSAMLFactor: function () {\n this.render(EnrollCustomFactorController, {\n provider: 'GENERIC_SAML',\n factorType: 'assertion:saml2',\n Beacon: FactorBeacon\n });\n },\n\n enrollOIDCFactor: function () {\n this.render(EnrollCustomFactorController, {\n provider: 'GENERIC_OIDC',\n factorType: 'assertion:oidc',\n Beacon: FactorBeacon\n });\n },\n\n enrollClaimsFactor: function () {\n this.render(EnrollCustomFactorController, {\n provider: 'CUSTOM',\n factorType: 'claims_provider',\n Beacon: FactorBeacon\n });\n },\n\n enrollActivateClaimsFactor: function () {\n this.render(EnrollActivateCustomFactorController, {\n provider: 'CUSTOM',\n factorType: 'claims_provider',\n Beacon: FactorBeacon\n });\n },\n\n enrollTotpFactor: function (provider, factorType) {\n this.render(EnrollTotpController, {\n provider: provider.toUpperCase(),\n factorType: factorType,\n Beacon: FactorBeacon\n });\n },\n\n enrollHotpFactor: function () {\n this.render(EnrollHotpController, {\n provider: 'CUSTOM',\n factorType: 'token:hotp',\n Beacon: FactorBeacon\n });\n },\n\n enrollWebauthn: function () {\n if (this.settings.get('features.webauthn')) {\n this.render(EnrollWebauthnController, {\n provider: 'FIDO',\n factorType: 'webauthn',\n Beacon: FactorBeacon\n });\n } else {\n this.render(EnrollWindowsHelloController, {\n provider: 'FIDO',\n factorType: 'webauthn',\n Beacon: FactorBeacon\n });\n }\n },\n\n enrollU2F: function () {\n this.render(EnrollU2FController, {\n provider: 'FIDO',\n factorType: 'u2f',\n Beacon: FactorBeacon\n });\n },\n\n scanBarcodeTotpFactor: function (provider, factorType) {\n this.render(BarcodeTotpController, {\n provider: provider.toUpperCase(),\n factorType: factorType,\n Beacon: FactorBeacon\n });\n },\n\n scanBarcodePushFactor: function () {\n this.render(BarcodePushController, {\n provider: 'OKTA',\n factorType: 'push',\n Beacon: FactorBeacon\n });\n },\n\n activateTotpFactor: function (provider, factorType) {\n this.render(ActivateTotpController, {\n provider: provider.toUpperCase(),\n factorType: factorType,\n Beacon: FactorBeacon\n });\n },\n\n manualSetupTotpFactor: function (provider, factorType) {\n this.render(ManualSetupTotpController, {\n provider: provider.toUpperCase(),\n factorType: factorType,\n Beacon: FactorBeacon\n });\n },\n\n manualSetupPushFactor: function () {\n this.render(ManualSetupPushController, {\n provider: 'OKTA',\n factorType: 'push',\n Beacon: FactorBeacon\n });\n },\n\n activationLinkSent: function () {\n this.render(EnrollmentLinkSentController, {\n provider: 'OKTA',\n factorType: 'push',\n Beacon: FactorBeacon\n });\n },\n\n enterPasscodeInPushEnrollmentFlow: function () {\n this.render(EnterPasscodePushFlowController, {\n provider: 'OKTA',\n factorType: 'token:software:totp',\n Beacon: FactorBeacon\n });\n },\n\n passwordExpired: function () {\n this.render(PasswordExpiredController, { Beacon: SecurityBeacon });\n },\n\n customPasswordExpired: function () {\n this.render(CustomPasswordExpiredController, { Beacon: SecurityBeacon });\n },\n\n forgotPassword: function () {\n this.render(ForgotPasswordController);\n },\n\n recoveryChallenge: function () {\n this.render(RecoveryChallengeController, { Beacon: SecurityBeacon });\n },\n\n recoveryEmailSent: function () {\n this.render(PwdResetEmailSentController, { Beacon: SecurityBeacon });\n },\n\n unlockEmailSent: function () {\n this.render(UnlockEmailSentController, { Beacon: SecurityBeacon });\n },\n\n recoveryQuestion: function () {\n this.render(RecoveryQuestionController, { Beacon: SecurityBeacon });\n },\n\n passwordReset: function () {\n this.render(PasswordResetController, { Beacon: SecurityBeacon });\n },\n\n recoveryLoading: function (token) {\n this.render(RecoveryLoadingController, {\n token: token,\n Beacon: SecurityBeacon\n });\n },\n\n unlockAccount: function () {\n this.render(UnlockAccountController);\n },\n\n accountUnlocked: function () {\n this.render(AccountUnlockedController, { Beacon: SecurityBeacon });\n },\n\n refreshAuthState: function (token) {\n this.render(RefreshAuthStateController, {\n token: token,\n Beacon: SecurityBeacon\n });\n },\n\n register: function () {\n this.render(RegistrationController);\n },\n\n registerComplete: function () {\n this.render(RegistrationCompleteController);\n },\n\n consentRequired: function () {\n this.render(ConsentRequiredController);\n },\n\n enrollUser: function () {\n this.render(EnrollUserController);\n }\n\n });\n\n});\n\n\n\n// WEBPACK FOOTER //\n// ./src/LoginRouter.js","/*!\n * Copyright (c) 2015-2017, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n\ndefine([\n 'okta',\n 'PrimaryAuthController',\n 'models/PrimaryAuth',\n 'views/idp-discovery/IDPDiscoveryForm',\n 'models/IDPDiscovery',\n 'views/shared/Footer',\n 'util/BaseLoginController',\n 'views/primary-auth/CustomButtons'\n],\nfunction (Okta, PrimaryAuthController, PrimaryAuthModel, IDPDiscoveryForm, IDPDiscoveryModel,\n Footer, BaseLoginController, CustomButtons) {\n\n return PrimaryAuthController.extend({\n className: 'idp-discovery',\n\n View: IDPDiscoveryForm,\n\n constructor: function (options) {\n options.appState.unset('username');\n\n this.model = new IDPDiscoveryModel({\n requestContext: options.settings.get('idpDiscovery.requestContext'),\n settings: options.settings,\n appState: options.appState\n }, { parse: true });\n\n BaseLoginController.apply(this, arguments);\n\n this.addListeners();\n\n // If social auth is configured, 'socialAuthPositionTop' will determine\n // the order in which the social auth and primary auth are shown on the screen.\n if (options.settings.get('hasConfiguredButtons')) {\n this.add(CustomButtons, {\n prepend: options.settings.get('socialAuthPositionTop'),\n options: {\n // To trigger an afterError event, we require the current controller\n currentController: this\n }\n });\n }\n\n this.addFooter(options);\n\n this.setUsername();\n },\n\n initialize: function () {\n PrimaryAuthController.prototype.initialize.apply(this);\n\n this.listenTo(this.model, 'goToPrimaryAuth', function () {\n this.settings.set('username', this.model.get('username'));\n if (this.settings.get('features.passwordlessAuth')) {\n var primaryAuthModel = new PrimaryAuthModel({\n username: this.model.get('username'),\n multiOptionalFactorEnroll: this.options.settings.get('features.multiOptionalFactorEnroll'),\n settings: this.options.settings,\n appState: this.options.appState\n }, { parse: true });\n // Events to set the transaction attributes on the app state.\n this.addModelListeners(primaryAuthModel);\n // Make the primary auth request\n primaryAuthModel.save();\n } else {\n this.options.appState.set('disableUsername', true);\n this.options.appState.trigger('navigate', 'signin');\n }\n });\n }\n\n });\n\n});\n\n\n\n// WEBPACK FOOTER //\n// ./src/IDPDiscoveryController.js","/*!\n * Copyright (c) 2018, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\ndefine(['typingdna'], function (TypingDNA) {\n var tdna;\n return {\n track: function (selectorId) {\n try {\n tdna = new TypingDNA();\n tdna.addTarget(selectorId);\n tdna.start();\n } catch (e) {\n // Issues in typing should not stop Primary auth.\n }\n },\n getTypingPattern: function () {\n try {\n return tdna.getTypingPattern({\n type: 1\n });\n } catch(e) {\n return null;\n }\n }\n };\n});\n\n\n\n// WEBPACK FOOTER //\n// ./src/util/TypingUtil.js","/*\n * Checking in as there is no npm module to consume. \n * Current version is 2.15.\n * Repo - https://github.com/TypingDNA/TypingDnaRecorder-JavaScript\n */\n\n/**\n * TypingDNA - Typing Biometrics JavaScript API\n * https://api.typingdna.com/scripts/typingdna.js\n * https://typingdna.com/scripts/typingdna.js (alternative)\n *\n * @version 2.15\n * @author Raul Popa\n * @copyright SC TypingDNA SRL, http://typingdna.com\n * @license http://www.apache.org/licenses/LICENSE-2.0\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n * Typical usage:\n * var tdna = new TypingDNA(); // creates a new TypingDNA object and starts recording\n * var typingPattern = tdna.getTypingPattern({type=1, text=\"Hello5g21?*\"});\n * returns a type 1 typing pattern (and continues recording afterwards)\n *\n * Optional:\n * tdna.stop(); // ends recording and clears history stack (returns recording flag: false)\n * tdna.start(); // restarts the recording after a stop (returns recording flag: true)\n * tdna.reset(); // restarts the recording anytime, clears history stack and starts from scratch (returns nothing)\n * var typingPatternQuality = TypingDNA.getQuality(typingPattern); //returns the quality/strength of any typing pattern\n * (there is no need to initialize the class to do pattern quality checking)\n */\n\n/**\n * Creates a single instance (or a reference) of the TypingDNA class\n * @return {Object} Returns the single instance of the TypingDNA class.\n * @example var tdna = new TypingDNA();\n */\nmodule.exports = function TypingDNA() {\n if (TypingDNA.initialized != true) {\n TypingDNA.prototype.start = function() {\n return TypingDNA.start.apply(this, arguments);\n }\n TypingDNA.prototype.stop = function() {\n return TypingDNA.stop.apply(this, arguments);\n }\n TypingDNA.prototype.reset = function() {\n return TypingDNA.reset.apply(this, arguments);\n }\n TypingDNA.prototype.addTarget = function() {\n return TypingDNA.addTarget.apply(this, arguments);\n }\n TypingDNA.prototype.removeTarget = function() {\n return TypingDNA.removeTarget.apply(this, arguments);\n }\n TypingDNA.prototype.getTypingPattern = function() {\n return TypingDNA.getTypingPattern.apply(this, arguments);\n }\n TypingDNA.prototype.get = function() {\n // still works but will be deprecated in favor of getTypignPattern()\n return TypingDNA.get.apply(this, arguments);\n }\n TypingDNA.prototype.startDiagram = function() {\n // deprecated in favor of start()\n //return TypingDNA.startDiagram.apply(this, arguments);\n }\n TypingDNA.prototype.stopDiagram = function() {\n // deprecated in favor of stop()\n //return TypingDNA.stopDiagram.apply(this, arguments);\n }\n TypingDNA.prototype.getDiagram = function() {\n // still works but will be deprecated in favor of getTypignPattern()\n return TypingDNA.getDiagram.apply(this, arguments);\n }\n TypingDNA.prototype.getExtendedDiagram = function() {\n // still works but will be deprecated in favor of getTypignPattern()\n return TypingDNA.getExtendedDiagram.apply(this, arguments);\n }\n TypingDNA.prototype.getMouseDiagram = function() {\n return TypingDNA.getMouseDiagram.apply(this, arguments);\n }\n TypingDNA.prototype.startMouse = function() {\n return TypingDNA.startMouse.apply(this, arguments);\n }\n TypingDNA.prototype.stopMouse = function() {\n return TypingDNA.stopMouse.apply(this, arguments);\n }\n TypingDNA.prototype.getQuality = function() {\n return TypingDNA.getQuality.apply(this, arguments);\n }\n TypingDNA.prototype.getLength = function() {\n return TypingDNA.getLength.apply(this, arguments);\n }\n TypingDNA.prototype.isMobile = function() {\n return TypingDNA.isMobile.apply(this, arguments);\n }\n TypingDNA.prototype.getTextId = function() {\n return TypingDNA.getTextId.apply(this, arguments)\n }\n TypingDNA.initialized = true;\n TypingDNA.prototype.maxHistoryLength = TypingDNA.maxHistoryLength;\n TypingDNA.prototype.defaultHistoryLength = TypingDNA.defaultHistoryLength;\n TypingDNA.prototype.maxSeekTime = TypingDNA.maxSeekTime;\n TypingDNA.prototype.maxPressTime = TypingDNA.maxPressTime;\n TypingDNA.version = 2.15;\n TypingDNA.flags = 0;\n TypingDNA.instance = this;\n TypingDNA.document = document;\n TypingDNA.maxHistoryLength = 2000;\n TypingDNA.maxSeekTime = 1500;\n TypingDNA.maxPressTime = 300;\n TypingDNA.defaultHistoryLength = 160;\n TypingDNA.spKeyCodes = [8, 13, 32];\n TypingDNA.spKeyCodesObj = {\n 8: 1,\n 13: 1,\n 32: 1\n };\n TypingDNA.keyCodes = [65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 32, 222, 188, 190, 186, 187, 189, 191, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57];\n TypingDNA.keyCodesObj = {}\n for (var i in TypingDNA.keyCodes) {\n TypingDNA.keyCodesObj[TypingDNA.keyCodes[i]] = 1;\n }\n TypingDNA.pt1 = TypingDNA.ut1 = (new Date).getTime();\n TypingDNA.wfk = [];\n TypingDNA.sti = [];\n TypingDNA.skt = [];\n TypingDNA.recording = true;\n TypingDNA.mouseRecording = true;\n TypingDNA.mouseMoveRecording = false;\n TypingDNA.spKeyRecording = true;\n TypingDNA.diagramRecording = true;\n TypingDNA.dwfk = [];\n TypingDNA.dsti = [];\n TypingDNA.dskt = [];\n TypingDNA.drkc = [];\n TypingDNA.dlastDownKey;\n TypingDNA.prevKeyCode = 0;\n TypingDNA.maxMoveDeltaTime = 600;\n TypingDNA.maxScrollDeltaTime = 800;\n TypingDNA.maxStopTime = 1500;\n TypingDNA.maxClickTime = 600;\n TypingDNA.maxMouseHistoryLength = 500;\n TypingDNA.lastMouseMoveTime = TypingDNA.lastMouseDownTime = (new Date).getTime();\n TypingDNA.stopTimes = [];\n TypingDNA.clickTimes = [];\n TypingDNA.lastMouseStop = true;\n TypingDNA.zl = 0.0000001;\n TypingDNA.isAndroidChrome = false;\n TypingDNA.ACLastTime = (new Date).getTime();\n TypingDNA.ACSeekTime = 0;\n TypingDNA.ACPressTime = 0;\n TypingDNA.ACLastCharCode = 0;\n TypingDNA.ACLastKeyCode = 0;\n TypingDNA.ACInputLengths = {\n inputs: [],\n lastLength: [],\n };\n TypingDNA.ACPreviousKeyCode = 0;\n TypingDNA.targetIds = [];\n TypingDNA.lastTarget = \"\";\n TypingDNA.lastTargetFound = false;\n TypingDNA.replaceMissingKeys = true;\n TypingDNA.replaceMissingKeysPerc = 7;\n\n TypingDNA.keyDown = function(e) {\n if (!TypingDNA.recording && !TypingDNA.diagramRecording) {\n return;\n }\n if (!TypingDNA.isTarget(e.target.id)) {\n return;\n }\n var keyCode = e.keyCode;\n if (TypingDNA.wfk[keyCode] == 1 || TypingDNA.dwfk[keyCode] == 1) {\n //return;\n }\n if (keyCode == 229 && TypingDNA.isMobile() && !TypingDNA.isAndroidChrome) {\n TypingDNA.isAndroidChrome = true;\n\n TypingDNA.ACSeekTime = (new Date).getTime() - TypingDNA.ACLastTime;\n TypingDNA.ACLastTime = (new Date).getTime();\n\n TypingDNA.document.removeEventListener(\"keydown\", TypingDNA.keyDown);\n TypingDNA.document.removeEventListener(\"keyup\", TypingDNA.keyUp);\n TypingDNA.document.removeEventListener(\"keypress\", TypingDNA.keyPress);\n\n // if android\n TypingDNA.document.addEventListener(\"keydown\", TypingDNA.ACKeyDown);\n TypingDNA.document.addEventListener(\"keyup\", TypingDNA.ACKeyUp);\n } else {\n var t0 = TypingDNA.pt1;\n TypingDNA.pt1 = (new Date).getTime();\n var seekTotal = TypingDNA.pt1 - t0;\n var startTime = TypingDNA.pt1;\n if (TypingDNA.recording == true || (TypingDNA.spKeyCodesObj[keyCode] && TypingDNA.spKeyRecording == true)) {\n if (!e.shiftKey || TypingDNA.isMobile()) {\n TypingDNA.wfk[keyCode] = 1;\n TypingDNA.skt[keyCode] = seekTotal;\n TypingDNA.sti[keyCode] = startTime;\n }\n }\n if (TypingDNA.diagramRecording == true) {\n TypingDNA.dwfk[keyCode] = 1;\n TypingDNA.dskt[keyCode] = seekTotal;\n TypingDNA.dsti[keyCode] = startTime;\n TypingDNA.dlastDownKey = keyCode;\n }\n }\n }\n\n TypingDNA.keyPress = function(e) {\n if (!TypingDNA.recording && !TypingDNA.diagramRecording) {\n return;\n }\n if (!TypingDNA.isTarget(e.target.id)) {\n return;\n }\n if (TypingDNA.diagramRecording == true) {\n var keyCode = TypingDNA.dlastDownKey;\n TypingDNA.drkc[keyCode] = e.charCode;\n }\n }\n\n TypingDNA.keyUp = function(e) {\n if (!TypingDNA.recording && !TypingDNA.diagramRecording) {\n return;\n }\n if (!TypingDNA.isTarget(e.target.id)) {\n return;\n }\n var ut = (new Date).getTime();\n var keyCode = e.keyCode;\n if (TypingDNA.recording == true || (TypingDNA.spKeyCodesObj[keyCode] && TypingDNA.spKeyRecording == true)) {\n if (!e.shiftKey || TypingDNA.isMobile()) {\n if (TypingDNA.wfk[keyCode] == 1) {\n var pressTime = ut - TypingDNA.sti[keyCode];\n var seekTime = TypingDNA.skt[keyCode];\n var arr = [keyCode, seekTime, pressTime, TypingDNA.prevKeyCode, ut, e.target.id];\n TypingDNA.history.add(arr);\n TypingDNA.prevKeyCode = keyCode;\n }\n }\n TypingDNA.wfk[keyCode] = 0;\n }\n if (TypingDNA.diagramRecording == true) {\n if (TypingDNA.drkc[keyCode] != undefined && TypingDNA.drkc[keyCode] != 0) {\n if (TypingDNA.dwfk[keyCode] == 1) {\n var pressTime = ut - TypingDNA.dsti[keyCode];\n var seekTime = TypingDNA.dskt[keyCode];\n var realKeyCode = TypingDNA.drkc[keyCode];\n var arrD = [keyCode, seekTime, pressTime, realKeyCode, ut, e.target.id];\n TypingDNA.history.addDiagram(arrD);\n }\n }\n TypingDNA.dwfk[keyCode] = 0;\n }\n }\n\n TypingDNA.mouseScroll = function(e) {\n if (TypingDNA.mouseRecording == true) {\n if (TypingDNA.mouseMoveRecording == true) {\n if (TypingDNA.mouse.scrollStarted == true) {\n var currentTime = (new Date).getTime();\n TypingDNA.mouse.scrollTimes.push(currentTime);\n TypingDNA.mouse.scrollTopArr.push(TypingDNA.document.body.scrollTop);\n clearInterval(TypingDNA.scrollInterval);\n TypingDNA.scrollInterval = setInterval(TypingDNA.mouse.checkScroll, TypingDNA.maxScrollDeltaTime);\n } else {\n TypingDNA.mouse.scrollStarted = true\n }\n }\n }\n }\n\n TypingDNA.mouseMove = function(e) {\n if (TypingDNA.mouseRecording == true) {\n var currentTime = (new Date).getTime();\n if (TypingDNA.mouseMoveRecording == true) {\n if (TypingDNA.mouse.started == true) {\n TypingDNA.mouse.times.push(currentTime);\n TypingDNA.mouse.xPositions.push(e.screenX);\n TypingDNA.mouse.yPositions.push(e.screenY);\n clearInterval(TypingDNA.moveInterval);\n TypingDNA.moveInterval = setInterval(TypingDNA.mouse.checkMove, TypingDNA.maxMoveDeltaTime);\n } else {\n TypingDNA.mouse.started = true;\n }\n }\n TypingDNA.lastMouseMoveTime = currentTime;\n }\n }\n\n TypingDNA.mouseDown = function(e) {\n if (TypingDNA.mouseRecording == true) {\n TypingDNA.mouse.checkMove();\n TypingDNA.mouse.checkScroll();\n if (e.which == 1) {\n TypingDNA.lastMouseDownTime = (new Date).getTime();\n var stopTime = TypingDNA.lastMouseDownTime - TypingDNA.lastMouseMoveTime;\n if (stopTime < TypingDNA.maxStopTime && TypingDNA.lastMouseStop == false) {\n TypingDNA.stopTimes.push(stopTime);\n if (TypingDNA.mouseMoveRecording == true) {\n var eventType = 3;\n var arr = [eventType, stopTime];\n TypingDNA.mouse.history.add(arr);\n TypingDNA.lastMouseStop = true;\n }\n }\n }\n }\n }\n\n TypingDNA.mouseUp = function(e) {\n if (TypingDNA.mouseRecording == true) {\n if (e.which == 1) {\n var clickTime = (new Date).getTime() - TypingDNA.lastMouseDownTime;\n if (clickTime < TypingDNA.maxClickTime && TypingDNA.lastMouseDownTime > TypingDNA.lastMouseMoveTime) {\n TypingDNA.clickTimes.push(clickTime);\n if (TypingDNA.mouseMoveRecording == true) {\n var eventType = 4;\n var arr = [eventType, clickTime];\n TypingDNA.mouse.history.add(arr);\n }\n }\n }\n }\n }\n\n TypingDNA.ACKeyDown = function(e) {\n if (!TypingDNA.recording && !TypingDNA.diagramRecording) {\n return;\n }\n TypingDNA.ACSeekTime = (new Date).getTime() - TypingDNA.ACLastTime;\n TypingDNA.ACLastTime = (new Date).getTime();\n if (!TypingDNA.isTarget(e.target.id)) {\n return;\n }\n if(TypingDNA.ACInputLengths.inputs.indexOf(e.target) === -1) {\n TypingDNA.ACInputLengths.inputs.push(e.target);\n TypingDNA.ACInputLengths.lastLength.push(0);\n }\n }\n\n TypingDNA.ACKeyUp = function(e) {\n if (!TypingDNA.recording && !TypingDNA.diagramRecording) {\n return;\n }\n TypingDNA.ACPressTime = (new Date).getTime() - TypingDNA.ACLastTime;\n TypingDNA.ACLastTime = (new Date).getTime();\n if (!TypingDNA.isTarget(e.target.id)) {\n return;\n }\n var keyCode = e.keyCode;\n var targetIndex = TypingDNA.ACInputLengths.inputs.indexOf(e.target);\n if(targetIndex === -1) {\n TypingDNA.ACInputLengths.inputs.push(e.target);\n TypingDNA.ACInputLengths.lastLength.push(0);\n targetIndex = TypingDNA.ACInputLengths.inputs.indexOf(e.target);\n }\n if (keyCode == 229 && e.target.value.length >= TypingDNA.ACInputLengths.lastLength[targetIndex]) {\n var char = e.target.value.substr((e.target.selectionStart - 1) || 0 , 1);\n keyCode = char.toUpperCase().charCodeAt(0);\n TypingDNA.ACLastCharCode = char.charCodeAt(0);\n TypingDNA.ACLastKeyCode = char.toUpperCase().charCodeAt(0);\n }\n TypingDNA.ACInputLengths.lastLength[targetIndex] = e.target.value.length;\n var arr = [keyCode, TypingDNA.ACSeekTime, TypingDNA.ACPressTime, TypingDNA.ACPreviousKeyCode, TypingDNA.ACLastTime];\n TypingDNA.history.add(arr);\n TypingDNA.ACPreviousKeyCode = keyCode;\n if (TypingDNA.diagramRecording == true ) {\n var arrD = [keyCode, TypingDNA.ACSeekTime, TypingDNA.ACPressTime, TypingDNA.ACLastCharCode];\n TypingDNA.history.addDiagram(arrD);\n }\n }\n\n TypingDNA.isTarget = function(target) {\n if (TypingDNA.lastTarget == target && TypingDNA.lastTargetFound) {\n return true;\n } else {\n var targetLength = TypingDNA.targetIds.length;\n var targetFound = false;\n if (targetLength > 0) {\n for (var i = 0; i < targetLength; i++) {\n if (TypingDNA.targetIds[i] == target) {\n targetFound = true;\n break;\n }\n }\n TypingDNA.lastTarget = target;\n TypingDNA.lastTargetFound = targetFound;\n return targetFound;\n } else {\n TypingDNA.lastTarget = target;\n TypingDNA.lastTargetFound = true;\n return true;\n }\n }\n }\n\n if (TypingDNA.document.addEventListener) {\n TypingDNA.document.addEventListener(\"keydown\", TypingDNA.keyDown);\n TypingDNA.document.addEventListener(\"keyup\", TypingDNA.keyUp);\n TypingDNA.document.addEventListener(\"keypress\", TypingDNA.keyPress);\n TypingDNA.document.addEventListener(\"mousemove\", TypingDNA.mouseMove);\n TypingDNA.document.addEventListener(\"mousedown\", TypingDNA.mouseDown);\n TypingDNA.document.addEventListener(\"mouseup\", TypingDNA.mouseUp);\n TypingDNA.document.addEventListener(\"scroll\", TypingDNA.mouseScroll);\n } else if (TypingDNA.document.attachEvent) {\n TypingDNA.document.attachEvent(\"onkeydown\", TypingDNA.keyDown);\n TypingDNA.document.attachEvent(\"onkeyup\", TypingDNA.keyUp);\n TypingDNA.document.attachEvent(\"onkeypress\", TypingDNA.keyPress);\n TypingDNA.document.attachEvent(\"onmousemove\", TypingDNA.mouseMove);\n TypingDNA.document.attachEvent(\"onmousedown\", TypingDNA.mouseDown);\n TypingDNA.document.attachEvent(\"onmouseup\", TypingDNA.mouseUp);\n TypingDNA.document.attachEvent(\"onscroll\", TypingDNA.mouseScroll);\n } else {\n console.log(\"browser not supported\");\n }\n\n TypingDNA.mouse = {};\n TypingDNA.mouse.times = [];\n TypingDNA.mouse.xPositions = [];\n TypingDNA.mouse.yPositions = [];\n TypingDNA.mouse.scrollTimes = [];\n TypingDNA.mouse.scrollTopArr = [];\n TypingDNA.mouse.history = {};\n TypingDNA.mouse.history.stack = [];\n\n TypingDNA.mouse.getDistance = function(a, b) {\n return Math.sqrt((a * a) + (b * b));\n }\n\n TypingDNA.mouse.getTotalDistance = function(xPositions, yPositions) {\n var totalDistance = 0;\n var length = xPositions.length;\n for (i = 1; i < length - 1; i++) {\n var a = xPositions[i] - xPositions[i - 1];\n var b = yPositions[i] - yPositions[i - 1];\n totalDistance += TypingDNA.mouse.getDistance(a, b);\n }\n return totalDistance;\n }\n\n TypingDNA.mouse.getAngle = function(xPosDelta, yPosDelta) {\n var angle = 0;\n var leftRight = (xPosDelta >= 0); // 1 if left, 0 if right\n var downUp = (yPosDelta < 0); // 1 if down, 0 if up\n if (leftRight) {\n if (downUp) {\n angle = 180 + (Math.round(Math.atan(Math.abs(xPosDelta) / (Math.abs(yPosDelta) + 0.0000001)) / 0.01745329251)) // 0.01745329251 = pi/180\n } else {\n angle = 270 + (90 - Math.round(Math.atan(Math.abs(xPosDelta) / (Math.abs(yPosDelta) + 0.0000001)) / 0.01745329251))\n }\n } else {\n if (downUp) {\n angle = 90 + (90 - Math.round(Math.atan(Math.abs(xPosDelta) / (Math.abs(yPosDelta) + 0.0000001)) / 0.01745329251))\n } else {\n angle = Math.round(Math.atan(Math.abs(xPosDelta) / (Math.abs(yPosDelta) + 0.0000001)) / 0.01745329251)\n }\n }\n return angle;\n }\n\n TypingDNA.mouse.recordMoveAction = function() {\n var length = TypingDNA.mouse.times.length;\n if (length < 3) {\n return;\n }\n var deltaTime = TypingDNA.mouse.times[length - 1] - TypingDNA.mouse.times[0];\n var xPosDelta = TypingDNA.mouse.xPositions[length - 1] - TypingDNA.mouse.xPositions[0];\n var yPosDelta = TypingDNA.mouse.yPositions[length - 1] - TypingDNA.mouse.yPositions[0];\n var directDistance = Math.round(TypingDNA.mouse.getDistance(xPosDelta, yPosDelta));\n var totalDistance = Math.round(TypingDNA.mouse.getTotalDistance(TypingDNA.mouse.xPositions, TypingDNA.mouse.yPositions));\n var ratioDistance = Math.round(totalDistance * 100 / directDistance);\n var speed = Math.round(directDistance * 100 / deltaTime);\n var angle = TypingDNA.mouse.getAngle(xPosDelta, yPosDelta);\n var eventType = 1;\n var arr = [eventType, deltaTime, directDistance, speed, angle, ratioDistance];\n for (i in arr) {\n if (isNaN(arr[i])) {\n return;\n }\n }\n TypingDNA.mouse.history.add(arr);\n TypingDNA.lastMouseStop = false;\n }\n\n TypingDNA.mouse.recordScrollAction = function() {\n var length = TypingDNA.mouse.scrollTimes.length;\n if (length < 2) {\n return;\n }\n var deltaTime = TypingDNA.mouse.scrollTimes[length - 1] - TypingDNA.mouse.scrollTimes[0];\n var directDistance = TypingDNA.mouse.scrollTopArr[length - 1] - TypingDNA.mouse.scrollTopArr[0];\n var speed = Math.round(directDistance * 100 / deltaTime);\n var eventType = 2;\n var arr = [eventType, deltaTime, directDistance, speed];\n for (i in arr) {\n if (isNaN(arr[i]) && !isFinite(arr[i])) {\n return;\n }\n }\n TypingDNA.mouse.history.add(arr);\n }\n\n TypingDNA.mouse.history.add = function(arr) {\n this.stack.push(arr);\n if (this.stack.length > TypingDNA.maxMouseHistoryLength) {\n this.stack.shift();\n }\n }\n\n TypingDNA.mouse.history.getDiagram = function() {\n var mouseDiagram = this.stack.join(\"|\");\n return [String(TypingDNA.isMobile()) + \",\" + String(TypingDNA.version), mouseDiagram].join(\"|\");\n }\n\n TypingDNA.mouse.clearLastMove = function() {\n TypingDNA.mouse.times = [];\n TypingDNA.mouse.xPositions = [];\n TypingDNA.mouse.yPositions = [];\n }\n\n TypingDNA.mouse.checkMove = function() {\n clearInterval(TypingDNA.moveInterval);\n if (TypingDNA.mouse.started == true) {\n TypingDNA.mouse.started = false;\n TypingDNA.mouse.recordMoveAction();\n TypingDNA.mouse.clearLastMove();\n }\n }\n\n TypingDNA.mouse.clearLastScroll = function() {\n TypingDNA.mouse.scrollTimes = [];\n TypingDNA.mouse.scrollTopArr = [];\n }\n\n TypingDNA.mouse.checkScroll = function() {\n clearInterval(TypingDNA.scrollInterval);\n if (TypingDNA.mouse.scrollStarted == true) {\n TypingDNA.mouse.scrollStarted = false;\n TypingDNA.mouse.recordScrollAction();\n TypingDNA.mouse.clearLastScroll();\n }\n }\n\n /**\n * Adds a target to the targetIds array.\n */\n TypingDNA.addTarget = function(target) {\n var targetLength = TypingDNA.targetIds.length;\n var targetFound = false;\n if (targetLength > 0) {\n for (var i = 0; i < targetLength; i++) {\n if (TypingDNA.targetIds[i] == target) {\n targetFound = true;\n break;\n }\n }\n if (!targetFound) {\n TypingDNA.targetIds.push(target);\n }\n } else {\n TypingDNA.targetIds.push(target);\n }\n }\n\n /**\n * Adds a target to the targetIds array.\n */\n TypingDNA.removeTarget = function(target) {\n var targetLength = TypingDNA.targetIds.length;\n if (targetLength > 0) {\n for (var i = 0; i < targetLength; i++) {\n if (TypingDNA.targetIds[i] == target) {\n TypingDNA.targetIds.splice(i, 1);\n break;\n }\n }\n }\n }\n\n /**\n * Resets the history stack\n */\n TypingDNA.reset = function(all) {\n TypingDNA.history.stack = [];\n TypingDNA.history.stackDiagram = [];\n TypingDNA.clickTimes = [];\n TypingDNA.stopTimes = [];\n TypingDNA.ACInputLengths = {\n inputs: [],\n lastLength: [],\n };\n if (all == true) {\n TypingDNA.mouse.history.stack = [];\n }\n }\n\n /**\n * Automatically called at initilization. It starts the recording of keystrokes.\n */\n TypingDNA.start = function() {\n TypingDNA.diagramRecording = true;\n return TypingDNA.recording = true;\n }\n\n /**\n * Ends the recording of further keystrokes. To restart recording afterwards you can\n * either call TypingDNA.start() or create a new TypingDNA object again, not recommended.\n */\n TypingDNA.stop = function() {\n TypingDNA.diagramRecording = false;\n return TypingDNA.recording = false;\n }\n\n /**\n * Starts the recording of mouse activity.\n */\n TypingDNA.startMouse = function() {\n return TypingDNA.mouseRecording = TypingDNA.mouseMoveRecording = true;\n }\n\n /**\n * Stops the recording of mouse activity.\n */\n TypingDNA.stopMouse = function() {\n return TypingDNA.mouseRecording = TypingDNA.mouseMoveRecording = false;\n }\n\n /**\n * This is the main function that outputs the typing pattern as a String\n * {type:Number, text:String, textId:Number, length: Number, targetId:String, caseSensitive:Boolean}\n * @param {Object} obj an object with the following properties\n * * * @param {String} type 0 for anytext pattern, 1 for sametext pattern (also called diagram pattern)\n * * * and 2 for extended pattern (most versatile, can replace both anytext and sametext patterns)\n * * * @param {Number} length (Optional) the length of the text in the history for which you want\n * * * the typing pattern. length is ignored when text or targetId is set (or both).\n * * * @param {String} text (Only for type 1 and type 2) a typed string that you want the typing pattern for\n * * * @param {Number} textId (Optional, only for type 1 and type 2) a personalized id for the typed text\n * * * @param {String} targetId (Optional) specifies if pattern is obtain only from text typed in a certain target\n * * * @param {Boolean} caseSensitive (Optional, default: false) Used if you pass a text for type 1 or type 2\n * * * DEPRECATED * * * in favor of type = 2 * * *\n * * * @param {Boolean} extended (Only for type 1) specifies if full information about what was typed is produced,\n * * * including the actual key pressed, if false, only the order of pressed keys is kept (no actual content)\n * @return {String} A typing pattern in string form\n * @example var typingPattern = tdna.getTypingPattern({type=0, length=180});\n * @example var typingPattern = tdna.getTypingPattern({type=1, text=\"Hello5g21?*\"});\n * @example var typingPattern = tdna.getTypingPattern({type=2, text=\"example@mail.com\"});\n */\n TypingDNA.getTypingPattern = function(obj) {\n if (typeof obj === 'object') {\n switch (obj.type) {\n case 0:\n return TypingDNA.get(obj.length, obj.targetId);\n break;\n case 1:\n var str = (obj.text != undefined) ? obj.text : obj.length;\n return TypingDNA.history.getDiagram(obj.extended, str, obj.textId, obj.targetId, obj.caseSensitive);\n break;\n case 2:\n var str = (obj.text != undefined) ? obj.text : obj.length;\n return TypingDNA.history.getDiagram(true, str, obj.textId, obj.targetId, obj.caseSensitive);\n break;\n default:\n return TypingDNA.get(obj.length);\n break;\n }\n } else {\n return TypingDNA.get();\n }\n }\n\n TypingDNA.getDiagram = function(str, textId) {\n return TypingDNA.history.getDiagram(false, str, textId, undefined, false);\n }\n\n TypingDNA.getExtendedDiagram = function(str, textId) {\n return TypingDNA.history.getDiagram(true, str, textId, undefined, false);\n }\n\n TypingDNA.getMouseDiagram = function() {\n return TypingDNA.mouse.history.getDiagram();\n }\n\n TypingDNA.get = function(length, targetId) {\n var historyTotalLength = TypingDNA.history.stack.length;\n if (length == undefined || length == 0) {\n length = TypingDNA.defaultHistoryLength;\n }\n if (length > historyTotalLength) {\n length = historyTotalLength;\n }\n var obj = {};\n [obj.arr, targetLength] = TypingDNA.history.get(length, \"\", targetId);\n if (targetId != undefined && targetId != \"\") {\n length = targetLength;\n }\n var zl = TypingDNA.zl;\n var histRev = length;\n var histSktF = TypingDNA.math.fo(TypingDNA.history.get(length, \"seek\", targetId));\n var histPrtF = TypingDNA.math.fo(TypingDNA.history.get(length, \"press\", targetId));\n var pressHistMean = Math.round(TypingDNA.math.avg(histPrtF));\n var seekHistMean = Math.round(TypingDNA.math.avg(histSktF));\n var pressHistSD = Math.round(TypingDNA.math.sd(histPrtF));\n var seekHistSD = Math.round(TypingDNA.math.sd(histSktF));\n var charMeanTime = seekHistMean + pressHistMean;\n var pressRatio = TypingDNA.math.rd((pressHistMean + zl) / (charMeanTime + zl), 4);\n var seekToPressRatio = TypingDNA.math.rd((1 - pressRatio) / pressRatio, 4);\n var pressSDToPressRatio = TypingDNA.math.rd((pressHistSD + zl) / (pressHistMean + zl), 4);\n var seekSDToPressRatio = TypingDNA.math.rd((seekHistSD + zl) / (pressHistMean + zl), 4);\n var cpm = Math.round(6E4 / (charMeanTime + zl));\n if (histRev == 0) {\n cpm = 0;\n }\n for (var i in obj.arr) {\n var rev = obj.arr[i][1].length;\n var seekMean = 0;\n var pressMean = 0;\n var postMean = 0;\n var seekSD = 0;\n var pressSD = 0;\n var postSD = 0;\n switch (obj.arr[i][0].length) {\n case 0:\n break;\n case 1:\n var seekMean = TypingDNA.math.rd((obj.arr[i][0][0] + zl) / (seekHistMean + zl), 4);\n break;\n default:\n var arr = TypingDNA.math.fo(obj.arr[i][0]);\n seekMean = TypingDNA.math.rd((TypingDNA.math.avg(arr) + zl) / (seekHistMean + zl), 4);\n seekSD = TypingDNA.math.rd((TypingDNA.math.sd(arr) + zl) / (seekHistSD + zl), 4);\n }\n switch (obj.arr[i][1].length) {\n case 0:\n break;\n case 1:\n var pressMean = TypingDNA.math.rd((obj.arr[i][1][0] + zl) / (pressHistMean + zl), 4);\n break;\n default:\n var arr = TypingDNA.math.fo(obj.arr[i][1]);\n pressMean = TypingDNA.math.rd((TypingDNA.math.avg(arr) + zl) / (pressHistMean + zl), 4);\n pressSD = TypingDNA.math.rd((TypingDNA.math.sd(arr) + zl) / (pressHistSD + zl), 4);\n }\n switch (obj.arr[i][2].length) {\n case 0:\n break;\n case 1:\n var postMean = TypingDNA.math.rd((obj.arr[i][2][0] + zl) / (seekHistMean + zl), 4);\n break;\n default:\n var arr = TypingDNA.math.fo(obj.arr[i][2]);\n postMean = TypingDNA.math.rd((TypingDNA.math.avg(arr) + zl) / (seekHistMean + zl), 4);\n postSD = TypingDNA.math.rd((TypingDNA.math.sd(arr) + zl) / (seekHistSD + zl), 4);\n }\n delete obj.arr[i][2];\n delete obj.arr[i][1];\n delete obj.arr[i][0];\n obj.arr[i][0] = rev;\n obj.arr[i][1] = seekMean;\n obj.arr[i][2] = pressMean;\n obj.arr[i][3] = postMean;\n obj.arr[i][4] = seekSD;\n obj.arr[i][5] = pressSD;\n obj.arr[i][6] = postSD;\n }\n var arr = [];\n TypingDNA.apu(arr, histRev);\n TypingDNA.apu(arr, cpm);\n TypingDNA.apu(arr, charMeanTime);\n TypingDNA.apu(arr, pressRatio);\n TypingDNA.apu(arr, seekToPressRatio);\n TypingDNA.apu(arr, pressSDToPressRatio);\n TypingDNA.apu(arr, seekSDToPressRatio);\n TypingDNA.apu(arr, pressHistMean);\n TypingDNA.apu(arr, seekHistMean);\n TypingDNA.apu(arr, pressHistSD);\n TypingDNA.apu(arr, seekHistSD);\n for (var c = 0; c <= 6; c++) {\n for (var i = 0; i < 44; i++) {\n var keyCode = TypingDNA.keyCodes[i];\n var val = obj.arr[keyCode][c];\n if (val == 0 && c > 0) {\n val = 1;\n }\n TypingDNA.apu(arr, val);\n }\n }\n TypingDNA.apu(arr, TypingDNA.isMobile());\n TypingDNA.apu(arr, TypingDNA.version);\n TypingDNA.apu(arr, TypingDNA.flags);\n arr.push(TypingDNA.history.getSpecialKeys());\n return arr.join(\",\");\n }\n\n TypingDNA.apu = function(arr, val) {\n \"NaN\" == String(val) && (val = 0);\n arr.push(val);\n }\n\n TypingDNA.math = {};\n\n TypingDNA.math.rd = function(val, dec) {\n return Number(val.toFixed(dec));\n }\n\n TypingDNA.math.avg = function(arr) {\n var len = arr.length;\n if (len > 0) {\n var sum = 0;\n for (var i = 0; i < len; i++) {\n sum += arr[i];\n }\n return this.rd(sum / len, 4);\n } else {\n return 0;\n }\n }\n\n TypingDNA.math.sd = function(arr) {\n var len = arr.length;\n if (len < 2) {\n return 0;\n } else {\n var sumVS = 0;\n var mean = this.avg(arr);\n for (var i = 0; i < len; i++) {\n sumVS += (arr[i] - mean) * (arr[i] - mean);\n }\n var sd = Math.sqrt(sumVS / len);\n return sd;\n }\n }\n\n TypingDNA.math.fo = function(arr) {\n if (arr.length > 1) {\n var values = arr.concat();\n var len = arr.length;\n values.sort(function(a, b) {\n return a - b;\n });\n var asd = this.sd(values);\n var aMean = values[Math.ceil(arr.length / 2)];\n var multiplier = 2;\n var maxVal = aMean + multiplier * asd;\n var minVal = aMean - multiplier * asd;\n if (len < 20) {\n minVal = 0;\n }\n var fVal = [];\n for (var i = 0; i < len; i++) {\n var tempval = values[i];\n if (tempval < maxVal && tempval > minVal) {\n fVal.push(tempval);\n }\n }\n return fVal;\n } else {\n return arr;\n }\n }\n\n // Calculate a 32 bit FNV-1a hash\n TypingDNA.math.fnv1aHash = function(str) {\n if (str == undefined && typeof str !== 'string') {\n return 0;\n }\n str = str.toLowerCase();\n var i, l;\n var hval = 0x721b5ad4;\n for (i = 0, l = str.length; i < l; i++) {\n hval ^= str.charCodeAt(i);\n hval += (hval << 1) + (hval << 4) + (hval << 7) + (hval << 8) + (hval << 24);\n }\n return hval >>> 0;\n }\n\n TypingDNA.history = {};\n TypingDNA.history.stack = [];\n TypingDNA.history.stackDiagram = [];\n\n TypingDNA.history.add = function(arr) {\n this.stack.push(arr);\n if (this.stack.length > TypingDNA.maxHistoryLength) {\n this.stack.shift();\n }\n }\n\n TypingDNA.history.addDiagram = function(arr) {\n this.stackDiagram.push(arr);\n }\n\n TypingDNA.history.getDiagram = function(extended, str, textId, targetId, caseSensitive) {\n var caseSensitive = (caseSensitive != undefined) ? caseSensitive : (str == undefined || str == \"\");\n var returnArr = [];\n var diagramType = (extended == true) ? 1 : 0;\n var stackDiagram = this.stackDiagram;\n if (targetId != undefined && targetId != \"\" && stackDiagram.length > 0) {\n stackDiagram = TypingDNA.sliceStackByTargetId(stackDiagram, targetId);\n if (str == undefined || str == \"\") {\n var element = TypingDNA.document.getElementById(targetId);\n if (element != null) {\n str = element.value;\n }\n }\n } else {\n var targetLength = TypingDNA.targetIds.length;\n if (str == undefined || str == \"\") {\n if (targetLength > 0) {\n str = \"\";\n for (var i = 0; i < targetLength; i++) {\n var element = TypingDNA.document.getElementById(TypingDNA.targetIds[i]);\n if (element != null) {\n str += element.value;\n }\n }\n } else {\n if (!extended) {\n console.log(\"Please use extended pattern OR provide a fixed string param OR use the addTarget method.\");\n }\n }\n }\n }\n var missingCount = 0;\n var diagramHistoryLength = stackDiagram.length;\n var strLength = diagramHistoryLength;\n if (typeof str === 'string') {\n strLength = str.length;\n } else if (typeof str === 'number' && str < diagramHistoryLength) {\n strLength = str;\n }\n var returnTextId = 0;\n if (textId != undefined) {\n if (isNaN(parseInt(textId))) {\n returnTextId = TypingDNA.math.fnv1aHash(textId);\n } else {\n returnTextId = parseInt(textId);\n }\n } else {\n if (typeof str === 'string') {\n returnTextId = TypingDNA.math.fnv1aHash(str);\n }\n }\n returnArr.push([TypingDNA.isMobile(), TypingDNA.version, TypingDNA.flags, diagramType, strLength, returnTextId, TypingDNA.history.getSpecialKeys()]);\n if (str != undefined && str.length > 0 && typeof str === 'string') {\n var strLower = str.toLowerCase();\n var strUpper = str.toUpperCase();\n var lastFoundPos = [];\n var lastPos = 0;\n var strUpperCharCode;\n var currentSensitiveCharCode;\n for (var i = 0; i < str.length; i++) {\n var currentCharCode = str.charCodeAt(i);\n if (!caseSensitive) {\n strUpperCharCode = strUpper.charCodeAt(i);\n currentSensitiveCharCode = (strUpperCharCode != currentCharCode) ? strUpperCharCode : strLower.charCodeAt(i);\n }\n var startPos = lastPos;\n var finishPos = diagramHistoryLength;\n var found = false;\n while (found == false) {\n for (var j = startPos; j < finishPos; j++) {\n var arr = stackDiagram[j];\n var charCode = arr[3];\n if (charCode == currentCharCode || (!caseSensitive && charCode == currentSensitiveCharCode)) {\n found = true;\n if (j == lastPos) {\n lastPos++;\n lastFoundPos = [];\n } else {\n lastFoundPos.push(j);\n var len = lastFoundPos.length;\n if (len > 1 && lastFoundPos[len - 1] == lastFoundPos[len - 2] + 1) {\n lastPos = j + 1;\n lastFoundPos = [];\n }\n }\n var keyCode = arr[0];\n var seekTime = arr[1];\n var pressTime = arr[2];\n if (extended) {\n returnArr.push([charCode, seekTime, pressTime, keyCode]);\n } else {\n returnArr.push([seekTime, pressTime]);\n }\n break;\n }\n }\n if (found == false) {\n if (startPos != 0) {\n startPos = 0;\n finishPos = lastPos;\n } else {\n found = true;\n if (TypingDNA.replaceMissingKeys) {\n missingCount++;\n if (typeof TypingDNA.savedMissingAvgValues !== 'object' || TypingDNA.savedMissingAvgValues.historyLength != diagramHistoryLength) {\n var histSktF = TypingDNA.math.fo(TypingDNA.history.get(0, \"seek\"));\n var histPrtF = TypingDNA.math.fo(TypingDNA.history.get(0, \"press\"));\n var seekTime = Math.round(TypingDNA.math.avg(histSktF));\n var pressTime = Math.round(TypingDNA.math.avg(histPrtF));\n TypingDNA.savedMissingAvgValues = {\n seekTime: seekTime,\n pressTime: pressTime,\n historyLength: diagramHistoryLength\n };\n } else {\n var seekTime = TypingDNA.savedMissingAvgValues.seekTime;\n var pressTime = TypingDNA.savedMissingAvgValues.pressTime;\n }\n var missing = 1;\n if (extended) {\n returnArr.push([currentCharCode, seekTime, pressTime, currentCharCode, missing]);\n } else {\n returnArr.push([seekTime, pressTime, missing]);\n }\n break;\n }\n }\n }\n }\n if (TypingDNA.replaceMissingKeysPerc < missingCount * 100 / strLength) {\n return null;\n }\n }\n } else {\n var startCount = 0;\n if (typeof str === 'number') {\n startCount = diagramHistoryLength - str;\n }\n if (startCount < 0) {\n startCount = 0;\n }\n for (var i = startCount; i < diagramHistoryLength; i++) {\n var arr = stackDiagram[i];\n var keyCode = arr[0];\n var seekTime = arr[1];\n var pressTime = arr[2];\n if (extended) {\n var charCode = arr[3];\n returnArr.push([charCode, seekTime, pressTime, keyCode]);\n } else {\n returnArr.push([seekTime, pressTime]);\n }\n }\n }\n return returnArr.join(\"|\");\n }\n\n TypingDNA.sliceStackByTargetId = function(stack, targetId) {\n var length = stack.length;\n var newStack = [];\n for (i = 0; i < length; i++) {\n var arr = stack[i];\n if (arr[5] == targetId) {\n newStack.push(arr);\n }\n }\n return newStack;\n }\n\n TypingDNA.history.get = function(length, type, targetId) {\n var stack = this.stack;\n if (targetId != undefined && targetId != \"\" && stack.length > 0) {\n stack = TypingDNA.sliceStackByTargetId(stack, targetId);\n }\n var historyTotalLength = stack.length;\n if (length == 0 || length == undefined) {\n length = TypingDNA.defaultHistoryLength;\n }\n if (length > historyTotalLength) {\n length = historyTotalLength;\n }\n switch (type) {\n case \"seek\":\n var seekArr = [];\n for (i = 1; i <= length; i++) {\n var seekTime = stack[historyTotalLength - i][1];\n if (seekTime <= TypingDNA.maxSeekTime) {\n seekArr.push(seekTime);\n }\n };\n return seekArr;\n break;\n case \"press\":\n var pressArr = [];\n for (i = 1; i <= length; i++) {\n var pressTime = stack[historyTotalLength - i][2];\n if (pressTime <= TypingDNA.maxPressTime) {\n pressArr.push(pressTime);\n }\n };\n return pressArr;\n break;\n default:\n var historyStackObj = {};\n for (var i in TypingDNA.keyCodes) {\n historyStackObj[TypingDNA.keyCodes[i]] = [\n [],\n [],\n []\n ];\n }\n for (i = 1; i <= length; i++) {\n var arr = stack[historyTotalLength - i];\n var keyCode = arr[0];\n var seekTime = arr[1];\n var pressTime = arr[2];\n var prevKeyCode = arr[3];\n if (TypingDNA.keyCodesObj[keyCode]) {\n if (seekTime <= TypingDNA.maxSeekTime) {\n historyStackObj[keyCode][0].push(seekTime);\n if (prevKeyCode != 0 && TypingDNA.keyCodesObj[prevKeyCode]) {\n historyStackObj[prevKeyCode][2].push(seekTime);\n }\n }\n if (pressTime <= TypingDNA.maxPressTime) {\n historyStackObj[keyCode][1].push(pressTime);\n }\n }\n };\n return [historyStackObj, length];\n }\n }\n\n TypingDNA.history.getSpecialKeys = function() {\n var returnArr = [];\n var length = this.stack.length;\n var historyStackObj = {};\n for (var i in TypingDNA.spKeyCodes) {\n historyStackObj[TypingDNA.spKeyCodes[i]] = [\n [],\n ];\n }\n for (i = 1; i <= length; i++) {\n var arr = this.stack[length - i];\n if (TypingDNA.spKeyCodesObj[arr[0]]) {\n var keyCode = arr[0];\n var pressTime = arr[2];\n if (pressTime <= TypingDNA.maxPressTime) {\n historyStackObj[keyCode][0].push(pressTime);\n }\n }\n }\n for (var i in TypingDNA.spKeyCodes) {\n var arr = TypingDNA.math.fo(historyStackObj[TypingDNA.spKeyCodes[i]][0]);\n var arrLen = arr.length;\n returnArr.push(arrLen);\n if (arrLen > 1) {\n returnArr.push(Math.round(TypingDNA.math.avg(arr)));\n returnArr.push(Math.round(TypingDNA.math.sd(arr)));\n } else if (arrLen == 1) {\n returnArr.push([arr[0], -1]);\n } else {\n returnArr.push([-1, -1]);\n }\n }\n var clicksArrLen = TypingDNA.clickTimes.length;\n returnArr.push(clicksArrLen);\n if (clicksArrLen > 1) {\n returnArr.push(Math.round(TypingDNA.math.avg(TypingDNA.clickTimes)));\n returnArr.push(Math.round(TypingDNA.math.sd(TypingDNA.clickTimes)));\n } else if (clicksArrLen == 1) {\n returnArr.push(TypingDNA.clickTimes[0], -1);\n } else {\n returnArr.push([-1, -1]);\n }\n var stopArrLen = TypingDNA.stopTimes.length;\n returnArr.push(stopArrLen);\n if (stopArrLen > 1) {\n returnArr.push(Math.round(TypingDNA.math.avg(TypingDNA.stopTimes)));\n returnArr.push(Math.round(TypingDNA.math.sd(TypingDNA.stopTimes)));\n } else if (stopArrLen == 1) {\n returnArr.push(TypingDNA.stopTimes[0], -1);\n } else {\n returnArr.push([-1, -1]);\n }\n return returnArr;\n }\n\n /**\n * Checks the quality of a typing pattern, how well it is revelated, how useful the\n * information will be for matching applications. It returns a value between 0 and 1.\n * Values over 0.3 are acceptable, however a value over 0.7 shows good pattern strength.\n * @param {String} typingPattern The typing pattern string returned by the get() function.\n * @return {Number} A real number between 0 and 1. A close to 1 value means a stronger pattern.\n * @example var quality = tdna.getQuality(typingPattern);\n */\n TypingDNA.getQuality = function(typingPattern) {\n var obj = typingPattern.split(\",\");\n for (i = 0; i < obj.length; i++) {\n obj[i] = Number(obj[i]);\n }\n var totalEvents = obj[0];\n var acc = rec = avgAcc = 0;\n var avg = TypingDNA.math.avg(obj);\n var revs = obj.slice(11, 55);\n for (var i in revs) {\n rec += Number(revs[i] > 0);\n acc += Number(revs[i] > 4);\n avgAcc += Number(revs[i] > avg);\n }\n var tReturn = Math.sqrt(rec * acc * avgAcc) / 80;\n return tReturn > 1 ? 1 : tReturn;\n }\n\n /**\n * Checks the validity of a typing pattern if recorded on mobile.\n * @param {String} typingPattern The typing pattern string returned by the get() function.\n * @return {Number} A real number between 0 and 1. A number larger than 0.7 usually means a valid pattern.\n * @example var quality = tdna.checkMobileValidity(typingPattern);\n */\n TypingDNA.checkMobileValidity = function(typingPattern) {\n var obj = typingPattern.split(\",\");\n var totalEvents = obj[0];\n if (totalEvents == 0) {\n return 0;\n }\n var rec = 0;\n var revs = obj.slice(11, 55);\n for (var i in revs) {\n rec += Number(revs[i]);\n }\n return rec / totalEvents;\n }\n\n TypingDNA.getLength = function(typingPattern) {\n return Number(typingPattern.split(\",\")[1]);\n }\n\n TypingDNA.isMobile = function() {\n if (TypingDNA.mobile != undefined) {\n return TypingDNA.mobile;\n } else {\n var check = 0;\n (function(a) {\n if (\n /(android|bb\\d+|meego).+mobile|avantgo|bada\\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\\.(browser|link)|vodafone|wap|windows ce|xda|xiino|android|ipad|playbook|silk/i\n .test(a) ||\n /1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s\\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\\-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\\-(n|u)|c55\\/|capi|ccwa|cdm\\-|cell|chtm|cldc|cmd\\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\\-s|devi|dica|dmob|do(c|p)o|ds(12|\\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\\-|_)|g1 u|g560|gene|gf\\-5|g\\-mo|go(\\.w|od)|gr(ad|un)|haie|hcit|hd\\-(m|p|t)|hei\\-|hi(pt|ta)|hp( i|ip)|hs\\-c|ht(c(\\-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\\-(20|go|ma)|i230|iac( |\\-|\\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\\/)|klon|kpt |kwc\\-|kyo(c|k)|le(no|xi)|lg( g|\\/(k|l|u)|50|54|\\-[a-w])|libw|lynx|m1\\-w|m3ga|m50\\/|ma(te|ui|xo)|mc(01|21|ca)|m\\-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\\-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\\-2|po(ck|rt|se)|prox|psio|pt\\-g|qa\\-a|qc(07|12|21|32|60|\\-[2-7]|i\\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\\-|oo|p\\-)|sdk\\/|se(c(\\-|0|1)|47|mc|nd|ri)|sgh\\-|shar|sie(\\-|m)|sk\\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\\-|v\\-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\\-|tdg\\-|tel(i|m)|tim\\-|t\\-mo|to(pl|sh)|ts(70|m\\-|m3|m5)|tx\\-9|up(\\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\\-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas\\-|your|zeto|zte\\-/i\n .test(a.substr(0, 4))) {\n check = 1\n }\n })(navigator.userAgent || navigator.vendor || window.opera);\n TypingDNA.mobile = check;\n return check;\n }\n }\n\n TypingDNA.getTextId = function(str) {\n return TypingDNA.math.fnv1aHash(str);\n }\n } else {\n // TypingDNA is a static class, currently doesn't support actual multiple instances (Singleton implementation)\n return TypingDNA.instance;\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./packages/TypingDnaRecorder-JavaScript/typingdna.js","module.exports = { \"default\": require(\"core-js/library/fn/is-iterable\"), __esModule: true };\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/babel-runtime/core-js/is-iterable.js\n// module id = 541\n// module chunks = 0","require('../modules/web.dom.iterable');\nrequire('../modules/es6.string.iterator');\nmodule.exports = require('../modules/core.is-iterable');\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/fn/is-iterable.js\n// module id = 542\n// module chunks = 0","var classof = require('./_classof');\nvar ITERATOR = require('./_wks')('iterator');\nvar Iterators = require('./_iterators');\nmodule.exports = require('./_core').isIterable = function (it) {\n var O = Object(it);\n return O[ITERATOR] !== undefined\n || '@@iterator' in O\n // eslint-disable-next-line no-prototype-builtins\n || Iterators.hasOwnProperty(classof(O));\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/core.is-iterable.js\n// module id = 543\n// module chunks = 0","module.exports = { \"default\": require(\"core-js/library/fn/get-iterator\"), __esModule: true };\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/babel-runtime/core-js/get-iterator.js\n// module id = 544\n// module chunks = 0","require('../modules/web.dom.iterable');\nrequire('../modules/es6.string.iterator');\nmodule.exports = require('../modules/core.get-iterator');\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/fn/get-iterator.js\n// module id = 545\n// module chunks = 0","var anObject = require('./_an-object');\nvar get = require('./core.get-iterator-method');\nmodule.exports = require('./_core').getIterator = function (it) {\n var iterFn = get(it);\n if (typeof iterFn != 'function') throw TypeError(it + ' is not iterable!');\n return anObject(iterFn.call(it));\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/core.get-iterator.js\n// module id = 546\n// module chunks = 0","/*!\n * Copyright (c) 2016-2017, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n\ndefine([\n 'okta'\n], function (Okta) {\n\n return Okta.View.extend({\n template: '\\\n <div class=\"content-container\">\\\n <span class=\"registration-label\">{{label}}</span>\\\n <a title=\"{{text}}\" aria-label=\"{{text}}\" class=\"registration-link\" href=\"#\">{{text}}</a>\\\n </div>\\\n ',\n className: 'registration-container',\n\n events: {\n 'click a.registration-link': 'handleClickEvent'\n },\n\n handleClickEvent: function (e) {\n e.preventDefault();\n var clickHandler = this.settings.get('registration.click');\n if (clickHandler) {\n clickHandler();\n }\n else if (this.options.appState.get('isIdxStateToken')) {\n this.options.appState.trigger('navigate', 'signin/enroll-user');\n } else {\n this.options.appState.trigger('navigate', 'signin/register');\n }\n },\n\n getTemplateData: function () {\n var templateData = { \n label: Okta.loc('registration.signup.label', 'login'),\n text: Okta.loc('registration.signup.text', 'login')\n };\n return templateData; \n }\n });\n\n});\n\n\n// WEBPACK FOOTER //\n// ./src/views/shared/FooterRegistration.js","/*!\n * Copyright (c) 2015-2017, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n\ndefine([\n 'okta',\n 'util/Util',\n 'views/primary-auth/PrimaryAuthForm'\n], function (Okta, Util, PrimaryAuthForm) {\n\n var _ = Okta._;\n\n return PrimaryAuthForm.extend({\n className: 'idp-discovery-form',\n save: function () {\n return Okta.loc('oform.next', 'login');\n },\n saveId: 'idp-discovery-submit',\n\n initialize: function () {\n this.listenTo(this, 'save', _.bind(this.model.save, this.model));\n this.stateEnableChange();\n },\n\n inputs: function () {\n var inputs = [];\n var usernameProps = {\n className: 'margin-btm-30',\n label: Okta.loc('primaryauth.username.placeholder', 'login'),\n 'label-top': true,\n explain: Util.createInputExplain(\n 'primaryauth.username.tooltip',\n 'primaryauth.username.placeholder',\n 'login'),\n 'explain-top': true,\n inputId: 'idp-discovery-username',\n disabled: false\n };\n inputs.push(_.extend(this.getUsernameField(), usernameProps));\n if (this.settings.get('features.rememberMe')) {\n inputs.push(this.getRemeberMeCheckbox());\n }\n return inputs;\n },\n\n focus: function () {\n if (!this.model.get('username')) {\n this.getInputs().first().focus();\n }\n else if(this.getInputs().toArray()[1]) {\n this.getInputs().toArray()[1].focus();\n }\n }\n\n });\n\n});\n\n\n\n// WEBPACK FOOTER //\n// ./src/views/idp-discovery/IDPDiscoveryForm.js","/*!\n * Copyright (c) 2015-2017, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n\ndefine([\n 'okta',\n 'models/PrimaryAuth',\n 'util/CookieUtil',\n 'util/Enums',\n 'util/Util',\n],\nfunction (Okta, PrimaryAuthModel, CookieUtil, Enums, Util) {\n\n var _ = Okta._;\n\n return PrimaryAuthModel.extend({\n\n props: function () {\n var cookieUsername = CookieUtil.getCookieUsername(),\n properties = this.getUsernameAndRemember(cookieUsername);\n\n return {\n username: ['string', true, properties.username],\n lastUsername: ['string', false, cookieUsername],\n context: ['object', false],\n remember: ['boolean', true, properties.remember]\n };\n },\n\n local: {},\n\n save: function () {\n var username = this.settings.transformUsername(this.get('username'), Enums.IDP_DISCOVERY),\n remember = this.get('remember'),\n lastUsername = this.get('lastUsername'),\n resource = 'okta:acct:' + username,\n requestContext = this.get('requestContext');\n\n this.setUsernameCookie(username, remember, lastUsername);\n\n //the 'save' event here is triggered and used in the BaseLoginController\n //to disable the primary button\n this.trigger('save');\n\n this.appState.trigger('loading', true);\n\n var webfingerArgs = {\n resource: resource,\n requestContext: requestContext\n };\n\n var authClient = this.appState.settings.authClient;\n\n authClient.webfinger(webfingerArgs)\n .then(_.bind(function (res) {\n if(res && res.links && res.links[0]) {\n if(res.links[0].properties['okta:idp:type'] === 'OKTA') {\n this.trigger('goToPrimaryAuth');\n } else if (res.links[0].href) {\n //override redirectFn to only use Util.redirectWithFormGet if OKTA_INVALID_SESSION_REPOST is included\n //it will be encoded since it will be included in the encoded fromURI\n var redirectFn = res.links[0].href.includes('OKTA_INVALID_SESSION_REPOST%3Dtrue') ? \n Util.redirectWithFormGet.bind(Util) : this.settings.get('redirectUtilFn');\n redirectFn(res.links[0].href);\n }\n }\n }, this))\n .fail(_.bind(function () {\n this.trigger('error');\n // Specific event handled by the Header for the case where the security image is not\n // enabled and we want to show a spinner. (Triggered only here and handled only by Header).\n this.appState.trigger('removeLoading');\n CookieUtil.removeUsernameCookie();\n }, this))\n .fin(_.bind(function () {\n this.appState.trigger('loading', false);\n }, this));\n }\n });\n\n});\n\n\n\n// WEBPACK FOOTER //\n// ./src/models/IDPDiscovery.js","/*!\n * Copyright (c) 2015-2016, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n\n/* eslint camelcase: 0 */\ndefine([\n 'okta',\n 'duo',\n 'q',\n 'util/FactorUtil',\n 'util/FormController',\n 'util/Enums',\n 'util/FormType',\n 'views/shared/FooterSignout'\n],\nfunction (Okta, Duo, Q, FactorUtil, FormController, Enums, FormType, FooterSignout) {\n\n var $ = Okta.$,\n _ = Okta._;\n\n return FormController.extend({\n\n className: 'mfa-verify-duo duo-form',\n\n Model: {\n props: {\n host: 'string',\n signature: 'string',\n postAction: 'string',\n factorId: 'string',\n stateToken: 'string',\n rememberDevice: 'boolean'\n },\n\n initialize: function () {\n var rememberDevice = FactorUtil.getRememberDeviceValue(this.appState);\n // set the initial value for remember device (Cannot do this while defining the\n // local property because this.settings would not be initialized there yet).\n this.set('rememberDevice', rememberDevice);\n },\n\n getInitOptions: function () {\n var rememberDevice = !!this.get('rememberDevice');\n return this.doTransaction(function (transaction) {\n var data = {\n rememberDevice: rememberDevice\n };\n var factor = _.findWhere(transaction.factors, {\n provider: 'DUO',\n factorType: 'web'\n });\n return factor.verify(data)\n .fail(function (err) {\n // Clean up the cookie on failure.\n throw err;\n });\n });\n },\n\n verify: function (signedResponse) {\n // Note: We should be doing this in OktaAuth! Fix when it's updated.\n var url = this.get('postAction'),\n factorId = this.get('factorId'),\n self = this,\n data = {\n id: factorId,\n stateToken: this.get('stateToken'),\n sig_response: signedResponse\n };\n // We don't actually use authClient.post() here (unlike all the other cases in the\n // sign-in widget) since the endpoint is wired to accept serialized form post instead\n // of a JSON post ($.post() is different from authClient.post() in that in $.post(),\n // jquery decides the Content-Type instead of it being a JSON type). Enroll/Verify DUO\n // are the only two places where we actually do this.\n // NOTE - If we ever decide to change this, we should test this very carefully.\n var rememberDevice = this.get('rememberDevice');\n return Q($.post(url, data))\n .then(function () {\n return self.doTransaction(function (transaction) {\n var data;\n if (rememberDevice) {\n data = {rememberDevice: rememberDevice};\n }\n return transaction.poll(data);\n });\n })\n .fail(function (err) {\n self.trigger('error', self, err.xhr);\n });\n }\n },\n\n Form: {\n autoSave: true,\n noButtonBar: true,\n title: _.partial(Okta.loc, 'factor.duo'),\n attributes: { 'data-se': 'factor-duo' },\n\n postRender: function () {\n this.add('<iframe frameborder=\"0\" title=\"' + this.title() + '\"></iframe>');\n if (this.options.appState.get('allowRememberDevice')) {\n this.addInput({\n label: false,\n 'label-top': true,\n placeholder: this.options.appState.get('rememberDeviceLabel'),\n className: 'margin-btm-0',\n name: 'rememberDevice',\n type: 'checkbox'\n });\n }\n Duo.init({\n 'host': this.model.get('host'),\n 'sig_request': this.model.get('signature'),\n 'iframe': this.$('iframe').get(0),\n 'post_action': _.bind(this.model.verify, this.model)\n });\n }\n },\n\n Footer: FooterSignout,\n\n fetchInitialData: function () {\n var self = this;\n return this.model.getInitOptions()\n .then(function (trans) {\n var res = trans.data;\n if (!res._embedded || !res._embedded.factor || !res._embedded.factor._embedded ||\n !res._embedded.factor._embedded.verification) {\n throw new Error('Response does not have duo verification options');\n }\n var verification = res._embedded.factor._embedded.verification;\n self.model.set({\n host: verification.host,\n signature: verification.signature,\n postAction: verification._links.complete.href,\n factorId: res._embedded.factor.id,\n stateToken: res.stateToken\n });\n });\n },\n\n trapAuthResponse: function () {\n if (this.options.appState.get('isMfaChallenge')) {\n return true;\n }\n },\n\n back: function () {\n // Empty function on verify controllers to prevent users\n // from navigating back during 'verify' using the browser's\n // back button. The URL will still change, but the view will not\n // More details in OKTA-135060.\n }\n\n });\n\n});\n\n\n\n// WEBPACK FOOTER //\n// ./src/VerifyDuoController.js","define(['parse-ms', '@sindresorhus/to-milliseconds'], function (parseMs, toMilliseconds) {\n\n const MOMENT_UNIT = {\n MILLISECOND: 'milliseconds',\n SECOND: 'seconds',\n MINUTE: 'minutes',\n HOUR: 'hours',\n DAY: 'days'\n };\n\n const MOMENT_UNIT_KEYS = Object.keys(MOMENT_UNIT);\n\n /**\n * @method convertMomentUnits\n * Conversion between moment's units and our units internally\n *\n * @param {String} momentUnit The units that val is in\n * @return {String} The key in the MOMENT_UNIT hash\n */\n const convertMomentUnits = function (momentUnit) {\n const entry = MOMENT_UNIT_KEYS.filter(k => MOMENT_UNIT[k] === momentUnit);\n\n return entry.length === 1 ? entry[0] : momentUnit;\n };\n\n return {\n\n /**\n * @method getTimeInHighestRelevantUnit\n * Will return a number in the units of the highest relevant time unit.\n * Only checks milliseconds, seconds, minutes, hours, and days.\n * E.g.\n * 15 MINUTE -> 15 MINUTE\n * 15 minutes -> 15 MINUTE\n * 60 minutes -> 1 HOUR\n * 90 minutes -> 90 MINUTE\n * 24 HOUR -> 1 DAY\n * 24 hours -> 1 DAY\n * 30 DAY -> 30 DAY\n *\n * @typedef { \"MILLISECOND\" | \"SECOND\" | \"MINUTE\" | \"HOUR\" | \"DAY\" } TimeUnit\n *\n * @typedef { \"MILLISECOND\" | \"SECOND\" | \"MINUTE\" | \"HOUR\" | \"DAY\" |\n * \"milliseconds\" | \"seconds\" | \"minutes\" | \"hours\" | \"days\"\n * } FlexibleTimeUnit\n *\n * @typedef TimeAndUnit\n * @property {number} time the consolidated time\n * @property {TimeUnit} unit the unit of the time\n *\n * @param {FlexibleTimeUnit} unit The time unit\n * @return {TimeAndUnit} An object containing the amount of time and the unit\n */\n getTimeInHighestRelevantUnit: function (val, unit) {\n const defaultTimeObj = {\n days: 0,\n hours: 0,\n minutes: 0,\n seconds: 0,\n milliseconds: 0\n };\n const normalizedUnit = MOMENT_UNIT[unit] || unit;\n let timeObj;\n\n try {\n const ms = toMilliseconds(Object.assign(defaultTimeObj, { [normalizedUnit]: val }));\n timeObj = parseMs(ms);\n } catch (error) {\n timeObj = {};\n }\n\n const duration = Object.keys(timeObj)\n .reduce((init, k) => {\n if (timeObj[k] !== 0) {\n init[k] = timeObj[k];\n }\n return init;\n }, {});\n\n let highestUnit;\n let time;\n if (Object.keys(duration).length === 1) {\n Object.keys(duration)\n .forEach(k => {\n time = duration[k];\n highestUnit = k;\n });\n } else {\n time = val;\n highestUnit = normalizedUnit;\n }\n\n return {\n time: time,\n unit: convertMomentUnits(highestUnit)\n };\n },\n\n };\n\n});\n\n\n\n// WEBPACK FOOTER //\n// ./src/util/TimeUtil.js","require('../../modules/es6.object.assign');\nmodule.exports = require('../../modules/_core').Object.assign;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/fn/object/assign.js\n// module id = 552\n// module chunks = 0","// 19.1.3.1 Object.assign(target, source)\nvar $export = require('./_export');\n\n$export($export.S + $export.F, 'Object', { assign: require('./_object-assign') });\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/es6.object.assign.js\n// module id = 553\n// module chunks = 0","'use strict';\n// 19.1.2.1 Object.assign(target, source, ...)\nvar DESCRIPTORS = require('./_descriptors');\nvar getKeys = require('./_object-keys');\nvar gOPS = require('./_object-gops');\nvar pIE = require('./_object-pie');\nvar toObject = require('./_to-object');\nvar IObject = require('./_iobject');\nvar $assign = Object.assign;\n\n// should work with symbols and should have deterministic property order (V8 bug)\nmodule.exports = !$assign || require('./_fails')(function () {\n var A = {};\n var B = {};\n // eslint-disable-next-line no-undef\n var S = Symbol();\n var K = 'abcdefghijklmnopqrst';\n A[S] = 7;\n K.split('').forEach(function (k) { B[k] = k; });\n return $assign({}, A)[S] != 7 || Object.keys($assign({}, B)).join('') != K;\n}) ? function assign(target, source) { // eslint-disable-line no-unused-vars\n var T = toObject(target);\n var aLen = arguments.length;\n var index = 1;\n var getSymbols = gOPS.f;\n var isEnum = pIE.f;\n while (aLen > index) {\n var S = IObject(arguments[index++]);\n var keys = getSymbols ? getKeys(S).concat(getSymbols(S)) : getKeys(S);\n var length = keys.length;\n var j = 0;\n var key;\n while (length > j) {\n key = keys[j++];\n if (!DESCRIPTORS || isEnum.call(S, key)) T[key] = S[key];\n }\n } return T;\n} : $assign;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_object-assign.js\n// module id = 554\n// module chunks = 0","'use strict';\nmodule.exports = milliseconds => {\n\tif (typeof milliseconds !== 'number') {\n\t\tthrow new TypeError('Expected a number');\n\t}\n\n\tconst roundTowardsZero = milliseconds > 0 ? Math.floor : Math.ceil;\n\n\treturn {\n\t\tdays: roundTowardsZero(milliseconds / 86400000),\n\t\thours: roundTowardsZero(milliseconds / 3600000) % 24,\n\t\tminutes: roundTowardsZero(milliseconds / 60000) % 60,\n\t\tseconds: roundTowardsZero(milliseconds / 1000) % 60,\n\t\tmilliseconds: roundTowardsZero(milliseconds) % 1000,\n\t\tmicroseconds: roundTowardsZero(milliseconds * 1000) % 1000,\n\t\tnanoseconds: roundTowardsZero(milliseconds * 1e6) % 1000\n\t};\n};\n\n\n\n// WEBPACK FOOTER //\n// ./node_modules/parse-ms/index.js","'use strict';\n\nconst converters = {\n\tdays: value => value * 864e5,\n\thours: value => value * 36e5,\n\tminutes: value => value * 6e4,\n\tseconds: value => value * 1e3,\n\tmilliseconds: value => value,\n\tmicroseconds: value => value / 1e3,\n\tnanoseconds: value => value / 1e6\n};\n\nconst toMilliseconds = object => Object.entries(object).reduce((milliseconds, [key, value]) => {\n\tif (typeof value !== 'number') {\n\t\tthrow new TypeError(`Expected a \\`number\\` for key \\`${key}\\`, got \\`${value}\\` (${typeof value})`);\n\t}\n\n\tif (!converters[key]) {\n\t\tthrow new Error('Unsupported time key');\n\t}\n\n\treturn milliseconds + converters[key](value);\n}, 0);\n\nmodule.exports = toMilliseconds;\n// TODO: remove this for next major version\nmodule.exports.default = toMilliseconds;\n\n\n\n// WEBPACK FOOTER //\n// ./node_modules/@sindresorhus/to-milliseconds/index.js","module.exports = { \"default\": require(\"core-js/library/fn/object/entries\"), __esModule: true };\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/babel-runtime/core-js/object/entries.js\n// module id = 557\n// module chunks = 0","require('../../modules/es7.object.entries');\nmodule.exports = require('../../modules/_core').Object.entries;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/fn/object/entries.js\n// module id = 558\n// module chunks = 0","// https://github.com/tc39/proposal-object-values-entries\nvar $export = require('./_export');\nvar $entries = require('./_object-to-array')(true);\n\n$export($export.S, 'Object', {\n entries: function entries(it) {\n return $entries(it);\n }\n});\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/es7.object.entries.js\n// module id = 559\n// module chunks = 0","var DESCRIPTORS = require('./_descriptors');\nvar getKeys = require('./_object-keys');\nvar toIObject = require('./_to-iobject');\nvar isEnum = require('./_object-pie').f;\nmodule.exports = function (isEntries) {\n return function (it) {\n var O = toIObject(it);\n var keys = getKeys(O);\n var length = keys.length;\n var i = 0;\n var result = [];\n var key;\n while (length > i) {\n key = keys[i++];\n if (!DESCRIPTORS || isEnum.call(O, key)) {\n result.push(isEntries ? [key, O[key]] : O[key]);\n }\n }\n return result;\n };\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_object-to-array.js\n// module id = 560\n// module chunks = 0","/*!\n * Copyright (c) 2019, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n\n/* eslint complexity:[2, 10], max-params: [2, 11] */\n\ndefine([\n 'okta',\n 'util/FormController',\n 'util/FormType',\n 'views/shared/FooterWithBackLink'\n],\nfunction (Okta, FormController, FormType, FooterWithBackLink) {\n\n var _ = Okta._,\n $ = Okta.$;\n var { Util } = Okta.internal.util;\n\n return FormController.extend({\n className: 'piv-cac-card',\n Model: {\n\n save: async function () {\n this.trigger('request');\n var self = this,\n pivConfig = this.settings.get('piv'),\n data = {\n fromURI: this.settings.get('relayState'),\n isCustomDomain: pivConfig.isCustomDomain\n };\n\n try {\n await this.getCert(pivConfig.certAuthUrl);\n const res = await this.postCert(pivConfig.certAuthUrl, data);\n Util.redirect(res.redirectUrl);\n } catch (err) {\n if (_.isEmpty(err.responseJSON) && !err.responseText) {\n err.responseJSON = {\n errorSummary: Okta.loc('piv.cac.error', 'login')\n };\n }\n self.trigger('error', self, err);\n }\n },\n\n getCert: function (certAuthUrl) {\n return $.get({\n url: certAuthUrl,\n xhrFields: {\n withCredentials: true\n },\n beforeSend: function () {\n // overriding this function to prevent our jquery-wrapper from\n // setting headers. Need to keep this a simple request in order for\n // PIV / CAC to work in IE.\n },\n });\n },\n\n postCert: function (certAuthUrl, data) {\n return $.post({\n url: certAuthUrl,\n xhrFields: {\n withCredentials: true\n },\n data: JSON.stringify(data),\n contentType: 'text/plain',\n beforeSend: function () {\n // overriding this function to prevent our jquery-wrapper from\n // setting headers. Need to keep this a simple request in order for\n // PIV / CAC to work in IE.\n },\n });\n }\n },\n\n Form: {\n autoSave: true,\n hasSavingState: false,\n title: _.partial(Okta.loc, 'piv.cac.title', 'login'),\n className: 'piv-cac-card',\n noCancelButton: true,\n save: _.partial(Okta.loc, 'retry', 'login'),\n modelEvents: {\n 'request': '_startEnrollment',\n 'error': '_stopEnrollment'\n },\n\n formChildren: [\n FormType.View({\n View:\n '<div class=\"piv-verify-text\">\\\n <p>{{i18n code=\"piv.cac.card.insert\" bundle=\"login\"}}</p>\\\n <div data-se=\"piv-waiting\" class=\"okta-waiting-spinner\"></div>\\\n </div>'\n })\n ],\n\n _startEnrollment: function () {\n this.$('.okta-waiting-spinner').show();\n this.$('.o-form-button-bar').hide();\n },\n \n _stopEnrollment: function () {\n this.$('.okta-waiting-spinner').hide();\n this.$('.o-form-button-bar').show();\n },\n\n postRender: function () {\n _.defer(() => {\n this.model.save();\n });\n },\n },\n\n back: function () {\n // Empty function on verify controllers to prevent users\n // from navigating back during 'verify' using the browser's\n // back button. The URL will still change, but the view will not\n // More details in OKTA-135060.\n },\n\n Footer: FooterWithBackLink\n });\n\n});\n\n\n\n// WEBPACK FOOTER //\n// ./src/VerifyPIVController.js","/**\n * Copyright (c) 2014-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n// This method of obtaining a reference to the global object needs to be\n// kept identical to the way it is obtained in runtime.js\nvar g = (function() { return this })() || Function(\"return this\")();\n\n// Use `getOwnPropertyNames` because not all browsers support calling\n// `hasOwnProperty` on the global `self` object in a worker. See #183.\nvar hadRuntime = g.regeneratorRuntime &&\n Object.getOwnPropertyNames(g).indexOf(\"regeneratorRuntime\") >= 0;\n\n// Save the old regeneratorRuntime in case it needs to be restored later.\nvar oldRuntime = hadRuntime && g.regeneratorRuntime;\n\n// Force reevalutation of runtime.js.\ng.regeneratorRuntime = undefined;\n\nmodule.exports = require(\"./runtime\");\n\nif (hadRuntime) {\n // Restore the original runtime.\n g.regeneratorRuntime = oldRuntime;\n} else {\n // Remove the global property added by runtime.js.\n try {\n delete g.regeneratorRuntime;\n } catch(e) {\n g.regeneratorRuntime = undefined;\n }\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/babel-runtime/node_modules/regenerator-runtime/runtime-module.js\n// module id = 562\n// module chunks = 0","/**\n * Copyright (c) 2014-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n!(function(global) {\n \"use strict\";\n\n var Op = Object.prototype;\n var hasOwn = Op.hasOwnProperty;\n var undefined; // More compressible than void 0.\n var $Symbol = typeof Symbol === \"function\" ? Symbol : {};\n var iteratorSymbol = $Symbol.iterator || \"@@iterator\";\n var asyncIteratorSymbol = $Symbol.asyncIterator || \"@@asyncIterator\";\n var toStringTagSymbol = $Symbol.toStringTag || \"@@toStringTag\";\n\n var inModule = typeof module === \"object\";\n var runtime = global.regeneratorRuntime;\n if (runtime) {\n if (inModule) {\n // If regeneratorRuntime is defined globally and we're in a module,\n // make the exports object identical to regeneratorRuntime.\n module.exports = runtime;\n }\n // Don't bother evaluating the rest of this file if the runtime was\n // already defined globally.\n return;\n }\n\n // Define the runtime globally (as expected by generated code) as either\n // module.exports (if we're in a module) or a new, empty object.\n runtime = global.regeneratorRuntime = inModule ? module.exports : {};\n\n function wrap(innerFn, outerFn, self, tryLocsList) {\n // If outerFn provided and outerFn.prototype is a Generator, then outerFn.prototype instanceof Generator.\n var protoGenerator = outerFn && outerFn.prototype instanceof Generator ? outerFn : Generator;\n var generator = Object.create(protoGenerator.prototype);\n var context = new Context(tryLocsList || []);\n\n // The ._invoke method unifies the implementations of the .next,\n // .throw, and .return methods.\n generator._invoke = makeInvokeMethod(innerFn, self, context);\n\n return generator;\n }\n runtime.wrap = wrap;\n\n // Try/catch helper to minimize deoptimizations. Returns a completion\n // record like context.tryEntries[i].completion. This interface could\n // have been (and was previously) designed to take a closure to be\n // invoked without arguments, but in all the cases we care about we\n // already have an existing method we want to call, so there's no need\n // to create a new function object. We can even get away with assuming\n // the method takes exactly one argument, since that happens to be true\n // in every case, so we don't have to touch the arguments object. The\n // only additional allocation required is the completion record, which\n // has a stable shape and so hopefully should be cheap to allocate.\n function tryCatch(fn, obj, arg) {\n try {\n return { type: \"normal\", arg: fn.call(obj, arg) };\n } catch (err) {\n return { type: \"throw\", arg: err };\n }\n }\n\n var GenStateSuspendedStart = \"suspendedStart\";\n var GenStateSuspendedYield = \"suspendedYield\";\n var GenStateExecuting = \"executing\";\n var GenStateCompleted = \"completed\";\n\n // Returning this object from the innerFn has the same effect as\n // breaking out of the dispatch switch statement.\n var ContinueSentinel = {};\n\n // Dummy constructor functions that we use as the .constructor and\n // .constructor.prototype properties for functions that return Generator\n // objects. For full spec compliance, you may wish to configure your\n // minifier not to mangle the names of these two functions.\n function Generator() {}\n function GeneratorFunction() {}\n function GeneratorFunctionPrototype() {}\n\n // This is a polyfill for %IteratorPrototype% for environments that\n // don't natively support it.\n var IteratorPrototype = {};\n IteratorPrototype[iteratorSymbol] = function () {\n return this;\n };\n\n var getProto = Object.getPrototypeOf;\n var NativeIteratorPrototype = getProto && getProto(getProto(values([])));\n if (NativeIteratorPrototype &&\n NativeIteratorPrototype !== Op &&\n hasOwn.call(NativeIteratorPrototype, iteratorSymbol)) {\n // This environment has a native %IteratorPrototype%; use it instead\n // of the polyfill.\n IteratorPrototype = NativeIteratorPrototype;\n }\n\n var Gp = GeneratorFunctionPrototype.prototype =\n Generator.prototype = Object.create(IteratorPrototype);\n GeneratorFunction.prototype = Gp.constructor = GeneratorFunctionPrototype;\n GeneratorFunctionPrototype.constructor = GeneratorFunction;\n GeneratorFunctionPrototype[toStringTagSymbol] =\n GeneratorFunction.displayName = \"GeneratorFunction\";\n\n // Helper for defining the .next, .throw, and .return methods of the\n // Iterator interface in terms of a single ._invoke method.\n function defineIteratorMethods(prototype) {\n [\"next\", \"throw\", \"return\"].forEach(function(method) {\n prototype[method] = function(arg) {\n return this._invoke(method, arg);\n };\n });\n }\n\n runtime.isGeneratorFunction = function(genFun) {\n var ctor = typeof genFun === \"function\" && genFun.constructor;\n return ctor\n ? ctor === GeneratorFunction ||\n // For the native GeneratorFunction constructor, the best we can\n // do is to check its .name property.\n (ctor.displayName || ctor.name) === \"GeneratorFunction\"\n : false;\n };\n\n runtime.mark = function(genFun) {\n if (Object.setPrototypeOf) {\n Object.setPrototypeOf(genFun, GeneratorFunctionPrototype);\n } else {\n genFun.__proto__ = GeneratorFunctionPrototype;\n if (!(toStringTagSymbol in genFun)) {\n genFun[toStringTagSymbol] = \"GeneratorFunction\";\n }\n }\n genFun.prototype = Object.create(Gp);\n return genFun;\n };\n\n // Within the body of any async function, `await x` is transformed to\n // `yield regeneratorRuntime.awrap(x)`, so that the runtime can test\n // `hasOwn.call(value, \"__await\")` to determine if the yielded value is\n // meant to be awaited.\n runtime.awrap = function(arg) {\n return { __await: arg };\n };\n\n function AsyncIterator(generator) {\n function invoke(method, arg, resolve, reject) {\n var record = tryCatch(generator[method], generator, arg);\n if (record.type === \"throw\") {\n reject(record.arg);\n } else {\n var result = record.arg;\n var value = result.value;\n if (value &&\n typeof value === \"object\" &&\n hasOwn.call(value, \"__await\")) {\n return Promise.resolve(value.__await).then(function(value) {\n invoke(\"next\", value, resolve, reject);\n }, function(err) {\n invoke(\"throw\", err, resolve, reject);\n });\n }\n\n return Promise.resolve(value).then(function(unwrapped) {\n // When a yielded Promise is resolved, its final value becomes\n // the .value of the Promise<{value,done}> result for the\n // current iteration. If the Promise is rejected, however, the\n // result for this iteration will be rejected with the same\n // reason. Note that rejections of yielded Promises are not\n // thrown back into the generator function, as is the case\n // when an awaited Promise is rejected. This difference in\n // behavior between yield and await is important, because it\n // allows the consumer to decide what to do with the yielded\n // rejection (swallow it and continue, manually .throw it back\n // into the generator, abandon iteration, whatever). With\n // await, by contrast, there is no opportunity to examine the\n // rejection reason outside the generator function, so the\n // only option is to throw it from the await expression, and\n // let the generator function handle the exception.\n result.value = unwrapped;\n resolve(result);\n }, reject);\n }\n }\n\n var previousPromise;\n\n function enqueue(method, arg) {\n function callInvokeWithMethodAndArg() {\n return new Promise(function(resolve, reject) {\n invoke(method, arg, resolve, reject);\n });\n }\n\n return previousPromise =\n // If enqueue has been called before, then we want to wait until\n // all previous Promises have been resolved before calling invoke,\n // so that results are always delivered in the correct order. If\n // enqueue has not been called before, then it is important to\n // call invoke immediately, without waiting on a callback to fire,\n // so that the async generator function has the opportunity to do\n // any necessary setup in a predictable way. This predictability\n // is why the Promise constructor synchronously invokes its\n // executor callback, and why async functions synchronously\n // execute code before the first await. Since we implement simple\n // async functions in terms of async generators, it is especially\n // important to get this right, even though it requires care.\n previousPromise ? previousPromise.then(\n callInvokeWithMethodAndArg,\n // Avoid propagating failures to Promises returned by later\n // invocations of the iterator.\n callInvokeWithMethodAndArg\n ) : callInvokeWithMethodAndArg();\n }\n\n // Define the unified helper method that is used to implement .next,\n // .throw, and .return (see defineIteratorMethods).\n this._invoke = enqueue;\n }\n\n defineIteratorMethods(AsyncIterator.prototype);\n AsyncIterator.prototype[asyncIteratorSymbol] = function () {\n return this;\n };\n runtime.AsyncIterator = AsyncIterator;\n\n // Note that simple async functions are implemented on top of\n // AsyncIterator objects; they just return a Promise for the value of\n // the final result produced by the iterator.\n runtime.async = function(innerFn, outerFn, self, tryLocsList) {\n var iter = new AsyncIterator(\n wrap(innerFn, outerFn, self, tryLocsList)\n );\n\n return runtime.isGeneratorFunction(outerFn)\n ? iter // If outerFn is a generator, return the full iterator.\n : iter.next().then(function(result) {\n return result.done ? result.value : iter.next();\n });\n };\n\n function makeInvokeMethod(innerFn, self, context) {\n var state = GenStateSuspendedStart;\n\n return function invoke(method, arg) {\n if (state === GenStateExecuting) {\n throw new Error(\"Generator is already running\");\n }\n\n if (state === GenStateCompleted) {\n if (method === \"throw\") {\n throw arg;\n }\n\n // Be forgiving, per 25.3.3.3.3 of the spec:\n // https://people.mozilla.org/~jorendorff/es6-draft.html#sec-generatorresume\n return doneResult();\n }\n\n context.method = method;\n context.arg = arg;\n\n while (true) {\n var delegate = context.delegate;\n if (delegate) {\n var delegateResult = maybeInvokeDelegate(delegate, context);\n if (delegateResult) {\n if (delegateResult === ContinueSentinel) continue;\n return delegateResult;\n }\n }\n\n if (context.method === \"next\") {\n // Setting context._sent for legacy support of Babel's\n // function.sent implementation.\n context.sent = context._sent = context.arg;\n\n } else if (context.method === \"throw\") {\n if (state === GenStateSuspendedStart) {\n state = GenStateCompleted;\n throw context.arg;\n }\n\n context.dispatchException(context.arg);\n\n } else if (context.method === \"return\") {\n context.abrupt(\"return\", context.arg);\n }\n\n state = GenStateExecuting;\n\n var record = tryCatch(innerFn, self, context);\n if (record.type === \"normal\") {\n // If an exception is thrown from innerFn, we leave state ===\n // GenStateExecuting and loop back for another invocation.\n state = context.done\n ? GenStateCompleted\n : GenStateSuspendedYield;\n\n if (record.arg === ContinueSentinel) {\n continue;\n }\n\n return {\n value: record.arg,\n done: context.done\n };\n\n } else if (record.type === \"throw\") {\n state = GenStateCompleted;\n // Dispatch the exception by looping back around to the\n // context.dispatchException(context.arg) call above.\n context.method = \"throw\";\n context.arg = record.arg;\n }\n }\n };\n }\n\n // Call delegate.iterator[context.method](context.arg) and handle the\n // result, either by returning a { value, done } result from the\n // delegate iterator, or by modifying context.method and context.arg,\n // setting context.delegate to null, and returning the ContinueSentinel.\n function maybeInvokeDelegate(delegate, context) {\n var method = delegate.iterator[context.method];\n if (method === undefined) {\n // A .throw or .return when the delegate iterator has no .throw\n // method always terminates the yield* loop.\n context.delegate = null;\n\n if (context.method === \"throw\") {\n if (delegate.iterator.return) {\n // If the delegate iterator has a return method, give it a\n // chance to clean up.\n context.method = \"return\";\n context.arg = undefined;\n maybeInvokeDelegate(delegate, context);\n\n if (context.method === \"throw\") {\n // If maybeInvokeDelegate(context) changed context.method from\n // \"return\" to \"throw\", let that override the TypeError below.\n return ContinueSentinel;\n }\n }\n\n context.method = \"throw\";\n context.arg = new TypeError(\n \"The iterator does not provide a 'throw' method\");\n }\n\n return ContinueSentinel;\n }\n\n var record = tryCatch(method, delegate.iterator, context.arg);\n\n if (record.type === \"throw\") {\n context.method = \"throw\";\n context.arg = record.arg;\n context.delegate = null;\n return ContinueSentinel;\n }\n\n var info = record.arg;\n\n if (! info) {\n context.method = \"throw\";\n context.arg = new TypeError(\"iterator result is not an object\");\n context.delegate = null;\n return ContinueSentinel;\n }\n\n if (info.done) {\n // Assign the result of the finished delegate to the temporary\n // variable specified by delegate.resultName (see delegateYield).\n context[delegate.resultName] = info.value;\n\n // Resume execution at the desired location (see delegateYield).\n context.next = delegate.nextLoc;\n\n // If context.method was \"throw\" but the delegate handled the\n // exception, let the outer generator proceed normally. If\n // context.method was \"next\", forget context.arg since it has been\n // \"consumed\" by the delegate iterator. If context.method was\n // \"return\", allow the original .return call to continue in the\n // outer generator.\n if (context.method !== \"return\") {\n context.method = \"next\";\n context.arg = undefined;\n }\n\n } else {\n // Re-yield the result returned by the delegate method.\n return info;\n }\n\n // The delegate iterator is finished, so forget it and continue with\n // the outer generator.\n context.delegate = null;\n return ContinueSentinel;\n }\n\n // Define Generator.prototype.{next,throw,return} in terms of the\n // unified ._invoke helper method.\n defineIteratorMethods(Gp);\n\n Gp[toStringTagSymbol] = \"Generator\";\n\n // A Generator should always return itself as the iterator object when the\n // @@iterator function is called on it. Some browsers' implementations of the\n // iterator prototype chain incorrectly implement this, causing the Generator\n // object to not be returned from this call. This ensures that doesn't happen.\n // See https://github.com/facebook/regenerator/issues/274 for more details.\n Gp[iteratorSymbol] = function() {\n return this;\n };\n\n Gp.toString = function() {\n return \"[object Generator]\";\n };\n\n function pushTryEntry(locs) {\n var entry = { tryLoc: locs[0] };\n\n if (1 in locs) {\n entry.catchLoc = locs[1];\n }\n\n if (2 in locs) {\n entry.finallyLoc = locs[2];\n entry.afterLoc = locs[3];\n }\n\n this.tryEntries.push(entry);\n }\n\n function resetTryEntry(entry) {\n var record = entry.completion || {};\n record.type = \"normal\";\n delete record.arg;\n entry.completion = record;\n }\n\n function Context(tryLocsList) {\n // The root entry object (effectively a try statement without a catch\n // or a finally block) gives us a place to store values thrown from\n // locations where there is no enclosing try statement.\n this.tryEntries = [{ tryLoc: \"root\" }];\n tryLocsList.forEach(pushTryEntry, this);\n this.reset(true);\n }\n\n runtime.keys = function(object) {\n var keys = [];\n for (var key in object) {\n keys.push(key);\n }\n keys.reverse();\n\n // Rather than returning an object with a next method, we keep\n // things simple and return the next function itself.\n return function next() {\n while (keys.length) {\n var key = keys.pop();\n if (key in object) {\n next.value = key;\n next.done = false;\n return next;\n }\n }\n\n // To avoid creating an additional object, we just hang the .value\n // and .done properties off the next function object itself. This\n // also ensures that the minifier will not anonymize the function.\n next.done = true;\n return next;\n };\n };\n\n function values(iterable) {\n if (iterable) {\n var iteratorMethod = iterable[iteratorSymbol];\n if (iteratorMethod) {\n return iteratorMethod.call(iterable);\n }\n\n if (typeof iterable.next === \"function\") {\n return iterable;\n }\n\n if (!isNaN(iterable.length)) {\n var i = -1, next = function next() {\n while (++i < iterable.length) {\n if (hasOwn.call(iterable, i)) {\n next.value = iterable[i];\n next.done = false;\n return next;\n }\n }\n\n next.value = undefined;\n next.done = true;\n\n return next;\n };\n\n return next.next = next;\n }\n }\n\n // Return an iterator with no values.\n return { next: doneResult };\n }\n runtime.values = values;\n\n function doneResult() {\n return { value: undefined, done: true };\n }\n\n Context.prototype = {\n constructor: Context,\n\n reset: function(skipTempReset) {\n this.prev = 0;\n this.next = 0;\n // Resetting context._sent for legacy support of Babel's\n // function.sent implementation.\n this.sent = this._sent = undefined;\n this.done = false;\n this.delegate = null;\n\n this.method = \"next\";\n this.arg = undefined;\n\n this.tryEntries.forEach(resetTryEntry);\n\n if (!skipTempReset) {\n for (var name in this) {\n // Not sure about the optimal order of these conditions:\n if (name.charAt(0) === \"t\" &&\n hasOwn.call(this, name) &&\n !isNaN(+name.slice(1))) {\n this[name] = undefined;\n }\n }\n }\n },\n\n stop: function() {\n this.done = true;\n\n var rootEntry = this.tryEntries[0];\n var rootRecord = rootEntry.completion;\n if (rootRecord.type === \"throw\") {\n throw rootRecord.arg;\n }\n\n return this.rval;\n },\n\n dispatchException: function(exception) {\n if (this.done) {\n throw exception;\n }\n\n var context = this;\n function handle(loc, caught) {\n record.type = \"throw\";\n record.arg = exception;\n context.next = loc;\n\n if (caught) {\n // If the dispatched exception was caught by a catch block,\n // then let that catch block handle the exception normally.\n context.method = \"next\";\n context.arg = undefined;\n }\n\n return !! caught;\n }\n\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n var record = entry.completion;\n\n if (entry.tryLoc === \"root\") {\n // Exception thrown outside of any try block that could handle\n // it, so set the completion value of the entire function to\n // throw the exception.\n return handle(\"end\");\n }\n\n if (entry.tryLoc <= this.prev) {\n var hasCatch = hasOwn.call(entry, \"catchLoc\");\n var hasFinally = hasOwn.call(entry, \"finallyLoc\");\n\n if (hasCatch && hasFinally) {\n if (this.prev < entry.catchLoc) {\n return handle(entry.catchLoc, true);\n } else if (this.prev < entry.finallyLoc) {\n return handle(entry.finallyLoc);\n }\n\n } else if (hasCatch) {\n if (this.prev < entry.catchLoc) {\n return handle(entry.catchLoc, true);\n }\n\n } else if (hasFinally) {\n if (this.prev < entry.finallyLoc) {\n return handle(entry.finallyLoc);\n }\n\n } else {\n throw new Error(\"try statement without catch or finally\");\n }\n }\n }\n },\n\n abrupt: function(type, arg) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.tryLoc <= this.prev &&\n hasOwn.call(entry, \"finallyLoc\") &&\n this.prev < entry.finallyLoc) {\n var finallyEntry = entry;\n break;\n }\n }\n\n if (finallyEntry &&\n (type === \"break\" ||\n type === \"continue\") &&\n finallyEntry.tryLoc <= arg &&\n arg <= finallyEntry.finallyLoc) {\n // Ignore the finally entry if control is not jumping to a\n // location outside the try/catch block.\n finallyEntry = null;\n }\n\n var record = finallyEntry ? finallyEntry.completion : {};\n record.type = type;\n record.arg = arg;\n\n if (finallyEntry) {\n this.method = \"next\";\n this.next = finallyEntry.finallyLoc;\n return ContinueSentinel;\n }\n\n return this.complete(record);\n },\n\n complete: function(record, afterLoc) {\n if (record.type === \"throw\") {\n throw record.arg;\n }\n\n if (record.type === \"break\" ||\n record.type === \"continue\") {\n this.next = record.arg;\n } else if (record.type === \"return\") {\n this.rval = this.arg = record.arg;\n this.method = \"return\";\n this.next = \"end\";\n } else if (record.type === \"normal\" && afterLoc) {\n this.next = afterLoc;\n }\n\n return ContinueSentinel;\n },\n\n finish: function(finallyLoc) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.finallyLoc === finallyLoc) {\n this.complete(entry.completion, entry.afterLoc);\n resetTryEntry(entry);\n return ContinueSentinel;\n }\n }\n },\n\n \"catch\": function(tryLoc) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.tryLoc === tryLoc) {\n var record = entry.completion;\n if (record.type === \"throw\") {\n var thrown = record.arg;\n resetTryEntry(entry);\n }\n return thrown;\n }\n }\n\n // The context.catch method must only be called with a location\n // argument that corresponds to a known catch block.\n throw new Error(\"illegal catch attempt\");\n },\n\n delegateYield: function(iterable, resultName, nextLoc) {\n this.delegate = {\n iterator: values(iterable),\n resultName: resultName,\n nextLoc: nextLoc\n };\n\n if (this.method === \"next\") {\n // Deliberately forget the last sent value so that we don't\n // accidentally pass it on to the delegate.\n this.arg = undefined;\n }\n\n return ContinueSentinel;\n }\n };\n})(\n // In sloppy mode, unbound `this` refers to the global object, fallback to\n // Function constructor if we're in global strict mode. That is sadly a form\n // of indirect eval which violates Content Security Policy.\n (function() { return this })() || Function(\"return this\")()\n);\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/babel-runtime/node_modules/regenerator-runtime/runtime.js\n// module id = 563\n// module chunks = 0","/*!\n * Copyright (c) 2015-2016, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n\n/* eslint complexity: [2, 21] max-statements: [2, 25] max-params: 0 */\ndefine([\n 'okta',\n 'util/BaseLoginController',\n 'views/mfa-verify/TOTPForm',\n 'views/mfa-verify/YubikeyForm',\n 'views/mfa-verify/SecurityQuestionForm',\n 'views/mfa-verify/PassCodeForm',\n 'views/factor-verify/EmailMagicLinkForm',\n 'views/mfa-verify/PushForm',\n 'views/mfa-verify/PasswordForm',\n 'views/mfa-verify/InlineTOTPForm',\n 'views/mfa-verify/SendEmailAndVerifyCodeForm',\n 'views/shared/FooterSignout'\n], function (\n Okta, BaseLoginController, TOTPForm, YubikeyForm,\n SecurityQuestionForm, PassCodeForm, EmailMagicLinkForm,\n PushForm, PasswordForm, InlineTOTPForm, SendEmailAndVerifyCodeForm,\n FooterSignout) {\n\n var { CheckBox } = Okta.internal.views.forms.inputs;\n\n return BaseLoginController.extend({\n className: 'mfa-verify',\n\n initialize: function (options) {\n var factorType = options.factorType;\n\n var View;\n switch (factorType) {\n case 'question':\n View = SecurityQuestionForm;\n break;\n case 'email':\n if (this.options.appState.get('isIdxStateToken')){\n View = EmailMagicLinkForm;\n } else {\n View = SendEmailAndVerifyCodeForm;\n }\n break;\n case 'sms':\n case 'call':\n View = PassCodeForm;\n break;\n case 'token':\n case 'token:software:totp':\n case 'token:hotp':\n View = TOTPForm;\n break;\n case 'token:hardware':\n View = YubikeyForm;\n break;\n case 'push':\n View = PushForm;\n break;\n case 'password':\n View = PasswordForm;\n break;\n default:\n throw new Error('Unrecognized factor type');\n }\n\n this.model = this.findModel(factorType, options);\n if (!this.model) {\n // TODO: recover from this more gracefully - probably to redirect\n // to default factor\n throw new Error('Unrecognized factor/provider');\n }\n\n this.addListeners();\n this.add(new View(this.toJSON()));\n\n // If Okta Verify Push and Okta Verify totp are both enabled,\n // then we show Push first, and totp is the \"backup\" factor,\n // which is rendered in an additional InlineTOTPForm\n if (factorType === 'push' && this.model.get('isOktaFactor')) {\n if (this.model.get('backupFactor')) {\n this.inlineTotpForm = this.add(InlineTOTPForm, {\n options: { model: this.model.get('backupFactor') }\n }).last();\n }\n\n if (this.settings.get('features.autoPush')) {\n this.autoPushCheckBox = this.add(CheckBox, {\n options: {\n model: this.model,\n name: 'autoPush',\n placeholder: Okta.loc('autoPush', 'login'),\n label: false,\n 'label-top': false,\n className: 'margin-btm-0'\n }\n }).last();\n }\n\n // Remember Device checkbox resides outside of the Push and TOTP forms.\n if (this.options.appState.get('allowRememberDevice')) {\n this.rememberDeviceCheckbox = this.add(CheckBox, {\n options: {\n model: this.model,\n name: 'rememberDevice',\n placeholder: this.options.appState.get('rememberDeviceLabel'),\n label: false,\n 'label-top': true,\n className: 'margin-btm-0'\n }\n }).last();\n }\n // Set rememberDevice on the backup factor (totp) if available\n if (this.model.get('backupFactor')) {\n this.listenTo(this.model, 'change:rememberDevice', function (model, rememberDevice) {\n model.get('backupFactor').set('rememberDevice', rememberDevice);\n });\n }\n }\n\n this.listenTo(this.options.appState, 'change:isWaitingForNumberChallenge',\n function (state, isWaitingForNumberChallenge) {\n if (isWaitingForNumberChallenge || this.options.appState.get('lastAuthResponse').status === 'SUCCESS') {\n this.autoPushCheckBox && this.autoPushCheckBox.$el.hide();\n this.rememberDeviceCheckbox && this.rememberDeviceCheckbox.$el.hide();\n this.inlineTotpForm && this.inlineTotpForm.$el.hide();\n } else {\n this.autoPushCheckBox && this.autoPushCheckBox.$el.show();\n this.rememberDeviceCheckbox && this.rememberDeviceCheckbox.$el.show();\n this.inlineTotpForm && this.inlineTotpForm.$el.show();\n }\n }\n );\n\n if (!this.settings.get('features.hideSignOutLinkInMFA')) {\n this.add(new FooterSignout(this.toJSON()));\n }\n },\n\n findModel: function (factorType, options) {\n var factors = options.appState.get('factors');\n var provider = options.provider;\n var factorIndex = options.factorIndex;\n\n if (!provider) {\n return factors.findWhere({ factorType: factorType, isFactorTypeVerification: true });\n } else if (factors.hasMultipleFactorsOfSameType(factorType) && factorIndex) {\n return factors.getFactorByTypeAndIndex(factorType, factorIndex);\n } else {\n return factors.findWhere({ provider: provider, factorType: factorType });\n }\n },\n\n trapAuthResponse: function () {\n if((this.options.appState.get('isMfaRequired') &&\n this.options.appState.get('trapMfaRequiredResponse')) ||\n this.options.appState.get('isMfaChallenge')) {\n this.options.appState.set('trapMfaRequiredResponse', false);\n return true;\n }\n return false;\n },\n\n back: function () {\n // Empty function on verify controllers to prevent users\n // from navigating back during 'verify' using the browser's\n // back button. The URL will still change, but the view will not\n // More details in OKTA-135060.\n }\n });\n\n});\n\n\n\n// WEBPACK FOOTER //\n// ./src/MfaVerifyController.js","/*!\n * Copyright (c) 2015-2016, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n\ndefine(['okta', 'views/shared/TextBox'], function (Okta, TextBox) {\n\n var _ = Okta._;\n\n return Okta.Form.extend({\n className: 'mfa-verify-totp',\n autoSave: true,\n noCancelButton: true,\n save: _.partial(Okta.loc, 'mfa.challenge.verify', 'login'),\n scrollOnError: false,\n layout: 'o-form-theme',\n attributes: { 'data-se': 'factor-totp' },\n\n initialize: function () {\n var factorName = this.model.get('factorLabel');\n var maskPasswordField = this.model.get('provider') === 'RSA' || this.model.get('provider') === 'DEL_OATH';\n\n this.title = factorName;\n if (this.model.get('isFactorTypeVerification')) {\n this.subtitle = Okta.loc('mfa.challenge.totp.subtitle.multiple', 'login', [factorName]);\n } else {\n this.subtitle = Okta.loc('mfa.challenge.title', 'login', [factorName]);\n }\n\n this.addInput({\n label: Okta.loc('mfa.challenge.enterCode.placeholder', 'login'),\n 'label-top': true,\n className: 'o-form-fieldset o-form-label-top auth-passcode',\n name: 'answer',\n input: TextBox,\n type: maskPasswordField ? 'password' : 'tel'\n });\n\n if (this.options.appState.get('allowRememberDevice')) {\n this.addInput({\n label: false,\n 'label-top': true,\n placeholder: this.options.appState.get('rememberDeviceLabel'),\n className: 'margin-btm-0',\n name: 'rememberDevice',\n type: 'checkbox'\n });\n }\n\n if (this.model.get('provider') === 'RSA' || this.model.get('provider') === 'DEL_OATH') {\n this.listenTo(this.model, 'error', _.bind(function (source, error) {\n if (error && error.status === 409) {\n // 409 means we are in change pin, so we should clear out answer input\n this.$('.auth-passcode input').val('');\n this.$('.auth-passcode input').trigger('change');\n this.$('.auth-passcode input').focus();\n }\n }, this));\n }\n }\n\n });\n\n});\n\n\n\n// WEBPACK FOOTER //\n// ./src/views/mfa-verify/TOTPForm.js","/*!\n * Copyright (c) 2015-2016, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n\ndefine(['okta', 'views/shared/TextBox'], function (Okta, TextBox) {\n\n var _ = Okta._;\n\n return Okta.Form.extend({\n className: 'mfa-verify-yubikey',\n autoSave: true,\n noCancelButton: true,\n save: _.partial(Okta.loc, 'mfa.challenge.verify', 'login'),\n scrollOnError: false,\n layout: 'o-form-theme',\n attributes: { 'data-se': 'factor-yubikey' },\n\n initialize: function () {\n var factorName = this.model.get('factorLabel');\n\n this.title = factorName;\n this.subtitle = Okta.loc('factor.totpHard.yubikey.description', 'login');\n\n this.addInput({\n label: Okta.loc('factor.totpHard.yubikey.placeholder', 'login'),\n 'label-top': true,\n className: 'o-form-fieldset o-form-label-top auth-passcode',\n name: 'answer',\n input: TextBox,\n inputId: 'mfa-answer',\n type: 'password'\n });\n\n if (this.options.appState.get('allowRememberDevice')) {\n this.addInput({\n label: false,\n 'label-top': true,\n className: 'margin-btm-0',\n placeholder: this.options.appState.get('rememberDeviceLabel'),\n name: 'rememberDevice',\n type: 'checkbox'\n });\n }\n }\n\n });\n\n});\n\n\n\n// WEBPACK FOOTER //\n// ./src/views/mfa-verify/YubikeyForm.js","/*!\n * Copyright (c) 2015-2016, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n\ndefine(['okta'], function (Okta) {\n\n var _ = Okta._;\n\n return Okta.Form.extend({\n className: 'mfa-verify-question',\n autoSave: true,\n noCancelButton: true,\n save: _.partial(Okta.loc, 'mfa.challenge.verify', 'login'),\n scrollOnError: false,\n layout: 'o-form-theme',\n attributes: { 'data-se': 'factor-question' },\n\n initialize: function () {\n this.title = this.model.get('factorLabel');\n\n this.addInput({\n label: this.model.get('securityQuestion'),\n 'label-top': true,\n placeholder: Okta.loc('mfa.challenge.answer.placeholder', 'login'),\n className: 'auth-passcode',\n name: 'answer',\n type: 'password',\n params: {\n showPasswordToggle: true\n }\n });\n\n if (this.options.appState.get('allowRememberDevice')) {\n this.addInput({\n label: false,\n 'label-top': true,\n placeholder: this.options.appState.get('rememberDeviceLabel'),\n className: 'margin-btm-0',\n name: 'rememberDevice',\n type: 'checkbox'\n });\n }\n }\n });\n});\n\n\n// WEBPACK FOOTER //\n// ./src/views/mfa-verify/SecurityQuestionForm.js","/*!\n * Copyright (c) 2015-2016, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n/* eslint complexity: [2, 7] */\ndefine([\n 'okta',\n 'q',\n 'views/shared/TextBox',\n 'util/Enums'\n], function (Okta, Q, TextBox, Enums) {\n\n var subtitleTpl = Okta.tpl('({{subtitle}})');\n var _ = Okta._;\n var warningTemplate = '<div class=\"okta-form-infobox-warning infobox infobox-warning login-timeout-warning\">\\\n <span class=\"icon warning-16\"></span>\\\n <p>{{{warning}}}</p>\\\n </div>\\\n ';\n\n function getFormAndButtonDetails (factorType) {\n switch(factorType) {\n case 'sms':\n return {\n buttonDataSe: 'sms-send-code',\n buttonClassName: 'sms-request-button',\n formSubmit: Okta.loc('mfa.sendCode', 'login'),\n formRetry: Okta.loc('mfa.resendCode', 'login'),\n formSubmitted: Okta.loc('mfa.sent', 'login'),\n subtitle: subtitleTpl({ subtitle: this.model.get('phoneNumber') }),\n warning: Okta.loc('factor.sms.time.warning', 'login'),\n };\n case 'call':\n return {\n buttonDataSe: 'make-call',\n buttonClassName: 'call-request-button',\n formSubmit: Okta.loc('mfa.call', 'login'),\n formRetry: Okta.loc('mfa.redial', 'login'),\n formSubmitted: Okta.loc('mfa.calling', 'login'),\n subtitle: subtitleTpl({ subtitle: this.model.get('phoneNumber') }),\n warning: Okta.loc('factor.call.time.warning', 'login'),\n };\n case 'email':\n return {\n buttonDataSe: 'email-send-code',\n buttonClassName: 'email-request-button',\n formSubmit: Okta.loc('mfa.sendEmail', 'login'),\n formRetry: Okta.loc('mfa.resendEmail', 'login'),\n formSubmitted: Okta.loc('mfa.sent', 'login'),\n subtitle: subtitleTpl({ subtitle: this.model.get('email') }),\n };\n default:\n return {\n buttonDataSe: '',\n buttonClassName: '',\n formSubmit: '',\n formRetry: '',\n formSubmitted: '',\n };\n }\n }\n\n return Okta.Form.extend({\n className: 'mfa-verify-passcode',\n autoSave: true,\n noCancelButton: true,\n save: _.partial(Okta.loc, 'mfa.challenge.verify', 'login'),\n scrollOnError: false,\n layout: 'o-form-theme',\n\n disableSubmitButton: function () {\n return this.model.appState.get('isMfaChallenge') && this.model.get('answer');\n },\n\n showWarning: function (msg) {\n this.clearWarnings();\n this.add(warningTemplate, '.o-form-error-container', {options: {warning: msg}});\n },\n clearWarnings: function () {\n this.$('.okta-form-infobox-warning').remove();\n },\n\n initialize: function () {\n var form = this;\n this.title = this.model.get('factorLabel');\n\n var factorType = this.model.get('factorType');\n var formAndButtonDetails = getFormAndButtonDetails.call(this, factorType);\n var warningDetails = formAndButtonDetails.warning;\n this.$el.attr('data-se', 'factor-' + factorType);\n\n this.subtitle = formAndButtonDetails.subtitle;\n this.listenTo(this.model, 'error', function () {\n this.clearErrors();\n });\n this.addInput({\n label: Okta.loc('mfa.challenge.enterCode.placeholder', 'login'),\n 'label-top': true,\n className: 'o-form-fieldset o-form-label-top auth-passcode',\n name: 'answer',\n input: TextBox,\n type: 'tel'\n });\n this.add(Okta.createButton({\n attributes: { 'data-se': formAndButtonDetails.buttonDataSe },\n className: 'button ' + formAndButtonDetails.buttonClassName,\n title: formAndButtonDetails.formSubmit,\n click: function () {\n form.clearErrors();\n this.disable();\n form.clearWarnings();\n this.options.title = formAndButtonDetails.formSubmitted;\n this.render();\n // To send an OTP to the device, make the same request but use\n // an empty passCode\n this.model.set('answer', '');\n this.model.save()\n .then(function () {\n // render and focus on the passcode input field.\n form.getInputs().first().render().focus();\n return Q.delay(Enums.API_RATE_LIMIT);\n })\n .then(_.bind(function () {\n this.options.title = formAndButtonDetails.formRetry;\n this.enable();\n if (factorType === 'call' || factorType === 'sms') {\n form.showWarning(warningDetails);\n }\n this.render();\n }, this));\n }\n }));\n if (this.options.appState.get('allowRememberDevice')) {\n this.addInput({\n label: false,\n 'label-top': true,\n placeholder: this.options.appState.get('rememberDeviceLabel'),\n className: 'margin-btm-0',\n name: 'rememberDevice',\n type: 'checkbox'\n });\n }\n }\n\n });\n\n});\n\n\n\n// WEBPACK FOOTER //\n// ./src/views/mfa-verify/PassCodeForm.js","/*!\n * Copyright (c) 2015-2016, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n\ndefine([\n 'okta',\n 'util/CookieUtil',\n 'util/Util',\n './NumberChallengeView',\n],\nfunction (Okta, CookieUtil, Util, NumberChallengeView) {\n\n var _ = Okta._;\n // deviceName is escaped on BaseForm (see BaseForm's template)\n var titleTpl = Okta.tpl('{{factorName}} ({{{deviceName}}})');\n var WARNING_TIMEOUT = 30000; //milliseconds\n var warningTemplate = '<div class=\"okta-form-infobox-warning infobox infobox-warning\">\\\n <span class=\"icon warning-16\"></span>\\\n <p>{{warning}}</p>\\\n </div>';\n\n return Okta.Form.extend({\n className: 'mfa-verify-push',\n autoSave: true,\n noCancelButton: true,\n save: _.partial(Okta.loc, 'oktaverify.send', 'login'),\n scrollOnError: false,\n layout: 'o-form-theme',\n attributes: { 'data-se': 'factor-push' },\n events: {\n submit: 'submit'\n },\n\n initialize: function () {\n this.enabled = true;\n this.listenTo(this.options.appState, 'change:isMfaRejectedByUser',\n function (state, isMfaRejectedByUser) {\n this.setSubmitState(isMfaRejectedByUser);\n if (isMfaRejectedByUser) {\n this.showError(Okta.loc('oktaverify.rejected', 'login'));\n }\n }\n );\n\n this.numberChallengeView = this.add(NumberChallengeView).last();\n this.listenTo(this.options.appState, 'change:isWaitingForNumberChallenge',\n function (state, isWaitingForNumberChallenge) {\n if (isWaitingForNumberChallenge || this.options.appState.get('lastAuthResponse').status === 'SUCCESS') {\n this.clearWarnings();\n this.$el.find('.button').hide();\n this.numberChallengeView.$el.show();\n } else {\n this.numberChallengeView.$el.hide();\n this.$el.find('.button').show();\n }\n }\n );\n this.listenTo(this.options.appState, 'change:isMfaTimeout',\n function (state, isMfaTimeout) {\n this.setSubmitState(isMfaTimeout);\n if (isMfaTimeout) {\n this.showError(Okta.loc('oktaverify.timeout', 'login'));\n }\n }\n );\n this.listenTo(this.options.appState, 'change:isMfaRequired',\n function (state, isMfaRequired) {\n if (isMfaRequired) {\n this.clearErrors();\n this.clearWarnings();\n }\n }\n );\n this.title = titleTpl({\n factorName: this.model.get('factorLabel'),\n deviceName: this.model.get('deviceName')\n });\n },\n setSubmitState: function (ableToSubmit) {\n var button = this.$el.find('.button');\n this.enabled = ableToSubmit;\n if (ableToSubmit) {\n button.removeClass('link-button-disabled');\n button.prop('value', Okta.loc('oktaverify.send', 'login'));\n button.prop('disabled', false);\n } else {\n button.addClass('link-button-disabled');\n button.prop('value', Okta.loc('oktaverify.sent', 'login'));\n button.prop('disabled', true);\n }\n },\n submit: function (e) {\n if (e !== undefined) {\n e.preventDefault();\n }\n if (this.enabled) {\n this.setSubmitState(false);\n this.doSave();\n }\n },\n postRender: function () {\n var factorsPolicyInfo = this.options.appState.get('factorsPolicyInfo');\n var id = this.model.get('id');\n var isAutoPushEnabled = (this.settings.get('features.autoPush') && factorsPolicyInfo &&\n factorsPolicyInfo[id]) ? factorsPolicyInfo[id]['autoPushEnabled'] : false;\n\n if (isAutoPushEnabled) {\n this.model.set('autoPush', true);\n // bind after $el has been rendered, and trigger push once DOM is fully loaded\n _.defer(_.bind(this.submit, this));\n }\n },\n doSave: function () {\n var warningTimeout;\n this.clearErrors();\n this.clearWarnings();\n if (this.model.isValid()) {\n this.listenToOnce(this.model, 'error', function () {\n this.setSubmitState(true);\n this.clearWarnings();\n clearTimeout(warningTimeout);\n });\n this.trigger('save', this.model);\n warningTimeout = Util.callAfterTimeout(_.bind(function () {\n if (!this.options.appState.get('isWaitingForNumberChallenge')) {\n this.showWarning(Okta.loc('oktaverify.warning', 'login'));\n }\n }, this), WARNING_TIMEOUT);\n }\n },\n showError: function (msg) {\n this.clearWarnings();\n this.model.trigger('error', this.model, {responseJSON: {errorSummary: msg}});\n },\n showWarning: function (msg) {\n this.clearWarnings();\n this.add(warningTemplate, '.o-form-error-container', {options: {warning: msg}});\n },\n clearWarnings: function () {\n this.$('.okta-form-infobox-warning').remove();\n }\n });\n});\n\n\n\n// WEBPACK FOOTER //\n// ./src/views/mfa-verify/PushForm.js","/*!\n * Copyright (c) 2019, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n\ndefine([\n 'okta',\n], function (Okta) {\n\n return Okta.View.extend({\n className: 'number-challenge-view',\n template: `\n <p data-se=\"number-challenge-instruction\">\n {{{i18n code=\"oktaverify.numberchallenge.instruction\" bundle=\"login\" arguments=\"number\"}}}\n </p>\n <div class=\"phone\">\n <div class=\"phone--body\">\n <div class=\"phone--screen\">\n <span class=\"phone--number\" data-se=\"challenge-number\">{{number}}</span>\n </div>\n <div class=\"phone--home-button\"></div>\n </div>\n </div>\n <p>{{i18n code=\"oktaverify.numberchallenge.explain\" bundle=\"login\"}}</p>\n `,\n initialize () {\n this.listenTo(this.options.appState, 'change:isWaitingForNumberChallenge', () => {\n if (this.options.appState.get('lastAuthResponse').status !== 'SUCCESS') {\n this.render();\n }\n });\n },\n getTemplateData () {\n const lastAuthResponse = this.options.appState.get('lastAuthResponse');\n if (!this.options.appState.get('isWaitingForNumberChallenge')) {\n return {\n number: null\n };\n }\n return {\n number: lastAuthResponse._embedded.factor._embedded.challenge.correctAnswer,\n };\n }\n });\n\n});\n\n\n\n// WEBPACK FOOTER //\n// ./src/views/mfa-verify/NumberChallengeView.js","/*!\n * Copyright (c) 2016-2017, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n\ndefine(['okta'], function (Okta) {\n\n var _ = Okta._;\n\n return Okta.Form.extend({\n className: 'mfa-verify-password',\n autoSave: true,\n noCancelButton: true,\n save: _.partial(Okta.loc, 'mfa.challenge.verify', 'login'),\n scrollOnError: false,\n layout: 'o-form-theme',\n attributes: { 'data-se': 'factor-password' },\n\n initialize: function () {\n this.title = this.model.get('factorLabel');\n\n this.addInput({\n label: Okta.loc('mfa.challenge.password.placeholder', 'login'),\n 'label-top': true,\n className: 'auth-passcode',\n name: 'password',\n type: 'password',\n params: {\n showPasswordToggle: true\n }\n });\n\n if (this.options.appState.get('allowRememberDevice')) {\n this.addInput({\n label: false,\n 'label-top': true,\n placeholder: this.options.appState.get('rememberDeviceLabel'),\n className: 'margin-btm-0',\n name: 'rememberDevice',\n type: 'checkbox'\n });\n }\n }\n });\n});\n\n\n\n// WEBPACK FOOTER //\n// ./src/views/mfa-verify/PasswordForm.js","/*!\n * Copyright (c) 2015-2016, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n\ndefine(['okta', 'views/shared/TextBox'], function (Okta, TextBox) {\n\n function addInlineTotp (form) {\n form.addDivider();\n form.addInput({\n label: Okta.loc('mfa.challenge.enterCode.placeholder', 'login'),\n 'label-top': true,\n className: 'o-form-fieldset o-form-label-top inline-input auth-passcode',\n name: 'answer',\n input: TextBox,\n type: 'tel'\n });\n form.add(Okta.createButton({\n attributes: { 'data-se': 'inline-totp-verify' },\n className: 'button inline-totp-verify margin-top-30',\n title: Okta.loc('mfa.challenge.verify', 'login'),\n click: function () {\n if (!form.isValid()) {\n return;\n }\n form.model.manageTransaction(function (transaction, setTransaction) {\n // This is the case where we enter the TOTP code and verify while there is an\n // active Push request (or polling) running. We need to invoke previous() on authClient\n // and then call model.save(). If not, we would still be in MFA_CHALLENGE state and\n // verify would result in a wrong request (push verify instead of a TOTP verify).\n if (transaction.status === 'MFA_CHALLENGE' && transaction.prev) {\n form.options.appState.set('trapMfaRequiredResponse', true);\n return transaction.prev().then(function (trans) {\n setTransaction(trans);\n form.model.save();\n });\n } else {\n // Push is not active and we enter the code to verify.\n form.model.save();\n }\n });\n }\n }));\n form.at(1).focus();\n }\n\n return Okta.Form.extend({\n autoSave: true,\n noButtonBar: true,\n scrollOnError: false,\n layout: 'o-form-theme',\n\n className: 'mfa-verify-totp-inline',\n\n attributes: { 'data-se': 'factor-inline-totp' },\n\n initialize: function () {\n var form = this;\n this.listenTo(this.model, 'error', function () {\n this.clearErrors();\n });\n this.add(Okta.createButton({\n className: 'link',\n attributes: { 'data-se': 'inline-totp-add' },\n title: Okta.loc('mfa.challenge.orEnterCode', 'login'),\n click: function () {\n this.remove();\n addInlineTotp(form);\n }\n }));\n }\n });\n\n});\n\n\n\n// WEBPACK FOOTER //\n// ./src/views/mfa-verify/InlineTOTPForm.js","/*!\n * Copyright (c) 2015-2019, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n\ndefine([\n 'okta',\n 'views/shared/TextBox',\n 'views/ResendEmailView'\n], function (Okta, TextBox, ResendEmailView) {\n\n const _ = Okta._;\n const createEmailMaskElement = function () {\n const email = this.model.get('email');\n const emailTpl = Okta.tpl('<span class=\"mask-email\">{{email}}</span>');\n return {factorEmail: emailTpl({email})};\n };\n\n const VerifyEmailCodeForm = Okta.Form.extend({\n layout: 'o-form-theme',\n className: 'mfa-verify-email',\n title: _.partial(Okta.loc, 'email.mfa.title', 'login'),\n noButtonBar: false,\n autoSave: true,\n noCancelButton: true,\n attributes: {\n 'data-se': 'factor-email',\n },\n save: function () {\n return this.options.appState.get('isMfaChallenge')\n ? Okta.loc('mfa.challenge.verify', 'login')\n : Okta.loc('email.button.send', 'login');\n },\n\n events: Object.assign({}, Okta.Form.prototype.events, {\n submit: function (e) {\n e.preventDefault();\n this.clearErrors();\n\n if (this.options.appState.get('isMfaChallenge')) {\n if (this.isValid()) {\n this.model.save();\n }\n } else {\n // Send email and switch to verification view\n this.model.set('answer', '');\n this.model.save()\n .then(this.renderChallengView.bind(this));\n }\n }\n }),\n\n initialize: function () {\n Okta.Form.prototype.initialize.apply(this, arguments);\n\n // render 'Send Email' page at first place\n this.add(Okta.View.extend({\n attributes: {\n 'data-se': 'mfa-send-email-content'\n },\n className: 'mfa-send-email-content',\n template: '{{{i18n code=\"email.mfa.description\" bundle=\"login\" arguments=\"factorEmail\"}}}',\n getTemplateData: createEmailMaskElement,\n }));\n },\n\n renderChallengView: function () {\n this.removeChildren();\n this.add(Okta.View.extend({\n className: 'mfa-email-sent-content',\n attributes: {\n 'data-se': 'mfa-email-sent-content',\n },\n // Why use `{{{` for the description?\n // - factorEmail is actually an HTML fragment which\n // is created via another handlebar template and used for bold the email address.\n template: '{{{i18n code=\"email.mfa.email.sent.description\" bundle=\"login\" arguments=\"factorEmail\"}}}',\n getTemplateData: createEmailMaskElement,\n }));\n\n this.add(ResendEmailView);\n\n this.addInput({\n label: Okta.loc('email.code.label', 'login'),\n 'label-top': true,\n name: 'answer',\n input: TextBox,\n wide: true,\n type: 'tel'\n });\n if (this.options.appState.get('allowRememberDevice')) {\n this.addInput({\n label: false,\n 'label-top': true,\n placeholder: this.options.appState.get('rememberDeviceLabel'),\n className: 'margin-btm-0',\n name: 'rememberDevice',\n type: 'checkbox'\n });\n }\n this.render();\n },\n });\n\n return VerifyEmailCodeForm;\n\n});\n\n\n\n// WEBPACK FOOTER //\n// ./src/views/mfa-verify/SendEmailAndVerifyCodeForm.js","/*!\n * Copyright (c) 2019, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n/* eslint complexity: [2, 7] */\ndefine(['okta', 'q', 'util/Enums'], function (Okta, Q, Enums) {\n var _ = Okta._;\n\n return Okta.Form.extend({\n layout: 'o-form-theme',\n className: 'factor-verify-magiclink',\n autoSave: true,\n noCancelButton: true,\n initialize: function () {\n // for FACTOR_REQUIRED with email magic link we dont need to show otp code input field and verify button\n var form = this;\n this.title = this.model.get('factorLabel');\n //TODO: OKTA-211618 Temp fix for demo. FACTOR_REQUIRED after sign up is missing the profile object in API response\n var email = this.model.get('email') || this.options.appState.get('lastAuthResponse')._embedded.user.profile.login;\n this.subtitle = '('+email+')';\n this.add(Okta.createButton({\n attributes: { 'data-se': 'email-send-code' },\n className: 'button email-request-button',\n title: Okta.loc('mfa.sendEmail', 'login'),\n click: function () {\n form.clearErrors();\n this.disable();\n this.options.title = Okta.loc('mfa.sent', 'login');\n this.render();\n this.model.save()\n .then(_.bind(function () {\n return Q.delay(Enums.API_RATE_LIMIT);\n }, this))\n .then(_.bind(function () {\n this.options.title = Okta.loc('mfa.resendEmail', 'login');\n this.enable();\n this.render();\n }, this));\n }\n }));\n }\n });\n});\n\n\n\n// WEBPACK FOOTER //\n// ./src/views/factor-verify/EmailMagicLinkForm.js","/*!\n * Copyright (c) 2015-2016, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n\ndefine([\n 'okta',\n 'util/FormController',\n 'util/FormType',\n 'util/webauthn',\n 'views/shared/Spinner',\n 'views/shared/FooterSignout',\n 'views/mfa-verify/HtmlErrorMessageView'\n],\nfunction (Okta, FormController, FormType, webauthn, Spinner, FooterSignout, HtmlErrorMessageView) {\n\n var _ = Okta._;\n\n return FormController.extend({\n className: 'mfa-verify verify-windows-hello',\n Model: {\n local: {\n __autoTriggered__: 'boolean'\n },\n\n save: function () {\n if (!webauthn.isAvailable()) {\n return;\n }\n\n this.trigger('request');\n var model = this;\n\n return this.doTransaction(function (transaction) {\n var factor = _.findWhere(transaction.factors, {\n factorType: 'webauthn',\n provider: 'FIDO'\n });\n\n return factor.verify()\n .then(function (verifyData) {\n var factorData = verifyData.factor;\n\n return webauthn.getAssertion(\n factorData.challenge.nonce,\n [{ id: factorData.profile.credentialId }]\n )\n .then(function (assertion) {\n return factor.verify({\n authenticatorData: assertion.authenticatorData,\n clientData: assertion.clientData,\n signatureData: assertion.signature\n });\n })\n .then(function (data) {\n model.trigger('sync');\n model.trigger('signIn');\n return data;\n })\n .fail(function (error) {\n switch (error.message) {\n case 'AbortError':\n case 'NotFoundError':\n case 'NotSupportedError':\n model.trigger('abort', error.message);\n return transaction;\n }\n\n throw error;\n });\n });\n });\n }\n },\n\n Form: {\n autoSave: true,\n hasSavingState: false,\n title: _.partial(Okta.loc, 'factor.windowsHello', 'login'),\n subtitle: function () {\n return webauthn.isAvailable() ? Okta.loc('verify.windowsHello.subtitle', 'login') : '';\n },\n save: _.partial(Okta.loc, 'verify.windowsHello.save', 'login'),\n\n customSavingState:{\n stop: 'abort'\n },\n\n modelEvents: function () {\n if (!webauthn.isAvailable()) {\n return {};\n }\n\n return {\n 'request': '_startEnrollment',\n 'error': '_stopEnrollment',\n 'abort': '_stopEnrollment',\n 'signIn': '_successEnrollment'\n };\n },\n\n noButtonBar: function () {\n return !webauthn.isAvailable();\n },\n\n formChildren: function () {\n var result = [];\n if (!webauthn.isAvailable()) {\n result.push(\n FormType.View(\n { View: new HtmlErrorMessageView(\n { message: Okta.loc('enroll.windowsHello.error.notWindows', 'login') })},\n { selector: '.o-form-error-container' }\n )\n );\n }\n\n result.push(FormType.View({ View: new Spinner({ model: this.model, visible: false }) }));\n\n return result;\n },\n\n postRender: function () {\n if (this.options.appState.get('factors').length === 1 && !this.model.get('__autoTriggered__')) {\n this.model.set('__autoTriggered__', true);\n this.model.save();\n }\n },\n\n _startEnrollment: function () {\n this.subtitle = Okta.loc('verify.windowsHello.subtitle.loading', 'login');\n\n this.model.trigger('spinner:show');\n this._resetErrorMessage();\n\n this.render();\n this.$('.o-form-button-bar').addClass('hide');\n },\n\n\n _stopEnrollment: function (errorMessage) {\n this.subtitle = Okta.loc('verify.windowsHello.subtitle', 'login');\n\n this.model.trigger('spinner:hide');\n this.$('.o-form-button-bar').removeClass('hide');\n\n var message;\n switch (errorMessage) {\n case 'NotFoundError':\n message = this.options.appState.get('factors').length > 1 ?\n Okta.loc('verify.windowsHello.error.notFound.selectAnother', 'login') :\n Okta.loc('verify.windowsHello.error.notFound', 'login');\n break;\n\n case 'NotSupportedError':\n message = Okta.loc('enroll.windowsHello.error.notConfiguredHtml', 'login');\n break;\n }\n\n this._resetErrorMessage();\n\n if (message) {\n var messageView = new HtmlErrorMessageView({\n message: message\n });\n\n this.$('.o-form-error-container').addClass('o-form-has-errors');\n this.add(messageView, {selector: '.o-form-error-container'});\n this._errorMessageView = this.last();\n }\n\n this.render();\n },\n\n _successEnrollment: function () {\n this.subtitle = this.settings.get('brandName') ?\n Okta.loc('verify.windowsHello.subtitle.signingIn.specific', 'login', [this.settings.get('brandName')]) :\n Okta.loc('verify.windowsHello.subtitle.signingIn.generic', 'login');\n this.render();\n this.$('.o-form-button-bar').addClass('hide');\n },\n\n _resetErrorMessage: function () {\n this._errorMessageView && this._errorMessageView.remove();\n this._errorMessageView = undefined;\n this.clearErrors();\n }\n },\n\n back: function () {\n // Empty function on verify controllers to prevent users\n // from navigating back during 'verify' using the browser's\n // back button. The URL will still change, but the view will not\n // More details in OKTA-135060.\n },\n\n Footer: FooterSignout\n });\n\n});\n\n\n\n// WEBPACK FOOTER //\n// ./src/VerifyWindowsHelloController.js","module.exports = { \"default\": require(\"core-js/library/fn/object/freeze\"), __esModule: true };\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/babel-runtime/core-js/object/freeze.js\n// module id = 576\n// module chunks = 0","require('../../modules/es6.object.freeze');\nmodule.exports = require('../../modules/_core').Object.freeze;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/fn/object/freeze.js\n// module id = 577\n// module chunks = 0","// 19.1.2.5 Object.freeze(O)\nvar isObject = require('./_is-object');\nvar meta = require('./_meta').onFreeze;\n\nrequire('./_object-sap')('freeze', function ($freeze) {\n return function freeze(it) {\n return $freeze && isObject(it) ? $freeze(meta(it)) : it;\n };\n});\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/es6.object.freeze.js\n// module id = 578\n// module chunks = 0","/*!\n * Copyright (c) 2015-2016, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n\n/* global u2f */\n\ndefine([\n 'okta',\n 'util/Errors',\n 'util/FormController',\n 'util/FormType',\n 'views/shared/FooterSignout',\n 'q',\n 'util/FactorUtil',\n 'util/FidoUtil',\n 'views/mfa-verify/HtmlErrorMessageView',\n 'u2f-api-polyfill'\n],\nfunction (Okta, Errors, FormController, FormType, FooterSignout, Q, FactorUtil, FidoUtil, HtmlErrorMessageView) {\n\n var _ = Okta._;\n\n function getRegisteredKeysSequence (factors) {\n var keys = [];\n _.each(factors, function (factor) {\n keys.push({\n version: factor.profile.version,\n keyHandle: factor.profile.credentialId\n });\n });\n return keys;\n }\n\n return FormController.extend({\n className: 'mfa-verify verify-u2f',\n Model: {\n props: {\n rememberDevice: 'boolean'\n },\n\n initialize: function () {\n var rememberDevice = FactorUtil.getRememberDeviceValue(this.appState);\n // set the initial value for remember device (Cannot do this while defining the\n // local property because this.settings would not be initialized there yet).\n this.set('rememberDevice', rememberDevice);\n },\n\n save: function () {\n this.trigger('request');\n\n return this.doTransaction(function (transaction) {\n var factor;\n if (transaction.factorTypes) {\n factor = _.findWhere(transaction.factorTypes, {\n factorType: 'u2f'\n });\n }\n else {\n factor = _.findWhere(transaction.factors, {\n factorType: 'u2f',\n provider: 'FIDO'\n });\n }\n var self = this;\n return factor.verify()\n .then(function (transaction) {\n var registeredKeys, appId, nonce;\n if (transaction.factors) {\n var factors = transaction.factors;\n appId = factors[0]['profile']['appId'];\n nonce = transaction.challenge.nonce;\n registeredKeys = getRegisteredKeysSequence(factors);\n }\n else {\n var factorData = transaction.factor;\n appId = factorData.profile.appId;\n nonce = factorData.challenge.nonce;\n registeredKeys = [{version: FidoUtil.getU2fVersion(), keyHandle: factorData.profile.credentialId }];\n }\n self.trigger('request');\n\n var deferred = Q.defer();\n u2f.sign(appId, nonce, registeredKeys, function (data) {\n self.trigger('errors:clear');\n if (data.errorCode && data.errorCode !== 0) {\n var isOneFactor = self.options.appState.get('factors').length === 1;\n deferred.reject(\n new Errors.U2FError({\n xhr: {\n responseJSON: {\n errorSummary: FidoUtil.getU2fVerifyErrorMessageByCode(data.errorCode, isOneFactor)\n }\n }\n })\n );\n } else {\n var rememberDevice = !!self.get('rememberDevice');\n return factor.verify({\n clientData: data.clientData,\n signatureData: data.signatureData,\n rememberDevice: rememberDevice\n })\n .then(deferred.resolve);\n }\n });\n return deferred.promise;\n });\n });\n }\n },\n\n Form: {\n autoSave: true,\n hasSavingState: false,\n title: _.partial(Okta.loc, 'factor.u2f', 'login'),\n className: 'verify-u2f-form',\n noCancelButton: true,\n save: _.partial(Okta.loc, 'verify.u2f.retry', 'login'),\n noButtonBar: function () {\n return !FidoUtil.isU2fAvailable();\n },\n modelEvents: {\n 'request': '_startEnrollment',\n 'error': '_stopEnrollment'\n },\n\n formChildren: function () {\n var result = [];\n\n if (!FidoUtil.isU2fAvailable()) {\n var errorMessageKey = 'u2f.error.factorNotSupported';\n if (this.options.appState.get('factors').length === 1) {\n errorMessageKey = 'u2f.error.factorNotSupported.oneFactor';\n }\n result.push(FormType.View(\n {View: new HtmlErrorMessageView({message: Okta.loc(errorMessageKey, 'login')})},\n {selector: '.o-form-error-container'}\n ));\n }\n else {\n result.push(FormType.View({\n View: '\\\n <div class=\"u2f-verify-text\">\\\n <p>{{i18n code=\"verify.u2f.instructions\" bundle=\"login\"}}</p>\\\n <p>{{i18n code=\"verify.u2f.instructionsBluetooth\" bundle=\"login\"}}</p>\\\n <div data-se=\"u2f-waiting\" class=\"okta-waiting-spinner\"></div>\\\n </div>'\n }));\n }\n\n if (this.options.appState.get('allowRememberDevice')) {\n result.push(FormType.Input({\n label: false,\n 'label-top': true,\n placeholder: this.options.appState.get('rememberDeviceLabel'),\n className: 'margin-btm-0',\n name: 'rememberDevice',\n type: 'checkbox'\n }));\n }\n\n return result;\n },\n\n postRender: function () {\n _.defer(_.bind(function () {\n if (FidoUtil.isU2fAvailable()) {\n this.model.save();\n }\n else {\n this.$('[data-se=\"u2f-waiting\"]').addClass('hide');\n }\n }, this));\n },\n\n _startEnrollment: function () {\n this.$('.okta-waiting-spinner').removeClass('hide');\n this.$('.o-form-button-bar').hide();\n },\n\n _stopEnrollment: function () {\n this.$('.okta-waiting-spinner').addClass('hide');\n this.$('.o-form-button-bar').show();\n }\n },\n\n back: function () {\n // Empty function on verify controllers to prevent users\n // from navigating back during 'verify' using the browser's\n // back button. The URL will still change, but the view will not\n // More details in OKTA-135060.\n },\n\n Footer: FooterSignout\n });\n\n});\n\n\n\n// WEBPACK FOOTER //\n// ./src/VerifyU2FController.js","/*!\n * Copyright (c) 2015-2016, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n\n/* eslint complexity:[2, 10], max-params: [2, 11] */\n\ndefine([\n 'okta',\n 'util/Errors',\n 'util/FormController',\n 'util/FormType',\n 'util/CryptoUtil',\n 'util/webauthn',\n 'views/shared/FooterSignout',\n 'q',\n 'util/FactorUtil',\n 'views/mfa-verify/HtmlErrorMessageView'\n],\nfunction (Okta, Errors, FormController, FormType, CryptoUtil, webauthn, FooterSignout, Q,\n FactorUtil, HtmlErrorMessageView) {\n\n var _ = Okta._;\n\n function getAllowCredentials (factors) {\n var allowCredentials = [];\n _.each(factors, function (factor) {\n allowCredentials.push({\n type: 'public-key',\n id: CryptoUtil.strToBin(factor.profile.credentialId)\n });\n });\n return allowCredentials;\n }\n\n return FormController.extend({\n className: 'mfa-verify verify-webauthn',\n Model: {\n props: {\n rememberDevice: 'boolean'\n },\n\n initialize: function () {\n var rememberDevice = FactorUtil.getRememberDeviceValue(this.appState);\n // set the initial value for remember device (Cannot do this while defining the\n // local property because this.settings would not be initialized there yet).\n this.set('rememberDevice', rememberDevice);\n this.appState.on('factorSwitched signOut', () => {\n if (this.webauthnAbortController) {\n this.webauthnAbortController.abort();\n this.webauthnAbortController = null;\n }\n });\n },\n\n save: function () {\n this.trigger('request');\n\n return this.doTransaction(function (transaction) {\n var factor;\n if (transaction.factorTypes) {\n factor = _.findWhere(transaction.factorTypes, {\n factorType: 'webauthn'\n });\n }\n else {\n factor = _.findWhere(transaction.factors, {\n factorType: 'webauthn',\n provider: 'FIDO'\n });\n }\n\n var self = this;\n return factor.verify().then(function (transaction) {\n var allowCredentials, challenge;\n if (transaction.factors) {\n var factors = transaction.factors;\n challenge = transaction.challenge;\n allowCredentials = getAllowCredentials(factors);\n }\n else {\n var factorData = transaction.factor;\n challenge = factorData.challenge;\n allowCredentials = getAllowCredentials([factorData]);\n }\n self.trigger('request');\n // verify via browser webauthn js\n var options = _.extend({}, challenge, {\n allowCredentials: allowCredentials,\n challenge: CryptoUtil.strToBin(challenge.challenge)\n });\n self.webauthnAbortController = new AbortController();\n return new Q(navigator.credentials.get({\n publicKey: options,\n signal: self.webauthnAbortController.signal\n }))\n .then(function (assertion) {\n var rememberDevice = !!self.get('rememberDevice');\n return factor.verify({\n clientData: CryptoUtil.binToStr(assertion.response.clientDataJSON),\n authenticatorData: CryptoUtil.binToStr(assertion.response.authenticatorData),\n signatureData: CryptoUtil.binToStr(assertion.response.signature),\n rememberDevice: rememberDevice\n });\n })\n .fail(function (error) {\n self.trigger('errors:clear');\n // Do not display if it is abort error triggered by code when switching.\n // self.webauthnAbortController would be null if abort was triggered by code.\n if (!self.webauthnAbortController) {\n throw new Errors.WebauthnAbortError();\n } else {\n throw new Errors.WebAuthnError({\n xhr: {responseJSON: {errorSummary: error.message}}\n });\n }\n }).finally(function () {\n // unset webauthnAbortController on successful authentication or error\n self.webauthnAbortController = null;\n });\n });\n });\n }\n },\n\n Form: {\n autoSave: true,\n hasSavingState: false,\n title: _.partial(Okta.loc, 'factor.webauthn.biometric', 'login'),\n className: 'verify-webauthn-form',\n noCancelButton: true,\n save: _.partial(Okta.loc, 'verify.u2f.retry', 'login'),\n noButtonBar: function () {\n return !webauthn.isNewApiAvailable();\n },\n modelEvents: {\n 'request': '_startEnrollment',\n 'error': '_stopEnrollment'\n },\n\n formChildren: function () {\n var children = [];\n\n if (webauthn.isNewApiAvailable()) {\n children.push(FormType.View({\n View:\n '<div class=\"webauthn-verify-text\">\\\n <p>{{i18n code=\"verify.webauthn.biometric.instructions\" bundle=\"login\"}}</p>\\\n <div data-se=\"webauthn-waiting\" class=\"okta-waiting-spinner\"></div>\\\n </div>'\n }));\n }\n else {\n var errorMessageKey = 'webauthn.biometric.error.factorNotSupported';\n if (this.options.appState.get('factors').length === 1) {\n errorMessageKey = 'webauthn.biometric.error.factorNotSupported.oneFactor';\n }\n children.push(FormType.View(\n {View: new HtmlErrorMessageView({message: Okta.loc(errorMessageKey, 'login')})},\n {selector: '.o-form-error-container'}\n ));\n }\n\n if (this.options.appState.get('allowRememberDevice')) {\n children.push(FormType.Input({\n label: false,\n 'label-top': true,\n placeholder: this.options.appState.get('rememberDeviceLabel'),\n className: 'margin-btm-0',\n name: 'rememberDevice',\n type: 'checkbox'\n }));\n }\n\n return children;\n },\n\n postRender: function () {\n _.defer(_.bind(function () {\n if (webauthn.isNewApiAvailable()) {\n this.model.save();\n }\n else {\n this.$('[data-se=\"webauthn-waiting\"]').hide();\n }\n }, this));\n },\n\n _startEnrollment: function () {\n this.$('.okta-waiting-spinner').show();\n this.$('.o-form-button-bar').hide();\n },\n\n _stopEnrollment: function () {\n this.$('.okta-waiting-spinner').hide();\n this.$('.o-form-button-bar').show();\n }\n },\n\n back: function () {\n // Empty function on verify controllers to prevent users\n // from navigating back during 'verify' using the browser's\n // back button. The URL will still change, but the view will not\n // More details in OKTA-135060.\n },\n\n Footer: FooterSignout\n });\n\n});\n\n\n\n// WEBPACK FOOTER //\n// ./src/VerifyWebauthnController.js","/*!\n * Copyright (c) 2018-2019, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n\ndefine([\n 'okta',\n 'util/FormController',\n 'util/FormType',\n 'views/shared/FooterSignout',\n 'util/FactorUtil',\n 'views/mfa-verify/HtmlErrorMessageView',\n],\nfunction (Okta, FormController, FormType, FooterSignout, FactorUtil, HtmlErrorMessageView) {\n\n var _ = Okta._;\n var { Util } = Okta.internal.util;\n\n return FormController.extend({\n\n className: 'verify-custom-factor custom-factor-form',\n\n Model: {\n props: {\n rememberDevice: 'boolean'\n },\n\n initialize: function () {\n var rememberDevice = FactorUtil.getRememberDeviceValue(this.appState);\n // set the initial value for remember device (Cannot do this while defining the\n // local property because this.settings would not be initialized there yet).\n this.set('rememberDevice', rememberDevice);\n },\n\n save: function () {\n var rememberDevice = !!this.get('rememberDevice');\n return this.manageTransaction((transaction, setTransaction) => {\n var data = {\n rememberDevice: rememberDevice\n };\n var factor = _.findWhere(transaction.factors, {\n provider: this.get('provider'),\n factorType: this.get('factorType')\n });\n return factor.verify(data)\n .then((trans) => {\n setTransaction(trans);\n var url = this.appState.get('verifyCustomFactorRedirectUrl');\n if(url !== null) {\n Util.redirect(url);\n }\n })\n .fail(function (err) {\n throw err;\n });\n });\n }\n },\n\n Form: function () {\n var factors = this.options.appState.get('factors');\n var factor = factors.findWhere({\n provider: this.options.provider,\n factorType: this.options.factorType\n });\n var vendorName = factor.get('vendorName');\n var saveText = Okta.loc('mfa.challenge.verify', 'login');\n var subtitle = Okta.loc('verify.customFactor.subtitle', 'login', [vendorName]);\n return {\n autoSave: true,\n title: vendorName,\n save: saveText,\n subtitle: subtitle,\n attributes: { 'data-se': 'factor-custom' },\n initialize: function () {\n if (this.options.appState.get('allowRememberDevice')) {\n this.addInput({\n label: false,\n 'label-top': true,\n placeholder: this.options.appState.get('rememberDeviceLabel'),\n className: 'margin-btm-0',\n name: 'rememberDevice',\n type: 'checkbox'\n });\n }\n },\n formChildren: function () {\n var result = [],\n lastFailedChallengeFactorData = this.options.appState.get('lastFailedChallengeFactorData');\n if (lastFailedChallengeFactorData) {\n result.push(\n FormType.View(\n { View: new HtmlErrorMessageView(\n { message: lastFailedChallengeFactorData.errorMessage }) },\n { selector: '.o-form-error-container'}\n )\n );\n }\n return result;\n },\n };\n },\n\n trapAuthResponse: function () {\n if (this.options.appState.get('isMfaChallenge')) {\n return true;\n }\n },\n\n back: function () {\n // Empty function on verify controllers to prevent users\n // from navigating back during 'verify' using the browser's\n // back button. The URL will still change, but the view will not\n // More details in OKTA-135060.\n },\n\n initialize: function () {\n this.model.set('provider', this.options.provider);\n this.model.set('factorType', this.options.factorType);\n if (!this.settings.get('features.hideSignOutLinkInMFA')) {\n this.addFooter(FooterSignout);\n }\n }\n\n });\n\n});\n\n\n\n// WEBPACK FOOTER //\n// ./src/VerifyCustomFactorController.js","/*!\n * Copyright (c) 2015-2016, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n\n/* eslint complexity: [2, 13] */\ndefine([\n 'okta',\n './util/FormController',\n './util/Enums',\n './util/RouterUtil',\n 'views/enroll-choices/FactorList',\n 'views/enroll-choices/RequiredFactorList',\n 'views/enroll-choices/Footer'\n],\nfunction (Okta, FormController, Enums, RouterUtil, FactorList,\n RequiredFactorList, Footer) {\n\n var _ = Okta._,\n $ = Okta.$,\n subtitleTpl = Okta.tpl('<span>{{{subtitle}}}</span>');\n\n return FormController.extend({\n className: 'enroll-choices',\n state: {\n pageType: null\n },\n\n Model: {},\n\n Form: {\n noCancelButton: true,\n\n title: _.partial(Okta.loc, 'enroll.choices.title', 'login'),\n\n noButtonBar: function () {\n return this.state.get('pageType') === Enums.ALL_OPTIONAL_NONE_ENROLLED;\n },\n\n subtitle: ' ',\n\n getSubtitle: function () {\n switch (this.state.get('pageType')) {\n case Enums.ALL_OPTIONAL_SOME_ENROLLED:\n case Enums.HAS_REQUIRED_ALL_REQUIRED_ENROLLED:\n return Okta.loc('enroll.choices.optional', 'login');\n case Enums.HAS_REQUIRED_SOME_REQUIRED_ENROLLED:\n var remainingDays = this.options.appState.get('gracePeriodRemainingDays');\n return (Number.isInteger(remainingDays) && remainingDays >= 0) ?\n this.getGracePeriodSubtitle(remainingDays) : this.getDefaultSubtitle();\n default:\n return this.getDefaultSubtitle();\n }\n },\n\n getDefaultSubtitle: function () {\n return this.settings.get('brandName') ?\n Okta.loc('enroll.choices.description.specific', 'login', [this.settings.get('brandName')]) :\n Okta.loc('enroll.choices.description.generic', 'login');\n },\n\n getGracePeriodSubtitle: function (remainingDays) {\n return (remainingDays >= 1) ?\n Okta.loc('enroll.choices.description.gracePeriod.bold', 'login', [remainingDays]) :\n Okta.loc('enroll.choices.description.gracePeriod.oneDay.bold', 'login');\n },\n\n save: function () {\n switch (this.state.get('pageType')) {\n case Enums.ALL_OPTIONAL_SOME_ENROLLED:\n case Enums.HAS_REQUIRED_ALL_REQUIRED_ENROLLED:\n return Okta.loc('enroll.choices.submit.finish', 'login');\n case Enums.HAS_REQUIRED_NONE_ENROLLED:\n return Okta.loc('enroll.choices.submit.configure', 'login');\n case Enums.HAS_REQUIRED_SOME_REQUIRED_ENROLLED:\n return Okta.loc('enroll.choices.submit.next', 'login');\n default:\n return '';\n }\n },\n\n initialize: function (options) {\n this.listenTo(this, 'save', function () {\n var current;\n switch (this.state.get('pageType')) {\n case Enums.HAS_REQUIRED_NONE_ENROLLED:\n case Enums.HAS_REQUIRED_SOME_REQUIRED_ENROLLED:\n current = options.appState.get('factors').getFirstUnenrolledRequiredFactor();\n options.appState.trigger('navigate', RouterUtil.createEnrollFactorUrl(\n current.get('provider'),\n current.get('factorType')\n ));\n break;\n default:\n return this.model.doTransaction(function (transaction) {\n return transaction.skip();\n });\n }\n });\n },\n\n preRender: function () {\n // form subtitle does not support unescaped strings, and we need some html elements\n // in the subtitle for this form. So instead of a regular subtitle, we add a <span>\n // with the text we need\n this.add(subtitleTpl({subtitle: this.getSubtitle()}), $('p.okta-form-subtitle'));\n\n var factors = this.options.appState.get('factors');\n switch(this.state.get('pageType')) {\n case Enums.HAS_REQUIRED_NONE_ENROLLED:\n case Enums.HAS_REQUIRED_SOME_REQUIRED_ENROLLED:\n this.add(new RequiredFactorList({\n minimize: true,\n collection: new Okta.Collection(factors.where({ required: true })),\n appState: this.options.appState\n }));\n break;\n case Enums.HAS_REQUIRED_ALL_REQUIRED_ENROLLED:\n case Enums.ALL_OPTIONAL_SOME_ENROLLED:\n case Enums.ALL_OPTIONAL_NONE_ENROLLED:\n var enrolled = factors.where({ enrolled: true }),\n notEnrolled = factors.filter(function (factor) {\n // pick factors that are not enrolled or have additional enrollments\n return !factor.get('enrolled') || factor.get('additionalEnrollment');\n }),\n notEnrolledListTitle;\n if (enrolled.length > 0) {\n notEnrolledListTitle = Okta.loc('enroll.choices.list.optional', 'login');\n this.add(new FactorList({\n listTitle: Okta.loc('enroll.choices.list.enrolled', 'login'),\n minimize: true,\n collection: new Okta.Collection(enrolled),\n appState: this.options.appState\n }));\n }\n this.add(new FactorList({\n listTitle: notEnrolledListTitle,\n collection: new Okta.Collection(notEnrolled),\n appState: this.options.appState,\n showInlineSetupButton: true\n }));\n break;\n }\n }\n\n },\n\n initialize: function (options) {\n var numRequiredEnrolled = 0,\n numRequiredNotEnrolled = 0,\n numOptionalEnrolled = 0,\n numOptionalNotEnrolled = 0,\n hasRequired,\n pageType;\n\n options.appState.get('factors').each(function (factor) {\n var required = factor.get('required'),\n enrolled = factor.get('enrolled'),\n additionalEnrollment = factor.get('additionalEnrollment');\n if (required && enrolled) {\n numRequiredEnrolled++;\n }\n else if (required && !enrolled) {\n numRequiredNotEnrolled++;\n }\n else if (!required && enrolled) {\n numOptionalEnrolled++;\n }\n else if (!required && !enrolled) {\n numOptionalNotEnrolled++;\n }\n // If a factor has multiple instances and\n // additional optional enrollments\n if (enrolled && additionalEnrollment) {\n numOptionalNotEnrolled++;\n }\n });\n\n hasRequired = numRequiredEnrolled > 0 || numRequiredNotEnrolled > 0;\n\n // There are 5 possible states this screen can be in:\n\n // 1. Has required, but none have been enrolled. Wizard start page.\n if (hasRequired && numRequiredEnrolled === 0) {\n pageType = Enums.HAS_REQUIRED_NONE_ENROLLED;\n }\n\n // 2. Has required, and have enrolled at least one. The page layout\n // to configure the remaining required factors.\n else if (hasRequired && numRequiredNotEnrolled > 0) {\n pageType = Enums.HAS_REQUIRED_SOME_REQUIRED_ENROLLED;\n }\n\n // 3. Has required, and finished enrolling all required factors. The\n // page layout you see to configure any optional factors or skip.\n else if (hasRequired && numOptionalNotEnrolled > 0) {\n pageType = Enums.HAS_REQUIRED_ALL_REQUIRED_ENROLLED;\n }\n\n // 4. Factors are all optional, no factors enrolled.\n else if (numOptionalEnrolled === 0 && numOptionalNotEnrolled > 0) {\n pageType = Enums.ALL_OPTIONAL_NONE_ENROLLED;\n }\n\n // 5. Factors are all optional, some factors have already been\n // enrolled (can either enroll more or skip).\n else if (numOptionalNotEnrolled > 0) {\n pageType = Enums.ALL_OPTIONAL_SOME_ENROLLED;\n }\n\n // 6. Factors are all optional, all factors have already been\n // enrolled, among them there is OktaVerify with Push enrolled as totp\n // (API return OktaVerify push factor as unenrolled in this case and as we always merge\n // push and totp in UI so we redirect to skip link here).\n else {\n this.model.doTransaction(function (transaction) {\n return transaction.skip();\n });\n }\n\n this.state.set('pageType', pageType);\n\n if (this.options.appState.get('skipLink') && pageType === Enums.HAS_REQUIRED_SOME_REQUIRED_ENROLLED) {\n this.add(new Footer(this.toJSON()));\n }\n }\n });\n\n});\n\n\n\n// WEBPACK FOOTER //\n// ./src/EnrollChoicesController.js","module.exports = { \"default\": require(\"core-js/library/fn/number/is-integer\"), __esModule: true };\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/babel-runtime/core-js/number/is-integer.js\n// module id = 583\n// module chunks = 0","require('../../modules/es6.number.is-integer');\nmodule.exports = require('../../modules/_core').Number.isInteger;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/fn/number/is-integer.js\n// module id = 584\n// module chunks = 0","// 20.1.2.3 Number.isInteger(number)\nvar $export = require('./_export');\n\n$export($export.S, 'Number', { isInteger: require('./_is-integer') });\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/es6.number.is-integer.js\n// module id = 585\n// module chunks = 0","// 20.1.2.3 Number.isInteger(number)\nvar isObject = require('./_is-object');\nvar floor = Math.floor;\nmodule.exports = function isInteger(it) {\n return !isObject(it) && isFinite(it) && floor(it) === it;\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/core-js/library/modules/_is-integer.js\n// module id = 586\n// module chunks = 0","/*!\n * Copyright (c) 2015-2016, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n\ndefine({\n INVALID_TOKEN_EXCEPTION: 'E0000011'\n});\n\n\n\n// WEBPACK FOOTER //\n// ./src/util/ErrorCodes.js","/*!\n * Copyright (c) 2015-2016, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n\ndefine(['okta', './FactorList'], function (Okta, FactorList) {\n\n var _ = Okta._;\n\n return FactorList.extend({\n\n listTitle: _.partial(Okta.loc, 'enroll.choices.list.setup', 'login'),\n\n className: function () {\n return FactorList.prototype.className + ' enroll-required-factor-list';\n },\n\n postRender: function () {\n var currentModel, currentRow;\n FactorList.prototype.postRender.apply(this, arguments);\n currentModel = this.options.appState.get('factors').getFirstUnenrolledRequiredFactor();\n currentRow = this.find(function (view) {\n return view.model === currentModel;\n });\n currentRow.maximize();\n }\n\n });\n\n});\n\n\n\n// WEBPACK FOOTER //\n// ./src/views/enroll-choices/RequiredFactorList.js","/*!\n * Copyright (c) 2019, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n\ndefine(['okta'], function (Okta) {\n\n return Okta.View.extend({\n template: \n `<a href=\"#\" class=\"link goto js-skip\" data-se=\"skip-link\">\n {{i18n code=\"enroll.choices.setup.skip\" bundle=\"login\"}}\n </a>`,\n className: 'auth-footer clearfix',\n events: {\n 'click .js-skip' : function (e) {\n e.preventDefault();\n this.model.doTransaction(function (transaction) {\n return transaction.skip();\n });\n }\n }\n });\n\n});\n\n\n\n// WEBPACK FOOTER //\n// ./src/views/enroll-choices/Footer.js","/*!\n * Copyright (c) 2015-2016, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n\n/* eslint camelcase: 0*/\ndefine([\n 'okta',\n 'duo',\n 'q',\n 'util/FormController',\n 'views/enroll-factors/Footer'\n],\nfunction (Okta, Duo, Q, FormController, Footer) {\n\n var $ = Okta.$,\n _ = Okta._;\n\n return FormController.extend({\n\n className: 'enroll-duo duo-form',\n\n Model: {\n props: {\n host: 'string',\n signature: 'string',\n postAction: 'string',\n factorId: 'string',\n stateToken: 'string'\n },\n\n getInitOptions: function () {\n return this.doTransaction(function (transaction) {\n var factor = _.findWhere(transaction.factors, {\n factorType: 'web',\n provider: 'DUO'\n });\n return factor.enroll();\n });\n },\n\n activate: function (signedResponse) {\n // Note: We should be doing this in OktaAuth! Fix when it's updated.\n var url = this.get('postAction'),\n factorId = this.get('factorId'),\n self = this,\n data = {\n id: factorId,\n stateToken: this.get('stateToken'),\n sig_response: signedResponse\n };\n // We don't actually use authClient.post() here (unlike all the other cases in the\n // sign-in widget) since the endpoint is wired to accept serialized form post instead\n // of a JSON post ($.post() is different from authClient.post() in that in $.post(),\n // jquery decides the Content-Type instead of it being a JSON type). Enroll/Verify DUO\n // are the only two places where we actually do this.\n // NOTE - If we ever decide to change this, we should test this very carefully.\n return Q($.post(url, data))\n .then(function () {\n return self.doTransaction(function (transaction) {\n return transaction.poll();\n });\n })\n .fail(function (err) {\n self.trigger('error', self, err.xhr);\n });\n }\n },\n\n Form: {\n autoSave: true,\n noButtonBar: true,\n title: _.partial(Okta.loc, 'enroll.duo.title', 'login'),\n\n postRender: function () {\n this.add('<iframe frameborder=\"0\" title=\"' + this.title() + '\"></iframe>');\n Duo.init({\n 'host': this.model.get('host'),\n 'sig_request': this.model.get('signature'),\n 'iframe': this.$('iframe').get(0),\n 'post_action': _.bind(this.model.activate, this.model)\n });\n }\n },\n\n Footer: Footer,\n\n fetchInitialData: function () {\n var self = this;\n return this.model.getInitOptions(this.options.appState)\n .then(function (trans) {\n var res = trans.data;\n if (!res ||\n !res._embedded ||\n !res._embedded.factor ||\n !res._embedded.factor._embedded ||\n !res._embedded.factor._embedded.activation) {\n throw new Error('Response does not have duo activation options');\n }\n\n var factor = res._embedded.factor;\n var activation = factor._embedded.activation;\n self.model.set({\n host: activation.host,\n signature: activation.signature,\n postAction: activation._links.complete.href,\n factorId: factor.id,\n stateToken: res.stateToken\n });\n });\n },\n\n trapAuthResponse: function () {\n if (this.options.appState.get('isMfaEnrollActivate')) {\n return true;\n }\n }\n\n });\n\n});\n\n\n\n// WEBPACK FOOTER //\n// ./src/EnrollDuoController.js","/*!\n * Copyright (c) 2015-2016, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n\ndefine([\n 'okta',\n 'util/FormController',\n 'util/FactorUtil',\n 'util/Util',\n 'views/enroll-factors/Footer',\n 'views/shared/TextBox'\n],\nfunction (Okta, FormController, FactorUtil, Util, Footer, TextBox) {\n\n var _ = Okta._;\n\n return FormController.extend({\n className: 'enroll-question',\n Model: {\n props: {\n question: 'string',\n answer: ['string', true]\n },\n local: {\n securityQuestions: 'object'\n },\n save: function () {\n return this.doTransaction(function (transaction) {\n var factor = _.findWhere(transaction.factors, {\n factorType: 'question',\n provider: 'OKTA'\n });\n return factor.enroll({\n profile: {\n question: this.get('question'),\n answer: this.get('answer')\n }\n });\n });\n }\n },\n\n Form: {\n autoSave: true,\n title: _.partial(Okta.loc, 'enroll.securityQuestion.setup', 'login'),\n inputs: function () {\n return [\n {\n label: false,\n 'label-top': true,\n name: 'question',\n type: 'select',\n wide: true,\n options: function () {\n return this.model.get('securityQuestions');\n },\n params: {\n searchThreshold: 25\n }\n },\n {\n label: Okta.loc('mfa.challenge.answer.placeholder', 'login'),\n 'label-top': true,\n explain: Util.createInputExplain(\n 'mfa.challenge.answer.tooltip',\n 'mfa.challenge.answer.placeholder',\n 'login'),\n 'explain-top': true,\n className: 'o-form-fieldset o-form-label-top auth-passcode',\n name: 'answer',\n input: TextBox,\n type: 'text'\n }\n ];\n }\n },\n\n Footer: Footer,\n\n fetchInitialData: function () {\n var self = this;\n return this.model.manageTransaction(function (transaction) {\n var factor = _.findWhere(transaction.factors, {\n factorType: 'question',\n provider: 'OKTA'\n });\n return factor.questions();\n })\n .then(function (questionsRes) {\n var questions = {};\n _.each(questionsRes, function (question) {\n questions[question.question] = FactorUtil.getSecurityQuestionLabel(question);\n });\n self.model.set('securityQuestions', questions);\n });\n }\n\n });\n\n});\n\n\n\n// WEBPACK FOOTER //\n// ./src/EnrollQuestionController.js","/*!\n * Copyright (c) 2015-2016, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n\ndefine([\n 'okta',\n 'util/FormController',\n 'util/ValidationUtil',\n 'views/enroll-factors/Footer',\n 'views/shared/TextBox'\n],\nfunction (Okta, FormController, ValidationUtil, Footer, TextBox) {\n\n var _ = Okta._;\n\n return FormController.extend({\n className: 'enroll-password',\n Model: {\n props: {\n password: ['string', true],\n confirmPassword: ['string', true]\n },\n validate: function () {\n return ValidationUtil.validateFieldsMatch(this, 'password', 'confirmPassword',\n Okta.loc('password.enroll.error.match', 'login'));\n },\n save: function () {\n return this.doTransaction(function (transaction) {\n var factor = _.findWhere(transaction.factors, {\n factorType: 'password',\n provider: 'OKTA'\n });\n return factor.enroll({\n profile: {\n password: this.get('password')\n }\n });\n });\n }\n },\n\n Form: {\n autoSave: true,\n title: _.partial(Okta.loc, 'enroll.password.setup', 'login'),\n inputs: function () {\n return [\n {\n label: Okta.loc('mfa.challenge.password.placeholder', 'login'),\n 'label-top': true,\n className: 'o-form-fieldset o-form-label-top auth-passcode',\n name: 'password',\n input: TextBox,\n type: 'password'\n },\n {\n label: Okta.loc('password.confirmPassword.placeholder', 'login'),\n 'label-top': true,\n className: 'o-form-fieldset o-form-label-top auth-passcode',\n name: 'confirmPassword',\n input: TextBox,\n type: 'password'\n }\n ];\n }\n },\n Footer: Footer\n });\n});\n\n\n\n// WEBPACK FOOTER //\n// ./src/EnrollPasswordController.js","/*!\n * Copyright (c) 2015-2016, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n\ndefine([\n 'okta',\n 'util/FormController',\n 'util/FormType',\n 'util/webauthn',\n 'views/shared/Spinner',\n 'views/enroll-factors/Footer',\n 'views/mfa-verify/HtmlErrorMessageView'\n],\nfunction (Okta, FormController, FormType, webauthn, Spinner, Footer, HtmlErrorMessageView) {\n\n var _ = Okta._;\n\n return FormController.extend({\n className: 'enroll-windows-hello',\n Model: {\n local: {\n __isEnrolled__: 'boolean'\n },\n\n save: function () {\n if (!webauthn.isAvailable()) {\n return;\n }\n\n this.trigger('request');\n\n if (this.get('__isEnrolled__')) {\n return this.activate();\n }\n\n return this.doTransaction(function (transaction) {\n return this._enroll(transaction);\n });\n },\n\n _enroll: function (transaction) {\n var factor = _.findWhere(transaction.factors, {\n factorType: 'webauthn',\n provider: 'FIDO'\n });\n\n return factor.enroll();\n },\n\n activate: function () {\n this.set('__isEnrolled__', true);\n\n return this.doTransaction(function (transaction) {\n var activation = transaction.factor.activation;\n var user = transaction.user;\n var model = this;\n\n var accountInfo = {\n rpDisplayName: activation.rpDisplayName,\n userDisplayName: user.profile.displayName,\n accountName: user.profile.login,\n userId: user.id\n };\n var cryptoParams = [{\n algorithm: activation.algorithm\n }];\n var challenge = activation.nonce;\n\n return webauthn.makeCredential(accountInfo, cryptoParams, challenge)\n .then(function (creds) {\n return transaction.activate({\n credentialId: creds.credential.id,\n publicKey: creds.publicKey,\n attestation: null\n });\n })\n .fail(function (error) {\n switch (error.message) {\n case 'AbortError':\n case 'NotFoundError':\n case 'NotSupportedError':\n model.trigger('abort', error.message);\n return transaction;\n }\n\n throw error;\n });\n });\n }\n },\n\n Form: {\n autoSave: true,\n hasSavingState: false,\n title: _.partial(Okta.loc, 'enroll.windowsHello.title', 'login'),\n subtitle: function () {\n return webauthn.isAvailable() ? Okta.loc('enroll.windowsHello.subtitle', 'login') : '';\n },\n save: _.partial(Okta.loc, 'enroll.windowsHello.save', 'login'),\n\n customSavingState: {\n stop: 'abort'\n },\n\n modelEvents: function () {\n if (!webauthn.isAvailable()) {\n return {};\n }\n\n return {\n 'request': '_startEnrollment',\n 'error': '_stopEnrollment',\n 'abort': '_stopEnrollment'\n };\n },\n\n noButtonBar: function () {\n return !webauthn.isAvailable();\n },\n\n formChildren: function () {\n var result = [];\n\n if (!webauthn.isAvailable()) {\n result.push(\n FormType.View(\n { View: new HtmlErrorMessageView(\n { message: Okta.loc('enroll.windowsHello.error.notWindows', 'login') }) },\n { selector: '.o-form-error-container'}\n )\n );\n }\n\n result.push(FormType.View({ View: new Spinner({ model: this.model, visible: false }) }));\n\n return result;\n },\n\n _startEnrollment: function () {\n this.subtitle = Okta.loc('enroll.windowsHello.subtitle.loading', 'login');\n\n this.model.trigger('spinner:show');\n this._resetErrorMessage();\n\n this.render();\n this.$('.o-form-button-bar').addClass('hide');\n },\n\n _stopEnrollment: function (errorMessage) {\n this.subtitle = Okta.loc('enroll.windowsHello.subtitle', 'login');\n\n this.model.trigger('spinner:hide');\n\n var message;\n switch (errorMessage){\n case 'NotSupportedError':\n message = Okta.loc('enroll.windowsHello.error.notConfiguredHtml', 'login');\n break;\n }\n\n this._resetErrorMessage();\n\n if (message){\n var messageView = new HtmlErrorMessageView({\n message: message\n });\n\n this.$('.o-form-error-container').addClass('o-form-has-errors');\n this.add(messageView, { selector: '.o-form-error-container' });\n this._errorMessageView = this.last();\n }\n\n this.render();\n this.$('.o-form-button-bar').removeClass('hide');\n },\n\n\n _resetErrorMessage: function () {\n this._errorMessageView && this._errorMessageView.remove();\n this._errorMessageView = undefined;\n this.clearErrors();\n }\n },\n\n Footer: Footer,\n\n trapAuthResponse: function () {\n if (this.options.appState.get('isMfaEnrollActivate')) {\n this.model.activate();\n return true;\n }\n }\n });\n\n});\n\n\n\n// WEBPACK FOOTER //\n// ./src/EnrollWindowsHelloController.js","/*!\n * Copyright (c) 2015-2016, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n/* eslint complexity: [2, 8] */\ndefine([\n 'okta',\n 'util/FormController',\n 'views/enroll-factors/Footer',\n 'views/enroll-factors/PhoneTextBox',\n 'views/shared/TextBox',\n 'util/CountryUtil',\n 'util/FormType',\n 'util/Util',\n 'util/Enums'\n], function (Okta, FormController, Footer, PhoneTextBox, TextBox, CountryUtil, FormType, Util, Enums) {\n\n var _ = Okta._;\n var { Keys } = Okta.internal.util;\n var warningTemplate = '<div class=\"okta-form-infobox-warning infobox infobox-warning login-timeout-warning\">\\\n <span class=\"icon warning-16\"></span>\\\n <p>{{{warning}}}</p>\\\n </div>\\\n ';\n\n var factorIdIsDefined = {\n factorId: function (val) {\n return !_.isUndefined(val);\n }\n };\n\n function isCallFactor (factorType) {\n return factorType === 'call';\n }\n\n function getClassName (factorType) {\n return isCallFactor(factorType) ? 'enroll-call' : 'enroll-sms';\n }\n\n function sendCode (e) {\n if (Keys.isEnter(e)) {\n e.stopPropagation();\n e.preventDefault();\n if (e.type === 'keyup' && e.data && e.data.model) {\n e.data.model.sendCode();\n }\n }\n }\n\n return FormController.extend({\n className: function () {\n return getClassName(this.options.factorType);\n },\n Model: {\n props: {\n countryCode: ['string', true, 'US'],\n phoneNumber: ['string', true],\n phoneExtension: ['string', false],\n lastEnrolledPhoneNumber: 'string',\n passCode: ['string', true],\n factorId: 'string'\n },\n local: {\n hasExistingPhones: 'boolean',\n trapEnrollment: 'boolean',\n ableToResend: 'boolean',\n factorType: 'string',\n skipPhoneValidation: 'boolean',\n },\n derived: {\n countryCallingCode: {\n deps: ['countryCode'],\n fn: function (countryCode) {\n return '+' + CountryUtil.getCallingCodeForCountry(countryCode);\n }\n },\n fullPhoneNumber: {\n deps: ['countryCallingCode', 'phoneNumber'],\n fn: function (countryCallingCode, phoneNumber) {\n return phoneNumber ? (countryCallingCode + phoneNumber) : '';\n }\n },\n enrolled: {\n deps: ['lastEnrolledPhoneNumber', 'fullPhoneNumber'],\n fn: function (lastEnrolled, current) {\n return lastEnrolled === current;\n }\n }\n },\n limitResending: function () {\n this.set({ableToResend: false});\n _.delay(_.bind(this.set, this), Enums.API_RATE_LIMIT, {ableToResend: true});\n },\n sendCode: function () {\n var self = this;\n var phoneNumber = this.get('fullPhoneNumber');\n var phoneExtension = this.get('phoneExtension');\n\n self.trigger('errors:clear');\n\n if(!phoneNumber.length) {\n self.trigger('invalid', self, {'phoneNumber': 'model.validation.field.blank'});\n return;\n }\n\n return this.doTransaction(function (transaction) {\n var isMfaEnroll = transaction.status === 'MFA_ENROLL' || transaction.status === 'FACTOR_ENROLL';\n var profileData = {\n phoneNumber: phoneNumber,\n updatePhone: isMfaEnroll ? self.get('hasExistingPhones') : true\n };\n if (isCallFactor(self.get('factorType'))) {\n profileData['phoneExtension'] = phoneExtension;\n }\n\n if (self.get('skipPhoneValidation')) {\n profileData['validatePhone'] = false;\n }\n\n var doEnroll = function (trans) {\n var factor = _.findWhere(trans.factors, {\n factorType: self.get('factorType'),\n provider: 'OKTA'\n });\n return factor.enroll({\n profile: profileData\n })\n .fail(function (error) {\n if(error.errorCode === 'E0000098') { // E0000098: \"This phone number is invalid.\"\n self.set('skipPhoneValidation', true);\n error.xhr.responseJSON.errorSummary = Okta.loc('enroll.sms.try_again', 'login');\n }\n throw error;\n });\n };\n\n if (isMfaEnroll) {\n return doEnroll(transaction);\n }\n else {\n // We must transition to MfaEnroll before updating the phone number\n self.set('trapEnrollment', true);\n return transaction.prev()\n .then(doEnroll)\n .then(function (trans) {\n self.set('trapEnrollment', false);\n return trans;\n });\n }\n // Rethrow errors so we can change state\n // AFTER setting the new transaction\n }, true)\n .then(function () {\n self.set('lastEnrolledPhoneNumber', phoneNumber);\n self.limitResending();\n })\n .fail(function () {\n self.set('ableToResend', true);\n self.set('trapEnrollment', false);\n });\n },\n resendCode: function () {\n this.trigger('errors:clear');\n this.limitResending();\n return this.doTransaction(function (transaction) {\n return transaction.resend(this.get('factorType'));\n });\n },\n save: function () {\n return this.doTransaction(function (transaction) {\n return transaction.activate({\n passCode: this.get('passCode')\n });\n });\n }\n },\n\n Form: function () {\n var factorType = this.options.factorType;\n var isCall = isCallFactor(factorType);\n var formTitle = Okta.loc(isCall ? 'enroll.call.setup' : 'enroll.sms.setup', 'login');\n var formSubmit = Okta.loc(isCall ? 'mfa.call' : 'mfa.sendCode', 'login');\n var formRetry = Okta.loc(isCall ? 'mfa.redial' : 'mfa.resendCode', 'login');\n var formSubmitted = Okta.loc(isCall ? 'mfa.calling' : 'mfa.sent', 'login');\n var numberFieldClassName = isCall ? 'enroll-call-phone' : 'enroll-sms-phone';\n var buttonClassName = isCall ? 'call-request-button' : 'sms-request-button';\n\n var formChildren = [\n FormType.Input({\n name: 'countryCode',\n type: 'select',\n wide: true,\n options: CountryUtil.getCountries()\n }),\n FormType.Input({\n label: Okta.loc('mfa.phoneNumber.placeholder', 'login'),\n 'label-top': true,\n className: numberFieldClassName,\n name: 'phoneNumber',\n input: PhoneTextBox,\n type: 'text',\n render: function () {\n this.$('input[name=\"phoneNumber\"]')\n .off('keydown keyup', sendCode)\n .keydown(sendCode)\n .keyup({model: this.model}, sendCode);\n }\n })\n ];\n if (isCall) {\n formChildren.push(FormType.Input({\n label: Okta.loc('mfa.phoneNumber.ext.placeholder', 'login'),\n 'label-top': true,\n className: 'enroll-call-extension',\n name: 'phoneExtension',\n input: TextBox,\n type: 'text'\n }));\n }\n formChildren.push(\n FormType.Button({\n title: formSubmit,\n attributes: { 'data-se': buttonClassName },\n className: 'button button-primary js-enroll-phone margin-top-30 ' + buttonClassName,\n click: function () {\n this.model.sendCode();\n }\n }),\n FormType.Button({\n title: formRetry,\n attributes: { 'data-se': buttonClassName },\n className: 'button js-enroll-phone margin-top-30 ' + buttonClassName,\n click: function () {\n this.model.resendCode();\n },\n initialize: function () {\n this.$el.css({display: 'none'});\n this.listenTo(this.model, 'change:ableToResend', function (model, ableToResend) {\n if (ableToResend) {\n this.options.title = formRetry;\n this.enable();\n } else {\n this.options.title = formSubmitted;\n this.disable();\n }\n this.render();\n });\n }\n }),\n FormType.Divider({\n showWhen: factorIdIsDefined\n }),\n FormType.Input({\n label: Okta.loc('mfa.challenge.enterCode.placeholder', 'login'),\n 'label-top': true,\n explain: Util.createInputExplain(\n 'mfa.challenge.enterCode.tooltip',\n 'mfa.challenge.enterCode.placeholder',\n 'login'),\n 'explain-top': true,\n name: 'passCode',\n input: TextBox,\n type: 'tel',\n showWhen: factorIdIsDefined\n }),\n FormType.Toolbar({\n noCancelButton: true,\n save: Okta.loc('mfa.challenge.verify', 'login'),\n showWhen: factorIdIsDefined\n })\n );\n\n return {\n title: formTitle,\n noButtonBar: true,\n autoSave: true,\n className: getClassName(factorType),\n\n showWarning: function (msg) {\n this.clearWarnings();\n this.add(warningTemplate, '.o-form-error-container', {options: {warning: msg}});\n },\n \n clearWarnings: function () {\n this.$('.okta-form-infobox-warning').remove();\n },\n\n initialize: function () {\n this.listenTo(this.model, 'change:ableToResend', function (model, ableToResend) {\n if (ableToResend) {\n this.showWarning(Okta.loc(isCall ? 'factor.call.time.warning' : 'factor.sms.time.warning', 'login'));\n } else {\n this.clearWarnings();\n }\n });\n this.listenTo(this.model, 'error errors:clear', function () {\n this.clearWarnings();\n this.clearErrors();\n });\n this.listenTo(this.model, 'change:enrolled', function () {\n this.$('.js-enroll-phone').toggle();\n });\n },\n formChildren: formChildren\n };\n },\n\n Footer: Footer,\n\n trapAuthResponse: function () {\n if (this.options.appState.get('isMfaEnrollActivate')) {\n this.model.set('factorId', this.options.appState.get('activatedFactorId'));\n return true;\n }\n if (this.options.appState.get('isMfaEnroll') && this.model.get('trapEnrollment')) {\n return true;\n }\n },\n\n initialize: function () {\n if (isCallFactor(this.options.factorType)) {\n this.model.set('hasExistingPhones', this.options.appState.get('hasExistingPhonesForCall'));\n } else {\n this.model.set('hasExistingPhones', this.options.appState.get('hasExistingPhones'));\n }\n this.model.set('factorType', this.options.factorType);\n }\n\n });\n\n});\n\n\n\n// WEBPACK FOOTER //\n// ./src/EnrollCallAndSmsController.js","/*!\n * Copyright (c) 2015-2016, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n/* eslint max-len:0 */\n\ndefine({\n 'US': '1',\n 'AG': '1',\n 'AI': '1',\n 'AS': '1',\n 'BB': '1',\n 'BM': '1',\n 'BS': '1',\n 'CA': '1',\n 'DM': '1',\n 'DO': '1',\n 'GD': '1',\n 'GU': '1',\n 'JM': '1',\n 'KN': '1',\n 'KY': '1',\n 'LC': '1',\n 'MP': '1',\n 'MS': '1',\n 'PR': '1',\n 'SX': '1',\n 'TC': '1',\n 'TT': '1',\n 'VC': '1',\n 'VG': '1',\n 'VI': '1',\n 'RU': '7',\n 'KZ': '7',\n 'EG': '20',\n 'ZA': '27',\n 'GR': '30',\n 'NL': '31',\n 'BE': '32',\n 'FR': '33',\n 'ES': '34',\n 'HU': '36',\n 'IT': '39',\n 'VA': '39',\n 'RO': '40',\n 'CH': '41',\n 'AT': '43',\n 'GB': '44',\n 'GG': '44',\n 'IM': '44',\n 'JE': '44',\n 'DK': '45',\n 'SE': '46',\n 'NO': '47',\n 'SJ': '47',\n 'PL': '48',\n 'DE': '49',\n 'PE': '51',\n 'MX': '52',\n 'CU': '53',\n 'AR': '54',\n 'BR': '55',\n 'CL': '56',\n 'CO': '57',\n 'VE': '58',\n 'MY': '60',\n 'AU': '61',\n 'CC': '61',\n 'CX': '61',\n 'ID': '62',\n 'PH': '63',\n 'NZ': '64',\n 'SG': '65',\n 'TH': '66',\n 'JP': '81',\n 'KR': '82',\n 'VN': '84',\n 'CN': '86',\n 'TR': '90',\n 'IN': '91',\n 'PK': '92',\n 'AF': '93',\n 'LK': '94',\n 'MM': '95',\n 'IR': '98',\n 'SS': '211',\n 'MA': '212',\n 'EH': '212',\n 'DZ': '213',\n 'TN': '216',\n 'LY': '218',\n 'GM': '220',\n 'SN': '221',\n 'MR': '222',\n 'ML': '223',\n 'GN': '224',\n 'CI': '225',\n 'BF': '226',\n 'NE': '227',\n 'TG': '228',\n 'BJ': '229',\n 'MU': '230',\n 'LR': '231',\n 'SL': '232',\n 'GH': '233',\n 'NG': '234',\n 'TD': '235',\n 'CF': '236',\n 'CM': '237',\n 'CV': '238',\n 'ST': '239',\n 'GQ': '240',\n 'GA': '241',\n 'CG': '242',\n 'CD': '243',\n 'AO': '244',\n 'GW': '245',\n 'IO': '246',\n 'AC': '247',\n 'SC': '248',\n 'SD': '249',\n 'RW': '250',\n 'ET': '251',\n 'SO': '252',\n 'DJ': '253',\n 'KE': '254',\n 'TZ': '255',\n 'UG': '256',\n 'BI': '257',\n 'MZ': '258',\n 'ZM': '260',\n 'MG': '261',\n 'RE': '262',\n 'YT': '262',\n 'ZW': '263',\n 'NA': '264',\n 'MW': '265',\n 'LS': '266',\n 'BW': '267',\n 'SZ': '268',\n 'KM': '269',\n 'SH': '290',\n 'TA': '290',\n 'ER': '291',\n 'AW': '297',\n 'FO': '298',\n 'GL': '299',\n 'GI': '350',\n 'PT': '351',\n 'LU': '352',\n 'IE': '353',\n 'IS': '354',\n 'AL': '355',\n 'MT': '356',\n 'CY': '357',\n 'FI': '358',\n 'AX': '358',\n 'BG': '359',\n 'LT': '370',\n 'LV': '371',\n 'EE': '372',\n 'MD': '373',\n 'AM': '374',\n 'BY': '375',\n 'AD': '376',\n 'MC': '377',\n 'SM': '378',\n 'UA': '380',\n 'RS': '381',\n 'ME': '382',\n 'XK': '383',\n 'HR': '385',\n 'SI': '386',\n 'BA': '387',\n 'MK': '389',\n 'CZ': '420',\n 'SK': '421',\n 'LI': '423',\n 'FK': '500',\n 'BZ': '501',\n 'GT': '502',\n 'SV': '503',\n 'HN': '504',\n 'NI': '505',\n 'CR': '506',\n 'PA': '507',\n 'PM': '508',\n 'HT': '509',\n 'GP': '590',\n 'BL': '590',\n 'MF': '590',\n 'BO': '591',\n 'GY': '592',\n 'EC': '593',\n 'GF': '594',\n 'PY': '595',\n 'MQ': '596',\n 'SR': '597',\n 'UY': '598',\n 'CW': '599',\n 'BQ': '599',\n 'TL': '670',\n 'NF': '672',\n 'BN': '673',\n 'NR': '674',\n 'PG': '675',\n 'TO': '676',\n 'SB': '677',\n 'VU': '678',\n 'FJ': '679',\n 'PW': '680',\n 'WF': '681',\n 'CK': '682',\n 'NU': '683',\n 'WS': '685',\n 'KI': '686',\n 'NC': '687',\n 'TV': '688',\n 'PF': '689',\n 'TK': '690',\n 'FM': '691',\n 'MH': '692',\n '001': '979',\n 'KP': '850',\n 'HK': '852',\n 'MO': '853',\n 'KH': '855',\n 'LA': '856',\n 'BD': '880',\n 'TW': '886',\n 'MV': '960',\n 'LB': '961',\n 'JO': '962',\n 'SY': '963',\n 'IQ': '964',\n 'KW': '965',\n 'SA': '966',\n 'YE': '967',\n 'OM': '968',\n 'PS': '970',\n 'AE': '971',\n 'IL': '972',\n 'BH': '973',\n 'QA': '974',\n 'BT': '975',\n 'MN': '976',\n 'NP': '977',\n 'TJ': '992',\n 'TM': '993',\n 'AZ': '994',\n 'GE': '995',\n 'KG': '996',\n 'UZ': '998',\n 'GS': '500',\n 'PN': '64',\n 'AQ': '672',\n 'UM': '1',\n 'AN': '599'\n});\n\n\n// WEBPACK FOOTER //\n// ./src/util/countryCallingCodes.js","/*!\n * Copyright (c) 2015-present, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\ndefine([\n 'okta',\n 'util/FormController',\n 'views/enroll-factors/Footer',\n 'util/FormType',\n],\nfunction (Okta, FormController, Footer, FormType) {\n\n var _ = Okta._;\n\n const Model = {\n local: {\n factorType: 'string',\n provider: 'string',\n },\n save: function () {\n this.trigger('save');\n const factorOpt = this.pick('factorType', 'provider');\n return this.doTransaction(function (transaction) {\n var factor = _.findWhere(transaction.factors, factorOpt);\n return factor.enroll();\n });\n }\n };\n\n const Form = function () {\n return {\n title: _.partial(Okta.loc, 'email.enroll.title', 'login'),\n noButtonBar: false,\n autoSave: true,\n save: _.partial(Okta.loc, 'email.button.send', 'login'),\n formChildren: [\n FormType.View({\n View: Okta.View.extend({\n attributes: {\n 'data-se': 'enroll-email-content'\n },\n template: '{{i18n code=\"email.enroll.description\" bundle=\"login\"}}'\n })\n }),\n ]\n };\n };\n\n return FormController.extend({\n\n className: 'enroll-email',\n\n Model: Model,\n\n Form: Form,\n\n Footer: Footer,\n\n initialize: function () {\n this.model.set(_.pick(this.options, 'factorType', 'provider'));\n }\n\n });\n\n});\n\n\n\n// WEBPACK FOOTER //\n// ./src/EnrollEmailController.js","/*!\n * Copyright (c) 2015-present, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\ndefine([\n 'okta',\n 'util/FormController',\n 'views/enroll-factors/Footer',\n 'views/ResendEmailView',\n 'util/FormType',\n], function (Okta, FormController, Footer, ResendEmailView, FormType) {\n\n var _ = Okta._;\n\n const Model = {\n props: {\n passCode: 'string',\n },\n\n resend: function () {\n this.trigger('form:clear-errors');\n return this.doTransaction(function (transaction) {\n // authn support multiple `resend` hence has to specify name.\n return transaction.resend('email');\n });\n },\n\n save: function () {\n this.trigger('save');\n const formData = this.toJSON();\n return this.doTransaction(function (transaction) {\n return transaction.activate(formData);\n });\n }\n };\n\n const Form = function () {\n return {\n title: _.partial(Okta.loc, 'email.enroll.title', 'login'),\n noButtonBar: false,\n autoSave: true,\n save: _.partial(Okta.loc, 'oform.verify', 'login'),\n formChildren: [\n // message\n FormType.View({\n View: Okta.View.extend({\n className: 'enroll-activate-email-content',\n attributes: {\n 'data-se': 'enroll-activate-email-content',\n },\n\n // Why use `{{{` for the description?\n // - factorEmail is actually an HTML fragment which\n // is created via another handlebar template and used for bold the email address.\n template: '{{{i18n code=\"email.mfa.email.sent.description\" bundle=\"login\" arguments=\"factorEmail\"}}}',\n\n getTemplateData: function () {\n const factor = this.options.appState.get('factor');\n const factorEmailVal = factor && factor.profile ? factor.profile.email : '';\n const factorEmail = Okta.tpl('<span class=\"mask-email\">{{email}}</span>')({email: factorEmailVal });\n return {\n factorEmail,\n };\n },\n\n })\n }),\n // send again callout message and link button\n FormType.View({\n View: ResendEmailView,\n }),\n // passcode input\n FormType.Input({\n label: Okta.loc('email.code.label', 'login'),\n 'label-top': true,\n name: 'passCode',\n type: 'text',\n wide: true,\n }),\n ]\n };\n };\n\n return FormController.extend({\n\n className: 'enroll-activate-email',\n\n Model: Model,\n\n Form: Form,\n\n Footer: Footer,\n\n });\n\n});\n\n\n\n// WEBPACK FOOTER //\n// ./src/EnrollActivateEmailController.js","/*!\n * Copyright (c) 2015-2016, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n\ndefine([\n 'okta',\n 'util/FormType',\n 'util/FormController',\n 'util/Util',\n 'views/enroll-factors/Footer',\n 'views/shared/TextBox'\n],\nfunction (Okta, FormType, FormController, Util, Footer, TextBox) {\n\n var _ = Okta._;\n\n function isRSA (provider) {\n return provider === 'RSA';\n }\n\n function getClassName (provider) {\n return isRSA(provider) ? 'enroll-rsa' : 'enroll-onprem';\n }\n\n return FormController.extend({\n className: function () {\n return getClassName(this.options.provider);\n },\n Model: function () {\n var provider = this.options.provider;\n var factors = this.options.appState.get('factors');\n var factor = factors.findWhere(_.pick(this.options, 'provider', 'factorType'));\n var profile = factor.get('profile');\n var credentialId = (profile && profile.credentialId) ? profile.credentialId : '';\n return {\n props: {\n credentialId: ['string', true, credentialId],\n passCode: ['string', true],\n factorId: 'string'\n },\n save: function () {\n return this.doTransaction(function (transaction) {\n var factor = _.findWhere(transaction.factors, {\n factorType: 'token',\n provider: provider\n });\n return factor.enroll({\n passCode: this.get('passCode'),\n profile: {credentialId: this.get('credentialId')}\n });\n });\n }\n };\n },\n\n Form: function () {\n var provider = this.options.provider;\n var factors = this.options.appState.get('factors');\n var factor = factors.findWhere(_.pick(this.options, 'provider', 'factorType'));\n var vendorName = factor.get('vendorName');\n var title = isRSA(provider) ? Okta.loc('factor.totpHard.rsaSecurId', 'login') : vendorName;\n\n return {\n title: title,\n noButtonBar: true,\n autoSave: true,\n className: getClassName(provider),\n initialize: function () {\n this.listenTo(this.model, 'error', _.bind(function (source, error) {\n if (error && error.status === 409) {\n // 409 means we are in change pin, so we should clear out answer input\n this.$('.o-form-input-name-passCode input').val('');\n this.$('.o-form-input-name-passCode input').trigger('change');\n this.$('.o-form-input-name-passCode input').focus();\n }\n }, this));\n },\n formChildren: [\n FormType.Input({\n label: Okta.loc('enroll.onprem.username.placeholder', 'login', [vendorName]),\n 'label-top': true,\n explain: Util.createInputExplain(\n 'enroll.onprem.username.tooltip',\n 'enroll.onprem.username.placeholder',\n 'login',\n [vendorName],\n [vendorName]),\n 'explain-top': true,\n name: 'credentialId',\n input: TextBox,\n type: 'text'\n }),\n FormType.Input({\n label: Okta.loc('enroll.onprem.passcode.placeholder', 'login', [vendorName]),\n 'label-top': true,\n explain: Util.createInputExplain(\n 'enroll.onprem.passcode.tooltip',\n 'enroll.onprem.passcode.placeholder',\n 'login',\n [vendorName],\n [vendorName]),\n 'explain-top': true,\n name: 'passCode',\n input: TextBox,\n type: 'password'\n }),\n FormType.Toolbar({\n noCancelButton: true,\n save: Okta.loc('mfa.challenge.verify', 'login')\n })\n ]\n };\n },\n\n Footer: Footer\n\n });\n\n});\n\n\n\n// WEBPACK FOOTER //\n// ./src/EnrollOnPremController.js","/*!\n * Copyright (c) 2015-2016, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n\ndefine([\n 'okta',\n 'util/FormType',\n 'util/FormController',\n 'util/Util',\n 'views/enroll-factors/Footer',\n 'views/shared/TextBox'],\nfunction (Okta, FormType, FormController, Util, Footer, TextBox) {\n\n var _ = Okta._;\n\n return FormController.extend({\n className: 'enroll-symantec',\n Model: {\n props: {\n credentialId: ['string', true],\n passCode: ['string', true],\n nextPassCode: ['string', true],\n factorId: 'string'\n },\n save: function () {\n return this.doTransaction(function (transaction) {\n\n var factor = _.findWhere(transaction.factors, {\n factorType: 'token',\n provider: 'SYMANTEC'\n });\n return factor.enroll({\n passCode: this.get('passCode'),\n nextPassCode: this.get('nextPassCode'),\n profile: {credentialId: this.get('credentialId')}\n });\n });\n }\n },\n\n Form: {\n title: _.partial(Okta.loc, 'factor.totpHard.symantecVip', 'login'),\n subtitle: _.partial(Okta.loc, 'enroll.symantecVip.subtitle', 'login'),\n noButtonBar: true,\n autoSave: true,\n className: 'enroll-symantec',\n formChildren: function () {\n return [\n FormType.Input({\n label: Okta.loc('enroll.symantecVip.credentialId.placeholder', 'login'),\n 'label-top': true,\n explain: Util.createInputExplain(\n 'enroll.symantecVip.credentialId.tooltip',\n 'enroll.symantecVip.credentialId.placeholder',\n 'login'),\n 'explain-top': true,\n name: 'credentialId',\n input: TextBox,\n type: 'text'\n }),\n FormType.Input({\n label: Okta.loc('enroll.symantecVip.passcode1.placeholder', 'login'),\n 'label-top': true,\n explain: Util.createInputExplain(\n 'enroll.symantecVip.passcode1.tooltip',\n 'enroll.symantecVip.passcode1.placeholder',\n 'login'),\n 'explain-top': true,\n name: 'passCode',\n input: TextBox,\n type: 'text'\n }),\n FormType.Input({\n label: Okta.loc('enroll.symantecVip.passcode2.placeholder', 'login'),\n 'label-top': true,\n explain: Util.createInputExplain(\n 'enroll.symantecVip.passcode2.tooltip',\n 'enroll.symantecVip.passcode2.placeholder',\n 'login'),\n 'explain-top': true,\n name: 'nextPassCode',\n input: TextBox,\n type: 'text'\n }),\n FormType.Toolbar({\n noCancelButton: true,\n save: Okta.loc('mfa.challenge.verify', 'login')\n })\n ];\n }\n },\n\n Footer: Footer\n\n });\n\n});\n\n\n\n// WEBPACK FOOTER //\n// ./src/EnrollSymantecVipController.js","/*!\n * Copyright (c) 2015-2016, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n\ndefine([\n 'okta',\n 'util/FormType',\n 'util/FormController',\n 'views/enroll-factors/Footer',\n 'views/shared/TextBox'\n],\nfunction (Okta, FormType, FormController, Footer, TextBox) {\n\n var _ = Okta._;\n\n return FormController.extend({\n className: 'enroll-yubikey',\n Model: {\n props: {\n passCode: ['string', true],\n factorId: 'string'\n },\n save: function () {\n return this.doTransaction(function (transaction) {\n var factor = _.findWhere(transaction.factors, {\n factorType: 'token:hardware',\n provider: 'YUBICO'\n });\n return factor.enroll({\n passCode: this.get('passCode')\n });\n });\n }\n },\n\n Form: {\n title: _.partial(Okta.loc, 'enroll.yubikey.title', 'login'),\n subtitle: _.partial(Okta.loc, 'enroll.yubikey.subtitle', 'login'),\n noCancelButton: true,\n save: _.partial(Okta.loc, 'mfa.challenge.verify', 'login'),\n autoSave: true,\n className: 'enroll-yubikey',\n formChildren: [\n FormType.View({\n View: '<div class=\"yubikey-demo\" data-type=\"yubikey-example\"></div>'\n }),\n FormType.Input({\n name: 'passCode',\n input: TextBox,\n type: 'password'\n })\n ]\n },\n\n Footer: Footer\n });\n\n});\n\n\n\n// WEBPACK FOOTER //\n// ./src/EnrollYubikeyController.js","/*!\n * Copyright (c) 2015-2016, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n\ndefine([\n 'okta',\n 'util/FactorUtil',\n 'util/FormController',\n 'util/FormType',\n 'util/RouterUtil',\n 'util/StoreLinks',\n 'views/enroll-factors/BarcodeView',\n 'views/enroll-factors/Footer'\n],\nfunction (Okta, FactorUtil, FormController, FormType,\n RouterUtil, StoreLinks, BarcodeView, Footer) {\n\n var _ = Okta._;\n\n var showWhenDeviceTypeSelected = {\n '__deviceType__': function (val) {\n return val !== undefined;\n }\n };\n\n var AppDownloadInstructionsView = Okta.View.extend({\n attributes: { 'data-se': 'app-download-instructions' },\n className: 'app-download-instructions',\n template: '\\\n <span class=\"app-logo {{appIcon}}\"></span>\\\n <p class=\"instructions\">{{{appStoreLinkText}}}</p>\\\n ',\n initialize: function () {\n this.listenTo(this.model, 'change:__deviceType__', this.render);\n },\n getTemplateData: function () {\n var appStoreLink, appIcon, appStoreName;\n var factorName = FactorUtil.getFactorLabel(this.model.get('__provider__'), this.model.get('__factorType__'));\n appStoreName = StoreLinks.STORE[this.model.get('__deviceType__')];\n if (this.model.get('__provider__') === 'GOOGLE') {\n appStoreLink = StoreLinks.GOOGLE[this.model.get('__deviceType__')];\n appIcon = 'google-auth-38';\n } else {\n appStoreLink = StoreLinks.OKTA[this.model.get('__deviceType__')];\n appIcon = 'okta-verify-38';\n }\n return {\n appStoreLinkText: Okta.loc('enroll.totp.downloadApp',\n 'login', [appStoreLink, factorName, appStoreName]),\n appIcon: appIcon\n };\n }\n });\n\n var EnrollTotpController = FormController.extend({\n className: 'enroll-totp',\n Model: function () {\n return {\n local: {\n '__deviceType__': 'string',\n '__factorType__': ['string', false, this.options.factorType],\n '__provider__': ['string', false, this.options.provider]\n },\n save: function () {\n return this.doTransaction(function (transaction) {\n var factor = _.findWhere(transaction.factors, {\n factorType: this.get('__factorType__'),\n provider: this.get('__provider__')\n });\n return factor.enroll();\n });\n }\n };\n },\n\n Form: {\n title: function () {\n var factorName = FactorUtil.getFactorLabel(this.model.get('__provider__'), this.model.get('__factorType__'));\n return Okta.loc('enroll.totp.title', 'login', [factorName]);\n },\n subtitle: _.partial(Okta.loc, 'enroll.totp.selectDevice', 'login'),\n autoSave: true,\n noButtonBar: true,\n attributes: { 'data-se': 'step-device-type' },\n\n formChildren: function () {\n var inputOptions = {\n APPLE: Okta.loc('iphone', 'login'),\n ANDROID: Okta.loc('android', 'login')\n };\n\n var children = [\n FormType.Input({\n name: '__deviceType__',\n type: 'radio',\n options: inputOptions\n }),\n\n FormType.Divider({showWhen: showWhenDeviceTypeSelected}),\n\n FormType.View({\n View: AppDownloadInstructionsView,\n showWhen: showWhenDeviceTypeSelected\n }),\n\n FormType.Toolbar({\n noCancelButton: true,\n save: Okta.loc('oform.next', 'login'),\n showWhen: showWhenDeviceTypeSelected\n })\n ];\n\n return children;\n }\n },\n\n Footer: Footer\n\n });\n\n return EnrollTotpController;\n\n});\n\n\n\n// WEBPACK FOOTER //\n// ./src/EnrollTotpController.js","/*!\n * Copyright (c) 2015-2016, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n\ndefine({\n OKTA: {\n APPLE: 'https://itunes.apple.com/us/app/okta-verify/id490179405',\n ANDROID: 'https://play.google.com/store/apps/details?id=com.okta.android.auth'\n },\n GOOGLE: {\n APPLE: 'https://itunes.apple.com/us/app/google-authenticator/id388497605',\n ANDROID: 'https://play.google.com/store/apps/details?id=com.google.android.apps.authenticator2'\n },\n STORE: {\n APPLE: 'App Store',\n ANDROID: 'Google Play Store'\n }\n});\n\n\n\n// WEBPACK FOOTER //\n// ./src/util/StoreLinks.js","/*!\n * Copyright (c) 2015-2016, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n\n/* global u2f */\n\ndefine([\n 'okta',\n 'util/Errors',\n 'util/FormType',\n 'util/FormController',\n 'util/FidoUtil',\n 'views/enroll-factors/Footer',\n 'q',\n 'views/mfa-verify/HtmlErrorMessageView',\n 'u2f-api-polyfill'\n],\nfunction (Okta, Errors, FormType, FormController, FidoUtil, Footer, Q, HtmlErrorMessageView) {\n\n var _ = Okta._;\n\n return FormController.extend({\n className: 'enroll-u2f',\n Model: {\n local: {\n '__enrolled__': 'boolean'\n },\n\n save: function () {\n this.trigger('request');\n\n if (this.get('__enrolled__')) {\n return this.activate();\n }\n\n return this.doTransaction(function (transaction) {\n var factor = _.findWhere(transaction.factors, {\n factorType: 'u2f',\n provider: 'FIDO'\n });\n return factor.enroll();\n });\n },\n\n activate: function () {\n this.set('__enrolled__', true);\n this.trigger('errors:clear');\n\n return this.doTransaction(function (transaction) {\n var activation = transaction.factor.activation;\n var appId = activation.appId;\n var registerRequests = [{\n version: FidoUtil.getU2fVersion(),\n challenge: activation.nonce\n }];\n var self = this;\n var deferred = Q.defer();\n u2f.register(appId, registerRequests, [], function (data) {\n self.trigger('errors:clear');\n if (data.errorCode && data.errorCode !== 0) {\n deferred.reject(\n new Errors.U2FError({\n xhr: {\n responseJSON: {\n errorSummary: FidoUtil.getU2fEnrollErrorMessageByCode(data.errorCode)\n }\n }\n })\n );\n } else {\n deferred.resolve(transaction.activate({\n registrationData: data.registrationData,\n version: data.version,\n challenge: data.challenge,\n clientData: data.clientData\n }));\n }\n });\n return deferred.promise;\n });\n }\n },\n\n Form: {\n title: _.partial(Okta.loc, 'enroll.u2f.title', 'login'),\n save: _.partial(Okta.loc, 'enroll.u2f.save', 'login'),\n noCancelButton: true,\n hasSavingState: false,\n autoSave: true,\n className: 'enroll-u2f-form',\n noButtonBar: function () {\n return !FidoUtil.isU2fAvailable();\n },\n modelEvents: {\n 'request': '_startEnrollment',\n 'error': '_stopEnrollment'\n },\n formChildren: function () {\n var result = [];\n\n if (!FidoUtil.isU2fAvailable()) {\n var errorMessageKey = 'u2f.error.factorNotSupported';\n if (this.options.appState.get('factors').length === 1) {\n errorMessageKey = 'u2f.error.factorNotSupported.oneFactor';\n }\n result.push(FormType.View(\n {View: new HtmlErrorMessageView({message: Okta.loc(errorMessageKey, 'login')})},\n {selector: '.o-form-error-container'}\n ));\n }\n else {\n //There is html in enroll.u2f.general2 in our properties file, reason why is unescaped\n result.push(FormType.View({\n View: '<div class=\"u2f-instructions\"><ol>\\\n <li>{{{i18n code=\"enroll.u2f.general2\" bundle=\"login\"}}}</li>\\\n <li>{{i18n code=\"enroll.u2f.general3\" bundle=\"login\"}}</li>\\\n </ol></div>'\n }));\n\n result.push(FormType.View({\n View: '\\\n <div class=\"u2f-enroll-text hide\">\\\n <p>{{i18n code=\"enroll.u2f.instructions\" bundle=\"login\"}}</p>\\\n <p>{{i18n code=\"enroll.u2f.instructionsBluetooth\" bundle=\"login\"}}</p>\\\n <div data-se=\"u2f-devices\" class=\"u2f-devices-images\">\\\n <div class=\"u2f-usb\"></div>\\\n <div class=\"u2f-bluetooth\"></div>\\\n </div>\\\n <div data-se=\"u2f-waiting\" class=\"okta-waiting-spinner\"></div>\\\n </div>'\n }));\n }\n\n return result;\n },\n\n _startEnrollment: function () {\n this.$('.u2f-instructions').addClass('hide');\n this.$('.u2f-enroll-text').removeClass('hide');\n this.$('.o-form-button-bar').hide();\n },\n\n _stopEnrollment: function () {\n this.$('.u2f-instructions').removeClass('hide');\n this.$('.u2f-enroll-text').addClass('hide');\n this.$('.o-form-button-bar').show();\n }\n },\n\n Footer: Footer,\n\n trapAuthResponse: function () {\n if (this.options.appState.get('isMfaEnrollActivate')) {\n this.model.activate();\n return true;\n }\n }\n });\n\n});\n\n\n\n// WEBPACK FOOTER //\n// ./src/EnrollU2FController.js","/*!\n * Copyright (c) 2015-2016, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n\ndefine([\n 'okta',\n 'util/Errors',\n 'util/FormType',\n 'util/FormController',\n 'util/CryptoUtil',\n 'util/webauthn',\n 'views/enroll-factors/Footer',\n 'q',\n 'views/mfa-verify/HtmlErrorMessageView',\n 'util/BrowserFeatures'\n],\nfunction (Okta, Errors, FormType, FormController, CryptoUtil, webauthn, Footer, Q,\n HtmlErrorMessageView, BrowserFeatures) {\n\n var _ = Okta._;\n\n function getExcludeCredentials (credentials) {\n var excludeCredentials = [];\n _.each(credentials, function (credential) {\n excludeCredentials.push({\n type: 'public-key',\n id: CryptoUtil.strToBin(credential.id)\n });\n });\n return excludeCredentials;\n } \n\n return FormController.extend({\n className: 'enroll-webauthn',\n Model: {\n local: {\n '__enrolled__': 'boolean'\n },\n\n save: function () {\n this.trigger('request');\n\n if (this.get('__enrolled__')) {\n return this.activate();\n }\n\n return this.doTransaction(function (transaction) {\n var factor = _.findWhere(transaction.factors, {\n factorType: 'webauthn',\n provider: 'FIDO'\n });\n return factor.enroll();\n });\n },\n\n activate: function () {\n this.set('__enrolled__', true);\n this.trigger('errors:clear');\n this.appState.on('backToFactors', () => {\n if (this.webauthnAbortController) {\n this.webauthnAbortController.abort();\n this.webauthnAbortController = null;\n }\n });\n\n return this.doTransaction(function (transaction) {\n // enroll via browser webauthn js\n var activation = transaction.factor.activation;\n var self = this;\n if (webauthn.isNewApiAvailable()) {\n var options = _.extend({}, activation, {\n challenge: CryptoUtil.strToBin(activation.challenge),\n user: {\n id: CryptoUtil.strToBin(activation.user.id),\n name: activation.user.name,\n displayName: activation.user.displayName\n },\n excludeCredentials: getExcludeCredentials(activation.excludeCredentials)\n });\n self.webauthnAbortController = new AbortController();\n return new Q(navigator.credentials.create({\n publicKey: options,\n signal: self.webauthnAbortController.signal\n }))\n .then(function (newCredential) {\n return transaction.activate({\n attestation: CryptoUtil.binToStr(newCredential.response.attestationObject),\n clientData: CryptoUtil.binToStr(newCredential.response.clientDataJSON)\n });\n })\n .fail(function (error) {\n self.trigger('errors:clear');\n // Do not display if it is abort error triggered by code when switching.\n // self.webauthnAbortController would be null if abort was triggered by code. \n if (!self.webauthnAbortController) {\n throw new Errors.WebauthnAbortError();\n } else {\n throw new Errors.WebAuthnError({\n xhr: {responseJSON: {errorSummary: error.message}}\n });\n }\n }).finally(function () {\n // unset webauthnAbortController on successful authentication or error\n self.webauthnAbortController = null;\n });\n }\n });\n }\n },\n\n Form: {\n title: _.partial(Okta.loc, 'enroll.webauthn.biometric.title', 'login'),\n save: _.partial(Okta.loc, 'enroll.webauthn.save', 'login'),\n noCancelButton: true,\n hasSavingState: false,\n autoSave: true,\n className: 'enroll-webauthn-form',\n noButtonBar: function () {\n return !webauthn.isNewApiAvailable();\n },\n modelEvents: {\n 'request': '_startEnrollment',\n 'error': '_stopEnrollment'\n },\n formChildren: function () {\n var children = [];\n\n if (webauthn.isNewApiAvailable()) {\n //enroll.webauthn.biometric.instructions.edge is unescaped because it contains html\n children.push(FormType.View({\n View: Okta.View.extend({\n className: 'webauthn-enroll-text',\n template: '\\\n <div class=\"webauthn-enroll-instructions\">\\\n <p>{{i18n code=\"enroll.webauthn.biometric.instructions\" bundle=\"login\"}}</p>\\\n </div>\\\n {{#if isEdge}}\\\n <div class=\"webauthn-edge-text\">\\\n <p>{{{i18n code=\"enroll.webauthn.biometric.instructions.edge\" bundle=\"login\"}}}</p>\\\n </div>\\\n {{/if}}\\\n {{#if onlySupportsSecurityKey}}\\\n <div class=\"webauthn-restrictions-text\">\\\n <p>{{{i18n code=\"enroll.webauthn.instructions.noSupportForBiometric\" bundle=\"login\"}}}</p>\\\n </div>\\\n {{/if}}\\\n <div data-se=\"webauthn-waiting\" class=\"okta-waiting-spinner hide\"></div>\\\n ',\n getTemplateData: function () {\n return {\n isEdge: BrowserFeatures.isEdge(),\n onlySupportsSecurityKey: (BrowserFeatures.isFirefox() || BrowserFeatures.isSafari())\n && (BrowserFeatures.isMac())\n };\n }\n })\n }));\n } else {\n var errorMessageKey = 'webauthn.biometric.error.factorNotSupported';\n if (this.options.appState.get('factors').length === 1) {\n errorMessageKey = 'webauthn.biometric.error.factorNotSupported.oneFactor';\n }\n children.push(FormType.View(\n {View: new HtmlErrorMessageView({message: Okta.loc(errorMessageKey, 'login')})},\n {selector: '.o-form-error-container'}\n ));\n }\n\n return children;\n },\n\n _startEnrollment: function () {\n this.$('.okta-waiting-spinner').show();\n this.$('.o-form-button-bar').hide();\n },\n\n _stopEnrollment: function () {\n this.$('.okta-waiting-spinner').hide();\n this.$('.o-form-button-bar').show();\n }\n },\n\n Footer: Footer,\n\n trapAuthResponse: function () {\n if (this.options.appState.get('isMfaEnrollActivate')) {\n this.model.activate();\n return true;\n }\n }\n });\n\n});\n\n\n\n// WEBPACK FOOTER //\n// ./src/EnrollWebauthnController.js","/*!\n * Copyright (c) 2019-2020, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n\ndefine([\n 'okta',\n 'models/Factor',\n 'util/FormType',\n 'EnrollCustomFactorController',\n 'views/mfa-verify/HtmlErrorMessageView',\n],\nfunction (Okta, Factor, FormType, EnrollCustomFactorController, HtmlErrorMessageView) {\n\n var { Util } = Okta.internal.util;\n\n return EnrollCustomFactorController.extend({\n Model: {\n local: {\n provider: 'string',\n factorType: 'string'\n },\n save: function () {\n return this.manageTransaction(() => {\n var url = this.appState.get('enrollCustomFactorRedirectUrl');\n if(url !== null) {\n Util.redirect(url);\n }\n });\n }\n },\n\n Form: function () {\n var factor = new Factor.Model(this.options.appState.get('factor'), this.toJSON());\n var vendorName = factor.get('vendorName');\n var subtitle = Okta.loc('enroll.customFactor.subtitle', 'login', [vendorName]);\n var saveText = Okta.loc('enroll.customFactor.save', 'login');\n return {\n autoSave: true,\n title: vendorName,\n subtitle: subtitle,\n save: saveText,\n formChildren: function () {\n var result = [];\n if (this.options.appState.get('isFactorResultFailed')) {\n result.push(\n FormType.View(\n { View: new HtmlErrorMessageView(\n { message: this.options.appState.get('factorResultErrorMessage') }) },\n { selector: '.o-form-error-container'}\n )\n );\n }\n return result;\n }\n };\n },\n });\n\n});\n\n\n\n// WEBPACK FOOTER //\n// ./src/EnrollActivateCustomFactorController.js","/*!\n * Copyright (c) 2015-2016, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n\ndefine([\n 'okta',\n 'util/FormController',\n 'util/FormType',\n 'views/enroll-factors/Footer',\n 'views/mfa-verify/HtmlErrorMessageView'\n],\nfunction (Okta, FormController, FormType,\n Footer, HtmlErrorMessageView) {\n\n return FormController.extend({\n className: 'enroll-hotp',\n Model: function () {\n return {\n local: {\n '__factorType__': ['string', false, this.options.factorType],\n '__provider__': ['string', false, this.options.provider]\n }\n };\n },\n Form: {\n title: function () {\n const factors = this.options.appState.get('factors');\n const hotpFactor = factors.findWhere({\n provider: this.model.get('__provider__'),\n factorType: this.model.get('__factorType__')\n });\n return Okta.loc('enroll.totp.title', 'login', [hotpFactor.get('factorLabel')]);\n },\n noButtonBar: true,\n attributes: { 'data-se': 'restrict-enroll' },\n\n formChildren: function () {\n const children = [\n FormType.View({\n View: new HtmlErrorMessageView({ message: Okta.loc('enroll.hotp.restricted', 'login') }),\n }),\n ];\n\n return children;\n }\n },\n\n Footer: Footer\n\n });\n\n});\n\n\n\n// WEBPACK FOOTER //\n// ./src/EnrollHotpController.js","/*!\n * Copyright (c) 2015-2016, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n\n/* eslint max-params: [2, 15], max-statements: [2, 18] */\n// BaseLoginRouter contains the more complicated router logic - rendering/\n// transition, etc. Most router changes should happen in LoginRouter (which is\n// responsible for adding new routes)\ndefine([\n 'okta',\n './BrowserFeatures',\n 'models/Settings',\n 'views/shared/Header',\n 'views/shared/SecurityBeacon',\n 'views/shared/AuthContainer',\n 'models/AppState',\n './ColorsUtil',\n './RouterUtil',\n './Animations',\n './Errors',\n './Util',\n './Enums',\n 'util/Bundles',\n 'util/Logger'\n],\nfunction (Okta, BrowserFeatures, Settings,\n Header, SecurityBeacon, AuthContainer, AppState, ColorsUtil, RouterUtil, Animations,\n Errors, Util, Enums, Bundles, Logger) {\n\n var { _, $, Backbone } = Okta;\n\n function isStateLessRouteHandler (router, fn) {\n return _.find(router.stateLessRouteHandlers, function (routeName) {\n return fn === router[routeName];\n });\n }\n\n function beaconIsAvailable (Beacon, settings) {\n if (!Beacon) {\n return false;\n }\n if (Beacon === SecurityBeacon) {\n return settings.get('features.securityImage');\n }\n return true;\n }\n\n function loadLanguage (appState, i18n, assetBaseUrl, assetRewrite) {\n var timeout = setTimeout(function () {\n // Trigger a spinner if we're waiting on a request for a new language.\n appState.trigger('loading', true);\n }, 200);\n return Bundles.loadLanguage(\n appState.get('languageCode'),\n i18n,\n {\n baseUrl: assetBaseUrl,\n rewrite: assetRewrite\n }\n )\n .then(function () {\n clearTimeout(timeout);\n appState.trigger('loading', false);\n });\n }\n\n return Okta.Router.extend({\n Events: Backbone.Events,\n\n initialize: function (options) {\n // Create a default success and/or error handler if\n // one is not provided.\n if (!options.globalSuccessFn) {\n options.globalSuccessFn = function () {};\n }\n if (!options.globalErrorFn) {\n options.globalErrorFn = function (err) {\n Logger.error(err);\n };\n }\n this.settings = new Settings(_.omit(options, 'el', 'authClient'), { parse: true });\n this.settings.setAuthClient(options.authClient);\n\n if (!options.el) {\n this.settings.callGlobalError(new Errors.ConfigError(\n Okta.loc('error.required.el')\n ));\n }\n\n $('body > div').on('click', function () {\n // OKTA-69769 Tooltip wont close on iPhone/iPad\n // Registering a click handler on the first div\n // allows a tap that falls outside the tooltip\n // to be registered as a tap by iOS\n // and then the open tooltip will lose focus and close.\n });\n\n this.appState = new AppState({\n baseUrl: this.settings.get('baseUrl'),\n settings: this.settings\n }, { parse: true });\n\n var wrapper = new AuthContainer({appState: this.appState});\n Okta.$(options.el).append(wrapper.render().$el);\n this.el = `#${Enums.WIDGET_CONTAINER_ID}`;\n\n this.header = new Header({\n el: this.el,\n appState: this.appState,\n settings: this.settings\n });\n\n this.listenTo(this.appState, 'change:transactionError', function (appState, err) {\n RouterUtil.routeAfterAuthStatusChangeError(this, err);\n });\n\n this.listenTo(this.appState, 'change:transaction', function (appState, trans) {\n RouterUtil.routeAfterAuthStatusChange(this, trans.data);\n });\n\n this.listenTo(this.appState, 'navigate', function (url) {\n this.navigate(url, { trigger: true });\n });\n },\n\n execute: function (cb, args) {\n // Recovery flow with a token passed through widget settings\n var recoveryToken = this.settings.get('recoveryToken');\n if (recoveryToken) {\n this.settings.unset('recoveryToken');\n this.navigate(RouterUtil.createRecoveryUrl(recoveryToken), { trigger: true });\n return;\n }\n\n // Refresh flow with a stateToken passed through widget settings\n var stateToken = this.settings.get('stateToken');\n if (stateToken) {\n this.settings.unset('stateToken');\n this.navigate(RouterUtil.createRefreshUrl(stateToken), { trigger: true });\n return;\n }\n\n // Normal flow - we've either navigated to a stateless page, or are\n // in the middle of an auth flow\n var trans = this.appState.get('transaction');\n if ((trans && trans.data) || isStateLessRouteHandler(this, cb)) {\n cb.apply(this, args);\n return;\n }\n\n // StateToken cookie exists on page load, and we are on a stateful url\n if (this.settings.getAuthClient().tx.exists()) {\n this.navigate(RouterUtil.createRefreshUrl(), { trigger: true });\n return;\n }\n\n // We've hit a page that requires state, but have no stateToken - redirect\n // back to primary auth\n this.navigate('', { trigger: true });\n },\n\n // Overriding the default navigate method to allow the widget consumer\n // to \"turn off\" routing - if features.router is false, the browser\n // location bar will not update when the router navigates\n navigate: function (fragment, options) {\n if (this.settings.get('features.router')) {\n return Okta.Router.prototype.navigate.apply(this, arguments);\n }\n if (options && options.trigger) {\n return Backbone.history.loadUrl(fragment);\n }\n },\n\n render: function (Controller, options) {\n options || (options = {});\n\n var Beacon = options.Beacon;\n var controllerOptions = _.extend(\n { settings: this.settings, appState: this.appState },\n _.omit(options, 'Beacon')\n );\n\n // Since we have a wrapper view, render our wrapper and use its content\n // element as our new el.\n // Note: Render it here because we know dom is ready at this point\n if (!this.header.rendered()) {\n this.el = this.header.render().getContentEl();\n }\n\n // If we need to load a language (or apply custom i18n overrides), do\n // this now and re-run render after it's finished.\n if (!Bundles.isLoaded(this.appState.get('languageCode'))) {\n return loadLanguage(\n this.appState,\n this.settings.get('i18n'),\n this.settings.get('assets.baseUrl'),\n this.settings.get('assets.rewrite')\n )\n .then(_.bind(this.render, this, Controller, options))\n .done();\n }\n\n // Load the custom colors only on the first render\n if (this.settings.get('colors.brand') && !ColorsUtil.isLoaded()) {\n var colors = {\n brand: this.settings.get('colors.brand')\n };\n ColorsUtil.addStyle(colors);\n }\n\n var oldController = this.controller;\n this.controller = new Controller(controllerOptions);\n\n // Bubble up all controller events\n this.listenTo(this.controller, 'all', this.trigger);\n\n // First run fetchInitialData, in case the next controller needs data\n // before it's initial render. This will leave the current page in a\n // loading state.\n this.controller.fetchInitialData()\n .then(_.bind(function () {\n\n // Beacon transition occurs in parallel to page swap\n if (!beaconIsAvailable(Beacon, this.settings)) {\n Beacon = null;\n }\n this.header.setBeacon(Beacon, controllerOptions);\n\n this.controller.render();\n\n if (!oldController) {\n this.el.append(this.controller.el);\n this.controller.postRenderAnimation();\n return;\n }\n\n return Animations.swapPages({\n $parent: this.el,\n $oldRoot: oldController.$el,\n $newRoot: this.controller.$el,\n dir: oldController.state.get('navigateDir'),\n ctx: this,\n success: function () {\n var flashError = this.appState.get('flashError'),\n model = this.controller.model;\n oldController.remove();\n oldController.$el.remove();\n this.controller.postRenderAnimation();\n if (flashError) {\n model.trigger('error', model, {\n responseJSON: {\n errorSummary: Okta.loc('error.expired.session')\n }\n });\n this.appState.unset('flashError');\n Util.triggerAfterError(this.controller, flashError);\n }\n }\n });\n\n }, this))\n .fail(function () {\n // OKTA-69665 - if an error occurs in fetchInitialData, we're left in\n // a state with two active controllers. Therefore, we clean up the\n // old one. Note: This explicitly handles the invalid token case -\n // if we get some other type of error which doesn't force a redirect,\n // we will probably be left in a bad state. I.e. old controller is\n // dropped and new controller is not rendered.\n if (oldController) {\n oldController.remove();\n oldController.$el.remove();\n }\n })\n .done();\n\n },\n\n start: function () {\n var pushState = false;\n // Support for browser's back button.\n if (window.addEventListener && this.settings.get('features.router')) {\n window.addEventListener('popstate', _.bind(function (e) {\n if (this.controller.back) {\n e.preventDefault();\n e.stopImmediatePropagation();\n this.controller.back();\n }\n }, this));\n pushState = BrowserFeatures.supportsPushState();\n }\n Okta.Router.prototype.start.call(this, { pushState: pushState });\n },\n\n hide: function () {\n this.header.$el.hide();\n },\n\n show: function () {\n this.header.$el.show();\n },\n\n remove: function () {\n this.controller.remove();\n this.header.$el.remove();\n Bundles.remove();\n Backbone.history.stop();\n }\n\n });\n\n});\n\n\n\n// WEBPACK FOOTER //\n// ./src/util/BaseLoginRouter.js","/*!\n * Copyright (c) 2015-2016, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n\ndefine(['okta'], function (Okta) {\n\n return Okta.View.extend({\n\n template: '\\\n <div class=\"beacon-blank\"/>\\\n <div class=\"bg-helper auth-beacon auth-beacon-security\" data-se=\"loading-beacon\">\\\n <div class=\"okta-sign-in-beacon-border auth-beacon-border js-auth-beacon-border\"/>\\\n </div>\\\n ',\n\n equals: function (Beacon) {\n return Beacon && this instanceof Beacon;\n }\n\n });\n});\n\n\n\n// WEBPACK FOOTER //\n// ./src/views/shared/LoadingBeacon.js","/*!\n * Copyright (c) 2015-2016, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n\ndefine([\n 'okta',\n 'q',\n 'models/Factor',\n 'util/BrowserFeatures',\n 'util/Errors'\n],\nfunction (Okta, Q, Factor, BrowserFeatures, Errors) {\n\n // Keep track of stateMachine with this special model. Some reasons to not\n // keep it generic:\n // 1. We know exactly what we're using appState for by requiring props\n // 2. Can have some derived functions to help us translate the lastAuthRes\n\n var _ = Okta._;\n var $ = Okta.$;\n\n var DEFAULT_APP_LOGO = '/img/logos/default.png';\n var USER_NOT_SEEN_ON_DEVICE = '/img/security/unknown.png';\n var UNDEFINED_USER = '/img/security/default.png';\n var NEW_USER = '/img/security/unknown-device.png';\n var NEW_USER_IMAGE_DESCRIPTION = '';\n var UNDEFINED_USER_IMAGE_DESCRIPTION = '';\n var UNKNOWN_IMAGE_DESCRIPTION = '';\n\n var securityImageUrlTpl = Okta.tpl('{{baseUrl}}/login/getimage?username={{username}}');\n\n function getSecurityImage (baseUrl, username, deviceFingerprint) {\n // When the username is empty, we want to show the default image.\n if (_.isEmpty(username) || _.isUndefined(username)) {\n return Q({\n 'securityImage': UNDEFINED_USER,\n 'securityImageDescription': UNDEFINED_USER_IMAGE_DESCRIPTION\n });\n }\n \n // Reserved characters in the username must be escaped before the query can be safely executed\n username = encodeURIComponent(username);\n var url = securityImageUrlTpl({ baseUrl: baseUrl, username: username });\n\n var data = {\n url: url,\n dataType: 'json'\n };\n if (deviceFingerprint) {\n data['headers']= { 'X-Device-Fingerprint': deviceFingerprint };\n }\n return Q($.ajax(data))\n .then(function (res) {\n if (res.pwdImg === USER_NOT_SEEN_ON_DEVICE) {\n // When we get an unknown.png security image from OKTA,\n // we want to show the unknown-device security image.\n // We are mapping the server's img url to a new one because\n // we still need to support the original login page.\n return {\n 'securityImage': NEW_USER,\n 'securityImageDescription': NEW_USER_IMAGE_DESCRIPTION\n };\n }\n return {\n 'securityImage': res.pwdImg,\n 'securityImageDescription':\n res.imageDescription || UNKNOWN_IMAGE_DESCRIPTION\n };\n });\n }\n\n function getMinutesString (factorLifetimeInMinutes) {\n if (factorLifetimeInMinutes > 60 && factorLifetimeInMinutes <= 1440) {\n var lifetimeInHours = (factorLifetimeInMinutes / 60);\n return Okta.loc('hours', 'login', [lifetimeInHours]);\n } else if (factorLifetimeInMinutes > 1440) {\n var lifetimeInDays = (factorLifetimeInMinutes / 1440);\n return Okta.loc('days', 'login', [lifetimeInDays]);\n }\n //Use minutes as the time unit by default\n if (factorLifetimeInMinutes === 1) {\n return Okta.loc('minutes.oneMinute', 'login');\n }\n return Okta.loc('minutes', 'login', [factorLifetimeInMinutes]);\n }\n\n function getGracePeriodRemainingDays (gracePeriodEndDate) {\n var endDate = new Date(gracePeriodEndDate).getTime();\n var remainingDays = Math.floor((endDate - new Date().getTime()) / (1000 * 3600 * 24));\n return remainingDays;\n }\n\n function combineFactorsObjects (factorTypes, factors) {\n var addedFactorTypes = [];\n var combinedFactors = [];\n _.each(factors, function (factor) {\n var factorType = factor.factorType;\n if (!_.contains(addedFactorTypes, factorType)) {\n var factorTypeObj = _.findWhere(factorTypes, {factorType: factorType});\n if (factorTypeObj) {\n addedFactorTypes.push(factorType);\n combinedFactors.push(factorTypeObj);\n }\n else {\n combinedFactors.push(factor);\n }\n }\n });\n return combinedFactors;\n }\n\n return Okta.Model.extend({\n\n initialize: function () {\n // Handle this in initialize (as opposed to a derived property) because\n // the operation is asynchronous\n if (this.settings.get('features.securityImage')) {\n var self = this;\n this.listenTo(this, 'change:username', function (model, username) {\n getSecurityImage(this.get('baseUrl'), username, this.get('deviceFingerprint'))\n .then(function (image) {\n model.set('securityImage', image.securityImage);\n model.set('securityImageDescription', image.securityImageDescription);\n model.unset('deviceFingerprint'); //Fingerprint can only be used once\n })\n .fail(function (jqXhr) {\n // Only notify the consumer on a CORS error\n if (BrowserFeatures.corsIsNotEnabled(jqXhr)) {\n self.settings.callGlobalError(new Errors.UnsupportedBrowserError(\n Okta.loc('error.enabled.cors')\n ));\n }\n else {\n throw jqXhr;\n }\n })\n .done();\n });\n }\n },\n\n local: {\n baseUrl: 'string',\n lastAuthResponse: ['object', true, {}],\n transaction: 'object',\n transactionError: 'object',\n introspectSuccess: 'object', // only set during introspection\n introspectError: 'object', // only set during introspection\n username: 'string',\n factors: 'object',\n policy: 'object',\n securityImage: ['string', true, UNDEFINED_USER],\n securityImageDescription:\n ['string', true, UNDEFINED_USER_IMAGE_DESCRIPTION],\n userCountryCode: 'string',\n userPhoneNumber: 'string',\n factorActivationType: 'string',\n flashError: 'object',\n beaconType: 'string',\n deviceFingerprint: 'string', // valid only once\n typingPattern: 'string',\n // Note: languageCode is special in that it is shared between Settings\n // and AppState. Settings is the *configured* language, and is static.\n // AppState is the dynamic language state - it can be changed via a\n // language picker, etc.\n languageCode: ['string', true],\n disableUsername: ['boolean', false, false],\n trapMfaRequiredResponse: ['boolean', false, false],\n lastFailedChallengeFactorData: ['object', false]\n },\n\n setAuthResponse: function (res) {\n // Because of MFA_CHALLENGE (i.e. DUO), we need to remember factors\n // across auth responses. Not doing this, for example, results in being\n // unable to switch away from the duo factor dropdown.\n if (res._embedded && res._embedded.policy) {\n this.set('policy', res._embedded.policy);\n }\n\n if (res._embedded && res._embedded.factors) {\n var factors = res._embedded.factors;\n if (res._embedded.factorTypes) {\n factors = combineFactorsObjects(res._embedded.factorTypes, factors);\n }\n\n var factorsObject = _.map(factors, (factor) => {\n factor.settings = this.settings;\n factor.appState = this;\n return factor;\n });\n this.set('factors', new Factor.Collection(factorsObject, { parse: true }));\n }\n\n this.set('lastAuthResponse', res);\n },\n\n clearLastAuthResponse: function () {\n this.set('lastAuthResponse', {});\n },\n\n setLastFailedChallengeFactorData: function () {\n this.set('lastFailedChallengeFactorData', {\n factor: this.get('factor'),\n errorMessage: this.get('factorResultErrorMessage'),\n });\n },\n\n clearLastFailedChallengeFactorData: function () {\n this.unset('lastFailedChallengeFactorData');\n },\n\n derived: {\n 'isSuccessResponse': {\n deps: ['lastAuthResponse'],\n fn: function (res) {\n return res.status === 'SUCCESS';\n }\n },\n 'isMfaRequired': {\n deps: ['lastAuthResponse'],\n fn: function (res) {\n return res.status === 'MFA_REQUIRED' || res.status === 'FACTOR_REQUIRED';\n }\n },\n 'isProfileRequired': {\n deps: ['lastAuthResponse'],\n fn: function (res) {\n return res.status === 'PROFILE_REQUIRED';\n }\n },\n 'isMfaEnroll': {\n deps: ['lastAuthResponse'],\n fn: function (res) {\n return res.status === 'MFA_ENROLL' || res.status === 'FACTOR_ENROLL';\n }\n },\n 'isMfaChallenge': {\n deps: ['lastAuthResponse'],\n fn: function (res) {\n return res.status === 'MFA_CHALLENGE' || res.status === 'FACTOR_CHALLENGE';\n }\n },\n 'isUnauthenticated': {\n deps: ['lastAuthResponse'],\n fn: function (res) {\n return res.status === 'UNAUTHENTICATED';\n }\n },\n 'isMfaRejectedByUser': {\n // MFA failures are usually error responses\n // except in the case of Okta Push, when a\n // user clicks 'deny' on his phone.\n deps: ['lastAuthResponse'],\n fn: function (res) {\n return res.factorResult === 'REJECTED';\n }\n },\n 'isMfaTimeout': {\n deps: ['lastAuthResponse'],\n fn: function (res) {\n return res.factorResult === 'TIMEOUT';\n }\n },\n 'isMfaEnrollActivate': {\n deps: ['lastAuthResponse'],\n fn: function (res) {\n return res.status === 'MFA_ENROLL_ACTIVATE' || res.status === 'FACTOR_ENROLL_ACTIVATE';\n }\n },\n 'isWaitingForActivation': {\n deps: ['isMfaEnrollActivate', 'lastAuthResponse'],\n fn: function (isMfaEnrollActivate, res) {\n return isMfaEnrollActivate && res.factorResult === 'WAITING';\n }\n },\n 'isWaitingForNumberChallenge': {\n deps: ['lastAuthResponse', 'isMfaChallenge'],\n fn: function (res, isMfaChallenge) {\n if (isMfaChallenge && res && res.factorResult === 'WAITING'\n && res._embedded\n && res._embedded.factor\n && res._embedded.factor._embedded\n && res._embedded.factor._embedded.challenge) {\n return true;\n }\n return false;\n }\n },\n 'hasMultipleFactorsAvailable': {\n deps: ['factors', 'isMfaRequired', 'isMfaChallenge', 'isUnauthenticated'],\n fn: function (factors, isMfaRequired, isMfaChallenge, isUnauthenticated) {\n if (!isMfaRequired && !isMfaChallenge && !isUnauthenticated) {\n return false;\n }\n return factors && factors.length > 1;\n }\n },\n 'promptForFactorInUnauthenticated': {\n deps: ['lastAuthResponse', 'factors'],\n fn: function (res, factors) {\n if (res.status !== 'UNAUTHENTICATED') {\n return false;\n }\n return factors && factors.length > 0;\n }\n },\n 'userId': {\n deps: ['lastAuthResponse'],\n fn: function (res) {\n if (!res._embedded || !res._embedded.user) {\n return null;\n }\n return res._embedded.user.id;\n }\n },\n 'isIdxStateToken': {\n deps: ['lastAuthResponse'],\n fn: function (res) {\n return res && _.isString(res.stateToken) && res.stateToken.startsWith('01');\n }\n },\n 'isPwdExpiringSoon': {\n deps: ['lastAuthResponse'],\n fn: function (res) {\n return res.status === 'PASSWORD_WARN';\n }\n },\n 'passwordExpireDays': {\n deps: ['lastAuthResponse'],\n fn: function (res) {\n if (!res._embedded || !res._embedded.policy || !res._embedded.policy.expiration) {\n return null;\n }\n return res._embedded.policy.expiration.passwordExpireDays;\n }\n },\n 'isPwdManagedByOkta': {\n deps: ['lastAuthResponse'],\n fn: function (res) {\n if (!res._links || !res._links.next || !res._links.next.title) {\n return true;\n }\n return false;\n }\n },\n 'passwordExpiredWebsiteName': {\n deps: ['lastAuthResponse'],\n fn: function (res) {\n if (!res._links || !res._links.next || !res._links.next.title) {\n return null;\n }\n return res._links.next.title;\n }\n },\n 'passwordExpiredLinkUrl': {\n deps: ['lastAuthResponse'],\n fn: function (res) {\n if (!res._links || !res._links.next || !res._links.next.title || !res._links.next.href) {\n return null;\n }\n return res._links.next.href;\n }\n },\n 'recoveryType': {\n deps: ['lastAuthResponse'],\n fn: function (res) {\n return res.recoveryType;\n }\n },\n 'factorType': {\n deps: ['lastAuthResponse'],\n fn: function (res) {\n return res.factorType;\n }\n },\n 'factor': {\n deps: ['lastAuthResponse'],\n fn: function (res) {\n if (!res._embedded || !res._embedded.factor) {\n return null;\n }\n return res._embedded.factor;\n }\n },\n 'activatedFactorId': {\n deps: ['factor'],\n fn: function (factor) {\n return factor ? factor.id : null;\n }\n },\n 'activatedFactorType': {\n deps: ['factor'],\n fn: function (factor) {\n return factor ? factor.factorType : null;\n }\n },\n 'activatedFactorProvider': {\n deps: ['factor'],\n fn: function (factor) {\n return factor ? factor.provider : null;\n }\n },\n 'qrcode': {\n deps: ['factor'],\n fn: function (factor) {\n try {\n return factor._embedded.activation._links.qrcode.href;\n } catch (err) {\n return null;\n }\n }\n },\n 'activationSendLinks': {\n deps: ['factor'],\n fn: function (factor) {\n var sendLinks;\n try {\n sendLinks = factor._embedded.activation._links.send;\n } catch (err) {\n sendLinks = [];\n }\n return sendLinks;\n }\n },\n 'textActivationLinkUrl': {\n deps: ['activationSendLinks'],\n fn: function (activationSendLinks) {\n var item = _.findWhere(activationSendLinks, {name: 'sms'});\n return item ? item.href : null;\n }\n },\n 'emailActivationLinkUrl': {\n deps: ['activationSendLinks'],\n fn: function (activationSendLinks) {\n var item = _.findWhere(activationSendLinks, {name: 'email'});\n return item ? item.href : null;\n }\n },\n 'sharedSecret': {\n deps: ['factor'],\n fn: function (factor) {\n try {\n return factor._embedded.activation.sharedSecret;\n } catch (err) {\n return null;\n }\n }\n },\n 'duoEnrollActivation': {\n deps: ['factor'],\n fn: function (factor) {\n if (!factor || !factor._embedded || !factor._embedded.activation) {\n return null;\n }\n return factor._embedded.activation;\n }\n },\n 'prevLink': {\n deps: ['lastAuthResponse'],\n fn: function (res) {\n if (res._links && res._links.prev) {\n return res._links.prev.href;\n }\n return null;\n }\n },\n 'skipLink': {\n deps: ['lastAuthResponse'],\n fn: function (res) {\n if (res._links && res._links.skip) {\n return res._links.skip.href;\n }\n return null;\n }\n },\n 'gracePeriodRemainingDays': {\n deps: ['policy'],\n fn: function (policy) {\n if (policy && policy.gracePeriod && policy.gracePeriod.endDate) {\n return getGracePeriodRemainingDays(policy.gracePeriod.endDate);\n }\n return null;\n }\n },\n 'user': {\n deps: ['lastAuthResponse'],\n fn: function (res) {\n if (!res._embedded || !res._embedded.user) {\n return null;\n }\n return res._embedded.user;\n }\n },\n 'recoveryQuestion': {\n deps: ['user'],\n fn: function (user) {\n if (!user || !user.recovery_question) {\n return null;\n }\n return user.recovery_question.question;\n }\n },\n 'userProfile': {\n deps: ['user'],\n fn: function (user) {\n if (!user || !user.profile) {\n return null;\n }\n return user.profile;\n }\n },\n 'userConsentName': {\n deps: ['userProfile', 'username'],\n fn: function (userProfile, username) {\n if (!userProfile || _.isEmpty(userProfile.firstName)) {\n return username;\n }\n if (_.isEmpty(userProfile.lastName)) {\n return userProfile.firstName;\n }\n return userProfile.firstName + ' ' + userProfile.lastName.charAt(0) + '.';\n }\n },\n 'userEmail': {\n deps: ['userProfile'],\n fn: function (userProfile) {\n if (!userProfile || !userProfile.login) {\n return null;\n }\n return userProfile.login;\n }\n },\n 'userFullName': {\n deps: ['userProfile'],\n fn: function (userProfile) {\n if (!userProfile || (!userProfile.firstName && !userProfile.lastName)) {\n return '';\n }\n return userProfile.firstName + ' ' + userProfile.lastName;\n }\n },\n 'defaultAppLogo' : {\n deps: ['baseUrl'],\n fn: function (baseUrl) {\n return baseUrl + DEFAULT_APP_LOGO;\n }\n },\n 'expiresAt': {\n deps: ['lastAuthResponse'],\n fn: function (res) {\n return res.expiresAt;\n }\n },\n 'target': {\n deps: ['lastAuthResponse'],\n fn: function (res) {\n if (!res._embedded) {\n return null;\n }\n return res._embedded.target;\n }\n },\n 'targetLabel': {\n deps: ['target'],\n fn: function (target) {\n if (!target) {\n return null;\n }\n return target.label;\n }\n },\n 'targetLogo': {\n deps: ['target'],\n fn: function (target) {\n if (!target || !target._links) {\n return null;\n }\n return target._links.logo;\n }\n },\n 'targetTermsOfService': {\n deps: ['target'],\n fn: function (target) {\n if (!target || !target._links) {\n return null;\n }\n return target._links['terms-of-service'];\n }\n },\n 'targetPrivacyPolicy': {\n deps: ['target'],\n fn: function (target) {\n if (!target || !target._links) {\n return null;\n }\n return target._links['privacy-policy'];\n }\n },\n 'targetClientURI': {\n deps: ['target'],\n fn: function (target) {\n if (!target || !target._links) {\n return null;\n }\n return target._links['client-uri'];\n }\n },\n 'scopes': {\n deps: ['lastAuthResponse'],\n fn: function (res) {\n if (!res._embedded) {\n return null;\n }\n return res._embedded.scopes;\n }\n },\n 'hasExistingPhones': {\n deps: ['lastAuthResponse'],\n fn: function (res) {\n if (!res._embedded || !res._embedded.factors) {\n return false;\n }\n var factors = res._embedded.factors;\n var factor = _.findWhere(factors, {factorType: 'sms', provider: 'OKTA'});\n if (!factor || !factor._embedded) {\n return false;\n }\n\n return !!factor._embedded.phones.length;\n }\n },\n 'hasExistingPhonesForCall': {\n deps: ['lastAuthResponse'],\n fn: function (res) {\n if (!res._embedded || !res._embedded.factors) {\n return false;\n }\n var factors = res._embedded.factors;\n var factor = _.findWhere(factors, {factorType: 'call', provider: 'OKTA'});\n if (!factor || !factor._embedded) {\n return false;\n }\n\n return !!factor._embedded.phones.length;\n }\n },\n 'isUndefinedUser': {\n deps: ['securityImage'],\n fn: function (securityImage) {\n return (securityImage === UNDEFINED_USER);\n }\n },\n 'isNewUser': {\n deps: ['securityImage'],\n fn: function (securityImage) {\n return (securityImage === NEW_USER);\n }\n },\n 'allowRememberDevice': {\n deps: ['policy'],\n fn: function (policy) {\n return policy && policy.allowRememberDevice;\n }\n },\n 'rememberDeviceLabel': {\n deps: ['policy'],\n fn: function (policy) {\n if (policy && policy.rememberDeviceLifetimeInMinutes > 0) {\n var timeString = getMinutesString(policy.rememberDeviceLifetimeInMinutes);\n return Okta.loc('rememberDevice.timebased', 'login', [timeString]);\n } else if (policy && policy.rememberDeviceLifetimeInMinutes === 0) {\n return Okta.loc('rememberDevice.devicebased', 'login');\n }\n return Okta.loc('rememberDevice', 'login');\n }\n },\n 'rememberDeviceByDefault': {\n deps: ['policy'],\n fn: function (policy) {\n return policy && policy.rememberDeviceByDefault;\n }\n },\n 'factorsPolicyInfo' : {\n deps: ['policy'],\n fn: function (policy) {\n return (policy && policy.factorsPolicyInfo) ? policy.factorsPolicyInfo: null;\n }\n },\n 'verifyCustomFactorRedirectUrl': {\n deps: ['lastAuthResponse'],\n fn: function (res) {\n if (!res._links || !res._links.next || res._links.next.name !== 'redirect' || !res._links.next.href) {\n return null;\n }\n return res._links.next.href;\n }\n },\n 'enrollCustomFactorRedirectUrl': {\n deps: ['lastAuthResponse'],\n fn: function (res) {\n if (!res._links || !res._links.next || res._links.next.name !== 'activate' || !res._links.next.href) {\n return null;\n }\n return res._links.next.href;\n }\n },\n 'isFactorResultFailed': {\n deps: ['lastAuthResponse'],\n fn: function (res) {\n return res.factorResult === 'FAILED';\n }\n },\n 'factorResultErrorMessage': {\n deps: ['lastAuthResponse', 'isFactorResultFailed'],\n fn: function (res, isFactorResultFailed) {\n if (isFactorResultFailed) {\n return res.factorResultMessage || Okta.loc('oform.error.unexpected', 'login');\n }\n return null;\n }\n },\n },\n\n parse: function (options) {\n this.settings = options.settings;\n return _.extend(\n _.omit(options, 'settings'),\n { languageCode: this.settings.get('languageCode' )}\n );\n }\n\n });\n\n});\n\n\n\n// WEBPACK FOOTER //\n// ./src/models/AppState.js","/*!\n * Copyright (c) 2015-2016, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n\ndefine([\n 'okta',\n 'util/FactorUtil',\n 'util/FormController',\n 'util/FormType',\n 'util/RouterUtil',\n 'views/enroll-factors/BarcodeView',\n 'views/enroll-factors/Footer'\n],\nfunction (Okta, FactorUtil, FormController, FormType, RouterUtil, BarcodeView, Footer) {\n\n var _ = Okta._;\n\n // Note: Keep-alive is set to 5 seconds - using 5 seconds here will result\n // in network connection lost errors in Safari and IE.\n var PUSH_INTERVAL = 6000;\n\n return FormController.extend({\n className: 'barcode-push',\n Model: function () {\n return {\n local: {\n '__factorType__': ['string', false, this.options.factorType],\n '__provider__': ['string', false, this.options.provider]\n }\n };\n },\n\n Form: {\n title: function () {\n var factorName = FactorUtil.getFactorLabel(this.model.get('__provider__'), this.model.get('__factorType__'));\n return Okta.loc('enroll.totp.title', 'login', [factorName]);\n },\n subtitle: _.partial(Okta.loc, 'mfa.scanBarcode', 'login'),\n noButtonBar: true,\n attributes: { 'data-se': 'step-scan' },\n className: 'barcode-scan',\n initialize: function () {\n this.listenTo(this.model, 'error errors:clear', function () {\n this.clearErrors();\n });\n },\n\n formChildren: [\n FormType.View({View: BarcodeView})\n ]\n },\n\n Footer: Footer,\n\n initialize: function () {\n this.pollForEnrollment();\n },\n\n pollForEnrollment: function () {\n return this.model.doTransaction(function (transaction) {\n return transaction.poll(PUSH_INTERVAL);\n });\n },\n\n trapAuthResponse: function () {\n if (this.options.appState.get('isMfaEnrollActivate')) {\n return true;\n }\n }\n });\n\n});\n\n\n\n// WEBPACK FOOTER //\n// ./src/BarcodePushController.js","/*!\n * Copyright (c) 2015-2016, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n\ndefine([\n 'okta',\n 'util/FormController',\n 'views/enroll-factors/EnterPasscodeForm',\n 'views/enroll-factors/Footer'\n],\nfunction (Okta, FormController, EnterPasscodeForm, Footer) {\n\n return FormController.extend({\n className: 'activate-totp',\n Model: function () {\n return {\n props: {\n factorId: ['string', true, this.options.appState.get('activatedFactorId')],\n passCode: ['string', true]\n },\n local: {\n '__factorType__': ['string', false, this.options.factorType],\n '__provider__': ['string', false, this.options.provider]\n },\n save: function () {\n return this.doTransaction(function (transaction) {\n return transaction.activate({\n passCode: this.get('passCode')\n });\n });\n }\n };\n },\n\n Form: EnterPasscodeForm,\n\n Footer: Footer\n\n });\n\n});\n\n\n\n// WEBPACK FOOTER //\n// ./src/ActivateTotpController.js","/*!\n * Copyright (c) 2015-2016, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n\ndefine([\n 'okta',\n 'util/FactorUtil',\n 'util/FormController',\n 'util/FormType',\n 'util/RouterUtil',\n 'views/enroll-factors/ManualSetupFooter',\n 'views/shared/TextBox'\n],\nfunction (Okta, FactorUtil, FormController, FormType, RouterUtil, ManualSetupFooter, TextBox) {\n\n var _ = Okta._;\n\n return FormController.extend({\n className: 'enroll-manual-totp',\n Model: function () {\n return {\n local: {\n 'sharedSecret': ['string', false, this.options.appState.get('sharedSecret')],\n '__factorType__': ['string', false, this.options.factorType],\n '__provider__': ['string', false, this.options.provider]\n }\n };\n },\n\n Form: {\n title: function () {\n var factorName = FactorUtil.getFactorLabel(this.model.get('__provider__'), this.model.get('__factorType__'));\n return Okta.loc('enroll.totp.title', 'login', [factorName]);\n },\n subtitle: _.partial(Okta.loc, 'enroll.totp.cannotScanBarcode', 'login'),\n noButtonBar: true,\n attributes: { 'data-se': 'step-manual-setup' },\n\n formChildren: function () {\n var instructions = this.settings.get('brandName') ?\n Okta.loc('enroll.totp.manualSetupInstructions.specific', 'login', [this.settings.get('brandName')]) :\n Okta.loc('enroll.totp.manualSetupInstructions.generic', 'login');\n return [\n FormType.View({\n View: Okta.View.extend({\n template: '\\\n <p class=\"okta-form-subtitle o-form-explain text-align-c\">\\\n {{instructions}}\\\n </p>\\\n ',\n getTemplateData: function () {\n return {\n instructions: instructions\n };\n }\n })\n }),\n\n FormType.Input({\n name: 'sharedSecret',\n input: TextBox,\n type: 'text',\n disabled: true\n }),\n\n FormType.Toolbar({\n noCancelButton: true,\n save: Okta.loc('oform.next', 'login')\n })\n ];\n }\n },\n\n Footer: ManualSetupFooter,\n\n initialize: function () {\n this.listenTo(this.form, 'save', function () {\n var url = RouterUtil.createActivateFactorUrl(this.model.get('__provider__'),\n this.model.get('__factorType__'), 'activate');\n this.options.appState.trigger('navigate', url);\n });\n }\n });\n\n});\n\n\n\n// WEBPACK FOOTER //\n// ./src/ManualSetupTotpController.js","/*!\n * Copyright (c) 2015-2016, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n\ndefine([\n 'okta',\n 'util/RouterUtil',\n 'util/Enums'\n],\nfunction (Okta, RouterUtil, Enums) {\n\n return Okta.View.extend({\n template: '\\\n <a href=\"#\" class=\"link help js-back\" data-se=\"back-link\">\\\n {{i18n code=\"mfa.backToFactors\" bundle=\"login\"}}\\\n </a>\\\n <a href=\"#\" class=\"link help goto js-goto\" data-se=\"goto-link\">\\\n {{i18n code=\"mfa.scanBarcode\" bundle=\"login\"}}\\\n </a>\\\n ',\n className: 'auth-footer',\n events: {\n 'click .js-back' : function (e) {\n e.preventDefault();\n this.back();\n },\n 'click .js-goto' : function (e) {\n e.preventDefault();\n // go to a different screen with current auth status:\n // refresh the latest response\n this.model.startTransaction(function (authClient) {\n return authClient.tx.resume();\n });\n }\n },\n back: function () {\n this.state.set('navigateDir', Enums.DIRECTION_BACK);\n if (this.options.appState.get('prevLink')) {\n // Once we are in the MFA_ENROLL_ACTIVATE, we need to reset to the\n // correct state. Fortunately, this means that the router will\n // handle navigation once the request is finished.\n this.model.doTransaction(function (transaction) {\n return transaction.prev();\n });\n }\n else {\n this.options.appState.trigger('navigate', 'signin/enroll');\n }\n }\n });\n\n});\n\n\n\n// WEBPACK FOOTER //\n// ./src/views/enroll-factors/ManualSetupFooter.js","/*!\n * Copyright (c) 2015-2016, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n\ndefine([\n 'okta',\n 'util/CountryUtil',\n 'util/FactorUtil',\n 'util/FormController',\n 'util/FormType',\n 'util/RouterUtil',\n 'views/enroll-factors/ManualSetupPushFooter',\n 'views/enroll-factors/PhoneTextBox',\n 'views/shared/TextBox'\n],\nfunction (Okta, CountryUtil, FactorUtil, FormController, FormType, RouterUtil,\n Footer, PhoneTextBox, TextBox) {\n\n var _ = Okta._;\n\n function goToFactorActivation (view, step) {\n var url = RouterUtil.createActivateFactorUrl(view.options.appState.get('activatedFactorProvider'),\n view.options.appState.get('activatedFactorType'), step);\n view.options.appState.trigger('navigate', url);\n }\n\n function setStateValues (view) {\n var userPhoneNumber, userCountryCode;\n if (view.model.get('activationType') === 'SMS') {\n userCountryCode = view.model.get('countryCode');\n userPhoneNumber = view.model.get('phoneNumber');\n }\n view.options.appState.set({\n factorActivationType: view.model.get('activationType'),\n userCountryCode: userCountryCode,\n userPhoneNumber: userPhoneNumber\n });\n }\n\n function enrollFactor (view, factorType) {\n return view.model.doTransaction(function (transaction) {\n return transaction.prev()\n .then(function (trans) {\n var factor = _.findWhere(trans.factors, {\n factorType: factorType,\n provider: 'OKTA'\n });\n return factor.enroll();\n })\n .then(function (trans) {\n var textActivationLinkUrl,\n emailActivationLinkUrl,\n sharedSecret,\n res = trans.data;\n\n if (res &&\n res._embedded &&\n res._embedded.factor &&\n res._embedded.factor._embedded &&\n res._embedded.factor._embedded.activation) {\n\n var factor = res._embedded.factor;\n\n // Shared secret\n sharedSecret = factor._embedded.activation.sharedSecret;\n\n if (factor._embedded.activation._links &&\n factor._embedded.activation._links.send) {\n\n var activationSendLinks = factor._embedded.activation._links.send;\n\n // SMS activation url\n var smsItem = _.findWhere(activationSendLinks, {name: 'sms'});\n textActivationLinkUrl = smsItem ? smsItem.href : null;\n\n // Email activation url\n var emailItem = _.findWhere(activationSendLinks, {name: 'email'});\n emailActivationLinkUrl = emailItem ? emailItem.href : null;\n }\n }\n\n view.model.set({\n 'SMS': textActivationLinkUrl,\n 'EMAIL': emailActivationLinkUrl,\n 'sharedSecret': sharedSecret\n });\n\n return trans;\n });\n });\n }\n\n return FormController.extend({\n className: 'enroll-manual-push',\n Model: function () {\n return {\n local: {\n activationType: ['string', true, this.options.appState.get('factorActivationType') || 'SMS'],\n countryCode: ['string', false, 'US'],\n phoneNumber: 'string',\n 'SMS': ['string', false, this.options.appState.get('textActivationLinkUrl')],\n 'EMAIL': ['string', false, this.options.appState.get('emailActivationLinkUrl')],\n 'sharedSecret': ['string', false, this.options.appState.get('sharedSecret')],\n '__factorType__': ['string', false, this.options.factorType],\n '__provider__': ['string', false, this.options.provider]\n },\n derived: {\n countryCallingCode: {\n deps: ['countryCode'],\n fn: function (countryCode) {\n return '+' + CountryUtil.getCallingCodeForCountry(countryCode);\n }\n },\n fullPhoneNumber: {\n deps: ['countryCallingCode', 'phoneNumber'],\n fn: function (countryCallingCode, phoneNumber) {\n return countryCallingCode + phoneNumber;\n }\n }\n }\n };\n },\n\n Form: {\n title: function () {\n var factorName = FactorUtil.getFactorLabel(this.model.get('__provider__'), this.model.get('__factorType__'));\n return Okta.loc('enroll.totp.title', 'login', [factorName]);\n },\n subtitle: _.partial(Okta.loc, 'enroll.totp.cannotScanBarcode', 'login'),\n noButtonBar: true,\n attributes: { 'data-se': 'step-manual-setup' },\n\n formChildren: function () {\n var instructions = this.settings.get('brandName') ?\n Okta.loc('enroll.totp.sharedSecretInstructions.specific', 'login', [this.settings.get('brandName')]) :\n Okta.loc('enroll.totp.sharedSecretInstructions.generic', 'login');\n var children = [\n FormType.Input({\n name: 'activationType',\n type: 'select',\n wide: true,\n options: {\n SMS: Okta.loc('enroll.totp.sendSms', 'login'),\n EMAIL: Okta.loc('enroll.totp.sendEmail', 'login'),\n MANUAL: Okta.loc('enroll.totp.setupManually', 'login')\n }\n }),\n\n FormType.Input({\n name: 'countryCode',\n type: 'select',\n wide: true,\n options: CountryUtil.getCountries(),\n showWhen: {activationType: 'SMS'}\n }),\n\n FormType.Input({\n label: Okta.loc('mfa.phoneNumber.placeholder', 'login'),\n 'label-top': true,\n className: 'enroll-sms-phone',\n name: 'phoneNumber',\n input: PhoneTextBox,\n type: 'text',\n showWhen: {activationType: 'SMS'}\n }),\n\n FormType.View({\n View: Okta.View.extend({\n template: '\\\n <p class=\"okta-form-subtitle o-form-explain text-align-c\">\\\n {{instructions}}\\\n </p>\\\n ',\n getTemplateData: function () {\n return {\n instructions: instructions\n };\n }\n }),\n showWhen: {activationType: 'MANUAL'}\n }),\n\n FormType.Input({\n name: 'sharedSecret',\n input: TextBox,\n type: 'text',\n disabled: true,\n showWhen: {activationType: 'MANUAL'},\n initialize: function () {\n this.listenTo(this.model, 'change:sharedSecret', this.render);\n }\n }),\n\n FormType.View({\n View: '<div data-type=\"next-button-wrap\"></div>',\n showWhen: {activationType: 'MANUAL'}\n }),\n\n FormType.Button({\n title: Okta.loc('oform.next', 'login'),\n className: 'button button-primary button-wide button-next',\n attributes: {'data-se': 'next-button'},\n click: _.bind(function () {\n setStateValues(this);\n goToFactorActivation(this, 'passcode');\n }, this)\n }, '[data-type=\"next-button-wrap\"]'),\n\n FormType.Toolbar({\n noCancelButton: true,\n save: Okta.loc('oform.send', 'login'),\n showWhen: {\n activationType: function (val) {\n return val === 'SMS' || val === 'EMAIL';\n }\n }\n })\n ];\n return children;\n }\n },\n\n Footer: Footer,\n\n initialize: function () {\n this.setInitialModel();\n // Move this logic to a model when AuthClient supports sending email and sms\n this.listenTo(this.form, 'save', function () {\n var self = this;\n this.model.doTransaction(function (transaction) {\n var activationType = this.get('activationType').toLowerCase(),\n opts = {};\n\n if (activationType === 'sms') {\n opts.profile = {phoneNumber: this.get('fullPhoneNumber')};\n }\n\n return transaction.factor.activation.send(activationType, opts)\n .then(function (trans) {\n setStateValues(self);\n // Note: Need to defer because OktaAuth calls our router success\n // handler on the next tick - if we immediately called, appState would\n // still be populated with the last response\n _.defer(function () {\n goToFactorActivation(self, 'sent');\n });\n return trans;\n });\n });\n });\n\n this.listenTo(this.model, 'change:activationType', function (model, value) {\n this.form.clearErrors();\n if (value === 'MANUAL' && this.options.appState.get('activatedFactorType') !== 'token:software:totp') {\n enrollFactor(this, 'token:software:totp');\n } else if (this.options.appState.get('activatedFactorType') !== 'push') {\n enrollFactor(this, 'push');\n }\n });\n },\n\n setInitialModel: function () {\n if (this.options.appState.get('factorActivationType') === 'SMS') {\n this.model.set({\n countryCode: this.options.appState.get('userCountryCode') || 'US',\n phoneNumber: this.options.appState.get('userPhoneNumber')\n });\n }\n },\n\n trapAuthResponse: function () {\n if (this.options.appState.get('isMfaEnrollActivate') ||\n this.options.appState.get('isMfaEnroll')) {\n return true;\n }\n }\n });\n\n});\n\n\n\n// WEBPACK FOOTER //\n// ./src/ManualSetupPushController.js","/*!\n * Copyright (c) 2015-2016, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n\ndefine(['okta', 'util/RouterUtil'], function (Okta, RouterUtil) {\n\n var _ = Okta._;\n\n function goToFactorActivation (appState) {\n var url = RouterUtil.createActivateFactorUrl(appState.get('activatedFactorProvider'),\n appState.get('activatedFactorType'));\n appState.trigger('navigate', url);\n }\n\n return Okta.View.extend({\n template: '\\\n <a href=\"#\" class=\"link help js-back\" data-se=\"back-link\">\\\n {{i18n code=\"mfa.backToFactors\" bundle=\"login\"}}\\\n </a>\\\n <a href=\"#\" class=\"link help goto js-goto\" data-se=\"goto-link\">\\\n {{i18n code=\"mfa.scanBarcode\" bundle=\"login\"}}\\\n </a>\\\n ',\n className: 'auth-footer',\n events: {\n 'click .js-back' : function (e) {\n e.preventDefault();\n this.back();\n },\n 'click .js-goto' : function (e) {\n e.preventDefault();\n var goToFactor = _.partial(goToFactorActivation, this.options.appState);\n this.options.appState.unset('factorActivationType');\n this.model.doTransaction(function (transaction) {\n return transaction.prev()\n .then(function (trans) {\n var factor = _.findWhere(trans.factors, {\n factorType: 'push',\n provider: 'OKTA'\n });\n return factor.enroll();\n });\n })\n .then(goToFactor);\n }\n },\n back: function () {\n var self = this;\n self.options.appState.unset('factorActivationType');\n if (self.options.appState.get('prevLink')) {\n this.model.doTransaction(function (transaction) {\n return transaction.prev();\n })\n .then(function () {\n // we trap 'MFA_ENROLL' response that's why we need to trigger navigation from here\n self.options.appState.trigger('navigate', 'signin/enroll');\n });\n }\n else {\n self.options.appState.trigger('navigate', 'signin/enroll');\n }\n }\n });\n\n});\n\n\n\n// WEBPACK FOOTER //\n// ./src/views/enroll-factors/ManualSetupPushFooter.js","/*!\n * Copyright (c) 2015-2016, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n\ndefine([\n 'okta',\n 'util/CountryUtil',\n 'util/FormController',\n 'util/FormType',\n 'util/RouterUtil'\n],\nfunction (Okta, CountryUtil, FormController, FormType, RouterUtil) {\n\n var _ = Okta._;\n\n // Note: Keep-alive is set to 5 seconds - using 5 seconds here will result\n // in network connection lost errors in Safari and IE.\n var PUSH_INTERVAL = 6000;\n\n var Footer = Okta.View.extend({\n template: '\\\n <a href=\"#\" class=\"link help js-back\" data-se=\"back-link\">\\\n {{i18n code=\"oform.back\" bundle=\"login\"}}\\\n </a>\\\n ',\n className: 'auth-footer',\n events: {\n 'click .js-back' : function (e) {\n e.preventDefault();\n this.back();\n }\n },\n back: function () {\n var url = RouterUtil.createActivateFactorUrl(this.options.appState.get('activatedFactorProvider'),\n this.options.appState.get('activatedFactorType'), 'manual');\n this.options.appState.trigger('navigate', url);\n }\n });\n\n var emailSentForm = {\n title: _.partial(Okta.loc, 'enroll.totp.enrollViaEmail.title', 'login'),\n noButtonBar: true,\n attributes: { 'data-se': 'sent-email-activation-link' },\n formChildren: [\n FormType.View({\n View: Okta.View.extend({\n template: '\\\n <p>{{i18n code=\"enroll.totp.enrollViaEmail.msg\" bundle=\"login\"}}</p>\\\n <p class=\"email-address\">{{email}}</p>\\\n ',\n getTemplateData: function () {\n return {email: this.options.appState.get('userEmail')};\n }\n })\n })\n ]\n };\n\n var smsSentForm = {\n title: _.partial(Okta.loc, 'enroll.totp.enrollViaSms.title', 'login'),\n noButtonBar: true,\n attributes: { 'data-se': 'sent-sms-activation-link' },\n formChildren: [\n FormType.View({\n View: Okta.View.extend({\n template: '\\\n <p>{{i18n code=\"enroll.totp.enrollViaSms.msg\" bundle=\"login\"}}</p>\\\n <p class=\"phone-number\">{{phoneNumber}}</p>\\\n ',\n getTemplateData: function () {\n return {phoneNumber: this.model.get('fullPhoneNumber')};\n }\n })\n })\n ]\n };\n\n return FormController.extend({\n className: 'enroll-activation-link-sent',\n Model: function () {\n return {\n local: {\n countryCode: ['string', false, this.options.appState.get('userCountryCode')],\n phoneNumber: ['string', false, this.options.appState.get('userPhoneNumber')],\n '__factorType__': ['string', false, this.options.factorType],\n '__provider__': ['string', false, this.options.provider]\n },\n derived: {\n countryCallingCode: {\n deps: ['countryCode'],\n fn: function (countryCode) {\n return '+' + CountryUtil.getCallingCodeForCountry(countryCode);\n }\n },\n fullPhoneNumber: {\n deps: ['countryCallingCode', 'phoneNumber'],\n fn: function (countryCallingCode, phoneNumber) {\n return countryCallingCode + phoneNumber;\n }\n }\n }\n };\n },\n\n Form: function () {\n var activationType = this.options.appState.get('factorActivationType');\n switch (activationType) {\n case 'SMS':\n return smsSentForm;\n case 'EMAIL':\n return emailSentForm;\n default:\n throw new Error('Unknown activation option: ' + activationType);\n }\n },\n\n Footer: Footer,\n\n initialize: function () {\n this.pollForEnrollment();\n },\n\n remove: function () {\n return FormController.prototype.remove.apply(this, arguments);\n },\n\n pollForEnrollment: function () {\n return this.model.doTransaction(function (transaction) {\n return transaction.poll(PUSH_INTERVAL);\n });\n },\n\n trapAuthResponse: function () {\n if (this.options.appState.get('isWaitingForActivation')) {\n this.pollForEnrollment();\n return true;\n }\n }\n });\n\n});\n\n\n\n// WEBPACK FOOTER //\n// ./src/EnrollmentLinkSentController.js","/*!\n * Copyright (c) 2015-2016, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n\ndefine([\n 'okta',\n 'util/FormController',\n 'util/RouterUtil',\n 'views/enroll-factors/EnterPasscodeForm'\n],\nfunction (Okta, FormController, RouterUtil, EnterPasscodeForm) {\n\n var Footer = Okta.View.extend({\n template: '\\\n <a href=\"#\" class=\"link help js-back\" data-se=\"back-link\">\\\n {{i18n code=\"oform.back\" bundle=\"login\"}}\\\n </a>\\\n ',\n className: 'auth-footer',\n events: {\n 'click .js-back' : function (e) {\n e.preventDefault();\n this.back();\n }\n },\n back: function () {\n var url = RouterUtil.createActivateFactorUrl(this.options.appState.get('activatedFactorProvider'),\n 'push', 'manual');\n this.options.appState.trigger('navigate', url);\n }\n });\n\n return FormController.extend({\n className: 'activate-push',\n Model: function () {\n return {\n props: {\n factorId: ['string', true, this.options.appState.get('activatedFactorId')],\n passCode: ['string', true]\n },\n local: {\n '__factorType__': ['string', false, this.options.factorType],\n '__provider__': ['string', false, this.options.provider]\n },\n save: function () {\n return this.doTransaction(function (transaction) {\n return transaction.activate({\n passCode: this.get('passCode')\n });\n });\n }\n };\n },\n\n Form: EnterPasscodeForm,\n\n Footer: Footer\n\n });\n\n});\n\n\n\n// WEBPACK FOOTER //\n// ./src/EnterPasscodePushFlowController.js","/*!\n * Copyright (c) 2015-2016, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n\ndefine([\n 'okta',\n 'util/FormController',\n 'util/Enums',\n 'util/FormType',\n 'util/ValidationUtil',\n 'util/FactorUtil',\n 'util/Util',\n 'views/expired-password/Footer',\n 'views/shared/TextBox'\n],\nfunction (Okta, FormController, Enums, FormType, ValidationUtil, FactorUtil, Util, Footer, TextBox) {\n\n var _ = Okta._;\n\n return FormController.extend({\n className: 'password-expired',\n Model: {\n props: {\n oldPassword: ['string', true],\n newPassword: ['string', true],\n confirmPassword: ['string', true]\n },\n validate: function () {\n return ValidationUtil.validatePasswordMatch(this);\n },\n save: function () {\n this.trigger('save');\n return this.doTransaction(function (transaction) {\n return transaction.changePassword({\n oldPassword: this.get('oldPassword'),\n newPassword: this.get('newPassword')\n });\n });\n }\n },\n Form: {\n save: _.partial(Okta.loc, 'password.expired.submit', 'login'),\n title: function () {\n var expiringSoon = this.options.appState.get('isPwdExpiringSoon'),\n numDays = this.options.appState.get('passwordExpireDays');\n if (expiringSoon && numDays > 0) {\n return Okta.loc('password.expiring.title', 'login', [numDays]);\n }\n else if (expiringSoon && numDays === 0) {\n return Okta.loc('password.expiring.today', 'login');\n }\n else if (expiringSoon) {\n return Okta.loc('password.expiring.soon', 'login');\n }\n else {\n return this.settings.get('brandName') ?\n Okta.loc('password.expired.title.specific', 'login', [this.settings.get('brandName')]) :\n Okta.loc('password.expired.title.generic', 'login');\n }\n },\n subtitle: function () {\n if (this.options.appState.get('isPwdExpiringSoon')) {\n return this.settings.get('brandName') ?\n Okta.loc('password.expiring.subtitle.specific', 'login', [this.settings.get('brandName')]) :\n Okta.loc('password.expiring.subtitle.generic', 'login');\n }\n\n var policy = this.options.appState.get('policy');\n if (!policy) {\n return;\n }\n\n return FactorUtil.getPasswordComplexityDescription(policy);\n },\n formChildren: function () {\n return [\n FormType.Input({\n 'label-top': true,\n label: Okta.loc('password.oldPassword.placeholder', 'login'),\n explain: Util.createInputExplain(\n 'password.oldPassword.tooltip',\n 'password.oldPassword.placeholder',\n 'login'),\n 'explain-top': true,\n name: 'oldPassword',\n input: TextBox,\n type: 'password'\n }),\n FormType.Divider(),\n FormType.Input({\n className: 'margin-btm-5',\n 'label-top': true,\n label: Okta.loc('password.newPassword.placeholder', 'login'),\n explain: Util.createInputExplain(\n 'password.newPassword.tooltip',\n 'password.newPassword.placeholder',\n 'login'),\n 'explain-top': true,\n name: 'newPassword',\n input: TextBox,\n type: 'password'\n }),\n FormType.Input({\n 'label-top': true,\n label: Okta.loc('password.confirmPassword.placeholder', 'login'),\n explain: Util.createInputExplain(\n 'password.confirmPassword.tooltip',\n 'password.confirmPassword.placeholder',\n 'login'),\n 'explain-top': true,\n name: 'confirmPassword',\n input: TextBox,\n type: 'password'\n })\n ];\n }\n },\n Footer: Footer,\n\n initialize: function () {\n this.listenTo(this.form, 'save', function () {\n var creds = {\n username: this.options.appState.get('userEmail'),\n password: this.model.get('newPassword')\n };\n this.settings.processCreds(creds)\n .then(_.bind(this.model.save, this.model));\n });\n }\n\n });\n\n});\n\n\n\n// WEBPACK FOOTER //\n// ./src/PasswordExpiredController.js","/*!\n * Copyright (c) 2017, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n\ndefine([\n 'okta',\n 'util/FormController',\n 'util/FormType',\n 'views/expired-password/Footer'\n],\nfunction (Okta, FormController, FormType, Footer) {\n\n var _ = Okta._;\n var { Util } = Okta.internal.util;\n\n return FormController.extend({\n className: 'custom-password-expired',\n Model: {},\n Form: {\n noButtonBar: true,\n title: function () {\n var expiringSoon = this.options.appState.get('isPwdExpiringSoon'),\n numDays = this.options.appState.get('passwordExpireDays');\n if (expiringSoon && numDays > 0) {\n return Okta.loc('password.expiring.title', 'login', [numDays]);\n }\n else if (expiringSoon && numDays === 0) {\n return Okta.loc('password.expiring.today', 'login');\n }\n else if (expiringSoon) {\n return Okta.loc('password.expiring.soon', 'login');\n }\n else {\n return this.settings.get('brandName') ?\n Okta.loc('password.expired.title.specific', 'login', [this.settings.get('brandName')]) :\n Okta.loc('password.expired.title.generic', 'login');\n }\n },\n subtitle: function () {\n if (this.options.appState.get('isPwdExpiringSoon')) {\n var subtitle = this.settings.get('brandName') ?\n Okta.loc('password.expiring.subtitle.specific', 'login', [this.settings.get('brandName')]) :\n Okta.loc('password.expiring.subtitle.generic', 'login');\n return subtitle + ' ' + Okta.loc('password.expired.custom.subtitle', 'login');\n }\n\n return Okta.loc('password.expired.custom.subtitle', 'login');\n },\n formChildren: function () {\n return [\n FormType.Button({\n title: _.partial(Okta.loc, 'password.expired.custom.submit', 'login',\n [this.options.appState.get('passwordExpiredWebsiteName')]),\n className: 'button button-primary button-wide',\n attributes: {'data-se': 'custom-button'},\n click: function () {\n Util.redirect(this.options.appState.get('passwordExpiredLinkUrl'));\n }\n })\n ];\n }\n },\n Footer: Footer\n });\n\n});\n\n\n\n// WEBPACK FOOTER //\n// ./src/CustomPasswordExpiredController.js","/*!\n * Copyright (c) 2015-2016, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n\ndefine([\n 'okta',\n 'util/FormController',\n 'util/Enums',\n 'util/FormType',\n 'util/ValidationUtil',\n 'util/Util',\n 'views/shared/ContactSupport',\n 'views/shared/TextBox'\n],\nfunction (Okta, FormController, Enums, FormType, ValidationUtil, Util, ContactSupport, TextBox) {\n\n var _ = Okta._;\n var noFactorsError = '<div class=\"okta-form-infobox-error infobox infobox-error\" role=\"alert\">\\\n <span class=\"icon error-16\"></span>\\\n <p>{{i18n code=\"password.forgot.noFactorsEnabled\" bundle=\"login\"}}</p>\\\n </div>';\n\n var Footer = Okta.View.extend({\n template: '\\\n {{#unless hideBackToSignInForReset}}\\\n <a href=\"#\" class=\"link help js-back\" data-se=\"back-link\">\\\n {{i18n code=\"goback\" bundle=\"login\"}}\\\n </a>\\\n {{/unless}}\\\n {{#if helpSupportNumber}}\\\n <a href=\"#\" class=\"link goto js-contact-support\">\\\n {{i18n code=\"mfa.noAccessToEmail\" bundle=\"login\"}}\\\n </a>\\\n {{/if}}\\\n ',\n className: 'auth-footer',\n events: {\n 'click .js-back' : function (e) {\n e.preventDefault();\n this.back();\n },\n 'click .js-contact-support': function (e) {\n e.preventDefault();\n this.state.trigger('contactSupport');\n this.$('.js-contact-support').hide();\n }\n },\n getTemplateData: function () {\n return {\n hideBackToSignInForReset: this.settings.get('features.hideBackToSignInForReset'),\n helpSupportNumber: this.settings.get('helpSupportNumber')\n };\n },\n back: function () {\n this.state.set('navigateDir', Enums.DIRECTION_BACK);\n this.options.appState.trigger('navigate', '');\n }\n });\n\n return FormController.extend({\n className: 'forgot-password',\n Model: {\n props: {\n username: ['string', true],\n factorType: ['string', true]\n },\n validate: function () {\n return ValidationUtil.validateUsername(this);\n },\n save: function () {\n var self = this;\n var relayState = this.settings.get('relayState');\n this.startTransaction(function (authClient) {\n return authClient.forgotPassword({\n username: self.settings.transformUsername(self.get('username'), Enums.FORGOT_PASSWORD),\n factorType: self.get('factorType'),\n relayState: relayState\n });\n })\n .fail(function () {\n //need empty fail handler on model to display errors on form\n });\n }\n },\n Form: {\n noButtonBar: true,\n title: _.partial(Okta.loc, 'password.reset', 'login'),\n formChildren: function () {\n /*eslint complexity: [2, 9] max-statements: [2, 23] */\n var smsEnabled = this.settings.get('features.smsRecovery');\n var callEnabled = this.settings.get('features.callRecovery');\n var emailEnabled = this.settings.get('features.emailRecovery');\n var noFactorsEnabled = !(smsEnabled || callEnabled || emailEnabled);\n var formChildren = [];\n\n if (noFactorsEnabled) {\n this.add(noFactorsError, '.o-form-error-container');\n }\n else {\n formChildren.push(FormType.Input({\n label: Okta.loc('password.forgot.email.or.username.placeholder', 'login'),\n 'label-top': true,\n explain: Util.createInputExplain(\n 'password.forgot.email.or.username.tooltip',\n 'password.forgot.email.or.username.placeholder',\n 'login'),\n 'explain-top': true,\n name: 'username',\n input: TextBox,\n inputId: 'account-recovery-username',\n type: 'text',\n inlineValidation: false\n }));\n if (smsEnabled || callEnabled) {\n formChildren.push(FormType.View({\n View: Okta.View.extend({\n template: '\\\n <p class=\"mobile-recovery-hint\">\\\n {{i18n code=\"recovery.mobile.hint\" bundle=\"login\" arguments=\"mobileFactors\"}}\\\n </p>',\n getTemplateData: function () {\n var mobileFactors;\n if (smsEnabled && callEnabled) {\n mobileFactors = Okta.loc('recovery.smsOrCall');\n }\n else if (callEnabled) {\n mobileFactors = Okta.loc('recovery.call');\n }\n else {\n mobileFactors = Okta.loc('recovery.sms');\n }\n return { mobileFactors : mobileFactors };\n }\n })\n }));\n }\n if (smsEnabled) {\n this.$el.addClass('forgot-password-sms-enabled');\n formChildren.push(this.createRecoveryFactorButton('sms-button', 'password.forgot.sendText',\n Enums.RECOVERY_FACTOR_TYPE_SMS, this));\n this.setDefaultFactorType(Enums.RECOVERY_FACTOR_TYPE_SMS);\n }\n if (callEnabled) {\n this.$el.addClass('forgot-password-call-enabled');\n formChildren.push(this.createRecoveryFactorButton('call-button', 'password.forgot.call',\n Enums.RECOVERY_FACTOR_TYPE_CALL, this));\n this.setDefaultFactorType(Enums.RECOVERY_FACTOR_TYPE_CALL);\n }\n if (emailEnabled) {\n this.$el.addClass('forgot-password-email-enabled');\n formChildren.push(this.createRecoveryFactorButton('email-button', 'password.forgot.sendEmail',\n Enums.RECOVERY_FACTOR_TYPE_EMAIL, this));\n this.setDefaultFactorType(Enums.RECOVERY_FACTOR_TYPE_EMAIL);\n }\n }\n\n return formChildren;\n },\n initialize: function () {\n\n this.listenTo(this.state, 'contactSupport', function () {\n this.add(ContactSupport, '.o-form-error-container');\n });\n\n this.listenTo(this, 'save', function () {\n this.options.appState.set('username', this.model.get('username'));\n this.model.save();\n });\n },\n setDefaultFactorType: function (factorType) {\n if (_.isEmpty(this.model.get('factorType'))) {\n this.model.set('factorType', factorType);\n }\n },\n createRecoveryFactorButton: function (className, labelCode, factorType, form) {\n return FormType.Button({\n attributes: { 'data-se': className},\n className: 'button button-primary button-wide ' + className,\n title: Okta.loc(labelCode, 'login'),\n click: function () {\n form.clearErrors();\n if (this.model.isValid()) {\n this.model.set('factorType', factorType);\n form.trigger('save', this.model);\n }\n }\n });\n }\n },\n Footer: Footer,\n\n initialize: function () {\n this.options.appState.unset('username');\n }\n });\n\n});\n\n\n\n// WEBPACK FOOTER //\n// ./src/ForgotPasswordController.js","/*!\n * Copyright (c) 2015-2016, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n\ndefine([\n 'okta',\n 'util/FormController',\n 'util/FormType',\n 'util/Enums',\n 'views/shared/FooterSignout',\n 'views/shared/TextBox'\n],\nfunction (Okta, FormController, FormType, Enums, FooterSignout, TextBox) {\n\n var _ = Okta._;\n\n return FormController.extend({\n className: 'recovery-challenge',\n Model: {\n props: {\n passCode: ['string', true]\n },\n local: {\n ableToResend: 'boolean'\n },\n resendCode: function () {\n // Note: This does not require a trapAuthResponse because Backbone's\n // router will not navigate if the url path is the same\n this.limitResending();\n return this.doTransaction(function (transaction) {\n return transaction.resend();\n });\n },\n limitResending: function () {\n this.set({ableToResend: false});\n _.delay(_.bind(this.set, this), Enums.API_RATE_LIMIT, {ableToResend: true});\n },\n save: function () {\n return this.doTransaction(function (transaction) {\n return transaction.verify({\n passCode: this.get('passCode')\n });\n });\n }\n },\n Form: {\n autoSave: true,\n save: _.partial(Okta.loc, 'mfa.challenge.verify', 'login'),\n title: function () {\n if (this.options.appState.get('factorType') === Enums.RECOVERY_FACTOR_TYPE_CALL) {\n return Okta.loc('recoveryChallenge.call.title', 'login');\n } else {\n return Okta.loc('recoveryChallenge.sms.title', 'login');\n }\n },\n className: 'recovery-challenge',\n initialize: function () {\n this.listenTo(this.model, 'error', function () {\n this.clearErrors();\n });\n },\n formChildren: function () {\n return [\n FormType.Button({\n title: Okta.loc('mfa.resendCode', 'login'),\n attributes: { 'data-se': 'resend-button' },\n className: 'button sms-request-button margin-top-30',\n click: function () {\n this.model.resendCode();\n },\n initialize: function () {\n this.listenTo(this.model, 'change:ableToResend', function (model, ableToResend) {\n if (ableToResend) {\n this.options.title = Okta.loc('mfa.resendCode', 'login');\n this.enable();\n this.render();\n } else {\n this.options.title = Okta.loc('mfa.sent', 'login');\n this.disable();\n this.render();\n }\n });\n }\n }),\n FormType.Input({\n label: Okta.loc('mfa.challenge.enterCode.placeholder', 'login'),\n 'label-top': true,\n className: 'enroll-sms-phone',\n name: 'passCode',\n input: TextBox,\n type: 'text'\n })\n ];\n }\n },\n\n events: {\n 'click .send-email-link': function (e) {\n e.preventDefault();\n var settings = this.model.settings,\n username = this.options.appState.get('username'),\n recoveryType = this.options.appState.get('recoveryType');\n\n this.model.startTransaction(function (authClient) {\n // The user could have landed here via the Forgot Password/Unlock Account flow\n switch (recoveryType) {\n case Enums.RECOVERY_TYPE_PASSWORD:\n return authClient.forgotPassword({\n username: settings.transformUsername(username, Enums.FORGOT_PASSWORD),\n factorType: Enums.RECOVERY_FACTOR_TYPE_EMAIL\n });\n case Enums.RECOVERY_TYPE_UNLOCK:\n return authClient.unlockAccount({\n username: settings.transformUsername(username, Enums.UNLOCK_ACCOUNT),\n factorType: Enums.RECOVERY_FACTOR_TYPE_EMAIL\n });\n default:\n return;\n }\n });\n }\n },\n\n initialize: function () {\n var recoveryType = this.options.appState.get('recoveryType'),\n sendEmailLink;\n\n switch (recoveryType) {\n case Enums.RECOVERY_TYPE_PASSWORD:\n sendEmailLink = '\\\n <a href=\"#\" class=\"link send-email-link\" data-se=\"send-email-link\">\\\n {{i18n code=\"password.forgot.code.notReceived\" bundle=\"login\"}}\\\n </a>';\n break;\n case Enums.RECOVERY_TYPE_UNLOCK:\n sendEmailLink = '\\\n <a href=\"#\" class=\"link send-email-link\" data-se=\"send-email-link\">\\\n {{i18n code=\"account.unlock.code.notReceived\" bundle=\"login\"}}\\\n </a>';\n break;\n default:\n break;\n }\n\n if (sendEmailLink && this.settings.get('features.emailRecovery')) {\n this.add(sendEmailLink);\n }\n\n if (!this.settings.get('features.hideBackToSignInForReset')) {\n this.add(\n new FooterSignout(_.extend(this.toJSON(), {linkText: Okta.loc('goback', 'login'), linkClassName: ''}))\n );\n }\n },\n\n postRender: function () {\n this.model.limitResending();\n }\n\n });\n\n});\n\n\n\n// WEBPACK FOOTER //\n// ./src/RecoveryChallengeController.js","/*!\n * Copyright (c) 2015-2016, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n\ndefine([\n 'okta',\n 'util/Enums',\n 'util/FormController',\n 'util/FormType'\n],\nfunction (Okta, Enums, FormController, FormType) {\n\n var _ = Okta._;\n\n return FormController.extend({\n className: 'password-reset-email-sent',\n Model: function () {\n return {\n local: {\n userFullName: ['string', false, this.options.appState.get('userFullName')]\n }\n };\n },\n\n Form: {\n title: _.partial(Okta.loc, 'password.forgot.emailSent.title', 'login'),\n subtitle: function () {\n var username = this.options.appState.get('username');\n return Okta.loc('password.forgot.emailSent.desc', 'login', [username]);\n },\n noButtonBar: true,\n attributes: { 'data-se': 'pwd-reset-email-sent' },\n formChildren: function () {\n let children = [\n FormType.View({\n View: Okta.View.extend({\n template: '\\\n <span class=\"accessibility-text\" role=\"status\">{{alert}}</span>\\\n ',\n getTemplateData: function () {\n return { 'alert': Okta.loc('password.forgot.emailSent.title', 'login') };\n }\n })\n })\n ];\n\n if (!this.settings.get('features.hideBackToSignInForReset')) {\n children.push(FormType.Button({\n title: Okta.loc('goback', 'login'),\n className: 'button button-primary button-wide',\n attributes: {'data-se': 'back-button'},\n click: function () {\n var self = this;\n return this.model.doTransaction(function (transaction) {\n return transaction.cancel();\n })\n .then(function () {\n self.state.set('navigateDir', Enums.DIRECTION_BACK);\n self.options.appState.trigger('navigate', '');\n });\n }\n }));\n }\n\n return children;\n }\n },\n\n initialize: function (options) {\n this.settings.callGlobalSuccess(Enums.FORGOT_PASSWORD_EMAIL_SENT, {\n username: options.appState.get('username')\n });\n },\n });\n\n});\n\n\n\n// WEBPACK FOOTER //\n// ./src/PwdResetEmailSentController.js","/*!\n * Copyright (c) 2015-2016, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n\ndefine([\n 'okta',\n 'util/FormController',\n 'util/FormType',\n 'views/shared/FooterSignout',\n 'views/shared/TextBox'\n],\nfunction (Okta, FormController, FormType, FooterSignout, TextBox) {\n\n return FormController.extend({\n className: 'recovery-question',\n Model: {\n props: {\n answer: ['string', true],\n showAnswer: 'boolean'\n },\n save: function () {\n return this.doTransaction(function (transaction) {\n return transaction.answer({ answer: this.get('answer') });\n });\n }\n },\n Form: {\n autoSave: true,\n save: function () {\n switch (this.options.appState.get('recoveryType')) {\n case 'PASSWORD':\n return Okta.loc('password.forgot.question.submit', 'login');\n case 'UNLOCK':\n return Okta.loc('account.unlock.question.submit', 'login');\n default:\n return Okta.loc('mfa.challenge.verify', 'login');\n }\n },\n title: function () {\n switch (this.options.appState.get('recoveryType')) {\n case 'PASSWORD':\n return Okta.loc('password.forgot.question.title', 'login');\n case 'UNLOCK':\n return Okta.loc('account.unlock.question.title', 'login');\n default:\n return '';\n }\n },\n formChildren: function () {\n return [\n FormType.Input({\n label: this.options.appState.get('recoveryQuestion'),\n placeholder: Okta.loc('mfa.challenge.answer.placeholder', 'login'),\n name: 'answer',\n input: TextBox,\n type: 'password',\n initialize: function () {\n this.listenTo(this.model, 'change:showAnswer', function () {\n var type = this.model.get('showAnswer') ? 'text' : 'password';\n this.getInputs()[0].changeType(type);\n });\n }\n }),\n FormType.Input({\n label: false,\n 'label-top': true,\n placeholder: Okta.loc('mfa.challenge.answer.showAnswer', 'login'),\n className: 'recovery-question-show margin-btm-0',\n name: 'showAnswer',\n type: 'checkbox'\n })\n ];\n }\n },\n initialize: function () {\n if (!this.settings.get('features.hideBackToSignInForReset')) {\n this.addFooter(FooterSignout, {linkText: Okta.loc('goback', 'login'), linkClassName: ''});\n }\n }\n\n });\n\n});\n\n\n\n// WEBPACK FOOTER //\n// ./src/RecoveryQuestionController.js","/*!\n * Copyright (c) 2015-2016, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n\ndefine([\n 'okta',\n 'util/FormController',\n 'util/FormType',\n 'util/ValidationUtil',\n 'util/FactorUtil',\n 'util/Util',\n 'views/shared/FooterSignout',\n 'views/shared/TextBox'\n],\nfunction (Okta, FormController, FormType, ValidationUtil, FactorUtil, Util, FooterSignout, TextBox) {\n\n var _ = Okta._;\n\n return FormController.extend({\n className: 'password-reset',\n Model: {\n props: {\n newPassword: ['string', true],\n confirmPassword: ['string', true]\n },\n validate: function () {\n return ValidationUtil.validatePasswordMatch(this);\n },\n save: function () {\n this.trigger('save');\n var self = this;\n return this.doTransaction(function (transaction) {\n return transaction\n .resetPassword({\n newPassword: self.get('newPassword')\n });\n });\n }\n },\n Form: {\n save: _.partial(Okta.loc, 'password.reset', 'login'),\n title: function () {\n return this.settings.get('brandName') ?\n Okta.loc('password.reset.title.specific', 'login', [this.settings.get('brandName')]) :\n Okta.loc('password.reset.title.generic', 'login');\n },\n subtitle: function () {\n var policy = this.options.appState.get('policy');\n if (!policy) {\n return;\n }\n\n return FactorUtil.getPasswordComplexityDescription(policy);\n },\n formChildren: function () {\n return [\n FormType.Input({\n className: 'margin-btm-5',\n label: Okta.loc('password.newPassword.placeholder', 'login'),\n 'label-top': true,\n explain: Util.createInputExplain(\n 'password.newPassword.tooltip',\n 'password.newPassword.placeholder',\n 'login'),\n 'explain-top': true,\n name: 'newPassword',\n input: TextBox,\n type: 'password'\n }),\n FormType.Input({\n label: Okta.loc('password.confirmPassword.placeholder', 'login'),\n 'label-top': true,\n explain: Util.createInputExplain(\n 'password.confirmPassword.tooltip',\n 'password.confirmPassword.placeholder',\n 'login'),\n 'explain-top': true,\n name: 'confirmPassword',\n input: TextBox,\n type: 'password'\n })\n ];\n }\n },\n\n initialize: function () {\n this.listenTo(this.form, 'save', function () {\n var creds = {\n username: this.options.appState.get('userEmail'),\n password: this.model.get('newPassword')\n };\n this.settings.processCreds(creds)\n .then(_.bind(this.model.save, this.model));\n });\n\n if (!this.settings.get('features.hideBackToSignInForReset')) {\n this.addFooter(FooterSignout);\n }\n }\n\n });\n\n});\n\n\n\n// WEBPACK FOOTER //\n// ./src/PasswordResetController.js","/*!\n * Copyright (c) 2015-2016, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n\ndefine(['okta', 'util/FormController'], function (Okta, FormController) {\n\n return FormController.extend({\n className: 'recovery-loading',\n\n Model: {},\n Form: {\n noButtonBar: true\n },\n\n initialize: function (options) {\n var self = this;\n return this.model.startTransaction(function (authClient) {\n return authClient.verifyRecoveryToken({\n recoveryToken: options.token\n });\n })\n .fail(function () {\n self.options.appState.trigger('loading', false);\n self.options.appState.trigger('removeLoading');\n });\n },\n\n preRender: function () {\n this.options.appState.trigger('loading', true);\n },\n\n trapAuthResponse: function () {\n this.options.appState.trigger('loading', false);\n return false;\n }\n\n });\n});\n\n\n\n// WEBPACK FOOTER //\n// ./src/RecoveryLoadingController.js","/*!\n * Copyright (c) 2015-2016, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n\ndefine([\n 'okta',\n 'util/FormController',\n 'util/Enums',\n 'util/FormType',\n 'util/Util',\n 'util/ValidationUtil',\n 'views/shared/ContactSupport',\n 'views/shared/TextBox'\n],\nfunction (Okta, FormController, Enums, FormType, Util, ValidationUtil, ContactSupport, TextBox) {\n\n var _ = Okta._;\n var noFactorsError = '<div class=\"okta-form-infobox-error infobox infobox-error\" role=\"alert\">\\\n <span class=\"icon error-16\"></span>\\\n <p>{{i18n code=\"account.unlock.noFactorsEnabled\" bundle=\"login\"}}</p>\\\n </div>';\n\n var Footer = Okta.View.extend({\n template: '\\\n <a href=\"#\" class=\"link help js-back\" data-se=\"back-link\">\\\n {{i18n code=\"goback\" bundle=\"login\"}}\\\n </a>\\\n {{#if helpSupportNumber}}\\\n <a href=\"#\" class=\"link goto js-contact-support\">\\\n {{i18n code=\"mfa.noAccessToEmail\" bundle=\"login\"}}\\\n </a>\\\n {{/if}}\\\n ',\n className: 'auth-footer',\n events: {\n 'click .js-back' : function (e) {\n e.preventDefault();\n this.back();\n },\n 'click .js-contact-support': function (e) {\n e.preventDefault();\n this.state.trigger('contactSupport');\n this.$('.js-contact-support').hide();\n }\n },\n getTemplateData: function () {\n return this.settings.pick('helpSupportNumber');\n },\n back: function () {\n this.state.set('navigateDir', Enums.DIRECTION_BACK);\n this.options.appState.trigger('navigate', '');\n }\n });\n\n return FormController.extend({\n className: 'account-unlock',\n Model: {\n props: {\n username: ['string', true],\n factorType: ['string', true]\n },\n validate: function () {\n return ValidationUtil.validateUsername(this);\n },\n save: function () {\n var self = this;\n return this.startTransaction(function (authClient) {\n return authClient.unlockAccount({\n username: self.settings.transformUsername(self.get('username'), Enums.UNLOCK_ACCOUNT),\n factorType: self.get('factorType')\n });\n })\n .fail(function () {\n //need empty fail handler on model to display errors on form\n });\n }\n },\n Form: {\n noButtonBar: true,\n title: _.partial(Okta.loc, 'account.unlock.title', 'login'),\n formChildren: function () {\n /*eslint complexity: [2, 9] max-statements: [2, 24] */\n var smsEnabled = this.settings.get('features.smsRecovery');\n var callEnabled = this.settings.get('features.callRecovery');\n var emailEnabled = this.settings.get('features.emailRecovery');\n var noFactorsEnabled = !(smsEnabled || callEnabled || emailEnabled);\n var formChildren = [];\n var form = this;\n\n if (noFactorsEnabled) {\n this.add(noFactorsError, '.o-form-error-container');\n }\n else {\n formChildren.push(FormType.Input({\n label: Okta.loc('account.unlock.email.or.username.placeholder', 'login'),\n 'label-top': true,\n explain: Util.createInputExplain(\n 'account.unlock.email.or.username.tooltip',\n 'account.unlock.email.or.username.placeholder',\n 'login'),\n 'explain-top': true,\n name: 'username',\n input: TextBox,\n inputId: 'account-recovery-username',\n type: 'text',\n inlineValidation: false\n }));\n\n if (smsEnabled || callEnabled) {\n formChildren.push(FormType.View({\n View: Okta.View.extend({\n template: '\\\n <p class=\"mobile-recovery-hint\">\\\n {{i18n code=\"recovery.mobile.hint\" bundle=\"login\" arguments=\"mobileFactors\"}}\\\n </p>',\n getTemplateData: function () {\n var mobileFactors;\n if (smsEnabled && callEnabled) {\n mobileFactors = Okta.loc('recovery.smsOrCall');\n }\n else if (callEnabled) {\n mobileFactors = Okta.loc('recovery.call');\n }\n else {\n mobileFactors = Okta.loc('recovery.sms');\n }\n return { mobileFactors : mobileFactors };\n }\n })\n }));\n }\n\n if (smsEnabled) {\n this.$el.addClass('forgot-password-sms-enabled');\n formChildren.push(this.createRecoveryFactorButton('sms-button', 'account.unlock.sendText',\n Enums.RECOVERY_FACTOR_TYPE_SMS, form));\n this.setDefaultFactorType(Enums.RECOVERY_FACTOR_TYPE_SMS);\n }\n if (callEnabled) {\n this.$el.addClass('forgot-password-call-enabled');\n formChildren.push(this.createRecoveryFactorButton('call-button', 'account.unlock.voiceCall',\n Enums.RECOVERY_FACTOR_TYPE_CALL, form));\n this.setDefaultFactorType(Enums.RECOVERY_FACTOR_TYPE_CALL);\n }\n if (emailEnabled) {\n this.$el.addClass('forgot-password-email-enabled');\n formChildren.push(this.createRecoveryFactorButton('email-button', 'account.unlock.sendEmail',\n Enums.RECOVERY_FACTOR_TYPE_EMAIL, form));\n this.setDefaultFactorType(Enums.RECOVERY_FACTOR_TYPE_EMAIL);\n }\n }\n\n return formChildren;\n },\n initialize: function () {\n\n this.listenTo(this, 'save', function () {\n this.options.appState.set('username', this.model.get('username'));\n this.model.save();\n });\n\n this.listenTo(this.state, 'contactSupport', function () {\n this.add(ContactSupport, '.o-form-error-container');\n });\n },\n setDefaultFactorType: function (factorType) {\n if (_.isEmpty(this.model.get('factorType'))) {\n this.model.set('factorType', factorType);\n }\n },\n createRecoveryFactorButton: function (className, labelCode, factorType, form) {\n return FormType.Button({\n attributes: { 'data-se': className},\n className: 'button button-primary button-wide ' + className,\n title: Okta.loc(labelCode, 'login'),\n click: function () {\n form.clearErrors();\n if (this.model.isValid()) {\n this.model.set('factorType', factorType);\n form.trigger('save', this.model);\n }\n }\n });\n }\n },\n Footer: Footer\n });\n\n});\n\n\n\n// WEBPACK FOOTER //\n// ./src/UnlockAccountController.js","/*!\n * Copyright (c) 2015-2016, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n\ndefine([\n 'okta',\n 'util/Enums',\n 'util/FormController',\n 'util/FormType'\n],\nfunction (Okta, Enums, FormController, FormType) {\n\n var _ = Okta._;\n\n return FormController.extend({\n className: 'account-unlocked',\n Model: function () {\n return {\n local: {\n userFullName: ['string', false, this.options.appState.get('userFullName')]\n }\n };\n },\n\n Form: {\n title: _.partial(Okta.loc, 'account.unlock.unlocked.title', 'login'),\n subtitle: _.partial(Okta.loc, 'account.unlock.unlocked.desc', 'login'),\n noButtonBar: true,\n attributes: { 'data-se': 'account-unlocked' },\n formChildren: function () {\n return [\n FormType.Button({\n title: Okta.loc('goback', 'login'),\n className: 'button button-primary button-wide',\n attributes: {'data-se': 'back-button'},\n click: function () {\n this.state.set('navigateDir', Enums.DIRECTION_BACK);\n this.options.appState.trigger('navigate', '');\n }\n })\n ];\n }\n }\n\n });\n\n});\n\n\n\n// WEBPACK FOOTER //\n// ./src/AccountUnlockedController.js","/*!\n * Copyright (c) 2015-2016, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n\ndefine([\n 'okta',\n 'util/Enums',\n 'util/FormController',\n 'util/FormType'\n],\nfunction (Okta, Enums, FormController, FormType) {\n\n var _ = Okta._;\n\n return FormController.extend({\n className: 'account-unlock-email-sent',\n Model: function () {\n return {\n local: {\n userFullName: ['string', false, this.options.appState.get('userFullName')]\n }\n };\n },\n\n Form: {\n title: _.partial(Okta.loc, 'account.unlock.emailSent.title', 'login'),\n subtitle: function () {\n var username = this.options.appState.get('username');\n return Okta.loc('account.unlock.emailSent.desc', 'login', [username]);\n },\n noButtonBar: true,\n attributes: { 'data-se': 'unlock-email-sent' },\n formChildren: function () {\n return [\n FormType.Button({\n title: Okta.loc('goback', 'login'),\n className: 'button button-primary button-wide',\n attributes: {'data-se': 'back-button'},\n click: function () {\n this.state.set('navigateDir', Enums.DIRECTION_BACK);\n this.options.appState.trigger('navigate', '');\n }\n })\n ];\n }\n },\n\n initialize: function (options) {\n this.settings.callGlobalSuccess(Enums.UNLOCK_ACCOUNT_EMAIL_SENT, {\n username: options.appState.get('username')\n });\n }\n\n });\n\n});\n\n\n\n// WEBPACK FOOTER //\n// ./src/UnlockEmailSentController.js","/* eslint-disable max-depth */\n/*!\n * Copyright (c) 2015-2016, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n\ndefine(['q', 'okta', 'util/FormController'], function (Q, Okta, FormController) {\n\n return FormController.extend({\n className: 'refresh-auth-state',\n\n Model: {},\n\n Form: {\n noButtonBar: true\n },\n\n preRender: function () {\n var appState = this.options.appState;\n var token = this.options.token;\n this.model.startTransaction(function (authClient) {\n appState.trigger('loading', true);\n if (this.options.appState.get('introspectSuccess') ||\n this.options.appState.get('introspectError')) {\n // Also handles the case when we hit introspect and are on the oldpipeline\n this.settings.unset('stateToken');\n var trans = this.options.appState.get('introspectSuccess');\n var transError = this.options.appState.get('introspectError');\n if (trans && trans.data) {\n return Q.resolve(trans);\n } else {\n return Q.reject(transError);\n }\n } else if (token) {\n // widget bootstrapped with statetoken only in the url and not in settings\n // used for mobile flows\n return authClient.tx.resume({\n stateToken: token\n });\n } else {\n // get stateToken from cookie\n // currently only applies to old pipeline\n if (authClient.tx.exists()) {\n return authClient.tx.resume();\n }\n appState.trigger('navigate', '');\n }\n });\n },\n\n remove: function () {\n this.options.appState.trigger('loading', false);\n return FormController.prototype.remove.apply(this, arguments);\n }\n\n });\n});\n\n\n\n// WEBPACK FOOTER //\n// ./src/RefreshAuthStateController.js","/*!\n * Copyright (c) 2017, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\ndefine([\n 'okta',\n 'models/RegistrationSchema',\n 'models/LoginModel',\n 'util/BaseLoginController',\n 'util/Enums',\n 'util/RegistrationFormFactory',\n 'views/registration/SubSchema',\n 'util/Errors',\n 'util/Util'\n],\nfunction (\n Okta,\n RegistrationSchema,\n LoginModel,\n BaseLoginController,\n Enums,\n RegistrationFormFactory,\n SubSchema,\n Errors,\n Util\n) {\n\n var { _, Backbone } = Okta;\n\n var Footer = Okta.View.extend({\n template: '\\\n <a href=\"#\" class=\"link help\" data-se=\"back-link\">\\\n {{i18n code=\"goback\" bundle=\"login\"}}\\\n </a>\\\n ',\n className: 'auth-footer',\n events: {\n 'click .help' : function (e) {\n e.preventDefault();\n this.back();\n }\n },\n back: function () {\n this.state.set('navigateDir', Enums.DIRECTION_BACK);\n this.options.appState.trigger('navigate', '');\n }\n });\n\n return BaseLoginController.extend({\n className: 'registration',\n initialize: function () {\n // setup schema\n var Schema = RegistrationSchema.extend({\n settings: this.options.settings,\n url: this.options.settings.get('baseUrl') + '/api/v1/registration/form'\n });\n var schema = new Schema();\n this.state.set('schema', schema);\n },\n getRegistrationApiUrl: function () {\n // default policyId\n var defaultPolicyId = this.settings.get('defaultPolicyId');\n // org policyId\n var orgPolicyId = this.options.settings.get('policyId');\n var apiUrl = defaultPolicyId ? this.getRegistrationPolicyApi(defaultPolicyId) :\n this.getRegistrationPolicyApi(orgPolicyId);\n return apiUrl;\n },\n getRegistrationPolicyApi: function (policyId) {\n return this.options.settings.get('baseUrl') + '/api/v1/registration/' + policyId;\n },\n doPostSubmit: function () {\n if (this.model.get('activationToken')) {\n // register via activation token\n var self = this;\n self.settings.callGlobalSuccess(Enums.REGISTRATION_COMPLETE, {\n activationToken: this.model.get('activationToken')\n });\n\n var loginModel = new LoginModel({\n settings: self.model.appState.settings\n });\n loginModel.loginWithActivationToken(this.model.get('activationToken'))\n .then(function (transaction) {\n self.model.trigger('setTransaction', transaction);\n });\n } else {\n // register via activation email\n this.model.appState.set('username', this.model.get('email'));\n this.model.appState.trigger('navigate', 'signin/register-complete');\n }\n },\n registerUser: function (postData) {\n var self = this;\n this.model.attributes = postData;\n Backbone.Model.prototype.save.call(this.model).then(function () {\n var activationToken = self.model.get('activationToken');\n var postSubmitData = activationToken ? activationToken : self.model.get('email');\n self.settings.postSubmit(postSubmitData, function () {\n self.doPostSubmit();\n }, function (errors) {\n self.showErrors(errors);\n });\n }).fail(function (err) {\n var responseJSON = err.responseJSON;\n if (responseJSON && responseJSON.errorCauses.length) {\n var errMsg = responseJSON.errorCauses[0].errorSummary;\n Util.triggerAfterError(self, new Errors.RegistrationError(errMsg));\n }\n });\n },\n createRegistrationModel: function (modelProperties) {\n var self = this;\n var Model = Okta.Model.extend({\n url: self.getRegistrationApiUrl()+'/register',\n settings: this.settings,\n appState: this.options.appState,\n props: modelProperties,\n local: {\n activationToken: 'string'\n },\n toJSON: function () {\n var data = Okta.Model.prototype.toJSON.apply(this, arguments);\n return {\n userProfile: data,\n relayState: this.settings.get('relayState')\n };\n },\n parse: function (resp) {\n this.set('activationToken', resp.activationToken);\n delete resp.activationToken;\n return resp;\n },\n save: function () {\n this.settings.preSubmit(this.attributes, function (postData){\n self.registerUser(postData);\n }, function (errors) {\n self.showErrors(errors);\n });\n }\n });\n return new Model();\n },\n showErrors: function (error, hideRegisterButton) {\n //for parseSchema error hide form and show error at form level\n if(error.callback === 'parseSchema' && error.errorCauses) {\n error.errorSummary = _.clone(error.errorCauses[0].errorSummary);\n delete error.errorCauses;\n }\n //show error on form\n this.model.trigger('error', this.model, {\n responseJSON: error\n });\n\n //throw registration error\n var errMsg = error.callback ? error.callback + ':' + error.errorSummary : error.errorSummary;\n Util.triggerAfterError(this, new Errors.RegistrationError(errMsg));\n\n if (hideRegisterButton) {\n this.$el.find('.button-primary').hide();\n }\n },\n fetchInitialData: function () {\n var self = this;\n // register parse complete event listener\n self.state.get('schema').on('parseComplete', function (updatedSchema) {\n var modelProperties = updatedSchema.properties.createModelProperties();\n self.settings.set('defaultPolicyId', updatedSchema.properties.defaultPolicyId);\n\n // create model\n self.model = self.createRegistrationModel(modelProperties);\n // create form\n var Form = Okta.Form.extend({\n layout: 'o-form-theme',\n autoSave: true,\n noCancelButton: true,\n title: Okta.loc('registration.form.title', 'login'),\n save: Okta.loc('registration.form.submit', 'login')\n });\n var form = new Form(self.toJSON());\n // add form\n self.add(form);\n // add footer\n self.footer = new self.Footer(self.toJSON());\n self.add(self.footer);\n self.addListeners();\n if (updatedSchema.error) {\n self.showErrors(updatedSchema.error, true);\n } else {\n // add fields\n updatedSchema.properties.each(function (schemaProperty) {\n var inputOptions = RegistrationFormFactory.createInputOptions(schemaProperty);\n var subSchemas = schemaProperty.get('subSchemas');\n var name = schemaProperty.get('name');\n form.addInput(inputOptions);\n if (name === 'password' && subSchemas) {\n form.add(SubSchema.extend({id: 'subschemas-' + name, subSchemas: subSchemas}));\n }\n });\n var requiredFieldsLabel = Okta.tpl('<span class=\"required-fields-label\">{{label}}</span>')({\n label: Okta.loc('registration.required.fields.label', 'login')\n });\n form.add(requiredFieldsLabel);\n }\n });\n // fetch schema from API\n return this.state.get('schema').fetch();\n },\n Footer: Footer,\n });\n});\n\n\n\n// WEBPACK FOOTER //\n// ./src/RegistrationController.js","/*!\n * Copyright (c) 2017, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n\ndefine([\n 'okta'\n],\nfunction (Okta) {\n\n var _ = Okta._;\n var { BaseSchema, SchemaProperty } = Okta.internal.models;\n\n var RegistrationSchemaPropertyCollection = SchemaProperty.Collection.extend({\n createModelProperties: function () {\n var modelProperties = SchemaProperty.Collection.prototype.createModelProperties.apply(this);\n _.each(modelProperties, function (modelProperty, name) {\n modelProperty.required = !!this.get(name).get('required');\n }, this);\n return modelProperties;\n }\n });\n\n return BaseSchema.Model.extend({\n expand: ['schema'],\n\n constructor: function () {\n this.properties = new RegistrationSchemaPropertyCollection();\n Okta.BaseModel.apply(this, arguments);\n },\n\n parse: function (resp) {\n\n var parseResponseData = _.bind(function (resp) {\n var requireFields = resp.schema.required;\n if (_.isArray(requireFields)) {\n _.each(requireFields, function (requireField) {\n var field = this.properties.get(requireField);\n if (field) {\n field.set('required', true);\n }\n }, this);\n }\n\n var fieldOrderIds = resp.schema.fieldOrder;\n if (_.isArray(fieldOrderIds)) {\n _.each(fieldOrderIds, function (fieldOrderId, sortOrder) {\n var field = this.properties.get(fieldOrderId);\n if (field) {\n field.set('sortOrder', sortOrder);\n }\n }, this);\n this.properties.comparator = 'sortOrder';\n this.properties.sort();\n }\n this.properties.defaultPolicyId = resp.policyId;\n return resp;\n }, this);\n\n var self = this;\n this.settings.parseSchema(resp, function (resp) {\n if (resp.profileSchema) {\n resp.schema = resp.profileSchema;\n BaseSchema.Model.prototype.parse.apply(self, [resp]);\n resp = parseResponseData(resp);\n }\n self.trigger('parseComplete', {properties: self.properties});\n }, function (error) {\n self.trigger('parseComplete', {properties: self.properties, error: error});\n });\n }\n });\n});\n\n\n// WEBPACK FOOTER //\n// ./src/models/RegistrationSchema.js","/*!\n * Copyright (c) 2015-2016, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n\ndefine([\n 'okta',\n './BaseLoginModel'\n],\nfunction (Okta, BaseLoginModel) {\n\n return BaseLoginModel.extend({\n constructor: function (options) {\n this.settings = options && options.settings;\n Okta.Model.apply(this, arguments);\n },\n loginWithActivationToken: function (activationToken) {\n return this.startTransaction(function (authClient) {\n return authClient.signIn({ token: activationToken });\n });\n }\n });\n});\n\n\n\n// WEBPACK FOOTER //\n// ./src/models/LoginModel.js","/*!\n * Copyright (c) 2017, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n\ndefine(['okta'], function (Okta) {\n var SubSchema = Okta.View.extend({\n index: '',\n message: '',\n class: function () {\n return ;\n },\n className: function () {\n return 'subschema-unsatisfied subschema-' + this.index;\n },\n template: '\\\n <p class=\"default-schema\">\\\n <span class=\"icon icon-16\"/>\\\n {{message}}\\\n </p>\\\n ',\n getTemplateData: function () {\n return {\n message: this.message\n };\n }\n });\n\n return Okta.View.extend({\n className: 'subschema',\n\n children: function () {\n return this.subSchemas.map(function (subSchema, index) {\n var description = subSchema.get('description');\n // TODO API should send translated strings instead of i18n code inside description\n // or send param with i18n code\n var message = description;\n return SubSchema.extend({\n index: index, \n message: message\n });\n });\n }\n });\n});\n\n\n\n// WEBPACK FOOTER //\n// ./src/views/registration/SubSchema.js","/*!\n * Copyright (c) 2017, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n\ndefine([\n 'okta',\n 'util/Enums',\n 'util/FormController',\n 'util/FormType'\n],\nfunction (Okta, Enums, FormController, FormType) {\n\n return FormController.extend({\n events: {\n 'click .back-btn' : function (e) {\n e.preventDefault();\n this.back();\n }\n },\n back: function () {\n this.state.set('navigateDir', Enums.DIRECTION_BACK);\n this.options.appState.trigger('navigate', '');\n },\n className: 'registration-complete',\n Model: function () {\n },\n initialize: function () {\n this.settings.callGlobalSuccess(Enums.ACTIVATION_EMAIL_SENT, {\n username: this.options.appState.get('username')\n });\n },\n Form: {\n noButtonBar: true,\n formChildren: function () {\n return [\n FormType.View({\n View: Okta.View.extend({\n template: '\\\n <div class=\"container\">\\\n <span class=\"title-icon icon icon-16 confirm-16-green\"></span>\\\n <h2 class=\"title\">{{title}}</h2>\\\n <div class=\"desc\">{{desc}}</div>\\\n </div>\\\n <a href=\"#\" class=\"back-btn\" data-se=\"back-link\">\\\n {{i18n code=\"goback\" bundle=\"login\"}}\\\n </a>\\\n ',\n getTemplateData: function () {\n return { \n 'desc': Okta.loc('registration.complete.confirm.text', 'login'),\n 'title': Okta.loc('registration.complete.title', 'login')\n };\n }\n })\n })\n ];\n }\n }\n });\n\n});\n\n\n// WEBPACK FOOTER //\n// ./src/RegistrationCompleteController.js","/*!\n * Copyright (c) 2017, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n\n/* eslint max-len: [2, 160] */\ndefine([\n 'okta',\n 'util/FormController',\n 'util/FormType',\n 'views/consent/ScopeList'\n],\nfunction (Okta, FormController, FormType, ScopeList) {\n\n var _ = Okta._;\n\n return FormController.extend({\n className: 'consent-required',\n initialize: function () {\n this.model.set('expiresAt', this.options.appState.get('expiresAt'));\n this.model.set('scopes', this.options.appState.get('scopes'));\n this.listenTo(this.form, 'cancel', _.bind(this.model.cancel, this.model));\n },\n postRender: function () {\n FormController.prototype.postRender.apply(this, arguments);\n\n // Update the \"don't allow\" and \"allow access\" buttons to be neutral by changing \"allow button\" to be gray.\n this.$('.o-form-button-bar .button-primary').removeClass('button-primary');\n },\n Model: {\n props: {\n expiresAt: ['string', true],\n scopes: ['array', true]\n },\n save: function () {\n return this.doTransaction(function (transaction) {\n return transaction.consent({\n consent: {\n expiresAt: this.get('expiresAt'),\n scopes: _.pluck(this.get('scopes'), 'name')\n }\n });\n });\n },\n cancel: function () {\n var self = this;\n return this.doTransaction(function (transaction) {\n return transaction.cancel();\n }).then(function () {\n var consentCancelFn = self.settings.get('consent.cancel');\n if (_.isFunction(consentCancelFn)) {\n consentCancelFn();\n }\n });\n }\n },\n Form: {\n noCancelButton: false,\n autoSave: true,\n save: _.partial(Okta.loc, 'consent.required.consentButton', 'login'),\n cancel: _.partial(Okta.loc, 'consent.required.cancelButton', 'login'),\n formChildren: function () {\n return [\n FormType.View({\n View: Okta.View.extend({\n className: 'consent-title detail-row',\n template: '\\\n {{#if clientURI}}\\\n <a href=\"{{clientURI}}\" class=\"client-logo-link\" target=\"_blank\">\\\n {{/if}}\\\n {{#if customLogo}}\\\n <img class=\"client-logo custom-logo\" src=\"{{customLogo}}\" />\\\n {{else}}\\\n <img class=\"client-logo default-logo\" src=\"{{defaultLogo}}\" />\\\n {{/if}}\\\n {{#if clientURI}}\\\n </a>\\\n {{/if}}\\\n <span>{{{i18n code=\"consent.required.text\" bundle=\"login\" arguments=\"appName\"}}}</span>\\\n ',\n getTemplateData: function () {\n var appState = this.options.appState;\n return {\n appName: appState.escape('targetLabel'),\n customLogo: appState.get('targetLogo') && appState.get('targetLogo').href,\n defaultLogo: appState.get('defaultAppLogo'),\n clientURI: appState.get('targetClientURI') && appState.get('targetClientURI').href\n };\n }\n })\n }),\n FormType.View({\n View: new ScopeList({ model: this.model })\n }),\n FormType.View({\n View: Okta.View.extend({\n className: 'consent-description detail-row',\n template: '\\\n <p>{{i18n code=\"consent.required.description\" bundle=\"login\"}}</p>\\\n ',\n })\n })\n ];\n },\n },\n Footer: Okta.View.extend({\n className: 'consent-footer',\n template: '\\\n {{#if termsOfService}}\\\n <a class=\"terms-of-service\" href=\"{{termsOfService}}\" target=\"_blank\">{{i18n code=\"consent.required.termsOfService\" bundle=\"login\"}}</a>\\\n {{#if privacyPolicy}}\\\n •\\\n {{/if}}\\\n {{/if}}\\\n {{#if privacyPolicy}}\\\n <a class=\"privacy-policy\" href=\"{{privacyPolicy}}\" target=\"_blank\">{{i18n code=\"consent.required.privacyPolicy\" bundle=\"login\"}}</a>\\\n {{/if}}\\\n ',\n getTemplateData: function () {\n var appState = this.options.appState;\n return {\n termsOfService: appState.get('targetTermsOfService') && appState.get('targetTermsOfService').href,\n privacyPolicy: appState.get('targetPrivacyPolicy') && appState.get('targetPrivacyPolicy').href\n };\n }\n }),\n });\n\n});\n\n\n\n// WEBPACK FOOTER //\n// ./src/ConsentRequiredController.js","/*!\n * Copyright (c) 2017, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n\ndefine([\n 'okta',\n './ScopeItem'\n], function (Okta, ScopeItem) {\n\n return Okta.View.extend({\n className: 'scope-list detail-row',\n\n postRender: function () {\n this.model.get('scopes').forEach(scope => {\n this.add(ScopeItem, {\n options: {\n name: scope.displayName || scope.name,\n description: scope.description\n },\n });\n });\n }\n });\n\n});\n\n\n\n// WEBPACK FOOTER //\n// ./src/views/consent/ScopeList.js","/*!\n * Copyright (c) 2017, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n\ndefine([\n 'okta',\n 'qtip'\n], function (Okta) {\n\n return Okta.View.extend({\n className: 'scope-item',\n template: '\\\n <div class=\"scope-item-text\">\\\n <p>{{name}}</p>\\\n </div>\\\n {{#if description}}\\\n <span class=\"scope-item-tooltip icon form-help-16\" />\\\n {{/if}}\\\n ',\n\n postRender: function () {\n this.$('.scope-item-tooltip').qtip({\n content: {\n text: this.options.description\n },\n style: { classes: 'okta-sign-in-tooltip qtip-custom qtip-shadow' },\n position: {\n my: 'bottom right',\n target: 'mouse'\n }\n });\n }\n });\n\n});\n\n\n\n// WEBPACK FOOTER //\n// ./src/views/consent/ScopeItem.js","/*!\n * Copyright (c) 2019, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\ndefine([\n 'okta',\n 'models/EnrollUser',\n 'util/BaseLoginController',\n 'views/enrollUser/EnrollUserForm',\n 'views/shared/FooterWithBackLink'\n],\nfunction (\n Okta,\n EnrollUser,\n BaseLoginController,\n EnrollUserForm,\n FooterWithBackLink\n) {\n return BaseLoginController.extend({\n className: 'enroll-user',\n initialize: function (options) {\n this.options = options || {};\n // create model\n this.model = new EnrollUser(this.options);\n },\n fetchInitialData: function () {\n // If user is unauthenticated and starts enroll flow make a post call to transition state to PROFILE_REQUIRED\n if (this.options.appState.get('isUnauthenticated')) {\n return this.model.getEnrollFormData();\n } else {\n return BaseLoginController.prototype.fetchInitialData.call();\n }\n },\n trapAuthResponse: function () {\n if (this.options.appState.get('isProfileRequired')) {\n return true;\n }\n },\n postRender: function () {\n var form = new EnrollUserForm(this.toJSON());\n this.add(form);\n this.add(new FooterWithBackLink(this.toJSON()));\n this.addListeners();\n }\n });\n});\n\n\n\n// WEBPACK FOOTER //\n// ./src/EnrollUserController.js","/*!\n * Copyright (c) 2019, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the 'License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n\ndefine([\n 'okta',\n './BaseLoginModel'\n],\nfunction (Okta, BaseLoginModel) {\n var {_} = Okta;\n\n return BaseLoginModel.extend({\n initialize: function (options) {\n this.options = options || {};\n this.appState = this.options.appState;\n },\n constructPostData: function (profileAttributes) {\n var postData = {\n 'registration': {\n 'profile': profileAttributes\n }\n };\n // send createNewAccount flag for new user creation\n if (this.appState.get('policy').registration.createNewAccount) {\n postData.registration['createNewAccount'] = true;\n }\n return postData;\n },\n getEnrollFormData: function () {\n return this.manageTransaction(function (transaction, setTransaction) {\n return transaction.enroll().then(function (trans) {\n setTransaction(trans);\n });\n });\n },\n save: function () {\n var data = BaseLoginModel.prototype.toJSON.apply(this, arguments);\n data = _.omit(data, ['appState', 'settings', 'createNewAccount']);\n if (_.isEmpty(data)) {\n var error = {\n 'errorSummary': Okta.loc('oform.errorbanner.title', 'login')\n };\n this.trigger('error', this, {\n responseJSON: error\n });\n } else {\n return this.manageTransaction(function (transaction, setTransaction) {\n transaction.enroll(this.constructPostData(data)).then(function (trans) {\n setTransaction(trans);\n });\n });\n }\n }\n });\n});\n\n\n\n// WEBPACK FOOTER //\n// ./src/models/EnrollUser.js","/*!\n * Copyright (c) 2019, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n/* eslint max-len: [2, 130] */\ndefine([\n 'okta',\n 'util/RegistrationFormFactory',\n 'models/ProfileSchema',\n], function (Okta, RegistrationFormFactory, ProfileSchema) {\n return Okta.Form.extend({\n layout: 'o-form-theme',\n autoSave: true,\n noCancelButton: true,\n title: Okta.loc('registration.form.title', 'login'),\n save: Okta.loc('registration.form.submit', 'login'),\n initialize: function (options) {\n this.options = options || {};\n this.schema = new ProfileSchema({ profileSchemaAttributes: this.options.appState.get('policy').registration.profile });\n this.schema.properties.each((schemaProperty) => {\n var inputOptions = RegistrationFormFactory.createInputOptions(schemaProperty);\n this.addInput(inputOptions);\n });\n var requiredFieldsLabel = Okta.tpl('<span class=\"required-fields-label\">{{label}}</span>')({\n label: Okta.loc('registration.required.fields.label', 'login')\n });\n this.add(requiredFieldsLabel); \n }\n });\n});\n\n\n\n// WEBPACK FOOTER //\n// ./src/views/enrollUser/EnrollUserForm.js","/*!\n * Copyright (c) 2019, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n\ndefine([\n 'okta'\n],\nfunction (Okta) {\n var _ = Okta._;\n var { BaseSchema } = Okta.internal.models;\n\n return BaseSchema.Model.extend({\n expand: ['schema'],\n setFieldPlaceholder: function (formFields) {\n _.each(formFields, function (formField) {\n formField.title = formField.label;\n });\n return formFields;\n },\n initialize: function (options) {\n var profileAttributes = options.profileSchemaAttributes;\n profileAttributes = this.setFieldPlaceholder(profileAttributes);\n if (profileAttributes) {\n var userProfileSchema = {\n 'properties': {}\n };\n for (var i = 0; i < profileAttributes.length; i++) {\n var profileAttributeObject = profileAttributes[i];\n userProfileSchema.properties[profileAttributeObject.name] = profileAttributeObject;\n }\n this.parse.apply(this, [{ 'schema': userProfileSchema }]);\n }\n }\n });\n});\n\n\n\n// WEBPACK FOOTER //\n// ./src/models/ProfileSchema.js","/*!\n * Copyright (c) 2015-2016, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n\n/* eslint complexity: [2, 8] */\ndefine([\n 'okta',\n 'q',\n 'util/FactorUtil',\n 'views/mfa-verify/dropdown/FactorsDropDown',\n 'models/Factor'\n],\nfunction (Okta, Q, FactorUtil, FactorsDropDown, Factor) {\n\n return Okta.View.extend({\n\n template: '\\\n <div class=\"beacon-blank auth-beacon\">\\\n <div class=\"beacon-blank js-blank-beacon-border auth-beacon-border\"></div>\\\n </div>\\\n <div class=\"bg-helper auth-beacon auth-beacon-factor {{className}}\" data-se=\"factor-beacon\">\\\n <div class=\"okta-sign-in-beacon-border auth-beacon-border\"></div>\\\n </div>\\\n <div data-type=\"factor-types-dropdown\" class=\"factors-dropdown-wrap\"></div>\\\n ',\n\n events: {\n 'click .auth-beacon-factor': function (e) {\n e.preventDefault();\n e.stopPropagation();\n var expanded = this.$('.dropdown .options').toggle().is(':visible');\n this.$('a.option-selected').attr('aria-expanded', expanded);\n if (expanded) {\n this.$('#okta-dropdown-options').find('li.factor-option:first a').focus();\n }\n }\n },\n\n initialize: function () {\n this.options.appState.set('beaconType', 'factor');\n },\n\n getTemplateData: function () {\n var factors = this.options.appState.get('factors'),\n factor, className;\n if (factors) {\n factor = FactorUtil.findFactorInFactorsArray(factors, this.options.provider,\n this.options.factorType);\n } else {\n factor = new Factor.Model(this.options.appState.get('factor'));\n }\n className = factor.get('iconClassName');\n return { className: className || '' };\n },\n\n postRender: function () {\n if (this.options.animate) {\n this.$('.auth-beacon-factor').fadeIn(200);\n }\n var appState = this.options.appState;\n if (appState.get('hasMultipleFactorsAvailable')) {\n this.add(FactorsDropDown, '[data-type=\"factor-types-dropdown\"]');\n }\n },\n\n fadeOut: function () {\n var deferred = Q.defer();\n this.$('.auth-beacon-factor').fadeOut(200, function () {\n deferred.resolve();\n });\n return deferred.promise;\n },\n\n equals: function (Beacon, options) {\n return Beacon &&\n this instanceof Beacon &&\n options.provider === this.options.provider &&\n (options.factorType === this.options.factorType ||\n (FactorUtil.isOktaVerify(options.provider, options.factorType) &&\n FactorUtil.isOktaVerify(this.options.provider, this.options.factorType)));\n }\n\n });\n\n});\n\n\n\n// WEBPACK FOOTER //\n// ./src/views/shared/FactorBeacon.js","/*!\n * Copyright (c) 2015-2016, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n\ndefine([\n 'okta',\n 'util/FactorUtil',\n '../../../models/Factor',\n './FactorsDropDownOptions'\n],\nfunction (Okta, FactorUtil, Factor, FactorsDropDownOptions) {\n var { _, $ } = Okta;\n var { BaseDropDown } = Okta.internal.views.components;\n\n $(document).click(function (e) {\n var $target = $(e.target);\n var isDropdown = $target.closest('.option-selected').length > 0 && $target.closest('.dropdown').length > 0;\n if (!isDropdown) {\n $('.dropdown .options').hide();\n $('.dropdown a.option-selected').attr('aria-expanded', false);\n }\n });\n\n return BaseDropDown.extend({\n className: 'bg-helper icon-button',\n screenReaderText: function () {\n var factors = this.options.appState.get('factors'),\n factor, factorLabel;\n if (factors) {\n factor = FactorUtil.findFactorInFactorsArray(factors, this.options.provider,\n this.options.factorType);\n } else {\n factor = new Factor.Model(this.options.appState.get('factor'), this.toJSON());\n }\n factorLabel = factor.get('factorLabel');\n return Okta.loc('mfa.factors.dropdown.sr.text', 'login', [factorLabel]);\n },\n events: {\n 'click a.option-selected': function (e) {\n e.preventDefault();\n if (_.result(this, 'disabled')) {\n e.stopPropagation();\n } else {\n var expanded = this.$('.options').toggle().is(':visible');\n this.$('a.option-selected').attr('aria-expanded', expanded);\n if (expanded) {\n this.$('#okta-dropdown-options').find('li.factor-option:first a').focus();\n }\n }\n },\n 'click .dropdown-disabled': function (e) {\n e.preventDefault();\n e.stopPropagation();\n }\n },\n initialize: function () {\n this.addOption(FactorsDropDownOptions.getDropdownOption('TITLE'));\n var factorsList = this.options.appState.get('factors');\n var multiplePushFactors = factorsList.hasMultipleFactorsOfSameType('push');\n factorsList.each(function (factor) {\n // Do not add okta totp if there are multiple okta push (each push will have an inline totp)\n if (!(factor.get('factorType') === 'token:software:totp' && multiplePushFactors)) {\n this.addOption(FactorsDropDownOptions.getDropdownOption(factor.get('factorName')), {model: factor});\n this.listenTo(this.last(), 'options:toggle', function () {\n this.$('.options').hide();\n this.$('a.option-selected').attr('aria-expanded', false);\n });\n }\n }, this);\n }\n });\n\n});\n\n\n\n// WEBPACK FOOTER //\n// ./src/views/mfa-verify/dropdown/FactorsDropDown.js","/*!\n * Copyright (c) 2015-2016, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n\n/* eslint max-statements: [2, 16], complexity: [2, 10] */\ndefine(['okta', 'util/RouterUtil'], function (Okta, RouterUtil) {\n\n var _ = Okta._;\n\n // deviceName is escaped on BaseForm (see BaseForm's template)\n var pushTitleTpl = Okta.tpl('{{factorName}} ({{{deviceName}}})');\n var action = function (model) {\n\n var factorIndex;\n var factorType = model.get('factorType');\n var factorsList = this.options.appState.get('factors');\n if (factorsList.hasMultipleFactorsOfSameType(factorType)) {\n factorIndex = factorsList.getFactorIndex(factorType, model.get('id'));\n }\n var url = RouterUtil.createVerifyUrl(model.get('provider'), factorType, factorIndex);\n var self = this;\n\n this.options.appState.trigger('factorSwitched');\n this.model.manageTransaction(function (transaction, setTransaction) {\n // FACTOR_CHALLENGE does not have a prev link\n if (transaction.status === 'FACTOR_CHALLENGE') {\n this.options.appState.set('trapMfaRequiredResponse', true);\n }\n if (transaction.status === 'MFA_CHALLENGE' && transaction.prev) {\n this.options.appState.set('trapMfaRequiredResponse', true);\n return transaction.prev()\n .then(function (trans) {\n self.trigger('options:toggle');\n setTransaction(trans);\n self.options.appState.trigger('navigate', url);\n });\n } else {\n self.trigger('options:toggle');\n self.options.appState.trigger('navigate', url);\n }\n });\n };\n\n var dropdownOptions = {\n 'TITLE': {\n title: _.partial(Okta.loc, 'mfa.factors.dropdown.title', 'login'),\n className: 'dropdown-list-title',\n disabled: true\n },\n\n 'OKTA_VERIFY': {\n icon: 'factor-icon mfa-okta-verify-30',\n className: 'factor-option',\n title: function () {\n return this.model.get('factorLabel');\n },\n action: function () {\n action.call(this, this.model);\n }\n },\n\n 'OKTA_VERIFY_PUSH': {\n icon: 'factor-icon mfa-okta-verify-30',\n className: 'factor-option',\n title: function () {\n return pushTitleTpl({\n factorName: this.model.get('factorLabel'),\n deviceName: this.model.get('deviceName')\n });\n },\n action: function () {\n action.call(this, this.model);\n }\n },\n\n 'GOOGLE_AUTH': {\n icon: 'factor-icon mfa-google-auth-30',\n className: 'factor-option',\n title: function () {\n return this.model.get('factorLabel');\n },\n action: function () {\n action.call(this, this.model);\n }\n },\n\n 'CUSTOM_HOTP': {\n icon: 'factor-icon mfa-hotp-30',\n className: 'factor-option',\n title: function () {\n return this.model.get('factorLabel');\n },\n action: function () {\n action.call(this, this.model);\n }\n },\n\n 'SYMANTEC_VIP': {\n icon: 'factor-icon mfa-symantec-30',\n className: 'factor-option',\n title: function () {\n return this.model.get('factorLabel');\n },\n action: function () {\n action.call(this, this.model);\n }\n },\n\n 'RSA_SECURID': {\n icon: 'factor-icon mfa-rsa-30',\n className: 'factor-option',\n title: _.partial(Okta.loc, 'factor.totpHard.rsaSecurId', 'login'),\n action: function () {\n action.call(this, this.model);\n }\n },\n\n 'ON_PREM': {\n icon: 'factor-icon mfa-onprem-30',\n className: 'factor-option',\n title: function () {\n return this.model.get('factorLabel');\n },\n action: function () {\n action.call(this, this.model);\n }\n },\n\n 'DUO': {\n icon: 'factor-icon mfa-duo-30',\n className: 'factor-option',\n title: function () {\n return this.model.get('factorLabel');\n },\n action: function () {\n action.call(this, this.model);\n }\n },\n\n 'DUO_PUSH': {\n icon: 'duo-push-16',\n className: 'suboption factor-option',\n // TODO: add phone number here\n title: _.partial(Okta.loc, 'mfa.duoSecurity.push', 'login', ['XXX-XXX-7890'])\n },\n\n 'DUO_SMS': {\n icon: 'duo-sms-16',\n className: 'suboption factor-option',\n // TODO: add phone number here\n title: _.partial(Okta.loc, 'mfa.duoSecurity.sms', 'login', ['XXX-XXX-7890'])\n },\n\n 'DUO_CALL': {\n icon: 'duo-call-16',\n className: 'suboption factor-option',\n // TODO: add phone number here\n title: _.partial(Okta.loc, 'mfa.duoSecurity.call', 'login', ['XXX-XXX-7890'])\n },\n\n 'YUBIKEY': {\n icon: 'factor-icon mfa-yubikey-30',\n className: 'factor-option',\n title: function () {\n return this.model.get('factorLabel');\n },\n action: function () {\n action.call(this, this.model);\n }\n },\n\n 'SMS': {\n icon: 'factor-icon mfa-sms-30',\n className: 'factor-option',\n title: function () {\n return this.model.get('factorLabel');\n },\n action: function () {\n action.call(this, this.model);\n }\n },\n\n 'CALL': {\n icon: 'factor-icon mfa-call-30',\n className: 'factor-option',\n title: function () {\n return this.model.get('factorLabel');\n },\n action: function () {\n action.call(this, this.model);\n }\n },\n\n 'QUESTION': {\n icon: 'factor-icon mfa-question-30',\n className: 'factor-option',\n title: function () {\n return this.model.get('factorLabel');\n },\n action: function () {\n action.call(this, this.model);\n }\n },\n\n 'PASSWORD': {\n icon: 'factor-icon mfa-password-30',\n className: 'factor-option',\n title: function () {\n return this.model.get('factorLabel');\n },\n action: function () {\n action.call(this, this.model);\n }\n },\n\n 'WINDOWS_HELLO': {\n icon: 'factor-icon mfa-windows-hello-30',\n className: 'factor-option',\n title: function () {\n return this.model.get('factorLabel');\n },\n action: function () {\n action.call(this, this.model);\n }\n },\n\n 'U2F': {\n icon: 'factor-icon mfa-u2f-30',\n className: 'factor-option',\n title: function () {\n return this.model.get('factorLabel');\n },\n action: function () {\n action.call(this, this.model);\n }\n },\n\n 'WEBAUTHN': {\n icon: 'factor-icon mfa-webauthn-30',\n className: 'factor-option',\n title: function () {\n return this.model.get('factorLabel');\n },\n action: function () {\n action.call(this, this.model);\n }\n },\n\n 'EMAIL': {\n icon: 'factor-icon mfa-email-30',\n className: 'factor-option',\n title: function () {\n return this.model.get('factorLabel');\n },\n action: function () {\n action.call(this, this.model);\n }\n },\n\n 'GENERIC_SAML': {\n icon: 'factor-icon mfa-custom-factor-30',\n className: 'factor-option',\n title: function () {\n return this.model.get('factorLabel');\n },\n action: function () {\n action.call(this, this.model);\n }\n },\n\n 'GENERIC_OIDC': {\n icon: 'factor-icon mfa-custom-factor-30',\n className: 'factor-option',\n title: function () {\n return this.model.get('factorLabel');\n },\n action: function () {\n action.call(this, this.model);\n }\n },\n\n 'CUSTOM_CLAIMS': {\n icon: 'factor-icon mfa-custom-factor-30',\n className: 'factor-option',\n title: function () {\n return this.model.get('factorLabel');\n },\n action: function () {\n action.call(this, this.model);\n }\n }\n\n };\n\n return {\n getDropdownOption: function (factorName) {\n return dropdownOptions[factorName];\n }\n };\n});\n\n\n\n// WEBPACK FOOTER //\n// ./src/views/mfa-verify/dropdown/FactorsDropDownOptions.js","/*!\n * Copyright (c) 2019, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n\ndefine(['okta'], function (Okta) {\n\n return Okta.View.extend({\n\n className: 'piv-beacon',\n template: '\\\n <div class=\"beacon-blank auth-beacon\">\\\n <div class=\"beacon-blank js-blank-beacon-border auth-beacon-border\"></div>\\\n </div>\\\n <div class=\"bg-helper auth-beacon smartcard\" data-se=\"piv-beacon\">\\\n <div class=\"okta-sign-in-beacon-border auth-beacon-border\"></div>\\\n </div>\\\n ',\n\n equals: function (Beacon) {\n return Beacon && this instanceof Beacon;\n }\n\n });\n});\n\n\n\n// WEBPACK FOOTER //\n// ./src/views/shared/PIVBeacon.js","/*!\n * Copyright (c) 2020, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n\ndefine([\n 'okta',\n 'util/FormController',\n],\nfunction (Okta, FormController) {\n return FormController.extend({\n className: 'poll',\n Model: {\n save: function () {\n this.trigger('cancelRequest');\n return this.appState.get('transaction').cancel()\n .then(() => {\n this.options.appState.trigger('navigate', '');\n })\n .fail(() => {\n this._stopPolling();\n });\n },\n },\n \n Form: {\n autoSave: true,\n hasSavingState: false,\n title: function () {\n return this.title;\n },\n className: 'poll-controller',\n noCancelButton: true,\n save: Okta.loc('oform.cancel', 'login'),\n modelEvents: {\n 'cancelRequest': '_stopPolling'\n },\n\n _startPolling: function () {\n // start polling request \n this.transaction.poll()\n .then((resp) => {\n this.options.appState.set('transaction', resp);\n const factorPollingInterval = resp.factor.profile.refresh;\n let factorPollingIntervalSeconds = Math.floor(factorPollingInterval/1000);\n // start one second countdown for next poll request\n this.countDown = setInterval(() => {\n // update title after every second and check if countdown == 1 to poll again\n const title = Okta.loc('polling.title','login', [factorPollingIntervalSeconds]);\n this.$el.find('.okta-form-title').text(title);\n if (factorPollingIntervalSeconds === 1) {\n // restart poll after countdown hits 1\n this._stopPolling();\n this._startPolling();\n } else {\n // reduce countdown after every second\n factorPollingIntervalSeconds = factorPollingIntervalSeconds-1;\n }\n }, 1000);\n })\n .fail(()=> {\n this._stopPolling();\n });\n },\n\n _stopPolling: function () {\n // clear polling\n if (this.countDown) {\n clearInterval(this.countDown);\n }\n },\n\n initialize: function (options) {\n this.transaction = options.appState.get('transaction');\n this.factorPollingInterval = this.transaction.factor.profile.refresh;\n const factorPollingIntervalSeconds = Math.floor(this.factorPollingInterval/1000);\n this.title = Okta.loc('polling.title','login', [factorPollingIntervalSeconds]);\n },\n \n postRender: function () {\n this._startPolling(this.factorPollingInterval);\n },\n },\n \n back: function () {\n // Empty function on verify controllers to prevent users\n // from navigating back during 'verify' using the browser's\n // back button. The URL will still change, but the view will not\n // More details in OKTA-135060.\n },\n \n });\n \n});\n \n\n\n// WEBPACK FOOTER //\n// ./src/PollController.js","/*!\n * Copyright (c) 2015-2016, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n\ndefine([\n 'okta',\n 'util/FactorUtil',\n 'util/FormController',\n 'util/FormType',\n 'util/RouterUtil',\n 'views/enroll-factors/BarcodeView',\n 'views/enroll-factors/Footer'\n],\nfunction (Okta, FactorUtil, FormController, FormType, RouterUtil, BarcodeView, Footer) {\n\n var _ = Okta._;\n\n return FormController.extend({\n className: 'barcode-totp',\n Model: function () {\n return {\n local: {\n '__factorType__': ['string', false, this.options.factorType],\n '__provider__': ['string', false, this.options.provider]\n }\n };\n },\n\n Form: {\n title: function () {\n var factorName = FactorUtil.getFactorLabel(this.model.get('__provider__'), this.model.get('__factorType__'));\n return Okta.loc('enroll.totp.title', 'login', [factorName]);\n },\n subtitle: _.partial(Okta.loc, 'mfa.scanBarcode', 'login'),\n save: _.partial(Okta.loc, 'oform.next', 'login'),\n noCancelButton: true,\n attributes: { 'data-se': 'step-scan' },\n className: 'barcode-scan',\n\n formChildren: [\n FormType.View({View: BarcodeView})\n ]\n },\n\n Footer: Footer,\n\n initialize: function () {\n this.listenTo(this.form, 'save', function () {\n var url = RouterUtil.createActivateFactorUrl(this.model.get('__provider__'),\n this.model.get('__factorType__'), 'activate');\n this.options.appState.trigger('navigate', url);\n });\n }\n });\n\n});\n\n\n\n// WEBPACK FOOTER //\n// ./src/BarcodeTotpController.js","/*!\n * Copyright (c) 2019, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n\nimport FormController from './controllers/FormController';\nimport BaseLoginRouter from './BaseLoginRouter';\n\nmodule.exports = BaseLoginRouter.extend({\n routes: {\n '': 'defaultAuth',\n '*wildcard': 'defaultAuth',\n },\n\n defaultAuth: function () {\n this.render(FormController);\n },\n\n});\n\n\n\n// WEBPACK FOOTER //\n// ./src/v2/WidgetRouter.js","/*!\n * Copyright (c) 2019, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\nimport { _, Controller } from 'okta';\nimport '../../views/shared/FooterWithBackLink';\nimport ViewFactory from '../view-builder/ViewFactory';\n\nexport default Controller.extend({\n className: 'form-controller',\n\n initialize: function () {\n Controller.prototype.initialize.call(this);\n\n this.listenTo(this.options.appState, 'idxResponseUpdated', this.render);\n this.listenTo(this.options.appState, 'invokeAction', this.invokeAction);\n this.listenTo(this.options.appState, 'switchForm', this.switchForm);\n this.listenTo(this.options.appState, 'saveForm', this.handleFormSave);\n },\n\n preRender () {\n this.removeChildren();\n },\n\n postRender () {\n const currentViewState = this.options.appState.getCurrentViewState();\n\n const TheView = ViewFactory.create(\n currentViewState.name,\n this.options.appState.get('factorType'),\n this.options.appState.get('currentStep'),\n );\n this.formView = this.add(TheView, {\n options: {\n currentViewState,\n messages: this.options.appState.get('messages'),\n }\n }).last();\n\n this.listenTo(this.formView, 'save', this.handleFormSave);\n },\n\n invokeAction (actionPath = '') {\n const idx = this.options.appState.get('idx');\n if (idx['neededToProceed'][actionPath]) {\n idx.proceed(actionPath, {}).then((resp) => {\n this.options.appState.set('idx', resp);\n this.options.appState.trigger('remediationSuccess', resp.rawIdxState);\n })\n .catch(error => {\n throw error;\n });\n return;\n }\n\n const actionFn = idx['actions'][actionPath];\n\n if (_.isFunction(actionFn)) {\n // TODO: OKTA-243167\n // 1. what's the approach to show spinner indicating API in fligh?\n // 2. how to catch error?\n actionFn()\n .then(resp => {\n this.options.appState.set('idx', resp);\n this.options.appState.trigger('remediationSuccess', resp.rawIdxState);\n })\n .catch(error => {\n throw error;\n });\n } else {\n throw 'Invalid action selected';\n }\n },\n\n switchForm (formName) {\n // trigger formname change to change view\n this.options.appState.set('currentFormName', formName);\n this.options.appState.trigger('idxResponseUpdated', formName);\n\n },\n\n handleFormSave (model) {\n const formName = model.get('formName');\n const idx = this.options.appState.get('idx');\n if (!idx['neededToProceed'][formName]) {\n model.trigger('error', `Cannot find http action for \"${formName}\".`);\n return;\n }\n\n this.toggleFormButtonState(true);\n model.trigger('request');\n return idx.proceed(formName, model.toJSON())\n .then(resp => this.updateAppStateWithNewIdx(resp))\n .catch(error => {\n if (error.proceed && error.rawIdxState) {\n // Okta server responds 401 status code with WWW-Authenticate header and new remediation\n // so that the iOS/MacOS credential SSO extension (Okta Verify) can intercept\n // the response reaches here when Okta Verify is not installed\n // we need to return an idx object so that\n // the SIW can proceed to the next step without showing error\n this.updateAppStateWithNewIdx(error);\n } else {\n model.trigger('error', model, {'responseJSON': error}, true);\n this.toggleFormButtonState(false);\n }\n });\n },\n\n updateAppStateWithNewIdx: function (idxResp) {\n this.options.appState.set('idx', idxResp);\n this.options.appState.trigger('remediationSuccess', idxResp.rawIdxState);\n },\n\n /**\n * SignIn widget has its own (hacky) way to customize the button disabled state:\n * adding `link-button-disabled` despite the name was intend only to disable\n * `link-button`.\n * Instead of doing decent refactor, we want to follow the convention for now.\n *\n * @param {boolean} disabled whether add extra disable CSS class.\n */\n toggleFormButtonState: function (disabled) {\n var button = this.$el.find('.o-form-button-bar .button');\n button.toggleClass('link-button-disabled', disabled);\n },\n\n});\n\n\n\n// WEBPACK FOOTER //\n// ./src/v2/controllers/FormController.js","import Logger from 'util/Logger';\nimport BaseView from './internals/BaseView';\n\n// factor ignostic views\nimport IdentifierView from './views/IdentifierView';\nimport DeviceChallengePollView from './views/DeviceChallengePollView';\nimport SSOExtensionView from './views/SSOExtensionView';\nimport SelectFactorEnrollView from './views/SelectFactorEnrollView';\nimport SelectFactorAuthenticateView from './views/SelectFactorAuthenticateView';\nimport EnrollProfileView from './views/EnrollProfileView';\nimport TerminalView from './views/TerminalView';\nimport SuccessView from './views/SuccessView';\n// password\nimport EnrollFactorPasswordView from './views/password/EnrollFactorPasswordView';\nimport RequiredFactorPasswordView from './views/password/RequiredFactorPasswordView';\n\n//webauthn\nimport RequiredFactorWebauthnView from './views/webauthn/RequiredFactorWebauthnView';\n\n// email\n// import EnrollFactorEmailView from './views/email/EnrollFactorEmailView';\nimport RequiredFactorEmailView from './views/email/RequiredFactorEmailView';\nimport TerminalReturnEmailView from './views/email/TerminalReturnEmailView';\nimport TerminalTransferedEmailView from './views/email/TerminalTransferedEmailView';\n\n\nconst DEFAULT = '_';\n\nconst VIEWS_MAPPING = {\n 'identify': {\n [DEFAULT]: IdentifierView,\n },\n 'device-challenge-poll': {\n [DEFAULT]: DeviceChallengePollView,\n },\n 'device-apple-sso-extension': {\n [DEFAULT]: SSOExtensionView,\n },\n 'cancel-transaction': {\n [DEFAULT]: SSOExtensionView,\n },\n 'select-factor': { //DEPRECATED: temporary backwards compatibility\n authenticate: SelectFactorAuthenticateView,\n enroll: SelectFactorEnrollView\n },\n 'select-factor-authenticate': {\n [DEFAULT]: SelectFactorAuthenticateView,\n },\n 'select-factor-enroll': {\n [DEFAULT]: SelectFactorEnrollView,\n },\n 'enroll-profile': {\n [DEFAULT]: EnrollProfileView,\n },\n 'enroll-factor': {\n email: RequiredFactorEmailView, // TODO EnrollFactorEmailView is unimplemented\n password: EnrollFactorPasswordView,\n },\n 'challenge-factor': {\n email: RequiredFactorEmailView,\n password: RequiredFactorPasswordView,\n webauthn: RequiredFactorWebauthnView,\n },\n 'terminal-transferred': {\n [DEFAULT]: TerminalView,\n 'email': TerminalTransferedEmailView,\n },\n 'terminal-return': {\n [DEFAULT]: TerminalView,\n 'email': TerminalReturnEmailView,\n },\n 'success-redirect': {\n [DEFAULT]: SuccessView,\n },\n};\n\nmodule.exports = {\n create (formName, factorType = DEFAULT, step) {\n const config = VIEWS_MAPPING[formName];\n if (!config) {\n Logger.warn(`Cannot find customized View (form: ${formName}). Fallback to default configuration.`);\n if (formName.indexOf('terminal') === 0) {\n return TerminalView;\n } else {\n return BaseView;\n }\n }\n // look for customized view by step, then by factor, if not found then use DEFAULT\n const View = config[step] || config[factorType] || config[DEFAULT];\n\n if (!View) {\n Logger.warn(`Cannot find customized View (form: ${formName}, factor: ${factorType}). Fallback to BaseView.`);\n return BaseView;\n }\n\n return View;\n }\n};\n\n\n\n// WEBPACK FOOTER //\n// ./src/v2/view-builder/ViewFactory.js","import { Collection, _ } from 'okta';\nimport FactorOptions from '../components/FactorOptions';\nimport FactorUtil from '../../util/FactorUtil';\n\nconst changeLabelToTop = (opt) => {\n return Object.assign({}, opt, { 'label-top': true });\n};\n\nconst createFactorTypeView = (opt) => {\n var optionItems = (opt.options || [])\n .map(opt => {\n return Object.assign({}, FactorUtil.getFactorData(opt.factorType), opt);\n });\n return {\n View: FactorOptions,\n options: {\n name: opt.name,\n collection: new Collection(optionItems),\n }\n };\n};\nconst inputCreationStrategy = {\n text: changeLabelToTop,\n password: changeLabelToTop,\n factorType: createFactorTypeView,\n};\n\nconst create = function (uiSchemaObj) {\n const strategyFn = inputCreationStrategy[uiSchemaObj.type] || _.identity;\n return strategyFn(uiSchemaObj);\n};\nmodule.exports = {\n create,\n};\n\n\n\n// WEBPACK FOOTER //\n// ./src/v2/view-builder/internals/FormInputFactory.js","/*!\n * Copyright (c) 2019, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\nimport { createButton, View, ListView } from 'okta';\n\nconst FactorRow = View.extend({\n className: 'enroll-factor-row clearfix',\n template: '\\\n <div class=\"enroll-factor-icon-container\">\\\n <div class=\"factor-icon enroll-factor-icon {{iconClassName}}\">\\\n </div>\\\n </div>\\\n <div class=\"enroll-factor-description\">\\\n <h3 class=\"enroll-factor-label\">{{label}}</h3>\\\n {{#if factorDescription}}\\\n <p>{{factorDescription}} </p>\\\n {{/if}}\\\n <div class=\"enroll-factor-button\"></div>\\\n </div>\\\n ',\n children: function (){\n return [[createButton({\n className: 'button select-factor',\n title: function () {\n return 'Select';\n },\n click: function () {\n this.model.trigger('selectFactor', this.model.get('value'));\n }\n }), '.enroll-factor-button']];\n },\n minimize: function () {\n this.$el.addClass('enroll-factor-row-min');\n }\n});\n\nexport default ListView.extend({\n\n className: 'enroll-factor-list',\n\n item: FactorRow,\n\n itemSelector: '.list-content',\n\n initialize: function () {\n this.listenTo(this.collection,'selectFactor', function (data) {\n this.model.set(this.options.name, data);\n this.options.appState.trigger('saveForm', this.model);\n });\n },\n\n template: '<div class=\"list-content\"></div>',\n\n});\n\n\n\n// WEBPACK FOOTER //\n// ./src/v2/view-builder/components/FactorOptions.js","/*!\n * Copyright (c) 2019, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\nimport { _, Model} from 'okta';\n\nconst covertIonFieldToProp = (ionField) => {\n const config = Object.assign(\n {},\n _.chain(ionField)\n .pick('minLength', 'maxLength', 'required')\n .defaults({ type: 'string', required: true })\n .value()\n );\n return { [ionField.name]: config };\n};\n\nconst create = function (remediation = {}) {\n const value = remediation.uiSchema;\n const props = _.chain(value)\n .map(covertIonFieldToProp)\n .reduce((init, field) => {\n return Object.assign({}, init, field);\n })\n .value();\n\n const BaseModel = Model.extend({\n props,\n\n local: {\n formName: 'string',\n },\n });\n\n return BaseModel;\n};\n\nmodule.exports = {\n create,\n};\n\n\n\n// WEBPACK FOOTER //\n// ./src/v2/view-builder/internals/BaseModel.js","/*!\n * Copyright (c) 2019, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n\nimport { View } from 'okta';\n\nconst Link = View.extend({\n\n template: '{{label}}',\n\n tagName: 'a',\n\n attributes () {\n let href = this.options.href || '#';\n return {\n 'data-se': this.options.name,\n href: href\n };\n },\n\n className () {\n const nameToClass = this.options.name.replace(/[ ]/g, '-');\n\n return `link js-${nameToClass}`;\n },\n\n postRender () {\n //TODO OKTA-245224\n if (!this.options.href) {\n this.$el.click((event) => {\n const appState = this.options.appState;\n event.preventDefault();\n this.options.formName? appState.trigger('switchForm', this.options.formName):\n appState.trigger('invokeAction', this.options.actionPath);\n });\n }\n }\n});\n\nmodule.exports = Link;\n\n\n\n// WEBPACK FOOTER //\n// ./src/v2/view-builder/components/Link.js","import { View, loc, createButton } from 'okta';\nimport BaseView from '../internals/BaseView';\nimport BaseForm from '../internals/BaseForm';\nimport BaseFooter from '../internals/BaseFooter';\n\nconst Body = BaseForm.extend({\n\n title: loc('primaryauth.title'),\n save: loc('oform.next', 'login'),\n initialize () {\n BaseForm.prototype.initialize.apply(this, arguments);\n if (this.options.appState.hasRemediationForm('launch-authenticator')) {\n this.add(View.extend({\n className: 'sign-in-with-device-option',\n template: `\n <div class=\"okta-verify-container\"></div>\n <div class=\"separation-line\"><span>OR</span></div>\n `,\n initialize () {\n const appState = this.options.appState;\n this.add(createButton({\n className: 'button-secondary',\n title: 'Sign in using Okta Verify',\n click () { \n appState.trigger('invokeAction', 'launch-authenticator');\n }\n }), '.okta-verify-container');\n }\n }), '.o-form-fieldset-container', false, true);\n }\n }\n});\n\nconst Footer = BaseFooter.extend({\n links () {\n const baseUrl = this.options.settings.get('baseUrl');\n let href = baseUrl + '/help/login';\n if (this.options.settings.get('helpLinks.help') ) {\n href = this.options.settings.get('helpLinks.help');\n }\n const signupLinkObj = {\n 'type': 'link',\n 'label': 'Sign up',\n 'name': 'enroll',\n 'actionPath': 'select-enroll-profile',\n };\n const links = [\n {\n 'name': 'help',\n 'label': 'Need help signing in?',\n 'href': href,\n },\n ];\n if (this.options.appState.hasRemediationForm('select-enroll-profile')) {\n links.push(signupLinkObj);\n }\n return links;\n }\n});\n\nexport default BaseView.extend({\n Body,\n Footer,\n});\n\n\n\n// WEBPACK FOOTER //\n// ./src/v2/view-builder/views/IdentifierView.js","/* global Promise */\nimport { $, loc, createButton } from 'okta';\nimport BaseView from '../internals/BaseView';\nimport BaseForm from '../internals/BaseForm';\nimport BaseFooter from '../internals//BaseFooter';\nimport Logger from '../../../util/Logger';\nimport DeviceFingerprint from '../../../util/DeviceFingerprint';\nimport polling from './shared/polling';\nimport Util from '../../../util/Util';\n\nconst request = (opts) => {\n const ajaxOptions = Object.assign({\n method: 'GET',\n contentType: 'application/json',\n }, opts);\n return $.ajax(ajaxOptions);\n};\n\nconst Body = BaseForm.extend(Object.assign(\n {\n noButtonBar: true,\n\n className: 'ion-form device-challenge-poll',\n\n initialize () {\n BaseForm.prototype.initialize.apply(this, arguments);\n this.listenTo(this.model, 'error', this.onPollingFail);\n this.deviceChallengePollRemediation = this.options.appState.getCurrentViewState();\n this.doChallenge();\n this.startDevicePolling();\n },\n\n onPollingFail () {\n this.$('.spinner').hide();\n this.stopPolling();\n },\n\n remove () {\n BaseForm.prototype.remove.apply(this, arguments);\n this.stopPolling();\n },\n\n doChallenge () {\n const deviceChallenge = this.options.appState.get(\n this.deviceChallengePollRemediation.relatesTo\n );\n switch (deviceChallenge.challengeMethod) {\n case 'LOOPBACK':\n this.title = loc('signin.with.fastpass', 'login');\n this.add('<div class=\"spinner\"></div>');\n this.doLoopback(deviceChallenge.domain, deviceChallenge.ports, deviceChallenge.challengeRequest);\n break;\n case 'CUSTOM_URI':\n this.title = loc('customUri.title', 'login');\n this.subtitle = loc('customUri.subtitle', 'login');\n this.add(`\n {{{i18n code=\"customUri.content\" bundle=\"login\"}}}\n `);\n this.customURI = deviceChallenge.href;\n this.doCustomURI();\n break;\n case 'UNIVERSAL_LINK':\n this.title = loc('universalLink.title', 'login');\n this.add(`\n {{{i18n code=\"universalLink.content\" bundle=\"login\"}}}\n `);\n this.add(createButton({\n className: 'ul-button button button-wide button-primary',\n title: loc('universalLink.button', 'login'),\n click () {\n // only window.location.href can open universal link in iOS/MacOS\n // other methods won't do, ex, AJAX get or form get (Util.redirectWithFormGet)\n Util.redirect(deviceChallenge.href);\n }\n }));\n }\n },\n\n postRender () {\n BaseForm.prototype.postRender.apply(this, arguments);\n this.$('#launch-ov').on('click', this.doCustomURI.bind(this));\n },\n\n doLoopback (authenticatorDomainUrl = '', ports = [], challengeRequest = '') {\n let currentPort;\n let foundPort = false;\n let countFailedPorts = 0;\n\n const getAuthenticatorUrl = (path) => {\n return `${authenticatorDomainUrl}:${currentPort}/${path}`;\n };\n\n const checkPort = () => {\n return request({\n url: getAuthenticatorUrl('probe'),\n // in loopback server, SSL handshake sometimes takes more than 1000 ms and thus needs additional timeout\n // however, increasing timeout is a temporary solution since user will need to wait much longer in worst case\n // TODO: OKTA-278573 Android timeout is temporarily set to 3000ms and needs optimization post-Beta\n timeout: DeviceFingerprint.isAndroid() ? 3000 : 1000\n });\n };\n\n const onPortFound = () => {\n foundPort = true;\n return request({\n url: getAuthenticatorUrl('challenge'),\n method: 'POST',\n data: JSON.stringify({ challengeRequest }),\n timeout: 3000 // authenticator should respond within 3000ms for challenge request\n });\n };\n\n const onFailure = () => {\n Logger.error(`Something unexpected happened while we were checking port ${currentPort}.`);\n };\n\n const doProbing = () => {\n return checkPort()\n .done(onPortFound)\n .fail(onFailure);\n };\n\n let probeChain = Promise.resolve();\n ports.forEach(port => {\n probeChain = probeChain\n .then(() => {\n if (!foundPort) {\n currentPort = port;\n return doProbing();\n }\n })\n .catch(() => {\n countFailedPorts++;\n Logger.error(`Authenticator is not listening on port ${currentPort}.`);\n if (countFailedPorts === ports.length) {\n Logger.error('No available ports. Loopback server failed and polling is cancelled.');\n this.options.appState.trigger('invokeAction', 'authenticatorChallenge-cancel');\n }\n });\n });\n },\n\n doCustomURI () {\n this.customURI && Util.redirectWithFormGet(this.customURI);\n },\n },\n\n polling,\n));\n\nconst Footer = BaseFooter.extend({\n links () {\n let links = [];\n const deviceChallenge = this.options.appState.get(\n this.options.appState.getCurrentViewState().relatesTo\n );\n if (deviceChallenge.challengeMethod === 'CUSTOM_URI') {\n links = [\n {\n name: 'sign-in-options',\n type: 'link',\n label: loc('goback', 'login'),\n href: this.settings.get('baseUrl')\n }\n ];\n }\n return links;\n }\n});\n\nexport default BaseView.extend({\n Body,\n Footer\n});\n\n\n\n// WEBPACK FOOTER //\n// ./src/v2/view-builder/views/DeviceChallengePollView.js","import BaseView from '../internals/BaseView';\nimport BaseForm from '../internals/BaseForm';\nimport Util from '../../../util/Util';\n\n// for BETA,\n// redirect is needed for Apple SSO Extension to intercept the request, because\n// - XHR request is not interceptable\n// - form post is interceptable, but some app (Outlook) closes the app after\n// We may have a different approach/UX for EA\nconst Body = BaseForm.extend({\n noButtonBar: true,\n\n title: 'You are being redirected',\n\n initialize () {\n BaseForm.prototype.initialize.apply(this, arguments);\n\n // TODO: OKTA-286547\n // this should be handle by the foundation, not on the view level\n const method = this.options.appState.get('remediations')\n .filter(v => v.name === this.options.appState.get('currentFormName'))[0].method || '';\n if (method.toLowerCase() === 'get') {\n Util.redirectWithFormGet(this.options.currentViewState.href);\n } else {\n this.add('<div class=\"spinner\"></div>');\n this.options.appState.trigger('saveForm', this.model);\n }\n }\n});\n\nexport default BaseView.extend({\n Body,\n});\n\n\n\n// WEBPACK FOOTER //\n// ./src/v2/view-builder/views/SSOExtensionView.js","import BaseView from '../internals/BaseView';\nimport BaseForm from '../internals/BaseForm';\nimport { loc } from 'okta';\n\nconst Body = BaseForm.extend({\n title: function () {\n return loc('enroll.choices.setup', 'login');\n },\n subtitle: loc('enroll.choices.description', 'login'),\n noButtonBar: true,\n});\n\nexport default BaseView.extend({\n Body,\n});\n\n\n\n\n// WEBPACK FOOTER //\n// ./src/v2/view-builder/views/SelectFactorEnrollView.js","import BaseView from '../internals/BaseView';\nimport BaseForm from '../internals/BaseForm';\nimport { loc } from 'okta';\n\nconst Body = BaseForm.extend({\n title: function () {\n if (this.isPasswordRecoveryFlow()) {\n return loc('password.reset.title.generic', 'login');\n }\n return loc('mfa.factors.dropdown.title', 'login');\n },\n subtitle: function () {\n if (this.isPasswordRecoveryFlow()) {\n return loc('password.reset.verification', 'login');\n }\n return loc('verify.choices.description', 'login');\n },\n isPasswordRecoveryFlow () {\n const recoveryFactor = this.options.appState.get('recoveryFactor');\n return recoveryFactor && recoveryFactor.factorType === 'password';\n },\n noButtonBar: true,\n});\n\nexport default BaseView.extend({\n Body,\n});\n\n\n\n\n// WEBPACK FOOTER //\n// ./src/v2/view-builder/views/SelectFactorAuthenticateView.js","import { loc } from 'okta';\nimport BaseView from '../internals/BaseView';\nimport BaseForm from '../internals/BaseForm';\nimport BaseFooter from '../internals/BaseFooter';\n\nconst Body = BaseForm.extend({\n title () {\n return loc('registration.form.title', 'login');\n },\n\n save: loc('registration.form.submit', 'login'),\n});\n\nconst Footer = BaseFooter.extend({\n links () {\n const links = [];\n if (this.options.appState.hasRemediationForm('select-identify')) {\n links.push({\n 'type': 'link',\n 'label': 'Already have an account ?',\n 'name': 'back',\n 'actionPath': 'select-identify',\n });\n }\n return links;\n }\n});\n\nexport default BaseView.extend({\n Body,\n Footer\n});\n\n\n\n// WEBPACK FOOTER //\n// ./src/v2/view-builder/views/EnrollProfileView.js","import BaseView from '../internals/BaseView';\nimport BaseForm from '../internals/BaseForm';\nimport Util from '../../../util/Util';\nconst Body = BaseForm.extend({\n title () {\n return 'You will be redirected';\n },\n noButtonBar: true,\n initialize () {\n BaseForm.prototype.initialize.apply(this, arguments);\n // TODO OKTA-250473\n // Form post for success redirect\n const url = this.options.appState.getCurrentViewState().href;\n Util.redirectWithFormGet(url);\n },\n});\n\nexport default BaseView.extend({\n Body\n});\n\n\n\n// WEBPACK FOOTER //\n// ./src/v2/view-builder/views/SuccessView.js","import { loc } from 'okta';\nimport BaseView from '../../internals/BaseView';\nimport BaseForm from '../../internals/BaseForm';\nimport BaseFactorView from '../shared/BaseFactorView';\n\nconst Body = BaseForm.extend({\n title: loc('enroll.password.setup', 'login'),\n save: loc('save.password', 'login'),\n\n getUISchema () {\n const uiSchemas = BaseForm.prototype.getUISchema.apply(this, arguments);\n return uiSchemas.concat([\n {\n name: 'confirmPassword',\n label: 'Repeat Password',\n type: 'password',\n params: {\n showPasswordToggle: true\n }\n }\n ]);\n }\n});\n\nexport default BaseFactorView.extend({\n\n Body,\n\n createModelClass () {\n const ModelClass = BaseView.prototype.createModelClass.apply(this, arguments);\n const local = Object.assign(\n {\n confirmPassword: {\n type: 'string',\n required: true,\n }\n },\n ModelClass.prototype.local,\n );\n return ModelClass.extend({\n local,\n validate: function () {\n if (this.get('credentials.passcode') !== this.get('confirmPassword') &&\n this.get('credential.value') !== this.get('confirmPassword')) {\n \n var ret = {};\n ret['confirmPassword'] = loc('password.error.match', 'login');\n return ret;\n }\n }\n\n });\n }\n});\n\n\n\n// WEBPACK FOOTER //\n// ./src/v2/view-builder/views/password/EnrollFactorPasswordView.js","/*!\n * Copyright (c) 2019, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\nimport HeaderBeacon from './HeaderBeacon';\nimport { getFactorData } from '../../util/FactorUtil';\n\nconst BeaconView = HeaderBeacon.extend({\n\n getBeaconClassName: function () {\n const factorType = this.options.appState.get('factorType');\n return getFactorData(factorType).iconClassName;\n },\n});\n\nmodule.exports = BeaconView;\n\n\n\n// WEBPACK FOOTER //\n// ./src/v2/view-builder/components/HeaderBeaconFactor.js","import { loc } from 'okta';\nimport BaseForm from '../../internals/BaseForm';\nimport BaseFooter from '../../internals/BaseFooter';\nimport BaseFactorView from '../shared/BaseFactorView';\n\nconst recoveryLinkAction = 'factor-recover';\n\nconst Body = BaseForm.extend({\n\n title: loc('factor.password', 'login'),\n\n save: loc('mfa.challenge.verify', 'login'),\n});\n\nconst Footer = BaseFooter.extend({\n links: function () {\n // recovery link\n var links = [];\n\n if (this.options.appState.getActionByPath(recoveryLinkAction)) {\n links.push({\n 'type': 'link',\n 'label': 'Forgot Password',\n 'name': 'forgot-password',\n 'actionPath': recoveryLinkAction,\n });\n }\n // check if we have a select-factor form in remediation, if so add a link\n if (this.options.appState.hasRemediationForm('select-factor-authenticate')) {\n links.push({\n 'type': 'link',\n 'label': 'Switch Factor',\n 'name': 'switchFactor',\n 'formName': 'select-factor-authenticate',\n });\n }\n return links;\n }\n});\n\nexport default BaseFactorView.extend({\n Body,\n Footer,\n});\n\n\n\n// WEBPACK FOOTER //\n// ./src/v2/view-builder/views/password/RequiredFactorPasswordView.js","import { loc, _, createButton } from 'okta';\nimport BaseForm from '../../internals/BaseForm';\nimport BaseFooter from '../../internals/BaseFooter';\nimport BaseFactorView from '../shared/BaseFactorView';\nimport CryptoUtil from '../../../../util/CryptoUtil';\nimport webauthn from '../../../../util/webauthn';\n\nconst Body = BaseForm.extend({\n\n title: loc('factor.webauthn.biometric', 'login'),\n\n getUISchema () {\n const schema = [];\n // Returning custom array so no input fields are displayed for webauthn\n if (webauthn.isNewApiAvailable()) {\n const retryButton = createButton({\n className: 'retry-webauthn button-primary default-custom-button',\n title: loc('retry', 'login'),\n click: () => {\n this.getCredentialsAndSave();\n }\n });\n\n schema.push({\n View:\n '<div class=\"webauthn-verify-text idx-webauthn-verify-text\">\\\n <p>{{i18n code=\"verify.webauthn.biometric.instructions\" bundle=\"login\"}}</p>\\\n <div data-se=\"webauthn-waiting\" class=\"okta-waiting-spinner\"></div>\\\n </div>'\n }, {\n View: retryButton,\n });\n }\n return schema;\n },\n\n remove () {\n BaseForm.prototype.remove.apply(this, arguments);\n if (this.webauthnAbortController) {\n this.webauthnAbortController.abort();\n this.webauthnAbortController = null;\n }\n },\n\n noButtonBar: true,\n\n modelEvents: {\n 'error': '_stopVerification'\n },\n\n getCredentialsAndSave () {\n this.clearErrors();\n this._startVerification();\n this.webauthnAbortController = new AbortController();\n const factor = this.options.appState.get('factor');\n const allowCredentials = [{\n type: 'public-key',\n id: CryptoUtil.strToBin(factor.contextualData.profile.credentialId)\n }];\n const options = {\n allowCredentials,\n challenge: CryptoUtil.strToBin(factor.contextualData.challengeData.challenge)\n };\n navigator.credentials.get({\n publicKey: options,\n signal: this.webauthnAbortController.signal\n }).then((assertion) => {\n this.model.set({\n credentials : {\n clientData: CryptoUtil.binToStr(assertion.response.clientDataJSON),\n authenticatorData: CryptoUtil.binToStr(assertion.response.authenticatorData),\n signatureData: CryptoUtil.binToStr(assertion.response.signature),\n }\n });\n this.saveForm(this.model);\n }, (error) => {\n // Do not display if it is abort error triggered by code when switching.\n // this.webauthnAbortController would be null if abort was triggered by code.\n if (this.webauthnAbortController) {\n this.model.trigger('error', this.model, { responseJSON: { errorSummary: error.message } });\n }\n }).finally(() => {\n // unset webauthnAbortController on successful authentication or error\n this.webauthnAbortController = null;\n });\n },\n\n postRender: function () {\n _.defer(() => {\n if (webauthn.isNewApiAvailable()) {\n this.getCredentialsAndSave();\n }\n else {\n this.model.trigger('error', this.model, {\n responseJSON: {\n errorSummary: loc('webauthn.biometric.error.factorNotSupported', 'login')\n }\n });\n this.$('[data-se=\"webauthn-waiting\"]').hide();\n }\n });\n },\n\n _startVerification: function () {\n this.$('.okta-waiting-spinner').show();\n this.$('.retry-webauthn').hide();\n },\n\n _stopVerification: function () {\n this.$('.okta-waiting-spinner').hide();\n this.$('.retry-webauthn').show();\n }\n});\n\nconst Footer = BaseFooter.extend({\n links: function () {\n // recovery link\n const links = [];\n\n // check if we have a select-factor form in remediation, if so add a link\n if (this.options.appState.hasRemediationForm('select-factor')) {\n links.push({\n 'type': 'link',\n 'label': 'Switch Factor',\n 'name': 'switchFactor',\n 'formName': 'select-factor',\n });\n }\n return links;\n }\n});\n\nexport default BaseFactorView.extend({\n Body,\n Footer,\n});\n\n\n\n// WEBPACK FOOTER //\n// ./src/v2/view-builder/views/webauthn/RequiredFactorWebauthnView.js","import { loc, View, createCallout, createButton, _ } from 'okta';\nimport BaseForm from '../../internals/BaseForm';\nimport BaseFooter from '../../internals/BaseFooter';\nimport email from '../shared/email';\nimport polling from '../shared/polling';\nimport BaseFactorView from '../shared/BaseFactorView';\n\nconst SHOW_RESEND_TIMEOUT = 60000;\n\nconst ResendView = View.extend(\n {\n // by default is hide after one minute polling\n className: 'hide resend-email-view',\n initialize () {\n this.add(createCallout({\n subtitle: 'Haven\\'t received an email? To try again, click \"Resend Email\"',\n type: 'warning',\n }));\n this.add(createButton({\n className: 'button',\n title: 'Resend Email',\n click () {\n this.options.appState.trigger('invokeAction', 'factor-resend');\n }\n }));\n },\n\n postRender () {\n this.showMeTimeout = _.delay(() => {\n this.$el.removeClass('hide');\n }, SHOW_RESEND_TIMEOUT);\n },\n\n remove () {\n View.prototype.remove.apply(this, arguments);\n clearTimeout(this.showMeTimeout);\n }\n },\n);\n\nconst Body = BaseForm.extend(Object.assign(\n\n {\n save: loc('mfa.challenge.verify', 'login'),\n\n initialize () {\n BaseForm.prototype.initialize.apply(this, arguments);\n this.add(`<div class=\"email-verification-description\">An email has been sent to you. \n Please click the link in your email or enter the code from that email below.</div>`);\n // polling has been killed when click save to avoid race conditions\n // hence resume if save failed.\n this.listenTo(this.options.model, 'error', this.startPolling.bind(this));\n },\n\n saveForm () {\n BaseForm.prototype.saveForm.apply(this, arguments);\n this.stopPolling();\n // TODO: abort ongoing request. (https://oktainc.atlassian.net/browse/OKTA-244134)\n },\n\n postRender () {\n this.add(ResendView, {\n selector: '.o-form-fieldset-container',\n prepend: true,\n });\n\n this.startPolling();\n\n },\n\n remove () {\n BaseForm.prototype.remove.apply(this, arguments);\n this.stopPolling();\n }\n },\n\n email,\n polling,\n));\n\nconst Footer = BaseFooter.extend({\n links: function () {\n var links = [\n // email recovery not supported to LEA\n ];\n // check if we have a select-factor form in remediation, if so add a link\n if (this.options.appState.hasRemediationForm('select-factor-authenticate')) {\n links.push({\n 'type': 'link',\n 'label': 'Switch Factor',\n 'name': 'switchFactor',\n 'formName': 'select-factor-authenticate',\n });\n }\n return links;\n }\n});\n\nexport default BaseFactorView.extend({\n Body,\n Footer\n});\n\n\n\n// WEBPACK FOOTER //\n// ./src/v2/view-builder/views/email/RequiredFactorEmailView.js","import email from '../shared/email';\nimport BaseFactorTerminalView from '../shared/BaseFactorTerminalView';\n\nconst Body = BaseFactorTerminalView.prototype.Body.extend(Object.assign(\n {\n subtitle: 'To finish signing in, return to the screen where you requested the email link.',\n },\n email,\n));\n\nexport default BaseFactorTerminalView.extend({\n Body,\n});\n\n\n\n// WEBPACK FOOTER //\n// ./src/v2/view-builder/views/email/TerminalReturnEmailView.js","import BaseFactorTerminalView from '../shared/BaseFactorTerminalView';\n\nconst Body = BaseFactorTerminalView.prototype.Body.extend({\n title () {\n return 'You can close this window';\n },\n});\n\nexport default BaseFactorTerminalView.extend({\n Body,\n});\n\n\n\n// WEBPACK FOOTER //\n// ./src/v2/view-builder/views/email/TerminalTransferedEmailView.js","/*!\n * Copyright (c) 2019, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n\n// BaseLoginRouter contains the more complicated router logic - rendering/\n// transition, etc. Most router changes should happen in LoginRouter (which is\n// responsible for adding new routes)\nimport { _, $, Backbone, Router, loc } from 'okta';\nimport Settings from 'models/Settings';\nimport BrowserFeatures from 'util/BrowserFeatures';\nimport Bundles from 'util/Bundles';\nimport ColorsUtil from 'util/ColorsUtil';\nimport Enums from 'util/Enums';\nimport Errors from 'util/Errors';\nimport Logger from 'util/Logger';\nimport AuthContainer from 'views/shared/AuthContainer';\nimport Header from 'views/shared/Header';\nimport responseTransformer from './ion/responseTransformer';\nimport uiSchemaTransformer from './ion/uiSchemaTransformer';\nimport AppState from './models/AppState';\n\nfunction loadLanguage (appState, languageCode, i18n, assetBaseUrl, assetRewrite) {\n const timeout = setTimeout(function () {\n // Trigger a spinner if we're waiting on a request for a new language.\n appState.trigger('loading', true);\n }, 200);\n\n return Bundles.loadLanguage(languageCode, i18n, {\n baseUrl: assetBaseUrl,\n rewrite: assetRewrite,\n }).then(function () {\n clearTimeout(timeout);\n appState.trigger('loading', false);\n });\n}\n\nexport default Router.extend({\n Events: Backbone.Events,\n\n initialize: function (options) {\n // Create a default success and/or error handler if\n // one is not provided.\n if (!options.globalSuccessFn) {\n options.globalSuccessFn = function () {};\n }\n if (!options.globalErrorFn) {\n options.globalErrorFn = function (err) {\n Logger.error(err);\n };\n }\n this.settings = new Settings(_.omit(options, 'el', 'authClient'), { parse: true });\n this.settings.setAuthClient(options.authClient);\n\n if (!options.el) {\n this.settings.callGlobalError(new Errors.ConfigError(loc('error.required.el')));\n }\n\n $('body > div').on('click', function () {\n // OKTA-69769 Tooltip wont close on iPhone/iPad\n // Registering a click handler on the first div\n // allows a tap that falls outside the tooltip\n // to be registered as a tap by iOS\n // and then the open tooltip will lose focus and close.\n });\n\n this.appState = new AppState();\n\n const wrapper = new AuthContainer({ appState: this.appState });\n\n $(options.el).append(wrapper.render().$el);\n this.el = `#${Enums.WIDGET_CONTAINER_ID}`;\n this.header = new Header({\n el: this.el,\n appState: this.appState,\n settings: this.settings,\n });\n\n // TODO: OKTA-244631 How to suface up the CORS error in IDX?\n // Since in new pipeline, it invokes introspect API first\n // hence no way to call GlobalError when CORS failure.\n this.listenTo(this.appState, 'change:remediationFailure', function (appState, err) {\n // Global error handling for CORS enabled errors\n if (err.xhr && BrowserFeatures.corsIsNotEnabled(err.xhr)) {\n this.settings.callGlobalError(new Errors.UnsupportedBrowserError(loc('error.enabled.cors')));\n return;\n }\n //set flashError\n this.appState.set('flashError', err);\n this.defaultAuth();\n });\n\n this.listenTo(this.appState, 'change:introspectSuccess', function (appState, trans) {\n //transfer introspectSuccess into remediationSuccess response\n // `data` attribute is added by auth-js Transaction Class as the 'original response'\n // but it's not useful in idx pipeline which has own way to keep the\n // original response in AppState(`__rawResponse`)\n this.appState.trigger('remediationSuccess', _.omit(trans, 'data'));\n });\n\n this.listenTo(this.appState, 'remediationSuccess', this.handleRemediationSuccess);\n\n },\n\n handleRemediationSuccess: function () {\n // transform response\n const ionResponse = _.compose(\n uiSchemaTransformer,\n responseTransformer\n )(this.appState.get('idx'));\n this.appState.setIonResponse(ionResponse);\n },\n\n render: function (Controller, options = {}) {\n // If we need to load a language (or apply custom i18n overrides), do\n // this now and re-run render after it's finished.\n if (!Bundles.isLoaded(this.settings.get('languageCode'))) {\n return loadLanguage(\n this.appState,\n this.settings.get('languageCode'),\n this.settings.get('i18n'),\n this.settings.get('assets.baseUrl'),\n this.settings.get('assets.rewrite')\n )\n .then(_.bind(this.render, this, Controller, options))\n .done();\n }\n\n // Load the custom colors only on the first render\n if (this.settings.get('colors.brand') && !ColorsUtil.isLoaded()) {\n const colors = {\n brand: this.settings.get('colors.brand'),\n };\n\n ColorsUtil.addStyle(colors);\n }\n\n if (!this.header.rendered()) {\n this.el = this.header.render().getContentEl();\n }\n\n // render Controller\n this.unload();\n const controllerOptions = _.extend({\n el: this.el,\n settings: this.settings,\n appState: this.appState\n }, options);\n this.controller = new Controller(controllerOptions);\n this.controller.render();\n },\n\n hide: function () {\n this.header.$el.hide();\n },\n\n show: function () {\n this.header.$el.show();\n },\n\n remove: function () {\n this.unload();\n this.header.$el.remove();\n this.stopListening(this.appState);\n this.stopListening(this.settings);\n Bundles.remove();\n Backbone.history.stop();\n },\n});\n\n\n\n// WEBPACK FOOTER //\n// ./src/v2/BaseLoginRouter.js","/*!\n * Copyright (c) 2019, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n\nimport { _ } from 'okta';\n\n/**\n * Transform the ion spec response into canonical format.\n */\n\n/**\n * Authn V2 response\n * @typedef {Object} AuthnResponse\n */\n\n/**\n * @typedef {Object} AuthnResult\n * @property {Object=} user\n * @property {Object=} factor\n */\n\nconst isObject = x => _.isObject(x);\n\n/**\n * Flatten first level objects from response\n */\nconst getFirstLevelObjects = (resp) => {\n const result = {};\n _.each(resp, (val, key) => {\n // if key is remediation we dont do any transformation\n if (key === 'remediation') {\n return;\n }\n\n // for arrays we just want it as a top level object\n // Example factors array in select-factor form\n if (val.type === 'array') {\n result[key] = {\n value: val.value\n };\n }\n\n // for handling attributes with type object\n if (val.type === 'object') {\n result[key] = val.value;\n }\n });\n return result;\n};\n\nconst getRemediationValues = (idx) => {\n const remediationValues = [];\n // handle success case\n if (_.isEmpty(idx.neededToProceed) && idx.context.success) {\n remediationValues.push({\n name: idx.context.success.name,\n href: idx.context.success.href,\n value: []\n });\n }\n _.each(idx.neededToProceed, (value, key) => {\n if (value && value.length) {\n remediationValues.push({\n value: value,\n name: key,\n });\n } else {\n remediationValues.push(_.omit(idx.rawIdxState.remediation.value[0], 'rel', 'value'));\n }\n });\n return {\n remediations: remediationValues\n };\n};\n\n/**\n *\n * @param {idx} idx object\n * @returns {} transformed object with flattened firstlevel objects, idx and remediations array\n * Example: {\n * remediations: [],\n * proceed: Æ’(),\n * neededToProceed: {},\n * actions: {cancel: Æ’()},\n * context: {},\n * rawIdxState:{},\n * factors: {},\n * factor: {},\n * messages: {},\n * }\n */\nconst convert = (idx) => {\n if (!isObject(idx && idx.rawIdxState)) {\n return null;\n }\n const resp = idx.rawIdxState;\n\n const firstLevelObjects = getFirstLevelObjects(resp);\n\n const remediationValues = getRemediationValues(idx);\n\n const result = Object.assign({},\n firstLevelObjects,\n remediationValues,\n idx\n );\n return result;\n};\n\nmodule.exports = convert;\n\n\n\n// WEBPACK FOOTER //\n// ./src/v2/ion/responseTransformer.js","/*!\n * Copyright (c) 2019, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n\n/**\n * Create UI Schema into remedation object base on remediation values\n */\nimport { _ } from 'okta';\n\n/**\n * Adds factorType metadata to each select-factor option item using factors array\n */\nconst createFactorTypeOptions = (options, factors) => {\n _.each(options, function (optionItem) {\n const factorValue = optionItem.value;\n const factor = factors.find(function (item) {\n return (item.factorProfileId === factorValue\n || item.factorId === factorValue);\n });\n optionItem.factorType = factor.factorType;\n });\n return options;\n};\n\n/**\n * @typedef {Object} IONFormField\n * @property {string} name\n * @property {string=} type\n * @property {string=} required\n * @property {string=} secret\n * @property {string=} label\n * @property {Object[]} options\n */\n\n/**\n *\n * @param {IONFormField[]} remediationValue\n * @param {factor[]} factors\n */\nconst createUISchema = (remediationValue = [], factors = []) => {\n // For cases where field itself is a form, it has a formname and we are appending the formname to each field\n // This is so that while making the request we can bundle these key:value pairs under the same key name\n // For simplicity we are assuming that when field itself is a form its only one level deep\n remediationValue = _.chain(remediationValue)\n .map(v => {\n if (v.form) {\n const inputGroupName = v.name;\n return v.form.value.map(input => {\n return Object.assign({}, input, { name: inputGroupName + '.' + input.name });\n });\n } else {\n return v;\n }\n })\n .flatten()\n .value();\n return remediationValue.map(ionFormField => {\n const uiSchema = {\n type: 'text',\n };\n if (ionFormField.secret === true) {\n uiSchema.type = 'password';\n uiSchema.params = {\n showPasswordToggle: true,\n };\n }\n // select factor form for multiple factor enroll and multiple factor verify\n // when factor has not been enrolled we get back factorProfileId, and once its enrolled\n // we get back factorId\n if (ionFormField.name === 'factorId' ||\n ionFormField.name === 'factorProfileId') {\n uiSchema.type = 'factorType';\n uiSchema.options = createFactorTypeOptions(ionFormField.options, factors);\n }\n return Object.assign(\n {},\n ionFormField,\n uiSchema,\n );\n });\n};\n\n/**\n *\n * @param {AuthResult} transformedResp\n */\nconst insertUISchema = (transformedResp) => {\n if (transformedResp) {\n const factors = transformedResp.factors && transformedResp.factors.value || [];\n \n transformedResp.remediations = transformedResp.remediations.map(obj => {\n obj.uiSchema = createUISchema(obj.value, factors);\n return obj;\n });\n }\n return transformedResp;\n};\n\nmodule.exports = insertUISchema;\n\n\n\n// WEBPACK FOOTER //\n// ./src/v2/ion/uiSchemaTransformer.js","/*!\n * Copyright (c) 2019, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n\nimport { _, Model } from 'okta';\nimport Logger from 'util/Logger';\n\nexport default Model.extend({\n\n local: {\n introspectSuccess: 'object', // only set during introspection\n introspectError: 'object', // only set during introspection\n\n factor: 'object', // optional\n user: 'object', // optional\n currentFormName: 'string',\n idx: 'object',\n remediations: 'array',\n __previousResponse: 'object'\n },\n\n derived: {\n factorProfile: {\n deps: ['factor'],\n fn (factor = {}) {\n return factor.profile || {};\n },\n },\n factorType: {\n deps: ['factor'],\n fn (factor = {}) {\n return factor.factorType;\n },\n },\n currentStep: {\n deps: ['idx'],\n fn: function (idx = {}) {\n if (idx && idx.context && idx.context.step) {\n return idx.context.step.toLowerCase();\n }\n },\n },\n showSignoutLink: {\n deps: ['idx'],\n fn: function (idx = {}) {\n const invalidSignOutSteps = ['IDENTIFY', 'ENROLL', 'SUCCESS'];\n // hide signout for IDENTIFY, ENROLL & SUCCESS step\n return idx.actions\n && _.isFunction(idx.actions.cancel) && !invalidSignOutSteps.includes(idx.context.step);\n },\n },\n },\n\n hasRemediationForm (formName) {\n return Object.keys(this.get('idx').neededToProceed).filter(name => name === formName).length === 1;\n },\n\n getActionByPath (actionPath) {\n const paths = actionPath.split('.');\n let targetObject;\n if (paths.length === 1) {\n targetObject = this.get('idx').actions;\n } else {\n targetObject = this.get(paths.shift());\n }\n // Limitation\n // At the time of writting, action only lives in first level of state objects.\n const actionName = paths.shift();\n if (targetObject && _.isFunction(targetObject[actionName])) {\n return targetObject[actionName];\n } else {\n return null;\n }\n },\n\n getCurrentViewState () {\n const currentFormName = this.get('currentFormName');\n\n let currentViewState;\n if (!_.isEmpty(this.get('remediations'))) {\n currentViewState = this.get('remediations').filter(r => r.name === currentFormName)[0];\n }\n\n if (!currentViewState) {\n if (currentFormName) {\n Logger.warn(`Cannot find view state for form ${currentFormName}. Fall back to terminal state.`);\n }\n\n currentViewState = this.get('terminal');\n }\n\n return currentViewState;\n },\n\n setIonResponse (resp) {\n const idx = this.get('idx');\n // Don't re-render view if new response is same as last.\n // Usually happening at polling and pipeline doesn't proceed to next step.\n // expiresAt will be different for each response, hence compare objects without that property\n if (_.isEqual(_.omit(idx.rawIdxState, 'expiresAt'), _.omit(this.get('__previousResponse'), 'expiresAt'))) {\n return;\n }\n\n // `currentFormName` is default to first form of remediation object or nothing.\n resp.currentFormName = null;\n\n if (idx.neededToProceed && idx.rawIdxState.remediation) {\n resp.currentFormName = idx.rawIdxState.remediation.value[0].name;\n }\n\n if (idx.rawIdxState.success) {\n resp.currentFormName = idx.rawIdxState.success.name;\n }\n\n // default terminal state for fall back\n if (idx.context.terminal && _.isEmpty(idx.context.terminal.value)) {\n resp.terminal = {\n name: 'terminal',\n value: [],\n uiSchema: [],\n };\n }\n //clear appState before setting new values\n this.clear({silent: true});\n // set new app state properties\n this.set(resp);\n // reset idx\n this.set('idx', idx);\n this.set('__previousResponse', idx.rawIdxState);\n\n // broadcast idxResponseUpdated to re-render the view\n this.trigger('idxResponseUpdated', resp);\n }\n\n});\n\n// Keep track of stateMachine with this special model. Similar to Appstate.js\n\n\n\n// WEBPACK FOOTER //\n// ./src/v2/models/AppState.js","/*!\n * Copyright (c) 2015-present, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n * \n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * \n * See the License for the specific language governing permissions and limitations under the License.\n * \n */\n!function(e,t){\"object\"==typeof exports&&\"object\"==typeof module?module.exports=t():\"function\"==typeof define&&define.amd?define([],t):\"object\"==typeof exports?exports.OktaAuth=t():e.OktaAuth=t()}(\"undefined\"!=typeof self?self:this,function(){return function(e){function t(r){if(n[r])return n[r].exports;var o=n[r]={i:r,l:!1,exports:{}};return e[r].call(o.exports,o,o.exports,t),o.l=!0,o.exports}var n={};return t.m=e,t.c=n,t.d=function(e,n,r){t.o(e,n)||Object.defineProperty(e,n,{configurable:!1,enumerable:!0,get:r})},t.n=function(e){var n=e&&e.__esModule?function(){return e.default}:function(){return e};return t.d(n,\"a\",n),n},t.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},t.p=\"\",t(t.s=11)}([function(e,t){var n=e.exports;n.stringToBase64Url=function(e){var t=btoa(e);return n.base64ToBase64Url(t)},n.base64ToBase64Url=function(e){return e.replace(/\\+/g,\"-\").replace(/\\//g,\"_\").replace(/=+$/,\"\")},n.base64UrlToBase64=function(e){return e.replace(/-/g,\"+\").replace(/_/g,\"/\")},n.base64UrlToString=function(e){var t=n.base64UrlToBase64(e);switch(t.length%4){case 0:break;case 2:t+=\"==\";break;case 3:t+=\"=\";break;default:throw\"Not a valid Base64Url\"}var r=atob(t);try{return decodeURIComponent(escape(r))}catch(e){return r}},n.stringToBuffer=function(e){for(var t=new Uint8Array(e.length),n=0;n<e.length;n++)t[n]=e.charCodeAt(n);return t},n.base64UrlDecode=function(e){return atob(n.base64UrlToBase64(e))},n.bind=function(e,t){var n=Array.prototype.slice.call(arguments,2);return function(){var r=Array.prototype.slice.call(arguments);return r=n.concat(r),e.apply(t,r)}},n.isAbsoluteUrl=function(e){return/^(?:[a-z]+:)?\\/\\//i.test(e)},n.isString=function(e){return\"[object String]\"===Object.prototype.toString.call(e)},n.isObject=function(e){return\"[object Object]\"===Object.prototype.toString.call(e)},n.isNumber=function(e){return\"[object Number]\"===Object.prototype.toString.call(e)},n.isArray=function(e){return\"[object Array]\"===Object.prototype.toString.call(e)},n.isoToUTCString=function(e){var t=e.match(/\\d+/g),n=Date.UTC(t[0],t[1]-1,t[2],t[3],t[4],t[5]);return new Date(n).toUTCString()},n.toQueryParams=function(e){var t=[];if(null!==e)for(var n in e)e.hasOwnProperty(n)&&void 0!==e[n]&&null!==e[n]&&t.push(n+\"=\"+encodeURIComponent(e[n]));return t.length?\"?\"+t.join(\"&\"):\"\"},n.genRandomString=function(e){for(var t=\"abcdefghijklnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789\",n=\"\",r=0,o=t.length;r<e;++r)n+=t[Math.floor(Math.random()*o)];return n},n.extend=function(){var e=arguments[0];return[].slice.call(arguments,1).forEach(function(t){for(var n in t)t.hasOwnProperty(n)&&void 0!==t[n]&&(e[n]=t[n])}),e},n.removeNils=function(e){var t={};for(var n in e)if(e.hasOwnProperty(n)){var r=e[n];null!==r&&void 0!==r&&(t[n]=r)}return t},n.clone=function(e){if(e){var t=JSON.stringify(e);if(t)return JSON.parse(t)}return e},n.omit=function(e){var t=Array.prototype.slice.call(arguments,1),r={};for(var o in e)e.hasOwnProperty(o)&&-1==t.indexOf(o)&&(r[o]=e[o]);return n.clone(r)},n.find=function(e,t){for(var n=e.length;n--;){var r=e[n],o=!0;for(var i in t)if(t.hasOwnProperty(i)&&r[i]!==t[i]){o=!1;break}if(o)return r}},n.getLink=function(e,t,r){if(e&&e._links){var o=n.clone(e._links[t]);return o&&o.name&&r?o.name===r?o:void 0:o}},n.getNativeConsole=function(){return\"undefined\"!=typeof window?window.console:\"undefined\"!=typeof console?console:void 0},n.getConsole=function(){var e=n.getNativeConsole();return e&&e.log?e:{log:function(){}}},n.warn=function(e){n.getConsole().log(\"[okta-auth-sdk] WARN: \"+e)},n.deprecate=function(e){n.getConsole().log(\"[okta-auth-sdk] DEPRECATION: \"+e)},n.deprecateWrap=function(e,t){return function(){return n.deprecate(e),t.apply(null,arguments)}},n.removeTrailingSlash=function(e){if(e){var t=e.replace(/^\\s+|\\s+$/gm,\"\");return t=t.replace(/\\/+$/,\"\")}},n.isIE11OrLess=function(){return!!document.documentMode&&document.documentMode<=11},n.isFunction=function(e){return!!e&&\"[object Function]\"==={}.toString.call(e)}},function(e,t){function n(e,t){this.name=\"AuthSdkError\",this.message=e,this.errorCode=\"INTERNAL\",this.errorSummary=e,this.errorLink=\"INTERNAL\",this.errorId=\"INTERNAL\",this.errorCauses=[],t&&(this.xhr=t)}n.prototype=new Error,e.exports=n},function(e,t){e.exports={STATE_TOKEN_KEY_NAME:\"oktaStateToken\",DEFAULT_POLLING_DELAY:500,DEFAULT_MAX_CLOCK_SKEW:300,DEFAULT_CACHE_DURATION:86400,REDIRECT_OAUTH_PARAMS_COOKIE_NAME:\"okta-oauth-redirect-params\",REDIRECT_STATE_COOKIE_NAME:\"okta-oauth-state\",REDIRECT_NONCE_COOKIE_NAME:\"okta-oauth-nonce\",TOKEN_STORAGE_NAME:\"okta-token-storage\",CACHE_STORAGE_NAME:\"okta-cache-storage\",PKCE_STORAGE_NAME:\"okta-pkce-storage\"}},function(e,t,n){function r(e,t){t=t||{};var n=t.url,r=t.method,o=t.args,i=t.saveAuthnState,f=t.accessToken,p=!1!==t.withCredentials,l=e.options.storageUtil,d=l.storage,h=l.getHttpCache();if(t.cacheResponse){var y=h.getStorage(),g=y[n];if(g&&Date.now()/1e3<g.expiresAt)return a.resolve(g.response)}var m={Accept:\"application/json\",\"Content-Type\":\"application/json\",\"X-Okta-User-Agent-Extended\":e.userAgent};s.extend(m,e.options.headers,t.headers),f&&s.isString(f)&&(m.Authorization=\"Bearer \"+f);var v,w,T={headers:m,data:o||void 0,withCredentials:p};return new a(e.options.httpRequestClient(r,n,T)).then(function(e){return w=e.responseText,w&&s.isString(w)&&(w=JSON.parse(w)),i&&(w.stateToken||d.delete(c.STATE_TOKEN_KEY_NAME)),w&&w.stateToken&&w.expiresAt&&d.set(c.STATE_TOKEN_KEY_NAME,w.stateToken,w.expiresAt),w&&t.cacheResponse&&h.updateStorage(n,{expiresAt:Math.floor(Date.now()/1e3)+c.DEFAULT_CACHE_DURATION,response:w}),w}).fail(function(t){var n=t.responseText||{};if(s.isString(n))try{n=JSON.parse(n)}catch(e){n={errorSummary:\"Unknown error\"}}throw t.status>=500&&(n.errorSummary=\"Unknown error\"),e.options.transformErrorXHR&&(t=e.options.transformErrorXHR(s.clone(t))),v=new u(n,t),\"E0000011\"===v.errorCode&&d.delete(c.STATE_TOKEN_KEY_NAME),v})}function o(e,t,n){t=s.isAbsoluteUrl(t)?t:e.options.url+t;var o={url:t,method:\"GET\"};return s.extend(o,n),r(e,o)}function i(e,t,n,o){t=s.isAbsoluteUrl(t)?t:e.options.url+t;var i={url:t,method:\"POST\",args:n,saveAuthnState:!0};return s.extend(i,o),r(e,i)}var s=n(0),a=n(5),u=n(22),c=n(2);e.exports={get:o,post:i,httpRequest:r}},function(e,t,n){var r=n(14),o=n(6),i=n(2),s={};s.browserHasLocalStorage=function(){try{var e=s.getLocalStorage();return s.testStorage(e)}catch(e){return!1}},s.browserHasSessionStorage=function(){try{var e=s.getSessionStorage();return s.testStorage(e)}catch(e){return!1}},s.getPKCEStorage=function(){return s.browserHasLocalStorage()?o(s.getLocalStorage(),i.PKCE_STORAGE_NAME):s.browserHasSessionStorage()?o(s.getSessionStorage(),i.PKCE_STORAGE_NAME):o(s.getCookieStorage({secure:\"https:\"===window.location.protocol}),i.PKCE_STORAGE_NAME)},s.getHttpCache=function(){return s.browserHasLocalStorage()?o(s.getLocalStorage(),i.CACHE_STORAGE_NAME):s.browserHasSessionStorage()?o(s.getSessionStorage(),i.CACHE_STORAGE_NAME):o(s.getCookieStorage({secure:\"https:\"===window.location.protocol}),i.CACHE_STORAGE_NAME)},s.getLocalStorage=function(){return localStorage},s.getSessionStorage=function(){return sessionStorage},s.getCookieStorage=function(e){e=e||{};var t=e.secure||!1,n=e.sameSite||(t?\"none\":\"lax\");return{getItem:s.storage.get,setItem:function(e,r){s.storage.set(e,r,\"2200-01-01T00:00:00.000Z\",{secure:t,sameSite:n})}}},s.getInMemoryStorage=function(){var e={};return{getItem:function(t){return e[t]},setItem:function(t,n){e[t]=n}}},s.testStorage=function(e){var t=\"okta-test-storage\";try{return e.setItem(t,t),e.removeItem(t),!0}catch(e){return!1}},s.storage={set:function(e,t,n,o){o=o||{};var i={path:o.path||\"/\",secure:o.secure,sameSite:o.sameSite};return Date.parse(n)&&(i.expires=new Date(n)),r.set(e,t,i),s.storage.get(e)},get:function(e){return r.get(e)},delete:function(e){return r.remove(e,{path:\"/\"})}},e.exports=s},function(e,t,n){(function(t,n){/*!\n *\n * Copyright 2009-2012 Kris Kowal under the terms of the MIT\n * license found at http://github.com/kriskowal/q/raw/master/LICENSE\n *\n * With parts by Tyler Close\n * Copyright 2007-2009 Tyler Close under the terms of the MIT X license found\n * at http://www.opensource.org/licenses/mit-license.html\n * Forked at ref_send.js version: 2009-05-11\n *\n * With parts by Mark Miller\n * Copyright (C) 2011 Google Inc.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n */\n!function(t){\"use strict\";if(\"function\"==typeof bootstrap)bootstrap(\"promise\",t);else{e.exports=t()}}(function(){\"use strict\";function e(e){return function(){return J.apply(e,arguments)}}function r(e){return e===Object(e)}function o(e){return\"[object StopIteration]\"===ne(e)||e instanceof z}function i(e,t){if(K&&t.stack&&\"object\"==typeof e&&null!==e&&e.stack&&-1===e.stack.indexOf(re)){for(var n=[],r=t;r;r=r.source)r.stack&&n.unshift(r.stack);n.unshift(e.stack);var o=n.join(\"\\n\"+re+\"\\n\");e.stack=s(o)}}function s(e){for(var t=e.split(\"\\n\"),n=[],r=0;r<t.length;++r){var o=t[r];c(o)||a(o)||!o||n.push(o)}return n.join(\"\\n\")}function a(e){return-1!==e.indexOf(\"(module.js:\")||-1!==e.indexOf(\"(node.js:\")}function u(e){var t=/at .+ \\((.+):(\\d+):(?:\\d+)\\)$/.exec(e);if(t)return[t[1],Number(t[2])];var n=/at ([^ ]+):(\\d+):(?:\\d+)$/.exec(e);if(n)return[n[1],Number(n[2])];var r=/.*@(.+):(\\d+)$/.exec(e);return r?[r[1],Number(r[2])]:void 0}function c(e){var t=u(e);if(!t)return!1;var n=t[0],r=t[1];return n===q&&r>=W&&r<=ue}function f(){if(K)try{throw new Error}catch(r){var e=r.stack.split(\"\\n\"),t=e[0].indexOf(\"@\")>0?e[1]:e[2],n=u(t);if(!n)return;return q=n[0],n[1]}}function p(e){return e instanceof y?e:w(e)?O(e):_(e)}function l(){function e(e){t=e,i.source=e,Y(n,function(t,n){p.nextTick(function(){e.promiseDispatch.apply(e,n)})},void 0),n=void 0,r=void 0}var t,n=[],r=[],o=Z(l.prototype),i=Z(y.prototype);if(i.promiseDispatch=function(e,o,i){var s=Q(arguments);n?(n.push(s),\"when\"===o&&i[1]&&r.push(i[1])):p.nextTick(function(){t.promiseDispatch.apply(t,s)})},i.valueOf=function(){if(n)return i;var e=m(t);return v(e)&&(t=e),e},i.inspect=function(){return t?t.inspect():{state:\"pending\"}},p.longStackSupport&&K)try{throw new Error}catch(e){i.stack=e.stack.substring(e.stack.indexOf(\"\\n\")+1)}return o.promise=i,o.resolve=function(n){t||e(p(n))},o.fulfill=function(n){t||e(_(n))},o.reject=function(n){t||e(x(n))},o.notify=function(e){t||Y(r,function(t,n){p.nextTick(function(){n(e)})},void 0)},o}function d(e){if(\"function\"!=typeof e)throw new TypeError(\"resolver must be a function.\");var t=l();try{e(t.resolve,t.reject,t.notify)}catch(e){t.reject(e)}return t.promise}function h(e){return d(function(t,n){for(var r=0,o=e.length;r<o;r++)p(e[r]).then(t,n)})}function y(e,t,n){void 0===t&&(t=function(e){return x(new Error(\"Promise does not support operation: \"+e))}),void 0===n&&(n=function(){return{state:\"unknown\"}});var r=Z(y.prototype);if(r.promiseDispatch=function(n,o,i){var s;try{s=e[o]?e[o].apply(r,i):t.call(r,o,i)}catch(e){s=x(e)}n&&n(s)},r.inspect=n,n){var o=n();\"rejected\"===o.state&&(r.exception=o.reason),r.valueOf=function(){var e=n();return\"pending\"===e.state||\"rejected\"===e.state?r:e.value}}return r}function g(e,t,n,r){return p(e).then(t,n,r)}function m(e){if(v(e)){var t=e.inspect();if(\"fulfilled\"===t.state)return t.value}return e}function v(e){return e instanceof y}function w(e){return r(e)&&\"function\"==typeof e.then}function T(e){return v(e)&&\"pending\"===e.inspect().state}function k(e){return!v(e)||\"fulfilled\"===e.inspect().state}function b(e){return v(e)&&\"rejected\"===e.inspect().state}function E(){oe.length=0,ie.length=0,ae||(ae=!0)}function S(e,n){ae&&(\"object\"==typeof t&&\"function\"==typeof t.emit&&p.nextTick.runAfter(function(){-1!==X(ie,e)&&(t.emit(\"unhandledRejection\",n,e),se.push(e))}),ie.push(e),n&&void 0!==n.stack?oe.push(n.stack):oe.push(\"(no stack) \"+n))}function A(e){if(ae){var n=X(ie,e);-1!==n&&(\"object\"==typeof t&&\"function\"==typeof t.emit&&p.nextTick.runAfter(function(){var r=X(se,e);-1!==r&&(t.emit(\"rejectionHandled\",oe[n],e),se.splice(r,1))}),ie.splice(n,1),oe.splice(n,1))}}function x(e){var t=y({when:function(t){return t&&A(this),t?t(e):this}},function(){return this},function(){return{state:\"rejected\",reason:e}});return S(t,e),t}function _(e){return y({when:function(){return e},get:function(t){return e[t]},set:function(t,n){e[t]=n},delete:function(t){delete e[t]},post:function(t,n){return null===t||void 0===t?e.apply(void 0,n):e[t].apply(e,n)},apply:function(t,n){return e.apply(t,n)},keys:function(){return te(e)}},void 0,function(){return{state:\"fulfilled\",value:e}})}function O(e){var t=l();return p.nextTick(function(){try{e.then(t.resolve,t.reject,t.notify)}catch(e){t.reject(e)}}),t.promise}function U(e){return y({isDef:function(){}},function(t,n){return M(e,t,n)},function(){return p(e).inspect()})}function C(e,t,n){return p(e).spread(t,n)}function R(e){return function(){function t(e,t){var s;if(\"undefined\"==typeof StopIteration){try{s=n[e](t)}catch(e){return x(e)}return s.done?p(s.value):g(s.value,r,i)}try{s=n[e](t)}catch(e){return o(e)?p(e.value):x(e)}return g(s,r,i)}var n=e.apply(this,arguments),r=t.bind(t,\"next\"),i=t.bind(t,\"throw\");return r()}}function j(e){p.done(p.async(e)())}function P(e){throw new z(e)}function I(e){return function(){return C([this,N(arguments)],function(t,n){return e.apply(t,n)})}}function M(e,t,n){return p(e).dispatch(t,n)}function N(e){return g(e,function(e){var t=0,n=l();return Y(e,function(r,o,i){var s;v(o)&&\"fulfilled\"===(s=o.inspect()).state?e[i]=s.value:(++t,g(o,function(r){e[i]=r,0==--t&&n.resolve(e)},n.reject,function(e){n.notify({index:i,value:e})}))},void 0),0===t&&n.resolve(e),n.promise})}function D(e){if(0===e.length)return p.resolve();var t=p.defer(),n=0;return Y(e,function(r,o,i){function s(e){t.resolve(e)}function a(){0===--n&&t.reject(new Error(\"Can't get fulfillment value from any promise, all promises were rejected.\"))}function u(e){t.notify({index:i,value:e})}var c=e[i];n++,g(c,s,a,u)},void 0),t.promise}function L(e){return g(e,function(e){return e=$(e,p),g(N($(e,function(e){return g(e,G,G)})),function(){return e})})}function F(e){return p(e).allSettled()}function B(e,t){return p(e).then(void 0,void 0,t)}function H(e,t){return p(e).nodeify(t)}var K=!1;try{throw new Error}catch(e){K=!!e.stack}var q,z,W=f(),G=function(){},V=function(){function e(){for(var e,t;o.next;)o=o.next,e=o.task,o.task=void 0,t=o.domain,t&&(o.domain=void 0,t.enter()),r(e,t);for(;c.length;)e=c.pop(),r(e);s=!1}function r(t,n){try{t()}catch(t){if(u)throw n&&n.exit(),setTimeout(e,0),n&&n.enter(),t;setTimeout(function(){throw t},0)}n&&n.exit()}var o={task:void 0,next:null},i=o,s=!1,a=void 0,u=!1,c=[];if(V=function(e){i=i.next={task:e,domain:u&&t.domain,next:null},s||(s=!0,a())},\"object\"==typeof t&&\"[object process]\"===t.toString()&&t.nextTick)u=!0,a=function(){t.nextTick(e)};else if(\"function\"==typeof n)a=\"undefined\"!=typeof window?n.bind(window,e):function(){n(e)};else if(\"undefined\"!=typeof MessageChannel){var f=new MessageChannel;f.port1.onmessage=function(){a=p,f.port1.onmessage=e,e()};var p=function(){f.port2.postMessage(0)};a=function(){setTimeout(e,0),p()}}else a=function(){setTimeout(e,0)};return V.runAfter=function(e){c.push(e),s||(s=!0,a())},V}(),J=Function.call,Q=e(Array.prototype.slice),Y=e(Array.prototype.reduce||function(e,t){var n=0,r=this.length;if(1===arguments.length)for(;;){if(n in this){t=this[n++];break}if(++n>=r)throw new TypeError}for(;n<r;n++)n in this&&(t=e(t,this[n],n));return t}),X=e(Array.prototype.indexOf||function(e){for(var t=0;t<this.length;t++)if(this[t]===e)return t;return-1}),$=e(Array.prototype.map||function(e,t){var n=this,r=[];return Y(n,function(o,i,s){r.push(e.call(t,i,s,n))},void 0),r}),Z=Object.create||function(e){function t(){}return t.prototype=e,new t},ee=e(Object.prototype.hasOwnProperty),te=Object.keys||function(e){var t=[];for(var n in e)ee(e,n)&&t.push(n);return t},ne=e(Object.prototype.toString);z=\"undefined\"!=typeof ReturnValue?ReturnValue:function(e){this.value=e};var re=\"From previous event:\";p.resolve=p,p.nextTick=V,p.longStackSupport=!1,\"object\"==typeof t&&t&&t.env&&t.env.Q_DEBUG&&(p.longStackSupport=!0),p.defer=l,l.prototype.makeNodeResolver=function(){var e=this;return function(t,n){t?e.reject(t):arguments.length>2?e.resolve(Q(arguments,1)):e.resolve(n)}},p.Promise=d,p.promise=d,d.race=h,d.all=N,d.reject=x,d.resolve=p,p.passByCopy=function(e){return e},y.prototype.passByCopy=function(){return this},p.join=function(e,t){return p(e).join(t)},y.prototype.join=function(e){return p([this,e]).spread(function(e,t){if(e===t)return e;throw new Error(\"Can't join: not the same: \"+e+\" \"+t)})},p.race=h,y.prototype.race=function(){return this.then(p.race)},p.makePromise=y,y.prototype.toString=function(){return\"[object Promise]\"},y.prototype.then=function(e,t,n){function r(t){try{return\"function\"==typeof e?e(t):t}catch(e){return x(e)}}function o(e){if(\"function\"==typeof t){i(e,a);try{return t(e)}catch(e){return x(e)}}return x(e)}function s(e){return\"function\"==typeof n?n(e):e}var a=this,u=l(),c=!1;return p.nextTick(function(){a.promiseDispatch(function(e){c||(c=!0,u.resolve(r(e)))},\"when\",[function(e){c||(c=!0,u.resolve(o(e)))}])}),a.promiseDispatch(void 0,\"when\",[void 0,function(e){var t,n=!1;try{t=s(e)}catch(e){if(n=!0,!p.onerror)throw e;p.onerror(e)}n||u.notify(t)}]),u.promise},p.tap=function(e,t){return p(e).tap(t)},y.prototype.tap=function(e){return e=p(e),this.then(function(t){return e.fcall(t).thenResolve(t)})},p.when=g,y.prototype.thenResolve=function(e){return this.then(function(){return e})},p.thenResolve=function(e,t){return p(e).thenResolve(t)},y.prototype.thenReject=function(e){return this.then(function(){throw e})},p.thenReject=function(e,t){return p(e).thenReject(t)},p.nearer=m,p.isPromise=v,p.isPromiseAlike=w,p.isPending=T,y.prototype.isPending=function(){return\"pending\"===this.inspect().state},p.isFulfilled=k,y.prototype.isFulfilled=function(){return\"fulfilled\"===this.inspect().state},p.isRejected=b,y.prototype.isRejected=function(){return\"rejected\"===this.inspect().state};var oe=[],ie=[],se=[],ae=!0;p.resetUnhandledRejections=E,p.getUnhandledReasons=function(){return oe.slice()},p.stopUnhandledRejectionTracking=function(){E(),ae=!1},E(),p.reject=x,p.fulfill=_,p.master=U,p.spread=C,y.prototype.spread=function(e,t){return this.all().then(function(t){return e.apply(void 0,t)},t)},p.async=R,p.spawn=j,p.return=P,p.promised=I,p.dispatch=M,y.prototype.dispatch=function(e,t){var n=this,r=l();return p.nextTick(function(){n.promiseDispatch(r.resolve,e,t)}),r.promise},p.get=function(e,t){return p(e).dispatch(\"get\",[t])},y.prototype.get=function(e){return this.dispatch(\"get\",[e])},p.set=function(e,t,n){return p(e).dispatch(\"set\",[t,n])},y.prototype.set=function(e,t){return this.dispatch(\"set\",[e,t])},p.del=p.delete=function(e,t){return p(e).dispatch(\"delete\",[t])},y.prototype.del=y.prototype.delete=function(e){return this.dispatch(\"delete\",[e])},p.mapply=p.post=function(e,t,n){return p(e).dispatch(\"post\",[t,n])},y.prototype.mapply=y.prototype.post=function(e,t){return this.dispatch(\"post\",[e,t])},p.send=p.mcall=p.invoke=function(e,t){return p(e).dispatch(\"post\",[t,Q(arguments,2)])},y.prototype.send=y.prototype.mcall=y.prototype.invoke=function(e){return this.dispatch(\"post\",[e,Q(arguments,1)])},p.fapply=function(e,t){return p(e).dispatch(\"apply\",[void 0,t])},y.prototype.fapply=function(e){return this.dispatch(\"apply\",[void 0,e])},p.try=p.fcall=function(e){return p(e).dispatch(\"apply\",[void 0,Q(arguments,1)])},y.prototype.fcall=function(){return this.dispatch(\"apply\",[void 0,Q(arguments)])},p.fbind=function(e){var t=p(e),n=Q(arguments,1);return function(){return t.dispatch(\"apply\",[this,n.concat(Q(arguments))])}},y.prototype.fbind=function(){var e=this,t=Q(arguments);return function(){return e.dispatch(\"apply\",[this,t.concat(Q(arguments))])}},p.keys=function(e){return p(e).dispatch(\"keys\",[])},y.prototype.keys=function(){return this.dispatch(\"keys\",[])},p.all=N,y.prototype.all=function(){return N(this)},p.any=D,y.prototype.any=function(){return D(this)},p.allResolved=function(e,t,n){return function(){return\"undefined\"!=typeof console&&\"function\"==typeof console.warn&&console.warn(t+\" is deprecated, use \"+n+\" instead.\",new Error(\"\").stack),e.apply(e,arguments)}}(L,\"allResolved\",\"allSettled\"),y.prototype.allResolved=function(){return L(this)},p.allSettled=F,y.prototype.allSettled=function(){return this.then(function(e){return N($(e,function(e){function t(){return e.inspect()}return e=p(e),e.then(t,t)}))})},p.fail=p.catch=function(e,t){return p(e).then(void 0,t)},y.prototype.fail=y.prototype.catch=function(e){return this.then(void 0,e)},p.progress=B,y.prototype.progress=function(e){return this.then(void 0,void 0,e)},p.fin=p.finally=function(e,t){return p(e).finally(t)},y.prototype.fin=y.prototype.finally=function(e){return e=p(e),this.then(function(t){return e.fcall().then(function(){return t})},function(t){return e.fcall().then(function(){throw t})})},p.done=function(e,t,n,r){return p(e).done(t,n,r)},y.prototype.done=function(e,n,r){var o=function(e){p.nextTick(function(){if(i(e,s),!p.onerror)throw e;p.onerror(e)})},s=e||n||r?this.then(e,n,r):this;\"object\"==typeof t&&t&&t.domain&&(o=t.domain.bind(o)),s.then(void 0,o)},p.timeout=function(e,t,n){return p(e).timeout(t,n)},y.prototype.timeout=function(e,t){var n=l(),r=setTimeout(function(){t&&\"string\"!=typeof t||(t=new Error(t||\"Timed out after \"+e+\" ms\"),t.code=\"ETIMEDOUT\"),n.reject(t)},e);return this.then(function(e){clearTimeout(r),n.resolve(e)},function(e){clearTimeout(r),n.reject(e)},n.notify),n.promise},p.delay=function(e,t){return void 0===t&&(t=e,e=void 0),p(e).delay(t)},y.prototype.delay=function(e){return this.then(function(t){var n=l();return setTimeout(function(){n.resolve(t)},e),n.promise})},p.nfapply=function(e,t){return p(e).nfapply(t)},y.prototype.nfapply=function(e){var t=l(),n=Q(e);return n.push(t.makeNodeResolver()),this.fapply(n).fail(t.reject),t.promise},p.nfcall=function(e){var t=Q(arguments,1);return p(e).nfapply(t)},y.prototype.nfcall=function(){var e=Q(arguments),t=l();return e.push(t.makeNodeResolver()),this.fapply(e).fail(t.reject),t.promise},p.nfbind=p.denodeify=function(e){var t=Q(arguments,1);return function(){var n=t.concat(Q(arguments)),r=l();return n.push(r.makeNodeResolver()),p(e).fapply(n).fail(r.reject),r.promise}},y.prototype.nfbind=y.prototype.denodeify=function(){var e=Q(arguments);return e.unshift(this),p.denodeify.apply(void 0,e)},p.nbind=function(e,t){var n=Q(arguments,2);return function(){function r(){return e.apply(t,arguments)}var o=n.concat(Q(arguments)),i=l();return o.push(i.makeNodeResolver()),p(r).fapply(o).fail(i.reject),i.promise}},y.prototype.nbind=function(){var e=Q(arguments,0);return e.unshift(this),p.nbind.apply(void 0,e)},p.nmapply=p.npost=function(e,t,n){return p(e).npost(t,n)},y.prototype.nmapply=y.prototype.npost=function(e,t){var n=Q(t||[]),r=l();return n.push(r.makeNodeResolver()),this.dispatch(\"post\",[e,n]).fail(r.reject),r.promise},p.nsend=p.nmcall=p.ninvoke=function(e,t){var n=Q(arguments,2),r=l();return n.push(r.makeNodeResolver()),p(e).dispatch(\"post\",[t,n]).fail(r.reject),r.promise},y.prototype.nsend=y.prototype.nmcall=y.prototype.ninvoke=function(e){var t=Q(arguments,1),n=l();return t.push(n.makeNodeResolver()),this.dispatch(\"post\",[e,t]).fail(n.reject),n.promise},p.nodeify=H,y.prototype.nodeify=function(e){if(!e)return this;this.then(function(t){p.nextTick(function(){e(null,t)})},function(t){p.nextTick(function(){e(t)})})},p.noConflict=function(){throw new Error(\"Q.noConflict only works when Q is used as a global\")};var ue=f();return p})}).call(t,n(8),n(20).setImmediate)},function(e,t,n){function r(e,t){function n(){var n=e.getItem(t);n=n||\"{}\";try{return JSON.parse(n)}catch(e){throw new o(\"Unable to parse storage string: \"+t)}}function r(n){try{var r=JSON.stringify(n);e.setItem(t,r)}catch(e){throw new o(\"Unable to set storage: \"+t)}}function i(e){e||r({});var t=n();delete t[e],r(t)}function s(e,t){var o=n();o[e]=t,r(o)}if(\"string\"!=typeof t||!t.length)throw new o('\"storageName\" is required');return{getStorage:n,setStorage:r,clearStorage:i,updateStorage:s}}var o=n(1);e.exports=r},function(e,t,n){function r(e,t){var n={};return m.extend(n,t),!n.stateToken&&e.stateToken&&(n.stateToken=e.stateToken),n}function o(e){return r(e)}function i(e,t){return t=r(e,t),g.post(e,e.options.url+\"/api/v1/authn\",t)}function s(e,t){if(!t||!t.stateToken){var n=e.tx.exists._get(k.STATE_TOKEN_KEY_NAME);if(!n)return v.reject(new w(\"No transaction to resume\"));t={stateToken:n}}return e.tx.status(t).then(function(t){return new y(e,t)})}function a(e,t){if(!t||!t.stateToken){var n=e.tx.exists._get(k.STATE_TOKEN_KEY_NAME);if(!n)return v.reject(new w(\"No transaction to evaluate\"));t={stateToken:n}}return u(e,t).then(function(t){return new y(e,t)})}function u(e,t){return t=r(e,t),g.post(e,e.options.url+\"/api/v1/authn/introspect\",t)}function c(e){return!!e.tx.exists._get(k.STATE_TOKEN_KEY_NAME)}function f(e,t,n,r){return g.post(e,t,n,r).then(function(t){return new y(e,t)})}function p(e,t,n){return function(r){function i(){var n={};if(\"function\"==typeof u)try{n.autoPush=!!u()}catch(e){return v.reject(new w(\"AutoPush resulted in an error.\"))}else void 0!==u&&null!==u&&(n.autoPush=!!u);if(\"function\"==typeof a)try{n.rememberDevice=!!a()}catch(e){return v.reject(new w(\"RememberDevice resulted in an error.\"))}else void 0!==a&&null!==a&&(n.rememberDevice=!!a);var r=f.href+m.toQueryParams(n);return g.post(e,r,o(t),{saveAuthnState:!1})}var s,a,u,c;m.isNumber(r)?s=r:m.isObject(r)&&(s=r.delay,a=r.rememberDevice,u=r.autoPush,c=r.transactionCallBack),s||0===s||(s=k.DEFAULT_POLLING_DELAY);var f=m.getLink(t,\"next\",\"poll\");n.isPolling=!0;var p=0,l=function(){return n.isPolling?i().then(function(t){if(p=0,t.factorResult&&\"WAITING\"===t.factorResult){if(!n.isPolling)throw new T;return\"function\"==typeof c&&c(t),v.delay(s).then(l)}return n.isPolling=!1,new y(e,t)}).fail(function(e){if(e.xhr&&(0===e.xhr.status||429===e.xhr.status)&&p<=4){var t=1e3*Math.pow(2,p);return p++,v.delay(t).then(l)}throw e}):v.reject(new T)};return l().fail(function(e){throw n.isPolling=!1,e})}}function l(e,t,n,o,i){if(Array.isArray(o))return function(r,s){if(!r)throw new w(\"Must provide a link name\");var a=m.find(o,{name:r});if(!a)throw new w(\"No link found for that name\");return l(e,t,n,a,i)(s)};if(o.hints&&o.hints.allow&&1===o.hints.allow.length){switch(o.hints.allow[0]){case\"GET\":return function(){return g.get(e,o.href)};case\"POST\":return function(s){i&&i.isPolling&&(i.isPolling=!1);var a=r(t,s);\"MFA_ENROLL\"!==t.status&&\"FACTOR_ENROLL\"!==t.status||m.extend(a,{factorType:n.factorType,provider:n.provider});var u={},c=a.autoPush;if(void 0!==c){if(\"function\"==typeof c)try{u.autoPush=!!c()}catch(e){return v.reject(new w(\"AutoPush resulted in an error.\"))}else null!==c&&(u.autoPush=!!c);a=m.omit(a,\"autoPush\")}var p=a.rememberDevice;if(void 0!==p){if(\"function\"==typeof p)try{u.rememberDevice=!!p()}catch(e){return v.reject(new w(\"RememberDevice resulted in an error.\"))}else null!==p&&(u.rememberDevice=!!p);a=m.omit(a,\"rememberDevice\")}else a.profile&&void 0!==a.profile.updatePhone&&(a.profile.updatePhone&&(u.updatePhone=!0),a.profile=m.omit(a.profile,\"updatePhone\"));var l=o.href+m.toQueryParams(u);return f(e,l,a)}}}}function d(e,t,n,r){var o={};for(var i in n._links)if(n._links.hasOwnProperty(i)){var s=n._links[i];if(\"next\"===i&&(i=s.name),s.type)o[i]=s;else switch(i){case\"poll\":o.poll=p(e,t,r);break;default:var a=l(e,t,n,s,r);a&&(o[i]=a)}}return o}function h(e,t,n,r){if(n=n||t,n=m.clone(n),Array.isArray(n)){for(var o=[],i=0,s=n.length;i<s;i++)o.push(h(e,t,n[i],r));return o}var a=n._embedded||{};for(var u in a)a.hasOwnProperty(u)&&(m.isObject(a[u])||Array.isArray(a[u]))&&(a[u]=h(e,t,a[u],r));var c=d(e,t,n,r);return m.extend(a,c),n=m.omit(n,\"_embedded\",\"_links\"),m.extend(n,a),n}function y(e,t){t&&(this.data=t,m.extend(this,h(e,t,t,{})),delete this.stateToken,\"RECOVERY_CHALLENGE\"!==t.status||t._links||(this.cancel=function(){return new v(new y(e))}))}var g=n(3),m=n(0),v=n(5),w=n(1),T=n(23),k=n(2);e.exports={transactionStatus:i,resumeTransaction:s,transactionExists:c,postToTransaction:f,introspect:a}},function(e,t){function n(){throw new Error(\"setTimeout has not been defined\")}function r(){throw new Error(\"clearTimeout has not been defined\")}function o(e){if(f===setTimeout)return setTimeout(e,0);if((f===n||!f)&&setTimeout)return f=setTimeout,setTimeout(e,0);try{return f(e,0)}catch(t){try{return f.call(null,e,0)}catch(t){return f.call(this,e,0)}}}function i(e){if(p===clearTimeout)return clearTimeout(e);if((p===r||!p)&&clearTimeout)return p=clearTimeout,clearTimeout(e);try{return p(e)}catch(t){try{return p.call(null,e)}catch(t){return p.call(this,e)}}}function s(){y&&d&&(y=!1,d.length?h=d.concat(h):g=-1,h.length&&a())}function a(){if(!y){var e=o(s);y=!0;for(var t=h.length;t;){for(d=h,h=[];++g<t;)d&&d[g].run();g=-1,t=h.length}d=null,y=!1,i(e)}}function u(e,t){this.fun=e,this.array=t}function c(){}var f,p,l=e.exports={};!function(){try{f=\"function\"==typeof setTimeout?setTimeout:n}catch(e){f=n}try{p=\"function\"==typeof clearTimeout?clearTimeout:r}catch(e){p=r}}();var d,h=[],y=!1,g=-1;l.nextTick=function(e){var t=new Array(arguments.length-1);if(arguments.length>1)for(var n=1;n<arguments.length;n++)t[n-1]=arguments[n];h.push(new u(e,t)),1!==h.length||y||o(a)},u.prototype.run=function(){this.fun.apply(null,this.array)},l.title=\"browser\",l.browser=!0,l.env={},l.argv=[],l.version=\"\",l.versions={},l.on=c,l.addListener=c,l.once=c,l.off=c,l.removeListener=c,l.removeAllListeners=c,l.emit=c,l.prependListener=c,l.prependOnceListener=c,l.listeners=function(e){return[]},l.binding=function(e){throw new Error(\"process.binding is not supported\")},l.cwd=function(){return\"/\"},l.chdir=function(e){throw new Error(\"process.chdir is not supported\")},l.umask=function(){return 0}},function(e,t){var n;n=function(){return this}();try{n=n||Function(\"return this\")()||(0,eval)(\"this\")}catch(e){\"object\"==typeof window&&(n=window)}e.exports=n},function(e,t,n){function r(){return g.genRandomString(64)}function o(){return g.genRandomString(64)}function i(e){return!(!e||!e.accessToken&&!e.idToken||!Array.isArray(e.scopes))}function s(e,t,n){e.addEventListener?e.addEventListener(t,n):e.attachEvent(\"on\"+t,n)}function a(e,t,n){e.removeEventListener?e.removeEventListener(t,n):e.detachEvent(\"on\"+t,n)}function u(e){var t=document.createElement(\"iframe\");return t.style.display=\"none\",t.src=e,document.body.appendChild(t)}function c(e,t){var n=t.popupTitle||\"External Identity Provider User Authentication\",r=\"toolbar=no, scrollbars=yes, resizable=yes, top=100, left=500, width=600, height=600\";if(g.isIE11OrLess()){var o=window.open(\"/\",n,r);return o.location.href=e,o}return window.open(e,n,r)}function f(e,t){var n=t||e.options.issuer||e.options.url;return y.get(e,n+\"/.well-known/openid-configuration\",{cacheResponse:!0})}function p(e,t,n){return f(e,t).then(function(t){var r=t.jwks_uri,o=w.getStorage(),i=o[r];if(i&&Date.now()/1e3<i.expiresAt){var s=g.find(i.response.keys,{kid:n});if(s)return s}return w.clearStorage(r),y.get(e,r,{cacheResponse:!0}).then(function(e){var t=g.find(e.keys,{kid:n});if(t)return t;throw new v(\"The key id, \"+n+\", was not found in the server's keys\")})})}function l(e,t,n){var r=n.clientId,o=n.issuer,i=n.nonce;if(!t||!o||!r)throw new v(\"The jwt, iss, and aud arguments are all required\");if(i&&t.nonce!==i)throw new v(\"OAuth flow response nonce doesn't match request nonce\");var s=Math.floor(Date.now()/1e3);if(t.iss!==o)throw new v(\"The issuer [\"+t.iss+\"] does not match [\"+o+\"]\");if(t.aud!==r)throw new v(\"The audience [\"+t.aud+\"] does not match [\"+r+\"]\");if(t.iat>t.exp)throw new v(\"The JWT expired before it was issued\");if(s-e.options.maxClockSkew>t.exp)throw new v(\"The JWT expired and is no longer valid\");if(t.iat>s+e.options.maxClockSkew)throw new v(\"The JWT was issued in the future\")}function d(e,t,n){n=n||{};var r=g.removeTrailingSlash(n.authorizeUrl)||e.options.authorizeUrl,o=g.removeTrailingSlash(n.issuer)||e.options.issuer,i=g.removeTrailingSlash(n.userinfoUrl)||e.options.userinfoUrl,s=g.removeTrailingSlash(n.tokenUrl)||e.options.tokenUrl,a=g.removeTrailingSlash(n.logoutUrl)||e.options.logoutUrl,u=g.removeTrailingSlash(n.revokeUrl)||e.options.revokeUrl;if(o&&!/^https?:/.test(o)&&(o=e.options.url+\"/oauth2/\"+o),!o&&r&&-1!==t.responseType.indexOf(\"id_token\"))throw new v(\"Cannot request idToken with an authorizeUrl without an issuer\");if(!o&&t&&-1!==t.responseType.indexOf(\"token\")){if(r&&!i)throw new v(\"Cannot request accessToken with an authorizeUrl without an issuer or userinfoUrl\");if(i&&!r)throw new v(\"Cannot request token with an userinfoUrl without an issuer or authorizeUrl\")}o=o||e.options.url,o=g.removeTrailingSlash(o);var c=o;return new RegExp(\"^https?://.*?/oauth2/.+\").test(c)||c.endsWith(\"/oauth2\")||(c+=\"/oauth2\"),r=r||c+\"/v1/authorize\",i=i||c+\"/v1/userinfo\",s=s||c+\"/v1/token\",u=u||c+\"/v1/revoke\",a=a||c+\"/v1/logout\",{issuer:o,authorizeUrl:r,userinfoUrl:i,tokenUrl:s,revokeUrl:u,logoutUrl:a}}function h(e){for(var t,n=/\\+/g,r=/([^&=]+)=?([^&]*)/g,o=e.substring(1),i={};;){if(!(t=r.exec(o)))break;var s=t[1],a=t[2];i[s]=\"id_token\"===s||\"access_token\"===s||\"code\"===s?a:decodeURIComponent(a.replace(n,\" \"))}return i}var y=n(3),g=n(0),m=n(4),v=n(1),w=m.getHttpCache();e.exports={generateState:r,generateNonce:o,getWellKnown:f,getKey:p,validateClaims:l,getOAuthUrls:d,loadFrame:u,loadPopup:c,urlParamsToObject:h,isToken:i,addListener:s,removeListener:a}},function(e,t,n){var r=n(12),o=n(4);e.exports=n(15)(o,r)},function(e,t,n){function r(e,t,n){var r=n.data,i=n.headers||{};return\"application/json\"===(i[\"Content-Type\"]||i[\"content-type\"]||\"\")&&r&&\"string\"!=typeof r&&(r=JSON.stringify(r)),o(t,{method:e,headers:n.headers,body:r,credentials:!1===n.withCredentials?\"omit\":\"include\"}).then(function(e){var t=!e.ok,n=e.status,r=function(e){var r={responseText:e,status:n};if(t)throw r;return r};return e.headers.get(\"Content-Type\")&&e.headers.get(\"Content-Type\").toLowerCase().indexOf(\"application/json\")>=0?e.json().then(r):e.text().then(r)})}var o=n(13);e.exports=r},function(e,t){var n=function(e){function t(){this.fetch=!1,this.DOMException=e.DOMException}return t.prototype=e,new t}(\"undefined\"!=typeof self?self:this);!function(e){!function(t){function n(e){return e&&DataView.prototype.isPrototypeOf(e)}function r(e){if(\"string\"!=typeof e&&(e=String(e)),/[^a-z0-9\\-#$%&'*+.^_`|~]/i.test(e))throw new TypeError(\"Invalid character in header field name\");return e.toLowerCase()}function o(e){return\"string\"!=typeof e&&(e=String(e)),e}function i(e){var t={next:function(){var t=e.shift();return{done:void 0===t,value:t}}};return T.iterable&&(t[Symbol.iterator]=function(){return t}),t}function s(e){this.map={},e instanceof s?e.forEach(function(e,t){this.append(t,e)},this):Array.isArray(e)?e.forEach(function(e){this.append(e[0],e[1])},this):e&&Object.getOwnPropertyNames(e).forEach(function(t){this.append(t,e[t])},this)}function a(e){if(e.bodyUsed)return Promise.reject(new TypeError(\"Already read\"));e.bodyUsed=!0}function u(e){return new Promise(function(t,n){e.onload=function(){t(e.result)},e.onerror=function(){n(e.error)}})}function c(e){var t=new FileReader,n=u(t);return t.readAsArrayBuffer(e),n}function f(e){var t=new FileReader,n=u(t);return t.readAsText(e),n}function p(e){for(var t=new Uint8Array(e),n=new Array(t.length),r=0;r<t.length;r++)n[r]=String.fromCharCode(t[r]);return n.join(\"\")}function l(e){if(e.slice)return e.slice(0);var t=new Uint8Array(e.byteLength);return t.set(new Uint8Array(e)),t.buffer}function d(){return this.bodyUsed=!1,this._initBody=function(e){this._bodyInit=e,e?\"string\"==typeof e?this._bodyText=e:T.blob&&Blob.prototype.isPrototypeOf(e)?this._bodyBlob=e:T.formData&&FormData.prototype.isPrototypeOf(e)?this._bodyFormData=e:T.searchParams&&URLSearchParams.prototype.isPrototypeOf(e)?this._bodyText=e.toString():T.arrayBuffer&&T.blob&&n(e)?(this._bodyArrayBuffer=l(e.buffer),this._bodyInit=new Blob([this._bodyArrayBuffer])):T.arrayBuffer&&(ArrayBuffer.prototype.isPrototypeOf(e)||b(e))?this._bodyArrayBuffer=l(e):this._bodyText=e=Object.prototype.toString.call(e):this._bodyText=\"\",this.headers.get(\"content-type\")||(\"string\"==typeof e?this.headers.set(\"content-type\",\"text/plain;charset=UTF-8\"):this._bodyBlob&&this._bodyBlob.type?this.headers.set(\"content-type\",this._bodyBlob.type):T.searchParams&&URLSearchParams.prototype.isPrototypeOf(e)&&this.headers.set(\"content-type\",\"application/x-www-form-urlencoded;charset=UTF-8\"))},T.blob&&(this.blob=function(){var e=a(this);if(e)return e;if(this._bodyBlob)return Promise.resolve(this._bodyBlob);if(this._bodyArrayBuffer)return Promise.resolve(new Blob([this._bodyArrayBuffer]));if(this._bodyFormData)throw new Error(\"could not read FormData body as blob\");return Promise.resolve(new Blob([this._bodyText]))},this.arrayBuffer=function(){return this._bodyArrayBuffer?a(this)||Promise.resolve(this._bodyArrayBuffer):this.blob().then(c)}),this.text=function(){var e=a(this);if(e)return e;if(this._bodyBlob)return f(this._bodyBlob);if(this._bodyArrayBuffer)return Promise.resolve(p(this._bodyArrayBuffer));if(this._bodyFormData)throw new Error(\"could not read FormData body as text\");return Promise.resolve(this._bodyText)},T.formData&&(this.formData=function(){return this.text().then(g)}),this.json=function(){return this.text().then(JSON.parse)},this}function h(e){var t=e.toUpperCase();return E.indexOf(t)>-1?t:e}function y(e,t){t=t||{};var n=t.body;if(e instanceof y){if(e.bodyUsed)throw new TypeError(\"Already read\");this.url=e.url,this.credentials=e.credentials,t.headers||(this.headers=new s(e.headers)),this.method=e.method,this.mode=e.mode,this.signal=e.signal,n||null==e._bodyInit||(n=e._bodyInit,e.bodyUsed=!0)}else this.url=String(e);if(this.credentials=t.credentials||this.credentials||\"same-origin\",!t.headers&&this.headers||(this.headers=new s(t.headers)),this.method=h(t.method||this.method||\"GET\"),this.mode=t.mode||this.mode||null,this.signal=t.signal||this.signal,this.referrer=null,(\"GET\"===this.method||\"HEAD\"===this.method)&&n)throw new TypeError(\"Body not allowed for GET or HEAD requests\");this._initBody(n)}function g(e){var t=new FormData;return e.trim().split(\"&\").forEach(function(e){if(e){var n=e.split(\"=\"),r=n.shift().replace(/\\+/g,\" \"),o=n.join(\"=\").replace(/\\+/g,\" \");t.append(decodeURIComponent(r),decodeURIComponent(o))}}),t}function m(e){var t=new s;return e.replace(/\\r?\\n[\\t ]+/g,\" \").split(/\\r?\\n/).forEach(function(e){var n=e.split(\":\"),r=n.shift().trim();if(r){var o=n.join(\":\").trim();t.append(r,o)}}),t}function v(e,t){t||(t={}),this.type=\"default\",this.status=void 0===t.status?200:t.status,this.ok=this.status>=200&&this.status<300,this.statusText=\"statusText\"in t?t.statusText:\"OK\",this.headers=new s(t.headers),this.url=t.url||\"\",this._initBody(e)}function w(e,n){return new Promise(function(r,o){function i(){a.abort()}var s=new y(e,n);if(s.signal&&s.signal.aborted)return o(new t.DOMException(\"Aborted\",\"AbortError\"));var a=new XMLHttpRequest;a.onload=function(){var e={status:a.status,statusText:a.statusText,headers:m(a.getAllResponseHeaders()||\"\")};e.url=\"responseURL\"in a?a.responseURL:e.headers.get(\"X-Request-URL\");var t=\"response\"in a?a.response:a.responseText;r(new v(t,e))},a.onerror=function(){o(new TypeError(\"Network request failed\"))},a.ontimeout=function(){o(new TypeError(\"Network request failed\"))},a.onabort=function(){o(new t.DOMException(\"Aborted\",\"AbortError\"))},a.open(s.method,s.url,!0),\"include\"===s.credentials?a.withCredentials=!0:\"omit\"===s.credentials&&(a.withCredentials=!1),\"responseType\"in a&&T.blob&&(a.responseType=\"blob\"),s.headers.forEach(function(e,t){a.setRequestHeader(t,e)}),s.signal&&(s.signal.addEventListener(\"abort\",i),a.onreadystatechange=function(){4===a.readyState&&s.signal.removeEventListener(\"abort\",i)}),a.send(void 0===s._bodyInit?null:s._bodyInit)})}var T={searchParams:\"URLSearchParams\"in e,iterable:\"Symbol\"in e&&\"iterator\"in Symbol,blob:\"FileReader\"in e&&\"Blob\"in e&&function(){try{return new Blob,!0}catch(e){return!1}}(),formData:\"FormData\"in e,arrayBuffer:\"ArrayBuffer\"in e};if(T.arrayBuffer)var k=[\"[object Int8Array]\",\"[object Uint8Array]\",\"[object Uint8ClampedArray]\",\"[object Int16Array]\",\"[object Uint16Array]\",\"[object Int32Array]\",\"[object Uint32Array]\",\"[object Float32Array]\",\"[object Float64Array]\"],b=ArrayBuffer.isView||function(e){return e&&k.indexOf(Object.prototype.toString.call(e))>-1};s.prototype.append=function(e,t){e=r(e),t=o(t);var n=this.map[e];this.map[e]=n?n+\", \"+t:t},s.prototype.delete=function(e){delete this.map[r(e)]},s.prototype.get=function(e){return e=r(e),this.has(e)?this.map[e]:null},s.prototype.has=function(e){return this.map.hasOwnProperty(r(e))},s.prototype.set=function(e,t){this.map[r(e)]=o(t)},s.prototype.forEach=function(e,t){for(var n in this.map)this.map.hasOwnProperty(n)&&e.call(t,this.map[n],n,this)},s.prototype.keys=function(){var e=[];return this.forEach(function(t,n){e.push(n)}),i(e)},s.prototype.values=function(){var e=[];return this.forEach(function(t){e.push(t)}),i(e)},s.prototype.entries=function(){var e=[];return this.forEach(function(t,n){e.push([n,t])}),i(e)},T.iterable&&(s.prototype[Symbol.iterator]=s.prototype.entries);var E=[\"DELETE\",\"GET\",\"HEAD\",\"OPTIONS\",\"POST\",\"PUT\"];y.prototype.clone=function(){return new y(this,{body:this._bodyInit})},d.call(y.prototype),d.call(v.prototype),v.prototype.clone=function(){return new v(this._bodyInit,{status:this.status,statusText:this.statusText,headers:new s(this.headers),url:this.url})},v.error=function(){var e=new v(null,{status:0,statusText:\"\"});return e.type=\"error\",e};var S=[301,302,303,307,308];v.redirect=function(e,t){if(-1===S.indexOf(t))throw new RangeError(\"Invalid status code\");return new v(null,{status:t,headers:{location:e}})},t.DOMException=e.DOMException;try{new t.DOMException}catch(e){t.DOMException=function(e,t){this.message=e,this.name=t;var n=Error(e);this.stack=n.stack},t.DOMException.prototype=Object.create(Error.prototype),t.DOMException.prototype.constructor=t.DOMException}w.polyfill=!0,e.fetch||(e.fetch=w,e.Headers=s,e.Request=y,e.Response=v),t.Headers=s,t.Request=y,t.Response=v,t.fetch=w}({})}(n),delete n.fetch.polyfill,t=n.fetch,t.default=n.fetch,t.fetch=n.fetch,t.Headers=n.Headers,t.Request=n.Request,t.Response=n.Response,e.exports=t},function(e,t,n){var r,o;!function(i){var s=!1;if(r=i,void 0!==(o=\"function\"==typeof r?r.call(t,n,t,e):r)&&(e.exports=o),s=!0,e.exports=i(),s=!0,!s){var a=window.Cookies,u=window.Cookies=i();u.noConflict=function(){return window.Cookies=a,u}}}(function(){function e(){for(var e=0,t={};e<arguments.length;e++){var n=arguments[e];for(var r in n)t[r]=n[r]}return t}function t(n){function r(t,o,i){var s;if(\"undefined\"!=typeof document){if(arguments.length>1){if(i=e({path:\"/\"},r.defaults,i),\"number\"==typeof i.expires){var a=new Date;a.setMilliseconds(a.getMilliseconds()+864e5*i.expires),i.expires=a}i.expires=i.expires?i.expires.toUTCString():\"\";try{s=JSON.stringify(o),/^[\\{\\[]/.test(s)&&(o=s)}catch(e){}o=n.write?n.write(o,t):encodeURIComponent(String(o)).replace(/%(23|24|26|2B|3A|3C|3E|3D|2F|3F|40|5B|5D|5E|60|7B|7D|7C)/g,decodeURIComponent),t=encodeURIComponent(String(t)),t=t.replace(/%(23|24|26|2B|5E|60|7C)/g,decodeURIComponent),t=t.replace(/[\\(\\)]/g,escape);var u=\"\";for(var c in i)i[c]&&(u+=\"; \"+c,!0!==i[c]&&(u+=\"=\"+i[c]));return document.cookie=t+\"=\"+o+u}t||(s={});for(var f=document.cookie?document.cookie.split(\"; \"):[],p=/(%[0-9A-Z]{2})+/g,l=0;l<f.length;l++){var d=f[l].split(\"=\"),h=d.slice(1).join(\"=\");this.json||'\"'!==h.charAt(0)||(h=h.slice(1,-1));try{var y=d[0].replace(p,decodeURIComponent);if(h=n.read?n.read(h,y):n(h,y)||h.replace(p,decodeURIComponent),this.json)try{h=JSON.parse(h)}catch(e){}if(t===y){s=h;break}t||(s[y]=h)}catch(e){}}return s}}return r.set=r,r.get=function(e){return r.call(r,e)},r.getJSON=function(){return r.apply({json:!0},[].slice.call(arguments))},r.defaults={},r.remove=function(t,n){r(t,\"\",e(n,{expires:-1}))},r.withConverter=t,r}return t(function(){})})},function(e,t,n){function r(e){var t=this,n=s.getValidUrl(e),r=e.pkce||\"authorization_code\"===e.grantType;if(this.options={url:g.removeTrailingSlash(n),clientId:e.clientId,issuer:g.removeTrailingSlash(e.issuer),authorizeUrl:g.removeTrailingSlash(e.authorizeUrl),userinfoUrl:g.removeTrailingSlash(e.userinfoUrl),tokenUrl:g.removeTrailingSlash(e.tokenUrl),revokeUrl:g.removeTrailingSlash(e.revokeUrl),logoutUrl:g.removeTrailingSlash(e.logoutUrl),pkce:r,redirectUri:e.redirectUri,postLogoutRedirectUri:e.postLogoutRedirectUri,responseMode:e.responseMode,httpRequestClient:e.httpRequestClient,storageUtil:e.storageUtil,transformErrorXHR:e.transformErrorXHR,headers:e.headers,onSessionExpired:e.onSessionExpired},this.options.pkce&&!t.features.isPKCESupported()){var c=\"PKCE requires a modern browser with encryption support running in a secure context.\";throw t.features.isHTTPS()||(c+=\"\\nThe current page is not being served with HTTPS protocol. Try using HTTPS.\"),t.features.hasTextEncoder()||(c+='\\n\"TextEncoder\" is not defined. You may need a polyfill/shim for this browser.'),new i(c)}this.userAgent=\"okta-auth-js-2.13.2\",e.maxClockSkew||0===e.maxClockSkew?this.options.maxClockSkew=e.maxClockSkew:this.options.maxClockSkew=a.DEFAULT_MAX_CLOCK_SKEW,this.options.ignoreSignature=!!e.ignoreSignature,t.session={close:g.bind(l.closeSession,null,t),exists:g.bind(l.sessionExists,null,t),get:g.bind(l.getSession,null,t),refresh:g.bind(l.refreshSession,null,t),setCookieAndRedirect:g.bind(l.setCookieAndRedirect,null,t)},t.tx={status:g.bind(y.transactionStatus,null,t),resume:g.bind(y.resumeTransaction,null,t),exists:g.bind(y.transactionExists,null,t),introspect:g.bind(y.introspect,null,t)},t.tx.exists._get=function(e){return u.get(e)},t.idToken={authorize:{_getLocationHref:function(){return window.location.href}}},t.token={getWithoutPrompt:g.bind(d.getWithoutPrompt,null,t),getWithPopup:g.bind(d.getWithPopup,null,t),getWithRedirect:g.bind(d.getWithRedirect,null,t),parseFromUrl:g.bind(d.parseFromUrl,null,t),decode:d.decodeToken,revoke:g.bind(d.revokeToken,null,t),renew:g.bind(d.renewToken,null,t),getUserInfo:g.bind(d.getUserInfo,null,t),verify:g.bind(d.verifyToken,null,t)},t.token.getWithRedirect._setLocation=function(e){window.location=e},t.token.parseFromUrl._getHistory=function(){return window.history},t.token.parseFromUrl._getLocation=function(){return window.location},t.token.parseFromUrl._getDocument=function(){return window.document},t.fingerprint._getUserAgent=function(){return navigator.userAgent};var f=/windows phone|iemobile|wpdesktop/i;t.features.isFingerprintSupported=function(){var e=t.fingerprint._getUserAgent();return e&&!f.test(e)},t.emitter=new o,t.tokenManager=new h(t,e.tokenManager),t.tokenManager.on(\"error\",this._onTokenManagerError,this)}n(16);var o=n(18),i=n(1),s=n(19),a=n(2),u=n(4).storage,c=n(3),f=n(10),p=n(5),l=n(24),d=n(25),h=n(29),y=n(7),g=n(0),m=r.prototype;m._onTokenManagerError=function(e){\"login_required\"===e.errorCode&&e.accessToken&&(this.options.onSessionExpired?this.options.onSessionExpired():console.error(\"Session has expired or was closed outside the application.\"))},m.features={},m.features.isPopupPostMessageSupported=function(){var e=document.documentMode&&document.documentMode<10;return!(!window.postMessage||e)},m.features.isTokenVerifySupported=function(){return\"undefined\"!=typeof crypto&&crypto.subtle&&\"undefined\"!=typeof Uint8Array},m.features.hasTextEncoder=function(){return\"undefined\"!=typeof TextEncoder},m.features.isPKCESupported=function(){return m.features.isTokenVerifySupported()&&m.features.hasTextEncoder()},m.features.isHTTPS=function(){return\"https:\"===window.location.protocol},m.signIn=function(e){function t(t){return delete e.sendFingerprint,y.postToTransaction(n,\"/api/v1/authn\",e,t)}var n=this;return e=g.clone(e||{}),e.sendFingerprint?n.fingerprint().then(function(e){return t({headers:{\"X-Device-Fingerprint\":e}})}):t()},m.signOut=function(e){function t(){return s.session.close().catch(function(e){if(\"AuthApiError\"!==e.name)throw e})}e=g.extend({},e);var n=e.postLogoutRedirectUri||this.options.postLogoutRedirectUri,r=e.accessToken,o=e.revokeAccessToken,i=e.idToken,s=this,a=f.getOAuthUrls(s).logoutUrl;return p.allSettled([function(){return(new p).then(function(){return o&&void 0===r?s.tokenManager.get(\"token\"):r})}(),function(){return(new p).then(function(){return n&&void 0===i?s.tokenManager.get(\"idToken\"):i})}()]).then(function(e){if(r=e[0].value,i=e[1].value,s.tokenManager.clear(),o&&r)return s.token.revoke(r).catch(function(e){if(\"AuthApiError\"!==e.name)throw e})}).then(function(){if(!n)return t();if(!i)return t().catch(function(e){console.log(\"Unhandled exception while closing session\",e)}).then(function(){window.location.assign(n)});var r=e.state,o=i.idToken,s=a+\"?id_token_hint=\"+encodeURIComponent(o)+\"&post_logout_redirect_uri=\"+encodeURIComponent(n);r&&(s+=\"&state=\"+encodeURIComponent(r)),window.location.assign(s)})},s.addSharedPrototypes(m),m.webfinger=function(e){var t=\"/.well-known/webfinger\"+g.toQueryParams(e),n={headers:{Accept:\"application/jrd+json\"}};return c.get(this,t,n)},m.fingerprint=function(e){function t(e){if(e&&e.data&&e.origin===n.options.url){try{var t=JSON.parse(e.data)}catch(e){return r.reject(new i(\"Unable to parse iframe response\"))}if(t)return\"FingerprintAvailable\"===t.type?r.resolve(t.fingerprint):void(\"FingerprintServiceReady\"===t.type&&e.source.postMessage(JSON.stringify({type:\"GetFingerprint\"}),e.origin))}}e=e||{};var n=this;if(!n.features.isFingerprintSupported())return p.reject(new i(\"Fingerprinting is not supported on this device\"));var r=p.defer(),o=document.createElement(\"iframe\");o.style.display=\"none\",f.addListener(window,\"message\",t),o.src=n.options.url+\"/auth/services/devicefingerprint\",document.body.appendChild(o);var s=setTimeout(function(){r.reject(new i(\"Fingerprinting timed out\"))},e.timeout||15e3);return r.promise.fin(function(){clearTimeout(s),f.removeListener(window,\"message\",t),document.body.contains(o)&&o.parentElement.removeChild(o)})},e.exports=s.buildOktaAuth(r)},function(e,t,n){n(17),Array.prototype.indexOf||(Array.prototype.indexOf=function(e,t){var n;if(null==this)throw new TypeError('\"this\" is null or not defined');var r=Object(this),o=r.length>>>0;if(0===o)return-1;var i=+t||0;if(Math.abs(i)===1/0&&(i=0),i>=o)return-1;for(n=Math.max(i>=0?i:o-Math.abs(i),0);n<o;){if(n in r&&r[n]===e)return n;n++}return-1}),Array.isArray||(Array.isArray=function(e){return\"[object Array]\"===Object.prototype.toString.call(e)})},function(e,t,n){!function(){function e(e){this.message=e}var n=t,r=\"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=\";e.prototype=new Error,e.prototype.name=\"InvalidCharacterError\",n.btoa||(n.btoa=function(t){for(var n,o,i=String(t),s=0,a=r,u=\"\";i.charAt(0|s)||(a=\"=\",s%1);u+=a.charAt(63&n>>8-s%1*8)){if((o=i.charCodeAt(s+=.75))>255)throw new e(\"'btoa' failed: The string to be encoded contains characters outside of the Latin1 range.\");n=n<<8|o}return u}),n.atob||(n.atob=function(t){var n=String(t).replace(/=+$/,\"\");if(n.length%4==1)throw new e(\"'atob' failed: The string to be decoded is not correctly encoded.\");for(var o,i,s=0,a=0,u=\"\";i=n.charAt(a++);~i&&(o=s%4?64*o+i:i,s++%4)?u+=String.fromCharCode(255&o>>(-2*s&6)):0)i=r.indexOf(i);return u})}()},function(e,t){function n(){}n.prototype={on:function(e,t,n){var r=this.e||(this.e={});return(r[e]||(r[e]=[])).push({fn:t,ctx:n}),this},once:function(e,t,n){function r(){o.off(e,r),t.apply(n,arguments)}var o=this;return r._=t,this.on(e,r,n)},emit:function(e){var t=[].slice.call(arguments,1),n=((this.e||(this.e={}))[e]||[]).slice(),r=0,o=n.length;for(r;r<o;r++)n[r].fn.apply(n[r].ctx,t);return this},off:function(e,t){var n=this.e||(this.e={}),r=n[e],o=[];if(r&&t)for(var i=0,s=r.length;i<s;i++)r[i].fn!==t&&r[i].fn._!==t&&o.push(r[i]);return o.length?n[e]=o:delete n[e],this}},e.exports=n},function(e,t,n){function r(e){if(!e)throw new s(\"No arguments passed to constructor. Required usage: new OktaAuth(args)\");var t=e.url;if(!t){var n=new RegExp(\"^http?s?://.+\");if(!e.issuer||!n.test(e.issuer))throw new s('No url passed to constructor. Required usage: new OktaAuth({url: \"https://{yourOktaDomain}.com\"})');t=e.issuer.split(\"/oauth2/\")[0]}if(-1!==t.indexOf(\"-admin.\"))throw new s('URL passed to constructor contains \"-admin\" in subdomain. Required usage: new OktaAuth({url: \"https://{yourOktaDomain}.com})');return t}function o(e){e.forgotPassword=function(e){return a.postToTransaction(this,\"/api/v1/authn/recovery/password\",e)},e.unlockAccount=function(e){return a.postToTransaction(this,\"/api/v1/authn/recovery/unlock\",e)},e.verifyRecoveryToken=function(e){return a.postToTransaction(this,\"/api/v1/authn/recovery/token\",e)}}function i(e){return function(t,n){function r(o){if(!(this instanceof r))return new r(o);o&&(o.storageUtil=t,o.ajaxRequest?(u.deprecate(\"ajaxRequest is being deprecated, use httpRequestClient attribute instead.\"),o.httpRequestClient=o.ajaxRequest):o.httpRequestClient||(o.httpRequestClient=n)),u.bind(e,this)(o)}return r.prototype=e.prototype,r.prototype.constructor=r,r.features=e.prototype.features,r}}var s=n(1),a=n(7),u=n(0);e.exports={addSharedPrototypes:o,buildOktaAuth:i,getValidUrl:r}},function(e,t,n){(function(e){function r(e,t){this._id=e,this._clearFn=t}var o=void 0!==e&&e||\"undefined\"!=typeof self&&self||window,i=Function.prototype.apply;t.setTimeout=function(){return new r(i.call(setTimeout,o,arguments),clearTimeout)},t.setInterval=function(){return new r(i.call(setInterval,o,arguments),clearInterval)},t.clearTimeout=t.clearInterval=function(e){e&&e.close()},r.prototype.unref=r.prototype.ref=function(){},r.prototype.close=function(){this._clearFn.call(o,this._id)},t.enroll=function(e,t){clearTimeout(e._idleTimeoutId),e._idleTimeout=t},t.unenroll=function(e){clearTimeout(e._idleTimeoutId),e._idleTimeout=-1},t._unrefActive=t.active=function(e){clearTimeout(e._idleTimeoutId);var t=e._idleTimeout;t>=0&&(e._idleTimeoutId=setTimeout(function(){e._onTimeout&&e._onTimeout()},t))},n(21),t.setImmediate=\"undefined\"!=typeof self&&self.setImmediate||void 0!==e&&e.setImmediate||this&&this.setImmediate,t.clearImmediate=\"undefined\"!=typeof self&&self.clearImmediate||void 0!==e&&e.clearImmediate||this&&this.clearImmediate}).call(t,n(9))},function(e,t,n){(function(e,t){!function(e,n){\"use strict\";function r(e){\"function\"!=typeof e&&(e=new Function(\"\"+e));for(var t=new Array(arguments.length-1),n=0;n<t.length;n++)t[n]=arguments[n+1];var r={callback:e,args:t};return c[u]=r,a(u),u++}function o(e){delete c[e]}function i(e){var t=e.callback,r=e.args;switch(r.length){case 0:t();break;case 1:t(r[0]);break;case 2:t(r[0],r[1]);break;case 3:t(r[0],r[1],r[2]);break;default:t.apply(n,r)}}function s(e){if(f)setTimeout(s,0,e);else{var t=c[e];if(t){f=!0;try{i(t)}finally{o(e),f=!1}}}}if(!e.setImmediate){var a,u=1,c={},f=!1,p=e.document,l=Object.getPrototypeOf&&Object.getPrototypeOf(e);l=l&&l.setTimeout?l:e,\"[object process]\"==={}.toString.call(e.process)?function(){a=function(e){t.nextTick(function(){s(e)})}}():function(){if(e.postMessage&&!e.importScripts){var t=!0,n=e.onmessage;return e.onmessage=function(){t=!1},e.postMessage(\"\",\"*\"),e.onmessage=n,t}}()?function(){var t=\"setImmediate$\"+Math.random()+\"$\",n=function(n){n.source===e&&\"string\"==typeof n.data&&0===n.data.indexOf(t)&&s(+n.data.slice(t.length))};e.addEventListener?e.addEventListener(\"message\",n,!1):e.attachEvent(\"onmessage\",n),a=function(n){e.postMessage(t+n,\"*\")}}():e.MessageChannel?function(){var e=new MessageChannel;e.port1.onmessage=function(e){s(e.data)},a=function(t){e.port2.postMessage(t)}}():p&&\"onreadystatechange\"in p.createElement(\"script\")?function(){var e=p.documentElement;a=function(t){var n=p.createElement(\"script\");n.onreadystatechange=function(){s(t),n.onreadystatechange=null,e.removeChild(n),n=null},e.appendChild(n)}}():function(){a=function(e){setTimeout(s,0,e)}}(),l.setImmediate=r,l.clearImmediate=o}}(\"undefined\"==typeof self?void 0===e?this:e:self)}).call(t,n(9),n(8))},function(e,t){function n(e,t){this.name=\"AuthApiError\",this.message=e.errorSummary,this.errorSummary=e.errorSummary,this.errorCode=e.errorCode,this.errorLink=e.errorLink,this.errorId=e.errorId,this.errorCauses=e.errorCauses,t&&(this.xhr=t)}n.prototype=new Error,e.exports=n},function(e,t){function n(){this.name=\"AuthPollStopError\",this.message=\"The poll was stopped by the sdk\"}n.prototype=new Error,e.exports=n},function(e,t,n){function r(e){return e.session.get().then(function(e){return\"ACTIVE\"===e.status}).fail(function(){return!1})}function o(e){return c.get(e,\"/api/v1/sessions/me\").then(function(t){var n=u.omit(t,\"_links\");return n.refresh=function(){return c.post(e,u.getLink(t,\"refresh\").href)},n.user=function(){return c.get(e,u.getLink(t,\"user\").href)},n}).fail(function(){return{status:\"INACTIVE\"}})}function i(e){return c.httpRequest(e,{url:e.options.url+\"/api/v1/sessions/me\",method:\"DELETE\"})}function s(e){return c.post(e,\"/api/v1/sessions/me/lifecycle/refresh\")}function a(e,t,n){n=n||window.location.href,window.location=e.options.url+\"/login/sessionCookieRedirect\"+u.toQueryParams({checkAccountSetupComplete:!0,token:t,redirectUrl:n})}var u=n(0),c=n(3);e.exports={sessionExists:r,getSession:o,closeSession:i,refreshSession:s,setCookieAndRedirect:a}},function(e,t,n){function r(e,t){return(new _).then(function(){if(!t||!t.accessToken)throw new U(\"A valid access token object is required\");var n=e.options.clientId;if(!n)throw new U(\"A clientId must be specified in the OktaAuth constructor to revoke a token\");var r=x.getOAuthUrls(e).revokeUrl,o=t.accessToken,i=A.toQueryParams({token_type_hint:\"access_token\",token:o}).slice(1),s=btoa(n);return S.post(e,r,i,{headers:{\"Content-Type\":\"application/x-www-form-urlencoded\",Authorization:\"Basic \"+s}})})}function o(e){var t,n=e.split(\".\");try{t={header:JSON.parse(A.base64UrlToString(n[0])),payload:JSON.parse(A.base64UrlToString(n[1])),signature:n[2]}}catch(e){throw new U(\"Malformed token\")}return t}function i(e,t,n){return(new _).then(function(){if(!t||!t.idToken)throw new U(\"Only idTokens may be verified\");var r=o(t.idToken),i={clientId:e.options.clientId,issuer:e.options.issuer||e.options.url,ignoreSignature:e.options.ignoreSignature};return A.extend(i,n),x.validateClaims(e,r.payload,i),1!=i.ignoreSignature&&e.features.isTokenVerifySupported()?x.getKey(e,t.issuer,r.header.kid).then(function(e){return O.verifyToken(t.idToken,e)}).then(function(e){if(!e)throw new U(\"The token signature is not valid\");return t}):t})}function s(e,t,n){function r(t){if(t.data&&t.data.state===n)return t.origin!==e.options.url?o.reject(new U(\"The request does not match client configuration\")):void o.resolve(t.data)}var o=_.defer();return x.addListener(window,\"message\",r),o.promise.timeout(t||12e4,new U(\"OAuth flow timed out\")).fin(function(){x.removeListener(window,\"message\",r)})}function a(e,t,n){function r(){try{t&&t.location&&t.location.hash?o.resolve(x.hashToObject(t.location.hash)):t&&!t.closed&&setTimeout(r,500)}catch(e){setTimeout(r,500)}}var o=_.defer();return r(),o.promise.timeout(n||12e4,new U(\"OAuth flow timed out\"))}function u(e,t,n,r){var o=P.loadMeta(e),i={clientId:t.clientId,authorizationCode:n,codeVerifier:o.codeVerifier,redirectUri:o.redirectUri};return P.getToken(e,i,r).then(function(e){return c(e,i),e}).fin(function(){P.clearMeta(e)})}function c(e,t){if(e.error||e.error_description)throw new C(e.error,e.error_description);if(e.state!==t.state)throw new U(\"OAuth flow response state doesn't match request state\")}function f(e,t,n,r){r=r||{};var o=t.responseType,s=A.clone(t.scopes),a=t.clientId||e.options.clientId;return(new _).then(function(){return c(n,t),n.code?(o=[\"token\",\"id_token\"],u(e,t,n.code,r)):n}).then(function(n){var o={};if(n.access_token&&(o.token={accessToken:n.access_token,expiresAt:Number(n.expires_in)+Math.floor(Date.now()/1e3),tokenType:n.token_type,scopes:s,authorizeUrl:r.authorizeUrl,userinfoUrl:r.userinfoUrl}),n.id_token){var u=e.token.decode(n.id_token),c={idToken:n.id_token,claims:u.payload,expiresAt:u.payload.exp,scopes:s,authorizeUrl:r.authorizeUrl,issuer:r.issuer,clientId:a},f={clientId:a,issuer:r.issuer,nonce:t.nonce};return void 0!==t.ignoreSignature&&(f.ignoreSignature=t.ignoreSignature),i(e,c,f).then(function(){return o.id_token=c,o})}return o}).then(function(e){return Array.isArray(o)?([\"token\",\"id_token\"].filter(function(e){return-1!==o.indexOf(e)}).forEach(function(t){if(!e[t])throw new U(\"Unable to parse OAuth flow response: \"+t+\" was not returned.\")}),o.map(function(t){return e[t]})):e[o]})}function p(e){return{pkce:e.options.pkce||!1,clientId:e.options.clientId,redirectUri:e.options.redirectUri||window.location.href,responseType:\"id_token\",responseMode:\"okta_post_message\",state:x.generateState(),nonce:x.generateNonce(),scopes:[\"openid\",\"email\"],ignoreSignature:e.options.ignoreSignature}}function l(e){if(!e.clientId)throw new U(\"A clientId must be specified in the OktaAuth constructor to get a token\");if(A.isString(e.responseType)&&-1!==e.responseType.indexOf(\" \"))throw new U(\"Multiple OAuth responseTypes must be defined as an array\");var t=A.removeNils({client_id:e.clientId,code_challenge:e.codeChallenge,code_challenge_method:e.codeChallengeMethod,display:e.display,idp:e.idp,idp_scope:e.idpScope,login_hint:e.loginHint,max_age:e.maxAge,nonce:e.nonce,prompt:e.prompt,redirect_uri:e.redirectUri,response_mode:e.responseMode,response_type:e.responseType,sessionToken:e.sessionToken,state:e.state});if([\"idp_scope\",\"response_type\"].forEach(function(e){Array.isArray(t[e])&&(t[e]=t[e].join(\" \"))}),-1!==e.responseType.indexOf(\"id_token\")&&-1===e.scopes.indexOf(\"openid\"))throw new U(\"openid scope must be specified in the scopes argument when requesting an id_token\");return t.scope=e.scopes.join(\" \"),t}function d(e){var t=l(e);return A.toQueryParams(t)}function h(e,t,n){return t=t||{},n=n||{},m(e,t).then(function(r){function o(e){return/^(https?\\:\\/\\/)?([^:\\/?#]*(?:\\:[0-9]+)?)/.exec(e)[0]}function i(e){if(!e||e.closed)return b.reject(new U(\"Unable to parse OAuth flow response\")),!0}var u={prompt:\"none\",responseMode:\"okta_post_message\",display:null},c={display:\"popup\"};t.sessionToken?A.extend(r,u):t.idp&&A.extend(r,c);var p,l,h;try{h=x.getOAuthUrls(e,r,n),l=t.codeVerifier?h.tokenUrl:h.authorizeUrl,p=l+d(r)}catch(e){return _.reject(e)}switch(r.sessionToken||null===r.display?\"IFRAME\":\"popup\"===r.display?\"POPUP\":\"IMPLICIT\"){case\"IFRAME\":var y=s(e,n.timeout,r.state),g=x.loadFrame(p);return y.then(function(t){return f(e,r,t,h)}).fin(function(){document.body.contains(g)&&g.parentElement.removeChild(g)});case\"POPUP\":var m;if(\"okta_post_message\"===r.responseMode){if(!e.features.isPopupPostMessageSupported())return _.reject(new U(\"This browser doesn't have full postMessage support\"));m=s(e,n.timeout,r.state)}var v={popupTitle:n.popupTitle},w=x.loadPopup(p,v);if(\"fragment\"===r.responseMode){var T=o(e.idToken.authorize._getLocationHref()),k=o(r.redirectUri);if(T!==k)return _.reject(new U(\"Using fragment, the redirectUri origin (\"+k+\") must match the origin of this page (\"+T+\")\"));m=a(e,w,n.timeout)}var b=_.defer(),E=setInterval(function(){i(w)&&clearInterval(E)},500);return m.then(function(e){b.resolve(e)}).fail(function(e){b.reject(e)}),b.promise.then(function(t){return f(e,r,t,h)}).fin(function(){clearInterval(E),w&&!w.closed&&w.close()});default:return _.reject(new U(\"The full page redirect flow is not supported\"))}})}function y(e,t,n){var r=A.clone(t)||{};return A.extend(r,{prompt:\"none\",responseMode:\"okta_post_message\",display:null}),h(e,r,n)}function g(e,t,n){var r=A.clone(t)||{};return A.extend(r,{display:\"popup\",responseMode:\"okta_post_message\"}),h(e,r,n)}function m(e,t){t=A.clone(t)||{},\"authorization_code\"===t.grantType&&(t.pkce=!0);var n=p(e);return A.extend(n,t),!0!==n.pkce?_.resolve(n):e.features.isPKCESupported()?(n.codeChallengeMethod||(n.codeChallengeMethod=P.DEFAULT_CODE_CHALLENGE_METHOD),n.responseType=\"code\",x.getWellKnown(e,null).then(function(e){if(-1===(e.code_challenge_methods_supported||[]).indexOf(n.codeChallengeMethod))throw new U(\"Invalid code_challenge_method\")}).then(function(){var t=P.generateVerifier(n.codeVerifier),r={codeVerifier:t,redirectUri:n.redirectUri};return P.saveMeta(e,r),P.computeChallenge(t)}).then(function(e){var t=A.clone(n)||{};return A.extend(t,n,{codeChallenge:e}),t})):_.reject(new U(\"This browser doesn't support PKCE\"))}function v(e,t,n){return t=A.clone(t)||{},m(e,t).then(function(r){t.responseMode||(r.responseType.includes(\"code\")&&!r.pkce?r.responseMode=\"query\":r.responseMode=e.options.responseMode||\"fragment\");var o=x.getOAuthUrls(e,r,n),i=o.authorizeUrl+d(r),s=\"https:\"===window.location.protocol,a={secure:s,sameSite:s?\"none\":\"lax\"};j.set(R.REDIRECT_OAUTH_PARAMS_COOKIE_NAME,JSON.stringify({responseType:r.responseType,state:r.state,nonce:r.nonce,scopes:r.scopes,clientId:r.clientId,urls:o,ignoreSignature:r.ignoreSignature}),null,a),j.set(R.REDIRECT_NONCE_COOKIE_NAME,r.nonce,null,a),j.set(R.REDIRECT_STATE_COOKIE_NAME,r.state,null,a),e.token.getWithRedirect._setLocation(i)})}function w(e,t){if(!x.isToken(t))return _.reject(new U(\"Renew must be passed a token with an array of scopes and an accessToken or idToken\"));var n;return n=e.options.pkce?\"code\":t.accessToken?\"token\":\"id_token\",e.token.getWithoutPrompt({responseType:n,scopes:t.scopes},{authorizeUrl:t.authorizeUrl,userinfoUrl:t.userinfoUrl,issuer:t.issuer})}function T(e){var t=e.token.parseFromUrl._getHistory(),n=e.token.parseFromUrl._getDocument(),r=e.token.parseFromUrl._getLocation();t&&t.replaceState?t.replaceState(null,n.title,r.pathname+r.search):r.hash=\"\"}function k(e){var t=e.token.parseFromUrl._getHistory(),n=e.token.parseFromUrl._getDocument(),r=e.token.parseFromUrl._getLocation();t&&t.replaceState?t.replaceState(null,n.title,r.pathname+r.hash):r.search=\"\"}function b(e,t){t=t||{},A.isString(t)&&(t={url:t});var n,r=t.url,o=t.responseMode||e.options.responseMode||\"fragment\",i=e.token.parseFromUrl._getLocation();if(!(n=\"query\"===o?r?r.substring(r.indexOf(\"?\")):i.search:r?r.substring(r.indexOf(\"#\")):i.hash))return _.reject(new U(\"Unable to parse a token from the url\"));var s=j.get(R.REDIRECT_OAUTH_PARAMS_COOKIE_NAME);if(!s)return _.reject(new U(\"Unable to retrieve OAuth redirect params cookie\"));try{var a=JSON.parse(s),u=a.urls;delete a.urls,j.delete(R.REDIRECT_OAUTH_PARAMS_COOKIE_NAME)}catch(e){return _.reject(new U(\"Unable to parse the \"+R.REDIRECT_OAUTH_PARAMS_COOKIE_NAME+\" cookie: \"+e.message))}return _.resolve(x.urlParamsToObject(n)).then(function(t){return r||(\"query\"===o?k(e):T(e)),f(e,a,t,u)})}function E(e,t){return t&&(x.isToken(t)||t.accessToken||t.userinfoUrl)?S.httpRequest(e,{url:t.userinfoUrl,method:\"GET\",accessToken:t.accessToken}).fail(function(e){if(e.xhr&&(401===e.xhr.status||403===e.xhr.status)){var t;if(e.xhr.headers&&A.isFunction(e.xhr.headers.get)&&e.xhr.headers.get(\"WWW-Authenticate\")?t=e.xhr.headers.get(\"WWW-Authenticate\"):A.isFunction(e.xhr.getResponseHeader)&&(t=e.xhr.getResponseHeader(\"WWW-Authenticate\")),t){var n=t.match(/error=\"(.*?)\"/)||[],r=t.match(/error_description=\"(.*?)\"/)||[],o=n[1],i=r[1];o&&i&&(e=new C(o,i))}}throw e}):_.reject(new U(\"getUserInfo requires an access token object\"))}var S=n(3),A=n(0),x=n(10),_=n(5),O=n(26),U=n(1),C=n(27),R=n(2),j=n(4).storage,P=n(28);e.exports={revokeToken:r,getToken:h,getWithoutPrompt:y,getWithPopup:g,getWithRedirect:v,parseFromUrl:b,decodeToken:o,renewToken:w,getUserInfo:E,verifyToken:i,handleOAuthResponse:f,prepareOauthParams:m}},function(e,t,n){function r(e,t){t=o.clone(t);var n={name:\"RSASSA-PKCS1-v1_5\",hash:{name:\"SHA-256\"}},r=[\"verify\"];return delete t.use,crypto.subtle.importKey(\"jwk\",t,n,!0,r).then(function(t){var r=e.split(\".\"),i=o.stringToBuffer(r[0]+\".\"+r[1]),s=o.base64UrlDecode(r[2]),a=o.stringToBuffer(s);return crypto.subtle.verify(n,t,a,i)})}var o=n(0);e.exports={verifyToken:r}},function(e,t){function n(e,t){this.name=\"OAuthError\",this.message=t,this.errorCode=e,this.errorSummary=t}n.prototype=new Error,e.exports=n},function(e,t,n){function r(e){return(\"0\"+e.toString(16)).substr(-2)}function o(e){var t=new Uint8Array(Math.ceil(e/2));return crypto.getRandomValues(t),Array.from(t,r).join(\"\").slice(0,e)}function i(e){var t=e||\"\";return t.length<g&&(t+=o(g-t.length)),encodeURIComponent(t).slice(0,m)}function s(e,t){e.options.storageUtil.getPKCEStorage().setStorage(t)}function a(e){return e.options.storageUtil.getPKCEStorage().getStorage()}function u(e){e.options.storageUtil.getPKCEStorage().clearStorage()}function c(e){var t=(new TextEncoder).encode(e);return crypto.subtle.digest(\"SHA-256\",t).then(function(e){var t=String.fromCharCode.apply(null,new Uint8Array(e));return y.stringToBase64Url(t)})}function f(e){if(!e.clientId)throw new d(\"A clientId must be specified in the OktaAuth constructor to get a token\");if(!e.redirectUri)throw new d(\"The redirectUri passed to /authorize must also be passed to /token\");if(!e.authorizationCode)throw new d(\"An authorization code (returned from /authorize) must be passed to /token\");if(!e.codeVerifier)throw new d('The \"codeVerifier\" (generated and saved by your app) must be passed to /token')}function p(e){var t=y.removeNils({client_id:e.clientId,redirect_uri:e.redirectUri,grant_type:\"authorization_code\",code:e.authorizationCode,code_verifier:e.codeVerifier});return y.toQueryParams(t).slice(1)}function l(e,t,n){f(t);var r=p(t);return h.httpRequest(e,{url:n.tokenUrl,method:\"POST\",args:r,withCredentials:!1,headers:{\"Content-Type\":\"application/x-www-form-urlencoded\"}})}var d=n(1),h=n(3),y=n(0),g=43,m=128;e.exports={DEFAULT_CODE_CHALLENGE_METHOD:\"S256\",generateVerifier:i,clearMeta:u,saveMeta:s,loadMeta:a,computeChallenge:c,getToken:l}},function(e,t,n){function r(e,t){return t.expiresAt-e.options.expireEarlySeconds}function o(e,t){return r(e,t)<=e.clock.now()}function i(e,t,n){e.emitter.emit(\"expired\",t,n)}function s(e,t){e.emitter.emit(\"error\",t)}function a(e,t){clearTimeout(e.expireTimeouts[t]),delete e.expireTimeouts[t],delete e.renewPromise[t]}function u(e){var t=e.expireTimeouts;for(var n in t)t.hasOwnProperty(n)&&a(e,n)}function c(e,t,n,o){var s=r(t,o),u=1e3*Math.max(s-t.clock.now(),0);a(t,n);var c=setTimeout(function(){i(t,n,o)},u);t.expireTimeouts[n]=c}function f(e,t,n){try{var r=n.getStorage()}catch(e){return void s(t,e)}for(var o in r)if(r.hasOwnProperty(o)){var i=r[o];c(e,t,o,i)}}function p(e,t,n,r,o){var i=n.getStorage();if(!v.isObject(o)||!o.scopes||!o.expiresAt&&0!==o.expiresAt||!o.idToken&&!o.accessToken)throw new w(\"Token must be an Object with scopes, expiresAt, and an idToken or accessToken properties\");i[r]=o,n.setStorage(i),c(e,t,r,o)}function l(e,t){return e.getStorage()[t]}function d(e,t,n,r){return k.Promise(function(i){var s=l(n,r);return i(s&&o(t,s)?t.options.autoRenew?y(e,t,n,r):h(t,n,r):s)})}function h(e,t,n){a(e,n);var r=t.getStorage();delete r[n],t.setStorage(r)}function y(e,t,n,r){var o=t.renewPromise[r];if(o)return o;try{var i=l(n,r);if(!i)throw new w(\"The tokenManager has no token for the key: \"+r)}catch(e){return k.reject(e)}return a(t,r),t.renewPromise[r]=e.token.renew(i).then(function(o){var s=o;o instanceof Array&&(s=o.find(function(e){return e.idToken&&i.idToken||e.accessToken&&i.accessToken}));var a=l(n,r);if(a)return p(e,t,n,r,s),t.emitter.emit(\"renewed\",r,s,a),s}).catch(function(e){throw\"OAuthError\"!==e.name&&\"AuthSdkError\"!==e.name||(h(t,n,r),e.tokenKey=r,e.accessToken=!!i.accessToken,s(t,e)),e}).finally(function(){delete t.renewPromise[r]}),t.renewPromise[r]}function g(e,t){u(e),t.clearStorage()}function m(e,t){t=v.extend({},A,v.removeNils(t)),\"localStorage\"!==t.storage||T.browserHasLocalStorage()||(v.warn(\"This browser doesn't support localStorage. Switching to sessionStorage.\"),t.storage=\"sessionStorage\"),\"sessionStorage\"!==t.storage||T.browserHasSessionStorage()||(v.warn(\"This browser doesn't support sessionStorage. Switching to cookie-based storage.\"),t.storage=\"cookie\");var n;if(\"object\"==typeof t.storage)n=t.storage;else switch(t.storage){case\"localStorage\":n=localStorage;break;case\"sessionStorage\":n=sessionStorage;break;case\"cookie\":n=T.getCookieStorage(t);break;case\"memory\":n=T.getInMemoryStorage();break;default:throw new w(\"Unrecognized storage option\")}var r=t.storageKey||b.TOKEN_STORAGE_NAME,o=E(n,r),i=S.create(e,t),s={clock:i,options:t,emitter:e.emitter,expireTimeouts:{},renewPromise:{}};this.add=v.bind(p,this,e,s,o),this.get=v.bind(d,this,e,s,o),this.remove=v.bind(h,this,s,o),this.clear=v.bind(g,this,s,o),this.renew=v.bind(y,this,e,s,o),this.on=v.bind(s.emitter.on,s.emitter),this.off=v.bind(s.emitter.off,s.emitter),f(e,s,o)}var v=n(0),w=n(1),T=n(4),k=n(5),b=n(2),E=n(6),S=n(30),A={autoRenew:!0,storage:\"localStorage\",expireEarlySeconds:30};e.exports=m},function(e,t,n){function r(e){this.localOffset=parseInt(e||0)}n(0).extend(r.prototype,{now:function(){return(Date.now()+this.localOffset)/1e3}}),r.create=function(){return new r(0)},e.exports=r}])});\n//# sourceMappingURL=okta-auth-js.min.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/@okta/okta-auth-js/dist/okta-auth-js.min.js\n// module id = 673\n// module chunks = 0"],"sourceRoot":""}